Help us shape the future of Go! Take the 2026 Go Developer Survey

blocktest

package
v1.36.184 Latest Latest
Warning

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

Go to latest
Published: Sep 3, 2026 License: BSD-3-Clause Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Unknown    uint8 = 0
	Processing uint8 = 1
	Rejected   uint8 = 2
	Accepted   uint8 = 3
)

Status constants

Variables

View Source
var (
	GenesisID        = ids.GenerateTestID()
	GenesisHeight    = uint64(0)
	GenesisTimestamp = time.Unix(1, 0)
	GenesisBytes     = []byte("genesis")
)
View Source
var Genesis = &Block{
	IDV:        GenesisID,
	HeightV:    GenesisHeight,
	TimestampV: GenesisTimestamp,
	ParentV:    ids.Empty,
	BytesV:     GenesisBytes,
	StatusV:    Accepted,
}

Functions

func MakeLastAcceptedBlockF added in v1.16.56

func MakeLastAcceptedBlockF(blocks []*Block) func(context.Context) (ids.ID, error)

MakeLastAcceptedBlockF creates a LastAcceptedF function that returns the last block in the chain

Types

type BatchedVM added in v1.16.16

type BatchedVM struct {
	T *testing.T

	GetAncestorsF       func(context.Context, ids.ID, int, int, time.Duration) ([][]byte, error)
	BatchedParseBlockF  func(context.Context, [][]byte) ([]consensuschain.Block, error)
	GetBlockIDAtHeightF func(context.Context, uint64) (ids.ID, error)
}

BatchedVM is a test VM that supports batch operations

func (*BatchedVM) BatchedParseBlock added in v1.16.16

func (vm *BatchedVM) BatchedParseBlock(ctx context.Context, blks [][]byte) ([]consensuschain.Block, error)

func (*BatchedVM) GetAncestors added in v1.16.16

func (vm *BatchedVM) GetAncestors(ctx context.Context, blkID ids.ID, maxBlocksNum int, maxBlocksSize int, maxBlocksRetrievalTime time.Duration) ([][]byte, error)

func (*BatchedVM) GetBlockIDAtHeight added in v1.16.16

func (vm *BatchedVM) GetBlockIDAtHeight(ctx context.Context, height uint64) (ids.ID, error)

type Block

type Block struct {
	IDV        ids.ID
	HeightV    uint64
	TimestampV time.Time
	ParentV    ids.ID
	BytesV     []byte
	StatusV    uint8
	ErrV       error
	// contains filtered or unexported fields
}

Block is a test block that implements block.Block

func BuildChild

func BuildChild(parent *Block) *Block

BuildChild creates a child block of the given parent

func (*Block) Accept

func (b *Block) Accept(context.Context) error

func (*Block) Bytes

func (b *Block) Bytes() []byte

func (*Block) Height

func (b *Block) Height() uint64

func (*Block) ID

func (b *Block) ID() ids.ID

func (*Block) Parent

func (b *Block) Parent() ids.ID

func (*Block) ParentID added in v1.16.16

func (b *Block) ParentID() ids.ID

func (*Block) Reject

func (b *Block) Reject(context.Context) error

func (*Block) State

func (b *Block) State() state.ReadOnlyChain

func (*Block) Status

func (b *Block) Status() uint8

func (*Block) Timestamp

func (b *Block) Timestamp() time.Time

func (*Block) Verify

func (b *Block) Verify(context.Context) error

type ChainVM added in v1.16.56

type ChainVM = VM

ChainVM is a type alias for VM to maintain compatibility

type StateSummary added in v1.16.56

type StateSummary struct {
	IDV     ids.ID
	HeightV uint64
	BytesV  []byte
	AcceptF func(context.Context) (consensuschain.StateSyncMode, error)
}

StateSummary is a test state summary that implements consensuschain.StateSummary

func (*StateSummary) Accept added in v1.16.56

func (*StateSummary) Bytes added in v1.16.56

func (s *StateSummary) Bytes() []byte

func (*StateSummary) Height added in v1.16.56

func (s *StateSummary) Height() uint64

func (*StateSummary) ID added in v1.16.56

func (s *StateSummary) ID() ids.ID

type StateSyncableVM added in v1.16.16

type StateSyncableVM struct {
	T *testing.T

	StateSyncEnabledF           func(context.Context) (bool, error)
	GetOngoingSyncStateSummaryF func(context.Context) (consensuschain.StateSummary, error)
	GetLastStateSummaryF        func(context.Context) (consensuschain.StateSummary, error)
	ParseStateSummaryF          func(context.Context, []byte) (consensuschain.StateSummary, error)
	GetStateSummaryF            func(context.Context, uint64) (consensuschain.StateSummary, error)
}

StateSyncableVM is a test VM that supports state sync

func (*StateSyncableVM) GetLastStateSummary added in v1.16.16

func (vm *StateSyncableVM) GetLastStateSummary(ctx context.Context) (consensuschain.StateSummary, error)

func (*StateSyncableVM) GetOngoingSyncStateSummary added in v1.16.16

func (vm *StateSyncableVM) GetOngoingSyncStateSummary(ctx context.Context) (consensuschain.StateSummary, error)

func (*StateSyncableVM) GetStateSummary added in v1.16.16

func (vm *StateSyncableVM) GetStateSummary(ctx context.Context, height uint64) (consensuschain.StateSummary, error)

func (*StateSyncableVM) ParseStateSummary added in v1.16.16

func (vm *StateSyncableVM) ParseStateSummary(ctx context.Context, summaryBytes []byte) (consensuschain.StateSummary, error)

func (*StateSyncableVM) StateSyncEnabled added in v1.16.16

func (vm *StateSyncableVM) StateSyncEnabled(ctx context.Context) (bool, error)

type VM added in v1.16.16

type VM struct {
	T *testing.T

	InitializeF         func(context.Context, interface{}, interface{}, []byte, []byte, []byte, interface{}, []interface{}, interface{}) error
	BuildBlockF         func(context.Context) (consensuschain.Block, error)
	ParseBlockF         func(context.Context, []byte) (consensuschain.Block, error)
	GetBlockF           func(context.Context, ids.ID) (consensuschain.Block, error)
	LastAcceptedF       func(context.Context) (ids.ID, error)
	SetPreferenceF      func(context.Context, ids.ID) error
	SetStateF           func(context.Context, uint32) error
	VerifyHeightIndexF  func(context.Context) error
	GetBlockIDAtHeightF func(context.Context, uint64) (ids.ID, error)
	GetStatelessBlockF  func(context.Context, ids.ID) (consensuschain.Block, error)
}

VM is a test VM that can be used for testing

func (*VM) BuildBlock added in v1.16.16

func (vm *VM) BuildBlock(ctx context.Context) (consensuschain.Block, error)

func (*VM) Connected added in v1.16.56

func (vm *VM) Connected(ctx context.Context, nodeID ids.NodeID, nodeVersion *consensuschain.VersionInfo) error

Connected is called when the node connects to a peer

func (*VM) Disconnected added in v1.16.56

func (vm *VM) Disconnected(ctx context.Context, nodeID ids.NodeID) error

Disconnected is called when the node disconnects from a peer

func (*VM) GetBlock added in v1.16.16

func (vm *VM) GetBlock(ctx context.Context, blkID ids.ID) (consensuschain.Block, error)

func (*VM) GetBlockIDAtHeight added in v1.16.16

func (vm *VM) GetBlockIDAtHeight(ctx context.Context, height uint64) (ids.ID, error)

func (*VM) GetStatelessBlock added in v1.16.16

func (vm *VM) GetStatelessBlock(ctx context.Context, blkID ids.ID) (consensuschain.Block, error)

func (*VM) HealthCheck added in v1.16.56

func (vm *VM) HealthCheck(ctx context.Context) (consensuschain.HealthResult, error)

HealthCheck returns the health status of the VM

func (*VM) Initialize added in v1.16.16

func (vm *VM) Initialize(ctx context.Context, chainRuntime interface{}, db interface{}, genesisBytes []byte, upgradeBytes []byte, configBytes []byte, msgSender interface{}, validators []interface{}, registry interface{}) error

func (*VM) LastAccepted added in v1.16.16

func (vm *VM) LastAccepted(ctx context.Context) (ids.ID, error)

func (*VM) NewHTTPHandler added in v1.16.56

func (vm *VM) NewHTTPHandler(ctx context.Context) (http.Handler, error)

NewHTTPHandler returns an HTTP handler for the VM

func (*VM) ParseBlock added in v1.16.16

func (vm *VM) ParseBlock(ctx context.Context, blockBytes []byte) (consensuschain.Block, error)

func (*VM) SetPreference added in v1.16.16

func (vm *VM) SetPreference(ctx context.Context, blkID ids.ID) error

func (*VM) SetState added in v1.16.16

func (vm *VM) SetState(ctx context.Context, state uint32) error

func (*VM) Shutdown added in v1.16.56

func (vm *VM) Shutdown(ctx context.Context) error

Shutdown shuts down the VM

func (*VM) VerifyHeightIndex added in v1.16.16

func (vm *VM) VerifyHeightIndex(ctx context.Context) error

func (*VM) Version added in v1.16.56

func (vm *VM) Version(ctx context.Context) (string, error)

Version returns the version of the VM

func (*VM) WaitForEvent added in v1.16.56

func (vm *VM) WaitForEvent(ctx context.Context) (vmcore.Message, error)

WaitForEvent waits for an event from the VM

Jump to

Keyboard shortcuts

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