def test_multiaddress_address20(self): obj = GenericMultiAddress( data=ScaleBytes('0x0467f89207abe6e1b093befd84a48f033137659292')) obj.decode() self.assertEqual( {'Address20': '0x67f89207abe6e1b093befd84a48f033137659292'}, obj.value) self.assertEqual( '67f89207abe6e1b093befd84a48f033137659292000000000000000000000000', obj.account_id)
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'}) )
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' )
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'))