diff --git a/CHANGELOG.md b/CHANGELOG.md index 37d4f1654db0..31dbe3deacb2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -98,7 +98,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### API Breaking Changes -* [#13437](https://github.com/cosmos/cosmos-sdk/pull/13437) Add a list of modules to export argument in `ExportAppStateAndValidators` and `ExportGenesis`. +* [#13437](https://github.com/cosmos/cosmos-sdk/pull/13437) Add a list of modules to export argument in `ExportAppStateAndValidators`. * (x/slashing) [#13427](https://github.com/cosmos/cosmos-sdk/pull/13427) Move `x/slashing/testslashing` to `x/slashing/testutil` for consistency with other modules. * (x/staking) [#13427](https://github.com/cosmos/cosmos-sdk/pull/13427) Move `x/staking/teststaking` to `x/staking/testutil` for consistency with other modules. * (simapp) [#13402](https://github.com/cosmos/cosmos-sdk/pull/13402) Move simulation flags to `x/simulation/client/cli`. diff --git a/UPGRADING.md b/UPGRADING.md index e086c4bdc30c..8821f85e1972 100644 --- a/UPGRADING.md +++ b/UPGRADING.md @@ -37,7 +37,7 @@ This means you can replace your usage of `simapp.MakeTestEncodingConfig` in test #### Export `ExportAppStateAndValidators` takes an extra argument, `modulesToExport`, which is a list of module names to export. -That argument should be passed to the module maanager `ExportGenesis` method. +That argument should be passed to the module maanager `ExportGenesisFromModules` method. ### Protobuf diff --git a/simapp/export.go b/simapp/export.go index 60aecc5a05b0..96e841064a5a 100644 --- a/simapp/export.go +++ b/simapp/export.go @@ -28,7 +28,7 @@ func (app *SimApp) ExportAppStateAndValidators(forZeroHeight bool, jailAllowedAd app.prepForZeroHeightGenesis(ctx, jailAllowedAddrs) } - genState := app.ModuleManager.ExportGenesis(ctx, app.appCodec, modulesToExport) + genState := app.ModuleManager.ExportGenesisForModules(ctx, app.appCodec, modulesToExport) appState, err := json.MarshalIndent(genState, "", " ") if err != nil { return servertypes.ExportedApp{}, err diff --git a/types/module/module.go b/types/module/module.go index f693e0824b17..45356e239915 100644 --- a/types/module/module.go +++ b/types/module/module.go @@ -320,7 +320,12 @@ func (m *Manager) InitGenesis(ctx sdk.Context, cdc codec.JSONCodec, genesisData } // ExportGenesis performs export genesis functionality for modules -func (m *Manager) ExportGenesis(ctx sdk.Context, cdc codec.JSONCodec, modulesToExport []string) map[string]json.RawMessage { +func (m *Manager) ExportGenesis(ctx sdk.Context, cdc codec.JSONCodec) map[string]json.RawMessage { + return m.ExportGenesisForModules(ctx, cdc, []string{}) +} + +// ExportGenesisForModules performs export genesis functionality for modules +func (m *Manager) ExportGenesisForModules(ctx sdk.Context, cdc codec.JSONCodec, modulesToExport []string) map[string]json.RawMessage { genesisData := make(map[string]json.RawMessage) if len(modulesToExport) == 0 { for _, moduleName := range m.OrderExportGenesis { diff --git a/types/module/module_test.go b/types/module/module_test.go index c8be39e32068..dd6ad46b88e8 100644 --- a/types/module/module_test.go +++ b/types/module/module_test.go @@ -191,17 +191,18 @@ func TestManager_ExportGenesis(t *testing.T) { ctx := sdk.Context{} interfaceRegistry := types.NewInterfaceRegistry() cdc := codec.NewProtoCodec(interfaceRegistry) - mockAppModule1.EXPECT().ExportGenesis(gomock.Eq(ctx), gomock.Eq(cdc)).Times(1).Return(json.RawMessage(`{"key1": "value1"}`)) - mockAppModule2.EXPECT().ExportGenesis(gomock.Eq(ctx), gomock.Eq(cdc)).Times(1).Return(json.RawMessage(`{"key2": "value2"}`)) + mockAppModule1.EXPECT().ExportGenesis(gomock.Eq(ctx), gomock.Eq(cdc)).AnyTimes().Return(json.RawMessage(`{"key1": "value1"}`)) + mockAppModule2.EXPECT().ExportGenesis(gomock.Eq(ctx), gomock.Eq(cdc)).AnyTimes().Return(json.RawMessage(`{"key2": "value2"}`)) want := map[string]json.RawMessage{ "module1": json.RawMessage(`{"key1": "value1"}`), "module2": json.RawMessage(`{"key2": "value2"}`), } - require.Equal(t, want, mm.ExportGenesis(ctx, cdc, []string{})) + require.Equal(t, want, mm.ExportGenesis(ctx, cdc)) + require.Equal(t, want, mm.ExportGenesisForModules(ctx, cdc, []string{})) require.Panics(t, func() { - mm.ExportGenesis(ctx, cdc, []string{"module1", "modulefoo"}) + mm.ExportGenesisForModules(ctx, cdc, []string{"module1", "modulefoo"}) }) }