Expand description
This module manages the state of a Linera chain, including cross-chain communication.
Modules§
- block
- Block types and the wrappers that pair them with their execution outcomes.
- data_
types - Data types exchanged while proposing, voting on, and confirming blocks.
- justification
- Fault attributability
- manager
- Chain manager
- test
- Test utilities
- types
- Convenience re-exports of the public block and certificate types.
Structs§
- Chain
IdSet - A set of fully-tracked chains. Wrapped in
Hashed(asHashed<ChainIdSet>) so the hash that identifies the set — stored inChainStateView::outbox_index_tracked_hashto detect when the outbox indices must be reconciled — is computed once when the tracked set changes rather than on every cross-chain operation. The hash is order-independent becauseBTreeSetiterates in sorted order. - Chain
State View - A view accessing the state of a chain.
- Chain
TipState - Block-chaining state.
- Stream
Counts - The event indices we track for a stream, maintained whenever a block is processed (executed or merely preprocessed).
Enums§
- Block
Execution Phase - The protocol phase a block is executed in. Recorded as the
phaselabel on the block-execution metrics so the three distinct paths — staging a proposal, validating a received proposal, and committing a confirmed certificate — are separate time series in Prometheus. - Chain
Error - An error that occurred while validating or executing a block on a chain.
- Chain
Execution Context - The phase of block execution during which an error occurred.
Traits§
- Execution
Result Ext - Extension trait for attaching a
ChainExecutionContextto an execution error.