Documentation
¶
Overview ¶
Package block is a generated GoMock package.
Index ¶
- Variables
- type AbortBlock
- func (b AbortBlock) Bytes() []byte
- func (b AbortBlock) Height() uint64
- func (b AbortBlock) ID() ids.ID
- func (b AbortBlock) InitRuntime(rt *runtime.Runtime)
- func (b AbortBlock) Parent() ids.ID
- func (b AbortBlock) Timestamp() time.Time
- func (*AbortBlock) Txs() []*txs.Tx
- func (b *AbortBlock) Visit(v Visitor) error
- type Block
- type CommitBlock
- func (b CommitBlock) Bytes() []byte
- func (b CommitBlock) Height() uint64
- func (b CommitBlock) ID() ids.ID
- func (b CommitBlock) InitRuntime(rt *runtime.Runtime)
- func (b CommitBlock) Parent() ids.ID
- func (b CommitBlock) Timestamp() time.Time
- func (*CommitBlock) Txs() []*txs.Tx
- func (b *CommitBlock) Visit(v Visitor) error
- type MockBlock
- func (m *MockBlock) Bytes() []byte
- func (m *MockBlock) EXPECT() *MockBlockMockRecorder
- func (m *MockBlock) Height() uint64
- func (m *MockBlock) ID() ids.ID
- func (m *MockBlock) InitRuntime(rt *runtime.Runtime)
- func (m *MockBlock) Parent() ids.ID
- func (m *MockBlock) Txs() []*txs.Tx
- func (m *MockBlock) Visit(visitor Visitor) error
- type MockBlockMockRecorder
- func (mr *MockBlockMockRecorder) Bytes() *gomock.Call
- func (mr *MockBlockMockRecorder) Height() *gomock.Call
- func (mr *MockBlockMockRecorder) ID() *gomock.Call
- func (mr *MockBlockMockRecorder) InitRuntime(rt any) *gomock.Call
- func (mr *MockBlockMockRecorder) Parent() *gomock.Call
- func (mr *MockBlockMockRecorder) Txs() *gomock.Call
- func (mr *MockBlockMockRecorder) Visit(visitor any) *gomock.Call
- type ProposalBlock
- func (b ProposalBlock) Bytes() []byte
- func (b *ProposalBlock) DecisionTxs() []*txs.Tx
- func (b ProposalBlock) Height() uint64
- func (b ProposalBlock) ID() ids.ID
- func (b ProposalBlock) InitRuntime(rt *runtime.Runtime)
- func (b ProposalBlock) Parent() ids.ID
- func (b ProposalBlock) Timestamp() time.Time
- func (b *ProposalBlock) Tx() *txs.Tx
- func (b *ProposalBlock) Txs() []*txs.Tx
- func (b *ProposalBlock) Visit(v Visitor) error
- type RuntimeInitializable
- type StandardBlock
- func (b StandardBlock) Bytes() []byte
- func (b StandardBlock) Height() uint64
- func (b StandardBlock) ID() ids.ID
- func (b StandardBlock) InitRuntime(rt *runtime.Runtime)
- func (b StandardBlock) Parent() ids.ID
- func (b StandardBlock) Timestamp() time.Time
- func (b *StandardBlock) Txs() []*txs.Tx
- func (b *StandardBlock) Visit(v Visitor) error
- type TimestampedBlock
- type Visitor
Constants ¶
This section is empty.
Variables ¶
var ErrExtraSpace = errors.New("block: trailing bytes after zap message")
ErrExtraSpace is returned when a block buffer carries bytes beyond the self-delimiting zap message — a malleability vector (ID = hash(bytes) would change while the wrapped message is identical). Blocks MUST be canonical.
Functions ¶
This section is empty.
Types ¶
type AbortBlock ¶ added in v1.26.35
type AbortBlock struct {
// contains filtered or unexported fields
}
AbortBlock is the canonical P-Chain abort outcome of a ProposalBlock. It carries a timestamp and no txs; the struct is the zap buffer.
func NewAbortBlock ¶ added in v1.26.35
func (AbortBlock) InitRuntime ¶ added in v1.26.35
InitRuntime binds the runtime into every embedded tx. It dispatches on the wire kind so the base — which owns the layout knowledge — is the one place that knows where a block's txs live, without depending on the concrete type's Txs() (Go embedding has no virtual dispatch).
func (*AbortBlock) Txs ¶ added in v1.26.35
func (*AbortBlock) Txs() []*txs.Tx
func (*AbortBlock) Visit ¶ added in v1.26.35
func (b *AbortBlock) Visit(v Visitor) error
type Block ¶
type Block interface {
RuntimeInitializable
ID() ids.ID
Parent() ids.ID
Bytes() []byte
Height() uint64
// Txs returns the transactions contained in the block.
Txs() []*txs.Tx
// Visit calls [visitor] with this block's concrete type.
Visit(visitor Visitor) error
}
Block is the common stateless interface for all P-chain blocks. Every block is a single native-ZAP object; there is no codec and no initialize step — the bytes are authoritative and blocks are built by New*Block or read by Parse, both of which bind ID = hash(bytes).
type CommitBlock ¶ added in v1.26.35
type CommitBlock struct {
// contains filtered or unexported fields
}
CommitBlock is the canonical P-Chain commit outcome of a ProposalBlock. It carries a timestamp and no txs; the struct is the zap buffer.
func NewCommitBlock ¶ added in v1.26.35
func (CommitBlock) InitRuntime ¶ added in v1.26.35
InitRuntime binds the runtime into every embedded tx. It dispatches on the wire kind so the base — which owns the layout knowledge — is the one place that knows where a block's txs live, without depending on the concrete type's Txs() (Go embedding has no virtual dispatch).
func (*CommitBlock) Txs ¶ added in v1.26.35
func (*CommitBlock) Txs() []*txs.Tx
func (*CommitBlock) Visit ¶ added in v1.26.35
func (b *CommitBlock) Visit(v Visitor) error
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) EXPECT ¶
func (m *MockBlock) EXPECT() *MockBlockMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockBlock) InitRuntime ¶ added in v1.22.87
InitRuntime 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) InitRuntime ¶ added in v1.22.87
func (mr *MockBlockMockRecorder) InitRuntime(rt any) *gomock.Call
InitRuntime indicates an expected call of InitRuntime.
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.
type ProposalBlock ¶ added in v1.26.35
type ProposalBlock struct {
// contains filtered or unexported fields
}
ProposalBlock is the canonical P-Chain proposal block. It carries a per-block timestamp, a tail of decision txs (stored as the u32 length list + blob), and a single proposal Tx that commits atomically with them.
func NewProposalBlock ¶ added in v1.26.35
func (*ProposalBlock) DecisionTxs ¶ added in v1.36.113
func (b *ProposalBlock) DecisionTxs() []*txs.Tx
DecisionTxs returns only the decision txs — the ones submitted to this chain and paid for by whoever submitted them.
The proposal Tx is deliberately absent. It is emitted by the chain itself, it is charged no fee by either calculator, and it is executed by its own path (ProposalTx). Handing it to anything that prices transactions asks what a chain-emitted tx costs, which is a question with no answer: the complexity visitor refuses it, and the refusal reads as a block that cannot be verified.
func (ProposalBlock) InitRuntime ¶ added in v1.26.35
InitRuntime binds the runtime into every embedded tx. It dispatches on the wire kind so the base — which owns the layout knowledge — is the one place that knows where a block's txs live, without depending on the concrete type's Txs() (Go embedding has no virtual dispatch).
func (*ProposalBlock) Tx ¶ added in v1.26.35
func (b *ProposalBlock) Tx() *txs.Tx
Tx returns the single proposal tx.
func (*ProposalBlock) Txs ¶ added in v1.26.35
func (b *ProposalBlock) Txs() []*txs.Tx
Txs returns the decision txs followed by the proposal Tx (last), matching the canonical block ordering.
This is the whole block's contents, for readers that mean exactly that — metrics, warp verification, rejection. A reader that means "the txs this block charges for" wants DecisionTxs.
func (*ProposalBlock) Visit ¶ added in v1.26.35
func (b *ProposalBlock) Visit(v Visitor) error
type RuntimeInitializable ¶ added in v1.22.87
RuntimeInitializable binds a runtime into a block's embedded txs.
type StandardBlock ¶ added in v1.26.35
type StandardBlock struct {
// contains filtered or unexported fields
}
StandardBlock is the canonical P-Chain standard block. It carries a per-block timestamp and an ordered list of decision txs, stored as a u32 length list + concatenated tx blob in the zap buffer.
func NewStandardBlock ¶ added in v1.26.35
func (StandardBlock) InitRuntime ¶ added in v1.26.35
InitRuntime binds the runtime into every embedded tx. It dispatches on the wire kind so the base — which owns the layout knowledge — is the one place that knows where a block's txs live, without depending on the concrete type's Txs() (Go embedding has no virtual dispatch).
func (*StandardBlock) Txs ¶ added in v1.26.35
func (b *StandardBlock) Txs() []*txs.Tx
Txs returns the decision txs in wire order.
func (*StandardBlock) Visit ¶ added in v1.26.35
func (b *StandardBlock) Visit(v Visitor) error
type TimestampedBlock ¶ added in v1.26.35
TimestampedBlock is a Block that carries a per-block timestamp. Every canonical P-chain block kind is timestamped.
type Visitor ¶
type Visitor interface {
AbortBlock(*AbortBlock) error
CommitBlock(*CommitBlock) error
ProposalBlock(*ProposalBlock) error
StandardBlock(*StandardBlock) error
}
Visitor dispatches by the canonical P-Chain block type. Under carries a timestamp and is one of the four canonical kinds.
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
Package executor is a generated GoMock package.
|
Package executor is a generated GoMock package. |
|
executormock
Package executormock is a generated GoMock package.
|
Package executormock is a generated GoMock package. |