@@ -331,8 +331,8 @@ void CChainState::MaybeUpdateMempoolForReorg(
331331 while (it != disconnectpool.queuedTx .get <insertion_order>().rend ()) {
332332 // ignore validation errors in resurrected transactions
333333 if (!fAddToMempool || (*it)->IsCoinBase () ||
334- AcceptToMemoryPool (*m_mempool, * this , *it, GetTime (),
335- /* bypass_limits= */ true , /* test_accept= */ false ).m_result_type !=
334+ AcceptToMemoryPool (*this , *it, GetTime (),
335+ /* bypass_limits=*/ true , /* test_accept=*/ false ).m_result_type !=
336336 MempoolAcceptResult::ResultType::VALID) {
337337 // If the transaction doesn't make it in to the mempool, remove any
338338 // transactions that depend on it (which would now be orphans).
@@ -1091,11 +1091,14 @@ PackageMempoolAcceptResult MemPoolAccept::AcceptMultipleTransactions(const std::
10911091
10921092} // anon namespace
10931093
1094- MempoolAcceptResult AcceptToMemoryPool (CTxMemPool& pool, CChainState& active_chainstate, const CTransactionRef& tx,
1094+ MempoolAcceptResult AcceptToMemoryPool (CChainState& active_chainstate, const CTransactionRef& tx,
10951095 int64_t accept_time, bool bypass_limits, bool test_accept)
10961096 EXCLUSIVE_LOCKS_REQUIRED(cs_main)
10971097{
10981098 const CChainParams& chainparams{active_chainstate.m_params };
1099+ assert (active_chainstate.GetMempool () != nullptr );
1100+ CTxMemPool& pool{*active_chainstate.GetMempool ()};
1101+
10991102 std::vector<COutPoint> coins_to_uncache;
11001103 auto args = MemPoolAccept::ATMPArgs::SingleAccept (chainparams, accept_time, bypass_limits, coins_to_uncache, test_accept);
11011104 const MempoolAcceptResult result = MemPoolAccept (pool, active_chainstate).AcceptSingleTransaction (tx, args);
@@ -3500,13 +3503,13 @@ bool ChainstateManager::ProcessNewBlock(const CChainParams& chainparams, const s
35003503MempoolAcceptResult ChainstateManager::ProcessTransaction (const CTransactionRef& tx, bool test_accept)
35013504{
35023505 CChainState& active_chainstate = ActiveChainstate ();
3503- if (!active_chainstate.m_mempool ) {
3506+ if (!active_chainstate.GetMempool () ) {
35043507 TxValidationState state;
35053508 state.Invalid (TxValidationResult::TX_NO_MEMPOOL, " no-mempool" );
35063509 return MempoolAcceptResult::Failure (state);
35073510 }
3508- auto result = AcceptToMemoryPool (* active_chainstate. m_mempool , active_chainstate, tx, GetTime (), /* bypass_limits= */ false , test_accept);
3509- active_chainstate.m_mempool ->check (active_chainstate.CoinsTip (), active_chainstate.m_chain .Height () + 1 );
3511+ auto result = AcceptToMemoryPool (active_chainstate, tx, GetTime (), /* bypass_limits=*/ false , test_accept);
3512+ active_chainstate.GetMempool () ->check (active_chainstate.CoinsTip (), active_chainstate.m_chain .Height () + 1 );
35103513 return result;
35113514}
35123515
@@ -4572,8 +4575,8 @@ bool LoadMempool(CTxMemPool& pool, CChainState& active_chainstate, FopenFn mocka
45724575 }
45734576 if (nTime > nNow - nExpiryTimeout) {
45744577 LOCK (cs_main);
4575- if ( AcceptToMemoryPool (pool, active_chainstate, tx, nTime, /* bypass_limits= */ false ,
4576- /* test_accept= */ false ) .m_result_type == MempoolAcceptResult::ResultType::VALID) {
4578+ const auto & accepted = AcceptToMemoryPool (active_chainstate, tx, nTime, /* bypass_limits=*/ false , /* test_accept= */ false );
4579+ if (accepted .m_result_type == MempoolAcceptResult::ResultType::VALID) {
45774580 ++count;
45784581 } else {
45794582 // mempool may contain the transaction already, e.g. from
0 commit comments