aboutsummaryrefslogtreecommitdiff
path: root/src/txmempool.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/txmempool.cpp')
-rw-r--r--src/txmempool.cpp15
1 files changed, 4 insertions, 11 deletions
diff --git a/src/txmempool.cpp b/src/txmempool.cpp
index f75dd7efea..f5036a9301 100644
--- a/src/txmempool.cpp
+++ b/src/txmempool.cpp
@@ -643,17 +643,6 @@ void CTxMemPool::removeConflicts(const CTransaction &tx)
void CTxMemPool::removeForBlock(const std::vector<CTransactionRef>& vtx, unsigned int nBlockHeight)
{
AssertLockHeld(cs);
- std::vector<const CTxMemPoolEntry*> entries;
- for (const auto& tx : vtx)
- {
- uint256 hash = tx->GetHash();
-
- indexed_transaction_set::iterator i = mapTx.find(hash);
- if (i != mapTx.end())
- entries.push_back(&*i);
- }
- // Before the txs in the new block have been removed from the mempool, update policy estimates
- if (minerPolicyEstimator) {minerPolicyEstimator->processBlock(nBlockHeight, entries);}
std::vector<RemovedMempoolTransactionInfo> txs_removed_for_block;
txs_removed_for_block.reserve(vtx.size());
for (const auto& tx : vtx)
@@ -668,6 +657,10 @@ void CTxMemPool::removeForBlock(const std::vector<CTransactionRef>& vtx, unsigne
removeConflicts(*tx);
ClearPrioritisation(tx->GetHash());
}
+ // Update policy estimates
+ if (minerPolicyEstimator) {
+ minerPolicyEstimator->processBlock(txs_removed_for_block, nBlockHeight);
+ }
GetMainSignals().MempoolTransactionsRemovedForBlock(txs_removed_for_block, nBlockHeight);
lastRollingFeeUpdate = GetTime();
blockSinceLastRollingFeeBump = true;