[cherry-picked] abci++: add consensus parameter logic to control vote extension require height (#8547)

This PR makes vote extensions optional within Tendermint. A new ConsensusParams field, called ABCIParams.VoteExtensionsEnableHeight, has been added to toggle whether or not extensions should be enabled or disabled depending on the current height of the consensus engine. Related to: #8453
This commit is contained in:
William Banfield
2022-11-30 21:19:16 +01:00
committed by Sergio Mena
parent 81bcf50690
commit 288ba2e76a
32 changed files with 1374 additions and 329 deletions
+4 -2
View File
@@ -259,7 +259,7 @@ func (pool *BlockPool) AddBlock(peerID p2p.ID, block *types.Block, extCommit *ty
pool.mtx.Lock()
defer pool.mtx.Unlock()
if block.Height != extCommit.Height {
if extCommit != nil && block.Height != extCommit.Height {
return fmt.Errorf("heights don't match, not adding block (block height: %d, commit height: %d)", block.Height, extCommit.Height)
}
@@ -566,7 +566,9 @@ func (bpr *bpRequester) setBlock(block *types.Block, extCommit *types.ExtendedCo
return false
}
bpr.block = block
bpr.extCommit = extCommit
if extCommit != nil {
bpr.extCommit = extCommit
}
bpr.mtx.Unlock()
select {