@@ -11,9 +11,9 @@ import (
11
11
12
12
"github.com/cosmos/cosmos-sdk/baseapp"
13
13
"github.com/cosmos/cosmos-sdk/codec"
14
+ cdctypes "github.com/cosmos/cosmos-sdk/codec/types"
14
15
"github.com/cosmos/cosmos-sdk/simapp"
15
16
"github.com/cosmos/cosmos-sdk/std"
16
- codecstd "github.com/cosmos/cosmos-sdk/std"
17
17
sdk "github.com/cosmos/cosmos-sdk/types"
18
18
"github.com/cosmos/cosmos-sdk/types/module"
19
19
"github.com/cosmos/cosmos-sdk/version"
@@ -176,8 +176,7 @@ func NewAgoricApp(
176
176
) * AgoricApp {
177
177
178
178
// TODO: Remove cdc in favor of appCodec once all modules are migrated.
179
- cdc := codecstd .MakeCodec (ModuleBasics )
180
- appCodec := codecstd .NewAppCodec (cdc )
179
+ appCodec , cdc := MakeCodecs ()
181
180
182
181
bApp := baseapp .NewBaseApp (appName , logger , db , auth .DefaultTxDecoder (cdc ), baseAppOptions ... )
183
182
bApp .SetCommitMultiStoreTracer (traceStore )
@@ -268,13 +267,15 @@ func NewAgoricApp(
268
267
)
269
268
270
269
// Create IBC keeper
270
+ // TODO: remove amino codec dependency once Tendermint version is upgraded with
271
+ // protobuf changes
271
272
app .ibcKeeper = ibc .NewKeeper (
272
- app .cdc , keys [ibc .StoreKey ], stakingKeeper , scopedIBCKeeper ,
273
+ app .cdc , appCodec , keys [ibc .StoreKey ], stakingKeeper , scopedIBCKeeper ,
273
274
)
274
275
275
276
// create Transfer Keepers
276
277
app .transferKeeper = transfer .NewKeeper (
277
- app . cdc , keys [transfer .StoreKey ],
278
+ appCodec , keys [transfer .StoreKey ],
278
279
app .ibcKeeper .ChannelKeeper , & app .ibcKeeper .PortKeeper ,
279
280
app .accountKeeper , app .bankKeeper ,
280
281
scopedTransferKeeper ,
@@ -329,7 +330,7 @@ func NewAgoricApp(
329
330
distr .NewAppModule (appCodec , app .distrKeeper , app .accountKeeper , app .bankKeeper , app .stakingKeeper ),
330
331
staking .NewAppModule (appCodec , app .stakingKeeper , app .accountKeeper , app .bankKeeper ),
331
332
upgrade .NewAppModule (app .upgradeKeeper ),
332
- evidence .NewAppModule (appCodec , app .evidenceKeeper ),
333
+ evidence .NewAppModule (app .evidenceKeeper ),
333
334
ibc .NewAppModule (app .ibcKeeper ),
334
335
params .NewAppModule (app .paramsKeeper ),
335
336
swingsetModule ,
@@ -497,6 +498,19 @@ func (app *AgoricApp) SimulationManager() *module.SimulationManager {
497
498
return app .sm
498
499
}
499
500
501
+ // MakeCodecs constructs the *std.Codec and *codec.Codec instances used by
502
+ // GaiaApp.
503
+ func MakeCodecs () (* std.Codec , * codec.Codec ) {
504
+ cdc := std .MakeCodec (ModuleBasics )
505
+ interfaceRegistry := cdctypes .NewInterfaceRegistry ()
506
+ appCodec := std .NewAppCodec (cdc , interfaceRegistry )
507
+
508
+ sdk .RegisterInterfaces (interfaceRegistry )
509
+ ModuleBasics .RegisterInterfaceModules (interfaceRegistry )
510
+
511
+ return appCodec , cdc
512
+ }
513
+
500
514
// GetMaccPerms returns a copy of the module account permissions
501
515
func GetMaccPerms () map [string ][]string {
502
516
dupMaccPerms := make (map [string ][]string )
0 commit comments