|
@@ -16,49 +16,49 @@ keys = [
|
|
|
'deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef',
|
|
|
]
|
|
|
|
|
|
-def check_equal(a,b):
|
|
|
+def check_equal(a, b):
|
|
|
assert a == b, f'{a} != {b}'
|
|
|
|
|
|
-def msg(*args,**kwargs):
|
|
|
- print(*args,**kwargs,file=sys.stdout)
|
|
|
+def msg(*args, **kwargs):
|
|
|
+ print(*args, **kwargs, file=sys.stdout)
|
|
|
|
|
|
-def init_coin(t,coinsym,network,addrtype):
|
|
|
- t.init_coin(coinsym,network)
|
|
|
+def init_coin(t, coinsym, network, addrtype):
|
|
|
+ t.init_coin(coinsym, network)
|
|
|
t.addrtype = addrtype
|
|
|
- check_equal(type(t.addrtype).__name__,'MMGenAddrType')
|
|
|
+ check_equal(type(t.addrtype).__name__, 'MMGenAddrType')
|
|
|
msg(f'\n{t.coin} {t.proto.network.capitalize()} {t.addrtype.name.upper()} ({t.addrtype})')
|
|
|
|
|
|
def test_randpair(t):
|
|
|
- wif,addr = t.randpair()
|
|
|
- wif_chk = PrivKey(proto=t.proto,wif=wif).wif
|
|
|
- check_equal(wif,wif_chk)
|
|
|
+ wif, addr = t.randpair()
|
|
|
+ wif_chk = PrivKey(proto=t.proto, wif=wif).wif
|
|
|
+ check_equal(wif, wif_chk)
|
|
|
msg('\n === randwif ===')
|
|
|
- msg(' wif:',wif)
|
|
|
- msg(' addr:',CoinAddr(proto=t.proto,addr=addr))
|
|
|
+ msg(' wif:', wif)
|
|
|
+ msg(' addr:', CoinAddr(proto=t.proto, addr=addr))
|
|
|
|
|
|
-def test_wif2addr(t,wif_chk,addr_chk,key_idx):
|
|
|
+def test_wif2addr(t, wif_chk, addr_chk, key_idx):
|
|
|
key_bytes = bytes.fromhex(keys[key_idx])
|
|
|
wif = PrivKey(
|
|
|
proto = t.proto,
|
|
|
s = key_bytes,
|
|
|
compressed = t.addrtype.compressed,
|
|
|
- pubkey_type = t.addrtype.pubkey_type ).wif
|
|
|
+ pubkey_type = t.addrtype.pubkey_type).wif
|
|
|
addr = t.wif2addr(wif)
|
|
|
|
|
|
msg('\n === wif2addr ===')
|
|
|
- msg(' wif:',PrivKey(proto=t.proto,wif=wif).wif)
|
|
|
- msg(' addr:',CoinAddr(proto=t.proto,addr=addr))
|
|
|
+ msg(' wif:', PrivKey(proto=t.proto, wif=wif).wif)
|
|
|
+ msg(' addr:', CoinAddr(proto=t.proto, addr=addr))
|
|
|
|
|
|
addr_ph = t.privhex2addr(key_bytes.hex())
|
|
|
|
|
|
- check_equal(addr,addr_ph)
|
|
|
- check_equal(wif,wif_chk)
|
|
|
- check_equal(addr,addr_chk)
|
|
|
+ check_equal(addr, addr_ph)
|
|
|
+ check_equal(wif, wif_chk)
|
|
|
+ check_equal(addr, addr_chk)
|
|
|
|
|
|
-def test_triplet(tool,coin,network,addrtype,key_idx,wif_chk,addr_chk):
|
|
|
- init_coin(tool,coin,network,addrtype)
|
|
|
+def test_triplet(tool, coin, network, addrtype, key_idx, wif_chk, addr_chk):
|
|
|
+ init_coin(tool, coin, network, addrtype)
|
|
|
test_randpair(tool)
|
|
|
- test_wif2addr(tool,wif_chk,addr_chk,key_idx)
|
|
|
+ test_wif2addr(tool, wif_chk, addr_chk, key_idx)
|
|
|
|
|
|
def run_test():
|
|
|
|
|
@@ -70,44 +70,44 @@ def run_test():
|
|
|
|
|
|
tool.usr_randchars # getter
|
|
|
tool.usr_randchars = 0 # setter
|
|
|
- check_equal(tool.usr_randchars,0)
|
|
|
+ check_equal(tool.usr_randchars, 0)
|
|
|
|
|
|
- check_equal(f'{tool.coin} {tool.proto.cls_name} {tool.addrtype}', 'BTC mainnet L' )
|
|
|
+ check_equal(f'{tool.coin} {tool.proto.cls_name} {tool.addrtype}', 'BTC mainnet L')
|
|
|
|
|
|
# test vectors from tooltest2.py:
|
|
|
|
|
|
- test_triplet(tool,'btc','mainnet','L',0,
|
|
|
+ test_triplet(tool, 'btc', 'mainnet', 'L', 0,
|
|
|
'5HwzecKMWD82ppJK3qMKpC7ohXXAwcyAN5VgdJ9PLFaAzpBG4sX',
|
|
|
- '1C5VPtgq9xQ6AcTgMAR3J6GDrs72HC4pS1' )
|
|
|
+ '1C5VPtgq9xQ6AcTgMAR3J6GDrs72HC4pS1')
|
|
|
|
|
|
- test_triplet(tool,'btc','mainnet','C',0,
|
|
|
+ test_triplet(tool, 'btc', 'mainnet', 'C', 0,
|
|
|
'KwojSzt1VvW343mQfWQi3J537siAt5ktL2qbuCg1ZyKR8BLQ6UJm',
|
|
|
- '1Kz9fVSUMshzPejpzW9D95kScgA3rY6QxF' )
|
|
|
+ '1Kz9fVSUMshzPejpzW9D95kScgA3rY6QxF')
|
|
|
|
|
|
- test_triplet(tool,'btc','mainnet','segwit',0,
|
|
|
+ test_triplet(tool, 'btc', 'mainnet', 'segwit', 0,
|
|
|
'KwojSzt1VvW343mQfWQi3J537siAt5ktL2qbuCg1ZyKR8BLQ6UJm',
|
|
|
- '3AhjTiWHhVJAi1s5CfKMcLzYps12x3gZhg' )
|
|
|
+ '3AhjTiWHhVJAi1s5CfKMcLzYps12x3gZhg')
|
|
|
|
|
|
- test_triplet(tool,'btc','mainnet','B',0,
|
|
|
+ test_triplet(tool, 'btc', 'mainnet', 'B', 0,
|
|
|
'KwojSzt1VvW343mQfWQi3J537siAt5ktL2qbuCg1ZyKR8BLQ6UJm',
|
|
|
- 'bc1q6pqnfwwakuuejpm9w52ds342f9d5u36v0qnz7c' )
|
|
|
+ 'bc1q6pqnfwwakuuejpm9w52ds342f9d5u36v0qnz7c')
|
|
|
|
|
|
if not 'no_altcoin' in sys.argv:
|
|
|
- test_triplet(tool,'ltc','regtest','bech32',1,
|
|
|
+ test_triplet(tool, 'ltc', 'regtest', 'bech32', 1,
|
|
|
'cV3ZRqf8PhyfiFwtJfkvGu2qmBsazE1wXoA2A16S3nixb3BTvvVx',
|
|
|
- 'rltc1qvmqas4maw7lg9clqu6kqu9zq9cluvllnz4kj9y' )
|
|
|
+ 'rltc1qvmqas4maw7lg9clqu6kqu9zq9cluvllnz4kj9y')
|
|
|
|
|
|
- test_triplet(tool,'xmr','mainnet','M',1,
|
|
|
+ test_triplet(tool, 'xmr', 'mainnet', 'M', 1,
|
|
|
'e8164dda6d42bd1e261a3406b2038dcbddadbeefdeadbeefdeadbeefdeadbe0f',
|
|
|
- '41i7saPWA53EoHenmJVRt34dubPxsXwoWMnw8AdMyx4mTD1svf7qYzcVjxxRfteLNdYrAxWUMmiPegFW9EfoNgXx7vDMExv' )
|
|
|
+ '41i7saPWA53EoHenmJVRt34dubPxsXwoWMnw8AdMyx4mTD1svf7qYzcVjxxRfteLNdYrAxWUMmiPegFW9EfoNgXx7vDMExv')
|
|
|
|
|
|
- test_triplet(tool,'etc','mainnet','E',1,
|
|
|
+ test_triplet(tool, 'etc', 'mainnet', 'E', 1,
|
|
|
'deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef',
|
|
|
- 'c96aaa54e2d44c299564da76e1cd3184a2386b8d' )
|
|
|
+ 'c96aaa54e2d44c299564da76e1cd3184a2386b8d')
|
|
|
|
|
|
- test_triplet(tool,'zec','mainnet','Z',1,
|
|
|
+ test_triplet(tool, 'zec', 'mainnet', 'Z', 1,
|
|
|
'SKxuS56e99jpCeD9mMQ5o63zoGPakNdM9HCvt4Vt2cypvRjCdvGJ',
|
|
|
- 'zchFELwBxqsAubsLQ8yZgPCDDGukjXJssgCbiTPwFNmFwn9haLnDatzfhLdZzJT4PcU4o2yr92B52UFirUzEdF6ZYM2gBkM' )
|
|
|
+ 'zchFELwBxqsAubsLQ8yZgPCDDGukjXJssgCbiTPwFNmFwn9haLnDatzfhLdZzJT4PcU4o2yr92B52UFirUzEdF6ZYM2gBkM')
|
|
|
|
|
|
from mmgen.cfg import Config
|
|
|
|