txpool

package
v0.0.0-...-e4e12f0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 12, 2022 License: LGPL-3.0 Imports: 28 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func IsBadTx

func IsBadTx(err error) bool

IsBadTx returns whether the given error indicates that tx is bad.

func IsTxRejected

func IsTxRejected(err error) bool

IsTxRejected returns whether the given error indicates tx is rejected.

Types

type Options

type Options struct {
	Limit                  int
	LimitPerAccount        int
	MaxLifetime            time.Duration
	BlocklistCacheFilePath string
	BlocklistFetchURL      string
}

Options options for tx pool.

type TxEvent

type TxEvent struct {
	Tx         *tx.Transaction
	Executable *bool
}

TxEvent will be posted when tx is added or status changed.

type TxPool

type TxPool struct {
	// contains filtered or unexported fields
}

TxPool maintains unprocessed transactions.

func New

func New(repo *chain.Repository, stater *state.Stater, options Options) *TxPool

New create a new TxPool instance. Shutdown is required to be called at end.

func (*TxPool) Add

func (p *TxPool) Add(newTx *tx.Transaction) error

Add add new tx into pool. It's not assumed as an error if the tx to be added is already in the pool,

func (*TxPool) AddLocal

func (p *TxPool) AddLocal(newTx *tx.Transaction) error

AddLocal adds new locally submitted tx into pool.

func (*TxPool) Close

func (p *TxPool) Close()

Close cleanup inner go routines.

func (*TxPool) Dump

func (p *TxPool) Dump() tx.Transactions

Dump dumps all txs in the pool.

func (*TxPool) Executables

func (p *TxPool) Executables() tx.Transactions

Executables returns executable txs.

func (*TxPool) Fill

func (p *TxPool) Fill(txs tx.Transactions, localSubmitted bool)

Fill fills txs into pool.

func (*TxPool) Get

func (p *TxPool) Get(id workshare.Bytes32) *tx.Transaction

Get get pooled tx by id.

func (*TxPool) Remove

func (p *TxPool) Remove(txHash workshare.Bytes32, txID workshare.Bytes32) bool

Remove removes tx from pool by its Hash.

func (*TxPool) StrictlyAdd

func (p *TxPool) StrictlyAdd(newTx *tx.Transaction) error

StrictlyAdd add new tx into pool. A rejection error will be returned, if tx is not executable at this time.

func (*TxPool) SubscribeTxEvent

func (p *TxPool) SubscribeTxEvent(ch chan *TxEvent) event.Subscription

SubscribeTxEvent receivers will receive a tx

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL