@@ -349,8 +349,8 @@ void CChainState::MaybeUpdateMempoolForReorg(
349
349
while (it != disconnectpool.queuedTx .get <insertion_order>().rend ()) {
350
350
// ignore validation errors in resurrected transactions
351
351
if (!fAddToMempool || (*it)->IsCoinBase () ||
352
- AcceptToMemoryPool (
353
- * this , *m_mempool, *it, true /* bypass_limits */ ).m_result_type !=
352
+ AcceptToMemoryPool (*m_mempool, * this , *it, GetTime (),
353
+ /* bypass_limits= */ true , /* test_accept= */ false ).m_result_type !=
354
354
MempoolAcceptResult::ResultType::VALID) {
355
355
// If the transaction doesn't make it in to the mempool, remove any
356
356
// transactions that depend on it (which would now be orphans).
@@ -1078,15 +1078,13 @@ PackageMempoolAcceptResult MemPoolAccept::AcceptMultipleTransactions(const std::
1078
1078
1079
1079
} // anon namespace
1080
1080
1081
- /* * (try to) add transaction to memory pool with a specified acceptance time **/
1082
- static MempoolAcceptResult AcceptToMemoryPoolWithTime (const CChainParams& chainparams, CTxMemPool& pool,
1083
- CChainState& active_chainstate,
1084
- const CTransactionRef &tx, int64_t nAcceptTime,
1085
- bool bypass_limits, bool test_accept)
1086
- EXCLUSIVE_LOCKS_REQUIRED(cs_main)
1081
+ MempoolAcceptResult AcceptToMemoryPool (CTxMemPool& pool, CChainState& active_chainstate, const CTransactionRef& tx,
1082
+ int64_t accept_time, bool bypass_limits, bool test_accept)
1083
+ EXCLUSIVE_LOCKS_REQUIRED(cs_main)
1087
1084
{
1085
+ const CChainParams& chainparams{active_chainstate.m_params };
1088
1086
std::vector<COutPoint> coins_to_uncache;
1089
- auto args = MemPoolAccept::ATMPArgs::SingleAccept (chainparams, nAcceptTime , bypass_limits, coins_to_uncache, test_accept);
1087
+ auto args = MemPoolAccept::ATMPArgs::SingleAccept (chainparams, accept_time , bypass_limits, coins_to_uncache, test_accept);
1090
1088
const MempoolAcceptResult result = MemPoolAccept (pool, active_chainstate).AcceptSingleTransaction (tx, args);
1091
1089
if (result.m_result_type != MempoolAcceptResult::ResultType::VALID) {
1092
1090
// Remove coins that were not present in the coins cache before calling
@@ -1103,12 +1101,6 @@ static MempoolAcceptResult AcceptToMemoryPoolWithTime(const CChainParams& chainp
1103
1101
return result;
1104
1102
}
1105
1103
1106
- MempoolAcceptResult AcceptToMemoryPool (CChainState& active_chainstate, CTxMemPool& pool, const CTransactionRef& tx,
1107
- bool bypass_limits, bool test_accept)
1108
- {
1109
- return AcceptToMemoryPoolWithTime (Params (), pool, active_chainstate, tx, GetTime (), bypass_limits, test_accept);
1110
- }
1111
-
1112
1104
PackageMempoolAcceptResult ProcessNewPackage (CChainState& active_chainstate, CTxMemPool& pool,
1113
1105
const Package& package, bool test_accept)
1114
1106
{
@@ -1161,8 +1153,8 @@ CChainState::CChainState(
1161
1153
ChainstateManager& chainman,
1162
1154
std::optional<uint256> from_snapshot_blockhash)
1163
1155
: m_mempool(mempool),
1164
- m_params(::Params()),
1165
1156
m_blockman(blockman),
1157
+ m_params(::Params()),
1166
1158
m_chainman(chainman),
1167
1159
m_from_snapshot_blockhash(from_snapshot_blockhash) {}
1168
1160
@@ -3500,7 +3492,7 @@ MempoolAcceptResult ChainstateManager::ProcessTransaction(const CTransactionRef&
3500
3492
state.Invalid (TxValidationResult::TX_NO_MEMPOOL, " no-mempool" );
3501
3493
return MempoolAcceptResult::Failure (state);
3502
3494
}
3503
- auto result = AcceptToMemoryPool (active_chainstate, *active_chainstate.m_mempool , tx, /* bypass_limits=*/ false , test_accept);
3495
+ auto result = AcceptToMemoryPool (*active_chainstate.m_mempool , active_chainstate, tx, GetTime (), /* bypass_limits= */ false , test_accept);
3504
3496
active_chainstate.m_mempool ->check (active_chainstate.CoinsTip (), active_chainstate.m_chain .Height () + 1 );
3505
3497
return result;
3506
3498
}
@@ -4530,7 +4522,6 @@ static const uint64_t MEMPOOL_DUMP_VERSION = 1;
4530
4522
4531
4523
bool LoadMempool (CTxMemPool& pool, CChainState& active_chainstate, FopenFn mockable_fopen_function)
4532
4524
{
4533
- const CChainParams& chainparams = Params ();
4534
4525
int64_t nExpiryTimeout = gArgs .GetIntArg (" -mempoolexpiry" , DEFAULT_MEMPOOL_EXPIRY) * 60 * 60 ;
4535
4526
FILE* filestr{mockable_fopen_function (gArgs .GetDataDirNet () / " mempool.dat" , " rb" )};
4536
4527
CAutoFile file (filestr, SER_DISK, CLIENT_VERSION);
@@ -4568,8 +4559,8 @@ bool LoadMempool(CTxMemPool& pool, CChainState& active_chainstate, FopenFn mocka
4568
4559
}
4569
4560
if (nTime > nNow - nExpiryTimeout) {
4570
4561
LOCK (cs_main);
4571
- if (AcceptToMemoryPoolWithTime (chainparams, pool, active_chainstate, tx, nTime, false /* bypass_limits */ ,
4572
- false /* test_accept */ ).m_result_type == MempoolAcceptResult::ResultType::VALID) {
4562
+ if (AcceptToMemoryPool ( pool, active_chainstate, tx, nTime, /* bypass_limits= */ false ,
4563
+ /* test_accept= */ false ).m_result_type == MempoolAcceptResult::ResultType::VALID) {
4573
4564
++count;
4574
4565
} else {
4575
4566
// mempool may contain the transaction already, e.g. from
0 commit comments