Skip to content

Commit bd3f4b6

Browse files
committed
psbt: Add test for GetKey bip32
1 parent c7bdec1 commit bd3f4b6

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

bitcoin/src/psbt/mod.rs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff 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);

0 commit comments

Comments
 (0)