added test for check support HD Wallets for testnet
This commit is contained in:
parent
46d08dbf5e
commit
70a35822f1
@ -16,7 +16,7 @@ def good_key():
|
||||
return b'B\xa8\xe9v>y\xe2\x82\x10\x80\xc2\xa91\x10E\xe0XJ\xe6\xc7\x18\x9eE~\xa0^\xd1\x820\xe7\x18\x0c'
|
||||
|
||||
@pytest.fixture
|
||||
def master_key_hdwallet():
|
||||
def master_key_hdwallet_mnet():
|
||||
return dict(version=b'\x04\x88\xad\xe4',
|
||||
key=b"Y\x9e'\xe00or'\xacD\x9c(l\x99\x0fxB\x03\xbd/]|+\xfd\xe89K!\x93\x0bN\x9b",
|
||||
depth=0,
|
||||
@ -27,7 +27,7 @@ def master_key_hdwallet():
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def public_key_hdwallet():
|
||||
def public_key_hdwallet_mnet():
|
||||
return dict(version=b'\x04\x88\xB2\x1E',
|
||||
key=b"\x03F\xcd\x96\xd7-\xc4Q\xee\xfc\xadc\n\xe4\xd2Xe\x02\x99(\x0f\xf5\x1c'\x16\xab\xd0\x05_\xb4:8\xfa",
|
||||
depth=0,
|
||||
@ -36,6 +36,27 @@ def public_key_hdwallet():
|
||||
chain_code=b'B\xa8\xe9v>y\xe2\x82\x10\x80\xc2\xa91\x10E\xe0XJ\xe6\xc7\x18\x9eE~\xa0^\xd1\x820\xe7\x18\x0c',
|
||||
is_private=False)
|
||||
|
||||
@pytest.fixture
|
||||
def master_key_hdwallet_tnet():
|
||||
return dict(version=b'\x04\x35\x83\x94',
|
||||
key=b"Y\x9e'\xe00or'\xacD\x9c(l\x99\x0fxB\x03\xbd/]|+\xfd\xe89K!\x93\x0bN\x9b",
|
||||
depth=0,
|
||||
child=0,
|
||||
finger_print=b'\x00\x00\x00\x00',
|
||||
chain_code=b'B\xa8\xe9v>y\xe2\x82\x10\x80\xc2\xa91\x10E\xe0XJ\xe6\xc7\x18\x9eE~\xa0^\xd1\x820\xe7\x18\x0c',
|
||||
is_private=True)
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def public_key_hdwallet_tnet():
|
||||
return dict(version=b'\x04\x35\x87\xCF',
|
||||
key=b"\x03F\xcd\x96\xd7-\xc4Q\xee\xfc\xadc\n\xe4\xd2Xe\x02\x99(\x0f\xf5\x1c'\x16\xab\xd0\x05_\xb4:8\xfa",
|
||||
depth=0,
|
||||
child=0,
|
||||
finger_print=b'\x00\x00\x00\x00',
|
||||
chain_code=b'B\xa8\xe9v>y\xe2\x82\x10\x80\xc2\xa91\x10E\xe0XJ\xe6\xc7\x18\x9eE~\xa0^\xd1\x820\xe7\x18\x0c',
|
||||
is_private=False)
|
||||
|
||||
@pytest.fixture
|
||||
def privkey_hdwallet_base58():
|
||||
return 'xprv9s21ZrQH143K2irFFw4cdtV8EicuR6Y5P2WqMpbLWhnZUADeKUi52Jh8Pzt8K9RqHanNsrVXf6VhNXQv2ypWxsTSWB8UsqjxkGPxHcjyXNC'
|
||||
|
||||
@ -27,8 +27,8 @@ def test_create_master_key_hdwallet(mnemonic_256):
|
||||
assert master_key['is_private']
|
||||
|
||||
|
||||
def test_create_public_key_hdwallet(master_key_hdwallet):
|
||||
public_key = create_parent_pubkey_hdwallet(master_key_hdwallet)
|
||||
def test_create_public_key_hdwallet(master_key_hdwallet_mnet):
|
||||
public_key = create_parent_pubkey_hdwallet(master_key_hdwallet_mnet)
|
||||
assert public_key is not None
|
||||
assert len(public_key['key']) == 33
|
||||
|
||||
@ -39,48 +39,49 @@ def test_validate_private_key(fail_key1, fail_key2, good_key):
|
||||
assert validate_private_key(good_key)
|
||||
|
||||
|
||||
def test_create_expanded_key(master_key_hdwallet, public_key_hdwallet):
|
||||
def test_create_expanded_key(master_key_hdwallet_mnet, public_key_hdwallet_mnet):
|
||||
result = create_expanded_key(b'asdasdasd', 0)
|
||||
assert result is None
|
||||
result = create_expanded_key(master_key_hdwallet, 0x80000000)
|
||||
result = create_expanded_key(master_key_hdwallet_mnet, 0x80000000)
|
||||
assert result is None
|
||||
result = create_expanded_key(master_key_hdwallet, 0)
|
||||
result = create_expanded_key(master_key_hdwallet_mnet, 0)
|
||||
assert result is not None
|
||||
assert len(result) == 64
|
||||
result = create_expanded_key(public_key_hdwallet, 0)
|
||||
result = create_expanded_key(public_key_hdwallet_mnet, 0)
|
||||
assert result is not None
|
||||
assert len(result) == 64
|
||||
|
||||
|
||||
def test_create_expanded_hard_key(master_key_hdwallet, public_key_hdwallet):
|
||||
result = create_expanded_hard_key(master_key_hdwallet, 0)
|
||||
def test_create_expanded_hard_key(master_key_hdwallet_mnet, public_key_hdwallet_mnet):
|
||||
result = create_expanded_hard_key(master_key_hdwallet_mnet, 0)
|
||||
assert result is None
|
||||
result = create_expanded_hard_key(master_key_hdwallet, 0x80000000)
|
||||
result = create_expanded_hard_key(master_key_hdwallet_mnet, 0x80000000)
|
||||
assert result is not None
|
||||
assert len(result) == 64
|
||||
|
||||
|
||||
def test_create_child_pubkey(master_key_hdwallet, public_key_hdwallet):
|
||||
result = create_child_pubkey(master_key_hdwallet, 0)
|
||||
|
||||
def test_create_child_pubkey(master_key_hdwallet_mnet, public_key_hdwallet_mnet):
|
||||
result = create_child_pubkey(master_key_hdwallet_mnet, 0)
|
||||
assert result is not None
|
||||
assert isinstance(result, dict)
|
||||
assert not result.get('is_private')
|
||||
|
||||
|
||||
def test_serialize_key_hdwallet(master_key_hdwallet, public_key_hdwallet):
|
||||
serialize_mkey = serialize_key_hdwallet(master_key_hdwallet)
|
||||
def test_serialize_key_hdwallet(master_key_hdwallet_mnet, public_key_hdwallet_tnet):
|
||||
serialize_mkey = serialize_key_hdwallet(master_key_hdwallet_mnet)
|
||||
assert serialize_mkey is not None
|
||||
assert isinstance(serialize_mkey, bytes)
|
||||
assert len(serialize_mkey[:-4]) == 78
|
||||
ser_encode = encode_base58(serialize_mkey)
|
||||
assert ser_encode[:4] in 'xprv'
|
||||
assert ser_encode[:4] in ['xprv', 'tprv']
|
||||
|
||||
serialize_pkey = serialize_key_hdwallet(public_key_hdwallet)
|
||||
serialize_pkey = serialize_key_hdwallet(public_key_hdwallet_tnet)
|
||||
assert serialize_pkey is not None
|
||||
assert isinstance(serialize_pkey, bytes)
|
||||
assert len(serialize_pkey[:-4]) == 78
|
||||
ser_encode = encode_base58(serialize_pkey)
|
||||
assert ser_encode[:4] in 'xpub'
|
||||
assert ser_encode[:4] in ['xpub', 'tpub']
|
||||
|
||||
|
||||
def test_deserialize_key(privkey_hdwallet_base58, pubkey_hdwallet_base58, bad_key_hdwallet_base58):
|
||||
|
||||
Loading…
Reference in New Issue
Block a user