extpool

package
v0.0.0-...-886a677 Latest Latest
Warning

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

Go to latest
Published: Dec 8, 2024 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Ledger

type Ledger interface {
	BlockHeight() uint32
	IsExtensibleAllowed(util.Uint160) bool
	VerifyWitness(util.Uint160, hash.Hashable, *transaction.Witness, int64) (int64, error)
}

Ledger is enough of Blockchain to satisfy Pool.

type Pool

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

Pool represents a pool of extensible payloads.

func New

func New(bc Ledger, capacity int) *Pool

New returns a new payload pool using the provided chain.

func (*Pool) Add

func (p *Pool) Add(e *payload.Extensible) (bool, error)

Add adds an extensible payload to the pool. First return value specifies if the payload was new. Second one is nil if and only if the payload is valid.

func (*Pool) Get

func (p *Pool) Get(h util.Uint256) *payload.Extensible

Get returns payload by hash.

func (*Pool) RemoveStale

func (p *Pool) RemoveStale(index uint32)

RemoveStale removes invalid payloads after block processing.

Jump to

Keyboard shortcuts

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