@@ -387,14 +387,8 @@ mod test {
387387 // annex starting with 0x50 causes the branching logic.
388388 let annex = hex ! ( "50" ) ;
389389
390- let witness_vec = vec ! [ tapscript. clone( ) , control_block. clone( ) ] ;
391- let witness_vec_annex = vec ! [ tapscript. clone( ) , control_block, annex] ;
392-
393- let witness_serialized: Vec < u8 > = serialize ( & witness_vec) ;
394- let witness_serialized_annex: Vec < u8 > = serialize ( & witness_vec_annex) ;
395-
396- let witness = deserialize :: < Witness > ( & witness_serialized[ ..] ) . unwrap ( ) ;
397- let witness_annex = deserialize :: < Witness > ( & witness_serialized_annex[ ..] ) . unwrap ( ) ;
390+ let witness = Witness :: from ( [ & * tapscript, & control_block] ) ;
391+ let witness_annex = Witness :: from ( [ & * tapscript, & control_block, & annex] ) ;
398392
399393 // With or without annex, the tapscript should be returned.
400394 assert_eq ! ( witness. tapscript( ) , Some ( Script :: from_bytes( & tapscript[ ..] ) ) ) ;
@@ -409,14 +403,8 @@ mod test {
409403 // annex starting with 0x50 causes the branching logic.
410404 let annex = hex ! ( "50" ) ;
411405
412- let witness_vec = vec ! [ tapscript. clone( ) , control_block. clone( ) ] ;
413- let witness_vec_annex = vec ! [ tapscript. clone( ) , control_block, annex] ;
414-
415- let witness_serialized: Vec < u8 > = serialize ( & witness_vec) ;
416- let witness_serialized_annex: Vec < u8 > = serialize ( & witness_vec_annex) ;
417-
418- let witness = deserialize :: < Witness > ( & witness_serialized[ ..] ) . unwrap ( ) ;
419- let witness_annex = deserialize :: < Witness > ( & witness_serialized_annex[ ..] ) . unwrap ( ) ;
406+ let witness = Witness :: from ( [ & * tapscript, & control_block] ) ;
407+ let witness_annex = Witness :: from ( [ & * tapscript, & control_block, & annex] ) ;
420408
421409 let expected_leaf_script =
422410 LeafScript { version : LeafVersion :: TapScript , script : Script :: from_bytes ( & tapscript) } ;
@@ -432,14 +420,8 @@ mod test {
432420 // annex starting with 0x50 causes the branching logic.
433421 let annex = hex ! ( "50" ) ;
434422
435- let witness_vec = vec ! [ signature. clone( ) ] ;
436- let witness_vec_annex = vec ! [ signature. clone( ) , annex] ;
437-
438- let witness_serialized: Vec < u8 > = serialize ( & witness_vec) ;
439- let witness_serialized_annex: Vec < u8 > = serialize ( & witness_vec_annex) ;
440-
441- let witness = deserialize :: < Witness > ( & witness_serialized[ ..] ) . unwrap ( ) ;
442- let witness_annex = deserialize :: < Witness > ( & witness_serialized_annex[ ..] ) . unwrap ( ) ;
423+ let witness = Witness :: from ( [ & * signature] ) ;
424+ let witness_annex = Witness :: from ( [ & * signature, & annex] ) ;
443425
444426 // With or without annex, no tapscript should be returned.
445427 assert_eq ! ( witness. tapscript( ) , None ) ;
@@ -454,18 +436,9 @@ mod test {
454436 let annex = hex ! ( "50" ) ;
455437 let signature = vec ! [ 0xff ; 64 ] ;
456438
457- let witness_vec = vec ! [ tapscript. clone( ) , control_block. clone( ) ] ;
458- let witness_vec_annex = vec ! [ tapscript. clone( ) , control_block. clone( ) , annex. clone( ) ] ;
459- let witness_vec_key_spend_annex = vec ! [ signature, annex] ;
460-
461- let witness_serialized: Vec < u8 > = serialize ( & witness_vec) ;
462- let witness_serialized_annex: Vec < u8 > = serialize ( & witness_vec_annex) ;
463- let witness_serialized_key_spend_annex: Vec < u8 > = serialize ( & witness_vec_key_spend_annex) ;
464-
465- let witness = deserialize :: < Witness > ( & witness_serialized[ ..] ) . unwrap ( ) ;
466- let witness_annex = deserialize :: < Witness > ( & witness_serialized_annex[ ..] ) . unwrap ( ) ;
467- let witness_key_spend_annex =
468- deserialize :: < Witness > ( & witness_serialized_key_spend_annex[ ..] ) . unwrap ( ) ;
439+ let witness = Witness :: from ( [ & * tapscript, & control_block] ) ;
440+ let witness_annex = Witness :: from ( [ & * tapscript, & control_block, & annex] ) ;
441+ let witness_key_spend_annex = Witness :: from ( [ & * signature, & annex] ) ;
469442
470443 // With or without annex, the tapscript should be returned.
471444 assert_eq ! ( witness. taproot_control_block( ) , Some ( & control_block[ ..] ) ) ;
@@ -480,14 +453,8 @@ mod test {
480453 // annex starting with 0x50 causes the branching logic.
481454 let annex = hex ! ( "50" ) ;
482455
483- let witness_vec = vec ! [ tapscript. clone( ) , control_block. clone( ) ] ;
484- let witness_vec_annex = vec ! [ tapscript. clone( ) , control_block. clone( ) , annex. clone( ) ] ;
485-
486- let witness_serialized: Vec < u8 > = serialize ( & witness_vec) ;
487- let witness_serialized_annex: Vec < u8 > = serialize ( & witness_vec_annex) ;
488-
489- let witness = deserialize :: < Witness > ( & witness_serialized[ ..] ) . unwrap ( ) ;
490- let witness_annex = deserialize :: < Witness > ( & witness_serialized_annex[ ..] ) . unwrap ( ) ;
456+ let witness = Witness :: from ( [ & * tapscript, & control_block] ) ;
457+ let witness_annex = Witness :: from ( [ & * tapscript, & control_block, & annex] ) ;
491458
492459 // With or without annex, the tapscript should be returned.
493460 assert_eq ! ( witness. taproot_annex( ) , None ) ;
@@ -498,14 +465,8 @@ mod test {
498465 // annex starting with 0x50 causes the branching logic.
499466 let annex = hex ! ( "50" ) ;
500467
501- let witness_vec = vec ! [ signature. clone( ) ] ;
502- let witness_vec_annex = vec ! [ signature. clone( ) , annex. clone( ) ] ;
503-
504- let witness_serialized: Vec < u8 > = serialize ( & witness_vec) ;
505- let witness_serialized_annex: Vec < u8 > = serialize ( & witness_vec_annex) ;
506-
507- let witness = deserialize :: < Witness > ( & witness_serialized[ ..] ) . unwrap ( ) ;
508- let witness_annex = deserialize :: < Witness > ( & witness_serialized_annex[ ..] ) . unwrap ( ) ;
468+ let witness = Witness :: from ( [ & * signature] ) ;
469+ let witness_annex = Witness :: from ( [ & * signature, & annex] ) ;
509470
510471 // With or without annex, the tapscript should be returned.
511472 assert_eq ! ( witness. taproot_annex( ) , None ) ;
0 commit comments