From a59289cafb7b71089f0e37f4ca13eed532fdbf43 Mon Sep 17 00:00:00 2001 From: Daniel T <30197399+danwt@users.noreply.github.com> Date: Tue, 14 Jan 2025 11:41:23 +0000 Subject: [PATCH] fix(migration): add missing evmos params from 2D (#453) --- app/app.go | 7 ++--- app/upgrades/drs-5-from2d/upgrade.go | 31 +++++++++++++++++++++++ app/upgrades/drs-5-from2d/upgrade_test.go | 7 +++++ app/upgrades/types.go | 8 +++--- 4 files changed, 47 insertions(+), 6 deletions(-) diff --git a/app/app.go b/app/app.go index 43168817..6ca16c0f 100644 --- a/app/app.go +++ b/app/app.go @@ -1156,9 +1156,10 @@ func (app *App) setupUpgradeHandler(u upgrades.Upgrade) { u.Name, u.CreateHandler( upgrades.UpgradeKeepers{ - RpKeeper: app.RollappParamsKeeper, - EvmKeeper: app.EvmKeeper, - HubgenK: app.HubGenesisKeeper, + RpKeeper: app.RollappParamsKeeper, + EvmKeeper: app.EvmKeeper, + HubgenK: app.HubGenesisKeeper, + Erc20keeper: app.Erc20Keeper, }, app.mm, app.configurator, diff --git a/app/upgrades/drs-5-from2d/upgrade.go b/app/upgrades/drs-5-from2d/upgrade.go index 1f7dc42e..3c896e38 100644 --- a/app/upgrades/drs-5-from2d/upgrade.go +++ b/app/upgrades/drs-5-from2d/upgrade.go @@ -3,6 +3,7 @@ package drs5from2d import ( "fmt" + errorsmod "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/module" upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" @@ -10,6 +11,9 @@ import ( hubgenesistypes "github.com/dymensionxyz/dymension-rdk/x/hub-genesis/types" rollappparamskeeper "github.com/dymensionxyz/dymension-rdk/x/rollappparams/keeper" "github.com/dymensionxyz/rollapp-evm/app/upgrades" + erc20keeper "github.com/evmos/evmos/v12/x/erc20/keeper" + erc20types "github.com/evmos/evmos/v12/x/erc20/types" + evmkeeper "github.com/evmos/evmos/v12/x/evm/keeper" ) func CreateUpgradeHandler( @@ -33,6 +37,10 @@ func CreateUpgradeHandler( return nil, fmt.Errorf("migrate rollapp params: %w", err) } + if err := migrateEvmosParams(ctx, kk.EvmKeeper, kk.Erc20keeper); err != nil { + return nil, fmt.Errorf("migrate rollapp params: %w", err) + } + return vmap, nil } } @@ -61,3 +69,26 @@ func migrateRollappParams(ctx sdk.Context, k rollappparamskeeper.Keeper) error { // no need to set min gas prices, rollapp can do it when it likes return nil } + +// migration v12.1.6-dymension-v0.4.3 -> v12.1.6-dymension-v0.5.0-rc02 +func migrateEvmosParams(ctx sdk.Context, evmK *evmkeeper.Keeper, erc20K erc20keeper.Keeper) error { + + { + p := evmK.GetParams(ctx) + p.GasDenom = p.EvmDenom + + if err := evmK.SetParams(ctx, p); err != nil { + return errorsmod.Wrap(err, "evm set params") + } + } + + { + p := erc20K.GetParams(ctx) + p.RegistrationFee = erc20types.DefaultRegistrationFee + if err := erc20K.SetParams(ctx, p); err != nil { + return errorsmod.Wrap(err, "erc20 set params") + } + } + + return nil +} diff --git a/app/upgrades/drs-5-from2d/upgrade_test.go b/app/upgrades/drs-5-from2d/upgrade_test.go index f6c9011b..46c50538 100644 --- a/app/upgrades/drs-5-from2d/upgrade_test.go +++ b/app/upgrades/drs-5-from2d/upgrade_test.go @@ -4,6 +4,7 @@ import ( "testing" up "github.com/dymensionxyz/rollapp-evm/app/upgrades/drs-5-from2d" + erc20types "github.com/evmos/evmos/v12/x/erc20/types" abci "github.com/tendermint/tendermint/abci/types" upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" @@ -52,4 +53,10 @@ func TestBeginBlocker(t *testing.T) { p := app.RollappParamsKeeper.GetParams(ctx) require.Equal(t, up.DRS, p.DrsVersion, "Version should be set to DRS") require.Equal(t, up.DA, p.Da, "Version should be set to DRS") + + evmParams := app.EvmKeeper.GetParams(ctx) + require.Equal(t, evmParams.GasDenom, evmParams.EvmDenom, "GasDenom should be set to EvmDenom") + + erc20Params := app.Erc20Keeper.GetParams(ctx) + require.Equal(t, erc20Params.RegistrationFee, erc20types.DefaultRegistrationFee, "RegistrationFee should be set to DefaultRegistrationFee") } diff --git a/app/upgrades/types.go b/app/upgrades/types.go index 3ae9441c..667b19d7 100644 --- a/app/upgrades/types.go +++ b/app/upgrades/types.go @@ -6,13 +6,15 @@ import ( upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" hubgenkeeper "github.com/dymensionxyz/dymension-rdk/x/hub-genesis/keeper" rollappparamskeeper "github.com/dymensionxyz/dymension-rdk/x/rollappparams/keeper" + erc20keeper "github.com/evmos/evmos/v12/x/erc20/keeper" evmkeeper "github.com/evmos/evmos/v12/x/evm/keeper" ) type UpgradeKeepers struct { - RpKeeper rollappparamskeeper.Keeper - EvmKeeper *evmkeeper.Keeper - HubgenK hubgenkeeper.Keeper + RpKeeper rollappparamskeeper.Keeper + EvmKeeper *evmkeeper.Keeper + Erc20keeper erc20keeper.Keeper + HubgenK hubgenkeeper.Keeper } // Upgrade defines a struct containing necessary fields that a SoftwareUpgradeProposal