github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/libs/cosmos-sdk/x/staking/keeper/params.go (about) 1 package keeper 2 3 import ( 4 "time" 5 6 sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types" 7 "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/x/params" 8 "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/x/staking/types" 9 ) 10 11 // Default parameter namespace 12 const ( 13 DefaultParamspace = types.ModuleName 14 ) 15 16 // ParamTable for staking module 17 func ParamKeyTable() params.KeyTable { 18 return params.NewKeyTable().RegisterParamSet(&types.Params{}) 19 } 20 21 // UnbondingTime 22 func (k Keeper) UnbondingTime(ctx sdk.Context) (res time.Duration) { 23 k.paramstore.Get(ctx, types.KeyUnbondingTime, &res) 24 return 25 } 26 27 // MaxValidators - Maximum number of validators 28 func (k Keeper) MaxValidators(ctx sdk.Context) (res uint16) { 29 k.paramstore.Get(ctx, types.KeyMaxValidators, &res) 30 return 31 } 32 33 // MaxEntries - Maximum number of simultaneous unbonding 34 // delegations or redelegations (per pair/trio) 35 func (k Keeper) MaxEntries(ctx sdk.Context) (res uint16) { 36 k.paramstore.Get(ctx, types.KeyMaxEntries, &res) 37 return 38 } 39 40 // HistoricalEntries = number of historical info entries 41 // to persist in store 42 func (k Keeper) HistoricalEntries(ctx sdk.Context) (res uint16) { 43 k.paramstore.Get(ctx, types.KeyHistoricalEntries, &res) 44 return 45 } 46 47 // BondDenom - Bondable coin denomination 48 func (k Keeper) BondDenom(ctx sdk.Context) (res string) { 49 k.paramstore.Get(ctx, types.KeyBondDenom, &res) 50 return 51 } 52 53 // Get all parameteras as types.Params 54 func (k Keeper) GetParams(ctx sdk.Context) types.Params { 55 return types.NewParams( 56 k.UnbondingTime(ctx), 57 k.MaxValidators(ctx), 58 k.MaxEntries(ctx), 59 k.HistoricalEntries(ctx), 60 k.BondDenom(ctx), 61 ) 62 } 63 64 // set the params 65 func (k Keeper) SetParams(ctx sdk.Context, params types.Params) { 66 k.paramstore.SetParamSet(ctx, ¶ms) 67 }