Skip to content

Commit 8e4abd1

Browse files
committed
tests: Update tests to use util functions for conversion
1 parent d32536a commit 8e4abd1

File tree

7 files changed

+49
-45
lines changed

7 files changed

+49
-45
lines changed

src/test/test_address.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ def do_test_vector(self, vec, path, network):
129129
ret, written = wally_address_to_scriptpubkey(utf8(vec[path]['address_legacy']), network, out, out_len)
130130

131131
self.assertEqual(ret, WALLY_OK)
132-
self.assertEqual(hexlify(out[0:written]), utf8(vec[path]['scriptpubkey_legacy']))
132+
self.assertEqual(h(out[0:written]), utf8(vec[path]['scriptpubkey_legacy']))
133133

134134
# Get address for P2PKH scriptPubKey
135135
ret, new_addr = wally_scriptpubkey_to_address(out, written, network)
@@ -141,7 +141,7 @@ def do_test_vector(self, vec, path, network):
141141
ret, written = wally_address_to_scriptpubkey(utf8(vec[path]['address_p2sh_segwit']), network, out, out_len)
142142

143143
self.assertEqual(ret, WALLY_OK)
144-
self.assertEqual(hexlify(out[0:written]), utf8(vec[path]['scriptpubkey_p2sh_segwit']))
144+
self.assertEqual(h(out[0:written]), utf8(vec[path]['scriptpubkey_p2sh_segwit']))
145145

146146
# Get address for P2SH scriptPubKey
147147
ret, new_addr = wally_scriptpubkey_to_address(out, written, network)
@@ -152,7 +152,7 @@ def do_test_vector(self, vec, path, network):
152152
out, out_len = make_cbuffer('00' * (100))
153153
ret, written = wally_addr_segwit_to_bytes(utf8(vec[path]['address_segwit']), utf8(bech32_prefix), 0, out, out_len)
154154
self.assertEqual(ret, WALLY_OK)
155-
self.assertEqual(hexlify(out[0:written]), utf8(vec[path]['scriptpubkey_segwit']))
155+
self.assertEqual(h(out[0:written]), utf8(vec[path]['scriptpubkey_segwit']))
156156

157157
def test_address_scriptpubkey_liquid(self):
158158
"""Check that addresses can be converted to and from scriptpubkeys for Liquid"""
@@ -164,7 +164,7 @@ def test_address_scriptpubkey_liquid(self):
164164
out, out_len = make_cbuffer('00' * (100))
165165
ret, written = wally_address_to_scriptpubkey(utf8(addr), network, out, out_len)
166166
self.assertEqual(ret, WALLY_OK)
167-
self.assertEqual(hexlify(out[0:written]), utf8(scriptpubkey))
167+
self.assertEqual(h(out[0:written]), utf8(scriptpubkey))
168168

169169
ret, new_addr = wally_scriptpubkey_to_address(out, written, network)
170170
self.assertEqual(ret, WALLY_OK)

src/test/test_bip38.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
K_MAIN,
1616
'6PRNFFkZc2NZ6dJqFfhRoFNMR9Lnyj7dYGrzdgXXVMXcxoKTePPX1dWByq' ],
1717
[ '64EEAB5F9BE2A01A8365A579511EB3373C87C40DA6D2A25F05BDA68FE077B66E',
18-
unhexlify('cf9300f0909080f09f92a9'),
18+
make_cbuffer('cf9300f0909080f09f92a9')[0],
1919
K_MAIN,
2020
'6PRW5o9FLp4gJDDVqJQKJFTpMvdsSGJxMYHtHaQBF3ooa8mwD69bapcDQn' ],
2121
[ 'CBF4B9F70470856BB4F40F80B87EDB90865997FFEE6DF315AB166D713AF433A5',

src/test/test_confidential_addr.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,20 +26,20 @@ def derive_path(self, path):
2626
self.data = h.digest()
2727

2828
def key(self):
29-
return self.data[32:64]
29+
return h(self.data[32:64])
3030

3131
seed = create_string_buffer(64)
3232
bip39_mnemonic_to_seed(b' '.join([b'all'] * 12), b'', seed, 64)
3333
root = Slip21Node(seed = seed)
34-
self.assertEqual(root.key(), unhexlify('dbf12b44133eaab506a740f6565cc117228cbf1dd70635cfa8ddfdc9af734756'))
34+
self.assertEqual(root.key(), utf8('dbf12b44133eaab506a740f6565cc117228cbf1dd70635cfa8ddfdc9af734756'))
3535
root.derive_path([b'SLIP-0077'])
36-
master_blinding_key = root.key()
36+
master_blinding_key_hex = root.key()
3737

3838
out = create_string_buffer(64)
3939
ret = wally_asset_blinding_key_from_seed(seed, 64, out, 64)
4040
self.assertEqual(ret, WALLY_OK)
4141
_, out_hex = wally_hex_from_bytes(out[32:], 32)
42-
self.assertEqual(hexlify(master_blinding_key), utf8(out_hex))
42+
self.assertEqual(master_blinding_key_hex, utf8(out_hex))
4343

4444
unconfidential_addr = '2dpWh6jbhAowNsQ5agtFzi7j6nKscj6UnEr'
4545
script, _ = make_cbuffer('76a914a579388225827d9f2fe9014add644487808c695d88ac')

src/test/test_elements.py

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,27 @@
11
import unittest
22
from util import *
33

4-
def hex_to_cbuf(hex_str):
5-
length = len(hex_str)
6-
buf, buf_len = make_cbuffer('00' * int(length / 2))
7-
ret, written = wally_hex_to_bytes(utf8(hex_str), buf, buf_len)
8-
9-
assert ret == WALLY_OK, "wally_hex_to_bytes failed"
10-
11-
return buf, buf_len
12-
134
# the private part of our blinding key
14-
UNBLIND_OUR_SK, UNBLIND_OUR_SK_LEN = hex_to_cbuf('e8ba74f899e6b06da05fb255511c7adcea41f186326ef4fc45290fa8043f7af5')
5+
UNBLIND_OUR_SK, UNBLIND_OUR_SK_LEN = make_cbuffer('e8ba74f899e6b06da05fb255511c7adcea41f186326ef4fc45290fa8043f7af5')
156
# the sender's pubkey used to blind the output
16-
UNBLIND_SENDER_PK, UNBLIND_SENDER_PK_LEN = hex_to_cbuf('0378d8b53305ed6482db0c8f5eb8b0ca3d5c314d7773c584faa8cf587ee8137244')
7+
UNBLIND_SENDER_PK, UNBLIND_SENDER_PK_LEN = make_cbuffer('0378d8b53305ed6482db0c8f5eb8b0ca3d5c314d7773c584faa8cf587ee8137244')
178
# amount rangeproof
18-
UNBLIND_RANGEPROOF, UNBLIND_RANGEPROOF_LEN = hex_to_cbuf('602300000000000000010d28013bd6c293ff8791d172520c5ecdceb4d4c4bbeac9d1f016cd9069624d606d5fe0641e36cce10328f2c9c481a7342c27ef81b0b8533a72b289dfc18942651c4c31b0497bcc21444fbf73214755791c32dba25508f20f33d2a171fb46f360cfc63677df9f696a4566ce9d305ff47d51a73c3e8ee56cd6b6a1b62bf606068da2145a3805de1dfbe8de65b997d261e27f7ce5a4233b410bb2a17fe903a3a6f5a907d0e2cc1b0c16dde9a4ed99c59b2e3f3db331c4d910ffb87fa7696136c1a7562fa32f84ef4b6e7a298053dc84a851798503200a006cbf403a741a13507c9f2c57ae2139b08974777f0245e5cb5c890626c6041d65bd15c0220f20f3823a88364d9f50dddeae1de77f5015c8749622a1e15d242b029a4810374dfb3297ce87f8e16bd84e4147bc03a7279c9a7cfb85669ea51a2f04e1126b150bd995191284d1ffa5fb904501d0076d179cbef13912bdc9ecd3db4c40ec2ecb1b6987d6d526443d02a35c260d721b321535ff4749bba2cb44a928e96af0955d68159ca501758abb3c97e5781e20d2e74bfdb8f1e342fe7023181006ba3ea3624d9ce831f998c2d9953475250726f940e5543204e447c0afc2e00b7ff08564db6e6933b1a82ce30c7bed97f3b58a154a932fb229533317edcc9bb4b338e43b2ac5a5c27380d7523230f7f99729a4000' +
9+
UNBLIND_RANGEPROOF, UNBLIND_RANGEPROOF_LEN = make_cbuffer('602300000000000000010d28013bd6c293ff8791d172520c5ecdceb4d4c4bbeac9d1f016cd9069624d606d5fe0641e36cce10328f2c9c481a7342c27ef81b0b8533a72b289dfc18942651c4c31b0497bcc21444fbf73214755791c32dba25508f20f33d2a171fb46f360cfc63677df9f696a4566ce9d305ff47d51a73c3e8ee56cd6b6a1b62bf606068da2145a3805de1dfbe8de65b997d261e27f7ce5a4233b410bb2a17fe903a3a6f5a907d0e2cc1b0c16dde9a4ed99c59b2e3f3db331c4d910ffb87fa7696136c1a7562fa32f84ef4b6e7a298053dc84a851798503200a006cbf403a741a13507c9f2c57ae2139b08974777f0245e5cb5c890626c6041d65bd15c0220f20f3823a88364d9f50dddeae1de77f5015c8749622a1e15d242b029a4810374dfb3297ce87f8e16bd84e4147bc03a7279c9a7cfb85669ea51a2f04e1126b150bd995191284d1ffa5fb904501d0076d179cbef13912bdc9ecd3db4c40ec2ecb1b6987d6d526443d02a35c260d721b321535ff4749bba2cb44a928e96af0955d68159ca501758abb3c97e5781e20d2e74bfdb8f1e342fe7023181006ba3ea3624d9ce831f998c2d9953475250726f940e5543204e447c0afc2e00b7ff08564db6e6933b1a82ce30c7bed97f3b58a154a932fb229533317edcc9bb4b338e43b2ac5a5c27380d7523230f7f99729a4000' +
1910
'285b4427c9d79dd6508a81052106107a99b224e2e65fe5b5f94b71323f8cb55f8eda2283e464f35cc00dad0e5d6cfd104eef5c180683eb28040502937d1377d1c07f31d30ba7c3a11a88560078646c0b431fca020dde44b2f6258183aca426f67c3bc235d59a1680d1bc124dac0cbf4a7147d28dc7093e72dcd7259ecc75118d6b6fdcda5c66b761afdc749b8f27bc0d676e719df2850827389809215b96fc19458390892f98cc175e36cab798215f93d473561aaed05536272e97ac25a2e5915b543f058a03c9827d42525ecf6b8bb7f83440a9f2e7f6a672a918e291ec662eb044a76281c35369e1ce1a8fa78751691c3e17e409ea7c4272199aecac2ba51e7493941d5be901ff3daf66714bb066d8c00c25fbef8be50b7edfad99e96a27302f0850db4083a3c2bd7ffa367b3cb36ae3d64ed138a6b9b9da26e4b0d2beb9e6570beca85bdb5fe562122baa2791e34d0f102d15d3dfa293232fd0656012977f71c4e9f7f7579bf1d00cc414dc263a3189d9f508a8b16019f575150a632610a3dc1b50ec880cc8453a55af786ed86c0163501f0709a79565d273851a86ae49273adad202cc0f782f67953da4c442faefd903edbb30efe9489ace0802dd8063fdac5d9a9c9885536f8bfb86de8d65296cab722958366ae74c0e38e0b197eba10a930335d2f0945841cb66eea0958fc1eef40eeff' +
2011
'80b6f87f3e46c3990b2ad27b3c7c89ac99f66e84458fc07ff09ed5ee96753b2fcbad4da7d0718fdc455c0fe9ebc614f072fb1da072564ba881044496f8757099663f36a269da6778a3d03904d0fa7619192cf28639cd359e1a7fd5a9a8e207d505c0764602a824d1b1540f17ab75d81e7435501018193fc6cbbee3921c8806b4f81246367fe523d9e32f8e5be8da29041940db0bcf0b2ae604ec665fea1e10b861e2c078aa09dcebb6cc283ab171598a799787a622fc5ea7ed63b558d020ee8c853f5ba888fd35bc851c1a2873531be58f82ef9d443edb5358698f0e6c4a7b133a22e1dbb4a8bd07bca9d08e0735b702acc9d3dfec7708002892676f738197ebf6790e9531727d98bd199883affc879c3579c05400a4db2e214f824e3ae37cdbc825ef2ec58bd861226bdf9be4bd81a1858d63050f58796d739d901ac4a8c0a29fe90db30ad58d075c5944e88ff2d46edac7e678faf889b4b681c6bf0890708f5e60ca80e5195b94cdae5bc3c89963f7634398d595219a6bfa1f512387b2006e85fdade17adce51d42061107b74a69a8961be3c3de86bd6caa77bb88a1f29b572c1c05b423bdde397cf238746b63f12b7a867baba644c3718acfc963ea2b9c0c96c493ed2fc1e2103c57fdb60dba24f94df7d008f96aaa6bd9f598eaab71c8d597224dd6259ce24b531def3b0c964c9a29f1833' +
2112
'11f5e30b76f667bba242ae11ab40f2e325a63cfcd4fe90f495d9533ef5307938ce2800fe9dfd6ce27590abf0c7e37639befb5751a950552cf19dc968c24dc727ca16cdaabf73ab7fcb14f5d5bd0a8735dd2b6957cd21b3a22c24641d215f5b60e79a5adc1aa06697a1adbc4d375798b586bf954af251c0f3aed359371fc7699a02824801edff2fe5fa63d7d94bae1b8ab02f49917ffadebb6fc8064484178313ce34d0a59ea07026ca5abcf6424e181954383ea820e77f01dc1807aebfde103aab79d49de697b640a2a41dcb3a69f340eb7f98b543694abfc93d35b4153d779811a313b335dac71b3512c4414082b15626a37f0fb82efd62cd23692e88d75501f1ab68a712bae7061a201e6b0caac0de300ea93ff6d52161ea13724d946ae0d3fc0aae0d1987d03a549ea481007546d5c3b89245d8eea2d8fce5b5ac8bde15b327fbc62bef5cd20b09bc5c6de1316a99a9d55c3f462dbe21860f43bca336f7e03c7e1a39af397ebd83571e2a0003be52b7d88404f1e1300dcd8fdd20e740ea0e5b58613dd0b19e219c05ff7d31c3f0c86a1f83b02c2d5e382e27d476f44b484e0dd9e82dfc1567e44e045482938100354722e57a36769d8b91b1d4064cb08c233519d636adf31fa49c75b067437b0ac52152079575b3d2b672433a1b865b5e8d82ad18980adad6cd26224859082e487e0573a8e' +
2213
'24cb9f3e08dd02da28d70f6dd8cb1a029c175776d0db4f40102812fe9d1a32778317b61f27a96a6689ad1787a8b7a3672f9568a3b9f456039243202a1ef55f3a5c64dae11d58dbf931eceab8a21de2e7aaef7f47938d34240999ac3f66fcae1afbbdccffb56e4fbea05b14a6f64da770b3ff95471ce73d26f96b1549a9641d085af574fd9a2dc037382417dbd15c3b4c5c67c91b73fda65be7828e1045b1631a330882180068ad9fced2c8cb154281e584f63966c7ac5127397a10e4de98c6daec5676689db46c2950ebb84fc84d42a30c603df31f7bd1f44f6354217845b25219bf3a4e01674a7404add024bb2d5184582d8ea0a1005aa8e3abd24b0e4069de87c1ccb1654613a4e734eea3b6045025e5902c3e74796ba0911e40c4d814076422ffdb2eb9faf5079638a59d188304ffdd8b1635b585c881c37434e256c6df5193c3720c7973b14541ae7681214bd9387bbcdea3ecafd1103050371224ba5b9992058e7114502886b3dddd2901612a699713f2e0b659c1ffbe04b29971dd277971848c769dfaaa3b96a93b47e7f46e002c3f0ffa3937c36bb4bd034a5dd252ad9d39c70e9862390f5eb2d8aba7a15d6b77b5b027531af282e2cccac117548a8b5ca415595d2e8a2ae400366cfa5400c5bf51a729fd22ed50752b2b03d959bc3f0bef52c17e61ae16536d1d019454d9f6b9a38ff' +
2314
'bc70706ab7fe4908c0bea9427547c8c9d9c4fdb4f25f1f26ea7f0a4a2a487c7639138de55bb2bc6e7d47a0241fbf347dd714767198fe85a0d294b938699f139e6a6f66e6916b566584811115591fa1f5e8561369b07c9155d28619df2537e651fcb4667f07ea5fd884779c7bb81af74b0987125aa915644a17b852b465661d0fcdb108ca76b51350635660f61e3b46df74b6b9877dbfab79fda8191e12a0f51fca7081cc5b91c576a99cba868c034ea04e0b4c2ccabada556187970fe0100f647301958c9771517a558ad6183a3f912b94030561948de2d2c44a3117e489de7b0568eee8bc15820a734a3b745eff696732fb660958b7f15b4298ed683b99dadcf4fbc002ead43fb792922c6a1ad69aa626fc4893daaa3c2ad0f90784f5872a115222472c6b2d1308f0b88486701566c86ee2ad03b3ce06206bfc6b205084469a84dfa7a7861889a5d5990a5f7a5177497e11f95c8af5fd192349b02b66af842f2eb6964b7ce201ecce6e3373e320e316a2844bcf121d409a4f8e3f7e73b02f93ff3601f7c1957aa8c3a34b7')
2415
# scriptPubKey of the output
25-
UNBLIND_SCRIPT, UNBLIND_SCRIPT_LEN = hex_to_cbuf('76a9145976d83033bde4f12713ae3706b25e92fb608b9188ac')
16+
UNBLIND_SCRIPT, UNBLIND_SCRIPT_LEN = make_cbuffer('76a9145976d83033bde4f12713ae3706b25e92fb608b9188ac')
2617
# asset commitment
27-
UNBLIND_ASSET_COMMITMENT, UNBLIND_ASSET_COMMITMENT_LEN = hex_to_cbuf('0b9d043d60286407330e12001e539559f6227c9999abf251b7497bba53ac20cd70')
18+
UNBLIND_ASSET_COMMITMENT, UNBLIND_ASSET_COMMITMENT_LEN = make_cbuffer('0b9d043d60286407330e12001e539559f6227c9999abf251b7497bba53ac20cd70')
2819
# value commitment
29-
UNBLIND_VALUE_COMMITMENT, UNBLIND_VALUE_COMMITMENT_LEN = hex_to_cbuf('09b67565b370abf41d81fe0ed6378e7228e9ae01d1b72b69582f83db1fca522148')
20+
UNBLIND_VALUE_COMMITMENT, UNBLIND_VALUE_COMMITMENT_LEN = make_cbuffer('09b67565b370abf41d81fe0ed6378e7228e9ae01d1b72b69582f83db1fca522148')
21+
22+
UNBLINDED_ASSET = make_cbuffer('25b251070e29ca19043cf33ccd7324e2ddab03ecc4ae0b5e77c4fc0e5cf6c95a')[0]
23+
UNBLINDED_ABF = make_cbuffer('3f2f58e80fbe77e8aad8268f1baebc3548c777ba8271f99ce73210ad993d907d')[0]
24+
UNBLINDED_VBF = make_cbuffer('51f109e34d0282b6efac36d118131060f7f79b867b67a95bebd087eda2ccd796')[0]
3025

3126
# TODO: expand these tests a little bit...
3227
class ElementsTests(unittest.TestCase):
@@ -49,7 +44,7 @@ def test_asset_unblind(self):
4944
)
5045
ret, value_out = wally_asset_unblind(*args)
5146
self.assertEqual((ret, value_out, asset_out, abf_out, vbf_out),
52-
(WALLY_OK, 80000000, unhexlify('25b251070e29ca19043cf33ccd7324e2ddab03ecc4ae0b5e77c4fc0e5cf6c95a'), unhexlify('3f2f58e80fbe77e8aad8268f1baebc3548c777ba8271f99ce73210ad993d907d'), unhexlify('51f109e34d0282b6efac36d118131060f7f79b867b67a95bebd087eda2ccd796')))
47+
(WALLY_OK, 80000000, UNBLINDED_ASSET, UNBLINDED_ABF, UNBLINDED_VBF))
5348

5449
def test_asset_unblind_with_nonce(self):
5550
out_nonce, _ = make_cbuffer('00'*32)
@@ -72,7 +67,7 @@ def test_asset_unblind_with_nonce(self):
7267
)
7368
ret, value_out = wally_asset_unblind_with_nonce(*args)
7469
self.assertEqual((ret, value_out, asset_out, abf_out, vbf_out),
75-
(WALLY_OK, 80000000, unhexlify('25b251070e29ca19043cf33ccd7324e2ddab03ecc4ae0b5e77c4fc0e5cf6c95a'), unhexlify('3f2f58e80fbe77e8aad8268f1baebc3548c777ba8271f99ce73210ad993d907d'), unhexlify('51f109e34d0282b6efac36d118131060f7f79b867b67a95bebd087eda2ccd796')))
70+
(WALLY_OK, 80000000, UNBLINDED_ASSET, UNBLINDED_ABF, UNBLINDED_VBF))
7671

7772
if __name__ == '__main__':
7873
_, val = wally_is_elements_build()

src/test/test_pbkdf2.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import unittest
22
from util import *
3-
from binascii import unhexlify
43

54
PBKDF2_HMAC_SHA256_LEN, PBKDF2_HMAC_SHA512_LEN = 32, 64
65

@@ -9,7 +8,7 @@ def __init__(self, items):
98
# Format: HMAC_SHA_TYPE, PASSWORD, SALT, COST, EXPECTED
109
self.typ = int(items[0])
1110
assert self.typ in [256, 512]
12-
self.passwd = unhexlify(items[1])
11+
self.passwd, self.passwd_len = make_cbuffer(items[1])
1312
self.salt = items[2]
1413
self.cost = int(items[3])
1514
self.expected, self.expected_len = make_cbuffer(items[4])
@@ -58,7 +57,7 @@ def test_pbkdf2_hmac_sha(self):
5857
continue
5958

6059
salt, salt_len = make_cbuffer(case.salt)
61-
ret = fn(case.passwd, len(case.passwd), salt, salt_len,
60+
ret = fn(case.passwd, case.passwd_len, salt, salt_len,
6261
0, case.cost, out_buf, out_len)
6362

6463
self.assertEqual(ret, 0)

src/test/test_psbt.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,9 @@ def test_serialization(self):
4141
self.assertEqual(WALLY_OK, wally_tx_init_alloc(2, 0, 2, 2, tx))
4242
for txin in creator['inputs']:
4343
tx_in = pointer(wally_tx_input())
44-
txid = binascii.unhexlify(txin['txid'])[::-1]
45-
self.assertEqual(WALLY_OK, wally_tx_input_init_alloc(txid, len(txid), txin['vout'], 0xffffffff, None, 0, None, tx_in))
44+
txid, txid_len = make_cbuffer(txin['txid'])
45+
ret = wally_tx_input_init_alloc(txid[::-1], txid_len, txin['vout'], 0xffffffff, None, 0, None, tx_in)
46+
self.assertEqual(WALLY_OK, ret)
4647
self.assertEqual(WALLY_OK, wally_tx_add_input(tx, tx_in))
4748
for txout in creator['outputs']:
4849
addr = txout['addr']

0 commit comments

Comments
 (0)