@@ -48,7 +48,6 @@ import (
48
48
"github.com/cosmos/cosmos-sdk/server/api"
49
49
"github.com/cosmos/cosmos-sdk/server/config"
50
50
servertypes "github.com/cosmos/cosmos-sdk/server/types"
51
- "github.com/cosmos/cosmos-sdk/std"
52
51
sdk "github.com/cosmos/cosmos-sdk/types"
53
52
"github.com/cosmos/cosmos-sdk/types/module"
54
53
"github.com/cosmos/cosmos-sdk/types/msgservice"
@@ -153,7 +152,9 @@ import (
153
152
154
153
simappparams "cosmossdk.io/simapp/params"
155
154
evmv1 "github.com/evmos/ethermint/api/ethermint/evm/v1"
155
+ evmante "github.com/evmos/ethermint/app/ante"
156
156
"github.com/evmos/ethermint/ethereum/eip712"
157
+ etherminttypes "github.com/evmos/ethermint/types"
157
158
"github.com/evmos/ethermint/x/evm"
158
159
evmkeeper "github.com/evmos/ethermint/x/evm/keeper"
159
160
evmtypes "github.com/evmos/ethermint/x/evm/types"
@@ -163,9 +164,15 @@ import (
163
164
feemarkettypes "github.com/evmos/ethermint/x/feemarket/types"
164
165
protov2 "google.golang.org/protobuf/proto"
165
166
167
+ appconfig "github.com/CosmWasm/wasmd/cmd/config"
168
+ enccodec "github.com/evmos/ethermint/encoding/codec"
166
169
"github.com/evmos/ethermint/x/erc20"
167
170
erc20keeper "github.com/evmos/ethermint/x/erc20/keeper"
168
171
erc20types "github.com/evmos/ethermint/x/erc20/types"
172
+
173
+ "github.com/CosmosContracts/juno/v18/x/globalfee"
174
+ globalfeekeeper "github.com/CosmosContracts/juno/v18/x/globalfee/keeper"
175
+ globalfeetypes "github.com/CosmosContracts/juno/v18/x/globalfee/types"
169
176
)
170
177
171
178
const appName = "WasmApp"
@@ -285,6 +292,7 @@ type WasmApp struct {
285
292
EvmKeeper * evmkeeper.Keeper
286
293
Erc20Keeper erc20keeper.Keeper
287
294
FeeMarketKeeper feemarketkeeper.Keeper
295
+ GlobalFeeKeeper globalfeekeeper.Keeper
288
296
289
297
// Middleware wrapper
290
298
Ics20WasmHooks * ibchooks.WasmHooks
@@ -347,10 +355,6 @@ func NewWasmApp(
347
355
348
356
eip712 .SetEncodingConfig (encodingConfig )
349
357
350
- std .RegisterLegacyAminoCodec (legacyAmino )
351
- std .RegisterInterfaces (interfaceRegistry )
352
- clockkeeper .RegisterProposalTypes ()
353
-
354
358
// Below we could construct and set an application specific mempool and
355
359
// ABCI 1.0 PrepareProposal and ProcessProposal handlers. These defaults are
356
360
// already set in the SDK's BaseApp, this shows an example of how to override
@@ -399,7 +403,7 @@ func NewWasmApp(
399
403
// non sdk store keys
400
404
capabilitytypes .StoreKey , ibcexported .StoreKey , ibctransfertypes .StoreKey , ibcfeetypes .StoreKey ,
401
405
wasmtypes .StoreKey , icahosttypes .StoreKey ,
402
- icacontrollertypes .StoreKey , clocktypes .StoreKey , ibchookstypes .StoreKey , packetforwardtypes .StoreKey , tokenfactorytypes .StoreKey ,
406
+ icacontrollertypes .StoreKey , clocktypes .StoreKey , globalfeetypes . StoreKey , ibchookstypes .StoreKey , packetforwardtypes .StoreKey , tokenfactorytypes .StoreKey ,
403
407
evmtypes .StoreKey , feemarkettypes .StoreKey , erc20types .StoreKey ,
404
408
)
405
409
@@ -607,9 +611,10 @@ func NewWasmApp(
607
611
608
612
evmSs := app .GetSubspace (evmtypes .ModuleName )
609
613
tracer := cast .ToString (appOpts .Get (srvflags .EVMTracer ))
614
+ evmBankKeeper := evmkeeper .NewEvmBankKeeperWithDenoms (app .BankKeeper , app .AccountKeeper , appconfig .EvmDenom , appconfig .CosmosDenom )
610
615
app .EvmKeeper = evmkeeper .NewKeeper (
611
616
appCodec , runtime .NewKVStoreService (keys [evmtypes .StoreKey ]), tkeys [evmtypes .TransientKey ], Authority ,
612
- app .AccountKeeper , app . BankKeeper , app .StakingKeeper , app .FeeMarketKeeper ,
617
+ app .AccountKeeper , evmBankKeeper , app .StakingKeeper , app .FeeMarketKeeper ,
613
618
nil , geth .NewEVM , tracer , evmSs ,
614
619
)
615
620
@@ -626,7 +631,6 @@ func NewWasmApp(
626
631
govRouter := govv1beta1 .NewRouter ()
627
632
govRouter .AddRoute (govtypes .RouterKey , govv1beta1 .ProposalHandler ).
628
633
AddRoute (paramproposal .RouterKey , params .NewParamChangeProposalHandler (app .ParamsKeeper )).
629
- AddRoute (clocktypes .RouterKey , clockkeeper .NewClockProposalHandler (app .ClockKeeper )).
630
634
AddRoute (erc20types .RouterKey , erc20 .NewErc20ProposalHandler (& app .Erc20Keeper ))
631
635
govConfig := govtypes .DefaultConfig ()
632
636
/*
@@ -754,6 +758,7 @@ func NewWasmApp(
754
758
}
755
759
756
760
wasmOpts = append (bindings .RegisterCustomPlugins (& app .BankKeeper , & app .TokenFactoryKeeper ), wasmOpts ... )
761
+ wasmOpts = append (RegisterStargateQueries (* bApp .GRPCQueryRouter (), appCodec ), wasmOpts ... )
757
762
758
763
// The last arguments can contain custom message handlers, and custom query handlers,
759
764
// if we want to allow any custom callbacks
@@ -783,6 +788,13 @@ func NewWasmApp(
783
788
app .keys [clocktypes .StoreKey ],
784
789
appCodec ,
785
790
* app .ContractKeeper ,
791
+ AuthorityAddr ,
792
+ )
793
+
794
+ app .GlobalFeeKeeper = globalfeekeeper .NewKeeper (
795
+ appCodec ,
796
+ app .keys [globalfeetypes .StoreKey ],
797
+ AuthorityAddr ,
786
798
)
787
799
788
800
app .TokenFactoryKeeper = tokenfactorykeeper .NewKeeper (
@@ -883,6 +895,7 @@ func NewWasmApp(
883
895
// sdk
884
896
crisis .NewAppModule (app .CrisisKeeper , skipGenesisInvariants , app .GetSubspace (crisistypes .ModuleName )), // always be last to make sure that it checks for all invariants and not only part of them
885
897
clock .NewAppModule (appCodec , app .ClockKeeper ),
898
+ globalfee .NewAppModule (appCodec , app .GlobalFeeKeeper ),
886
899
ibchooks .NewAppModule (app .AccountKeeper ),
887
900
packetforward .NewAppModule (app .PacketForwardKeeper , app .GetSubspace (packetforwardtypes .ModuleName )),
888
901
tokenfactory .NewAppModule (app .TokenFactoryKeeper , app .AccountKeeper , app .BankKeeper ),
@@ -912,9 +925,13 @@ func NewWasmApp(
912
925
evmtypes .ModuleName : evm.AppModuleBasic {},
913
926
feemarkettypes .ModuleName : feemarket.AppModuleBasic {},
914
927
erc20types .ModuleName : erc20.AppModuleBasic {},
928
+ globalfee .ModuleName : globalfee.AppModuleBasic {},
915
929
})
916
930
app .BasicModuleManager .RegisterLegacyAminoCodec (legacyAmino )
917
931
app .BasicModuleManager .RegisterInterfaces (interfaceRegistry )
932
+ enccodec .RegisterLegacyAminoCodec (legacyAmino )
933
+ enccodec .RegisterInterfaces (interfaceRegistry )
934
+ clocktypes .RegisterInterfaces (interfaceRegistry )
918
935
919
936
// NOTE: upgrade module is required to be prioritized
920
937
app .ModuleManager .SetOrderPreBlockers (
@@ -943,6 +960,7 @@ func NewWasmApp(
943
960
clocktypes .ModuleName ,
944
961
ibchookstypes .ModuleName ,
945
962
packetforwardtypes .ModuleName ,
963
+ globalfee .ModuleName ,
946
964
tokenfactorytypes .ModuleName ,
947
965
feemarkettypes .ModuleName ,
948
966
evmtypes .ModuleName ,
@@ -966,6 +984,7 @@ func NewWasmApp(
966
984
clocktypes .ModuleName ,
967
985
ibchookstypes .ModuleName ,
968
986
packetforwardtypes .ModuleName ,
987
+ globalfee .ModuleName ,
969
988
tokenfactorytypes .ModuleName ,
970
989
feemarkettypes .ModuleName ,
971
990
evmtypes .ModuleName ,
@@ -998,6 +1017,7 @@ func NewWasmApp(
998
1017
clocktypes .ModuleName ,
999
1018
ibchookstypes .ModuleName ,
1000
1019
packetforwardtypes .ModuleName ,
1020
+ globalfee .ModuleName ,
1001
1021
tokenfactorytypes .ModuleName ,
1002
1022
feemarkettypes .ModuleName ,
1003
1023
evmtypes .ModuleName ,
@@ -1119,19 +1139,29 @@ func (app *WasmApp) setAnteHandler(txConfig client.TxConfig, wasmConfig wasmtype
1119
1139
anteHandler , err := NewAnteHandler (
1120
1140
HandlerOptions {
1121
1141
HandlerOptions : ante.HandlerOptions {
1122
- BankKeeper : app .BankKeeper ,
1123
- SignModeHandler : txConfig .SignModeHandler (),
1124
- FeegrantKeeper : app .FeeGrantKeeper ,
1125
- SigGasConsumer : DefaultSigGasConsumer ,
1142
+ SignModeHandler : txConfig .SignModeHandler (),
1143
+ FeegrantKeeper : app .FeeGrantKeeper ,
1144
+ SigGasConsumer : DefaultSigGasConsumer ,
1145
+ ExtensionOptionChecker : etherminttypes .HasDynamicFeeExtensionOption ,
1146
+ TxFeeChecker : evmante .NewDynamicFeeChecker (app .EvmKeeper ),
1126
1147
},
1127
1148
AccountKeeper : app .AccountKeeper ,
1149
+ BankKeeper : app .BankKeeper ,
1128
1150
IBCKeeper : app .IBCKeeper ,
1129
1151
EvmKeeper : app .EvmKeeper ,
1152
+ StakingKeeper : * app .StakingKeeper ,
1153
+ GlobalFeeKeeper : app .GlobalFeeKeeper ,
1130
1154
FeeMarketKeeper : app .FeeMarketKeeper ,
1131
1155
WasmConfig : & wasmConfig ,
1132
1156
WasmKeeper : & app .WasmKeeper ,
1133
1157
TXCounterStoreService : runtime .NewKVStoreService (txCounterStoreKey ),
1134
1158
CircuitKeeper : & app .CircuitKeeper ,
1159
+ DisabledAuthzMsgs : []string {
1160
+ sdk .MsgTypeURL (& evmtypes.MsgEthereumTx {}),
1161
+ sdk .MsgTypeURL (& vestingtypes.MsgCreateVestingAccount {}),
1162
+ sdk .MsgTypeURL (& vestingtypes.MsgCreatePermanentLockedAccount {}),
1163
+ sdk .MsgTypeURL (& vestingtypes.MsgCreatePeriodicVestingAccount {}),
1164
+ },
1135
1165
},
1136
1166
)
1137
1167
if err != nil {
@@ -1382,6 +1412,7 @@ func initParamsKeeper(appCodec codec.BinaryCodec, legacyAmino *codec.LegacyAmino
1382
1412
1383
1413
paramsKeeper .Subspace (wasmtypes .ModuleName )
1384
1414
paramsKeeper .Subspace (clocktypes .ModuleName )
1415
+ paramsKeeper .Subspace (globalfeetypes .ModuleName )
1385
1416
paramsKeeper .Subspace (ibchookstypes .ModuleName )
1386
1417
paramsKeeper .Subspace (packetforwardtypes .ModuleName ).WithKeyTable (packetforwardtypes .ParamKeyTable ())
1387
1418
paramsKeeper .Subspace (tokenfactorytypes .ModuleName )
0 commit comments