Documentation
¶
Overview ¶
Package vertex is a generated GoMock package.
Index ¶
- Constants
- Variables
- type Builder
- type DAGVM
- type LinearizableVM
- type LinearizableVMWithEngine
- type Manager
- type MockLinearizableVM
- func (m *MockLinearizableVM) AppGossip(arg0 context.Context, arg1 ids.NodeID, arg2 []byte) error
- func (m *MockLinearizableVM) AppRequest(arg0 context.Context, arg1 ids.NodeID, arg2 uint32, arg3 time.Time, ...) error
- func (m *MockLinearizableVM) AppRequestFailed(arg0 context.Context, arg1 ids.NodeID, arg2 uint32, arg3 *common.AppError) error
- func (m *MockLinearizableVM) AppResponse(arg0 context.Context, arg1 ids.NodeID, arg2 uint32, arg3 []byte) error
- func (m *MockLinearizableVM) BuildBlock(arg0 context.Context) (snowman.Block, error)
- func (m *MockLinearizableVM) Connected(arg0 context.Context, arg1 ids.NodeID, arg2 *version.Application) error
- func (m *MockLinearizableVM) CreateHandlers(arg0 context.Context) (map[string]http.Handler, error)
- func (m *MockLinearizableVM) CrossChainAppRequest(arg0 context.Context, arg1 ids.ID, arg2 uint32, arg3 time.Time, arg4 []byte) error
- func (m *MockLinearizableVM) CrossChainAppRequestFailed(arg0 context.Context, arg1 ids.ID, arg2 uint32, arg3 *common.AppError) error
- func (m *MockLinearizableVM) CrossChainAppResponse(arg0 context.Context, arg1 ids.ID, arg2 uint32, arg3 []byte) error
- func (m *MockLinearizableVM) Disconnected(arg0 context.Context, arg1 ids.NodeID) error
- func (m *MockLinearizableVM) EXPECT() *MockLinearizableVMMockRecorder
- func (m *MockLinearizableVM) GetBlock(arg0 context.Context, arg1 ids.ID) (snowman.Block, error)
- func (m *MockLinearizableVM) GetBlockIDAtHeight(arg0 context.Context, arg1 uint64) (ids.ID, error)
- func (m *MockLinearizableVM) HealthCheck(arg0 context.Context) (any, error)
- func (m *MockLinearizableVM) Initialize(arg0 context.Context, arg1 *snow.Context, arg2 database.Database, ...) error
- func (m *MockLinearizableVM) LastAccepted(arg0 context.Context) (ids.ID, error)
- func (m *MockLinearizableVM) Linearize(arg0 context.Context, arg1 ids.ID) error
- func (m *MockLinearizableVM) ParseBlock(arg0 context.Context, arg1 []byte) (snowman.Block, error)
- func (m *MockLinearizableVM) ParseTx(arg0 context.Context, arg1 []byte) (snowstorm.Tx, error)
- func (m *MockLinearizableVM) SetPreference(arg0 context.Context, arg1 ids.ID) error
- func (m *MockLinearizableVM) SetState(arg0 context.Context, arg1 snow.State) error
- func (m *MockLinearizableVM) Shutdown(arg0 context.Context) error
- func (m *MockLinearizableVM) Version(arg0 context.Context) (string, error)
- type MockLinearizableVMMockRecorder
- func (mr *MockLinearizableVMMockRecorder) AppGossip(arg0, arg1, arg2 any) *gomock.Call
- func (mr *MockLinearizableVMMockRecorder) AppRequest(arg0, arg1, arg2, arg3, arg4 any) *gomock.Call
- func (mr *MockLinearizableVMMockRecorder) AppRequestFailed(arg0, arg1, arg2, arg3 any) *gomock.Call
- func (mr *MockLinearizableVMMockRecorder) AppResponse(arg0, arg1, arg2, arg3 any) *gomock.Call
- func (mr *MockLinearizableVMMockRecorder) BuildBlock(arg0 any) *gomock.Call
- func (mr *MockLinearizableVMMockRecorder) Connected(arg0, arg1, arg2 any) *gomock.Call
- func (mr *MockLinearizableVMMockRecorder) CreateHandlers(arg0 any) *gomock.Call
- func (mr *MockLinearizableVMMockRecorder) CrossChainAppRequest(arg0, arg1, arg2, arg3, arg4 any) *gomock.Call
- func (mr *MockLinearizableVMMockRecorder) CrossChainAppRequestFailed(arg0, arg1, arg2, arg3 any) *gomock.Call
- func (mr *MockLinearizableVMMockRecorder) CrossChainAppResponse(arg0, arg1, arg2, arg3 any) *gomock.Call
- func (mr *MockLinearizableVMMockRecorder) Disconnected(arg0, arg1 any) *gomock.Call
- func (mr *MockLinearizableVMMockRecorder) GetBlock(arg0, arg1 any) *gomock.Call
- func (mr *MockLinearizableVMMockRecorder) GetBlockIDAtHeight(arg0, arg1 any) *gomock.Call
- func (mr *MockLinearizableVMMockRecorder) HealthCheck(arg0 any) *gomock.Call
- func (mr *MockLinearizableVMMockRecorder) Initialize(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8 any) *gomock.Call
- func (mr *MockLinearizableVMMockRecorder) LastAccepted(arg0 any) *gomock.Call
- func (mr *MockLinearizableVMMockRecorder) Linearize(arg0, arg1 any) *gomock.Call
- func (mr *MockLinearizableVMMockRecorder) ParseBlock(arg0, arg1 any) *gomock.Call
- func (mr *MockLinearizableVMMockRecorder) ParseTx(arg0, arg1 any) *gomock.Call
- func (mr *MockLinearizableVMMockRecorder) SetPreference(arg0, arg1 any) *gomock.Call
- func (mr *MockLinearizableVMMockRecorder) SetState(arg0, arg1 any) *gomock.Call
- func (mr *MockLinearizableVMMockRecorder) Shutdown(arg0 any) *gomock.Call
- func (mr *MockLinearizableVMMockRecorder) Version(arg0 any) *gomock.Call
- type Parser
- type StatelessVertex
- type Storage
Constants ¶
const ( CodecVersion uint16 = 0 CodecVersionWithStopVtx uint16 = 1 )
Variables ¶
var Codec codec.Manager
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 ¶
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) 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, arg3 *common.AppError) 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 ¶
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 ¶
CreateHandlers 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, arg3 *common.AppError) 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 ¶
Disconnected mocks base method.
func (*MockLinearizableVM) EXPECT ¶
func (m *MockLinearizableVM) EXPECT() *MockLinearizableVMMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockLinearizableVM) GetBlockIDAtHeight ¶
GetBlockIDAtHeight mocks base method.
func (*MockLinearizableVM) HealthCheck ¶
func (m *MockLinearizableVM) HealthCheck(arg0 context.Context) (any, 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 ¶
LastAccepted mocks base method.
func (*MockLinearizableVM) ParseBlock ¶
ParseBlock mocks base method.
func (*MockLinearizableVM) SetPreference ¶
SetPreference 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 any) *gomock.Call
AppGossip indicates an expected call of AppGossip.
func (*MockLinearizableVMMockRecorder) AppRequest ¶
func (mr *MockLinearizableVMMockRecorder) AppRequest(arg0, arg1, arg2, arg3, arg4 any) *gomock.Call
AppRequest indicates an expected call of AppRequest.
func (*MockLinearizableVMMockRecorder) AppRequestFailed ¶
func (mr *MockLinearizableVMMockRecorder) AppRequestFailed(arg0, arg1, arg2, arg3 any) *gomock.Call
AppRequestFailed indicates an expected call of AppRequestFailed.
func (*MockLinearizableVMMockRecorder) AppResponse ¶
func (mr *MockLinearizableVMMockRecorder) AppResponse(arg0, arg1, arg2, arg3 any) *gomock.Call
AppResponse indicates an expected call of AppResponse.
func (*MockLinearizableVMMockRecorder) BuildBlock ¶
func (mr *MockLinearizableVMMockRecorder) BuildBlock(arg0 any) *gomock.Call
BuildBlock indicates an expected call of BuildBlock.
func (*MockLinearizableVMMockRecorder) Connected ¶
func (mr *MockLinearizableVMMockRecorder) Connected(arg0, arg1, arg2 any) *gomock.Call
Connected indicates an expected call of Connected.
func (*MockLinearizableVMMockRecorder) CreateHandlers ¶
func (mr *MockLinearizableVMMockRecorder) CreateHandlers(arg0 any) *gomock.Call
CreateHandlers indicates an expected call of CreateHandlers.
func (*MockLinearizableVMMockRecorder) CrossChainAppRequest ¶
func (mr *MockLinearizableVMMockRecorder) CrossChainAppRequest(arg0, arg1, arg2, arg3, arg4 any) *gomock.Call
CrossChainAppRequest indicates an expected call of CrossChainAppRequest.
func (*MockLinearizableVMMockRecorder) CrossChainAppRequestFailed ¶
func (mr *MockLinearizableVMMockRecorder) CrossChainAppRequestFailed(arg0, arg1, arg2, arg3 any) *gomock.Call
CrossChainAppRequestFailed indicates an expected call of CrossChainAppRequestFailed.
func (*MockLinearizableVMMockRecorder) CrossChainAppResponse ¶
func (mr *MockLinearizableVMMockRecorder) CrossChainAppResponse(arg0, arg1, arg2, arg3 any) *gomock.Call
CrossChainAppResponse indicates an expected call of CrossChainAppResponse.
func (*MockLinearizableVMMockRecorder) Disconnected ¶
func (mr *MockLinearizableVMMockRecorder) Disconnected(arg0, arg1 any) *gomock.Call
Disconnected indicates an expected call of Disconnected.
func (*MockLinearizableVMMockRecorder) GetBlock ¶
func (mr *MockLinearizableVMMockRecorder) GetBlock(arg0, arg1 any) *gomock.Call
GetBlock indicates an expected call of GetBlock.
func (*MockLinearizableVMMockRecorder) GetBlockIDAtHeight ¶
func (mr *MockLinearizableVMMockRecorder) GetBlockIDAtHeight(arg0, arg1 any) *gomock.Call
GetBlockIDAtHeight indicates an expected call of GetBlockIDAtHeight.
func (*MockLinearizableVMMockRecorder) HealthCheck ¶
func (mr *MockLinearizableVMMockRecorder) HealthCheck(arg0 any) *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 any) *gomock.Call
Initialize indicates an expected call of Initialize.
func (*MockLinearizableVMMockRecorder) LastAccepted ¶
func (mr *MockLinearizableVMMockRecorder) LastAccepted(arg0 any) *gomock.Call
LastAccepted indicates an expected call of LastAccepted.
func (*MockLinearizableVMMockRecorder) Linearize ¶
func (mr *MockLinearizableVMMockRecorder) Linearize(arg0, arg1 any) *gomock.Call
Linearize indicates an expected call of Linearize.
func (*MockLinearizableVMMockRecorder) ParseBlock ¶
func (mr *MockLinearizableVMMockRecorder) ParseBlock(arg0, arg1 any) *gomock.Call
ParseBlock indicates an expected call of ParseBlock.
func (*MockLinearizableVMMockRecorder) ParseTx ¶
func (mr *MockLinearizableVMMockRecorder) ParseTx(arg0, arg1 any) *gomock.Call
ParseTx indicates an expected call of ParseTx.
func (*MockLinearizableVMMockRecorder) SetPreference ¶
func (mr *MockLinearizableVMMockRecorder) SetPreference(arg0, arg1 any) *gomock.Call
SetPreference indicates an expected call of SetPreference.
func (*MockLinearizableVMMockRecorder) SetState ¶
func (mr *MockLinearizableVMMockRecorder) SetState(arg0, arg1 any) *gomock.Call
SetState indicates an expected call of SetState.
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 ¶
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.