File tree Expand file tree Collapse file tree 1 file changed +21
-0
lines changed
Expand file tree Collapse file tree 1 file changed +21
-0
lines changed Original file line number Diff line number Diff line change @@ -2397,6 +2397,27 @@ mod tests {
23972397 ) ;
23982398 }
23992399
2400+ #[ test]
2401+ fn get_key_xpriv_bip32_parent ( ) {
2402+ let secp = Secp256k1 :: new ( ) ;
2403+
2404+ let seed = hex ! ( "000102030405060708090a0b0c0d0e0f" ) ;
2405+ let parent_xpriv: Xpriv = Xpriv :: new_master ( NetworkKind :: Main , & seed) ;
2406+ let path: DerivationPath = "m/1/2/3" . parse ( ) . unwrap ( ) ;
2407+ let path_prefix: DerivationPath = "m/1" . parse ( ) . unwrap ( ) ;
2408+
2409+ let expected_private_key =
2410+ parent_xpriv. derive_xpriv ( & secp, & path) . unwrap ( ) . to_private_key ( ) ;
2411+
2412+ let derived_xpriv = parent_xpriv. derive_xpriv ( & secp, & path_prefix) . unwrap ( ) ;
2413+
2414+ let derived_key = derived_xpriv
2415+ . get_key ( & KeyRequest :: Bip32 ( ( parent_xpriv. fingerprint ( & secp) , path. clone ( ) ) ) , & secp)
2416+ . unwrap ( ) ;
2417+
2418+ assert_eq ! ( derived_key, Some ( expected_private_key) ) ;
2419+ }
2420+
24002421 #[ test]
24012422 fn fee ( ) {
24022423 let output_0_val = Amount :: from_sat_u32 ( 99_999_699 ) ;
You can’t perform that action at this time.
0 commit comments