added tests for function xprivate_to_xpublic_key (BIP0032/BIP0044)
This commit is contained in:
parent
c27828c005
commit
effbde424e
@ -14,7 +14,7 @@ def test_create_master_key_hdwallet(mnemonic_256):
|
||||
seed = mnemonic_to_seed(passphrase, 'P@ssw0rd')
|
||||
assert seed is not None
|
||||
assert len(seed) == 64
|
||||
master_key = create_master_key_hdwallet(seed)
|
||||
master_key = create_xmaster_key(seed)
|
||||
assert master_key is not None
|
||||
assert isinstance(master_key, dict)
|
||||
assert master_key.get('version') is not None
|
||||
@ -28,7 +28,7 @@ def test_create_master_key_hdwallet(mnemonic_256):
|
||||
|
||||
|
||||
def test_create_public_key_hdwallet(master_key_hdwallet_mnet):
|
||||
public_key = create_parent_pubkey_hdwallet(master_key_hdwallet_mnet)
|
||||
public_key = create_xpublic_key(master_key_hdwallet_mnet)
|
||||
assert public_key is not None
|
||||
assert len(public_key['key']) == 33
|
||||
|
||||
@ -79,14 +79,14 @@ def test_create_child_pubkey(master_key_hdwallet_mnet, public_key_hdwallet_mnet)
|
||||
|
||||
|
||||
def test_serialize_key_hdwallet(master_key_hdwallet_mnet, public_key_hdwallet_tnet):
|
||||
serialize_mkey = serialize_key_hdwallet(master_key_hdwallet_mnet)
|
||||
serialize_mkey = serialize_xkey(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', 'tprv']
|
||||
|
||||
serialize_pkey = serialize_key_hdwallet(public_key_hdwallet_tnet)
|
||||
serialize_pkey = serialize_xkey(public_key_hdwallet_tnet)
|
||||
assert serialize_pkey is not None
|
||||
assert isinstance(serialize_pkey, bytes)
|
||||
assert len(serialize_pkey[:-4]) == 78
|
||||
@ -96,17 +96,17 @@ def test_serialize_key_hdwallet(master_key_hdwallet_mnet, public_key_hdwallet_tn
|
||||
|
||||
def test_deserialize_key(privkey_hdwallet_base58, pubkey_hdwallet_base58, bad_key_hdwallet_base58):
|
||||
#десериализация приватного ключа
|
||||
privkey = deserialize_key_hdwallet(privkey_hdwallet_base58)
|
||||
privkey = deserialize_xkey(privkey_hdwallet_base58)
|
||||
assert privkey is not None
|
||||
assert isinstance(privkey, dict)
|
||||
assert privkey['is_private']
|
||||
#десериализация публичного ключа
|
||||
pubkey = deserialize_key_hdwallet(pubkey_hdwallet_base58)
|
||||
pubkey = deserialize_xkey(pubkey_hdwallet_base58)
|
||||
assert pubkey is not None
|
||||
assert isinstance(pubkey, dict)
|
||||
assert not pubkey['is_private']
|
||||
#десериализация некорретного ключа
|
||||
pubkey = deserialize_key_hdwallet(bad_key_hdwallet_base58)
|
||||
pubkey = deserialize_xkey(bad_key_hdwallet_base58)
|
||||
assert pubkey is None
|
||||
|
||||
|
||||
@ -120,6 +120,14 @@ def test_derive_xkey(mnemonic_256):
|
||||
assert result[:4] in 'tprv'
|
||||
|
||||
|
||||
def test_xprivate_to_xpublic_key(privkey_hdwallet_base58):
|
||||
xpubkey = xprivate_to_xpublic_key(privkey_hdwallet_base58)
|
||||
assert xpubkey is not None
|
||||
assert isinstance(xpubkey, str)
|
||||
assert len(xpubkey) == 111
|
||||
assert xpubkey[:4] in ['xpub', 'tpub']
|
||||
|
||||
|
||||
def test_validate_path_level():
|
||||
params = [0x8000002C, 0x80000001, 0x80000000, 0, 0]
|
||||
testnet = True
|
||||
@ -138,4 +146,3 @@ def test_validate_path_level():
|
||||
params = []
|
||||
assert validate_path_level(params, testnet)
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user