Run NodesReferencevmsComponentschain

blocktest

Package blocktest

import "github.com/luxfi/node/vms/components/chain/blocktest"

Functions

MakeLastAcceptedBlockF

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

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

Types

BatchedVM

BatchedVM is a test VM that supports batch operations

func (vm *BatchedVM) BatchedParseBlock(ctx context.Context, blks [][]byte) ([]consensuschain.Block, error)
func (vm *BatchedVM) GetAncestors(ctx context.Context, blkID ids.ID, maxBlocksNum int, maxBlocksSize int, maxBlocksRetrievalTime time.Duration) ([][]byte, error)
func (vm *BatchedVM) GetBlockIDAtHeight(ctx context.Context, height uint64) (ids.ID, error)

Block

Block is a test block that implements block.Block

func BuildChild(parent *Block) *Block
func (b *Block) Accept(context.Context) error
func (b *Block) Bytes() []byte
func (b *Block) Height() uint64
func (b *Block) ID() ids.ID
func (b *Block) Parent() ids.ID
func (b *Block) ParentID() ids.ID
func (b *Block) Reject(context.Context) error
func (b *Block) State() state.ReadOnlyChain
func (b *Block) Status() uint8
func (b *Block) Timestamp() time.Time
func (b *Block) Verify(context.Context) error

ChainVM

ChainVM is a type alias for VM to maintain compatibility

StateSummary

StateSummary is a test state summary that implements consensuschain.StateSummary

func (s *StateSummary) Accept(ctx context.Context) (consensuschain.StateSyncMode, error)
func (s *StateSummary) Bytes() []byte
func (s *StateSummary) Height() uint64
func (s *StateSummary) ID() ids.ID

StateSyncableVM

StateSyncableVM is a test VM that supports state sync

func (vm *StateSyncableVM) GetLastStateSummary(ctx context.Context) (consensuschain.StateSummary, error)
func (vm *StateSyncableVM) GetOngoingSyncStateSummary(ctx context.Context) (consensuschain.StateSummary, error)
func (vm *StateSyncableVM) GetStateSummary(ctx context.Context, height uint64) (consensuschain.StateSummary, error)
func (vm *StateSyncableVM) ParseStateSummary(ctx context.Context, summaryBytes []byte) (consensuschain.StateSummary, error)
func (vm *StateSyncableVM) StateSyncEnabled(ctx context.Context) (bool, error)

VM

VM is a test VM that can be used for testing

func (vm *VM) BuildBlock(ctx context.Context) (consensuschain.Block, error)
func (vm *VM) Connected(ctx context.Context, nodeID ids.NodeID, nodeVersion *consensuschain.VersionInfo) error
func (vm *VM) Disconnected(ctx context.Context, nodeID ids.NodeID) error
func (vm *VM) GetBlock(ctx context.Context, blkID ids.ID) (consensuschain.Block, error)
func (vm *VM) GetBlockIDAtHeight(ctx context.Context, height uint64) (ids.ID, error)
func (vm *VM) GetStatelessBlock(ctx context.Context, blkID ids.ID) (consensuschain.Block, error)
func (vm *VM) HealthCheck(ctx context.Context) (consensuschain.HealthResult, error)
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 *VM) LastAccepted(ctx context.Context) (ids.ID, error)
func (vm *VM) NewHTTPHandler(ctx context.Context) (http.Handler, error)
func (vm *VM) ParseBlock(ctx context.Context, blockBytes []byte) (consensuschain.Block, error)
func (vm *VM) SetPreference(ctx context.Context, blkID ids.ID) error
func (vm *VM) SetState(ctx context.Context, state uint32) error
func (vm *VM) Shutdown(ctx context.Context) error
func (vm *VM) VerifyHeightIndex(ctx context.Context) error
func (vm *VM) Version(ctx context.Context) (string, error)
func (vm *VM) WaitForEvent(ctx context.Context) (vmcore.Message, error)