From ef2d0b0faf97b324f1530bd8bb8a40cdbe694ce6 Mon Sep 17 00:00:00 2001 From: quasisamurai Date: Tue, 1 Oct 2024 09:15:42 -0300 Subject: [PATCH] add ibc rate limit contract init to upgrade --- app/upgrades/types.go | 2 ++ app/upgrades/v5.0.0/constants.go | 3 +++ app/upgrades/v5.0.0/upgrades.go | 24 ++++++++++++++++++++++++ 3 files changed, 29 insertions(+) diff --git a/app/upgrades/types.go b/app/upgrades/types.go index 51e44ef13..6a313828f 100644 --- a/app/upgrades/types.go +++ b/app/upgrades/types.go @@ -14,6 +14,7 @@ import ( capabilitykeeper "github.com/cosmos/ibc-go/modules/capability/keeper" ccvconsumerkeeper "github.com/cosmos/interchain-security/v5/x/ccv/consumer/keeper" dexkeeper "github.com/neutron-org/neutron/v5/x/dex/keeper" + ibcratelimitkeeper "github.com/neutron-org/neutron/v5/x/ibc-rate-limit/keeper" auctionkeeper "github.com/skip-mev/block-sdk/v2/x/auction/keeper" feemarketkeeper "github.com/skip-mev/feemarket/x/feemarket/keeper" marketmapkeeper "github.com/skip-mev/slinky/x/marketmap/keeper" @@ -66,6 +67,7 @@ type UpgradeKeepers struct { FeeMarketKeeper *feemarketkeeper.Keeper DynamicfeesKeeper *dynamicfeeskeeper.Keeper DexKeeper *dexkeeper.Keeper + IbcRateLimitKeeper *ibcratelimitkeeper.Keeper // subspaces GlobalFeeSubspace paramtypes.Subspace CcvConsumerSubspace paramtypes.Subspace diff --git a/app/upgrades/v5.0.0/constants.go b/app/upgrades/v5.0.0/constants.go index 96adc3463..06352d8b8 100644 --- a/app/upgrades/v5.0.0/constants.go +++ b/app/upgrades/v5.0.0/constants.go @@ -10,6 +10,9 @@ import ( const ( // UpgradeName defines the on-chain upgrade name. UpgradeName = "v5.0.0" + // 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" ) var Upgrade = upgrades.Upgrade{ diff --git a/app/upgrades/v5.0.0/upgrades.go b/app/upgrades/v5.0.0/upgrades.go index 143db2b7b..8f49c1140 100644 --- a/app/upgrades/v5.0.0/upgrades.go +++ b/app/upgrades/v5.0.0/upgrades.go @@ -10,6 +10,8 @@ import ( "github.com/cosmos/cosmos-sdk/types/module" "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" + ibcratelimittypes "github.com/neutron-org/neutron/v5/x/ibc-rate-limit/types" ) func CreateUpgradeHandler( @@ -37,6 +39,15 @@ func CreateUpgradeHandler( } } + ctx.Logger().Info("Running ibc-rate-limit upgrades...") + // Only set rate limit contract for mainnet + if ctx.ChainID() == "neutron-1" { + err = upgradeIbcRateLimitSetContract(ctx, *keepers.IbcRateLimitKeeper) + if err != nil { + return nil, err + } + } + ctx.Logger().Info(fmt.Sprintf("Migration {%s} applied", UpgradeName)) return vm, nil } @@ -57,3 +68,16 @@ func upgradeDexPause(ctx sdk.Context, k dexkeeper.Keeper) error { return nil } + +func upgradeIbcRateLimitSetContract(ctx sdk.Context, k ibcratelimitkeeper.Keeper) error { + // Set the dex to paused + ctx.Logger().Info("Setting ibc rate limiting contract...") + + if err := k.SetParams(ctx, ibcratelimittypes.Params{ContractAddress: RateLimitContract}); err != nil { + return err + } + + ctx.Logger().Info("Rate limit contract is set") + + return nil +}