@@ -354,7 +354,9 @@ void CChainState::MaybeUpdateMempoolForReorg(
354354 while (it != disconnectpool.queuedTx .get <insertion_order>().rend ()) {
355355 // ignore validation errors in resurrected transactions
356356 if (!fAddToMempool || (*it)->IsCoinBase () ||
357- AcceptToMemoryPool (*this , *m_mempool, *it, true /* bypass_limits */ ).m_result_type != MempoolAcceptResult::ResultType::VALID) {
357+ AcceptToMemoryPool (*m_mempool, *this , *it, GetTime (),
358+ /* bypass_limits= */ true , /* test_accept= */ false ).m_result_type !=
359+ MempoolAcceptResult::ResultType::VALID) {
358360 // If the transaction doesn't make it in to the mempool, remove any
359361 // transactions that depend on it (which would now be orphans).
360362 m_mempool->removeRecursive (**it, MemPoolRemovalReason::REORG);
@@ -978,16 +980,13 @@ PackageMempoolAcceptResult MemPoolAccept::AcceptMultipleTransactions(const std::
978980
979981} // anon namespace
980982
981- /* * (try to) add transaction to memory pool with a specified acceptance time **/
982- static MempoolAcceptResult AcceptToMemoryPoolWithTime (const CChainParams& chainparams, CTxMemPool& pool, CChainState& active_chainstate,
983- const CTransactionRef &tx, int64_t nAcceptTime,
984- bool bypass_limits, bool test_accept)
983+ MempoolAcceptResult AcceptToMemoryPool (CTxMemPool& pool, CChainState& active_chainstate, const CTransactionRef& tx,
984+ int64_t accept_time, bool bypass_limits, bool test_accept)
985985 EXCLUSIVE_LOCKS_REQUIRED(::cs_main)
986986{
987- AssertLockHeld (::cs_main) ;
987+ const CChainParams& chainparams{active_chainstate. m_params } ;
988988 std::vector<COutPoint> coins_to_uncache;
989- MemPoolAccept::ATMPArgs args { chainparams, nAcceptTime, bypass_limits, coins_to_uncache, test_accept };
990-
989+ MemPoolAccept::ATMPArgs args { chainparams, accept_time, bypass_limits, coins_to_uncache, test_accept };
991990 const MempoolAcceptResult result = MemPoolAccept (pool, active_chainstate).AcceptSingleTransaction (tx, args);
992991 if (result.m_result_type != MempoolAcceptResult::ResultType::VALID || test_accept) {
993992 if (result.m_result_type != MempoolAcceptResult::ResultType::VALID) {
@@ -1008,11 +1007,6 @@ static MempoolAcceptResult AcceptToMemoryPoolWithTime(const CChainParams& chainp
10081007 return result;
10091008}
10101009
1011- MempoolAcceptResult AcceptToMemoryPool (CChainState& active_chainstate, CTxMemPool& pool, const CTransactionRef &tx, bool bypass_limits, bool test_accept)
1012- {
1013- return AcceptToMemoryPoolWithTime (Params (), pool, active_chainstate, tx, GetTime (), bypass_limits, test_accept);
1014- }
1015-
10161010PackageMempoolAcceptResult ProcessNewPackage (CChainState& active_chainstate, CTxMemPool& pool,
10171011 const Package& package, bool test_accept)
10181012{
@@ -1232,12 +1226,12 @@ CChainState::CChainState(CTxMemPool* mempool,
12321226 const std::unique_ptr<llmq::CInstantSendManager>& isman,
12331227 std::optional<uint256> from_snapshot_blockhash)
12341228 : m_mempool(mempool),
1235- m_params(::Params()),
12361229 m_chain_helper(chain_helper),
12371230 m_clhandler(clhandler),
12381231 m_isman(isman),
12391232 m_evoDb(evoDb),
12401233 m_blockman(blockman),
1234+ m_params(::Params()),
12411235 m_chainman(chainman),
12421236 m_from_snapshot_blockhash(from_snapshot_blockhash) {}
12431237
@@ -4001,7 +3995,7 @@ MempoolAcceptResult ChainstateManager::ProcessTransaction(const CTransactionRef&
40013995 state.Invalid (TxValidationResult::TX_NO_MEMPOOL, " no-mempool" );
40023996 return MempoolAcceptResult::Failure (state);
40033997 }
4004- auto result = AcceptToMemoryPool (active_chainstate, *active_chainstate.m_mempool , tx , bypass_limits, test_accept);
3998+ auto result = AcceptToMemoryPool (*active_chainstate.m_mempool , active_chainstate, tx, GetTime () , bypass_limits, test_accept);
40053999 active_chainstate.m_mempool ->check (active_chainstate.CoinsTip (), active_chainstate.m_chain .Height () + 1 );
40064000 return result;
40074001}
@@ -4966,7 +4960,6 @@ static const uint64_t MEMPOOL_DUMP_VERSION = 1;
49664960
49674961bool LoadMempool (CTxMemPool& pool, CChainState& active_chainstate, FopenFn mockable_fopen_function)
49684962{
4969- const CChainParams& chainparams = Params ();
49704963 int64_t nExpiryTimeout = gArgs .GetArg (" -mempoolexpiry" , DEFAULT_MEMPOOL_EXPIRY) * 60 * 60 ;
49714964 FILE* filestr{mockable_fopen_function (gArgs .GetDataDirNet () / " mempool.dat" , " rb" )};
49724965 CAutoFile file (filestr, SER_DISK, CLIENT_VERSION);
@@ -5005,8 +4998,8 @@ bool LoadMempool(CTxMemPool& pool, CChainState& active_chainstate, FopenFn mocka
50054998 }
50064999 if (nTime > nNow - nExpiryTimeout) {
50075000 LOCK (cs_main);
5008- if (AcceptToMemoryPoolWithTime (chainparams, pool, active_chainstate, tx, nTime, false /* bypass_limits */ ,
5009- false /* test_accept */ ).m_result_type == MempoolAcceptResult::ResultType::VALID) {
5001+ if (AcceptToMemoryPool ( pool, active_chainstate, tx, nTime, /* bypass_limits= */ false ,
5002+ /* test_accept= */ false ).m_result_type == MempoolAcceptResult::ResultType::VALID) {
50105003 ++count;
50115004 } else {
50125005 // mempool may contain the transaction already, e.g. from
0 commit comments