Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type MutableState ¶
type MutableState struct { *State // contains filtered or unexported fields }
func NewMutableState ¶
func NewMutableState(state *State, tracer module.Tracer, headers storage.Headers, payloads storage.ClusterPayloads) (*MutableState, error)
func (*MutableState) Extend ¶
func (m *MutableState) Extend(candidate *cluster.Block) error
Extend introduces the given block into the cluster state as a pending without modifying the current finalized state. The block's parent must have already been successfully inserted. TODO(ramtin) pass context here Expected errors during normal operations:
- state.OutdatedExtensionError if the candidate block is outdated (e.g. orphaned)
- state.UnverifiableExtensionError if the reference block is _not_ a known finalized block
- state.InvalidExtensionError if the candidate block is invalid
type Snapshot ¶
type Snapshot struct {
// contains filtered or unexported fields
}
Snapshot represents a snapshot of chain state anchored at a particular reference block.
func (*Snapshot) Collection ¶
func (s *Snapshot) Collection() (*flow.Collection, error)
type State ¶
type State struct {
// contains filtered or unexported fields
}
func Bootstrap ¶
Bootstrap initializes the persistent cluster state with a genesis block. The genesis block must have height 0, a parent hash of 32 zero bytes, and an empty collection as payload.
type StateRoot ¶
type StateRoot struct {
// contains filtered or unexported fields
}
StateRoot is the root information required to bootstrap the cluster state.
func NewStateRoot ¶
func (StateRoot) EpochCounter ¶
func (StateRoot) QC ¶
func (s StateRoot) QC() *flow.QuorumCertificate
type Translator ¶
type Translator struct {
// contains filtered or unexported fields
}
Translator is a translation layer that determines the reference block on the main chain for a given cluster block, using the reference block from the cluster block's payload.
func NewTranslator ¶
func NewTranslator(payloads storage.ClusterPayloads, state protocol.State) *Translator
NewTranslator returns a new block ID translator.
func (*Translator) Translate ¶
func (t *Translator) Translate(blockID flow.Identifier) (flow.Identifier, error)
Translate retrieves the reference main-chain block ID for the given cluster block ID.