Ignore transactions added to mempool during a reorg for fee estimation purposes.
This commit is contained in:
parent
04f78ab5b9
commit
bf64c3cb34
1 changed files with 6 additions and 5 deletions
|
@ -857,11 +857,12 @@ static bool AcceptToMemoryPoolWorker(const CChainParams& chainparams, CTxMemPool
|
||||||
}
|
}
|
||||||
pool.RemoveStaged(allConflicting, false, MemPoolRemovalReason::REPLACED);
|
pool.RemoveStaged(allConflicting, false, MemPoolRemovalReason::REPLACED);
|
||||||
|
|
||||||
// This transaction should only count for fee estimation if it isn't a
|
// This transaction should only count for fee estimation if:
|
||||||
// BIP 125 replacement transaction (may not be widely supported), the
|
// - it isn't a BIP 125 replacement transaction (may not be widely supported)
|
||||||
// node is not behind, and the transaction is not dependent on any other
|
// - it's not being readded during a reorg which bypasses typical mempool fee limits
|
||||||
// transactions in the mempool.
|
// - the node is not behind
|
||||||
bool validForFeeEstimation = !fReplacementTransaction && IsCurrentForFeeEstimation() && pool.HasNoInputsOf(tx);
|
// - the transaction is not dependent on any other transactions in the mempool
|
||||||
|
bool validForFeeEstimation = !fReplacementTransaction && !bypass_limits && IsCurrentForFeeEstimation() && pool.HasNoInputsOf(tx);
|
||||||
|
|
||||||
// Store transaction in memory
|
// Store transaction in memory
|
||||||
pool.addUnchecked(hash, entry, setAncestors, validForFeeEstimation);
|
pool.addUnchecked(hash, entry, setAncestors, validForFeeEstimation);
|
||||||
|
|
Loading…
Reference in a new issue