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 }