mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-22 15:04:44 +01:00
Use SCRIPT_VERIFY_NONE instead of hard-coded 0 in transaction_tests
This commit is contained in:
parent
41544b8f96
commit
c3a8843189
1 changed files with 22 additions and 23 deletions
|
@ -72,17 +72,16 @@ static std::map<std::string, unsigned int> mapFlagNames = {
|
|||
|
||||
unsigned int ParseScriptFlags(std::string strFlags)
|
||||
{
|
||||
if (strFlags.empty() || strFlags == "NONE") return 0;
|
||||
unsigned int flags = 0;
|
||||
std::vector<std::string> words = SplitString(strFlags, ',');
|
||||
unsigned int flags = SCRIPT_VERIFY_NONE;
|
||||
if (strFlags.empty() || strFlags == "NONE") return flags;
|
||||
|
||||
std::vector<std::string> words = SplitString(strFlags, ',');
|
||||
for (const std::string& word : words)
|
||||
{
|
||||
if (!mapFlagNames.count(word))
|
||||
BOOST_ERROR("Bad test: unknown verification flag '" << word << "'");
|
||||
flags |= mapFlagNames[word];
|
||||
}
|
||||
|
||||
return flags;
|
||||
}
|
||||
|
||||
|
@ -98,7 +97,7 @@ bool CheckMapFlagNames()
|
|||
|
||||
std::string FormatScriptFlags(unsigned int flags)
|
||||
{
|
||||
if (flags == 0) {
|
||||
if (flags == SCRIPT_VERIFY_NONE) {
|
||||
return "";
|
||||
}
|
||||
std::string ret;
|
||||
|
@ -615,11 +614,11 @@ BOOST_AUTO_TEST_CASE(test_witness)
|
|||
// Normal pay-to-compressed-pubkey.
|
||||
CreateCreditAndSpend(keystore, scriptPubkey1, output1, input1);
|
||||
CreateCreditAndSpend(keystore, scriptPubkey2, output2, input2);
|
||||
CheckWithFlag(output1, input1, 0, true);
|
||||
CheckWithFlag(output1, input1, SCRIPT_VERIFY_NONE, true);
|
||||
CheckWithFlag(output1, input1, SCRIPT_VERIFY_P2SH, true);
|
||||
CheckWithFlag(output1, input1, SCRIPT_VERIFY_WITNESS | SCRIPT_VERIFY_P2SH, true);
|
||||
CheckWithFlag(output1, input1, STANDARD_SCRIPT_VERIFY_FLAGS, true);
|
||||
CheckWithFlag(output1, input2, 0, false);
|
||||
CheckWithFlag(output1, input2, SCRIPT_VERIFY_NONE, false);
|
||||
CheckWithFlag(output1, input2, SCRIPT_VERIFY_P2SH, false);
|
||||
CheckWithFlag(output1, input2, SCRIPT_VERIFY_WITNESS | SCRIPT_VERIFY_P2SH, false);
|
||||
CheckWithFlag(output1, input2, STANDARD_SCRIPT_VERIFY_FLAGS, false);
|
||||
|
@ -628,11 +627,11 @@ BOOST_AUTO_TEST_CASE(test_witness)
|
|||
CreateCreditAndSpend(keystore, GetScriptForDestination(ScriptHash(scriptPubkey1)), output1, input1);
|
||||
CreateCreditAndSpend(keystore, GetScriptForDestination(ScriptHash(scriptPubkey2)), output2, input2);
|
||||
ReplaceRedeemScript(input2.vin[0].scriptSig, scriptPubkey1);
|
||||
CheckWithFlag(output1, input1, 0, true);
|
||||
CheckWithFlag(output1, input1, SCRIPT_VERIFY_NONE, true);
|
||||
CheckWithFlag(output1, input1, SCRIPT_VERIFY_P2SH, true);
|
||||
CheckWithFlag(output1, input1, SCRIPT_VERIFY_WITNESS | SCRIPT_VERIFY_P2SH, true);
|
||||
CheckWithFlag(output1, input1, STANDARD_SCRIPT_VERIFY_FLAGS, true);
|
||||
CheckWithFlag(output1, input2, 0, true);
|
||||
CheckWithFlag(output1, input2, SCRIPT_VERIFY_NONE, true);
|
||||
CheckWithFlag(output1, input2, SCRIPT_VERIFY_P2SH, false);
|
||||
CheckWithFlag(output1, input2, SCRIPT_VERIFY_WITNESS | SCRIPT_VERIFY_P2SH, false);
|
||||
CheckWithFlag(output1, input2, STANDARD_SCRIPT_VERIFY_FLAGS, false);
|
||||
|
@ -640,11 +639,11 @@ BOOST_AUTO_TEST_CASE(test_witness)
|
|||
// Witness pay-to-compressed-pubkey (v0).
|
||||
CreateCreditAndSpend(keystore, destination_script_1, output1, input1);
|
||||
CreateCreditAndSpend(keystore, destination_script_2, output2, input2);
|
||||
CheckWithFlag(output1, input1, 0, true);
|
||||
CheckWithFlag(output1, input1, SCRIPT_VERIFY_NONE, true);
|
||||
CheckWithFlag(output1, input1, SCRIPT_VERIFY_P2SH, true);
|
||||
CheckWithFlag(output1, input1, SCRIPT_VERIFY_WITNESS | SCRIPT_VERIFY_P2SH, true);
|
||||
CheckWithFlag(output1, input1, STANDARD_SCRIPT_VERIFY_FLAGS, true);
|
||||
CheckWithFlag(output1, input2, 0, true);
|
||||
CheckWithFlag(output1, input2, SCRIPT_VERIFY_NONE, true);
|
||||
CheckWithFlag(output1, input2, SCRIPT_VERIFY_P2SH, true);
|
||||
CheckWithFlag(output1, input2, SCRIPT_VERIFY_WITNESS | SCRIPT_VERIFY_P2SH, false);
|
||||
CheckWithFlag(output1, input2, STANDARD_SCRIPT_VERIFY_FLAGS, false);
|
||||
|
@ -653,11 +652,11 @@ BOOST_AUTO_TEST_CASE(test_witness)
|
|||
CreateCreditAndSpend(keystore, GetScriptForDestination(ScriptHash(destination_script_1)), output1, input1);
|
||||
CreateCreditAndSpend(keystore, GetScriptForDestination(ScriptHash(destination_script_2)), output2, input2);
|
||||
ReplaceRedeemScript(input2.vin[0].scriptSig, destination_script_1);
|
||||
CheckWithFlag(output1, input1, 0, true);
|
||||
CheckWithFlag(output1, input1, SCRIPT_VERIFY_NONE, true);
|
||||
CheckWithFlag(output1, input1, SCRIPT_VERIFY_P2SH, true);
|
||||
CheckWithFlag(output1, input1, SCRIPT_VERIFY_WITNESS | SCRIPT_VERIFY_P2SH, true);
|
||||
CheckWithFlag(output1, input1, STANDARD_SCRIPT_VERIFY_FLAGS, true);
|
||||
CheckWithFlag(output1, input2, 0, true);
|
||||
CheckWithFlag(output1, input2, SCRIPT_VERIFY_NONE, true);
|
||||
CheckWithFlag(output1, input2, SCRIPT_VERIFY_P2SH, true);
|
||||
CheckWithFlag(output1, input2, SCRIPT_VERIFY_WITNESS | SCRIPT_VERIFY_P2SH, false);
|
||||
CheckWithFlag(output1, input2, STANDARD_SCRIPT_VERIFY_FLAGS, false);
|
||||
|
@ -665,11 +664,11 @@ BOOST_AUTO_TEST_CASE(test_witness)
|
|||
// Normal pay-to-uncompressed-pubkey.
|
||||
CreateCreditAndSpend(keystore, scriptPubkey1L, output1, input1);
|
||||
CreateCreditAndSpend(keystore, scriptPubkey2L, output2, input2);
|
||||
CheckWithFlag(output1, input1, 0, true);
|
||||
CheckWithFlag(output1, input1, SCRIPT_VERIFY_NONE, true);
|
||||
CheckWithFlag(output1, input1, SCRIPT_VERIFY_P2SH, true);
|
||||
CheckWithFlag(output1, input1, SCRIPT_VERIFY_WITNESS | SCRIPT_VERIFY_P2SH, true);
|
||||
CheckWithFlag(output1, input1, STANDARD_SCRIPT_VERIFY_FLAGS, true);
|
||||
CheckWithFlag(output1, input2, 0, false);
|
||||
CheckWithFlag(output1, input2, SCRIPT_VERIFY_NONE, false);
|
||||
CheckWithFlag(output1, input2, SCRIPT_VERIFY_P2SH, false);
|
||||
CheckWithFlag(output1, input2, SCRIPT_VERIFY_WITNESS | SCRIPT_VERIFY_P2SH, false);
|
||||
CheckWithFlag(output1, input2, STANDARD_SCRIPT_VERIFY_FLAGS, false);
|
||||
|
@ -678,11 +677,11 @@ BOOST_AUTO_TEST_CASE(test_witness)
|
|||
CreateCreditAndSpend(keystore, GetScriptForDestination(ScriptHash(scriptPubkey1L)), output1, input1);
|
||||
CreateCreditAndSpend(keystore, GetScriptForDestination(ScriptHash(scriptPubkey2L)), output2, input2);
|
||||
ReplaceRedeemScript(input2.vin[0].scriptSig, scriptPubkey1L);
|
||||
CheckWithFlag(output1, input1, 0, true);
|
||||
CheckWithFlag(output1, input1, SCRIPT_VERIFY_NONE, true);
|
||||
CheckWithFlag(output1, input1, SCRIPT_VERIFY_P2SH, true);
|
||||
CheckWithFlag(output1, input1, SCRIPT_VERIFY_WITNESS | SCRIPT_VERIFY_P2SH, true);
|
||||
CheckWithFlag(output1, input1, STANDARD_SCRIPT_VERIFY_FLAGS, true);
|
||||
CheckWithFlag(output1, input2, 0, true);
|
||||
CheckWithFlag(output1, input2, SCRIPT_VERIFY_NONE, true);
|
||||
CheckWithFlag(output1, input2, SCRIPT_VERIFY_P2SH, false);
|
||||
CheckWithFlag(output1, input2, SCRIPT_VERIFY_WITNESS | SCRIPT_VERIFY_P2SH, false);
|
||||
CheckWithFlag(output1, input2, STANDARD_SCRIPT_VERIFY_FLAGS, false);
|
||||
|
@ -697,19 +696,19 @@ BOOST_AUTO_TEST_CASE(test_witness)
|
|||
|
||||
// Normal 2-of-2 multisig
|
||||
CreateCreditAndSpend(keystore, scriptMulti, output1, input1, false);
|
||||
CheckWithFlag(output1, input1, 0, false);
|
||||
CheckWithFlag(output1, input1, SCRIPT_VERIFY_NONE, false);
|
||||
CreateCreditAndSpend(keystore2, scriptMulti, output2, input2, false);
|
||||
CheckWithFlag(output2, input2, 0, false);
|
||||
CheckWithFlag(output2, input2, SCRIPT_VERIFY_NONE, false);
|
||||
BOOST_CHECK(*output1 == *output2);
|
||||
UpdateInput(input1.vin[0], CombineSignatures(input1, input2, output1));
|
||||
CheckWithFlag(output1, input1, STANDARD_SCRIPT_VERIFY_FLAGS, true);
|
||||
|
||||
// P2SH 2-of-2 multisig
|
||||
CreateCreditAndSpend(keystore, GetScriptForDestination(ScriptHash(scriptMulti)), output1, input1, false);
|
||||
CheckWithFlag(output1, input1, 0, true);
|
||||
CheckWithFlag(output1, input1, SCRIPT_VERIFY_NONE, true);
|
||||
CheckWithFlag(output1, input1, SCRIPT_VERIFY_P2SH, false);
|
||||
CreateCreditAndSpend(keystore2, GetScriptForDestination(ScriptHash(scriptMulti)), output2, input2, false);
|
||||
CheckWithFlag(output2, input2, 0, true);
|
||||
CheckWithFlag(output2, input2, SCRIPT_VERIFY_NONE, true);
|
||||
CheckWithFlag(output2, input2, SCRIPT_VERIFY_P2SH, false);
|
||||
BOOST_CHECK(*output1 == *output2);
|
||||
UpdateInput(input1.vin[0], CombineSignatures(input1, input2, output1));
|
||||
|
@ -718,10 +717,10 @@ BOOST_AUTO_TEST_CASE(test_witness)
|
|||
|
||||
// Witness 2-of-2 multisig
|
||||
CreateCreditAndSpend(keystore, destination_script_multi, output1, input1, false);
|
||||
CheckWithFlag(output1, input1, 0, true);
|
||||
CheckWithFlag(output1, input1, SCRIPT_VERIFY_NONE, true);
|
||||
CheckWithFlag(output1, input1, SCRIPT_VERIFY_P2SH | SCRIPT_VERIFY_WITNESS, false);
|
||||
CreateCreditAndSpend(keystore2, destination_script_multi, output2, input2, false);
|
||||
CheckWithFlag(output2, input2, 0, true);
|
||||
CheckWithFlag(output2, input2, SCRIPT_VERIFY_NONE, true);
|
||||
CheckWithFlag(output2, input2, SCRIPT_VERIFY_P2SH | SCRIPT_VERIFY_WITNESS, false);
|
||||
BOOST_CHECK(*output1 == *output2);
|
||||
UpdateInput(input1.vin[0], CombineSignatures(input1, input2, output1));
|
||||
|
|
Loading…
Add table
Reference in a new issue