forked from cerc-io/laconicd-deprecated
35850e620d
* Problem: grpc query fail on legacy blocks `BaseFee` and `EthCall`. Solution: - since grpc query handlers are used for all versions of the blocks, it need to be compatible with legacy formats. debug fix basefee fetch Revert "debug" This reverts commit 50ebaf697fc06b0d6e26abd8de8f89717e8a219d. update gomod2nix Update CHANGELOG.md debug fix panic Revert "debug" This reverts commit e08af04b0776bd390c42706cc9ec978e00bcb3bb. * add upgrade integration test * Update tests/integration_tests/configs/upgrade-test-package.nix Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
52 lines
1.4 KiB
Go
52 lines
1.4 KiB
Go
package keeper
|
|
|
|
import (
|
|
"math/big"
|
|
|
|
sdkmath "cosmossdk.io/math"
|
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
|
"github.com/evmos/ethermint/x/feemarket/types"
|
|
)
|
|
|
|
// GetParams returns the total set of fee market parameters.
|
|
func (k Keeper) GetParams(ctx sdk.Context) (params types.Params) {
|
|
// TODO: update once https://github.com/cosmos/cosmos-sdk/pull/12615 is merged
|
|
// and released
|
|
for _, pair := range params.ParamSetPairs() {
|
|
k.paramSpace.GetIfExists(ctx, pair.Key, pair.Value)
|
|
}
|
|
return params
|
|
}
|
|
|
|
// SetParams sets the fee market parameters to the param space.
|
|
func (k Keeper) SetParams(ctx sdk.Context, params types.Params) {
|
|
k.paramSpace.SetParamSet(ctx, ¶ms)
|
|
}
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Parent Base Fee
|
|
// Required by EIP1559 base fee calculation.
|
|
// ----------------------------------------------------------------------------
|
|
|
|
// GetBaseFee get's the base fee from the paramSpace
|
|
// return nil if base fee is not enabled
|
|
func (k Keeper) GetBaseFee(ctx sdk.Context) *big.Int {
|
|
params := k.GetParams(ctx)
|
|
if params.NoBaseFee {
|
|
return nil
|
|
}
|
|
|
|
baseFee := params.BaseFee.BigInt()
|
|
if baseFee == nil || baseFee.Sign() == 0 {
|
|
// try v1 format
|
|
return k.GetBaseFeeV1(ctx)
|
|
}
|
|
|
|
return baseFee
|
|
}
|
|
|
|
// SetBaseFee set's the base fee in the paramSpace
|
|
func (k Keeper) SetBaseFee(ctx sdk.Context, baseFee *big.Int) {
|
|
k.paramSpace.Set(ctx, types.ParamStoreKeyBaseFee, sdkmath.NewIntFromBigInt(baseFee))
|
|
}
|