@agoric/cosmos 0.35.0-u19.2 → 0.35.0-u21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/.clang-format +116 -0
  2. package/CHANGELOG.md +18 -18
  3. package/Makefile +38 -67
  4. package/ante/ante.go +2 -2
  5. package/ante/inbound_test.go +1 -1
  6. package/app/app.go +173 -142
  7. package/app/export.go +6 -6
  8. package/app/genesis.go +4 -0
  9. package/app/sim_test.go +299 -50
  10. package/app/upgrade.go +142 -96
  11. package/app/upgrade_test.go +63 -0
  12. package/cmd/agd/agvm.go +1 -1
  13. package/cmd/agd/main.go +1 -1
  14. package/cmd/libdaemon/main.go +34 -1
  15. package/daemon/cmd/root.go +26 -35
  16. package/daemon/cmd/root_test.go +5 -4
  17. package/daemon/cmd/testnet.go +221 -95
  18. package/daemon/main.go +1 -0
  19. package/git-revision.txt +1 -1
  20. package/go.mod +93 -58
  21. package/go.sum +148 -95
  22. package/package.json +6 -3
  23. package/proto/agoric/swingset/genesis.proto +7 -11
  24. package/proto/agoric/swingset/msgs.proto +56 -75
  25. package/proto/agoric/swingset/query.proto +7 -10
  26. package/proto/agoric/swingset/swingset.proto +79 -108
  27. package/proto/agoric/vbank/genesis.proto +5 -5
  28. package/proto/agoric/vbank/msgs.proto +1 -2
  29. package/proto/agoric/vbank/vbank.proto +42 -52
  30. package/proto/agoric/vibc/msgs.proto +8 -11
  31. package/proto/agoric/vstorage/genesis.proto +6 -9
  32. package/proto/agoric/vstorage/query.proto +19 -48
  33. package/proto/agoric/vstorage/vstorage.proto +4 -10
  34. package/proto/agoric/vtransfer/genesis.proto +7 -7
  35. package/proto/buf.gen.gogo.yaml +8 -0
  36. package/proto/buf.gen.pulsar.yaml +17 -0
  37. package/proto/buf.gen.swagger.yaml +5 -0
  38. package/proto/buf.yaml +10 -0
  39. package/scripts/protocgen.sh +14 -21
  40. package/third_party/proto/amino/amino.proto +79 -0
  41. package/third_party/proto/cosmos/base/v1beta1/coin.proto +7 -2
  42. package/third_party/proto/cosmos/ics23/v1/proofs.proto +243 -0
  43. package/third_party/proto/cosmos/msg/v1/msg.proto +30 -0
  44. package/third_party/proto/cosmos/upgrade/v1beta1/upgrade.proto +17 -5
  45. package/third_party/proto/cosmos_proto/cosmos.proto +16 -1
  46. package/third_party/proto/gogoproto/gogo.proto +2 -2
  47. package/third_party/proto/google/protobuf/any.proto +6 -3
  48. package/third_party/proto/ibc/core/channel/v1/channel.proto +1 -1
  49. package/third_party/proto/ibc/core/client/v1/client.proto +4 -2
  50. package/types/address_hooks.go +5 -12
  51. package/types/address_hooks_test.go +34 -34
  52. package/types/codec.go +23 -0
  53. package/types/ibc_packet.go +64 -0
  54. package/types/ibc_packet_test.go +117 -0
  55. package/vm/client.go +32 -7
  56. package/vm/proto_json.go +2 -2
  57. package/x/swingset/abci.go +1 -1
  58. package/x/swingset/alias.go +0 -1
  59. package/x/swingset/config.go +1 -1
  60. package/x/swingset/keeper/extension_snapshotter.go +1 -1
  61. package/x/swingset/keeper/extension_snapshotter_test.go +1 -1
  62. package/x/swingset/keeper/keeper.go +1 -1
  63. package/x/swingset/keeper/keeper_test.go +1 -1
  64. package/x/swingset/keeper/querier.go +1 -30
  65. package/x/swingset/keeper/swing_store_exports_handler.go +1 -1
  66. package/x/swingset/keeper/swing_store_exports_handler_test.go +1 -1
  67. package/x/swingset/module.go +1 -14
  68. package/x/swingset/types/default-params.go +24 -16
  69. package/x/swingset/types/genesis.pb.go +2 -2
  70. package/x/swingset/types/msgs.pb.go +4 -3
  71. package/x/swingset/types/msgs_test.go +1 -1
  72. package/x/swingset/types/query.pb.go +4 -3
  73. package/x/swingset/types/swingset.pb.go +2 -2
  74. package/x/vbank/genesis.go +1 -1
  75. package/x/vbank/keeper/querier.go +1 -21
  76. package/x/vbank/module.go +1 -16
  77. package/x/vbank/types/genesis.pb.go +2 -2
  78. package/x/vbank/types/msgs.pb.go +3 -2
  79. package/x/vbank/types/query.pb.go +4 -3
  80. package/x/vbank/types/vbank.pb.go +2 -2
  81. package/x/vbank/vbank_test.go +95 -16
  82. package/x/vibc/keeper/keeper.go +8 -5
  83. package/x/vibc/keeper/migrations.go +36 -0
  84. package/x/vibc/keeper/triggers.go +6 -32
  85. package/x/vibc/module.go +9 -17
  86. package/x/vibc/types/expected_keepers.go +6 -10
  87. package/x/vibc/types/ibc_module.go +30 -20
  88. package/x/vibc/types/msgs.go +1 -1
  89. package/x/vibc/types/msgs.pb.go +5 -4
  90. package/x/vibc/types/receiver.go +17 -17
  91. package/x/vlocalchain/keeper/keeper.go +3 -3
  92. package/x/vlocalchain/types/vlocalchain.pb.go +1 -1
  93. package/x/vlocalchain/vlocalchain_test.go +6 -6
  94. package/x/vstorage/README.md +0 -8
  95. package/x/vstorage/alias.go +0 -1
  96. package/x/vstorage/client/cli/query.go +1 -1
  97. package/x/vstorage/genesis.go +1 -1
  98. package/x/vstorage/keeper/keeper.go +40 -5
  99. package/x/vstorage/keeper/keeper_test.go +24 -24
  100. package/x/vstorage/keeper/querier.go +1 -32
  101. package/x/vstorage/keeper/querier_test.go +41 -6
  102. package/x/vstorage/module.go +1 -14
  103. package/x/vstorage/types/genesis.pb.go +2 -2
  104. package/x/vstorage/types/path_keys.go +7 -8
  105. package/x/vstorage/types/query.pb.go +8 -5
  106. package/x/vstorage/types/vstorage.pb.go +2 -2
  107. package/x/vstorage/vstorage_test.go +3 -3
  108. package/x/vtransfer/genesis.go +1 -1
  109. package/x/vtransfer/handler.go +4 -2
  110. package/x/vtransfer/ibc_middleware.go +4 -4
  111. package/x/vtransfer/ibc_middleware_test.go +14 -16
  112. package/x/vtransfer/keeper/keeper.go +38 -48
  113. package/x/vtransfer/module.go +1 -14
  114. package/x/vtransfer/types/expected_keepers.go +2 -18
  115. package/x/vtransfer/types/genesis.pb.go +2 -2
  116. package/x/vtransfer/utils_test.go +15 -15
  117. package/daemon/cmd/genaccounts.go +0 -195
  118. package/e2e_test/Makefile +0 -29
  119. package/e2e_test/README.md +0 -100
  120. package/e2e_test/go.mod +0 -239
  121. package/e2e_test/go.sum +0 -1323
  122. package/e2e_test/ibc_conformance_test.go +0 -56
  123. package/e2e_test/pfm_test.go +0 -613
  124. package/e2e_test/util.go +0 -271
package/app/app.go CHANGED
@@ -12,17 +12,22 @@ import (
12
12
  "runtime/debug"
13
13
  "time"
14
14
 
15
+ autocliv1 "cosmossdk.io/api/cosmos/autocli/v1"
16
+ reflectionv1 "cosmossdk.io/api/cosmos/reflection/v1"
15
17
  sdkioerrors "cosmossdk.io/errors"
16
18
  "github.com/cosmos/cosmos-sdk/baseapp"
17
19
  "github.com/cosmos/cosmos-sdk/client"
20
+ "github.com/cosmos/cosmos-sdk/client/flags"
18
21
  nodeservice "github.com/cosmos/cosmos-sdk/client/grpc/node"
19
22
  "github.com/cosmos/cosmos-sdk/client/grpc/tmservice"
20
23
  "github.com/cosmos/cosmos-sdk/codec"
21
24
  "github.com/cosmos/cosmos-sdk/codec/types"
25
+ "github.com/cosmos/cosmos-sdk/runtime"
26
+ runtimeservices "github.com/cosmos/cosmos-sdk/runtime/services"
27
+ "github.com/cosmos/cosmos-sdk/server"
22
28
  "github.com/cosmos/cosmos-sdk/server/api"
23
29
  "github.com/cosmos/cosmos-sdk/server/config"
24
30
  servertypes "github.com/cosmos/cosmos-sdk/server/types"
25
- "github.com/cosmos/cosmos-sdk/simapp"
26
31
  storetypes "github.com/cosmos/cosmos-sdk/store/types"
27
32
  sdk "github.com/cosmos/cosmos-sdk/types"
28
33
  "github.com/cosmos/cosmos-sdk/types/module"
@@ -44,8 +49,9 @@ import (
44
49
  "github.com/cosmos/cosmos-sdk/x/capability"
45
50
  capabilitykeeper "github.com/cosmos/cosmos-sdk/x/capability/keeper"
46
51
  capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types"
52
+ consensusparamskeeper "github.com/cosmos/cosmos-sdk/x/consensus/keeper"
53
+ consensusparamstypes "github.com/cosmos/cosmos-sdk/x/consensus/types"
47
54
  distr "github.com/cosmos/cosmos-sdk/x/distribution"
48
- distrclient "github.com/cosmos/cosmos-sdk/x/distribution/client"
49
55
  distrkeeper "github.com/cosmos/cosmos-sdk/x/distribution/keeper"
50
56
  distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types"
51
57
  "github.com/cosmos/cosmos-sdk/x/evidence"
@@ -80,33 +86,33 @@ import (
80
86
  upgradeclient "github.com/cosmos/cosmos-sdk/x/upgrade/client"
81
87
  upgradekeeper "github.com/cosmos/cosmos-sdk/x/upgrade/keeper"
82
88
  upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types"
83
- ica "github.com/cosmos/ibc-go/v6/modules/apps/27-interchain-accounts"
84
-
85
- icahost "github.com/cosmos/ibc-go/v6/modules/apps/27-interchain-accounts/host"
86
- icahostkeeper "github.com/cosmos/ibc-go/v6/modules/apps/27-interchain-accounts/host/keeper"
87
- icahosttypes "github.com/cosmos/ibc-go/v6/modules/apps/27-interchain-accounts/host/types"
88
- icatypes "github.com/cosmos/ibc-go/v6/modules/apps/27-interchain-accounts/types"
89
- ibctransfer "github.com/cosmos/ibc-go/v6/modules/apps/transfer"
90
- ibctransferkeeper "github.com/cosmos/ibc-go/v6/modules/apps/transfer/keeper"
91
- ibctransfertypes "github.com/cosmos/ibc-go/v6/modules/apps/transfer/types"
92
- ibc "github.com/cosmos/ibc-go/v6/modules/core"
93
- ibcclient "github.com/cosmos/ibc-go/v6/modules/core/02-client"
94
- ibcclientclient "github.com/cosmos/ibc-go/v6/modules/core/02-client/client"
95
- ibcclienttypes "github.com/cosmos/ibc-go/v6/modules/core/02-client/types"
96
- ibcporttypes "github.com/cosmos/ibc-go/v6/modules/core/05-port/types"
97
- ibchost "github.com/cosmos/ibc-go/v6/modules/core/24-host"
98
- ibckeeper "github.com/cosmos/ibc-go/v6/modules/core/keeper"
89
+ ica "github.com/cosmos/ibc-go/v7/modules/apps/27-interchain-accounts"
90
+
91
+ dbm "github.com/cometbft/cometbft-db"
92
+ abci "github.com/cometbft/cometbft/abci/types"
93
+ tmjson "github.com/cometbft/cometbft/libs/json"
94
+ "github.com/cometbft/cometbft/libs/log"
95
+ tmos "github.com/cometbft/cometbft/libs/os"
96
+ tmproto "github.com/cometbft/cometbft/proto/tendermint/types"
97
+ icahost "github.com/cosmos/ibc-go/v7/modules/apps/27-interchain-accounts/host"
98
+ icahostkeeper "github.com/cosmos/ibc-go/v7/modules/apps/27-interchain-accounts/host/keeper"
99
+ icahosttypes "github.com/cosmos/ibc-go/v7/modules/apps/27-interchain-accounts/host/types"
100
+ icatypes "github.com/cosmos/ibc-go/v7/modules/apps/27-interchain-accounts/types"
101
+ ibctransfer "github.com/cosmos/ibc-go/v7/modules/apps/transfer"
102
+ ibctransferkeeper "github.com/cosmos/ibc-go/v7/modules/apps/transfer/keeper"
103
+ ibctransfertypes "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types"
104
+ ibc "github.com/cosmos/ibc-go/v7/modules/core"
105
+ ibcclient "github.com/cosmos/ibc-go/v7/modules/core/02-client"
106
+ ibcclientclient "github.com/cosmos/ibc-go/v7/modules/core/02-client/client"
107
+ ibcclienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types"
108
+ ibcporttypes "github.com/cosmos/ibc-go/v7/modules/core/05-port/types"
109
+ ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported"
110
+ ibckeeper "github.com/cosmos/ibc-go/v7/modules/core/keeper"
111
+ ibcsolomachine "github.com/cosmos/ibc-go/v7/modules/light-clients/06-solomachine"
112
+ ibctm "github.com/cosmos/ibc-go/v7/modules/light-clients/07-tendermint"
99
113
  "github.com/gorilla/mux"
100
114
  "github.com/rakyll/statik/fs"
101
115
  "github.com/spf13/cast"
102
- abci "github.com/tendermint/tendermint/abci/types"
103
- tmjson "github.com/tendermint/tendermint/libs/json"
104
- "github.com/tendermint/tendermint/libs/log"
105
- tmos "github.com/tendermint/tendermint/libs/os"
106
- tmproto "github.com/tendermint/tendermint/proto/tendermint/types"
107
- dbm "github.com/tendermint/tm-db"
108
-
109
- gaiaappparams "github.com/Agoric/agoric-sdk/golang/cosmos/app/params"
110
116
 
111
117
  appante "github.com/Agoric/agoric-sdk/golang/cosmos/ante"
112
118
  agorictypes "github.com/Agoric/agoric-sdk/golang/cosmos/types"
@@ -124,12 +130,12 @@ import (
124
130
  "github.com/Agoric/agoric-sdk/golang/cosmos/x/vstorage"
125
131
  "github.com/Agoric/agoric-sdk/golang/cosmos/x/vtransfer"
126
132
  vtransferkeeper "github.com/Agoric/agoric-sdk/golang/cosmos/x/vtransfer/keeper"
127
- testtypes "github.com/cosmos/ibc-go/v6/testing/types"
133
+ testtypes "github.com/cosmos/ibc-go/v7/testing/types"
128
134
 
129
135
  // Import the packet forward middleware
130
- packetforward "github.com/cosmos/ibc-apps/middleware/packet-forward-middleware/v6/packetforward"
131
- packetforwardkeeper "github.com/cosmos/ibc-apps/middleware/packet-forward-middleware/v6/packetforward/keeper"
132
- packetforwardtypes "github.com/cosmos/ibc-apps/middleware/packet-forward-middleware/v6/packetforward/types"
136
+ packetforward "github.com/cosmos/ibc-apps/middleware/packet-forward-middleware/v7/packetforward"
137
+ packetforwardkeeper "github.com/cosmos/ibc-apps/middleware/packet-forward-middleware/v7/packetforward/keeper"
138
+ packetforwardtypes "github.com/cosmos/ibc-apps/middleware/packet-forward-middleware/v7/packetforward/types"
133
139
 
134
140
  // unnamed import of statik for swagger UI support
135
141
  _ "github.com/cosmos/cosmos-sdk/client/docs/statik"
@@ -163,7 +169,7 @@ var (
163
169
  // and genesis verification.
164
170
  ModuleBasics = module.NewBasicManager(
165
171
  auth.AppModuleBasic{},
166
- genutil.AppModuleBasic{},
172
+ genutil.NewAppModuleBasic(genutiltypes.DefaultMessageValidator),
167
173
  bank.AppModuleBasic{},
168
174
  capability.AppModuleBasic{},
169
175
  staking.AppModuleBasic{},
@@ -171,7 +177,6 @@ var (
171
177
  distr.AppModuleBasic{},
172
178
  gov.NewAppModuleBasic([]govclient.ProposalHandler{
173
179
  paramsclient.ProposalHandler,
174
- distrclient.ProposalHandler,
175
180
  upgradeclient.LegacyProposalHandler,
176
181
  upgradeclient.LegacyCancelProposalHandler,
177
182
  ibcclientclient.UpdateClientProposalHandler,
@@ -183,6 +188,8 @@ var (
183
188
  feegrantmodule.AppModuleBasic{},
184
189
  authzmodule.AppModuleBasic{},
185
190
  ibc.AppModuleBasic{},
191
+ ibctm.AppModuleBasic{},
192
+ ibcsolomachine.AppModuleBasic{},
186
193
  upgrade.AppModuleBasic{},
187
194
  evidence.AppModuleBasic{},
188
195
  ibctransfer.AppModuleBasic{},
@@ -214,8 +221,12 @@ var (
214
221
  )
215
222
 
216
223
  var (
217
- _ simapp.App = (*GaiaApp)(nil)
224
+ // _ simapp.App = (*GaiaApp)(nil)
225
+ // _ servertypes.Application = (*GaiaApp)(nil)
226
+
227
+ _ runtime.AppI = (*GaiaApp)(nil)
218
228
  _ servertypes.Application = (*GaiaApp)(nil)
229
+ // _ ibctesting.TestingApp = (*GaiaApp)(nil)
219
230
  )
220
231
 
221
232
  // GaiaApp extends an ABCI application, but with most of its parameters exported.
@@ -250,16 +261,17 @@ type GaiaApp struct { // nolint: golint
250
261
  AgdServer *vm.AgdServer
251
262
 
252
263
  // keepers
253
- AccountKeeper authkeeper.AccountKeeper
254
- BankKeeper bankkeeper.Keeper
255
- CapabilityKeeper *capabilitykeeper.Keeper
256
- StakingKeeper stakingkeeper.Keeper
257
- SlashingKeeper slashingkeeper.Keeper
258
- MintKeeper mintkeeper.Keeper
259
- DistrKeeper distrkeeper.Keeper
260
- GovKeeper govkeeper.Keeper
261
- UpgradeKeeper upgradekeeper.Keeper
262
- ParamsKeeper paramskeeper.Keeper
264
+ AccountKeeper authkeeper.AccountKeeper
265
+ BankKeeper bankkeeper.Keeper
266
+ CapabilityKeeper *capabilitykeeper.Keeper
267
+ StakingKeeper stakingkeeper.Keeper
268
+ SlashingKeeper slashingkeeper.Keeper
269
+ MintKeeper mintkeeper.Keeper
270
+ DistrKeeper distrkeeper.Keeper
271
+ GovKeeper *govkeeper.Keeper
272
+ UpgradeKeeper *upgradekeeper.Keeper
273
+ ParamsKeeper paramskeeper.Keeper
274
+ ConsensusParamsKeeper consensusparamskeeper.Keeper
263
275
  // IBC Keeper must be a pointer in the app, so we can SetRouter on it correctly
264
276
  IBCKeeper *ibckeeper.Keeper
265
277
  ICAHostKeeper icahostkeeper.Keeper
@@ -285,7 +297,7 @@ type GaiaApp struct { // nolint: golint
285
297
  ScopedVibcKeeper capabilitykeeper.ScopedKeeper
286
298
 
287
299
  // the module manager
288
- mm *module.Manager
300
+ ModuleManager *module.Manager
289
301
 
290
302
  // simulation manager
291
303
  sm *module.SimulationManager
@@ -301,26 +313,23 @@ func init() {
301
313
  DefaultNodeHome = filepath.Join(userHomeDir, ".agoric")
302
314
  }
303
315
 
304
- // NewGaiaApp returns a reference to an initialized Gaia.
305
- func NewGaiaApp(
316
+ // NewSimApp returns a reference to an initialized sim app.
317
+ func NewSimApp(
306
318
  logger log.Logger,
307
319
  db dbm.DB, traceStore io.Writer,
308
320
  loadLatest bool,
309
- skipUpgradeHeights map[int64]bool,
310
- homePath string,
311
- invCheckPeriod uint,
312
- encodingConfig gaiaappparams.EncodingConfig,
313
321
  appOpts servertypes.AppOptions,
314
322
  baseAppOptions ...func(*baseapp.BaseApp),
315
323
  ) *GaiaApp {
316
324
  var defaultController vm.Sender = func(ctx context.Context, needReply bool, jsonRequest string) (jsonReply string, err error) {
317
325
  return "", fmt.Errorf("unexpected VM upcall with no controller: %s", jsonRequest)
318
326
  }
319
- return NewAgoricApp(
327
+ app := NewAgoricApp(
320
328
  defaultController, vm.NewAgdServer(),
321
- logger, db, traceStore, loadLatest, skipUpgradeHeights,
322
- homePath, invCheckPeriod, encodingConfig, appOpts, baseAppOptions...,
329
+ logger, db, traceStore, loadLatest, appOpts, baseAppOptions...,
323
330
  )
331
+ app.SetName("SimApp")
332
+ return app
324
333
  }
325
334
 
326
335
  func NewAgoricApp(
@@ -330,13 +339,18 @@ func NewAgoricApp(
330
339
  db dbm.DB,
331
340
  traceStore io.Writer,
332
341
  loadLatest bool,
333
- skipUpgradeHeights map[int64]bool,
334
- homePath string,
335
- invCheckPeriod uint,
336
- encodingConfig gaiaappparams.EncodingConfig,
337
342
  appOpts servertypes.AppOptions,
338
343
  baseAppOptions ...func(*baseapp.BaseApp),
339
344
  ) *GaiaApp {
345
+ homePath := cast.ToString(appOpts.Get(flags.FlagHome))
346
+ invCheckPeriod := cast.ToUint(appOpts.Get(server.FlagInvCheckPeriod))
347
+ // get skipUpgradeHeights from the app options
348
+ skipUpgradeHeights := map[int64]bool{}
349
+ for _, h := range cast.ToIntSlice(appOpts.Get(server.FlagUnsafeSkipUpgrades)) {
350
+ skipUpgradeHeights[int64(h)] = true
351
+ }
352
+ encodingConfig := MakeEncodingConfig()
353
+
340
354
  appCodec := encodingConfig.Marshaler
341
355
  legacyAmino := encodingConfig.Amino
342
356
  interfaceRegistry := encodingConfig.InterfaceRegistry
@@ -345,15 +359,16 @@ func NewAgoricApp(
345
359
  bApp.SetCommitMultiStoreTracer(traceStore)
346
360
  bApp.SetVersion(version.Version)
347
361
  bApp.SetInterfaceRegistry(interfaceRegistry)
362
+ bApp.SetTxEncoder(encodingConfig.TxConfig.TxEncoder())
348
363
 
349
364
  keys := sdk.NewKVStoreKeys(
350
365
  authtypes.StoreKey, banktypes.StoreKey, stakingtypes.StoreKey,
351
366
  minttypes.StoreKey, distrtypes.StoreKey, slashingtypes.StoreKey,
352
- govtypes.StoreKey, paramstypes.StoreKey, ibchost.StoreKey, upgradetypes.StoreKey,
367
+ govtypes.StoreKey, paramstypes.StoreKey, ibcexported.StoreKey, upgradetypes.StoreKey,
353
368
  evidencetypes.StoreKey, ibctransfertypes.StoreKey, packetforwardtypes.StoreKey,
354
369
  capabilitytypes.StoreKey, feegrant.StoreKey, authzkeeper.StoreKey, icahosttypes.StoreKey,
355
370
  swingset.StoreKey, vstorage.StoreKey, vibc.StoreKey,
356
- vlocalchain.StoreKey, vtransfer.StoreKey, vbank.StoreKey,
371
+ vlocalchain.StoreKey, vtransfer.StoreKey, vbank.StoreKey, consensusparamstypes.StoreKey,
357
372
  )
358
373
  tkeys := sdk.NewTransientStoreKeys(paramstypes.TStoreKey)
359
374
  memKeys := sdk.NewMemoryStoreKeys(capabilitytypes.MemStoreKey)
@@ -378,35 +393,40 @@ func NewAgoricApp(
378
393
  tkeys[paramstypes.TStoreKey],
379
394
  )
380
395
 
381
- // set the BaseApp's parameter store
382
- bApp.SetParamStore(
383
- app.ParamsKeeper.Subspace(baseapp.Paramspace).WithKeyTable(paramstypes.ConsensusParamsKeyTable()),
396
+ app.ConsensusParamsKeeper = consensusparamskeeper.NewKeeper(
397
+ appCodec,
398
+ keys[consensusparamstypes.StoreKey],
399
+ authtypes.NewModuleAddress(govtypes.ModuleName).String(),
384
400
  )
385
401
 
402
+ // set the BaseApp's parameter store
403
+ bApp.SetParamStore(&app.ConsensusParamsKeeper)
404
+
386
405
  // add capability keeper and ScopeToModule for ibc module
387
406
  app.CapabilityKeeper = capabilitykeeper.NewKeeper(appCodec, keys[capabilitytypes.StoreKey], memKeys[capabilitytypes.MemStoreKey])
388
- scopedIBCKeeper := app.CapabilityKeeper.ScopeToModule(ibchost.ModuleName)
407
+ scopedIBCKeeper := app.CapabilityKeeper.ScopeToModule(ibcexported.ModuleName)
389
408
  scopedTransferKeeper := app.CapabilityKeeper.ScopeToModule(ibctransfertypes.ModuleName)
390
409
  scopedICAHostKeeper := app.CapabilityKeeper.ScopeToModule(icahosttypes.SubModuleName)
391
410
  scopedVibcKeeper := app.CapabilityKeeper.ScopeToModule(vibc.ModuleName)
392
411
  app.CapabilityKeeper.Seal()
393
412
 
394
413
  // add keepers
414
+
395
415
  app.AccountKeeper = authkeeper.NewAccountKeeper(
396
416
  appCodec,
397
417
  keys[authtypes.StoreKey],
398
- app.GetSubspace(authtypes.ModuleName),
399
418
  authtypes.ProtoBaseAccount,
400
419
  maccPerms,
401
- appName,
420
+ sdk.Bech32MainPrefix,
421
+ authtypes.NewModuleAddress(govtypes.ModuleName).String(),
402
422
  )
403
423
 
404
424
  app.BankKeeper = bankkeeper.NewBaseKeeper(
405
425
  appCodec,
406
426
  keys[banktypes.StoreKey],
407
427
  app.AccountKeeper,
408
- app.GetSubspace(banktypes.ModuleName),
409
- app.BlockedAddrs(),
428
+ BlockedAddresses(),
429
+ authtypes.NewModuleAddress(govtypes.ModuleName).String(),
410
430
  )
411
431
  app.AuthzKeeper = authzkeeper.NewKeeper(
412
432
  keys[authzkeeper.StoreKey],
@@ -419,38 +439,49 @@ func NewAgoricApp(
419
439
  keys[feegrant.StoreKey],
420
440
  app.AccountKeeper,
421
441
  )
422
- stakingKeeper := stakingkeeper.NewKeeper(
442
+ app.StakingKeeper = *stakingkeeper.NewKeeper(
423
443
  appCodec,
424
444
  keys[stakingtypes.StoreKey],
425
445
  app.AccountKeeper,
426
446
  app.BankKeeper,
427
- app.GetSubspace(stakingtypes.ModuleName),
447
+ authtypes.NewModuleAddress(govtypes.ModuleName).String(),
428
448
  )
449
+
429
450
  app.MintKeeper = mintkeeper.NewKeeper(
430
451
  appCodec,
431
452
  keys[minttypes.StoreKey],
432
- app.GetSubspace(minttypes.ModuleName),
433
- &stakingKeeper,
453
+ app.StakingKeeper,
434
454
  app.AccountKeeper,
435
455
  app.BankKeeper,
436
456
  vbanktypes.GiveawayPoolName,
457
+ authtypes.NewModuleAddress(govtypes.ModuleName).String(),
437
458
  )
459
+
438
460
  distrKeeper := distrkeeper.NewKeeper(
439
461
  appCodec,
440
462
  keys[distrtypes.StoreKey],
441
- app.GetSubspace(distrtypes.ModuleName),
442
463
  app.AccountKeeper,
443
464
  app.BankKeeper,
444
- &stakingKeeper,
465
+ app.StakingKeeper,
445
466
  // This is the pool to distribute from immediately. DO NOT ALTER.
446
467
  vbanktypes.GiveawayPoolName,
468
+ authtypes.NewModuleAddress(govtypes.ModuleName).String(),
447
469
  )
470
+
448
471
  app.SlashingKeeper = slashingkeeper.NewKeeper(
449
472
  appCodec,
473
+ legacyAmino,
450
474
  keys[slashingtypes.StoreKey],
451
- &stakingKeeper,
452
- app.GetSubspace(slashingtypes.ModuleName),
475
+ app.StakingKeeper,
476
+ authtypes.NewModuleAddress(govtypes.ModuleName).String(),
453
477
  )
478
+
479
+ // register the staking hooks
480
+ // NOTE: stakingKeeper above is passed by reference, so that it will contain these hooks
481
+ app.StakingKeeper.SetHooks(
482
+ stakingtypes.NewMultiStakingHooks(distrKeeper.Hooks(), app.SlashingKeeper.Hooks()),
483
+ )
484
+
454
485
  app.UpgradeKeeper = upgradekeeper.NewKeeper(
455
486
  skipUpgradeHeights,
456
487
  keys[upgradetypes.StoreKey],
@@ -460,17 +491,14 @@ func NewAgoricApp(
460
491
  authtypes.NewModuleAddress(govtypes.ModuleName).String(),
461
492
  )
462
493
 
463
- // register the staking hooks
464
- // NOTE: stakingKeeper above is passed by reference, so that it will contain these hooks
465
- app.StakingKeeper = *stakingKeeper.SetHooks(
466
- stakingtypes.NewMultiStakingHooks(distrKeeper.Hooks(), app.SlashingKeeper.Hooks()),
494
+ app.DistrKeeper = *distrKeeper.AddHooks(
495
+ vestingtypes.NewDistributionHooks(app.AccountKeeper, app.BankKeeper, app.StakingKeeper),
467
496
  )
468
- app.DistrKeeper = *distrKeeper.AddHooks(vestingtypes.NewDistributionHooks(app.AccountKeeper, app.BankKeeper, app.StakingKeeper))
469
497
 
470
498
  app.IBCKeeper = ibckeeper.NewKeeper(
471
499
  appCodec,
472
- keys[ibchost.StoreKey],
473
- app.GetSubspace(ibchost.ModuleName),
500
+ keys[ibcexported.StoreKey],
501
+ app.GetSubspace(ibcexported.ModuleName),
474
502
  app.StakingKeeper,
475
503
  app.UpgradeKeeper,
476
504
  scopedIBCKeeper,
@@ -534,7 +562,9 @@ func NewAgoricApp(
534
562
 
535
563
  app.VibcKeeper = vibc.NewKeeper(
536
564
  appCodec,
537
- app.IBCKeeper.ChannelKeeper, &app.IBCKeeper.PortKeeper,
565
+ app.IBCKeeper.ChannelKeeper,
566
+ &app.IBCKeeper.PortKeeper,
567
+ app.IBCKeeper.ClientKeeper,
538
568
  ).WithScope(keys[vibc.StoreKey], scopedVibcKeeper, app.SwingSetKeeper.PushAction)
539
569
 
540
570
  vibcModule := vibc.NewAppModule(app.VibcKeeper, app.BankKeeper)
@@ -567,7 +597,6 @@ func NewAgoricApp(
567
597
  govRouter.
568
598
  AddRoute(govtypes.RouterKey, govv1beta1.ProposalHandler).
569
599
  AddRoute(paramproposal.RouterKey, params.NewParamChangeProposalHandler(app.ParamsKeeper)).
570
- AddRoute(distrtypes.RouterKey, distr.NewCommunityPoolSpendProposalHandler(app.DistrKeeper)).
571
600
  AddRoute(upgradetypes.RouterKey, upgrade.NewSoftwareUpgradeProposalHandler(app.UpgradeKeeper)).
572
601
  AddRoute(ibcclienttypes.RouterKey, ibcclient.NewClientProposalHandler(app.IBCKeeper.ClientKeeper)).
573
602
  AddRoute(swingsettypes.RouterKey, swingset.NewSwingSetProposalHandler(app.SwingSetKeeper))
@@ -576,13 +605,19 @@ func NewAgoricApp(
576
605
  app.GovKeeper = govkeeper.NewKeeper(
577
606
  appCodec,
578
607
  keys[govtypes.StoreKey],
579
- app.GetSubspace(govtypes.ModuleName),
580
608
  app.AccountKeeper,
581
609
  app.BankKeeper,
582
- &stakingKeeper,
583
- govRouter,
584
- app.BaseApp.MsgServiceRouter(),
610
+ app.StakingKeeper,
611
+ app.MsgServiceRouter(),
585
612
  govConfig,
613
+ authtypes.NewModuleAddress(govtypes.ModuleName).String(),
614
+ )
615
+ app.GovKeeper.SetLegacyRouter(govRouter)
616
+
617
+ app.GovKeeper = app.GovKeeper.SetHooks(
618
+ govtypes.NewMultiGovHooks(
619
+ // register the governance hooks
620
+ ),
586
621
  )
587
622
 
588
623
  // Initialize the packet forward middleware Keeper
@@ -590,13 +625,12 @@ func NewAgoricApp(
590
625
  app.PacketForwardKeeper = packetforwardkeeper.NewKeeper(
591
626
  appCodec,
592
627
  keys[packetforwardtypes.StoreKey],
593
- app.GetSubspace(packetforwardtypes.ModuleName),
594
628
  app.TransferKeeper, // will be zero-value here, reference is set later on with SetTransferKeeper.
595
629
  app.IBCKeeper.ChannelKeeper,
596
- app.DistrKeeper,
597
630
  app.BankKeeper,
598
631
  // Make vtransfer the middleware wrapper for the IBCKeeper.
599
632
  app.VtransferKeeper.GetICS4Wrapper(),
633
+ authtypes.NewModuleAddress(govtypes.ModuleName).String(),
600
634
  )
601
635
 
602
636
  app.TransferKeeper = ibctransferkeeper.NewKeeper(
@@ -626,6 +660,8 @@ func NewAgoricApp(
626
660
  scopedICAHostKeeper,
627
661
  app.MsgServiceRouter(),
628
662
  )
663
+ app.ICAHostKeeper.WithQueryRouter(app.GRPCQueryRouter())
664
+
629
665
  icaHostIBCModule := icahost.NewIBCModule(app.ICAHostKeeper)
630
666
  icaModule := ica.NewAppModule(nil, &app.ICAHostKeeper)
631
667
 
@@ -675,7 +711,7 @@ func NewAgoricApp(
675
711
  evidenceKeeper := evidencekeeper.NewKeeper(
676
712
  appCodec,
677
713
  keys[evidencetypes.StoreKey],
678
- &app.StakingKeeper,
714
+ app.StakingKeeper,
679
715
  app.SlashingKeeper,
680
716
  )
681
717
 
@@ -686,22 +722,22 @@ func NewAgoricApp(
686
722
 
687
723
  // NOTE: Any module instantiated in the module manager that is later modified
688
724
  // must be passed by reference here.
689
- app.mm = module.NewManager(
725
+ app.ModuleManager = module.NewManager(
690
726
  genutil.NewAppModule(
691
727
  app.AccountKeeper,
692
728
  app.StakingKeeper,
693
729
  app.BaseApp.DeliverTx,
694
730
  encodingConfig.TxConfig,
695
731
  ),
696
- auth.NewAppModule(appCodec, app.AccountKeeper, nil),
732
+ auth.NewAppModule(appCodec, app.AccountKeeper, authsims.RandomGenesisAccounts, app.GetSubspace(authtypes.ModuleName)),
697
733
  vesting.NewAppModule(app.AccountKeeper, app.BankKeeper, app.StakingKeeper),
698
- bank.NewAppModule(appCodec, app.BankKeeper, app.AccountKeeper),
699
- capability.NewAppModule(appCodec, *app.CapabilityKeeper),
700
- gov.NewAppModule(appCodec, app.GovKeeper, app.AccountKeeper, app.BankKeeper),
701
- mint.NewAppModule(appCodec, app.MintKeeper, app.AccountKeeper, nil),
702
- slashing.NewAppModule(appCodec, app.SlashingKeeper, app.AccountKeeper, app.BankKeeper, app.StakingKeeper),
703
- distr.NewAppModule(appCodec, app.DistrKeeper, app.AccountKeeper, app.BankKeeper, app.StakingKeeper),
704
- staking.NewAppModule(appCodec, app.StakingKeeper, app.AccountKeeper, app.BankKeeper),
734
+ bank.NewAppModule(appCodec, app.BankKeeper, app.AccountKeeper, app.GetSubspace(banktypes.ModuleName)),
735
+ capability.NewAppModule(appCodec, *app.CapabilityKeeper, false),
736
+ gov.NewAppModule(appCodec, app.GovKeeper, app.AccountKeeper, app.BankKeeper, app.GetSubspace(govtypes.ModuleName)),
737
+ mint.NewAppModule(appCodec, app.MintKeeper, app.AccountKeeper, nil, app.GetSubspace(minttypes.ModuleName)),
738
+ slashing.NewAppModule(appCodec, app.SlashingKeeper, app.AccountKeeper, app.BankKeeper, app.StakingKeeper, app.GetSubspace(slashingtypes.ModuleName)),
739
+ distr.NewAppModule(appCodec, app.DistrKeeper, app.AccountKeeper, app.BankKeeper, app.StakingKeeper, app.GetSubspace(distrtypes.ModuleName)),
740
+ staking.NewAppModule(appCodec, &app.StakingKeeper, app.AccountKeeper, app.BankKeeper, app.GetSubspace(stakingtypes.ModuleName)),
705
741
  upgrade.NewAppModule(app.UpgradeKeeper),
706
742
  evidence.NewAppModule(app.EvidenceKeeper),
707
743
  feegrantmodule.NewAppModule(appCodec, app.AccountKeeper, app.BankKeeper, app.FeeGrantKeeper, app.interfaceRegistry),
@@ -710,7 +746,7 @@ func NewAgoricApp(
710
746
  params.NewAppModule(app.ParamsKeeper),
711
747
  ics20TransferModule,
712
748
  icaModule,
713
- packetforward.NewAppModule(app.PacketForwardKeeper),
749
+ packetforward.NewAppModule(app.PacketForwardKeeper, app.GetSubspace(packetforwardtypes.ModuleName)),
714
750
  vstorage.NewAppModule(app.VstorageKeeper),
715
751
  swingset.NewAppModule(
716
752
  app.SwingSetKeeper,
@@ -730,7 +766,7 @@ func NewAgoricApp(
730
766
  // CanWithdrawInvariant invariant.
731
767
  // NOTE: staking module is required if HistoricalEntries param > 0
732
768
  // NOTE: capability module's beginblocker must come before any modules using capabilities (e.g. IBC)
733
- app.mm.SetOrderBeginBlockers(
769
+ app.ModuleManager.SetOrderBeginBlockers(
734
770
  // Cosmos-SDK modules appear roughly in the order used by simapp and gaiad.
735
771
  // upgrades should be run first
736
772
  upgradetypes.ModuleName,
@@ -741,7 +777,7 @@ func NewAgoricApp(
741
777
  stakingtypes.ModuleName,
742
778
  // ibc apps are grouped together
743
779
  ibctransfertypes.ModuleName,
744
- ibchost.ModuleName,
780
+ ibcexported.ModuleName,
745
781
  icatypes.ModuleName,
746
782
  packetforwardtypes.ModuleName,
747
783
  authtypes.ModuleName,
@@ -762,7 +798,7 @@ func NewAgoricApp(
762
798
  vbank.ModuleName,
763
799
  vtransfer.ModuleName,
764
800
  )
765
- app.mm.SetOrderEndBlockers(
801
+ app.ModuleManager.SetOrderEndBlockers(
766
802
  // Cosmos-SDK modules appear roughly in the order used by simapp and gaiad.
767
803
  govtypes.ModuleName,
768
804
  stakingtypes.ModuleName,
@@ -770,7 +806,7 @@ func NewAgoricApp(
770
806
  vibc.ModuleName,
771
807
  vtransfer.ModuleName,
772
808
  ibctransfertypes.ModuleName,
773
- ibchost.ModuleName,
809
+ ibcexported.ModuleName,
774
810
  icatypes.ModuleName,
775
811
  packetforwardtypes.ModuleName,
776
812
  feegrant.ModuleName,
@@ -815,7 +851,7 @@ func NewAgoricApp(
815
851
  minttypes.ModuleName,
816
852
  ibctransfertypes.ModuleName,
817
853
  packetforwardtypes.ModuleName,
818
- ibchost.ModuleName,
854
+ ibcexported.ModuleName,
819
855
  icatypes.ModuleName,
820
856
  evidencetypes.ModuleName,
821
857
  feegrant.ModuleName,
@@ -831,34 +867,29 @@ func NewAgoricApp(
831
867
  swingset.ModuleName,
832
868
  }
833
869
 
834
- app.mm.SetOrderInitGenesis(moduleOrderForGenesisAndUpgrade...)
835
- app.mm.SetOrderMigrations(moduleOrderForGenesisAndUpgrade...)
836
-
837
- app.mm.RegisterRoutes(app.Router(), app.QueryRouter(), encodingConfig.Amino)
870
+ app.ModuleManager.SetOrderInitGenesis(moduleOrderForGenesisAndUpgrade...)
871
+ app.ModuleManager.SetOrderMigrations(moduleOrderForGenesisAndUpgrade...)
838
872
 
839
873
  app.configurator = module.NewConfigurator(app.appCodec, app.MsgServiceRouter(), app.GRPCQueryRouter())
840
- app.mm.RegisterServices(app.configurator)
874
+ app.ModuleManager.RegisterServices(app.configurator)
875
+
876
+ autocliv1.RegisterQueryServer(app.GRPCQueryRouter(), runtimeservices.NewAutoCLIQueryService(app.ModuleManager.Modules))
877
+
878
+ reflectionSvc, err := runtimeservices.NewReflectionService()
879
+ if err != nil {
880
+ panic(err)
881
+ }
882
+ reflectionv1.RegisterReflectionServiceServer(app.GRPCQueryRouter(), reflectionSvc)
841
883
 
842
884
  // create the simulation manager and define the order of the modules for deterministic simulations
843
885
  //
844
886
  // NOTE: this is not required apps that don't use the simulator for fuzz testing
845
887
  // transactions
846
- app.sm = module.NewSimulationManager(
847
- auth.NewAppModule(appCodec, app.AccountKeeper, authsims.RandomGenesisAccounts),
848
- bank.NewAppModule(appCodec, app.BankKeeper, app.AccountKeeper),
849
- capability.NewAppModule(appCodec, *app.CapabilityKeeper),
850
- feegrantmodule.NewAppModule(appCodec, app.AccountKeeper, app.BankKeeper, app.FeeGrantKeeper, app.interfaceRegistry),
851
- authzmodule.NewAppModule(appCodec, app.AuthzKeeper, app.AccountKeeper, app.BankKeeper, app.interfaceRegistry),
852
- gov.NewAppModule(appCodec, app.GovKeeper, app.AccountKeeper, app.BankKeeper),
853
- mint.NewAppModule(appCodec, app.MintKeeper, app.AccountKeeper, nil),
854
- staking.NewAppModule(appCodec, app.StakingKeeper, app.AccountKeeper, app.BankKeeper),
855
- distr.NewAppModule(appCodec, app.DistrKeeper, app.AccountKeeper, app.BankKeeper, app.StakingKeeper),
856
- slashing.NewAppModule(appCodec, app.SlashingKeeper, app.AccountKeeper, app.BankKeeper, app.StakingKeeper),
857
- params.NewAppModule(app.ParamsKeeper),
858
- evidence.NewAppModule(app.EvidenceKeeper),
859
- ibc.NewAppModule(app.IBCKeeper),
860
- ics20TransferModule,
861
- )
888
+ overrideModules := map[string]module.AppModuleSimulation{
889
+ authtypes.ModuleName: auth.NewAppModule(app.appCodec, app.AccountKeeper, authsims.RandomGenesisAccounts, app.GetSubspace(authtypes.ModuleName)),
890
+ }
891
+
892
+ app.sm = module.NewSimulationManagerFromAppModules(app.ModuleManager.Modules, overrideModules)
862
893
 
863
894
  app.sm.RegisterStoreDecoders()
864
895
 
@@ -891,12 +922,7 @@ func NewAgoricApp(
891
922
  app.SetBeginBlocker(app.BeginBlocker)
892
923
  app.SetEndBlocker(app.EndBlocker)
893
924
 
894
- for _, name := range upgradeNamesOfThisVersion {
895
- app.UpgradeKeeper.SetUpgradeHandler(
896
- name,
897
- upgrade19Handler(app, name),
898
- )
899
- }
925
+ app.RegisterUpgradeHandlers()
900
926
 
901
927
  // At this point we don't have a way to read from the store, so we have to
902
928
  // rely on data saved by the x/upgrade module in the previous software.
@@ -909,7 +935,7 @@ func NewAgoricApp(
909
935
  // another, which shouldn't re-run store upgrades.
910
936
  if isPrimaryUpgradeName(upgradeInfo.Name) && !app.UpgradeKeeper.IsSkipHeight(upgradeInfo.Height) {
911
937
  storeUpgrades := storetypes.StoreUpgrades{
912
- Added: []string{},
938
+ Added: []string{consensusparamstypes.StoreKey},
913
939
  Deleted: []string{},
914
940
  }
915
941
 
@@ -1057,12 +1083,12 @@ func (app *GaiaApp) ensureControllerInited(ctx sdk.Context) {
1057
1083
 
1058
1084
  // BeginBlocker application updates every begin block
1059
1085
  func (app *GaiaApp) BeginBlocker(ctx sdk.Context, req abci.RequestBeginBlock) abci.ResponseBeginBlock {
1060
- return app.mm.BeginBlock(ctx, req)
1086
+ return app.ModuleManager.BeginBlock(ctx, req)
1061
1087
  }
1062
1088
 
1063
1089
  // EndBlocker application updates every end block
1064
1090
  func (app *GaiaApp) EndBlocker(ctx sdk.Context, req abci.RequestEndBlock) abci.ResponseEndBlock {
1065
- return app.mm.EndBlock(ctx, req)
1091
+ return app.ModuleManager.EndBlock(ctx, req)
1066
1092
  }
1067
1093
 
1068
1094
  // InitChainer application update at chain initialization
@@ -1072,8 +1098,8 @@ func (app *GaiaApp) InitChainer(ctx sdk.Context, req abci.RequestInitChain) abci
1072
1098
  panic(err)
1073
1099
  }
1074
1100
 
1075
- app.UpgradeKeeper.SetModuleVersionMap(ctx, app.mm.GetVersionMap())
1076
- res := app.mm.InitGenesis(ctx, app.appCodec, genesisState)
1101
+ app.UpgradeKeeper.SetModuleVersionMap(ctx, app.ModuleManager.GetVersionMap())
1102
+ res := app.ModuleManager.InitGenesis(ctx, app.appCodec, genesisState)
1077
1103
 
1078
1104
  // initialize the provision and reserve module accounts, to avoid their implicit creation
1079
1105
  // as a default account upon receiving a transfer. See BlockedAddrs().
@@ -1142,9 +1168,9 @@ func (app *GaiaApp) ModuleAccountAddrs() map[string]bool {
1142
1168
  return modAccAddrs
1143
1169
  }
1144
1170
 
1145
- // BlockedAddrs returns the app's module account addresses that
1171
+ // BlockedAddresses returns the app's module account addresses that
1146
1172
  // are blocked from receiving funds.
1147
- func (app *GaiaApp) BlockedAddrs() map[string]bool {
1173
+ func BlockedAddresses() map[string]bool {
1148
1174
  modAccAddrs := make(map[string]bool)
1149
1175
  for acc := range maccPerms {
1150
1176
  // The provision and reserve pools are not blocked from receiving funds.
@@ -1281,7 +1307,7 @@ func initParamsKeeper(appCodec codec.BinaryCodec, legacyAmino *codec.LegacyAmino
1281
1307
  paramsKeeper.Subspace(govtypes.ModuleName).WithKeyTable(govtypesv1.ParamKeyTable())
1282
1308
  paramsKeeper.Subspace(ibctransfertypes.ModuleName)
1283
1309
  paramsKeeper.Subspace(packetforwardtypes.ModuleName).WithKeyTable(packetforwardtypes.ParamKeyTable())
1284
- paramsKeeper.Subspace(ibchost.ModuleName)
1310
+ paramsKeeper.Subspace(ibcexported.ModuleName)
1285
1311
  paramsKeeper.Subspace(icahosttypes.SubModuleName)
1286
1312
  paramsKeeper.Subspace(swingset.ModuleName)
1287
1313
  paramsKeeper.Subspace(vbank.ModuleName)
@@ -1318,6 +1344,11 @@ func (app *GaiaApp) GetTxConfig() client.TxConfig {
1318
1344
 
1319
1345
  // For testing purposes
1320
1346
  func (app *GaiaApp) SetSwingStoreExportDir(dir string) {
1321
- module := app.mm.Modules[swingset.ModuleName].(swingset.AppModule)
1347
+ module := app.ModuleManager.Modules[swingset.ModuleName].(swingset.AppModule)
1322
1348
  module.SetSwingStoreExportDir(dir)
1323
1349
  }
1350
+
1351
+ // RegisterNodeService implements the Application.RegisterNodeService method.
1352
+ func (app *GaiaApp) RegisterNodeService(clientCtx client.Context) {
1353
+ nodeservice.RegisterNodeService(clientCtx, app.GRPCQueryRouter())
1354
+ }