From d3627de7f8e6c37b46e39b73ea3791f776a164cb Mon Sep 17 00:00:00 2001 From: Ori Newman Date: Mon, 25 Sep 2023 05:26:53 +0300 Subject: [PATCH] Fix fee --- domain/miningmanager/mempool/mempool.go | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/domain/miningmanager/mempool/mempool.go b/domain/miningmanager/mempool/mempool.go index bf5390cb2..8410b9158 100644 --- a/domain/miningmanager/mempool/mempool.go +++ b/domain/miningmanager/mempool/mempool.go @@ -148,12 +148,13 @@ func (mp *mempool) BlockCandidateTransactions() []*externalapi.DomainTransaction var spamTx *externalapi.DomainTransaction var spamTxNewestUTXODaaScore uint64 for _, tx := range readyTxs { - if len(tx.Outputs) > len(tx.Inputs)+2 && tx.Fee < constants.SompiPerKaspa { - log.Debugf("Filtered spam tx %s", consensushashing.TransactionID(tx)) - continue - } - if len(tx.Outputs) > len(tx.Inputs) { + numExtraOuts := len(tx.Outputs) - len(tx.Inputs) + if numExtraOuts > 2 && tx.Fee < uint64(numExtraOuts)*constants.SompiPerKaspa { + log.Debugf("Filtered spam tx %s", consensushashing.TransactionID(tx)) + continue + } + hasCoinbaseInput := false for _, input := range tx.Inputs { if input.UTXOEntry.IsCoinbase() { @@ -162,7 +163,7 @@ func (mp *mempool) BlockCandidateTransactions() []*externalapi.DomainTransaction } } - if hasCoinbaseInput || tx.Fee > constants.SompiPerKaspa { + if hasCoinbaseInput || tx.Fee > uint64(numExtraOuts)*constants.SompiPerKaspa { candidateTxs = append(candidateTxs, tx) } else { if spamTx != nil {