diff options
Diffstat (limited to 'core/agreement.go')
-rw-r--r-- | core/agreement.go | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/core/agreement.go b/core/agreement.go index 9d0440e..28bcc67 100644 --- a/core/agreement.go +++ b/core/agreement.go @@ -99,13 +99,14 @@ func newAgreement( ID types.ValidatorID, recv agreementReceiver, validators types.ValidatorIDs, + leader *leaderSelector, sigToPub SigToPubFn, blockProposer blockProposerFn) *agreement { agreement := &agreement{ data: &agreementData{ recv: recv, ID: ID, - leader: newLeaderSelector(), + leader: leader, blockProposer: blockProposer, }, aID: &atomic.Value{}, @@ -226,7 +227,9 @@ func (a *agreement) processBlock(block *types.Block) error { return nil } a.data.blocks[block.ProposerID] = block - a.data.leader.processBlock(block) + if err := a.data.leader.processBlock(block); err != nil { + return err + } return nil } |