consensus: flush previous proposal on new block

Reusing proposals from previous blocks doesn't make sense. And reduce some
code duplication along the way.
This commit is contained in:
Roman Khimov 2021-02-04 18:54:01 +03:00
parent 8c0a7225e5
commit 43bfc909eb

View file

@ -320,9 +320,7 @@ func (s *service) handleChainBlock(b *coreb.Block) {
s.log.Debug("new block in the chain", s.log.Debug("new block in the chain",
zap.Uint32("dbft index", s.dbft.BlockIndex), zap.Uint32("dbft index", s.dbft.BlockIndex),
zap.Uint32("chain index", s.Chain.BlockHeight())) zap.Uint32("chain index", s.Chain.BlockHeight()))
if s.lastTimestamp < b.Timestamp { s.postBlock(b)
s.lastTimestamp = b.Timestamp
}
s.dbft.InitializeConsensus(0) s.dbft.InitializeConsensus(0)
} }
} }
@ -527,9 +525,14 @@ func (s *service) processBlock(b block.Block) {
s.log.Warn("error on add block", zap.Error(err)) s.log.Warn("error on add block", zap.Error(err))
} }
} }
if s.lastTimestamp < bb.Timestamp { s.postBlock(bb)
s.lastTimestamp = bb.Timestamp }
func (s *service) postBlock(b *coreb.Block) {
if s.lastTimestamp < b.Timestamp {
s.lastTimestamp = b.Timestamp
} }
s.lastProposal = nil
} }
func (s *service) getBlockWitness(b *coreb.Block) *transaction.Witness { func (s *service) getBlockWitness(b *coreb.Block) *transaction.Witness {