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

vertex

package
v1.20.1 Latest Latest
Warning

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

Go to latest
Published: Oct 29, 2025 License: BSD-3-Clause Imports: 25 Imported by: 0

Documentation

Overview

Package vertex is a generated GoMock package.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Builder

type Builder interface {
	// Build a new stop vertex from the parents
	BuildStopVtx(ctx context.Context, parentIDs []ids.ID) (lux.Vertex, error)
}

Builder builds a vertex given a set of parentIDs and transactions.

type DAGVM

type DAGVM interface {
	block.ChainVM

	// Convert a stream of bytes to a transaction or return an error
	ParseTx(ctx context.Context, txBytes []byte) (snowstorm.Tx, error)
}

DAGVM defines the minimum functionality that an lux VM must implement

type LinearizableVM

type LinearizableVM interface {
	DAGVM

	// Linearize is called after [Initialize] and after the DAG has been
	// finalized. After Linearize is called:
	//
	// - PendingTxs will never be called again
	// - GetTx will never be called again
	// - ParseTx may still be called
	// - All the block based functions of the [block.ChainVM] must work as
	//   expected.
	//
	// Linearize is part of the VM initialization, and will be called at most
	// once per VM instantiation. This means that Linearize should be called
	// every time the chain restarts after the DAG has finalized.
	Linearize(ctx context.Context, stopVertexID ids.ID) error
}

type LinearizableVMWithEngine

type LinearizableVMWithEngine interface {
	DAGVM

	// Linearize is called after [Initialize] and after the DAG has been
	// finalized. After Linearize is called:
	//
	// - PendingTxs will never be called again
	// - GetTx will never be called again
	// - ParseTx may still be called
	// - All the block based functions of the [block.ChainVM] must work as
	//   expected.
	//
	// Linearize is part of the VM initialization, and will be called at most
	// once per VM instantiation. This means that Linearize should be called
	// every time the chain restarts after the DAG has finalized.
	Linearize(
		ctx context.Context,
		stopVertexID ids.ID,
		toEngine chan<- common.Message,
	) error
}

type Manager

type Manager interface {
	Builder
	Parser
	Storage
}

Manager defines all the vertex related functionality that is required by the consensus engine.

type MockLinearizableVM

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

MockLinearizableVM is a mock of LinearizableVM interface.

func NewMockLinearizableVM

func NewMockLinearizableVM(ctrl *gomock.Controller) *MockLinearizableVM

NewMockLinearizableVM creates a new mock instance.

func (*MockLinearizableVM) AppGossip

func (m *MockLinearizableVM) AppGossip(arg0 context.Context, arg1 ids.NodeID, arg2 []byte) error

AppGossip mocks base method.

func (*MockLinearizableVM) AppRequest

func (m *MockLinearizableVM) AppRequest(arg0 context.Context, arg1 ids.NodeID, arg2 uint32, arg3 time.Time, arg4 []byte) error

AppRequest mocks base method.

func (*MockLinearizableVM) AppRequestFailed

func (m *MockLinearizableVM) AppRequestFailed(arg0 context.Context, arg1 ids.NodeID, arg2 uint32) error

AppRequestFailed mocks base method.

func (*MockLinearizableVM) AppResponse

func (m *MockLinearizableVM) AppResponse(arg0 context.Context, arg1 ids.NodeID, arg2 uint32, arg3 []byte) error

AppResponse mocks base method.

func (*MockLinearizableVM) BuildBlock

func (m *MockLinearizableVM) BuildBlock(arg0 context.Context) (snowman.Block, error)

BuildBlock mocks base method.

func (*MockLinearizableVM) Connected

func (m *MockLinearizableVM) Connected(arg0 context.Context, arg1 ids.NodeID, arg2 *version.Application) error

Connected mocks base method.

func (*MockLinearizableVM) CreateHandlers

func (m *MockLinearizableVM) CreateHandlers(arg0 context.Context) (map[string]http.Handler, error)

CreateHandlers mocks base method.

func (*MockLinearizableVM) CreateStaticHandlers

func (m *MockLinearizableVM) CreateStaticHandlers(arg0 context.Context) (map[string]http.Handler, error)

CreateStaticHandlers mocks base method.

func (*MockLinearizableVM) CrossChainAppRequest

func (m *MockLinearizableVM) CrossChainAppRequest(arg0 context.Context, arg1 ids.ID, arg2 uint32, arg3 time.Time, arg4 []byte) error

CrossChainAppRequest mocks base method.

func (*MockLinearizableVM) CrossChainAppRequestFailed

func (m *MockLinearizableVM) CrossChainAppRequestFailed(arg0 context.Context, arg1 ids.ID, arg2 uint32) error

CrossChainAppRequestFailed mocks base method.

func (*MockLinearizableVM) CrossChainAppResponse

func (m *MockLinearizableVM) CrossChainAppResponse(arg0 context.Context, arg1 ids.ID, arg2 uint32, arg3 []byte) error

CrossChainAppResponse mocks base method.

func (*MockLinearizableVM) Disconnected

func (m *MockLinearizableVM) Disconnected(arg0 context.Context, arg1 ids.NodeID) error

Disconnected mocks base method.

func (*MockLinearizableVM) EXPECT

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockLinearizableVM) GetBlock

func (m *MockLinearizableVM) GetBlock(arg0 context.Context, arg1 ids.ID) (snowman.Block, error)

GetBlock mocks base method.

func (*MockLinearizableVM) GetBlockIDAtHeight

func (m *MockLinearizableVM) GetBlockIDAtHeight(arg0 context.Context, arg1 uint64) (ids.ID, error)

GetBlockIDAtHeight mocks base method.

func (*MockLinearizableVM) HealthCheck

func (m *MockLinearizableVM) HealthCheck(arg0 context.Context) (interface{}, error)

HealthCheck mocks base method.

func (*MockLinearizableVM) Initialize

func (m *MockLinearizableVM) Initialize(arg0 context.Context, arg1 *snow.Context, arg2 database.Database, arg3, arg4, arg5 []byte, arg6 chan<- common.Message, arg7 []*common.Fx, arg8 common.AppSender) error

Initialize mocks base method.

func (*MockLinearizableVM) LastAccepted

func (m *MockLinearizableVM) LastAccepted(arg0 context.Context) (ids.ID, error)

LastAccepted mocks base method.

func (*MockLinearizableVM) Linearize

func (m *MockLinearizableVM) Linearize(arg0 context.Context, arg1 ids.ID) error

Linearize mocks base method.

func (*MockLinearizableVM) ParseBlock

func (m *MockLinearizableVM) ParseBlock(arg0 context.Context, arg1 []byte) (snowman.Block, error)

ParseBlock mocks base method.

func (*MockLinearizableVM) ParseTx

func (m *MockLinearizableVM) ParseTx(arg0 context.Context, arg1 []byte) (snowstorm.Tx, error)

ParseTx mocks base method.

func (*MockLinearizableVM) SetPreference

func (m *MockLinearizableVM) SetPreference(arg0 context.Context, arg1 ids.ID) error

SetPreference mocks base method.

func (*MockLinearizableVM) SetState

func (m *MockLinearizableVM) SetState(arg0 context.Context, arg1 snow.State) error

SetState mocks base method.

func (*MockLinearizableVM) Shutdown

func (m *MockLinearizableVM) Shutdown(arg0 context.Context) error

Shutdown mocks base method.

func (*MockLinearizableVM) VerifyHeightIndex

func (m *MockLinearizableVM) VerifyHeightIndex(arg0 context.Context) error

VerifyHeightIndex mocks base method.

func (*MockLinearizableVM) Version

func (m *MockLinearizableVM) Version(arg0 context.Context) (string, error)

Version mocks base method.

type MockLinearizableVMMockRecorder

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

MockLinearizableVMMockRecorder is the mock recorder for MockLinearizableVM.

func (*MockLinearizableVMMockRecorder) AppGossip

func (mr *MockLinearizableVMMockRecorder) AppGossip(arg0, arg1, arg2 interface{}) *gomock.Call

AppGossip indicates an expected call of AppGossip.

func (*MockLinearizableVMMockRecorder) AppRequest

func (mr *MockLinearizableVMMockRecorder) AppRequest(arg0, arg1, arg2, arg3, arg4 interface{}) *gomock.Call

AppRequest indicates an expected call of AppRequest.

func (*MockLinearizableVMMockRecorder) AppRequestFailed

func (mr *MockLinearizableVMMockRecorder) AppRequestFailed(arg0, arg1, arg2 interface{}) *gomock.Call

AppRequestFailed indicates an expected call of AppRequestFailed.

func (*MockLinearizableVMMockRecorder) AppResponse

func (mr *MockLinearizableVMMockRecorder) AppResponse(arg0, arg1, arg2, arg3 interface{}) *gomock.Call

AppResponse indicates an expected call of AppResponse.

func (*MockLinearizableVMMockRecorder) BuildBlock

func (mr *MockLinearizableVMMockRecorder) BuildBlock(arg0 interface{}) *gomock.Call

BuildBlock indicates an expected call of BuildBlock.

func (*MockLinearizableVMMockRecorder) Connected

func (mr *MockLinearizableVMMockRecorder) Connected(arg0, arg1, arg2 interface{}) *gomock.Call

Connected indicates an expected call of Connected.

func (*MockLinearizableVMMockRecorder) CreateHandlers

func (mr *MockLinearizableVMMockRecorder) CreateHandlers(arg0 interface{}) *gomock.Call

CreateHandlers indicates an expected call of CreateHandlers.

func (*MockLinearizableVMMockRecorder) CreateStaticHandlers

func (mr *MockLinearizableVMMockRecorder) CreateStaticHandlers(arg0 interface{}) *gomock.Call

CreateStaticHandlers indicates an expected call of CreateStaticHandlers.

func (*MockLinearizableVMMockRecorder) CrossChainAppRequest

func (mr *MockLinearizableVMMockRecorder) CrossChainAppRequest(arg0, arg1, arg2, arg3, arg4 interface{}) *gomock.Call

CrossChainAppRequest indicates an expected call of CrossChainAppRequest.

func (*MockLinearizableVMMockRecorder) CrossChainAppRequestFailed

func (mr *MockLinearizableVMMockRecorder) CrossChainAppRequestFailed(arg0, arg1, arg2 interface{}) *gomock.Call

CrossChainAppRequestFailed indicates an expected call of CrossChainAppRequestFailed.

func (*MockLinearizableVMMockRecorder) CrossChainAppResponse

func (mr *MockLinearizableVMMockRecorder) CrossChainAppResponse(arg0, arg1, arg2, arg3 interface{}) *gomock.Call

CrossChainAppResponse indicates an expected call of CrossChainAppResponse.

func (*MockLinearizableVMMockRecorder) Disconnected

func (mr *MockLinearizableVMMockRecorder) Disconnected(arg0, arg1 interface{}) *gomock.Call

Disconnected indicates an expected call of Disconnected.

func (*MockLinearizableVMMockRecorder) GetBlock

func (mr *MockLinearizableVMMockRecorder) GetBlock(arg0, arg1 interface{}) *gomock.Call

GetBlock indicates an expected call of GetBlock.

func (*MockLinearizableVMMockRecorder) GetBlockIDAtHeight

func (mr *MockLinearizableVMMockRecorder) GetBlockIDAtHeight(arg0, arg1 interface{}) *gomock.Call

GetBlockIDAtHeight indicates an expected call of GetBlockIDAtHeight.

func (*MockLinearizableVMMockRecorder) HealthCheck

func (mr *MockLinearizableVMMockRecorder) HealthCheck(arg0 interface{}) *gomock.Call

HealthCheck indicates an expected call of HealthCheck.

func (*MockLinearizableVMMockRecorder) Initialize

func (mr *MockLinearizableVMMockRecorder) Initialize(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8 interface{}) *gomock.Call

Initialize indicates an expected call of Initialize.

func (*MockLinearizableVMMockRecorder) LastAccepted

func (mr *MockLinearizableVMMockRecorder) LastAccepted(arg0 interface{}) *gomock.Call

LastAccepted indicates an expected call of LastAccepted.

func (*MockLinearizableVMMockRecorder) Linearize

func (mr *MockLinearizableVMMockRecorder) Linearize(arg0, arg1 interface{}) *gomock.Call

Linearize indicates an expected call of Linearize.

func (*MockLinearizableVMMockRecorder) ParseBlock

func (mr *MockLinearizableVMMockRecorder) ParseBlock(arg0, arg1 interface{}) *gomock.Call

ParseBlock indicates an expected call of ParseBlock.

func (*MockLinearizableVMMockRecorder) ParseTx

func (mr *MockLinearizableVMMockRecorder) ParseTx(arg0, arg1 interface{}) *gomock.Call

ParseTx indicates an expected call of ParseTx.

func (*MockLinearizableVMMockRecorder) SetPreference

func (mr *MockLinearizableVMMockRecorder) SetPreference(arg0, arg1 interface{}) *gomock.Call

SetPreference indicates an expected call of SetPreference.

func (*MockLinearizableVMMockRecorder) SetState

func (mr *MockLinearizableVMMockRecorder) SetState(arg0, arg1 interface{}) *gomock.Call

SetState indicates an expected call of SetState.

func (*MockLinearizableVMMockRecorder) Shutdown

func (mr *MockLinearizableVMMockRecorder) Shutdown(arg0 interface{}) *gomock.Call

Shutdown indicates an expected call of Shutdown.

func (*MockLinearizableVMMockRecorder) VerifyHeightIndex

func (mr *MockLinearizableVMMockRecorder) VerifyHeightIndex(arg0 interface{}) *gomock.Call

VerifyHeightIndex indicates an expected call of VerifyHeightIndex.

func (*MockLinearizableVMMockRecorder) Version

func (mr *MockLinearizableVMMockRecorder) Version(arg0 interface{}) *gomock.Call

Version indicates an expected call of Version.

type Parser

type Parser interface {
	// Parse a vertex from a slice of bytes
	ParseVtx(ctx context.Context, vertex []byte) (lux.Vertex, error)
}

Parser parses bytes into a vertex.

type StatelessVertex

type StatelessVertex interface {
	verify.Verifiable
	ID() ids.ID
	Bytes() []byte
	Version() uint16
	ChainID() ids.ID
	StopVertex() bool
	Height() uint64
	Epoch() uint32
	ParentIDs() []ids.ID
	Txs() [][]byte
}

func Build

func Build(
	chainID ids.ID,
	height uint64,
	parentIDs []ids.ID,
	txs [][]byte,
) (StatelessVertex, error)

Build a new stateless vertex from the contents of a vertex

func BuildStopVertex

func BuildStopVertex(chainID ids.ID, height uint64, parentIDs []ids.ID) (StatelessVertex, error)

Build a new stateless vertex from the contents of a vertex

func Parse

func Parse(bytes []byte) (StatelessVertex, error)

Parse parses the provided vertex bytes into a stateless vertex

type Storage

type Storage interface {
	// Get a vertex by its hash from storage.
	GetVtx(ctx context.Context, vtxID ids.ID) (lux.Vertex, error)
	// Edge returns a list of accepted vertex IDs with no accepted children.
	Edge(ctx context.Context) (vtxIDs []ids.ID)
	// Returns "true" if accepted frontier ("Edge") is stop vertex.
	StopVertexAccepted(ctx context.Context) (bool, error)
}

Storage defines the persistent storage that is required by the consensus engine.

type TestBuilder

type TestBuilder struct {
	T             *testing.T
	CantBuildVtx  bool
	BuildStopVtxF func(ctx context.Context, parentIDs []ids.ID) (lux.Vertex, error)
}

func (*TestBuilder) BuildStopVtx

func (b *TestBuilder) BuildStopVtx(ctx context.Context, parentIDs []ids.ID) (lux.Vertex, error)

func (*TestBuilder) Default

func (b *TestBuilder) Default(cant bool)

type TestManager

type TestManager struct {
	TestBuilder
	TestParser
	TestStorage
}

func NewTestManager

func NewTestManager(t *testing.T) *TestManager

func (*TestManager) Default

func (m *TestManager) Default(cant bool)

type TestParser

type TestParser struct {
	T            *testing.T
	CantParseVtx bool
	ParseVtxF    func(context.Context, []byte) (lux.Vertex, error)
}

func (*TestParser) Default

func (p *TestParser) Default(cant bool)

func (*TestParser) ParseVtx

func (p *TestParser) ParseVtx(ctx context.Context, b []byte) (lux.Vertex, error)

type TestStorage

type TestStorage struct {
	T                                            *testing.T
	CantGetVtx, CantEdge, CantStopVertexAccepted bool
	GetVtxF                                      func(context.Context, ids.ID) (lux.Vertex, error)
	EdgeF                                        func(context.Context) []ids.ID
	StopVertexAcceptedF                          func(context.Context) (bool, error)
}

func (*TestStorage) Default

func (s *TestStorage) Default(cant bool)

func (*TestStorage) Edge

func (s *TestStorage) Edge(ctx context.Context) []ids.ID

func (*TestStorage) GetVtx

func (s *TestStorage) GetVtx(ctx context.Context, vtxID ids.ID) (lux.Vertex, error)

func (*TestStorage) StopVertexAccepted

func (s *TestStorage) StopVertexAccepted(ctx context.Context) (bool, error)

Jump to

Keyboard shortcuts

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