@@ -501,13 +501,19 @@ BOOST_AUTO_TEST_CASE(test_witness)
501
501
BOOST_CHECK (keystore.AddCScript (scriptPubkey1L));
502
502
BOOST_CHECK (keystore.AddCScript (scriptPubkey2L));
503
503
BOOST_CHECK (keystore.AddCScript (scriptMulti));
504
- BOOST_CHECK (keystore.AddCScript (GetScriptForWitness (scriptPubkey1)));
505
- BOOST_CHECK (keystore.AddCScript (GetScriptForWitness (scriptPubkey2)));
506
- BOOST_CHECK (keystore.AddCScript (GetScriptForWitness (scriptPubkey1L)));
507
- BOOST_CHECK (keystore.AddCScript (GetScriptForWitness (scriptPubkey2L)));
508
- BOOST_CHECK (keystore.AddCScript (GetScriptForWitness (scriptMulti)));
504
+ CScript destination_script_1, destination_script_2, destination_script_1L, destination_script_2L, destination_script_multi;
505
+ destination_script_1 = GetScriptForDestination (WitnessV0KeyHash (pubkey1));
506
+ destination_script_2 = GetScriptForDestination (WitnessV0KeyHash (pubkey2));
507
+ destination_script_1L = GetScriptForDestination (WitnessV0KeyHash (pubkey1L));
508
+ destination_script_2L = GetScriptForDestination (WitnessV0KeyHash (pubkey2L));
509
+ destination_script_multi = GetScriptForDestination (WitnessV0ScriptHash (scriptMulti));
510
+ BOOST_CHECK (keystore.AddCScript (destination_script_1));
511
+ BOOST_CHECK (keystore.AddCScript (destination_script_2));
512
+ BOOST_CHECK (keystore.AddCScript (destination_script_1L));
513
+ BOOST_CHECK (keystore.AddCScript (destination_script_2L));
514
+ BOOST_CHECK (keystore.AddCScript (destination_script_multi));
509
515
BOOST_CHECK (keystore2.AddCScript (scriptMulti));
510
- BOOST_CHECK (keystore2.AddCScript (GetScriptForWitness (scriptMulti) ));
516
+ BOOST_CHECK (keystore2.AddCScript (destination_script_multi ));
511
517
BOOST_CHECK (keystore2.AddKeyPubKey (key3, pubkey3));
512
518
513
519
CTransactionRef output1, output2;
@@ -539,8 +545,8 @@ BOOST_AUTO_TEST_CASE(test_witness)
539
545
CheckWithFlag (output1, input2, STANDARD_SCRIPT_VERIFY_FLAGS, false );
540
546
541
547
// Witness pay-to-compressed-pubkey (v0).
542
- CreateCreditAndSpend (keystore, GetScriptForWitness (scriptPubkey1) , output1, input1);
543
- CreateCreditAndSpend (keystore, GetScriptForWitness (scriptPubkey2) , output2, input2);
548
+ CreateCreditAndSpend (keystore, destination_script_1 , output1, input1);
549
+ CreateCreditAndSpend (keystore, destination_script_2 , output2, input2);
544
550
CheckWithFlag (output1, input1, 0 , true );
545
551
CheckWithFlag (output1, input1, SCRIPT_VERIFY_P2SH, true );
546
552
CheckWithFlag (output1, input1, SCRIPT_VERIFY_WITNESS | SCRIPT_VERIFY_P2SH, true );
@@ -551,9 +557,9 @@ BOOST_AUTO_TEST_CASE(test_witness)
551
557
CheckWithFlag (output1, input2, STANDARD_SCRIPT_VERIFY_FLAGS, false );
552
558
553
559
// P2SH witness pay-to-compressed-pubkey (v0).
554
- CreateCreditAndSpend (keystore, GetScriptForDestination (ScriptHash (GetScriptForWitness (scriptPubkey1) )), output1, input1);
555
- CreateCreditAndSpend (keystore, GetScriptForDestination (ScriptHash (GetScriptForWitness (scriptPubkey2) )), output2, input2);
556
- ReplaceRedeemScript (input2.vin [0 ].scriptSig , GetScriptForWitness (scriptPubkey1) );
560
+ CreateCreditAndSpend (keystore, GetScriptForDestination (ScriptHash (destination_script_1 )), output1, input1);
561
+ CreateCreditAndSpend (keystore, GetScriptForDestination (ScriptHash (destination_script_2 )), output2, input2);
562
+ ReplaceRedeemScript (input2.vin [0 ].scriptSig , destination_script_1 );
557
563
CheckWithFlag (output1, input1, 0 , true );
558
564
CheckWithFlag (output1, input1, SCRIPT_VERIFY_P2SH, true );
559
565
CheckWithFlag (output1, input1, SCRIPT_VERIFY_WITNESS | SCRIPT_VERIFY_P2SH, true );
@@ -589,12 +595,12 @@ BOOST_AUTO_TEST_CASE(test_witness)
589
595
CheckWithFlag (output1, input2, STANDARD_SCRIPT_VERIFY_FLAGS, false );
590
596
591
597
// Signing disabled for witness pay-to-uncompressed-pubkey (v1).
592
- CreateCreditAndSpend (keystore, GetScriptForWitness (scriptPubkey1L) , output1, input1, false );
593
- CreateCreditAndSpend (keystore, GetScriptForWitness (scriptPubkey2L) , output2, input2, false );
598
+ CreateCreditAndSpend (keystore, destination_script_1L , output1, input1, false );
599
+ CreateCreditAndSpend (keystore, destination_script_2L , output2, input2, false );
594
600
595
601
// Signing disabled for P2SH witness pay-to-uncompressed-pubkey (v1).
596
- CreateCreditAndSpend (keystore, GetScriptForDestination (ScriptHash (GetScriptForWitness (scriptPubkey1L) )), output1, input1, false );
597
- CreateCreditAndSpend (keystore, GetScriptForDestination (ScriptHash (GetScriptForWitness (scriptPubkey2L) )), output2, input2, false );
602
+ CreateCreditAndSpend (keystore, GetScriptForDestination (ScriptHash (destination_script_1L )), output1, input1, false );
603
+ CreateCreditAndSpend (keystore, GetScriptForDestination (ScriptHash (destination_script_2L )), output2, input2, false );
598
604
599
605
// Normal 2-of-2 multisig
600
606
CreateCreditAndSpend (keystore, scriptMulti, output1, input1, false );
@@ -618,10 +624,10 @@ BOOST_AUTO_TEST_CASE(test_witness)
618
624
CheckWithFlag (output1, input1, STANDARD_SCRIPT_VERIFY_FLAGS, true );
619
625
620
626
// Witness 2-of-2 multisig
621
- CreateCreditAndSpend (keystore, GetScriptForWitness (scriptMulti) , output1, input1, false );
627
+ CreateCreditAndSpend (keystore, destination_script_multi , output1, input1, false );
622
628
CheckWithFlag (output1, input1, 0 , true );
623
629
CheckWithFlag (output1, input1, SCRIPT_VERIFY_P2SH | SCRIPT_VERIFY_WITNESS, false );
624
- CreateCreditAndSpend (keystore2, GetScriptForWitness (scriptMulti) , output2, input2, false );
630
+ CreateCreditAndSpend (keystore2, destination_script_multi , output2, input2, false );
625
631
CheckWithFlag (output2, input2, 0 , true );
626
632
CheckWithFlag (output2, input2, SCRIPT_VERIFY_P2SH | SCRIPT_VERIFY_WITNESS, false );
627
633
BOOST_CHECK (*output1 == *output2);
@@ -630,10 +636,10 @@ BOOST_AUTO_TEST_CASE(test_witness)
630
636
CheckWithFlag (output1, input1, STANDARD_SCRIPT_VERIFY_FLAGS, true );
631
637
632
638
// P2SH witness 2-of-2 multisig
633
- CreateCreditAndSpend (keystore, GetScriptForDestination (ScriptHash (GetScriptForWitness (scriptMulti) )), output1, input1, false );
639
+ CreateCreditAndSpend (keystore, GetScriptForDestination (ScriptHash (destination_script_multi )), output1, input1, false );
634
640
CheckWithFlag (output1, input1, SCRIPT_VERIFY_P2SH, true );
635
641
CheckWithFlag (output1, input1, SCRIPT_VERIFY_P2SH | SCRIPT_VERIFY_WITNESS, false );
636
- CreateCreditAndSpend (keystore2, GetScriptForDestination (ScriptHash (GetScriptForWitness (scriptMulti) )), output2, input2, false );
642
+ CreateCreditAndSpend (keystore2, GetScriptForDestination (ScriptHash (destination_script_multi )), output2, input2, false );
637
643
CheckWithFlag (output2, input2, SCRIPT_VERIFY_P2SH, true );
638
644
CheckWithFlag (output2, input2, SCRIPT_VERIFY_P2SH | SCRIPT_VERIFY_WITNESS, false );
639
645
BOOST_CHECK (*output1 == *output2);
0 commit comments