@@ -172,6 +172,7 @@ type EVMD struct {
172172 keys map [string ]* storetypes.KVStoreKey
173173 tkeys map [string ]* storetypes.TransientStoreKey
174174 memKeys map [string ]* storetypes.MemoryStoreKey
175+ okeys map [string ]* storetypes.ObjectStoreKey
175176
176177 // keepers
177178 AccountKeeper authkeeper.AccountKeeper
@@ -267,6 +268,8 @@ func NewExampleApp(
267268 bApp .SetVersion (version .Version )
268269 bApp .SetInterfaceRegistry (interfaceRegistry )
269270 bApp .SetTxEncoder (txConfig .TxEncoder ())
271+ bApp .SetTxExecutor (DefaultTxExecutor )
272+ bApp .SetDisableBlockGasMeter (true )
270273
271274 // initialize the Cosmos EVM application configuration
272275 if err := evmAppOptions (evmChainID ); err != nil {
@@ -284,7 +287,8 @@ func NewExampleApp(
284287 evmtypes .StoreKey , feemarkettypes .StoreKey , erc20types .StoreKey , precisebanktypes .StoreKey ,
285288 )
286289
287- tkeys := storetypes .NewTransientStoreKeys (paramstypes .TStoreKey , evmtypes .TransientKey , feemarkettypes .TransientKey )
290+ tkeys := storetypes .NewTransientStoreKeys (paramstypes .TStoreKey )
291+ okeys := storetypes .NewObjectStoreKeys (banktypes .ObjectStoreKey , evmtypes .ObjectStoreKey , feemarkettypes .ObjectStoreKey )
288292
289293 // load state streaming if enabled
290294 if err := bApp .RegisterStreamingServices (appOpts , keys ); err != nil {
@@ -305,6 +309,7 @@ func NewExampleApp(
305309 interfaceRegistry : interfaceRegistry ,
306310 keys : keys ,
307311 tkeys : tkeys ,
312+ okeys : okeys ,
308313 }
309314
310315 app .ParamsKeeper = initParamsKeeper (appCodec , legacyAmino , keys [paramstypes .StoreKey ], tkeys [paramstypes .TStoreKey ])
@@ -332,6 +337,7 @@ func NewExampleApp(
332337
333338 app .BankKeeper = bankkeeper .NewBaseKeeper (
334339 appCodec ,
340+ okeys [banktypes .ObjectStoreKey ],
335341 runtime .NewKVStoreService (keys [banktypes .StoreKey ]),
336342 app .AccountKeeper ,
337343 evmdconfig .BlockedAddresses (),
@@ -464,7 +470,7 @@ func NewExampleApp(
464470 app .FeeMarketKeeper = feemarketkeeper .NewKeeper (
465471 appCodec , authtypes .NewModuleAddress (govtypes .ModuleName ),
466472 keys [feemarkettypes .StoreKey ],
467- tkeys [feemarkettypes .TransientKey ],
473+ okeys [feemarkettypes .ObjectStoreKey ],
468474 )
469475
470476 // Set up PreciseBank keeper
@@ -483,7 +489,7 @@ func NewExampleApp(
483489 // NOTE: it's required to set up the EVM keeper before the ERC-20 keeper, because it is used in its instantiation.
484490 app .EVMKeeper = evmkeeper .NewKeeper (
485491 // TODO: check why this is not adjusted to use the runtime module methods like SDK native keepers
486- appCodec , keys [evmtypes .StoreKey ], tkeys [evmtypes .TransientKey ], keys ,
492+ appCodec , keys [evmtypes .StoreKey ], okeys [evmtypes .ObjectStoreKey ], keys ,
487493 authtypes .NewModuleAddress (govtypes .ModuleName ),
488494 app .AccountKeeper ,
489495 app .PreciseBankKeeper ,
@@ -751,6 +757,7 @@ func NewExampleApp(
751757 // initialize stores
752758 app .MountKVStores (keys )
753759 app .MountTransientStores (tkeys )
760+ app .MountObjectStores (okeys )
754761
755762 maxGasWanted := cast .ToUint64 (appOpts .Get (srvflags .EVMMaxTxGasWanted ))
756763
0 commit comments