Add hash to ConsensusParams

This commit is contained in:
Ethan Frey
2017-12-14 10:13:31 +01:00
committed by Ethan Buchman
parent 030fd00232
commit a0b2d77bef
2 changed files with 63 additions and 0 deletions

View File

@ -2,6 +2,8 @@ package types
import (
"github.com/pkg/errors"
"github.com/tendermint/tmlibs/merkle"
)
const (
@ -85,3 +87,16 @@ func (params *ConsensusParams) Validate() error {
}
return nil
}
// Hash returns a merkle hash of the parameters to store
// in the block header
func (params *ConsensusParams) Hash() []byte {
return merkle.SimpleHashFromMap(map[string]interface{}{
"block_gossip_part_size_bytes": params.BlockGossipParams.BlockPartSizeBytes,
"block_size_max_bytes": params.BlockSizeParams.MaxBytes,
"block_size_max_gas": params.BlockSizeParams.MaxGas,
"block_size_max_txs": params.BlockSizeParams.MaxTxs,
"tx_size_max_bytes": params.TxSizeParams.MaxBytes,
"tx_size_max_gas": params.TxSizeParams.MaxGas,
})
}