github.com/onflow/flow-go@v0.35.7-crescendo-preview.23-atree-inlining/state/protocol/inmem/encodable.go (about)

     1  package inmem
     2  
     3  import (
     4  	"github.com/onflow/flow-go/model/cluster"
     5  	"github.com/onflow/flow-go/model/encodable"
     6  	"github.com/onflow/flow-go/model/flow"
     7  )
     8  
     9  // EncodableSnapshot is the encoding format for protocol.Snapshot
    10  type EncodableSnapshot struct {
    11  	Head                *flow.Header
    12  	LatestSeal          *flow.Seal            // TODO replace with same info from sealing segment
    13  	LatestResult        *flow.ExecutionResult // TODO replace with same info from sealing segment
    14  	SealingSegment      *flow.SealingSegment
    15  	QuorumCertificate   *flow.QuorumCertificate
    16  	Params              EncodableParams
    17  	SealedVersionBeacon *flow.SealedVersionBeacon
    18  }
    19  
    20  // EncodableDKG is the encoding format for protocol.DKG
    21  type EncodableDKG struct {
    22  	GroupKey     encodable.RandomBeaconPubKey
    23  	Participants map[flow.Identifier]flow.DKGParticipant
    24  }
    25  
    26  type EncodableFullDKG struct {
    27  	GroupKey      encodable.RandomBeaconPubKey
    28  	PrivKeyShares []encodable.RandomBeaconPrivKey
    29  	PubKeyShares  []encodable.RandomBeaconPubKey
    30  }
    31  
    32  // EncodableCluster is the encoding format for protocol.Cluster
    33  type EncodableCluster struct {
    34  	Index     uint
    35  	Counter   uint64
    36  	Members   flow.IdentitySkeletonList
    37  	RootBlock *cluster.Block
    38  	RootQC    *flow.QuorumCertificate
    39  }
    40  
    41  // EncodableParams is the encoding format for protocol.GlobalParams
    42  type EncodableParams struct {
    43  	ChainID                    flow.ChainID
    44  	SporkID                    flow.Identifier
    45  	SporkRootBlockHeight       uint64
    46  	ProtocolVersion            uint
    47  	EpochCommitSafetyThreshold uint64
    48  }