diff --git a/app/upgrades/types.go b/app/upgrades/types.go index 6a313828f..b366fc84a 100644 --- a/app/upgrades/types.go +++ b/app/upgrades/types.go @@ -19,6 +19,8 @@ import ( feemarketkeeper "github.com/skip-mev/feemarket/x/feemarket/keeper" marketmapkeeper "github.com/skip-mev/slinky/x/marketmap/keeper" + dexkeeper "github.com/neutron-org/neutron/v5/x/dex/keeper" + dynamicfeeskeeper "github.com/neutron-org/neutron/v5/x/dynamicfees/keeper" contractmanagerkeeper "github.com/neutron-org/neutron/v5/x/contractmanager/keeper" diff --git a/app/upgrades/v5.0.0/constants.go b/app/upgrades/v5.0.0/constants.go index 06352d8b8..bed22a0a6 100644 --- a/app/upgrades/v5.0.0/constants.go +++ b/app/upgrades/v5.0.0/constants.go @@ -10,6 +10,8 @@ import ( const ( // UpgradeName defines the on-chain upgrade name. UpgradeName = "v5.0.0" + + MarketMapAuthorityMultisig = "neutron1anjpluecd0tdc0n8xzc3l5hua4h93wyq0x7v56" // RateLimitContract defines the RL contract addr which we set as a contract address in ibc-rate-limit middleware // https://neutron.celat.one/neutron-1/contracts/neutron15aqgplxcavqhurr0g5wwtdw6025dknkqwkfh0n46gp2qjl6236cs2yd3nl RateLimitContract = "neutron15aqgplxcavqhurr0g5wwtdw6025dknkqwkfh0n46gp2qjl6236cs2yd3nl" diff --git a/app/upgrades/v5.0.0/upgrades.go b/app/upgrades/v5.0.0/upgrades.go index 8f49c1140..5bdc9c1b3 100644 --- a/app/upgrades/v5.0.0/upgrades.go +++ b/app/upgrades/v5.0.0/upgrades.go @@ -5,9 +5,14 @@ import ( "fmt" upgradetypes "cosmossdk.io/x/upgrade/types" + adminmoduletypes "github.com/cosmos/admin-module/v2/x/adminmodule/types" "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/module" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" + marketmapkeeper "github.com/skip-mev/slinky/x/marketmap/keeper" + marketmaptypes "github.com/skip-mev/slinky/x/marketmap/types" + "github.com/neutron-org/neutron/v5/app/upgrades" dexkeeper "github.com/neutron-org/neutron/v5/x/dex/keeper" ibcratelimitkeeper "github.com/neutron-org/neutron/v5/x/ibc-rate-limit/keeper" @@ -39,6 +44,11 @@ func CreateUpgradeHandler( } } + err = setMarketMapParams(ctx, keepers.MarketmapKeeper) + if err != nil { + return nil, err + } + ctx.Logger().Info("Running ibc-rate-limit upgrades...") // Only set rate limit contract for mainnet if ctx.ChainID() == "neutron-1" { @@ -81,3 +91,11 @@ func upgradeIbcRateLimitSetContract(ctx sdk.Context, k ibcratelimitkeeper.Keeper return nil } + +func setMarketMapParams(ctx sdk.Context, marketmapKeeper *marketmapkeeper.Keeper) error { + marketmapParams := marketmaptypes.Params{ + MarketAuthorities: []string{authtypes.NewModuleAddress(adminmoduletypes.ModuleName).String(), MarketMapAuthorityMultisig}, + Admin: authtypes.NewModuleAddress(adminmoduletypes.ModuleName).String(), + } + return marketmapKeeper.SetParams(ctx, marketmapParams) +} diff --git a/app/upgrades/v5.0.0/upgrades_test.go b/app/upgrades/v5.0.0/upgrades_test.go index 05cb9eb7a..77fd076a8 100644 --- a/app/upgrades/v5.0.0/upgrades_test.go +++ b/app/upgrades/v5.0.0/upgrades_test.go @@ -5,6 +5,7 @@ import ( "cosmossdk.io/math" upgradetypes "cosmossdk.io/x/upgrade/types" + "github.com/stretchr/testify/require" "github.com/stretchr/testify/suite" v500 "github.com/neutron-org/neutron/v5/app/upgrades/v5.0.0" @@ -27,6 +28,25 @@ func (suite *UpgradeTestSuite) SetupTest() { suite.IBCConnectionTestSuite.SetupTest() } +func (suite *UpgradeTestSuite) TestOracleUpgrade() { + app := suite.GetNeutronZoneApp(suite.ChainA) + ctx := suite.ChainA.GetContext() + t := suite.T() + + upgrade := upgradetypes.Plan{ + Name: v500.UpgradeName, + Info: "some text here", + Height: 100, + } + require.NoError(t, app.UpgradeKeeper.ApplyUpgrade(ctx, upgrade)) + + params, err := app.MarketMapKeeper.GetParams(ctx) + suite.Require().NoError(err) + suite.Require().Equal(params.MarketAuthorities[0], "neutron1hxskfdxpp5hqgtjj6am6nkjefhfzj359x0ar3z") + suite.Require().Equal(params.MarketAuthorities[1], v500.MarketMapAuthorityMultisig) + suite.Require().Equal(params.Admin, "neutron1hxskfdxpp5hqgtjj6am6nkjefhfzj359x0ar3z") +} + func (suite *UpgradeTestSuite) TestUpgradeDexPause() { var ( app = suite.GetNeutronZoneApp(suite.ChainA)