extpool

package
v0.0.0-...-f94ef0f Latest Latest
Warning

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

Go to latest
Published: Aug 16, 2023 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(common.Address) bool
	VerifyWitness(common.Address, hash.Hashable, *transaction.Witness) error
}

Ledger is enough of Blockchain to satisfy Pool.

type Pool

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

Pool represents pool of extensible payloads.

func New

func New(bc Ledger, capacity int) *Pool

New returns new payload pool using provided chain.

func (*Pool) Add

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

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

func (*Pool) Get

func (p *Pool) Get(h common.Hash) *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