diff --git a/src/test/txvalidationcache_tests.cpp b/src/test/txvalidationcache_tests.cpp --- a/src/test/txvalidationcache_tests.cpp +++ b/src/test/txvalidationcache_tests.cpp @@ -522,6 +522,8 @@ flags, true, true, txdata, nSigChecksDummy, nullptr, &sigchecklimiter6)); BOOST_CHECK_EQUAL(state6.GetRejectReason(), "too-many-sigchecks"); + BOOST_CHECK_EQUAL(state6.GetDoS(), 100); + BOOST_CHECK_EQUAL(state6.GetRejectCode(), REJECT_INVALID); BOOST_CHECK(!sigchecklimiter6.check()); // even in parallel validation, immediate fail from the cache. std::vector scriptchecks7; @@ -531,6 +533,8 @@ flags, true, true, txdata, nSigChecksDummy, &scriptchecks7, &sigchecklimiter7)); BOOST_CHECK_EQUAL(state7.GetRejectReason(), "too-many-sigchecks"); + BOOST_CHECK_EQUAL(state7.GetDoS(), 100); + BOOST_CHECK_EQUAL(state7.GetRejectCode(), REJECT_INVALID); BOOST_CHECK(!sigchecklimiter7.check()); BOOST_CHECK(scriptchecks7.empty()); } diff --git a/src/validation.cpp b/src/validation.cpp --- a/src/validation.cpp +++ b/src/validation.cpp @@ -1038,8 +1038,7 @@ if (!txLimitSigChecks.consume_and_check(nSigChecksOut) || (pBlockLimitSigChecks && !pBlockLimitSigChecks->consume_and_check(nSigChecksOut))) { - return state.Invalid(false, REJECT_NONSTANDARD, - strprintf("too-many-sigchecks")); + return state.DoS(100, false, REJECT_INVALID, "too-many-sigchecks"); } return true; }