diff --git a/src/policy/policy.h b/src/policy/policy.h --- a/src/policy/policy.h +++ b/src/policy/policy.h @@ -93,8 +93,7 @@ SCRIPT_VERIFY_SIGPUSHONLY | SCRIPT_VERIFY_MINIMALDATA | SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_NOPS | SCRIPT_VERIFY_CLEANSTACK | SCRIPT_VERIFY_CHECKLOCKTIMEVERIFY | SCRIPT_VERIFY_CHECKSEQUENCEVERIFY | - SCRIPT_VERIFY_CHECKDATASIG_SIGOPS | SCRIPT_DISALLOW_SEGWIT_RECOVERY | - SCRIPT_VERIFY_INPUT_SIGCHECKS; + SCRIPT_DISALLOW_SEGWIT_RECOVERY | SCRIPT_VERIFY_INPUT_SIGCHECKS; /** * For convenience, standard but not mandatory verify flags. diff --git a/src/script/script_flags.h b/src/script/script_flags.h --- a/src/script/script_flags.h +++ b/src/script/script_flags.h @@ -88,11 +88,6 @@ // SCRIPT_ENABLE_REPLAY_PROTECTION = (1U << 17), - // Count sigops for OP_CHECKDATASIG and variant. The interpreter treats - // OP_CHECKDATASIG(VERIFY) as always valid. This flag only affects sigops - // counting, and will be removed during cleanup of the SigChecks upgrade. - SCRIPT_VERIFY_CHECKDATASIG_SIGOPS = (1U << 18), - // The exception to CLEANSTACK and P2SH for the recovery of coins sent // to p2sh segwit addresses is not allowed. SCRIPT_DISALLOW_SEGWIT_RECOVERY = (1U << 20), diff --git a/src/test/checkdatasig_tests.cpp b/src/test/checkdatasig_tests.cpp --- a/src/test/checkdatasig_tests.cpp +++ b/src/test/checkdatasig_tests.cpp @@ -65,24 +65,14 @@ const CScript &script, const stacktype &expected) { for (uint32_t flags : flagset) { - // The script executes as expected regardless of whether or not - // SCRIPT_VERIFY_CHECKDATASIG_SIGOPS flag is passed. - CheckPass(flags & ~SCRIPT_VERIFY_CHECKDATASIG_SIGOPS, original_stack, - script, expected); - CheckPass(flags | SCRIPT_VERIFY_CHECKDATASIG_SIGOPS, original_stack, - script, expected); + CheckPass(flags, original_stack, script, expected); } } static void CheckErrorForAllFlags(const stacktype &original_stack, const CScript &script, ScriptError expected) { for (uint32_t flags : flagset) { - // The script generates the proper error regardless of whether or not - // SCRIPT_VERIFY_CHECKDATASIG_SIGOPS flag is passed. - CheckError(flags & ~SCRIPT_VERIFY_CHECKDATASIG_SIGOPS, original_stack, - script, expected); - CheckError(flags | SCRIPT_VERIFY_CHECKDATASIG_SIGOPS, original_stack, - script, expected); + CheckError(flags, original_stack, script, expected); } } @@ -235,9 +225,4 @@ } } -BOOST_AUTO_TEST_CASE(checkdatasig_sigops_inclusion_in_standard_flags) { - BOOST_CHECK(STANDARD_SCRIPT_VERIFY_FLAGS & - SCRIPT_VERIFY_CHECKDATASIG_SIGOPS); -} - BOOST_AUTO_TEST_SUITE_END() diff --git a/src/test/data/script_tests.json b/src/test/data/script_tests.json --- a/src/test/data/script_tests.json +++ b/src/test/data/script_tests.json @@ -1198,7 +1198,7 @@ [ "0x09 0x300702010102020001 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIG", - "P2SH,STRICTENC,NULLFAIL,CHECKDATASIG", + "P2SH,STRICTENC,NULLFAIL", "SIG_DER", "Non canonical DER encoding" ], @@ -1239,7 +1239,7 @@ [ "0x09 0x300702010102020001 0", "0x21 0x038282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508 CHECKDATASIGVERIFY 1", - "P2SH,STRICTENC,NULLFAIL,CHECKDATASIG", + "P2SH,STRICTENC,NULLFAIL", "SIG_DER", "Non canonical DER encoding" ], diff --git a/src/test/scriptflags.cpp b/src/test/scriptflags.cpp --- a/src/test/scriptflags.cpp +++ b/src/test/scriptflags.cpp @@ -29,7 +29,6 @@ {"CHECKSEQUENCEVERIFY", SCRIPT_VERIFY_CHECKSEQUENCEVERIFY}, {"SIGHASH_FORKID", SCRIPT_ENABLE_SIGHASH_FORKID}, {"REPLAY_PROTECTION", SCRIPT_ENABLE_REPLAY_PROTECTION}, - {"CHECKDATASIG", SCRIPT_VERIFY_CHECKDATASIG_SIGOPS}, {"DISALLOW_SEGWIT_RECOVERY", SCRIPT_DISALLOW_SEGWIT_RECOVERY}, {"SCHNORR_MULTISIG", SCRIPT_ENABLE_SCHNORR_MULTISIG}, {"INPUT_SIGCHECKS", SCRIPT_VERIFY_INPUT_SIGCHECKS}, diff --git a/src/validation.cpp b/src/validation.cpp --- a/src/validation.cpp +++ b/src/validation.cpp @@ -1574,7 +1574,6 @@ // alternative. We also start enforcing push only signatures and // clean stack. if (IsMagneticAnomalyEnabled(params, pindex)) { - flags |= SCRIPT_VERIFY_CHECKDATASIG_SIGOPS; flags |= SCRIPT_VERIFY_SIGPUSHONLY; flags |= SCRIPT_VERIFY_CLEANSTACK; }