mirror of
https://github.com/kaspanet/kaspad.git
synced 2025-05-20 13:56:45 +00:00

* fix mempool accessing, rewrite get_mempool_entries_by_addresses * fix counter, add verbose * fmt * addresses as string * Define error in case utxoEntry is missing. * fix error variable to string * stop tests from failing (see in code comment) * access both pools in the same state via parameters * get rid of todo message * fmt - very important! * perf: scriptpublickey in mempool, no txscript. * address reveiw * fmt fix * mixed up isorphan bool, pass tests now * do map preallocation in mempoolbyaddresses * no proallocation for orphanpool sending. Co-authored-by: Ori Newman <orinewman1@gmail.com>
43 lines
1.7 KiB
Go
43 lines
1.7 KiB
Go
package model
|
|
|
|
import (
|
|
"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 []*externalapi.DomainTransaction) ([]*externalapi.DomainTransaction, error)
|
|
BlockCandidateTransactions() []*externalapi.DomainTransaction
|
|
ValidateAndInsertTransaction(transaction *externalapi.DomainTransaction, isHighPriority bool, allowOrphan bool) (
|
|
acceptedTransactions []*externalapi.DomainTransaction, err error)
|
|
RemoveTransactions(txs []*externalapi.DomainTransaction, removeRedeemers bool) error
|
|
GetTransaction(
|
|
transactionID *externalapi.DomainTransactionID,
|
|
includeTransactionPool bool,
|
|
includeOrphanPool bool,
|
|
) (
|
|
transactionPoolTransaction *externalapi.DomainTransaction,
|
|
isOrphan bool,
|
|
found bool)
|
|
GetTransactionsByAddresses(
|
|
includeTransactionPool bool,
|
|
includeOrphanPool bool) (
|
|
sendingInTransactionPool map[string]*externalapi.DomainTransaction,
|
|
receivingInTransactionPool map[string]*externalapi.DomainTransaction,
|
|
sendingInOrphanPool map[string]*externalapi.DomainTransaction,
|
|
receivingInOrphanPool map[string]*externalapi.DomainTransaction,
|
|
err error)
|
|
AllTransactions(
|
|
includeTransactionPool bool,
|
|
includeOrphanPool bool,
|
|
) (
|
|
transactionPoolTransactions []*externalapi.DomainTransaction,
|
|
orphanPoolTransactions []*externalapi.DomainTransaction)
|
|
TransactionCount(
|
|
includeTransactionPool bool,
|
|
includeOrphanPool bool) int
|
|
RevalidateHighPriorityTransactions() (validTransactions []*externalapi.DomainTransaction, err error)
|
|
IsTransactionOutputDust(output *externalapi.DomainTransactionOutput) bool
|
|
}
|