blocks

package
v1.9.0 Latest Latest
Warning

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

Go to latest
Published: Oct 3, 2022 License: BSD-3-Clause Imports: 12 Imported by: 0

Documentation

Overview

Package blocks is a generated GoMock package.

Index

Constants

This section is empty.

Variables

View Source
var (
	Codec        codec.Manager
	GenesisCodec codec.Manager
)

GenesisCode allows blocks of larger than usual size to be parsed. While this gives flexibility in accommodating large genesis blocks it must not be used to parse new, unverified blocks which instead must be processed by Codec

Functions

func RegisterApricotBlockTypes added in v1.9.0

func RegisterApricotBlockTypes(targetCodec codec.Registry) error

RegisterApricotBlockTypes allows registering relevant type of blocks package in the right sequence. Following repackaging of platformvm package, a few subpackage-level codecs were introduced, each handling serialization of specific types.

func RegisterBlueberryBlockTypes added in v1.9.0

func RegisterBlueberryBlockTypes(targetCodec codec.Registry) error

Types

type ApricotAbortBlock added in v1.9.0

type ApricotAbortBlock struct {
	CommonBlock `serialize:"true"`
}

func NewApricotAbortBlock added in v1.9.0

func NewApricotAbortBlock(
	parentID ids.ID,
	height uint64,
) (*ApricotAbortBlock, error)

func (*ApricotAbortBlock) InitCtx added in v1.9.0

func (*ApricotAbortBlock) InitCtx(ctx *snow.Context)

func (*ApricotAbortBlock) Txs added in v1.9.0

func (*ApricotAbortBlock) Txs() []*txs.Tx

func (*ApricotAbortBlock) Visit added in v1.9.0

func (b *ApricotAbortBlock) Visit(v Visitor) error

type ApricotAtomicBlock added in v1.9.0

type ApricotAtomicBlock struct {
	CommonBlock `serialize:"true"`
	Tx          *txs.Tx `serialize:"true" json:"tx"`
}

ApricotAtomicBlock being accepted results in the atomic transaction contained in the block to be accepted and committed to the chain.

func NewApricotAtomicBlock added in v1.9.0

func NewApricotAtomicBlock(
	parentID ids.ID,
	height uint64,
	tx *txs.Tx,
) (*ApricotAtomicBlock, error)

func (*ApricotAtomicBlock) InitCtx added in v1.9.0

func (b *ApricotAtomicBlock) InitCtx(ctx *snow.Context)

func (*ApricotAtomicBlock) Txs added in v1.9.0

func (b *ApricotAtomicBlock) Txs() []*txs.Tx

func (*ApricotAtomicBlock) Visit added in v1.9.0

func (b *ApricotAtomicBlock) Visit(v Visitor) error

type ApricotCommitBlock added in v1.9.0

type ApricotCommitBlock struct {
	CommonBlock `serialize:"true"`
}

func NewApricotCommitBlock added in v1.9.0

func NewApricotCommitBlock(
	parentID ids.ID,
	height uint64,
) (*ApricotCommitBlock, error)

func (*ApricotCommitBlock) InitCtx added in v1.9.0

func (*ApricotCommitBlock) InitCtx(ctx *snow.Context)

func (*ApricotCommitBlock) Txs added in v1.9.0

func (*ApricotCommitBlock) Txs() []*txs.Tx

func (*ApricotCommitBlock) Visit added in v1.9.0

func (b *ApricotCommitBlock) Visit(v Visitor) error

type ApricotProposalBlock added in v1.9.0

type ApricotProposalBlock struct {
	CommonBlock `serialize:"true"`
	Tx          *txs.Tx `serialize:"true" json:"tx"`
}

func NewApricotProposalBlock added in v1.9.0

func NewApricotProposalBlock(
	parentID ids.ID,
	height uint64,
	tx *txs.Tx,
) (*ApricotProposalBlock, error)

func (*ApricotProposalBlock) InitCtx added in v1.9.0

func (b *ApricotProposalBlock) InitCtx(ctx *snow.Context)

func (*ApricotProposalBlock) Txs added in v1.9.0

func (b *ApricotProposalBlock) Txs() []*txs.Tx

func (*ApricotProposalBlock) Visit added in v1.9.0

func (b *ApricotProposalBlock) Visit(v Visitor) error

type ApricotStandardBlock added in v1.9.0

type ApricotStandardBlock struct {
	CommonBlock  `serialize:"true"`
	Transactions []*txs.Tx `serialize:"true" json:"txs"`
}

func NewApricotStandardBlock added in v1.9.0

func NewApricotStandardBlock(
	parentID ids.ID,
	height uint64,
	txs []*txs.Tx,
) (*ApricotStandardBlock, error)

func (*ApricotStandardBlock) InitCtx added in v1.9.0

func (b *ApricotStandardBlock) InitCtx(ctx *snow.Context)

func (*ApricotStandardBlock) Txs added in v1.9.0

func (b *ApricotStandardBlock) Txs() []*txs.Tx

func (*ApricotStandardBlock) Visit added in v1.9.0

func (b *ApricotStandardBlock) Visit(v Visitor) error

type Block

type Block interface {
	snow.ContextInitializable
	ID() ids.ID
	Parent() ids.ID
	Bytes() []byte
	Height() uint64

	// Txs returns list of transactions contained in the block
	Txs() []*txs.Tx

	// Visit calls [visitor] with this block's concrete type
	Visit(visitor Visitor) error
	// contains filtered or unexported methods
}

Block defines the common stateless interface for all blocks

func Parse

func Parse(c codec.Manager, b []byte) (Block, error)

type BlueberryAbortBlock added in v1.9.0

type BlueberryAbortBlock struct {
	Time              uint64 `serialize:"true" json:"time"`
	ApricotAbortBlock `serialize:"true"`
}

func NewBlueberryAbortBlock added in v1.9.0

func NewBlueberryAbortBlock(
	timestamp time.Time,
	parentID ids.ID,
	height uint64,
) (*BlueberryAbortBlock, error)

func (*BlueberryAbortBlock) Timestamp added in v1.9.0

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

func (*BlueberryAbortBlock) Visit added in v1.9.0

func (b *BlueberryAbortBlock) Visit(v Visitor) error

type BlueberryBlock added in v1.9.0

type BlueberryBlock interface {
	Block
	Timestamp() time.Time
}

type BlueberryCommitBlock added in v1.9.0

type BlueberryCommitBlock struct {
	Time               uint64 `serialize:"true" json:"time"`
	ApricotCommitBlock `serialize:"true"`
}

func NewBlueberryCommitBlock added in v1.9.0

func NewBlueberryCommitBlock(
	timestamp time.Time,
	parentID ids.ID,
	height uint64,
) (*BlueberryCommitBlock, error)

func (*BlueberryCommitBlock) Timestamp added in v1.9.0

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

func (*BlueberryCommitBlock) Visit added in v1.9.0

func (b *BlueberryCommitBlock) Visit(v Visitor) error

type BlueberryProposalBlock added in v1.9.0

type BlueberryProposalBlock struct {
	Time uint64 `serialize:"true" json:"time"`
	// Transactions is currently unused. This is populated so that introducing
	// them in the future will not require a codec change.
	//
	// TODO: when Transactions is used, we must correctly verify and apply their
	//       changes.
	Transactions         []*txs.Tx `serialize:"true" json:"-"`
	ApricotProposalBlock `serialize:"true"`
}

func NewBlueberryProposalBlock added in v1.9.0

func NewBlueberryProposalBlock(
	timestamp time.Time,
	parentID ids.ID,
	height uint64,
	tx *txs.Tx,
) (*BlueberryProposalBlock, error)

func (*BlueberryProposalBlock) InitCtx added in v1.9.0

func (b *BlueberryProposalBlock) InitCtx(ctx *snow.Context)

func (*BlueberryProposalBlock) Timestamp added in v1.9.0

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

func (*BlueberryProposalBlock) Visit added in v1.9.0

func (b *BlueberryProposalBlock) Visit(v Visitor) error

type BlueberryStandardBlock added in v1.9.0

type BlueberryStandardBlock struct {
	Time                 uint64 `serialize:"true" json:"time"`
	ApricotStandardBlock `serialize:"true"`
}

func NewBlueberryStandardBlock added in v1.9.0

func NewBlueberryStandardBlock(
	timestamp time.Time,
	parentID ids.ID,
	height uint64,
	txs []*txs.Tx,
) (*BlueberryStandardBlock, error)

func (*BlueberryStandardBlock) Timestamp added in v1.9.0

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

func (*BlueberryStandardBlock) Visit added in v1.9.0

func (b *BlueberryStandardBlock) Visit(v Visitor) error

type CommonBlock

type CommonBlock struct {
	// parent's ID
	PrntID ids.ID `serialize:"true" json:"parentID"`

	// This block's height. The genesis block is at height 0.
	Hght uint64 `serialize:"true" json:"height"`
	// contains filtered or unexported fields
}

CommonBlock contains fields and methods common to all blocks in this VM.

func (*CommonBlock) Bytes

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

func (*CommonBlock) Height

func (b *CommonBlock) Height() uint64

func (*CommonBlock) ID

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

func (*CommonBlock) Parent

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

type MockBlock

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

MockBlock is a mock of Block interface.

func NewMockBlock

func NewMockBlock(ctrl *gomock.Controller) *MockBlock

NewMockBlock creates a new mock instance.

func (*MockBlock) Bytes

func (m *MockBlock) Bytes() []byte

Bytes mocks base method.

func (*MockBlock) EXPECT

func (m *MockBlock) EXPECT() *MockBlockMockRecorder

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

func (*MockBlock) Height

func (m *MockBlock) Height() uint64

Height mocks base method.

func (*MockBlock) ID

func (m *MockBlock) ID() ids.ID

ID mocks base method.

func (*MockBlock) InitCtx added in v1.9.0

func (m *MockBlock) InitCtx(arg0 *snow.Context)

InitCtx mocks base method.

func (*MockBlock) Parent

func (m *MockBlock) Parent() ids.ID

Parent mocks base method.

func (*MockBlock) Txs

func (m *MockBlock) Txs() []*txs.Tx

Txs mocks base method.

func (*MockBlock) Visit

func (m *MockBlock) Visit(arg0 Visitor) error

Visit mocks base method.

type MockBlockMockRecorder

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

MockBlockMockRecorder is the mock recorder for MockBlock.

func (*MockBlockMockRecorder) Bytes

func (mr *MockBlockMockRecorder) Bytes() *gomock.Call

Bytes indicates an expected call of Bytes.

func (*MockBlockMockRecorder) Height

func (mr *MockBlockMockRecorder) Height() *gomock.Call

Height indicates an expected call of Height.

func (*MockBlockMockRecorder) ID

func (mr *MockBlockMockRecorder) ID() *gomock.Call

ID indicates an expected call of ID.

func (*MockBlockMockRecorder) InitCtx added in v1.9.0

func (mr *MockBlockMockRecorder) InitCtx(arg0 interface{}) *gomock.Call

InitCtx indicates an expected call of InitCtx.

func (*MockBlockMockRecorder) Parent

func (mr *MockBlockMockRecorder) Parent() *gomock.Call

Parent indicates an expected call of Parent.

func (*MockBlockMockRecorder) Txs

func (mr *MockBlockMockRecorder) Txs() *gomock.Call

Txs indicates an expected call of Txs.

func (*MockBlockMockRecorder) Visit

func (mr *MockBlockMockRecorder) Visit(arg0 interface{}) *gomock.Call

Visit indicates an expected call of Visit.

type Visitor

type Visitor interface {
	BlueberryAbortBlock(*BlueberryAbortBlock) error
	BlueberryCommitBlock(*BlueberryCommitBlock) error
	BlueberryProposalBlock(*BlueberryProposalBlock) error
	BlueberryStandardBlock(*BlueberryStandardBlock) error

	ApricotAbortBlock(*ApricotAbortBlock) error
	ApricotCommitBlock(*ApricotCommitBlock) error
	ApricotProposalBlock(*ApricotProposalBlock) error
	ApricotStandardBlock(*ApricotStandardBlock) error
	ApricotAtomicBlock(*ApricotAtomicBlock) error
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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