Exemplo n.º 1
0
 def test_multiaddress_address20(self):
     obj = GenericMultiAddress(
         data=ScaleBytes('0x0467f89207abe6e1b093befd84a48f033137659292'))
     obj.decode()
     self.assertEqual(
         {'Address20': '0x67f89207abe6e1b093befd84a48f033137659292'},
         obj.value)
     self.assertEqual(
         '67f89207abe6e1b093befd84a48f033137659292000000000000000000000000',
         obj.account_id)
Exemplo n.º 2
0
    def test_multiaddress_address32(self):
        obj = GenericMultiAddress(ScaleBytes('0x03f6a299ecbfec56e238b5feedfb4cba567d2902af5d946eaf05e3badf05790e45'))
        obj.decode()
        self.assertEqual({'Address32': '0xf6a299ecbfec56e238b5feedfb4cba567d2902af5d946eaf05e3badf05790e45'}, obj.value)
        self.assertEqual('f6a299ecbfec56e238b5feedfb4cba567d2902af5d946eaf05e3badf05790e45', obj.account_id)

        # Encoding
        self.assertEqual(
            ScaleBytes('0x03f6a299ecbfec56e238b5feedfb4cba567d2902af5d946eaf05e3badf05790e45'),
            obj.encode({'Address32': '0xf6a299ecbfec56e238b5feedfb4cba567d2902af5d946eaf05e3badf05790e45'})
        )
Exemplo n.º 3
0
    def test_multiaddress_bytes_cap(self):
        # Test decoding
        obj = GenericMultiAddress(data=ScaleBytes(
            '0x02b4111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'
        ))
        obj.decode()
        self.assertEqual(
            {
                'Raw':
                '0x111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'
            }, obj.value)
        self.assertEqual(
            '1111111111111111111111111111111111111111111111111111111111111111',
            obj.account_id)

        # Test encoding
        self.assertEqual(
            ScaleBytes(
                '0x02b4111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'
            ),
            obj.encode({
                'Raw':
                '0x111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'
            }))

        with self.assertRaises(NotImplementedError):
            obj.encode(
                '0x111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'
            )
Exemplo n.º 4
0
    def test_multiaddress_index(self):
        # Decoding
        obj = GenericMultiAddress(data=ScaleBytes('0x0104'))
        obj.decode()
        self.assertEqual(1, obj.value)
        self.assertEqual(None, obj.account_id)
        self.assertEqual(1, obj.account_index)

        # Encoding
        self.assertEqual(ScaleBytes('0x0104'), obj.encode(1))
        self.assertEqual(ScaleBytes('0x0104'), obj.encode({'Index': 1}))
        self.assertEqual(ScaleBytes('0x0104'), obj.encode('F7NZ'))