Skip to content

Commit 591dc13

Browse files
authored
Merge pull request #156 from realiotech/hieu/bump-evm-0.5.0
Bump `cosmos/evm` to `v0.5.0`
2 parents 9dcddd7 + af85a15 commit 591dc13

15 files changed

Lines changed: 1197 additions & 801 deletions

File tree

.github/workflows/test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ jobs:
5151
if: env.GIT_DIFF
5252
- name: test & coverage report creation
5353
run: |
54-
cat pkgs.txt.part.${{ matrix.part }} | xargs go test -mod=readonly -timeout 30m -coverprofile=${{ matrix.part }}profile.out -covermode=atomic -tags='ledger test_ledger_mock'
54+
cat pkgs.txt.part.${{ matrix.part }} | xargs go test -mod=readonly -timeout 30m -coverprofile=${{ matrix.part }}profile.out -covermode=atomic -tags='ledger test_ledger_mock test'
5555
if: env.GIT_DIFF
5656
- uses: actions/upload-artifact@v4
5757
with:

go.mod

Lines changed: 132 additions & 114 deletions
Large diffs are not rendered by default.

go.sum

Lines changed: 1009 additions & 267 deletions
Large diffs are not rendered by default.

test/simapp/app.go

Lines changed: 21 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -69,9 +69,6 @@ import (
6969
banktypes "github.com/cosmos/cosmos-sdk/x/bank/types"
7070
consensusparamkeeper "github.com/cosmos/cosmos-sdk/x/consensus/keeper"
7171
consensusparamtypes "github.com/cosmos/cosmos-sdk/x/consensus/types"
72-
"github.com/cosmos/cosmos-sdk/x/crisis"
73-
crisiskeeper "github.com/cosmos/cosmos-sdk/x/crisis/keeper"
74-
crisistypes "github.com/cosmos/cosmos-sdk/x/crisis/types"
7572
distr "github.com/cosmos/cosmos-sdk/x/distribution"
7673
distrkeeper "github.com/cosmos/cosmos-sdk/x/distribution/keeper"
7774
distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types"
@@ -135,7 +132,6 @@ var (
135132
),
136133
groupmodule.AppModuleBasic{},
137134
params.AppModuleBasic{},
138-
crisis.AppModuleBasic{},
139135
slashing.AppModuleBasic{},
140136
feegrantmodule.AppModuleBasic{},
141137
upgrade.AppModuleBasic{},
@@ -193,9 +189,8 @@ type SimApp struct {
193189
DistrKeeper distrkeeper.Keeper
194190
GovKeeper govkeeper.Keeper
195191
GroupKeeper groupkeeper.Keeper
196-
CrisisKeeper crisiskeeper.Keeper
197192
UpgradeKeeper upgradekeeper.Keeper
198-
ParamsKeeper paramskeeper.Keeper
193+
ParamsKeeper paramskeeper.Keeper //nolint:staticcheck
199194
AuthzKeeper authzkeeper.Keeper
200195
EvidenceKeeper evidencekeeper.Keeper
201196
FeeGrantKeeper feegrantkeeper.Keeper
@@ -226,6 +221,7 @@ func NewSimApp(
226221
homePath string, invCheckPeriod uint, encodingConfig simappparams.EncodingConfig,
227222
appOpts servertypes.AppOptions, baseAppOptions ...func(*baseapp.BaseApp),
228223
) *SimApp {
224+
evmChainID := cast.ToUint64(appOpts.Get(srvflags.EVMChainID))
229225
appCodec := encodingConfig.Codec
230226
legacyAmino := encodingConfig.Amino
231227
interfaceRegistry := encodingConfig.InterfaceRegistry
@@ -236,16 +232,11 @@ func NewSimApp(
236232
bApp.SetInterfaceRegistry(interfaceRegistry)
237233
bApp.SetTxEncoder(encodingConfig.TxConfig.TxEncoder())
238234

239-
// initialize the Cosmos EVM application configuration
240-
if err := EvmAppOptions(bApp.ChainID()); err != nil {
241-
panic(err)
242-
}
243-
244235
keys := storetypes.NewKVStoreKeys(
245236
authtypes.StoreKey, banktypes.StoreKey, stakingtypes.StoreKey, multistakingtypes.StoreKey,
246237
minttypes.StoreKey, distrtypes.StoreKey, slashingtypes.StoreKey,
247238
govtypes.StoreKey, group.StoreKey, paramstypes.StoreKey, upgradetypes.StoreKey, feegrant.StoreKey,
248-
evidencetypes.StoreKey, capabilitytypes.StoreKey, crisistypes.StoreKey,
239+
evidencetypes.StoreKey, capabilitytypes.StoreKey,
249240
authzkeeper.StoreKey, consensusparamtypes.StoreKey,
250241
evmtypes.StoreKey, feemarkettypes.StoreKey, erc20types.StoreKey,
251242
)
@@ -263,13 +254,6 @@ func NewSimApp(
263254
memKeys: memKeys,
264255
}
265256

266-
app.ParamsKeeper = initParamsKeeper(
267-
appCodec,
268-
legacyAmino,
269-
keys[paramstypes.StoreKey],
270-
tkeys[paramstypes.TStoreKey],
271-
)
272-
273257
// set the BaseApp's parameter store
274258
app.ConsensusParamsKeeper = consensusparamkeeper.NewKeeper(
275259
appCodec,
@@ -342,15 +326,6 @@ func NewSimApp(
342326
app.StakingKeeper,
343327
authtypes.NewModuleAddress(govtypes.ModuleName).String(),
344328
)
345-
app.CrisisKeeper = *crisiskeeper.NewKeeper(
346-
appCodec,
347-
runtime.NewKVStoreService(keys[crisistypes.StoreKey]),
348-
invCheckPeriod,
349-
app.BankKeeper,
350-
authtypes.FeeCollectorName,
351-
authtypes.NewModuleAddress(govtypes.ModuleName).String(),
352-
app.AccountKeeper.AddressCodec(),
353-
)
354329
app.FeeGrantKeeper = feegrantkeeper.NewKeeper(
355330
appCodec,
356331
runtime.NewKVStoreService(keys[feegrant.StoreKey]),
@@ -378,8 +353,18 @@ func NewSimApp(
378353

379354
var Erc20Keeper erc20keeper.Keeper
380355
evmKeeper := evmkeeper.NewKeeper(
381-
appCodec, keys[evmtypes.StoreKey], tkeys[evmtypes.TransientKey], authtypes.NewModuleAddress(govtypes.ModuleName),
382-
app.AccountKeeper, app.BankKeeper, app.StakingKeeper, &FeeMarketKeeper, Erc20Keeper,
356+
appCodec,
357+
keys[evmtypes.StoreKey],
358+
tkeys[evmtypes.TransientKey],
359+
keys,
360+
authtypes.NewModuleAddress(govtypes.ModuleName),
361+
app.AccountKeeper,
362+
app.BankKeeper,
363+
app.StakingKeeper,
364+
FeeMarketKeeper,
365+
&app.ConsensusParamsKeeper,
366+
Erc20Keeper,
367+
evmChainID,
383368
tracer,
384369
)
385370

@@ -461,10 +446,6 @@ func NewSimApp(
461446

462447
/**** Module Options ****/
463448

464-
// NOTE: we may consider parsing `appOpts` inside module constructors. For the moment
465-
// we prefer to be more strict in what arguments the modules expect.
466-
skipGenesisInvariants := cast.ToBool(appOpts.Get(crisis.FlagSkipGenesisInvariants))
467-
468449
// NOTE: Any module instantiated in the module manager that is later modified
469450
// must be passed by reference here.
470451
app.mm = module.NewManager(
@@ -486,11 +467,10 @@ func NewSimApp(
486467
multistaking.NewAppModule(appCodec, app.MultiStakingKeeper, app.StakingKeeper, app.AccountKeeper, app.BankKeeper, app.GetSubspace(stakingtypes.ModuleName)),
487468
upgrade.NewAppModule(&app.UpgradeKeeper, app.AccountKeeper.AddressCodec()),
488469
evidence.NewAppModule(app.EvidenceKeeper),
489-
params.NewAppModule(app.ParamsKeeper),
470+
params.NewAppModule(app.ParamsKeeper), //nolint:staticcheck
490471
authzmodule.NewAppModule(appCodec, app.AuthzKeeper, app.AccountKeeper, app.BankKeeper, app.interfaceRegistry),
491-
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
492472

493-
vm.NewAppModule(evmKeeper, app.AccountKeeper),
473+
vm.NewAppModule(evmKeeper, app.AccountKeeper, app.BankKeeper, app.AccountKeeper.AddressCodec()),
494474
feemarket.NewAppModule(FeeMarketKeeper),
495475
erc20.NewAppModule(Erc20Keeper, app.AccountKeeper),
496476
)
@@ -506,11 +486,11 @@ func NewSimApp(
506486
erc20types.ModuleName, minttypes.ModuleName, distrtypes.ModuleName, slashingtypes.ModuleName,
507487
multistakingtypes.ModuleName,
508488
evidencetypes.ModuleName, authtypes.ModuleName,
509-
banktypes.ModuleName, govtypes.ModuleName, crisistypes.ModuleName, genutiltypes.ModuleName, authz.ModuleName, feegrant.ModuleName,
489+
banktypes.ModuleName, govtypes.ModuleName, genutiltypes.ModuleName, authz.ModuleName, feegrant.ModuleName,
510490
paramstypes.ModuleName, vestingtypes.ModuleName, group.ModuleName,
511491
)
512492
app.mm.SetOrderEndBlockers(
513-
crisistypes.ModuleName, govtypes.ModuleName,
493+
govtypes.ModuleName,
514494
multistakingtypes.ModuleName,
515495
evmtypes.ModuleName,
516496
erc20types.ModuleName,
@@ -528,15 +508,14 @@ func NewSimApp(
528508
app.mm.SetOrderInitGenesis(
529509
capabilitytypes.ModuleName, authtypes.ModuleName, banktypes.ModuleName, distrtypes.ModuleName,
530510
multistakingtypes.ModuleName,
531-
slashingtypes.ModuleName, govtypes.ModuleName, minttypes.ModuleName, crisistypes.ModuleName,
511+
slashingtypes.ModuleName, govtypes.ModuleName, minttypes.ModuleName,
532512
evmtypes.ModuleName,
533513
erc20types.ModuleName,
534514
feemarkettypes.ModuleName, genutiltypes.ModuleName, evidencetypes.ModuleName, authz.ModuleName,
535515
feegrant.ModuleName, paramstypes.ModuleName, upgradetypes.ModuleName,
536516
vestingtypes.ModuleName, group.ModuleName,
537517
)
538518

539-
app.mm.RegisterInvariants(&app.CrisisKeeper)
540519
app.configurator = module.NewConfigurator(app.appCodec, app.MsgServiceRouter(), app.GRPCQueryRouter())
541520
err := app.mm.RegisterServices(app.configurator)
542521
if err != nil {
@@ -559,7 +538,7 @@ func NewSimApp(
559538
mint.NewAppModule(appCodec, app.MintKeeper, app.AccountKeeper, nil, app.GetSubspace(minttypes.ModuleName)),
560539
distr.NewAppModule(appCodec, app.DistrKeeper, app.AccountKeeper, app.BankKeeper, app.StakingKeeper, app.GetSubspace(distrtypes.ModuleName)),
561540
slashing.NewAppModule(appCodec, app.SlashingKeeper, app.AccountKeeper, app.BankKeeper, app.StakingKeeper, app.GetSubspace(slashingtypes.ModuleName), app.interfaceRegistry),
562-
params.NewAppModule(app.ParamsKeeper),
541+
params.NewAppModule(app.ParamsKeeper), //nolint:staticcheck
563542
evidence.NewAppModule(app.EvidenceKeeper),
564543
authzmodule.NewAppModule(appCodec, app.AuthzKeeper, app.AccountKeeper, app.BankKeeper, app.interfaceRegistry),
565544
)
@@ -688,22 +667,3 @@ func GetMaccPerms() map[string][]string {
688667
}
689668
return dupMaccPerms
690669
}
691-
692-
// initParamsKeeper init params keeper and its subspaces
693-
func initParamsKeeper(appCodec codec.BinaryCodec, legacyAmino *codec.LegacyAmino, key, tkey storetypes.StoreKey) paramskeeper.Keeper {
694-
paramsKeeper := paramskeeper.NewKeeper(appCodec, legacyAmino, key, tkey)
695-
696-
paramsKeeper.Subspace(authtypes.ModuleName)
697-
paramsKeeper.Subspace(banktypes.ModuleName)
698-
paramsKeeper.Subspace(multistakingtypes.ModuleName)
699-
paramsKeeper.Subspace(stakingtypes.ModuleName)
700-
paramsKeeper.Subspace(minttypes.ModuleName)
701-
paramsKeeper.Subspace(distrtypes.ModuleName)
702-
paramsKeeper.Subspace(slashingtypes.ModuleName)
703-
paramsKeeper.Subspace(govtypes.ModuleName)
704-
paramsKeeper.Subspace(crisistypes.ModuleName)
705-
paramsKeeper.Subspace(evmtypes.ModuleName).WithKeyTable(evmtypes.ParamKeyTable()) //nolint: staticcheck // SA1019
706-
paramsKeeper.Subspace(feemarkettypes.ModuleName).WithKeyTable(feemarkettypes.ParamKeyTable())
707-
paramsKeeper.Subspace(erc20types.ModuleName)
708-
return paramsKeeper
709-
}

test/simapp/evm_config.go

Lines changed: 0 additions & 56 deletions
This file was deleted.

test/simapp/export.go

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,6 @@ func (app *SimApp) prepForZeroHeightGenesis(ctx sdk.Context, jailAllowedAddrs []
7070
allowedAddrsMap[addr] = true
7171
}
7272

73-
/* Just to be safe, assert the invariants on current state. */
74-
app.CrisisKeeper.AssertInvariants(ctx)
75-
7673
/* Handle fee distribution state. */
7774

7875
// withdraw all validator commission

test/simapp/test_helpers.go

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,20 @@ var (
5555
Amount: math.NewIntFromUint64(100000000),
5656
BondWeight: math.LegacyMustNewDecFromStr("0.12"),
5757
}
58+
evmCoinMetadata = banktypes.Metadata{
59+
Description: "test evm coin denom",
60+
DenomUnits: []*banktypes.DenomUnit{
61+
{
62+
Denom: "aatom",
63+
Exponent: 18,
64+
Aliases: []string{"aatom"},
65+
},
66+
},
67+
Base: "aatom",
68+
Display: "aatom",
69+
Name: "aatom",
70+
Symbol: "aatom",
71+
}
5872
)
5973

6074
// Setup initializes a new SimApp. A Nop logger is set in SimApp.
@@ -217,7 +231,7 @@ func genesisStateWithValSet(app *SimApp, genesisState GenesisState, valSet *tmty
217231
}
218232

219233
// update total supply
220-
bankGenesis := banktypes.NewGenesisState(banktypes.DefaultGenesisState().Params, balances, totalSupply, []banktypes.Metadata{}, []banktypes.SendEnabled{})
234+
bankGenesis := banktypes.NewGenesisState(banktypes.DefaultGenesisState().Params, balances, totalSupply, []banktypes.Metadata{evmCoinMetadata}, []banktypes.SendEnabled{})
221235
genesisState[banktypes.ModuleName] = app.AppCodec().MustMarshalJSON(bankGenesis)
222236

223237
return genesisState

x/multi-staking/keeper/abci_test.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,6 @@ func (suite *KeeperTestSuite) TestMsUnlockEndBlocker() {
4747
tc := tc
4848
suite.Run(tc.name, func() {
4949
// height 1
50-
suite.SetupTest()
51-
5250
vals, err := suite.app.StakingKeeper.GetAllValidators(suite.ctx)
5351
suite.NoError(err)
5452
val := vals[0]

x/multi-staking/keeper/genesis_test.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package keeper_test
22

33
import (
44
dbm "github.com/cosmos/cosmos-db"
5+
evmtypes "github.com/cosmos/evm/x/vm/types"
56
"github.com/realio-tech/multi-staking-module/test/simapp"
67

78
"cosmossdk.io/log"
@@ -10,10 +11,13 @@ import (
1011
)
1112

1213
func (suite *KeeperTestSuite) TestImportExportGenesis() {
13-
appState, err := suite.app.ExportAppStateAndValidators(false, []string{})
14+
appState, err := suite.app.ExportAppStateAndValidators(false, []string{}) //nolint:staticcheck
1415
suite.NoError(err)
1516

16-
encConfig := simapp.MakeEncodingConfig()
17+
encConfig := simapp.MakeEncodingConfig() //nolint:staticcheck
18+
19+
configurator := evmtypes.NewEVMConfigurator()
20+
configurator.ResetTestConfig()
1721

1822
emptyApp := simapp.NewSimApp(
1923
log.NewNopLogger(),

0 commit comments

Comments
 (0)