@@ -331,8 +331,8 @@ void CChainState::MaybeUpdateMempoolForReorg(
331
331
while (it != disconnectpool.queuedTx .get <insertion_order>().rend ()) {
332
332
// ignore validation errors in resurrected transactions
333
333
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 !=
336
336
MempoolAcceptResult::ResultType::VALID) {
337
337
// If the transaction doesn't make it in to the mempool, remove any
338
338
// transactions that depend on it (which would now be orphans).
@@ -1091,11 +1091,14 @@ PackageMempoolAcceptResult MemPoolAccept::AcceptMultipleTransactions(const std::
1091
1091
1092
1092
} // anon namespace
1093
1093
1094
- MempoolAcceptResult AcceptToMemoryPool (CTxMemPool& pool, CChainState& active_chainstate, const CTransactionRef& tx,
1094
+ MempoolAcceptResult AcceptToMemoryPool (CChainState& active_chainstate, const CTransactionRef& tx,
1095
1095
int64_t accept_time, bool bypass_limits, bool test_accept)
1096
1096
EXCLUSIVE_LOCKS_REQUIRED(cs_main)
1097
1097
{
1098
1098
const CChainParams& chainparams{active_chainstate.m_params };
1099
+ assert (active_chainstate.GetMempool () != nullptr );
1100
+ CTxMemPool& pool{*active_chainstate.GetMempool ()};
1101
+
1099
1102
std::vector<COutPoint> coins_to_uncache;
1100
1103
auto args = MemPoolAccept::ATMPArgs::SingleAccept (chainparams, accept_time, bypass_limits, coins_to_uncache, test_accept);
1101
1104
const MempoolAcceptResult result = MemPoolAccept (pool, active_chainstate).AcceptSingleTransaction (tx, args);
@@ -3500,13 +3503,13 @@ bool ChainstateManager::ProcessNewBlock(const CChainParams& chainparams, const s
3500
3503
MempoolAcceptResult ChainstateManager::ProcessTransaction (const CTransactionRef& tx, bool test_accept)
3501
3504
{
3502
3505
CChainState& active_chainstate = ActiveChainstate ();
3503
- if (!active_chainstate.m_mempool ) {
3506
+ if (!active_chainstate.GetMempool () ) {
3504
3507
TxValidationState state;
3505
3508
state.Invalid (TxValidationResult::TX_NO_MEMPOOL, " no-mempool" );
3506
3509
return MempoolAcceptResult::Failure (state);
3507
3510
}
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 );
3510
3513
return result;
3511
3514
}
3512
3515
@@ -4572,8 +4575,8 @@ bool LoadMempool(CTxMemPool& pool, CChainState& active_chainstate, FopenFn mocka
4572
4575
}
4573
4576
if (nTime > nNow - nExpiryTimeout) {
4574
4577
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) {
4577
4580
++count;
4578
4581
} else {
4579
4582
// mempool may contain the transaction already, e.g. from
0 commit comments