def T(str_addr, expected_bytes, expected_version, expected_class): addr = CCoinAddress(str_addr) addr2 = CBitcoinAddress(str_addr) self.assertEqual(addr, addr2) self.assertEqual(type(addr), type(addr2)) self.assertEqual(addr.to_bytes(), expected_bytes) self.assertEqual(addr.__class__, expected_class) if isinstance(addr, CBase58BitcoinAddress): self.assertEqual(addr.base58_prefix[0], expected_version) elif isinstance(addr, CBech32BitcoinAddress): self.assertEqual(addr.witver, expected_version)
def T(confidential_addr, expected_bytes, unconfidential_addr, expected_blinding_pubkey, expected_class): a = CCoinAddress(confidential_addr) self.assertIsInstance(a, expected_class) self.assertEqual(a.to_bytes(), expected_bytes) self.assertEqual(unconfidential_addr, a.to_unconfidential()) self.assertEqual( confidential_addr, str(a.__class__.from_unconfidential( unconfidential_addr, a.blinding_pubkey))) self.assertEqual(expected_blinding_pubkey, a.blinding_pubkey) a2 = CCoinConfidentialAddress(str(a)) self.assertEqual(a, a2) a2 = CCoinConfidentialAddress.from_unconfidential(unconfidential_addr, a.blinding_pubkey) self.assertEqual(a, a2)