Documentation ¶
Index ¶
- Constants
- Variables
- func BeginBlocker(ctx sdk.Context, k Keeper)
- func InitGenesis(ctx sdk.Context, keeper Keeper, data GenesisState)
- func ParamKeyTable() params.KeyTable
- func ValidateGenesis(data GenesisState) error
- type FeeCollectionKeeper
- type GenesisState
- type Keeper
- type Minter
- type Params
- type StakingKeeper
Constants ¶
const ( // default paramspace for params keeper DefaultParamspace = "mint" // StoreKey is the default store key for mint StoreKey = "mint" )
Variables ¶
var ( // params store for inflation params ParamStoreKeyParams = []byte("params") )
Functions ¶
func BeginBlocker ¶
Inflate every block, update inflation parameters once per hour
func InitGenesis ¶
func InitGenesis(ctx sdk.Context, keeper Keeper, data GenesisState)
new mint genesis
func ValidateGenesis ¶
func ValidateGenesis(data GenesisState) error
ValidateGenesis validates the provided staking genesis state to ensure the expected invariants holds. (i.e. params in correct bounds, no duplicate validators)
Types ¶
type FeeCollectionKeeper ¶
expected fee collection keeper interface
type GenesisState ¶
type GenesisState struct { Minter Minter `json:"minter"` // minter object Params Params `json:"params"` // inflation params }
GenesisState - all distribution state that must be provided at genesis
func DefaultGenesisState ¶
func DefaultGenesisState() GenesisState
get raw genesis raw message for testing
func ExportGenesis ¶
func ExportGenesis(ctx sdk.Context, keeper Keeper) GenesisState
ExportGenesis returns a GenesisState for a given context and keeper. The GenesisState will contain the pool, and validator/delegator distribution info's
func NewGenesisState ¶
func NewGenesisState(minter Minter, params Params) GenesisState
type Keeper ¶
type Keeper struct {
// contains filtered or unexported fields
}
keeper of the staking store
func NewKeeper ¶
func NewKeeper(cdc *codec.Codec, key sdk.StoreKey, paramSpace params.Subspace, sk StakingKeeper, fck FeeCollectionKeeper) Keeper
type Minter ¶
type Minter struct { Inflation sdk.Dec `json:"inflation"` // current annual inflation rate AnnualProvisions sdk.Dec `json:"annual_provisions"` // current annual expected provisions }
Minter represents the minting state
func DefaultInitialMinter ¶
func DefaultInitialMinter() Minter
default initial minter object for a new chain which uses an inflation rate of 13%
func (Minter) BlockProvision ¶
get the provisions for a block based on the annual provisions rate
func (Minter) NextAnnualProvisions ¶
calculate the annual provisions based on current total supply and inflation rate
type Params ¶
type Params struct { MintDenom string `json:"mint_denom"` // type of coin to mint InflationRateChange sdk.Dec `json:"inflation_rate_change"` // maximum annual change in inflation rate InflationMax sdk.Dec `json:"inflation_max"` // maximum inflation rate InflationMin sdk.Dec `json:"inflation_min"` // minimum inflation rate GoalBonded sdk.Dec `json:"goal_bonded"` // goal of percent bonded atoms BlocksPerYear uint64 `json:"blocks_per_year"` // expected blocks per year }
mint parameters