Skip to content

Commit

Permalink
chore(upgrade): port v14.2 handler, utils and tests to v15 handler (#…
Browse files Browse the repository at this point in the history
…1860)

port v14.2 handler, utils and tests to v15 handler
  • Loading branch information
MalteHerrmann committed Oct 13, 2023
1 parent 3b1a2b3 commit 576e2c2
Show file tree
Hide file tree
Showing 7 changed files with 45 additions and 81 deletions.
7 changes: 3 additions & 4 deletions app/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,6 @@ import (
v12 "github.com/evmos/evmos/v14/app/upgrades/v12"
v13 "github.com/evmos/evmos/v14/app/upgrades/v13"
v14 "github.com/evmos/evmos/v14/app/upgrades/v14"
v142 "github.com/evmos/evmos/v14/app/upgrades/v14_2"
v15 "github.com/evmos/evmos/v14/app/upgrades/v15"
v8 "github.com/evmos/evmos/v14/app/upgrades/v8"
v81 "github.com/evmos/evmos/v14/app/upgrades/v8_1"
Expand Down Expand Up @@ -1305,10 +1304,10 @@ func (app *Evmos) setupUpgradeHandlers() {
),
)

// v14.2 upgrade handler
// v15 upgrade handler
app.UpgradeKeeper.SetUpgradeHandler(
v142.UpgradeName,
v142.CreateUpgradeHandler(
v15.UpgradeName,
v15.CreateUpgradeHandler(
app.mm, app.configurator,
app.BankKeeper,
app.EvmKeeper,
Expand Down
11 changes: 0 additions & 11 deletions app/upgrades/v14_2/constants.go

This file was deleted.

59 changes: 0 additions & 59 deletions app/upgrades/v14_2/upgrades.go

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// Copyright Tharsis Labs Ltd.(Evmos)
// SPDX-License-Identifier:ENCL-1.0(https://github.com/evmos/evmos/blob/main/LICENSE)
package v142_test
package v15_test

import (
"testing"
Expand Down
39 changes: 37 additions & 2 deletions app/upgrades/v15/upgrades.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,23 +5,58 @@ package v15
import (
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/cosmos/cosmos-sdk/types/module"
bankkeeper "github.com/cosmos/cosmos-sdk/x/bank/keeper"
stakingkeeper "github.com/cosmos/cosmos-sdk/x/staking/keeper"
upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types"
v14 "github.com/evmos/evmos/v14/app/upgrades/v14"
"github.com/evmos/evmos/v14/utils"
evmkeeper "github.com/evmos/evmos/v14/x/evm/keeper"
)

// CreateUpgradeHandler creates an SDK upgrade handler for v15.0.0
func CreateUpgradeHandler(
mm *module.Manager,
configurator module.Configurator,
bk bankkeeper.Keeper,
ek *evmkeeper.Keeper,
sk stakingkeeper.Keeper,
) upgradetypes.UpgradeHandler {
return func(ctx sdk.Context, _ upgradetypes.Plan, vm module.VersionMap) (module.VersionMap, error) {
logger := ctx.Logger().With("upgrade", UpgradeName)

// we are depecrating crisis module since it is not being used
logger.Debug("deleting feesplit module from version map...")
if utils.IsMainnet(ctx.ChainID()) {
logger.Info("migrating strategic reserves")
if err := v14.MigrateNativeMultisigs(
ctx, bk, sk, v14.NewTeamStrategicReserveAcc, v14.OldStrategicReserves...,
); err != nil {
// NOTE: log error instead of aborting the upgrade
logger.Error("error while migrating native multisigs", "error", err)
}
}

// Add EIP contained in Shanghai hard fork to the extra EIPs
// in the EVM parameters. This enables using the PUSH0 opcode and
// thus supports Solidity v0.8.20.
logger.Info("adding EIP 3855 to EVM parameters")
err := EnableEIPs(ctx, ek, 3855)
if err != nil {
logger.Error("error while enabling EIPs", "error", err)
}

// we are deprecating the crisis module since it is not being used
logger.Debug("deleting crisis module from version map...")
delete(vm, "crisis")

// Leave modules are as-is to avoid running InitGenesis.
logger.Debug("running module migrations ...")
return mm.RunMigrations(ctx, configurator, vm)
}
}

// EnableEIPs enables the given EIPs in the EVM parameters.
func EnableEIPs(ctx sdk.Context, ek *evmkeeper.Keeper, eips ...int64) error {
evmParams := ek.GetParams(ctx)
evmParams.ExtraEIPs = append(evmParams.ExtraEIPs, eips...)

return ek.SetParams(ctx, evmParams)
}
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package v142_test
package v15_test

import (
sdk "github.com/cosmos/cosmos-sdk/types"
v142 "github.com/evmos/evmos/v14/app/upgrades/v14_2"
v15 "github.com/evmos/evmos/v14/app/upgrades/v15"
evmkeeper "github.com/evmos/evmos/v14/x/evm/keeper"
evmtypes "github.com/evmos/evmos/v14/x/evm/types"
)
Expand Down Expand Up @@ -65,7 +65,7 @@ func (s *UpgradesTestSuite) TestEnableEIPs() {
tc.malleate(s.ctx, s.app.EvmKeeper)
}

err := v142.EnableEIPs(s.ctx, s.app.EvmKeeper, tc.extraEIPs...)
err := v15.EnableEIPs(s.ctx, s.app.EvmKeeper, tc.extraEIPs...)

if tc.expPass {
s.Require().NoError(err, "expected no error enabling EIPs")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// Copyright Tharsis Labs Ltd.(Evmos)
// SPDX-License-Identifier:ENCL-1.0(https://github.com/evmos/evmos/blob/main/LICENSE)
package v142_test
package v15_test

import (
"encoding/json"
Expand Down

0 comments on commit 576e2c2

Please sign in to comment.