evmos/inflation
Table of Contents
- evmos/inflation/v1/genesis.proto
- evmos/inflation/v1/inflation.proto
-
evmos/inflation/v1/query.proto
- MQueryCirculatingSupplyRequest
- MQueryCirculatingSupplyResponse
- MQueryEpochMintProvisionRequest
- MQueryEpochMintProvisionResponse
- MQueryInflationRateRequest
- MQueryInflationRateResponse
- MQueryParamsRequest
- MQueryParamsResponse
- MQueryPeriodRequest
- MQueryPeriodResponse
- MQuerySkippedEpochsRequest
- MQuerySkippedEpochsResponse
- SQuery
- evmos/inflation/v1/tx.proto
- Scalar Value Types
evmos/inflation/v1/genesis.proto
TopCopyright Tharsis Labs Ltd.(Evmos)
SPDX-License-Identifier:ENCL-1.0(https://github.com/evmos/evmos/blob/main/LICENSE)
GenesisState
GenesisState defines the inflation module's genesis state.
| Field | Type | Label | Description |
| params | Params | params defines all the parameters of the module. |
|
| period | uint64 | period is the amount of past periods, based on the epochs per period param |
|
| epoch_identifier | string | epoch_identifier for inflation |
|
| epochs_per_period | int64 | epochs_per_period is the number of epochs after which inflation is recalculated |
|
| skipped_epochs | uint64 | skipped_epochs is the number of epochs that have passed while inflation is disabled |
Params
Params holds parameters for the inflation module.
| Field | Type | Label | Description |
| mint_denom | string | mint_denom specifies the type of coin to mint |
|
| exponential_calculation | ExponentialCalculation | exponential_calculation takes in the variables to calculate exponential inflation |
|
| inflation_distribution | InflationDistribution | inflation_distribution of the minted denom |
|
| enable_inflation | bool | enable_inflation is the parameter that enables inflation and halts increasing the skipped_epochs |
evmos/inflation/v1/inflation.proto
TopCopyright Tharsis Labs Ltd.(Evmos)
SPDX-License-Identifier:ENCL-1.0(https://github.com/evmos/evmos/blob/main/LICENSE)
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))
| Field | Type | Label | Description |
| a | string | a defines the initial value |
|
| r | string | r defines the reduction factor |
|
| c | string | c defines the parameter for 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%)
| Field | Type | Label | Description |
| staking_rewards | string | staking_rewards defines the proportion of the minted minted_denom that is to be allocated as staking rewards |
|
| usage_incentives | string | Deprecated. Deprecated: 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 |
Fields with deprecated option
| Name | Option |
| usage_incentives | true |
evmos/inflation/v1/query.proto
TopCopyright Tharsis Labs Ltd.(Evmos)
SPDX-License-Identifier:ENCL-1.0(https://github.com/evmos/evmos/blob/main/LICENSE)
QueryCirculatingSupplyRequest
QueryCirculatingSupplyRequest is the request type for the
Query/CirculatingSupply RPC method.
QueryCirculatingSupplyResponse
QueryCirculatingSupplyResponse is the response type for the
Query/CirculatingSupply RPC method.
| Field | Type | Label | Description |
| circulating_supply | cosmos.base.v1beta1.DecCoin | circulating_supply is the 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.
| Field | Type | Label | Description |
| 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.
| Field | Type | Label | Description |
| inflation_rate | string | inflation_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.
| Field | Type | Label | Description |
| 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.
| Field | Type | Label | Description |
| 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.
| Field | Type | Label | Description |
| skipped_epochs | uint64 | skipped_epochs is the number of epochs that the inflation module has been disabled. |
Query
Query provides defines the gRPC querier service.
| Method Name | Request Type | Response Type | Description |
| 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/tx.proto
TopCopyright Tharsis Labs Ltd.(Evmos)
SPDX-License-Identifier:ENCL-1.0(https://github.com/evmos/evmos/blob/main/LICENSE)
MsgUpdateParams
MsgUpdateParams defines a Msg for updating the x/inflation module parameters.
| Field | Type | Label | Description |
| authority | string | authority is the address of the governance account. |
|
| params | Params | params defines the x/inflation parameters to update. NOTE: All parameters must be supplied. |
MsgUpdateParamsResponse
MsgUpdateParamsResponse defines the response structure for executing a
MsgUpdateParams message.
Msg
Msg defines the evm Msg service.
| Method Name | Request Type | Response Type | Description |
| UpdateParams | MsgUpdateParams | MsgUpdateParamsResponse | UpdateParams defined a governance operation for updating the x/inflation module parameters. The authority is hard-coded to the Cosmos SDK x/gov module account |
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 |