github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/x/evm/keeper/params.go (about)

     1  package keeper
     2  
     3  import (
     4  	sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types"
     5  	"github.com/fibonacci-chain/fbc/x/evm/types"
     6  )
     7  
     8  // GetParams returns the total set of evm parameters.
     9  func (k *Keeper) GetParams(ctx sdk.Context) (params types.Params) {
    10  	if ctx.UseParamCache() {
    11  		if types.GetEvmParamsCache().IsNeedParamsUpdate() {
    12  			params = k.getParams(ctx)
    13  			types.GetEvmParamsCache().UpdateParams(params, ctx.IsCheckTx())
    14  		} else {
    15  			params = types.GetEvmParamsCache().GetParams()
    16  		}
    17  	} else {
    18  		params = k.getParams(ctx)
    19  	}
    20  
    21  	return
    22  }
    23  
    24  func (k *Keeper) getParams(ctx sdk.Context) (params types.Params) {
    25  	k.paramSpace.GetParamSet(ctx, &params)
    26  	return
    27  }
    28  
    29  // SetParams sets the evm parameters to the param space.
    30  func (k *Keeper) SetParams(ctx sdk.Context, params types.Params) {
    31  	if k.EvmStateDb != nil {
    32  		k.EvmStateDb.WithContext(ctx).SetParams(params)
    33  	}
    34  
    35  	k.paramSpace.SetParamSet(ctx, &params)
    36  	types.GetEvmParamsCache().SetNeedParamsUpdate()
    37  }