Adding an ability to update ConsensusParams by collecting ConsensusParamUpdates from Module.EndBlock.
Updating ConsensusParams can be done by passing changes to Tendermint through ResponseEndBlock.
We can decide whether to change using the governance module.
However, ModuleManager does not collect ConsensusParamUpdates nor passes them to Tendermint because the interface of AppModule.EndBlock returns only ValidatorUpdate.
AppModule.EndBlock returns ConsensusParamUpdates also.The SDK now manages consensus parameters via the x/params module and are changed via governance proposals. That being said, we should probably figure out if we need to send these to Tendermint at all.
Do we need to @marbar3778 @melekes ?
yes they should be sent to Tendermint. If not then while the application changes the params the Tendermint logic will adhere to the genesis consensus params and this may cause problems
Any schedule to handle this issue?
Add this to #6365 as it should be done prioir to the next major release
What do you mean @marbar3778 -- this was already done. https://github.com/cosmos/cosmos-sdk/pull/5952
The SDK now manages consensus parameters via the x/params module and are changed via governance proposals. That being said, we should probably figure out if we need to send these to Tendermint at all.
ah based off this comment I thought it wasn't
The SDK now manages consensus parameters via the x/params module and are changed via governance proposals. That being said, we should probably figure out if we need to send these to Tendermint at all.
ah based off this comment I thought it wasn't
As @marbar3778 said, this issue is not done. I agree with him.
PTAL @alexanderbez
What do you mean it's not done? I pointed to the PR that completes the work => https://github.com/cosmos/cosmos-sdk/pull/5952
ConsensusParams should be updated in Endblock via:
`ConsensusParamUpdates (ConsensusParams)`: Changes to consensus-critical time, size, and other parameters.
This is not implemented yet.
Most helpful comment
yes they should be sent to Tendermint. If not then while the application changes the params the Tendermint logic will adhere to the genesis consensus params and this may cause problems