heads

package
v1.9.4 Latest Latest
Warning

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

Go to latest
Published: Oct 8, 2024 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ChainHeads

type ChainHeads struct {
	Unsafe         HeadPointer `json:"localUnsafe"`
	CrossUnsafe    HeadPointer `json:"crossUnsafe"`
	LocalSafe      HeadPointer `json:"localSafe"`
	CrossSafe      HeadPointer `json:"crossSafe"`
	LocalFinalized HeadPointer `json:"localFinalized"`
	CrossFinalized HeadPointer `json:"crossFinalized"`
}

ChainHeads provides the serialization format for the current chain heads.

type HeadPointer added in v1.9.4

type HeadPointer struct {
	// LastSealedBlockHash is the last fully-processed block
	LastSealedBlockHash common.Hash
	LastSealedBlockNum  uint64
	LastSealedTimestamp uint64

	// Number of logs that have been verified since the LastSealedBlock.
	// These logs are contained in the block that builds on top of the LastSealedBlock.
	LogsSince uint32
}

func (*HeadPointer) IsSealed added in v1.9.4

func (ptr *HeadPointer) IsSealed(blockNum uint64) bool

func (*HeadPointer) WithinRange added in v1.9.4

func (ptr *HeadPointer) WithinRange(blockNum uint64, logIdx uint32) bool

WithinRange checks if the given log, in the given block, is within range (i.e. before or equal to the head-pointer). This does not guarantee that the log exists.

type HeadTracker

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

HeadTracker records the current chain head pointers for a single chain.

func NewHeadTracker

func NewHeadTracker(logger log.Logger, path string) (*HeadTracker, error)

func (*HeadTracker) Apply

func (t *HeadTracker) Apply(op Operation) error

func (*HeadTracker) Close

func (t *HeadTracker) Close() error

func (*HeadTracker) CrossFinalized added in v1.9.4

func (t *HeadTracker) CrossFinalized(id types.ChainID) HeadPointer

func (*HeadTracker) CrossSafe added in v1.9.4

func (t *HeadTracker) CrossSafe(id types.ChainID) HeadPointer

func (*HeadTracker) CrossUnsafe added in v1.9.4

func (t *HeadTracker) CrossUnsafe(id types.ChainID) HeadPointer

func (*HeadTracker) Current

func (t *HeadTracker) Current() *Heads

func (*HeadTracker) LocalFinalized added in v1.9.4

func (t *HeadTracker) LocalFinalized(id types.ChainID) HeadPointer

func (*HeadTracker) LocalSafe added in v1.9.4

func (t *HeadTracker) LocalSafe(id types.ChainID) HeadPointer

func (*HeadTracker) LocalUnsafe added in v1.9.4

func (t *HeadTracker) LocalUnsafe(id types.ChainID) HeadPointer

func (*HeadTracker) UpdateCrossFinalized added in v1.9.4

func (t *HeadTracker) UpdateCrossFinalized(id types.ChainID, pointer HeadPointer) error

func (*HeadTracker) UpdateCrossSafe added in v1.9.4

func (t *HeadTracker) UpdateCrossSafe(id types.ChainID, pointer HeadPointer) error

func (*HeadTracker) UpdateCrossUnsafe added in v1.9.4

func (t *HeadTracker) UpdateCrossUnsafe(id types.ChainID, pointer HeadPointer) error

func (*HeadTracker) UpdateLocalFinalized added in v1.9.4

func (t *HeadTracker) UpdateLocalFinalized(id types.ChainID, pointer HeadPointer) error

func (*HeadTracker) UpdateLocalSafe added in v1.9.4

func (t *HeadTracker) UpdateLocalSafe(id types.ChainID, pointer HeadPointer) error

func (*HeadTracker) UpdateLocalUnsafe added in v1.9.4

func (t *HeadTracker) UpdateLocalUnsafe(id types.ChainID, pointer HeadPointer) error

type Heads

type Heads struct {
	Chains map[types.ChainID]ChainHeads
}

func NewHeads

func NewHeads() *Heads

func (*Heads) Copy

func (h *Heads) Copy() *Heads

func (*Heads) Get

func (h *Heads) Get(id types.ChainID) ChainHeads

func (*Heads) MarshalJSON

func (h *Heads) MarshalJSON() ([]byte, error)

func (*Heads) Put

func (h *Heads) Put(id types.ChainID, head ChainHeads)

func (*Heads) UnmarshalJSON

func (h *Heads) UnmarshalJSON(data []byte) error

type Operation

type Operation interface {
	Apply(head *Heads) error
}

type OperationFn

type OperationFn func(heads *Heads) error

func (OperationFn) Apply

func (f OperationFn) Apply(heads *Heads) error

Jump to

Keyboard shortcuts

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