From e98863bf7112f4b117a2114e22f7482367362764 Mon Sep 17 00:00:00 2001 From: Andrea Di Michele Date: Sat, 9 Mar 2024 19:23:08 +0530 Subject: [PATCH] chore: pfm bump (#980) * chore: pgf bump * add testnet upgrade handler --- app/app.go | 4 +- app/keepers/keepers.go | 5 ++- app/modules.go | 2 +- .../testnet/v21.0.0-alpha.1/constants.go | 45 +++++++++++++++++++ .../testnet/v21.0.0-alpha.1/upgrade_test.go | 40 +++++++++++++++++ app/upgrades/v21/constants.go | 4 +- go.mod | 2 +- go.sum | 2 + 8 files changed, 96 insertions(+), 8 deletions(-) create mode 100644 app/upgrades/testnet/v21.0.0-alpha.1/constants.go create mode 100644 app/upgrades/testnet/v21.0.0-alpha.1/upgrade_test.go diff --git a/app/app.go b/app/app.go index cb12c586e..b69a83bf3 100644 --- a/app/app.go +++ b/app/app.go @@ -71,6 +71,7 @@ import ( testnetV18alpha3 "github.com/CosmosContracts/juno/v21/app/upgrades/testnet/v18.0.0-alpha.3" testnetV18alpha4 "github.com/CosmosContracts/juno/v21/app/upgrades/testnet/v18.0.0-alpha.4" testnetV19alpha3 "github.com/CosmosContracts/juno/v21/app/upgrades/testnet/v19.0.0-alpha.3" + testnetV21alpha1 "github.com/CosmosContracts/juno/v21/app/upgrades/testnet/v21.0.0-alpha.1" v10 "github.com/CosmosContracts/juno/v21/app/upgrades/v10" v11 "github.com/CosmosContracts/juno/v21/app/upgrades/v11" v12 "github.com/CosmosContracts/juno/v21/app/upgrades/v12" @@ -109,7 +110,8 @@ var ( testnetV18alpha3.Upgrade, testnetV18alpha4.Upgrade, testnetV19alpha3.Upgrade, - + testnetV21alpha1.Upgrade, + v10.Upgrade, v11.Upgrade, v12.Upgrade, diff --git a/app/keepers/keepers.go b/app/keepers/keepers.go index bb8ea037b..1411e272a 100644 --- a/app/keepers/keepers.go +++ b/app/keepers/keepers.go @@ -401,14 +401,15 @@ func NewAppKeepers( // Initialize packet forward middleware router appKeepers.PacketForwardKeeper = packetforwardkeeper.NewKeeper( appCodec, appKeepers.keys[packetforwardtypes.StoreKey], - appKeepers.GetSubspace(packetforwardtypes.ModuleName), appKeepers.TransferKeeper, // Will be zero-value here. Reference is set later on with SetTransferKeeper. appKeepers.IBCKeeper.ChannelKeeper, appKeepers.DistrKeeper, appKeepers.BankKeeper, appKeepers.HooksICS4Wrapper, + govModAddress, ) + // Create Transfer Keepers appKeepers.TransferKeeper = ibctransferkeeper.NewKeeper( appCodec, @@ -748,7 +749,7 @@ func initParamsKeeper(appCodec codec.BinaryCodec, legacyAmino *codec.LegacyAmino paramsKeeper.Subspace(icahosttypes.SubModuleName) paramsKeeper.Subspace(icacontrollertypes.SubModuleName) paramsKeeper.Subspace(icqtypes.ModuleName) - paramsKeeper.Subspace(packetforwardtypes.ModuleName) + paramsKeeper.Subspace(packetforwardtypes.ModuleName).WithKeyTable(packetforwardtypes.ParamKeyTable()) paramsKeeper.Subspace(globalfee.ModuleName) paramsKeeper.Subspace(tokenfactorytypes.ModuleName) paramsKeeper.Subspace(feesharetypes.ModuleName) diff --git a/app/modules.go b/app/modules.go index e1e794534..1b5211828 100644 --- a/app/modules.go +++ b/app/modules.go @@ -170,7 +170,7 @@ func appModules( // IBC modules ibc_hooks.NewAppModule(app.AppKeepers.AccountKeeper), icq.NewAppModule(app.AppKeepers.ICQKeeper), - packetforward.NewAppModule(app.AppKeepers.PacketForwardKeeper), + packetforward.NewAppModule(app.AppKeepers.PacketForwardKeeper, app.GetSubspace(packetforwardtypes.ModuleName)), wasmlc.NewAppModule(app.AppKeepers.WasmClientKeeper), } } diff --git a/app/upgrades/testnet/v21.0.0-alpha.1/constants.go b/app/upgrades/testnet/v21.0.0-alpha.1/constants.go new file mode 100644 index 000000000..8c5cca965 --- /dev/null +++ b/app/upgrades/testnet/v21.0.0-alpha.1/constants.go @@ -0,0 +1,45 @@ +package v21 + +import ( + "fmt" + + store "github.com/cosmos/cosmos-sdk/store/types" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/module" + upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" + + "github.com/CosmosContracts/juno/v21/app/keepers" + "github.com/CosmosContracts/juno/v21/app/upgrades" +) + +// UpgradeName defines the on-chain upgrade name for the upgrade. +const UpgradeName = "v2100alpha1" + +var Upgrade = upgrades.Upgrade{ + UpgradeName: UpgradeName, + CreateUpgradeHandler: v2100Alpha1UpgradeHandler, + StoreUpgrades: store.StoreUpgrades{}, +} + +func v2100Alpha1UpgradeHandler( + mm *module.Manager, + cfg module.Configurator, + k *keepers.AppKeepers, +) upgradetypes.UpgradeHandler { + return func(ctx sdk.Context, _ upgradetypes.Plan, vm module.VersionMap) (module.VersionMap, error) { + logger := ctx.Logger().With("upgrade", UpgradeName) + + nativeDenom := upgrades.GetChainsDenomToken(ctx.ChainID()) + logger.Info(fmt.Sprintf("With native denom %s", nativeDenom)) + + // Run migrations + logger.Info(fmt.Sprintf("pre migrate version map: %v", vm)) + versionMap, err := mm.RunMigrations(ctx, cfg, vm) + if err != nil { + return nil, err + } + logger.Info(fmt.Sprintf("post migrate version map: %v", versionMap)) + + return versionMap, err + } +} diff --git a/app/upgrades/testnet/v21.0.0-alpha.1/upgrade_test.go b/app/upgrades/testnet/v21.0.0-alpha.1/upgrade_test.go new file mode 100644 index 000000000..d5b2cf424 --- /dev/null +++ b/app/upgrades/testnet/v21.0.0-alpha.1/upgrade_test.go @@ -0,0 +1,40 @@ +package v21_test + +import ( + "testing" + + "github.com/stretchr/testify/suite" + + "github.com/CosmosContracts/juno/v21/app/apptesting" + v19alpha3 "github.com/CosmosContracts/juno/v21/app/upgrades/testnet/v19.0.0-alpha.3" +) + +type UpgradeTestSuite struct { + apptesting.KeeperTestHelper +} + +func (s *UpgradeTestSuite) SetupTest() { + s.Setup() +} + +func TestKeeperTestSuite(t *testing.T) { + suite.Run(t, new(UpgradeTestSuite)) +} + +// Ensures the test does not error out. +func (s *UpgradeTestSuite) TestUpgrade() { + s.Setup() + + preUpgradeChecks(s) + + upgradeHeight := int64(5) + s.ConfirmUpgradeSucceeded(v19alpha3.UpgradeName, upgradeHeight) + + postUpgradeChecks(s) +} + +func preUpgradeChecks(_ *UpgradeTestSuite) { +} + +func postUpgradeChecks(_ *UpgradeTestSuite) { +} diff --git a/app/upgrades/v21/constants.go b/app/upgrades/v21/constants.go index bf071896c..4cbf57bac 100644 --- a/app/upgrades/v21/constants.go +++ b/app/upgrades/v21/constants.go @@ -12,7 +12,5 @@ const UpgradeName = "v21" var Upgrade = upgrades.Upgrade{ UpgradeName: UpgradeName, CreateUpgradeHandler: CreateV21UpgradeHandler, - StoreUpgrades: store.StoreUpgrades{ - Added: []string{}, - }, + StoreUpgrades: store.StoreUpgrades{}, } diff --git a/go.mod b/go.mod index c5778ac8e..3d054b12c 100644 --- a/go.mod +++ b/go.mod @@ -17,7 +17,7 @@ require ( github.com/cometbft/cometbft-db v0.8.0 github.com/cosmos/cosmos-sdk v0.47.6 github.com/cosmos/gogoproto v1.4.10 - github.com/cosmos/ibc-apps/middleware/packet-forward-middleware/v7 v7.0.1 + github.com/cosmos/ibc-apps/middleware/packet-forward-middleware/v7 v7.1.3-0.20240228213828-cce7f56d000b github.com/cosmos/ibc-apps/modules/async-icq/v7 v7.0.0 github.com/cosmos/ibc-apps/modules/ibc-hooks/v7 v7.0.0-20230803181732-7c8f814d3b79 // https://github.com/cosmos/ibc-go/releases/tag/modules%2Flight-clients%2F08-wasm%2Fv0.1.0%2Bibc-go-v7.3-wasmvm-v1.5 diff --git a/go.sum b/go.sum index 5270fe279..e2dc3449d 100644 --- a/go.sum +++ b/go.sum @@ -413,6 +413,8 @@ github.com/cosmos/iavl v0.20.1 h1:rM1kqeG3/HBT85vsZdoSNsehciqUQPWrR4BYmqE2+zg= github.com/cosmos/iavl v0.20.1/go.mod h1:WO7FyvaZJoH65+HFOsDir7xU9FWk2w9cHXNW1XHcl7A= github.com/cosmos/ibc-apps/middleware/packet-forward-middleware/v7 v7.0.1 h1:8mK4Ha/56P6jkRcLhIYhg/ipWhEuXBtj5O4I6fAi6vg= github.com/cosmos/ibc-apps/middleware/packet-forward-middleware/v7 v7.0.1/go.mod h1:GGUJN4LnB3J1Luu4kxTklQLbW69So3QXUndSalB003s= +github.com/cosmos/ibc-apps/middleware/packet-forward-middleware/v7 v7.1.3-0.20240228213828-cce7f56d000b h1:VwhHRRIPdMshBMb2TP7xrkY4Ee8CJWsHZvucYeJ56no= +github.com/cosmos/ibc-apps/middleware/packet-forward-middleware/v7 v7.1.3-0.20240228213828-cce7f56d000b/go.mod h1:UvDmcGIWJPIytq+Q78/ff5NTOsuX/7IrNgEugTW5i0s= github.com/cosmos/ibc-apps/modules/async-icq/v7 v7.0.0 h1:mMHedP3Q+mz5gpOWNz0P+X8hxPdamylrBKc/P2cFakA= github.com/cosmos/ibc-apps/modules/async-icq/v7 v7.0.0/go.mod h1:/P6l2bWo2AR3rrsfs0DHuFZO3Imzb93sxFD3ihrIgw4= github.com/cosmos/ibc-apps/modules/ibc-hooks/v7 v7.0.0-20230803181732-7c8f814d3b79 h1:pCxyhIxgWTabAQC5UerkITraHG3SwajdLKKMCFDWCv4=