inmem

package
v0.29.6 Latest Latest
Warning

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

Go to latest
Published: Jan 19, 2023 License: AGPL-3.0 Imports: 13 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ClusteringFromSetupEvent

func ClusteringFromSetupEvent(setupEvent *flow.EpochSetup) (flow.ClusterList, error)

Types

type Cluster

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

func ClusterFromEncodable

func ClusterFromEncodable(enc EncodableCluster) (*Cluster, error)

ClusterFromEncodable returns a Cluster backed by the given encodable representation.

func FromCluster

func FromCluster(from protocol.Cluster) (*Cluster, error)

FromCluster converts any protocol.Cluster to a memory-backed Cluster. No errors are expected during normal operation.

func (Cluster) ChainID

func (c Cluster) ChainID() flow.ChainID

func (Cluster) EpochCounter

func (c Cluster) EpochCounter() uint64

func (Cluster) Index

func (c Cluster) Index() uint

func (Cluster) Members

func (c Cluster) Members() flow.IdentityList

func (Cluster) RootBlock

func (c Cluster) RootBlock() *clustermodel.Block

func (Cluster) RootQC

func (c Cluster) RootQC() *flow.QuorumCertificate

type DKG

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

func DKGFromEncodable

func DKGFromEncodable(enc EncodableDKG) (*DKG, error)

DKGFromEncodable returns a DKG backed by the given encodable representation.

func FromDKG

func FromDKG(from protocol.DKG, participants flow.IdentityList) (*DKG, error)

FromDKG converts any protocol.DKG to a memory-backed DKG.

The given participant list must exactly match the DKG members. All errors indicate inconsistent or invalid inputs. No errors are expected during normal operation.

func (DKG) GroupKey

func (d DKG) GroupKey() crypto.PublicKey

func (DKG) Index

func (d DKG) Index(nodeID flow.Identifier) (uint, error)

Index returns the index for the given node. Error Returns: protocol.IdentityNotFoundError if nodeID is not a valid DKG participant.

func (DKG) KeyShare

func (d DKG) KeyShare(nodeID flow.Identifier) (crypto.PublicKey, error)

KeyShare returns the public key share for the given node. Error Returns: protocol.IdentityNotFoundError if nodeID is not a valid DKG participant.

func (DKG) Size

func (d DKG) Size() uint

type EncodableCluster

type EncodableCluster struct {
	Index     uint
	Counter   uint64
	Members   flow.IdentityList
	RootBlock *cluster.Block
	RootQC    *flow.QuorumCertificate
}

EncodableCluster is the encoding format for protocol.Cluster

type EncodableDKG

type EncodableDKG struct {
	GroupKey     encodable.RandomBeaconPubKey
	Participants map[flow.Identifier]flow.DKGParticipant
}

EncodableDKG is the encoding format for protocol.DKG

type EncodableEpoch

type EncodableEpoch struct {
	Counter            uint64
	FirstView          uint64
	DKGPhase1FinalView uint64
	DKGPhase2FinalView uint64
	DKGPhase3FinalView uint64
	FinalView          uint64
	RandomSource       []byte
	InitialIdentities  flow.IdentityList
	Clustering         flow.ClusterList
	Clusters           []EncodableCluster
	DKG                *EncodableDKG
}

EncodableEpoch is the encoding format for protocol.Epoch

type EncodableEpochs

type EncodableEpochs struct {
	Previous *EncodableEpoch
	Current  EncodableEpoch // cannot be nil
	Next     *EncodableEpoch
}

EncodableEpochs is the encoding format for protocol.EpochQuery

type EncodableFullDKG

type EncodableFullDKG struct {
	GroupKey      encodable.RandomBeaconPubKey
	PrivKeyShares []encodable.RandomBeaconPrivKey
	PubKeyShares  []encodable.RandomBeaconPubKey
}

type EncodableParams

type EncodableParams struct {
	ChainID         flow.ChainID
	SporkID         flow.Identifier
	ProtocolVersion uint
}

EncodableParams is the encoding format for protocol.GlobalParams

type EncodableSnapshot

type EncodableSnapshot struct {
	Head              *flow.Header
	Identities        flow.IdentityList
	LatestSeal        *flow.Seal
	LatestResult      *flow.ExecutionResult
	SealingSegment    *flow.SealingSegment
	QuorumCertificate *flow.QuorumCertificate
	Phase             flow.EpochPhase
	Epochs            EncodableEpochs
	Params            EncodableParams
}

EncodableSnapshot is the encoding format for protocol.Snapshot

func StrippedInmemSnapshot

func StrippedInmemSnapshot(snapshot EncodableSnapshot) EncodableSnapshot

StrippedInmemSnapshot removes all the networking address in the snapshot

type Epoch

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

Epoch is a memory-backed implementation of protocol.Epoch.

func FromEpoch

func FromEpoch(from protocol.Epoch) (*Epoch, error)

FromEpoch converts any protocol.Epoch to a memory-backed Epoch. Error returns: * protocol.ErrNoPreviousEpoch - if the epoch represents a previous epoch which does not exist. * protocol.ErrNextEpochNotSetup - if the epoch represents a next epoch which has not been set up. * state.ErrUnknownSnapshotReference - if the epoch is queried from an unresolvable snapshot.

func NewCommittedEpoch

func NewCommittedEpoch(setupEvent *flow.EpochSetup, commitEvent *flow.EpochCommit) (*Epoch, error)

NewCommittedEpoch returns a memory-backed epoch implementation based on an EpochSetup and EpochCommit event. Error returns: * protocol.ErrNoPreviousEpoch - if the epoch represents a previous epoch which does not exist. * protocol.ErrNextEpochNotSetup - if the epoch represents a next epoch which has not been set up. * protocol.ErrEpochNotCommitted - if the epoch has not been committed. * state.ErrUnknownSnapshotReference - if the epoch is queried from an unresolvable snapshot.

func NewSetupEpoch

func NewSetupEpoch(setupEvent *flow.EpochSetup) (*Epoch, error)

NewSetupEpoch returns a memory-backed epoch implementation based on an EpochSetup event. Epoch information available after the setup phase will not be accessible in the resulting epoch instance. Error returns: * protocol.ErrNoPreviousEpoch - if the epoch represents a previous epoch which does not exist. * protocol.ErrNextEpochNotSetup - if the epoch represents a next epoch which has not been set up. * state.ErrUnknownSnapshotReference - if the epoch is queried from an unresolvable snapshot.

func (Epoch) Cluster

func (e Epoch) Cluster(i uint) (protocol.Cluster, error)

func (Epoch) ClusterByChainID

func (e Epoch) ClusterByChainID(chainID flow.ChainID) (protocol.Cluster, error)

func (Epoch) Clustering

func (e Epoch) Clustering() (flow.ClusterList, error)

func (Epoch) Counter

func (e Epoch) Counter() (uint64, error)

func (Epoch) DKG

func (e Epoch) DKG() (protocol.DKG, error)

func (Epoch) DKGPhase1FinalView

func (e Epoch) DKGPhase1FinalView() (uint64, error)

func (Epoch) DKGPhase2FinalView

func (e Epoch) DKGPhase2FinalView() (uint64, error)

func (Epoch) DKGPhase3FinalView

func (e Epoch) DKGPhase3FinalView() (uint64, error)

func (Epoch) Encodable

func (e Epoch) Encodable() EncodableEpoch

func (Epoch) FinalView

func (e Epoch) FinalView() (uint64, error)

func (Epoch) FirstView

func (e Epoch) FirstView() (uint64, error)

func (Epoch) InitialIdentities

func (e Epoch) InitialIdentities() (flow.IdentityList, error)

func (Epoch) RandomSource

func (e Epoch) RandomSource() ([]byte, error)

type Epochs

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

func (Epochs) Current

func (eq Epochs) Current() protocol.Epoch

func (Epochs) Next

func (eq Epochs) Next() protocol.Epoch

func (Epochs) Previous

func (eq Epochs) Previous() protocol.Epoch

type Params

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

func FromParams

func FromParams(from protocol.GlobalParams) (*Params, error)

FromParams converts any protocol.GlobalParams to a memory-backed Params. TODO error docs

func (Params) ChainID

func (p Params) ChainID() (flow.ChainID, error)

func (Params) ProtocolVersion

func (p Params) ProtocolVersion() (uint, error)

func (Params) SporkID

func (p Params) SporkID() (flow.Identifier, error)

type Snapshot

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

Snapshot is a memory-backed implementation of protocol.Snapshot. The snapshot data is stored in the embedded encodable snapshot model, which defines the canonical structure of an encoded snapshot for the purposes of serialization.

func FromSnapshot

func FromSnapshot(from protocol.Snapshot) (*Snapshot, error)

FromSnapshot generates a memory-backed snapshot from the input snapshot. Typically, this would be used to convert a database-backed snapshot to one that can easily be serialized to disk or to network. TODO error docs

func SnapshotFromBootstrapState

func SnapshotFromBootstrapState(root *flow.Block, result *flow.ExecutionResult, seal *flow.Seal, qc *flow.QuorumCertificate) (*Snapshot, error)

SnapshotFromBootstrapState generates a protocol.Snapshot representing a root bootstrap state. This is used to bootstrap the protocol state for genesis or post-spork states.

func SnapshotFromBootstrapStateWithProtocolVersion

func SnapshotFromBootstrapStateWithProtocolVersion(
	root *flow.Block,
	result *flow.ExecutionResult,
	seal *flow.Seal,
	qc *flow.QuorumCertificate,
	version uint,
) (*Snapshot, error)

SnapshotFromBootstrapStateWithProtocolVersion is SnapshotFromBootstrapState with a caller-specified protocol version.

func SnapshotFromEncodable

func SnapshotFromEncodable(enc EncodableSnapshot) *Snapshot

func (Snapshot) Commit

func (s Snapshot) Commit() (flow.StateCommitment, error)

func (Snapshot) Descendants

func (s Snapshot) Descendants() ([]flow.Identifier, error)

func (Snapshot) Encodable

func (s Snapshot) Encodable() EncodableSnapshot

func (Snapshot) Epochs

func (s Snapshot) Epochs() protocol.EpochQuery

func (Snapshot) Head

func (s Snapshot) Head() (*flow.Header, error)

func (Snapshot) Identities

func (s Snapshot) Identities(selector flow.IdentityFilter) (flow.IdentityList, error)

func (Snapshot) Identity

func (s Snapshot) Identity(nodeID flow.Identifier) (*flow.Identity, error)

func (Snapshot) Params

func (s Snapshot) Params() protocol.GlobalParams

func (Snapshot) Phase

func (s Snapshot) Phase() (flow.EpochPhase, error)

func (Snapshot) QuorumCertificate

func (s Snapshot) QuorumCertificate() (*flow.QuorumCertificate, error)

func (Snapshot) RandomSource

func (s Snapshot) RandomSource() ([]byte, error)

func (Snapshot) SealedResult

func (s Snapshot) SealedResult() (*flow.ExecutionResult, *flow.Seal, error)

func (Snapshot) SealingSegment

func (s Snapshot) SealingSegment() (*flow.SealingSegment, error)

func (Snapshot) ValidDescendants

func (s Snapshot) ValidDescendants() ([]flow.Identifier, error)

Jump to

Keyboard shortcuts

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