From 1c6e7f4ecc5d218821d3d8fd226276ec75d228a1 Mon Sep 17 00:00:00 2001 From: Carlton N Hanna Date: Wed, 17 Apr 2024 10:34:07 -0600 Subject: [PATCH 1/9] migrate params to own store --- app/app.go | 5 ++--- x/ibchooks/keeper/keeper.go | 28 +++++++++++++++------------- x/ibchooks/types/keys.go | 4 ++++ 3 files changed, 21 insertions(+), 16 deletions(-) diff --git a/app/app.go b/app/app.go index d7013845c7..1f7c26c385 100644 --- a/app/app.go +++ b/app/app.go @@ -508,8 +508,8 @@ func New( // Configure the hooks keeper hooksKeeper := ibchookskeeper.NewKeeper( + appCodec, keys[ibchookstypes.StoreKey], - app.GetSubspace(ibchookstypes.ModuleName), app.IBCKeeper.ChannelKeeper, nil, ) @@ -1373,8 +1373,7 @@ func initParamsKeeper(appCodec codec.BinaryCodec, legacyAmino *codec.LegacyAmino paramsKeeper.Subspace(ibctransfertypes.ModuleName).WithKeyTable(ibctransfertypes.ParamKeyTable()) paramsKeeper.Subspace(icahosttypes.SubModuleName).WithKeyTable(icahosttypes.ParamKeyTable()) - paramsKeeper.Subspace(icqtypes.ModuleName) // TODO[1760]: params: Migrate icq params. - paramsKeeper.Subspace(ibchookstypes.ModuleName) // TODO[1760]: params: Migrate ibc-hooks params. + paramsKeeper.Subspace(icqtypes.ModuleName) // TODO[1760]: params: Migrate icq params. return paramsKeeper } diff --git a/x/ibchooks/keeper/keeper.go b/x/ibchooks/keeper/keeper.go index bde8a4aefa..31cfaa18e5 100644 --- a/x/ibchooks/keeper/keeper.go +++ b/x/ibchooks/keeper/keeper.go @@ -14,9 +14,9 @@ import ( "cosmossdk.io/log" storetypes "cosmossdk.io/store/types" + "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/address" - paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" channeltypes "github.com/cosmos/ibc-go/v8/modules/core/04-channel/types" "github.com/provenance-io/provenance/x/ibchooks/types" @@ -24,8 +24,8 @@ import ( type ( Keeper struct { - storeKey storetypes.StoreKey - paramSpace paramtypes.Subspace + cdc codec.BinaryCodec + storeKey storetypes.StoreKey channelKeeper types.ChannelKeeper ContractKeeper *wasmkeeper.PermissionedKeeper @@ -34,17 +34,14 @@ type ( // NewKeeper returns a new instance of the x/ibchooks keeper func NewKeeper( + cdc codec.BinaryCodec, storeKey storetypes.StoreKey, - paramSpace paramtypes.Subspace, channelKeeper types.ChannelKeeper, contractKeeper *wasmkeeper.PermissionedKeeper, ) Keeper { - if !paramSpace.HasKeyTable() { - paramSpace = paramSpace.WithKeyTable(types.ParamKeyTable()) - } keeper := Keeper{ + cdc: cdc, storeKey: storeKey, - paramSpace: paramSpace, channelKeeper: channelKeeper, ContractKeeper: contractKeeper, } @@ -58,13 +55,20 @@ func (k Keeper) Logger(ctx sdk.Context) log.Logger { // GetParams returns the total set of the module's parameters. func (k Keeper) GetParams(ctx sdk.Context) (params types.Params) { - k.paramSpace.GetParamSet(ctx, ¶ms) + store := ctx.KVStore(k.storeKey) + bz := store.Get(types.ParamStoreKey) + if bz == nil { + return types.DefaultParams() + } + k.cdc.MustUnmarshal(bz, ¶ms) return params } // SetParams sets the module's parameters with the provided parameters. func (k Keeper) SetParams(ctx sdk.Context, params types.Params) { - k.paramSpace.SetParamSet(ctx, ¶ms) + store := ctx.KVStore(k.storeKey) + bz := k.cdc.MustMarshal(¶ms) + store.Set(types.ParamStoreKey, bz) } func (k Keeper) InitGenesis(ctx sdk.Context, genState types.GenesisState) { @@ -112,9 +116,7 @@ func (k Keeper) GetPacketCallback(ctx sdk.Context, channel string, packetSequenc // IsInAllowList checks the params to see if the contract is in the KeyAsyncAckAllowList param func (k Keeper) IsInAllowList(ctx sdk.Context, contract string) bool { - var allowList []string - k.paramSpace.GetIfExists(ctx, types.KeyAsyncAckAllowList, &allowList) - for _, addr := range allowList { + for _, addr := range k.GetParams(ctx).AllowedAsyncAckContracts { if addr == contract { return true } diff --git a/x/ibchooks/types/keys.go b/x/ibchooks/types/keys.go index db7527bd1f..bd32eb0841 100644 --- a/x/ibchooks/types/keys.go +++ b/x/ibchooks/types/keys.go @@ -15,3 +15,7 @@ const ( SenderPrefix = "ibc-wasm-hook-intermediary" ) + +var ( + ParamStoreKey = []byte{0x01} +) From aa469cdb92cba4a55182b41b1e9181fc682f733f Mon Sep 17 00:00:00 2001 From: Carlton N Hanna Date: Wed, 17 Apr 2024 12:16:27 -0600 Subject: [PATCH 2/9] change key name --- x/ibchooks/keeper/keeper.go | 4 ++-- x/ibchooks/types/keys.go | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/x/ibchooks/keeper/keeper.go b/x/ibchooks/keeper/keeper.go index 31cfaa18e5..f6f014c03b 100644 --- a/x/ibchooks/keeper/keeper.go +++ b/x/ibchooks/keeper/keeper.go @@ -56,7 +56,7 @@ func (k Keeper) Logger(ctx sdk.Context) log.Logger { // GetParams returns the total set of the module's parameters. func (k Keeper) GetParams(ctx sdk.Context) (params types.Params) { store := ctx.KVStore(k.storeKey) - bz := store.Get(types.ParamStoreKey) + bz := store.Get(types.IbcHooksParamStoreKey) if bz == nil { return types.DefaultParams() } @@ -68,7 +68,7 @@ func (k Keeper) GetParams(ctx sdk.Context) (params types.Params) { func (k Keeper) SetParams(ctx sdk.Context, params types.Params) { store := ctx.KVStore(k.storeKey) bz := k.cdc.MustMarshal(¶ms) - store.Set(types.ParamStoreKey, bz) + store.Set(types.IbcHooksParamStoreKey, bz) } func (k Keeper) InitGenesis(ctx sdk.Context, genState types.GenesisState) { diff --git a/x/ibchooks/types/keys.go b/x/ibchooks/types/keys.go index bd32eb0841..73d363e726 100644 --- a/x/ibchooks/types/keys.go +++ b/x/ibchooks/types/keys.go @@ -17,5 +17,6 @@ const ( ) var ( - ParamStoreKey = []byte{0x01} + // IbcHooksParamStoreKey key for ibchooks module's params + IbcHooksParamStoreKey = []byte{0x01} ) From 011bad55a62a3998804285a25a267d1bd4caacb4 Mon Sep 17 00:00:00 2001 From: Carlton N Hanna Date: Wed, 17 Apr 2024 12:32:09 -0600 Subject: [PATCH 3/9] move params into param file, add tests --- x/ibchooks/keeper/keeper.go | 18 ------------- x/ibchooks/keeper/params.go | 24 +++++++++++++++++ x/ibchooks/keeper/params_test.go | 44 ++++++++++++++++++++++++++++++++ 3 files changed, 68 insertions(+), 18 deletions(-) create mode 100644 x/ibchooks/keeper/params.go create mode 100644 x/ibchooks/keeper/params_test.go diff --git a/x/ibchooks/keeper/keeper.go b/x/ibchooks/keeper/keeper.go index f6f014c03b..a803fd4d1a 100644 --- a/x/ibchooks/keeper/keeper.go +++ b/x/ibchooks/keeper/keeper.go @@ -53,24 +53,6 @@ func (k Keeper) Logger(ctx sdk.Context) log.Logger { return ctx.Logger().With("module", fmt.Sprintf("x/%s", types.ModuleName)) } -// GetParams returns the total set of the module's parameters. -func (k Keeper) GetParams(ctx sdk.Context) (params types.Params) { - store := ctx.KVStore(k.storeKey) - bz := store.Get(types.IbcHooksParamStoreKey) - if bz == nil { - return types.DefaultParams() - } - k.cdc.MustUnmarshal(bz, ¶ms) - return params -} - -// SetParams sets the module's parameters with the provided parameters. -func (k Keeper) SetParams(ctx sdk.Context, params types.Params) { - store := ctx.KVStore(k.storeKey) - bz := k.cdc.MustMarshal(¶ms) - store.Set(types.IbcHooksParamStoreKey, bz) -} - func (k Keeper) InitGenesis(ctx sdk.Context, genState types.GenesisState) { k.SetParams(ctx, genState.Params) } diff --git a/x/ibchooks/keeper/params.go b/x/ibchooks/keeper/params.go new file mode 100644 index 0000000000..e0f47e6755 --- /dev/null +++ b/x/ibchooks/keeper/params.go @@ -0,0 +1,24 @@ +package keeper + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/provenance-io/provenance/x/ibchooks/types" +) + +// GetParams returns the total set of the module's parameters. +func (k Keeper) GetParams(ctx sdk.Context) (params types.Params) { + store := ctx.KVStore(k.storeKey) + bz := store.Get(types.IbcHooksParamStoreKey) + if bz == nil { + return types.DefaultParams() + } + k.cdc.MustUnmarshal(bz, ¶ms) + return params +} + +// SetParams sets the module's parameters with the provided parameters. +func (k Keeper) SetParams(ctx sdk.Context, params types.Params) { + store := ctx.KVStore(k.storeKey) + bz := k.cdc.MustMarshal(¶ms) + store.Set(types.IbcHooksParamStoreKey, bz) +} diff --git a/x/ibchooks/keeper/params_test.go b/x/ibchooks/keeper/params_test.go new file mode 100644 index 0000000000..3ea8ecd88c --- /dev/null +++ b/x/ibchooks/keeper/params_test.go @@ -0,0 +1,44 @@ +package keeper_test + +import ( + "testing" + "time" + + cmtproto "github.com/cometbft/cometbft/proto/tendermint/types" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/provenance-io/provenance/app" + simapp "github.com/provenance-io/provenance/app" + "github.com/provenance-io/provenance/x/ibchooks/types" + "github.com/stretchr/testify/suite" +) + +type IbcHooksParamTestSuite struct { + suite.Suite + + app *app.App + ctx sdk.Context +} + +func (s *IbcHooksParamTestSuite) SetupTest() { + s.app = simapp.Setup(s.T()) + s.ctx = s.app.BaseApp.NewContextLegacy(false, cmtproto.Header{Time: time.Now()}) +} + +func TestIbcHooksParamTestSuite(t *testing.T) { + suite.Run(t, new(IbcHooksParamTestSuite)) +} + +func (s *IbcHooksParamTestSuite) TestGetSetParams() { + defaultParams := s.app.IBCHooksKeeper.GetParams(s.ctx) + s.Require().Len(defaultParams.AllowedAsyncAckContracts, 0, "Default AllowedAsyncAckContracts should be empty") + + newAllowedAsyncAckContracts := []string{"contract1", "contract2", "contract3"} + newParams := types.Params{ + AllowedAsyncAckContracts: newAllowedAsyncAckContracts, + } + + s.app.IBCHooksKeeper.SetParams(s.ctx, newParams) + + updatedParams := s.app.IBCHooksKeeper.GetParams(s.ctx) + s.Require().Equal(newAllowedAsyncAckContracts, updatedParams.AllowedAsyncAckContracts, "Updated AllowedAsyncAckContracts should match") +} From 04789ed0a49b737af7f6e942f0e3d845f2004ebe Mon Sep 17 00:00:00 2001 From: Carlton N Hanna Date: Wed, 17 Apr 2024 12:34:31 -0600 Subject: [PATCH 4/9] remove paramspace from attribute keeper --- app/app.go | 2 +- x/attribute/keeper/keeper.go | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/app/app.go b/app/app.go index 39d47ea740..86e5546a15 100644 --- a/app/app.go +++ b/app/app.go @@ -556,7 +556,7 @@ func New( ) app.AttributeKeeper = attributekeeper.NewKeeper( - appCodec, keys[attributetypes.StoreKey], app.GetSubspace(attributetypes.ModuleName), app.AccountKeeper, &app.NameKeeper, + appCodec, keys[attributetypes.StoreKey], app.AccountKeeper, &app.NameKeeper, ) markerReqAttrBypassAddrs := []sdk.AccAddress{ diff --git a/x/attribute/keeper/keeper.go b/x/attribute/keeper/keeper.go index 59cccdc55b..4c04e425f9 100644 --- a/x/attribute/keeper/keeper.go +++ b/x/attribute/keeper/keeper.go @@ -14,7 +14,6 @@ import ( "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" - paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" "github.com/provenance-io/provenance/x/attribute/types" ) @@ -45,7 +44,7 @@ type Keeper struct { // // CONTRACT: the parameter Subspace must have the param key table already initialized func NewKeeper( - cdc codec.BinaryCodec, key storetypes.StoreKey, paramSpace paramtypes.Subspace, + cdc codec.BinaryCodec, key storetypes.StoreKey, authKeeper types.AccountKeeper, nameKeeper types.NameKeeper, ) Keeper { keeper := Keeper{ From bbb7963cfb0ed002ae8cc2940a7298f2a2dd2ad7 Mon Sep 17 00:00:00 2001 From: Carlton N Hanna Date: Wed, 17 Apr 2024 12:35:52 -0600 Subject: [PATCH 5/9] remove init param keepers for modules that do not use them --- app/app.go | 3 --- 1 file changed, 3 deletions(-) diff --git a/app/app.go b/app/app.go index 86e5546a15..3230cea710 100644 --- a/app/app.go +++ b/app/app.go @@ -1363,7 +1363,6 @@ func initParamsKeeper(appCodec codec.BinaryCodec, legacyAmino *codec.LegacyAmino paramsKeeper.Subspace(nametypes.ModuleName) // TODO[1760]: params: Migrate name params. paramsKeeper.Subspace(wasmtypes.ModuleName) - paramsKeeper.Subspace(triggertypes.ModuleName) // TODO[1760]: params: Migrate trigger params. // register the key tables for legacy param subspaces keyTable := ibcclienttypes.ParamKeyTable() @@ -1372,8 +1371,6 @@ func initParamsKeeper(appCodec codec.BinaryCodec, legacyAmino *codec.LegacyAmino paramsKeeper.Subspace(ibctransfertypes.ModuleName).WithKeyTable(ibctransfertypes.ParamKeyTable()) paramsKeeper.Subspace(icahosttypes.SubModuleName).WithKeyTable(icahosttypes.ParamKeyTable()) - paramsKeeper.Subspace(icqtypes.ModuleName) // TODO[1760]: params: Migrate icq params. - return paramsKeeper } From 2b6dc984a4ff5c12d2fa0779bd18d6df366097d2 Mon Sep 17 00:00:00 2001 From: Carlton N Hanna Date: Thu, 18 Apr 2024 12:48:36 -0600 Subject: [PATCH 6/9] add migration function --- app/upgrades.go | 18 ++++++++++++++++++ app/upgrades_test.go | 4 ++++ 2 files changed, 22 insertions(+) diff --git a/app/upgrades.go b/app/upgrades.go index a0c60f491c..0876ea60b6 100644 --- a/app/upgrades.go +++ b/app/upgrades.go @@ -17,6 +17,7 @@ import ( ibctmmigrations "github.com/cosmos/ibc-go/v8/modules/light-clients/07-tendermint/migrations" attributetypes "github.com/provenance-io/provenance/x/attribute/types" + ibchookstypes "github.com/provenance-io/provenance/x/ibchooks/types" markertypes "github.com/provenance-io/provenance/x/marker/types" metadatatypes "github.com/provenance-io/provenance/x/metadata/types" msgfeestypes "github.com/provenance-io/provenance/x/msgfees/types" @@ -73,6 +74,7 @@ var upgrades = map[string]appUpgrade{ migrateMetadataOSLocatorParams(ctx, app) migrateMsgFeesParams(ctx, app) migrateNameParams(ctx, app) + migrateIbcHooksParams(ctx, app) vm, err = runModuleMigrations(ctx, app, vm) if err != nil { @@ -114,6 +116,7 @@ var upgrades = map[string]appUpgrade{ migrateMetadataOSLocatorParams(ctx, app) migrateMsgFeesParams(ctx, app) migrateNameParams(ctx, app) + migrateIbcHooksParams(ctx, app) vm, err = runModuleMigrations(ctx, app, vm) if err != nil { @@ -462,3 +465,18 @@ func migrateMsgFeesParams(ctx sdk.Context, app *App) { ctx.Logger().Info("Done migrating msgfees params.") } + +// migrateIbcHooksParams migrates existing ibchooks parameters from paramSpace to a direct KVStore. +func migrateIbcHooksParams(ctx sdk.Context, app *App) { + ctx.Logger().Info("Migrating ibchooks params.") + ibcHooksParamSpace := app.ParamsKeeper.Subspace(ibchookstypes.ModuleName) + + params := ibchookstypes.DefaultParams() + + if ibcHooksParamSpace.Has(ctx, ibchookstypes.IbcHooksParamStoreKey) { + ibcHooksParamSpace.Get(ctx, ibchookstypes.IbcHooksParamStoreKey, ¶ms) + } + app.IBCHooksKeeper.SetParams(ctx, params) + + ctx.Logger().Info("Done migrating ibchooks params.") +} diff --git a/app/upgrades_test.go b/app/upgrades_test.go index 33ad99ec60..6f9d8b293a 100644 --- a/app/upgrades_test.go +++ b/app/upgrades_test.go @@ -391,6 +391,8 @@ func (s *UpgradeTestSuite) TestUmberRC1() { "INF Done migrating msgfees params.", "INF Migrating name params.", "INF Done migrating name params.", + "INF Migrating ibchooks params.", + "INF Done migrating ibchooks params.", "INF Starting module migrations. This may take a significant amount of time to complete. Do not restart node.", "INF Updating IBC AllowedClients.", "INF Done updating IBC AllowedClients.", @@ -420,6 +422,8 @@ func (s *UpgradeTestSuite) TestUmber() { "INF Done migrating msgfees params.", "INF Migrating name params.", "INF Done migrating name params.", + "INF Migrating ibchooks params.", + "INF Done migrating ibchooks params.", "INF Starting module migrations. This may take a significant amount of time to complete. Do not restart node.", "INF Updating IBC AllowedClients.", "INF Done updating IBC AllowedClients.", From ec2c8770c5261cc9b5b85febe0361eae778f4334 Mon Sep 17 00:00:00 2001 From: Carlton N Hanna Date: Thu, 18 Apr 2024 12:50:28 -0600 Subject: [PATCH 7/9] add change log --- CHANGELOG.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b0341bd9a1..c1c885a714 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -58,11 +58,12 @@ Ref: https://keepachangelog.com/en/1.0.0/ * Remove emitting of EventTypeMessage [#1760](https://github.com/provenance-io/provenance/issues/1760). * Update genutil for sdk 50 [#1760](https://github.com/provenance-io/provenance/issues/1760). * Migrate module params from param space to module store. - * Attribute module param migration [#1927](https://github.com/provenance-io/provenance/pull/1927) - * Marker module param migration [#1934](https://github.com/provenance-io/provenance/pull/1934) - * Metadata module param migration [#1932](https://github.com/provenance-io/provenance/pull/1932) - * Msgfees module param migration [#1936](https://github.com/provenance-io/provenance/pull/1936) - * Name module param migration [#1937](https://github.com/provenance-io/provenance/pull/1937) + * Attribute module param migration [#1927](https://github.com/provenance-io/provenance/pull/1927). + * Marker module param migration [#1934](https://github.com/provenance-io/provenance/pull/1934). + * Metadata module param migration [#1932](https://github.com/provenance-io/provenance/pull/1932). + * Msgfees module param migration [#1936](https://github.com/provenance-io/provenance/pull/1936). + * Name module param migration [#1937](https://github.com/provenance-io/provenance/pull/1937). + * IbcHooks module param migration [#1939](https://github.com/provenance-io/provenance/pull/1939). * Restore the hold module [#1930](https://github.com/provenance-io/provenance/pull/1930). * Restore gov-prop cli commands and fix next key decoding [#1930](https://github.com/provenance-io/provenance/pull/1930). * Switch to InputOutputCoinsProv for exchange transfers [#1930](https://github.com/provenance-io/provenance/pull/1930). From 0198bd06cee8c2ceb597f45bb4ce582bdad2b6bf Mon Sep 17 00:00:00 2001 From: Carlton N Hanna Date: Thu, 18 Apr 2024 12:55:35 -0600 Subject: [PATCH 8/9] fix migrate function, add remove todos --- app/upgrades.go | 10 ++++++++-- x/ibchooks/types/params.go | 1 + 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/app/upgrades.go b/app/upgrades.go index 0876ea60b6..5b17f65679 100644 --- a/app/upgrades.go +++ b/app/upgrades.go @@ -441,6 +441,7 @@ func migrateMsgFeesParams(ctx sdk.Context, app *App) { ctx.Logger().Info("Migrating msgfees params.") msgFeesParamSpace := app.ParamsKeeper.Subspace(msgfeestypes.ModuleName).WithKeyTable(msgfeestypes.ParamKeyTable()) + // TODO: all param keys from types/params with the umber handlers. var floorGasPrice sdk.Coin if msgFeesParamSpace.Has(ctx, msgfeestypes.ParamStoreKeyFloorGasPrice) { msgFeesParamSpace.Get(ctx, msgfeestypes.ParamStoreKeyFloorGasPrice, &floorGasPrice) @@ -467,15 +468,20 @@ func migrateMsgFeesParams(ctx sdk.Context, app *App) { } // migrateIbcHooksParams migrates existing ibchooks parameters from paramSpace to a direct KVStore. +// TODO: Remove with the umber handlers. func migrateIbcHooksParams(ctx sdk.Context, app *App) { ctx.Logger().Info("Migrating ibchooks params.") ibcHooksParamSpace := app.ParamsKeeper.Subspace(ibchookstypes.ModuleName) params := ibchookstypes.DefaultParams() - if ibcHooksParamSpace.Has(ctx, ibchookstypes.IbcHooksParamStoreKey) { - ibcHooksParamSpace.Get(ctx, ibchookstypes.IbcHooksParamStoreKey, ¶ms) + // TODO: all param keys from types/params with the umber handlers. + var allowlist []string + if ibcHooksParamSpace.Has(ctx, ibchookstypes.KeyAsyncAckAllowList) { + ibcHooksParamSpace.Get(ctx, ibchookstypes.KeyAsyncAckAllowList, &allowlist) } + params.AllowedAsyncAckContracts = allowlist + app.IBCHooksKeeper.SetParams(ctx, params) ctx.Logger().Info("Done migrating ibchooks params.") diff --git a/x/ibchooks/types/params.go b/x/ibchooks/types/params.go index d9bbc05d2b..ec89845ed9 100644 --- a/x/ibchooks/types/params.go +++ b/x/ibchooks/types/params.go @@ -8,6 +8,7 @@ import ( ) // Parameter store keys. +// TODO: remove with the umber (v1.19.x) handlers. var ( KeyAsyncAckAllowList = []byte("AsyncAckAllowList") From c2546bdfdac48d5c4dc2a4b931e4550fe9e8ec1a Mon Sep 17 00:00:00 2001 From: Carlton N Hanna Date: Thu, 18 Apr 2024 13:04:09 -0600 Subject: [PATCH 9/9] add parent issue to changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c1c885a714..e2cc4f58dd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -57,7 +57,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ * Remove unused navs [#1920](https://github.com/provenance-io/provenance/issues/1920). * Remove emitting of EventTypeMessage [#1760](https://github.com/provenance-io/provenance/issues/1760). * Update genutil for sdk 50 [#1760](https://github.com/provenance-io/provenance/issues/1760). -* Migrate module params from param space to module store. +* Migrate module params from param space to module store.[#1760](https://github.com/provenance-io/provenance/issues/1935) * Attribute module param migration [#1927](https://github.com/provenance-io/provenance/pull/1927). * Marker module param migration [#1934](https://github.com/provenance-io/provenance/pull/1934). * Metadata module param migration [#1932](https://github.com/provenance-io/provenance/pull/1932).