From a15448186023334ce3d794942a62e0ffc3d51e5a Mon Sep 17 00:00:00 2001 From: Roman Khimov Date: Mon, 12 Oct 2020 14:58:40 +0300 Subject: [PATCH] core: drop stale transactions from the mempool They're no longer valid if `ValidUntilBlock == curheight`. --- pkg/core/blockchain.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkg/core/blockchain.go b/pkg/core/blockchain.go index 21d308e20..84ddf03fa 100644 --- a/pkg/core/blockchain.go +++ b/pkg/core/blockchain.go @@ -1305,7 +1305,11 @@ func (bc *Blockchain) verifyTxAttributes(tx *transaction.Transaction) error { // correctness, presence in blocks before the new one, etc. func (bc *Blockchain) isTxStillRelevant(t *transaction.Transaction, txpool *mempool.Pool) bool { var recheckWitness bool + var curheight = bc.BlockHeight() + if t.ValidUntilBlock <= curheight { + return false + } if txpool == nil { if bc.dao.HasTransaction(t.Hash()) { return false