diff --git a/src/net_processing.cpp b/src/net_processing.cpp --- a/src/net_processing.cpp +++ b/src/net_processing.cpp @@ -3133,9 +3133,6 @@ break; } } - CChainState &active_chainstate = m_chainman.ActiveChainstate(); - m_mempool.check(active_chainstate.CoinsTip(), - active_chainstate.m_chain.Height() + 1); } bool PeerManagerImpl::PrepareBlockFilterRequest( @@ -4367,9 +4364,6 @@ const TxValidationState &state = result.m_state; if (result.m_result_type == MempoolAcceptResult::ResultType::VALID) { - CChainState &active_chainstate = m_chainman.ActiveChainstate(); - m_mempool.check(active_chainstate.CoinsTip(), - active_chainstate.m_chain.Height() + 1); // As this version of the transaction was acceptable, we can forget // about any requests for it. m_txrequest.ForgetInvId(tx.GetId()); diff --git a/src/validation.cpp b/src/validation.cpp --- a/src/validation.cpp +++ b/src/validation.cpp @@ -4287,9 +4287,12 @@ // making AcceptToMemoryPool take a CChainParams instead of a Config. // This avoids passing an extra Config argument to this function that will // be removed soon. - return AcceptToMemoryPool(active_chainstate, ::GetConfig(), - *active_chainstate.m_mempool, tx, - /*bypass_limits=*/false, test_accept); + auto result = AcceptToMemoryPool(active_chainstate, ::GetConfig(), + *active_chainstate.m_mempool, tx, + /*bypass_limits=*/false, test_accept); + active_chainstate.m_mempool->check(active_chainstate.CoinsTip(), + active_chainstate.m_chain.Height() + 1); + return result; } bool TestBlockValidity(BlockValidationState &state, const CChainParams ¶ms,