Add a test case checking `taproot_control_block`
The previous commit fixed a bug when `taproot_control_block` returned `Some` on key-spends. This adds a test case for it which succeeds when applied after the previous commit and fails if applied before it.
This commit is contained in:
parent
e810ecff7c
commit
59f21a291f
|
@ -397,19 +397,24 @@ mod test {
|
|||
let control_block = hex!("02");
|
||||
// annex starting with 0x50 causes the branching logic.
|
||||
let annex = hex!("50");
|
||||
let signature = vec![0xff; 64];
|
||||
|
||||
let witness_vec = vec![tapscript.clone(), control_block.clone()];
|
||||
let witness_vec_annex = vec![tapscript.clone(), control_block.clone(), annex];
|
||||
let witness_vec_annex = vec![tapscript.clone(), control_block.clone(), annex.clone()];
|
||||
let witness_vec_key_spend_annex = vec![signature, annex];
|
||||
|
||||
let witness_serialized: Vec<u8> = serialize(&witness_vec);
|
||||
let witness_serialized_annex: Vec<u8> = serialize(&witness_vec_annex);
|
||||
let witness_serialized_key_spend_annex: Vec<u8> = serialize(&witness_vec_key_spend_annex);
|
||||
|
||||
let witness = deserialize::<Witness>(&witness_serialized[..]).unwrap();
|
||||
let witness_annex = deserialize::<Witness>(&witness_serialized_annex[..]).unwrap();
|
||||
let witness_key_spend_annex = deserialize::<Witness>(&witness_serialized_key_spend_annex[..]).unwrap();
|
||||
|
||||
// With or without annex, the tapscript should be returned.
|
||||
assert_eq!(witness.taproot_control_block(), Some(&control_block[..]));
|
||||
assert_eq!(witness_annex.taproot_control_block(), Some(&control_block[..]));
|
||||
assert!(witness_key_spend_annex.taproot_control_block().is_none())
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
|
Loading…
Reference in New Issue