From effbde424e9fac263df0c238d1c9dd3275208b98 Mon Sep 17 00:00:00 2001 From: Alexey Karyabkin Date: Tue, 19 Jun 2018 17:21:02 +0400 Subject: [PATCH] added tests for function xprivate_to_xpublic_key (BIP0032/BIP0044) --- tests/test_bip0032.py | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/tests/test_bip0032.py b/tests/test_bip0032.py index 7a7438b..8902b48 100644 --- a/tests/test_bip0032.py +++ b/tests/test_bip0032.py @@ -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) -