Skip to content

Commit 7e79510

Browse files
authored
fix: use GetParamsIfExists() to fetch old params (#1842)
Co-authored-by: blindchaser <zengyiren@hotmail.com>
1 parent c2a0d85 commit 7e79510

File tree

3 files changed

+35
-3
lines changed

3 files changed

+35
-3
lines changed

x/evm/keeper/params.go

+6
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,12 @@ func (k *Keeper) GetParams(ctx sdk.Context) types.Params {
2121
return params
2222
}
2323

24+
func (k *Keeper) GetParamsIfExists(ctx sdk.Context) types.Params {
25+
params := types.Params{}
26+
k.Paramstore.GetParamSetIfExists(ctx, &params)
27+
return params
28+
}
29+
2430
func (k *Keeper) GetBaseDenom(ctx sdk.Context) string {
2531
return BaseDenom
2632
}

x/evm/keeper/params_test.go

+26
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"testing"
55
"time"
66

7+
sdk "github.com/cosmos/cosmos-sdk/types"
78
testkeeper "github.com/sei-protocol/sei-chain/testutil/keeper"
89
"github.com/sei-protocol/sei-chain/x/evm/types"
910
"github.com/stretchr/testify/require"
@@ -20,3 +21,28 @@ func TestParams(t *testing.T) {
2021

2122
require.Nil(t, k.GetParams(ctx).Validate())
2223
}
24+
25+
func TestGetParamsIfExists(t *testing.T) {
26+
k := &testkeeper.EVMTestApp.EvmKeeper
27+
ctx := testkeeper.EVMTestApp.GetContextForDeliverTx([]byte{}).WithBlockTime(time.Now())
28+
29+
// Define the expected parameters
30+
expectedParams := types.Params{
31+
PriorityNormalizer: sdk.NewDec(1),
32+
BaseFeePerGas: sdk.NewDec(1),
33+
}
34+
35+
// Set only a subset of the parameters in the keeper
36+
k.Paramstore.Set(ctx, types.KeyPriorityNormalizer, expectedParams.PriorityNormalizer)
37+
k.Paramstore.Set(ctx, types.KeyBaseFeePerGas, expectedParams.BaseFeePerGas)
38+
39+
// Retrieve the parameters using GetParamsIfExists
40+
params := k.GetParamsIfExists(ctx)
41+
42+
// Assert that the retrieved parameters match the expected parameters
43+
require.Equal(t, expectedParams.PriorityNormalizer, params.PriorityNormalizer)
44+
require.Equal(t, expectedParams.BaseFeePerGas, params.BaseFeePerGas)
45+
46+
// Assert that the missing parameter has its default value
47+
require.Equal(t, types.DefaultParams().DeliverTxHookWasmGasLimit, params.DeliverTxHookWasmGasLimit)
48+
}

x/evm/migrations/migrate_deliver_tx_gas_limit.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ import (
77
)
88

99
func MigrateDeliverTxHookWasmGasLimitParam(ctx sdk.Context, k *keeper.Keeper) error {
10-
// Fetch the current parameters
11-
keeperParams := k.GetParams(ctx)
10+
// Fetch the v11 parameters
11+
keeperParams := k.GetParamsIfExists(ctx)
1212

13-
// Update DeliverTxHookWasmGasLimit to the default value
13+
// Add DeliverTxHookWasmGasLimit to with default value
1414
keeperParams.DeliverTxHookWasmGasLimit = types.DefaultParams().DeliverTxHookWasmGasLimit
1515

1616
// Set the updated parameters back in the keeper

0 commit comments

Comments
 (0)