mempool: codify existing assumption about duplicate txids during removal

Also explicitly check for txid equality rather than transaction equality as the
former is a tighter constraint if witness data is included when comparing the
full transactions.

Co-authored-by: glozow <gloriajzhao@gmail.com>
This commit is contained in:
Cory Fields
2025-06-10 20:52:46 +00:00
parent e9331cd6ab
commit cbf9b2dab1

View File

@@ -652,7 +652,7 @@ void CTxMemPool::removeConflicts(const CTransaction &tx)
auto it = mapNextTx.find(txin.prevout);
if (it != mapNextTx.end()) {
const CTransaction &txConflict = *it->second;
if (txConflict != tx)
if (Assume(txConflict.GetHash() != tx.GetHash()))
{
ClearPrioritisation(txConflict.GetHash());
removeRecursive(txConflict, MemPoolRemovalReason::CONFLICT);