diff --git a/src/gtest/test_checkblock.cpp b/src/gtest/test_checkblock.cpp index 1c48046ef..490af7776 100644 --- a/src/gtest/test_checkblock.cpp +++ b/src/gtest/test_checkblock.cpp @@ -135,7 +135,7 @@ TEST(ContextualCheckBlock, BlockSproutRulesRejectSaplingTx) { MockCValidationState state; CBlockIndex indexPrev {Params().GenesisBlock()}; - EXPECT_CALL(state, DoS(100, false, REJECT_INVALID, "tx-overwinter-not-active", false)).Times(1); + EXPECT_CALL(state, DoS(0, false, REJECT_INVALID, "tx-overwinter-not-active", false)).Times(1); EXPECT_FALSE(ContextualCheckBlock(block, state, &indexPrev)); } @@ -164,7 +164,7 @@ TEST(ContextualCheckBlock, BlockSproutRulesRejectOverwinterTx) { MockCValidationState state; CBlockIndex indexPrev {Params().GenesisBlock()}; - EXPECT_CALL(state, DoS(100, false, REJECT_INVALID, "tx-overwinter-not-active", false)).Times(1); + EXPECT_CALL(state, DoS(0, false, REJECT_INVALID, "tx-overwinter-not-active", false)).Times(1); EXPECT_FALSE(ContextualCheckBlock(block, state, &indexPrev)); } diff --git a/src/gtest/test_checktransaction.cpp b/src/gtest/test_checktransaction.cpp index 1faf87340..c2a412bd2 100644 --- a/src/gtest/test_checktransaction.cpp +++ b/src/gtest/test_checktransaction.cpp @@ -504,7 +504,7 @@ TEST(checktransaction_tests, bad_txns_invalid_joinsplit_signature) { CTransaction tx(mtx); MockCValidationState state; - EXPECT_CALL(state, DoS(100, false, REJECT_INVALID, "bad-txns-invalid-joinsplit-signature", false)).Times(1); + EXPECT_CALL(state, DoS(0, false, REJECT_INVALID, "bad-txns-invalid-joinsplit-signature", false)).Times(1); ContextualCheckTransaction(tx, state, 0, 100); } @@ -537,7 +537,7 @@ TEST(checktransaction_tests, non_canonical_ed25519_signature) { CTransaction tx(mtx); MockCValidationState state; - EXPECT_CALL(state, DoS(100, false, REJECT_INVALID, "bad-txns-invalid-joinsplit-signature", false)).Times(1); + EXPECT_CALL(state, DoS(0, false, REJECT_INVALID, "bad-txns-invalid-joinsplit-signature", false)).Times(1); ContextualCheckTransaction(tx, state, 0, 100); } @@ -775,7 +775,7 @@ TEST(checktransaction_tests, OverwinterNotActive) { CTransaction tx(mtx); MockCValidationState state; - EXPECT_CALL(state, DoS(100, false, REJECT_INVALID, "tx-overwinter-not-active", false)).Times(1); + EXPECT_CALL(state, DoS(0, false, REJECT_INVALID, "tx-overwinter-not-active", false)).Times(1); ContextualCheckTransaction(tx, state, 1, 100); } @@ -970,4 +970,4 @@ TEST(checktransaction_tests, BadTxReceivedOverNetwork) FAIL() << "Expected std::ios_base::failure 'Unknown transaction format', got some other exception"; } } -} \ No newline at end of file +} diff --git a/src/main.cpp b/src/main.cpp index 182eff232..238612a20 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -886,7 +886,8 @@ bool ContextualCheckTransaction(const CTransaction& tx, CValidationState &state, // If Sprout rules apply, reject transactions which are intended for Overwinter and beyond if (isSprout && tx.fOverwintered) { - return state.DoS(dosLevel, error("ContextualCheckTransaction(): overwinter is not active yet"), + return state.DoS(IsInitialBlockDownload() ? 0 : dosLevel, + error("ContextualCheckTransaction(): overwinter is not active yet"), REJECT_INVALID, "tx-overwinter-not-active"); } @@ -986,7 +987,8 @@ bool ContextualCheckTransaction(const CTransaction& tx, CValidationState &state, dataToBeSigned.begin(), 32, tx.joinSplitPubKey.begin() ) != 0) { - return state.DoS(100, error("CheckTransaction(): invalid joinsplit signature"), + return state.DoS(IsInitialBlockDownload() ? 0 : 100, + error("CheckTransaction(): invalid joinsplit signature"), REJECT_INVALID, "bad-txns-invalid-joinsplit-signature"); } }