chain

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Apr 15, 2025 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ChainUpdateEventType = "chain.update"
)

Variables

View Source
var (
	ErrBlockNotFound                = errors.New("block not found")
	ErrRollbackBeyondEphemeralChain = errors.New("cannot rollback ephemeral chain beyond memory buffer")
	ErrIteratorChainTip             = errors.New("chain iterator is at chain tip")
)

Functions

This section is empty.

Types

type BlockNotFitChainTipError added in v0.4.6

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

func NewBlockNotFitChainTipError added in v0.4.6

func NewBlockNotFitChainTipError(
	blockHash string,
	blockPrevHash string,
	tipHash string,
) BlockNotFitChainTipError

func (BlockNotFitChainTipError) Error added in v0.4.6

func (e BlockNotFitChainTipError) Error() string

type BlockNotMatchHeaderError added in v0.4.6

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

func NewBlockNotMatchHeaderError added in v0.4.6

func NewBlockNotMatchHeaderError(
	blockHash string,
	headerHash string,
) BlockNotMatchHeaderError

func (BlockNotMatchHeaderError) Error added in v0.4.6

func (e BlockNotMatchHeaderError) Error() string

type Chain

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

func NewChain

func NewChain(
	db *database.Database,
	eventBus *event.EventBus,
	persistent bool,
) (*Chain, error)

func (*Chain) AddBlock

func (c *Chain) AddBlock(block ledger.Block, blockNonce []byte, txn *database.Txn) error

func (*Chain) AddBlockHeader added in v0.4.6

func (c *Chain) AddBlockHeader(header ledger.BlockHeader) error

func (*Chain) AddBlocks added in v0.5.0

func (c *Chain) AddBlocks(blocks []ledger.Block) error

func (*Chain) BlockByPoint added in v0.4.6

func (c *Chain) BlockByPoint(point ocommon.Point, txn *database.Txn) (database.Block, error)

func (*Chain) FromPoint

func (c *Chain) FromPoint(point ocommon.Point, inclusive bool) (*ChainIterator, error)

FromPoint returns a ChainIterator starting at the specified point. If inclusive is true, the iterator will start at the specified point. Otherwise it will start at the point following the specified point

func (*Chain) HeaderCount added in v0.4.6

func (c *Chain) HeaderCount() int

func (*Chain) HeaderRange added in v0.4.6

func (c *Chain) HeaderRange(count int) (ocommon.Point, ocommon.Point)

func (*Chain) HeaderTip added in v0.4.6

func (c *Chain) HeaderTip() ochainsync.Tip

func (*Chain) Rollback

func (c *Chain) Rollback(point ocommon.Point) error

func (*Chain) Tip

func (c *Chain) Tip() ochainsync.Tip

type ChainBlockEvent

type ChainBlockEvent struct {
	Point ocommon.Point
	Block database.Block
}

type ChainIterator

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

func (*ChainIterator) Next

func (ci *ChainIterator) Next(blocking bool) (*ChainIteratorResult, error)

type ChainIteratorResult

type ChainIteratorResult struct {
	Point    ocommon.Point
	Block    database.Block
	Rollback bool
}

type ChainRollbackEvent

type ChainRollbackEvent struct {
	Point ocommon.Point
}

Jump to

Keyboard shortcuts

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