mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-06-03 19:51:32 +02:00
Use SCRIPT_VERIFY_NONE instead of hard-coded 0 in transaction_tests
This commit is contained in:
parent
41544b8f96
commit
c3a8843189
@ -72,17 +72,16 @@ static std::map<std::string, unsigned int> mapFlagNames = {
|
|||||||
|
|
||||||
unsigned int ParseScriptFlags(std::string strFlags)
|
unsigned int ParseScriptFlags(std::string strFlags)
|
||||||
{
|
{
|
||||||
if (strFlags.empty() || strFlags == "NONE") return 0;
|
unsigned int flags = SCRIPT_VERIFY_NONE;
|
||||||
unsigned int flags = 0;
|
if (strFlags.empty() || strFlags == "NONE") return flags;
|
||||||
std::vector<std::string> words = SplitString(strFlags, ',');
|
|
||||||
|
|
||||||
|
std::vector<std::string> words = SplitString(strFlags, ',');
|
||||||
for (const std::string& word : words)
|
for (const std::string& word : words)
|
||||||
{
|
{
|
||||||
if (!mapFlagNames.count(word))
|
if (!mapFlagNames.count(word))
|
||||||
BOOST_ERROR("Bad test: unknown verification flag '" << word << "'");
|
BOOST_ERROR("Bad test: unknown verification flag '" << word << "'");
|
||||||
flags |= mapFlagNames[word];
|
flags |= mapFlagNames[word];
|
||||||
}
|
}
|
||||||
|
|
||||||
return flags;
|
return flags;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -98,7 +97,7 @@ bool CheckMapFlagNames()
|
|||||||
|
|
||||||
std::string FormatScriptFlags(unsigned int flags)
|
std::string FormatScriptFlags(unsigned int flags)
|
||||||
{
|
{
|
||||||
if (flags == 0) {
|
if (flags == SCRIPT_VERIFY_NONE) {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
std::string ret;
|
std::string ret;
|
||||||
@ -615,11 +614,11 @@ BOOST_AUTO_TEST_CASE(test_witness)
|
|||||||
// Normal pay-to-compressed-pubkey.
|
// Normal pay-to-compressed-pubkey.
|
||||||
CreateCreditAndSpend(keystore, scriptPubkey1, output1, input1);
|
CreateCreditAndSpend(keystore, scriptPubkey1, output1, input1);
|
||||||
CreateCreditAndSpend(keystore, scriptPubkey2, output2, input2);
|
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_P2SH, true);
|
||||||
CheckWithFlag(output1, input1, SCRIPT_VERIFY_WITNESS | SCRIPT_VERIFY_P2SH, true);
|
CheckWithFlag(output1, input1, SCRIPT_VERIFY_WITNESS | SCRIPT_VERIFY_P2SH, true);
|
||||||
CheckWithFlag(output1, input1, STANDARD_SCRIPT_VERIFY_FLAGS, 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_P2SH, false);
|
||||||
CheckWithFlag(output1, input2, SCRIPT_VERIFY_WITNESS | SCRIPT_VERIFY_P2SH, false);
|
CheckWithFlag(output1, input2, SCRIPT_VERIFY_WITNESS | SCRIPT_VERIFY_P2SH, false);
|
||||||
CheckWithFlag(output1, input2, STANDARD_SCRIPT_VERIFY_FLAGS, 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(scriptPubkey1)), output1, input1);
|
||||||
CreateCreditAndSpend(keystore, GetScriptForDestination(ScriptHash(scriptPubkey2)), output2, input2);
|
CreateCreditAndSpend(keystore, GetScriptForDestination(ScriptHash(scriptPubkey2)), output2, input2);
|
||||||
ReplaceRedeemScript(input2.vin[0].scriptSig, scriptPubkey1);
|
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_P2SH, true);
|
||||||
CheckWithFlag(output1, input1, SCRIPT_VERIFY_WITNESS | SCRIPT_VERIFY_P2SH, true);
|
CheckWithFlag(output1, input1, SCRIPT_VERIFY_WITNESS | SCRIPT_VERIFY_P2SH, true);
|
||||||
CheckWithFlag(output1, input1, STANDARD_SCRIPT_VERIFY_FLAGS, 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_P2SH, false);
|
||||||
CheckWithFlag(output1, input2, SCRIPT_VERIFY_WITNESS | SCRIPT_VERIFY_P2SH, false);
|
CheckWithFlag(output1, input2, SCRIPT_VERIFY_WITNESS | SCRIPT_VERIFY_P2SH, false);
|
||||||
CheckWithFlag(output1, input2, STANDARD_SCRIPT_VERIFY_FLAGS, 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).
|
// Witness pay-to-compressed-pubkey (v0).
|
||||||
CreateCreditAndSpend(keystore, destination_script_1, output1, input1);
|
CreateCreditAndSpend(keystore, destination_script_1, output1, input1);
|
||||||
CreateCreditAndSpend(keystore, destination_script_2, output2, input2);
|
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_P2SH, true);
|
||||||
CheckWithFlag(output1, input1, SCRIPT_VERIFY_WITNESS | SCRIPT_VERIFY_P2SH, true);
|
CheckWithFlag(output1, input1, SCRIPT_VERIFY_WITNESS | SCRIPT_VERIFY_P2SH, true);
|
||||||
CheckWithFlag(output1, input1, STANDARD_SCRIPT_VERIFY_FLAGS, 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_P2SH, true);
|
||||||
CheckWithFlag(output1, input2, SCRIPT_VERIFY_WITNESS | SCRIPT_VERIFY_P2SH, false);
|
CheckWithFlag(output1, input2, SCRIPT_VERIFY_WITNESS | SCRIPT_VERIFY_P2SH, false);
|
||||||
CheckWithFlag(output1, input2, STANDARD_SCRIPT_VERIFY_FLAGS, 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_1)), output1, input1);
|
||||||
CreateCreditAndSpend(keystore, GetScriptForDestination(ScriptHash(destination_script_2)), output2, input2);
|
CreateCreditAndSpend(keystore, GetScriptForDestination(ScriptHash(destination_script_2)), output2, input2);
|
||||||
ReplaceRedeemScript(input2.vin[0].scriptSig, destination_script_1);
|
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_P2SH, true);
|
||||||
CheckWithFlag(output1, input1, SCRIPT_VERIFY_WITNESS | SCRIPT_VERIFY_P2SH, true);
|
CheckWithFlag(output1, input1, SCRIPT_VERIFY_WITNESS | SCRIPT_VERIFY_P2SH, true);
|
||||||
CheckWithFlag(output1, input1, STANDARD_SCRIPT_VERIFY_FLAGS, 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_P2SH, true);
|
||||||
CheckWithFlag(output1, input2, SCRIPT_VERIFY_WITNESS | SCRIPT_VERIFY_P2SH, false);
|
CheckWithFlag(output1, input2, SCRIPT_VERIFY_WITNESS | SCRIPT_VERIFY_P2SH, false);
|
||||||
CheckWithFlag(output1, input2, STANDARD_SCRIPT_VERIFY_FLAGS, false);
|
CheckWithFlag(output1, input2, STANDARD_SCRIPT_VERIFY_FLAGS, false);
|
||||||
@ -665,11 +664,11 @@ BOOST_AUTO_TEST_CASE(test_witness)
|
|||||||
// Normal pay-to-uncompressed-pubkey.
|
// Normal pay-to-uncompressed-pubkey.
|
||||||
CreateCreditAndSpend(keystore, scriptPubkey1L, output1, input1);
|
CreateCreditAndSpend(keystore, scriptPubkey1L, output1, input1);
|
||||||
CreateCreditAndSpend(keystore, scriptPubkey2L, output2, input2);
|
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_P2SH, true);
|
||||||
CheckWithFlag(output1, input1, SCRIPT_VERIFY_WITNESS | SCRIPT_VERIFY_P2SH, true);
|
CheckWithFlag(output1, input1, SCRIPT_VERIFY_WITNESS | SCRIPT_VERIFY_P2SH, true);
|
||||||
CheckWithFlag(output1, input1, STANDARD_SCRIPT_VERIFY_FLAGS, 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_P2SH, false);
|
||||||
CheckWithFlag(output1, input2, SCRIPT_VERIFY_WITNESS | SCRIPT_VERIFY_P2SH, false);
|
CheckWithFlag(output1, input2, SCRIPT_VERIFY_WITNESS | SCRIPT_VERIFY_P2SH, false);
|
||||||
CheckWithFlag(output1, input2, STANDARD_SCRIPT_VERIFY_FLAGS, 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(scriptPubkey1L)), output1, input1);
|
||||||
CreateCreditAndSpend(keystore, GetScriptForDestination(ScriptHash(scriptPubkey2L)), output2, input2);
|
CreateCreditAndSpend(keystore, GetScriptForDestination(ScriptHash(scriptPubkey2L)), output2, input2);
|
||||||
ReplaceRedeemScript(input2.vin[0].scriptSig, scriptPubkey1L);
|
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_P2SH, true);
|
||||||
CheckWithFlag(output1, input1, SCRIPT_VERIFY_WITNESS | SCRIPT_VERIFY_P2SH, true);
|
CheckWithFlag(output1, input1, SCRIPT_VERIFY_WITNESS | SCRIPT_VERIFY_P2SH, true);
|
||||||
CheckWithFlag(output1, input1, STANDARD_SCRIPT_VERIFY_FLAGS, 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_P2SH, false);
|
||||||
CheckWithFlag(output1, input2, SCRIPT_VERIFY_WITNESS | SCRIPT_VERIFY_P2SH, false);
|
CheckWithFlag(output1, input2, SCRIPT_VERIFY_WITNESS | SCRIPT_VERIFY_P2SH, false);
|
||||||
CheckWithFlag(output1, input2, STANDARD_SCRIPT_VERIFY_FLAGS, false);
|
CheckWithFlag(output1, input2, STANDARD_SCRIPT_VERIFY_FLAGS, false);
|
||||||
@ -697,19 +696,19 @@ BOOST_AUTO_TEST_CASE(test_witness)
|
|||||||
|
|
||||||
// Normal 2-of-2 multisig
|
// Normal 2-of-2 multisig
|
||||||
CreateCreditAndSpend(keystore, scriptMulti, output1, input1, false);
|
CreateCreditAndSpend(keystore, scriptMulti, output1, input1, false);
|
||||||
CheckWithFlag(output1, input1, 0, false);
|
CheckWithFlag(output1, input1, SCRIPT_VERIFY_NONE, false);
|
||||||
CreateCreditAndSpend(keystore2, scriptMulti, output2, input2, false);
|
CreateCreditAndSpend(keystore2, scriptMulti, output2, input2, false);
|
||||||
CheckWithFlag(output2, input2, 0, false);
|
CheckWithFlag(output2, input2, SCRIPT_VERIFY_NONE, false);
|
||||||
BOOST_CHECK(*output1 == *output2);
|
BOOST_CHECK(*output1 == *output2);
|
||||||
UpdateInput(input1.vin[0], CombineSignatures(input1, input2, output1));
|
UpdateInput(input1.vin[0], CombineSignatures(input1, input2, output1));
|
||||||
CheckWithFlag(output1, input1, STANDARD_SCRIPT_VERIFY_FLAGS, true);
|
CheckWithFlag(output1, input1, STANDARD_SCRIPT_VERIFY_FLAGS, true);
|
||||||
|
|
||||||
// P2SH 2-of-2 multisig
|
// P2SH 2-of-2 multisig
|
||||||
CreateCreditAndSpend(keystore, GetScriptForDestination(ScriptHash(scriptMulti)), output1, input1, false);
|
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);
|
CheckWithFlag(output1, input1, SCRIPT_VERIFY_P2SH, false);
|
||||||
CreateCreditAndSpend(keystore2, GetScriptForDestination(ScriptHash(scriptMulti)), output2, input2, 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);
|
CheckWithFlag(output2, input2, SCRIPT_VERIFY_P2SH, false);
|
||||||
BOOST_CHECK(*output1 == *output2);
|
BOOST_CHECK(*output1 == *output2);
|
||||||
UpdateInput(input1.vin[0], CombineSignatures(input1, input2, output1));
|
UpdateInput(input1.vin[0], CombineSignatures(input1, input2, output1));
|
||||||
@ -718,10 +717,10 @@ BOOST_AUTO_TEST_CASE(test_witness)
|
|||||||
|
|
||||||
// Witness 2-of-2 multisig
|
// Witness 2-of-2 multisig
|
||||||
CreateCreditAndSpend(keystore, destination_script_multi, output1, input1, false);
|
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);
|
CheckWithFlag(output1, input1, SCRIPT_VERIFY_P2SH | SCRIPT_VERIFY_WITNESS, false);
|
||||||
CreateCreditAndSpend(keystore2, destination_script_multi, output2, input2, 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);
|
CheckWithFlag(output2, input2, SCRIPT_VERIFY_P2SH | SCRIPT_VERIFY_WITNESS, false);
|
||||||
BOOST_CHECK(*output1 == *output2);
|
BOOST_CHECK(*output1 == *output2);
|
||||||
UpdateInput(input1.vin[0], CombineSignatures(input1, input2, output1));
|
UpdateInput(input1.vin[0], CombineSignatures(input1, input2, output1));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user