From 8d68d5e11a332efc4201134b7758064841d19e23 Mon Sep 17 00:00:00 2001 From: Puneet <59960662+puneet2019@users.noreply.github.com> Date: Tue, 2 Jul 2024 15:00:20 +0400 Subject: [PATCH] chore: prepare v11.14.0 (#339) * prepare v11.14.0 * lint * interchain-test --- app/app.go | 4 +- app/upgrades/v11.14.0/constants.go | 18 +++++++++ app/upgrades/v11.14.0/upgrades.go | 55 ++++++++++++++++++++++++++ app/upgrades/v11.14.0/upgrades_test.go | 30 ++++++++++++++ interchaintest/chain_upgrade_test.go | 4 +- 5 files changed, 107 insertions(+), 4 deletions(-) create mode 100644 app/upgrades/v11.14.0/constants.go create mode 100644 app/upgrades/v11.14.0/upgrades.go create mode 100644 app/upgrades/v11.14.0/upgrades_test.go diff --git a/app/app.go b/app/app.go index d4665a7b..30190959 100644 --- a/app/app.go +++ b/app/app.go @@ -56,13 +56,13 @@ import ( "github.com/persistenceOne/persistenceCore/v11/app/keepers" "github.com/persistenceOne/persistenceCore/v11/app/upgrades" - v11_13_0 "github.com/persistenceOne/persistenceCore/v11/app/upgrades/v11.13.0" + v11_14_0 "github.com/persistenceOne/persistenceCore/v11/app/upgrades/v11.14.0" "github.com/persistenceOne/persistenceCore/v11/client/docs" ) var ( DefaultNodeHome string - Upgrades = []upgrades.Upgrade{v11_13_0.Upgrade} + Upgrades = []upgrades.Upgrade{v11_14_0.Upgrade} ModuleBasics = module.NewBasicManager(keepers.AppModuleBasics...) ) diff --git a/app/upgrades/v11.14.0/constants.go b/app/upgrades/v11.14.0/constants.go new file mode 100644 index 00000000..a9019167 --- /dev/null +++ b/app/upgrades/v11.14.0/constants.go @@ -0,0 +1,18 @@ +package v11_14_0 + +import ( + store "github.com/cosmos/cosmos-sdk/store/types" + + "github.com/persistenceOne/persistenceCore/v11/app/upgrades" +) + +const ( + // UpgradeName defines the on-chain upgrade name. + UpgradeName = "v11.14.0" +) + +var Upgrade = upgrades.Upgrade{ + UpgradeName: UpgradeName, + CreateUpgradeHandler: CreateUpgradeHandler, + StoreUpgrades: store.StoreUpgrades{}, +} diff --git a/app/upgrades/v11.14.0/upgrades.go b/app/upgrades/v11.14.0/upgrades.go new file mode 100644 index 00000000..2a75425e --- /dev/null +++ b/app/upgrades/v11.14.0/upgrades.go @@ -0,0 +1,55 @@ +package v11_14_0 + +import ( + 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/persistenceOne/pstake-native/v2/x/liquidstakeibc/keeper" + liquidstakeibctypes "github.com/persistenceOne/pstake-native/v2/x/liquidstakeibc/types" + + "github.com/persistenceOne/persistenceCore/v11/app/upgrades" +) + +func CreateUpgradeHandler(args upgrades.UpgradeHandlerArgs) upgradetypes.UpgradeHandler { + return func(ctx sdk.Context, plan upgradetypes.Plan, vm module.VersionMap) (module.VersionMap, error) { + ctx.Logger().Info("running module migrations...") + + RemoveStargazeUnbondedBalance(ctx, args.Keepers.LiquidStakeIBCKeeper) + + return args.ModuleManager.RunMigrations(ctx, args.Configurator, vm) + } +} + +func RemoveStargazeUnbondedBalance(ctx sdk.Context, liquidStakeIBCKeeper *keeper.Keeper) { + ctx.Logger().Info("starting to move tokens...") + + // as per https://github.com/persistenceOne/pstake-native/issues/853 + chainID := "stargaze-1" + epoch := int64(582) + stkAmt := sdk.NewCoin("stk/ustars", sdk.NewInt(60621412694)) + unbondAmt := sdk.NewCoin("ustars", sdk.NewInt(62810179898)) + refillerAddr := "persistence1fp6qhht94pmfdq9h94dvw0tnmnlf2vutnlu7pt" + + ctx.Logger().Info("set user unbonding...") + liquidStakeIBCKeeper.SetUserUnbonding(ctx, &liquidstakeibctypes.UserUnbonding{ + ChainId: chainID, + EpochNumber: epoch, + Address: refillerAddr, + StkAmount: stkAmt, + UnbondAmount: unbondAmt, + }) + + ctx.Logger().Info("set epoch unbonding...") + liquidStakeIBCKeeper.SetUnbonding(ctx, &liquidstakeibctypes.Unbonding{ + ChainId: chainID, + EpochNumber: epoch, + MatureTime: ctx.BlockTime(), + BurnAmount: stkAmt, + UnbondAmount: unbondAmt, + IbcSequenceId: "", + State: 2, + }) + + ctx.Logger().Info("done remove stargaze unbonded balance...") + +} diff --git a/app/upgrades/v11.14.0/upgrades_test.go b/app/upgrades/v11.14.0/upgrades_test.go new file mode 100644 index 00000000..fd9db816 --- /dev/null +++ b/app/upgrades/v11.14.0/upgrades_test.go @@ -0,0 +1,30 @@ +package v11_14_0_test + +import ( + "testing" + + "github.com/CosmWasm/wasmd/x/wasm" + dbm "github.com/cometbft/cometbft-db" + "github.com/cometbft/cometbft/libs/log" + tmproto "github.com/cometbft/cometbft/proto/tendermint/types" + simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" + "github.com/cosmos/cosmos-sdk/types" + "github.com/stretchr/testify/require" + + "github.com/persistenceOne/persistenceCore/v11/app" + v11_14_0 "github.com/persistenceOne/persistenceCore/v11/app/upgrades/v11.14.0" +) + +func TestRemoveStargazeUnbondedBalance(t *testing.T) { + testApp := app.NewApplication(log.NewNopLogger(), dbm.NewMemDB(), nil, true, simtestutil.NewAppOptionsWithFlagHome(""), []wasm.Option{}) + ctx := testApp.NewContext(true, tmproto.Header{}) + v11_14_0.RemoveStargazeUnbondedBalance(ctx, testApp.LiquidStakeIBCKeeper) + + unbonding, ok := testApp.LiquidStakeIBCKeeper.GetUnbonding(ctx, "stargaze-1", 582) + require.True(t, ok) + require.Equal(t, types.NewInt(62810179898), unbonding.UnbondAmount.Amount) + + userUnbonding, ok := testApp.LiquidStakeIBCKeeper.GetUserUnbonding(ctx, "stargaze-1", "persistence1fp6qhht94pmfdq9h94dvw0tnmnlf2vutnlu7pt", 582) + require.True(t, ok) + require.Equal(t, types.NewInt(62810179898), userUnbonding.UnbondAmount.Amount) +} diff --git a/interchaintest/chain_upgrade_test.go b/interchaintest/chain_upgrade_test.go index cb6d5ba2..c7c99166 100644 --- a/interchaintest/chain_upgrade_test.go +++ b/interchaintest/chain_upgrade_test.go @@ -29,8 +29,8 @@ const ( func TestPersistenceUpgradeBasic(t *testing.T) { var ( chainName = "persistence" - initialVersion = "v11.12.0" - upgradeName = "v11.13.0" + initialVersion = "v11.13.0" + upgradeName = "v11.14.0" upgradeRepo = PersistenceCoreImage.Repository upgradeBranchVersion = PersistenceCoreImage.Version )