github.com/koko1123/flow-go-1@v0.29.6/state/protocol/cluster.go (about)

     1  package protocol
     2  
     3  import (
     4  	"github.com/koko1123/flow-go-1/model/cluster"
     5  	"github.com/koko1123/flow-go-1/model/flow"
     6  )
     7  
     8  // Cluster represents the detailed information for a particular cluster,
     9  // for a given epoch. This information represents the INITIAL state of the
    10  // cluster, as defined by the Epoch Preparation Protocol. It DOES NOT take
    11  // into account state changes over the course of the epoch (ie. slashing).
    12  type Cluster interface {
    13  
    14  	// Index returns the index for this cluster.
    15  	Index() uint
    16  
    17  	// ChainID returns chain ID for the cluster's chain.
    18  	ChainID() flow.ChainID
    19  
    20  	// EpochCounter returns the epoch counter for this cluster.
    21  	EpochCounter() uint64
    22  
    23  	// Members returns the initial set of collector nodes in this cluster.
    24  	Members() flow.IdentityList
    25  
    26  	// RootBlock returns the root block for this cluster.
    27  	RootBlock() *cluster.Block
    28  
    29  	// RootQC returns the quorum certificate for this cluster.
    30  	RootQC() *flow.QuorumCertificate
    31  }