# # Begin-Block

Minting parameters are recalculated and inflation paid at the beginning of each block.

## # Inflation rate calculation

Inflation rate is calculated using an "inflation calculation function" that's
passed to the `NewAppModule`

function. If no function is passed, then the SDK's
default inflation function will be used (`NextInflationRate`

). In case a custom
inflation calculation logic is needed, this can be achieved by defining and
passing a function that matches `InflationCalculationFn`

's signature.

### # NextInflationRate

The target annual inflation rate is recalculated each block. The inflation is also subject to a rate change (positive or negative) depending on the distance from the desired ratio (67%). The maximum rate change possible is defined to be 13% per year, however the annual inflation is capped as between 7% and 20%.

## # NextAnnualProvisions

Calculate the annual provisions based on current total supply and inflation rate. This parameter is calculated once per block.

## # BlockProvision

Calculate the provisions generated for each block based on current annual provisions. The provisions are then minted by the `mint`

module's `ModuleMinterAccount`

and then transferred to the `auth`

's `FeeCollector`

`ModuleAccount`

.