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 }