Documentation
¶
Index ¶
- Constants
- Variables
- func BeginBlocker(ctx sdk.Context, k Keeper)
- func InitGenesis(ctx sdk.Context, keeper Keeper, data GenesisState)
- func ParamTypeTable() params.TypeTable
- func ValidateGenesis(data GenesisState) error
- type FeeCollectionKeeper
- type GenesisState
- type Keeper
- type Minter
- type Params
- type StakeKeeper
Constants ¶
const (
// default paramspace for params keeper
DefaultParamspace = "mint"
)
Variables ¶
var (
// params store for inflation params
ParamStoreKeyParams = []byte("params")
)
Functions ¶
func BeginBlocker ¶
func BeginBlocker(ctx sdk.Context, k Keeper)
Called every block, process inflation on the first block of every hour
func InitGenesis ¶
func InitGenesis(ctx sdk.Context, keeper Keeper, data GenesisState)
new mint genesis
func ParamTypeTable ¶ added in v0.25.0
func ParamTypeTable() params.TypeTable
ParamTable for stake module
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 ¶ added in v0.25.0
type FeeCollectionKeeper interface {
AddCollectedFees(sdk.Context, sdk.Coins) sdk.Coins
}
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 stake store
func NewKeeper ¶
func NewKeeper(cdc *codec.Codec, key sdk.StoreKey,
paramSpace params.Subspace, sk StakeKeeper, fck FeeCollectionKeeper) Keeper
func (Keeper) GetMinter ¶ added in v0.25.0
func (k Keeper) GetMinter(ctx sdk.Context) (minter Minter)
get the minter
func (Keeper) GetParams ¶ added in v0.25.0
func (k Keeper) GetParams(ctx sdk.Context) Params
get inflation params from the global param store
type Minter ¶
type Minter struct {
InflationLastTime time.Time `json:"inflation_last_time"` // block time which the last inflation was processed
Inflation sdk.Dec `json:"inflation"` // current annual inflation rate
}
current inflation state
func (Minter) NextInflation ¶ added in v0.25.0
func (m Minter) NextInflation(params Params, bondedRatio sdk.Dec) (inflation sdk.Dec)
get the next inflation rate for the hour
func (Minter) ProcessProvisions ¶ added in v0.25.0
func (m Minter) ProcessProvisions(params Params, totalSupply, bondedRatio sdk.Dec) (
minter Minter, provisions sdk.Coin)
process provisions for an hour period
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
}
mint parameters
type StakeKeeper ¶ added in v0.25.0
type StakeKeeper interface {
TotalPower(ctx sdk.Context) sdk.Dec
BondedRatio(ctx sdk.Context) sdk.Dec
InflateSupply(ctx sdk.Context, newTokens sdk.Dec)
}
expected stake keeper