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, &params)
    67  }