cosmos-sdk/docs/spec/mint/begin_block.md

917 B

Begin-Block

Inflation

Inflation occurs at the beginning of each block.

NextInflation

The target annual inflation rate is recalculated for each provisions cycle. 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%.

NextInflation(params Params, bondedRatio sdk.Dec) (inflation sdk.Dec) { inflationRateChangePerYear = (1 - bondedRatio/params.GoalBonded) * params.InflationRateChange inflationRateChange = inflationRateChangePerYear/hrsPerYr

// increase the new annual inflation for this next cycle
inflation += inflationRateChange
if inflation > params.InflationMax {
	inflation = params.InflationMax
}
if inflation < params.InflationMin {
	inflation = params.InflationMin
}

return inflation