evmos/inflation

Table of Contents

evmos/inflation/v1/inflation.proto

Top

ExponentialCalculation

ExponentialCalculation holds factors to calculate exponential inflation on

each period. Calculation reference:

periodProvision = exponentialDecay * bondingIncentive

f(x) = (a * (1 - r) ^ x + c) * (1 + max_variance - bondedRatio *

(max_variance / bonding_target))

FieldTypeLabelDescription
a string

initial value

r string

reduction factor

c string

long term inflation

bonding_target string

bonding target

max_variance string

max variance

InflationDistribution

InflationDistribution defines the distribution in which inflation is

allocated through minting on each epoch (staking, incentives, community). It

excludes the team vesting distribution, as this is minted once at genesis.

The initial InflationDistribution can be calculated from the Evmos Token

Model like this:

mintDistribution1 = distribution1 / (1 - teamVestingDistribution)

0.5333333 = 40% / (1 - 25%)

FieldTypeLabelDescription
staking_rewards string

staking_rewards defines the proportion of the minted minted_denom that is to be allocated as staking rewards

usage_incentives string

usage_incentives defines the proportion of the minted minted_denom that is to be allocated to the incentives module address

community_pool string

community_pool defines the proportion of the minted minted_denom that is to be allocated to the community pool

evmos/inflation/v1/query.proto

Top

QueryCirculatingSupplyRequest

QueryCirculatingSupplyRequest is the request type for the

Query/CirculatingSupply RPC method.

QueryCirculatingSupplyResponse

QueryCirculatingSupplyResponse is the response type for the

Query/CirculatingSupply RPC method.

FieldTypeLabelDescription
circulating_supply cosmos.base.v1beta1.DecCoin

total amount of coins in circulation

QueryEpochMintProvisionRequest

QueryEpochMintProvisionRequest is the request type for the

Query/EpochMintProvision RPC method.

QueryEpochMintProvisionResponse

QueryEpochMintProvisionResponse is the response type for the

Query/EpochMintProvision RPC method.

FieldTypeLabelDescription
epoch_mint_provision cosmos.base.v1beta1.DecCoin

epoch_mint_provision is the current minting per epoch provision value.

QueryInflationRateRequest

QueryInflationRateRequest is the request type for the Query/InflationRate RPC

method.

QueryInflationRateResponse

QueryInflationRateResponse is the response type for the Query/InflationRate

RPC method.

FieldTypeLabelDescription
inflation_rate string

rate by which the total supply increases within one period

QueryParamsRequest

QueryParamsRequest is the request type for the Query/Params RPC method.

QueryParamsResponse

QueryParamsResponse is the response type for the Query/Params RPC method.

FieldTypeLabelDescription
params Params

params defines the parameters of the module.

QueryPeriodRequest

QueryPeriodRequest is the request type for the Query/Period RPC method.

QueryPeriodResponse

QueryPeriodResponse is the response type for the Query/Period RPC method.

FieldTypeLabelDescription
period uint64

period is the current minting per epoch provision value.

QuerySkippedEpochsRequest

QuerySkippedEpochsRequest is the request type for the Query/SkippedEpochs RPC

method.

QuerySkippedEpochsResponse

QuerySkippedEpochsResponse is the response type for the Query/SkippedEpochs

RPC method.

FieldTypeLabelDescription
skipped_epochs uint64

number of epochs that the inflation module has been disabled.

Query

Query provides defines the gRPC querier service.

Method NameRequest TypeResponse TypeDescription
Period QueryPeriodRequest QueryPeriodResponse

Period retrieves current period.

EpochMintProvision QueryEpochMintProvisionRequest QueryEpochMintProvisionResponse

EpochMintProvision retrieves current minting epoch provision value.

SkippedEpochs QuerySkippedEpochsRequest QuerySkippedEpochsResponse

SkippedEpochs retrieves the total number of skipped epochs.

CirculatingSupply QueryCirculatingSupplyRequest QueryCirculatingSupplyResponse

CirculatingSupply retrieves the total number of tokens that are in circulation (i.e. excluding unvested tokens).

InflationRate QueryInflationRateRequest QueryInflationRateResponse

InflationRate retrieves the inflation rate of the current period.

Params QueryParamsRequest QueryParamsResponse

Params retrieves the total set of minting parameters.

Methods with HTTP bindings

Method Name Method Pattern Body
Period GET /evmos/inflation/v1/period
EpochMintProvision GET /evmos/inflation/v1/epoch_mint_provision
SkippedEpochs GET /evmos/inflation/v1/skipped_epochs
CirculatingSupply GET /evmos/inflation/v1/circulating_supply
InflationRate GET /evmos/inflation/v1/inflation_rate
Params GET /evmos/inflation/v1/params

evmos/inflation/v1/genesis.proto

Top

GenesisState

GenesisState defines the inflation module's genesis state.

FieldTypeLabelDescription
params Params

params defines all the paramaters of the module.

period uint64

amount of past periods, based on the epochs per period param

epoch_identifier string

inflation epoch identifier

epochs_per_period int64

number of epochs after which inflation is recalculated

skipped_epochs uint64

number of epochs that have passed while inflation is disabled

Params

Params holds parameters for the inflation module.

FieldTypeLabelDescription
mint_denom string

type of coin to mint

exponential_calculation ExponentialCalculation

variables to calculate exponential inflation

inflation_distribution InflationDistribution

inflation distribution of the minted denom

enable_inflation bool

parameter to enable inflation and halt increasing the skipped_epochs

Scalar Value Types

.proto Type Notes Python Type
double float
float float
int32 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int
int64 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int/long
uint32 Uses variable-length encoding. int/long
uint64 Uses variable-length encoding. int/long
sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int
sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int/long
fixed32 Always four bytes. More efficient than uint32 if values are often greater than 2^28. int
fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 2^56. int/long
sfixed32 Always four bytes. int
sfixed64 Always eight bytes. int/long
bool boolean
string A string must always contain UTF-8 encoded or 7-bit ASCII text. str/unicode
bytes May contain any arbitrary sequence of bytes. str