kaspad/domain/miningmanager/model/interface_mempool.go
2021-05-30 18:15:05 +03:00

19 lines
915 B
Go

package model
import (
consensusexternalapi "github.com/kaspanet/kaspad/domain/consensus/model/externalapi"
)
// Mempool maintains a set of known transactions that
// are intended to be mined into new blocks
type Mempool interface {
HandleNewBlockTransactions(txs []*consensusexternalapi.DomainTransaction) ([]*consensusexternalapi.DomainTransaction, error)
BlockCandidateTransactions() []*consensusexternalapi.DomainTransaction
ValidateAndInsertTransaction(transaction *consensusexternalapi.DomainTransaction, allowOrphan bool) error
RemoveTransactions(txs []*consensusexternalapi.DomainTransaction) error
GetTransaction(transactionID *consensusexternalapi.DomainTransactionID) (*consensusexternalapi.DomainTransaction, bool)
AllTransactions() []*consensusexternalapi.DomainTransaction
TransactionCount() int
RevalidateTransaction(tx *consensusexternalapi.DomainTransaction) (isValid bool, err error)
}