cosmos-sdk/docs/build/building-modules/17-preblock.md
2023-09-21 09:15:41 +00:00

907 B

sidebar_position
1

PreBlocker

:::note Synopsis PreBlocker is optional method module developers can implement in their module. They will be triggered before BeginBlock. :::

:::note Pre-requisite Readings

:::

PreBlocker

There are two semantics around the new lifecycle method:

  • It runs before the BeginBlocker of all modules
  • It can modify consensus parameters in storage, and signal the caller through the return value.

When it returns ConsensusParamsChanged=true, the caller must refresh the consensus parameter in the deliver context:

app.finalizeBlockState.ctx = app.finalizeBlockState.ctx.WithConsensusParams(app.GetConsensusParams())

The new ctx must be passed to all the other lifecycle methods.