66
77
88def test_recovery_basic ():
9- result = recover .restore_key_and_chaincode (TEST_DIR / "backup.zip" , TEST_DIR / "priv.pem" , "Thefireblocks1!" )
10-
11- ecdsa_priv_key , ecdsa_chaincode = result ['MPC_ECDSA_SECP256K1' ]
9+ result = recover .strip_keyset_from_results ( recover . restore_key_and_chaincode (TEST_DIR / "backup.zip" , TEST_DIR / "priv.pem" , "Thefireblocks1!" ) )
10+ print ( result )
11+ ecdsa_priv_key , ecdsa_chaincode , keyset_id = result ['MPC_ECDSA_SECP256K1' ]
1212 assert (ecdsa_priv_key == 0x473d1820ca4bf7cf6b018a8520b1ec0849cb99bce4fff45c5598723f67b3bd52 )
1313 pub = recover .get_public_key ("MPC_ECDSA_SECP256K1" , ecdsa_priv_key )
1414 assert (pub == "021d84f3b6d7c6888f81c7cc381b658d85319f27e1ea9c93dff128667fb4b82ba0" )
1515 assert (recover .encode_extended_key ('MPC_ECDSA_SECP256K1' , ecdsa_priv_key , ecdsa_chaincode , False ) == "xprv9s21ZrQH143K24Mfq5zL5MhWK9hUhhGbd45hLXo2Pq2oqzMMo63oStZzF9aunJDs4SsrmoxycAo6xxBTHawSz5sYxEy8TpCkv66Sci373DJ" )
1616 assert (recover .encode_extended_key ('MPC_ECDSA_SECP256K1' , pub , ecdsa_chaincode , True ) == "xpub661MyMwAqRbcEYS8w7XLSVeEsBXy79zSzH1J8vCdxAZningWLdN3zgtU6QJJZSgiCXT6sq7wa2jCk5t4Vv1r1E4q1venKghAAdyzieufGyX" )
17+ assert (keyset_id == 1 )
1718
1819
1920def test_full_recovery ():
20- result = recover .restore_key_and_chaincode (TEST_DIR / "backup_new.zip" , TEST_DIR / "priv2.pem" , "Thefireblocks1!" )
21- ecdsa_priv_key , ecdsa_chaincode = result ['MPC_ECDSA_SECP256K1' ]
22- eddsa_priv_key , eddsa_chaincode = result ['MPC_EDDSA_ED25519' ]
21+ result = recover .strip_keyset_from_results ( recover . restore_key_and_chaincode (TEST_DIR / "backup_new.zip" , TEST_DIR / "priv2.pem" , "Thefireblocks1!" ) )
22+ ecdsa_priv_key , ecdsa_chaincode , keyset_id = result ['MPC_ECDSA_SECP256K1' ]
23+ eddsa_priv_key , eddsa_chaincode , keyset_id_eddsa = result ['MPC_EDDSA_ED25519' ]
2324
2425 assert (ecdsa_priv_key == 0x66b1baf063db6e7152480334ebab0ab098e85f682b784754e46c18c962a1aa9d )
2526 assert (eddsa_priv_key == 0xd74820d02cc2aa09e2d0bcb36aeb92625b3d92c8d202063eab5513fd4453a44 )
@@ -35,11 +36,13 @@ def test_full_recovery():
3536 assert (pub == "0050cfee85dabebed78f43e94a1b7afd13c20461ad66efa083779bdeffd22269d9" )
3637 assert (recover .encode_extended_key ('MPC_EDDSA_ED25519' , eddsa_priv_key , eddsa_chaincode , False ) == "fprv4LsXPWzhTTp9ax8NGVwbnRFuT3avVQ4ydHNWcu8hCGZd18TRKxgAzbrpY9bLJRe4Y2AyX9TfQdDPbmqEYoDCTju9QFZbUgdsxsmUgfvuEDK" )
3738 assert (recover .encode_extended_key ('MPC_EDDSA_ED25519' , pub , eddsa_chaincode , True ) == "fpub8sZZXw2wbqVpURAAA9cCBpv2256rejFtCayHuRAzcYN1qciBxMVmB6UgiDAQTUZh5EP9JZciPQPjKAHyqPYHELqEHWkvo1sxreEJgLyfCJj" )
39+ assert (keyset_id == 1 )
40+ assert (keyset_id_eddsa == 1 )
3841
3942
4043def test_recovery_old_format ():
41- result = recover .restore_key_and_chaincode (TEST_DIR / "backup_old_format.zip" , TEST_DIR / "priv.pem" , "Thefireblocks1!" )
42- ecdsa_priv_key , ecdsa_chaincode = result ['MPC_ECDSA_SECP256K1' ]
44+ result = recover .strip_keyset_from_results ( recover . restore_key_and_chaincode (TEST_DIR / "backup_old_format.zip" , TEST_DIR / "priv.pem" , "Thefireblocks1!" ) )
45+ ecdsa_priv_key , ecdsa_chaincode , _ = result ['MPC_ECDSA_SECP256K1' ]
4346
4447 assert (ecdsa_priv_key == 0x473d1820ca4bf7cf6b018a8520b1ec0849cb99bce4fff45c5598723f67b3bd52 )
4548 pub = recover .get_public_key ("MPC_ECDSA_SECP256K1" , ecdsa_priv_key )
@@ -49,9 +52,9 @@ def test_recovery_old_format():
4952
5053
5154def test_cmp_recovery ():
52- result = recover .restore_key_and_chaincode (TEST_DIR / "backup_cmp.zip" , TEST_DIR / "priv.pem" , "Fireblocks1!" )
53- ecdsa_priv_key , ecdsa_chaincode = result ['MPC_CMP_ECDSA_SECP256K1' ]
54- eddsa_priv_key , eddsa_chaincode = result ['MPC_CMP_EDDSA_ED25519' ]
55+ result = recover .strip_keyset_from_results ( recover . restore_key_and_chaincode (TEST_DIR / "backup_cmp.zip" , TEST_DIR / "priv.pem" , "Fireblocks1!" ) )
56+ ecdsa_priv_key , ecdsa_chaincode , _ = result ['MPC_CMP_ECDSA_SECP256K1' ]
57+ eddsa_priv_key , eddsa_chaincode , _ = result ['MPC_CMP_EDDSA_ED25519' ]
5558
5659 assert (ecdsa_priv_key == 0xf57c18e98a24ca0b36fbbd103233aff128b740426da189ce208545d44bbad050 )
5760 assert (eddsa_priv_key == 0xa536dc2f2d744ae78eb26fdfb4b9e234a649525e0a1142bf900cd9c26987007 )
@@ -76,9 +79,9 @@ def test_one_custom_chaincode_recovery():
7679 Hence all the extracted keys are they same, and differce lies mostly in the extended form of the key,
7780 which encodes the chaincode.
7881 '''
79- result = recover .restore_key_and_chaincode (TEST_DIR / "backup_with_one_custom_chaincode.zip" , TEST_DIR / "priv2.pem" , "Thefireblocks1!" )
80- ecdsa_priv_key , ecdsa_chaincode = result ['MPC_ECDSA_SECP256K1' ]
81- eddsa_priv_key , eddsa_chaincode = result ['MPC_EDDSA_ED25519' ]
82+ result = recover .strip_keyset_from_results ( recover . restore_key_and_chaincode (TEST_DIR / "backup_with_one_custom_chaincode.zip" , TEST_DIR / "priv2.pem" , "Thefireblocks1!" ) )
83+ ecdsa_priv_key , ecdsa_chaincode , _ = result ['MPC_ECDSA_SECP256K1' ]
84+ eddsa_priv_key , eddsa_chaincode , _ = result ['MPC_EDDSA_ED25519' ]
8285
8386 assert (ecdsa_chaincode != eddsa_chaincode )
8487 assert (ecdsa_priv_key == 0x66b1baf063db6e7152480334ebab0ab098e85f682b784754e46c18c962a1aa9d )
@@ -110,9 +113,9 @@ def test_two_custom_chaincode_recovery():
110113 only the extended forms of the keys are different, as they encode the respective chaincodes.
111114
112115 '''
113- result = recover .restore_key_and_chaincode (TEST_DIR / "backup_with_two_custom_chaincode.zip" , TEST_DIR / "priv2.pem" , "Thefireblocks1!" )
114- ecdsa_priv_key , ecdsa_chaincode = result ['MPC_ECDSA_SECP256K1' ]
115- eddsa_priv_key , eddsa_chaincode = result ['MPC_EDDSA_ED25519' ]
116+ result = recover .strip_keyset_from_results ( recover . restore_key_and_chaincode (TEST_DIR / "backup_with_two_custom_chaincode.zip" , TEST_DIR / "priv2.pem" , "Thefireblocks1!" ) )
117+ ecdsa_priv_key , ecdsa_chaincode , _ = result ['MPC_ECDSA_SECP256K1' ]
118+ eddsa_priv_key , eddsa_chaincode , _ = result ['MPC_EDDSA_ED25519' ]
116119
117120 assert (ecdsa_chaincode != eddsa_chaincode )
118121 assert (ecdsa_priv_key == 0x66b1baf063db6e7152480334ebab0ab098e85f682b784754e46c18c962a1aa9d )
@@ -132,9 +135,9 @@ def test_two_custom_chaincode_recovery():
132135
133136
134137def test_recovery_with_mobile_share_as_json ():
135- result = recover .restore_key_and_chaincode (TEST_DIR / "json_share.zip" , TEST_DIR / "priv.pem" , "Fireblocks1!" )
136- ecdsa_priv_key , ecdsa_chaincode = result ['MPC_CMP_ECDSA_SECP256K1' ]
137- eddsa_priv_key , eddsa_chaincode = result ['MPC_EDDSA_ED25519' ]
138+ result = recover .strip_keyset_from_results ( recover . restore_key_and_chaincode (TEST_DIR / "json_share.zip" , TEST_DIR / "priv.pem" , "Fireblocks1!" ) )
139+ ecdsa_priv_key , ecdsa_chaincode , _ = result ['MPC_CMP_ECDSA_SECP256K1' ]
140+ eddsa_priv_key , eddsa_chaincode , _ = result ['MPC_EDDSA_ED25519' ]
138141
139142 assert (ecdsa_priv_key == 0x83af98f2f2bdea33eb34177b311d89569725a401c1fc4d6046d266b1ca0dc382 )
140143 assert (eddsa_priv_key == 0xd5c4d44f0f07aaa0bf18e039f28ec2131935ed696636f48ec46bab58e66296b )
@@ -153,9 +156,9 @@ def test_recovery_with_mobile_share_as_json():
153156
154157
155158def test_recovery_with_master_keys ():
156- result = recover .restore_key_and_chaincode (TEST_DIR / "backup_with_master_key.zip" , TEST_DIR / "priv_ncw.pem" , "2#0Iw0Qov@&QP09p" , key_pass = "SECRET" )
157- ecdsa_priv_key , ecdsa_chaincode = result ["MPC_CMP_ECDSA_SECP256K1" ]
158- eddsa_priv_key , eddsa_chaincode = result ["MPC_EDDSA_ED25519" ]
159+ result = recover .strip_keyset_from_results ( recover . restore_key_and_chaincode (TEST_DIR / "backup_with_master_key.zip" , TEST_DIR / "priv_ncw.pem" , "2#0Iw0Qov@&QP09p" , key_pass = "SECRET" ) )
160+ ecdsa_priv_key , ecdsa_chaincode , _ = result ["MPC_CMP_ECDSA_SECP256K1" ]
161+ eddsa_priv_key , eddsa_chaincode , _ = result ["MPC_EDDSA_ED25519" ]
159162
160163 pub = recover .get_public_key ("MPC_ECDSA_SECP256K1" , ecdsa_priv_key )
161164 assert pub == "033f5e4fb621e4cc777e5b9cdc0ef06c7b55042e9ce6c3bf013daab9fba29b37b8"
0 commit comments