github.com/koko1123/flow-go-1@v0.29.6/consensus/hotstuff/block_producer.go (about)

     1  package hotstuff
     2  
     3  import (
     4  	"github.com/koko1123/flow-go-1/consensus/hotstuff/model"
     5  	"github.com/koko1123/flow-go-1/model/flow"
     6  )
     7  
     8  // BlockProducer builds a new block proposal by building a new block payload with the the builder module,
     9  // and uses VoteCollectorFactory to create a disposable VoteCollector for producing the proposal vote.
    10  // BlockProducer assembles the new block proposal using the block payload, block header and the proposal vote.
    11  type BlockProducer interface {
    12  	// MakeBlockProposal builds a new HotStuff block proposal using the given view and
    13  	// the given quorum certificate for its parent.
    14  	MakeBlockProposal(qc *flow.QuorumCertificate, view uint64) (*model.Proposal, error)
    15  }