diff --git a/src/txmempool.cpp b/src/txmempool.cpp index ba1bdb197ba..26cb2ff4b42 100644 --- a/src/txmempool.cpp +++ b/src/txmempool.cpp @@ -639,10 +639,7 @@ void CTxMemPool::removeForReorg(CChain& chain, std::function check } RemoveStaged(setAllRemoves, false, MemPoolRemovalReason::REORG); for (indexed_transaction_set::const_iterator it = mapTx.begin(); it != mapTx.end(); it++) { - const LockPoints lp{it->GetLockPoints()}; - if (!TestLockPointValidity(chain, lp)) { - mapTx.modify(it, update_lock_points(lp)); - } + assert(TestLockPointValidity(chain, it->GetLockPoints())); } } diff --git a/src/validation.cpp b/src/validation.cpp index 203bd576765..68729e48637 100644 --- a/src/validation.cpp +++ b/src/validation.cpp @@ -378,6 +378,8 @@ void CChainState::MaybeUpdateMempoolForReorg( } } } + // CheckSequenceLocks updates lp. Update the mempool entry LockPoints. + if (!validLP) m_mempool->mapTx.modify(it, update_lock_points(lp)); return should_remove; };