29 lines
917 B
Markdown
29 lines
917 B
Markdown
|
# 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
|