Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ jobs:
if: env.GIT_DIFF
- name: test & coverage report creation
run: |
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'
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'
if: env.GIT_DIFF
- uses: actions/upload-artifact@v4
with:
Expand Down
246 changes: 132 additions & 114 deletions go.mod

Large diffs are not rendered by default.

1,276 changes: 1,009 additions & 267 deletions go.sum

Large diffs are not rendered by default.

82 changes: 21 additions & 61 deletions test/simapp/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -69,9 +69,6 @@ import (
banktypes "github.com/cosmos/cosmos-sdk/x/bank/types"
consensusparamkeeper "github.com/cosmos/cosmos-sdk/x/consensus/keeper"
consensusparamtypes "github.com/cosmos/cosmos-sdk/x/consensus/types"
"github.com/cosmos/cosmos-sdk/x/crisis"
crisiskeeper "github.com/cosmos/cosmos-sdk/x/crisis/keeper"
crisistypes "github.com/cosmos/cosmos-sdk/x/crisis/types"
distr "github.com/cosmos/cosmos-sdk/x/distribution"
distrkeeper "github.com/cosmos/cosmos-sdk/x/distribution/keeper"
distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types"
Expand Down Expand Up @@ -135,7 +132,6 @@ var (
),
groupmodule.AppModuleBasic{},
params.AppModuleBasic{},
crisis.AppModuleBasic{},
slashing.AppModuleBasic{},
feegrantmodule.AppModuleBasic{},
upgrade.AppModuleBasic{},
Expand Down Expand Up @@ -193,9 +189,8 @@ type SimApp struct {
DistrKeeper distrkeeper.Keeper
GovKeeper govkeeper.Keeper
GroupKeeper groupkeeper.Keeper
CrisisKeeper crisiskeeper.Keeper
UpgradeKeeper upgradekeeper.Keeper
ParamsKeeper paramskeeper.Keeper
ParamsKeeper paramskeeper.Keeper //nolint:staticcheck
AuthzKeeper authzkeeper.Keeper
EvidenceKeeper evidencekeeper.Keeper
FeeGrantKeeper feegrantkeeper.Keeper
Expand Down Expand Up @@ -226,6 +221,7 @@ func NewSimApp(
homePath string, invCheckPeriod uint, encodingConfig simappparams.EncodingConfig,
appOpts servertypes.AppOptions, baseAppOptions ...func(*baseapp.BaseApp),
) *SimApp {
evmChainID := cast.ToUint64(appOpts.Get(srvflags.EVMChainID))
appCodec := encodingConfig.Codec
legacyAmino := encodingConfig.Amino
interfaceRegistry := encodingConfig.InterfaceRegistry
Expand All @@ -236,16 +232,11 @@ func NewSimApp(
bApp.SetInterfaceRegistry(interfaceRegistry)
bApp.SetTxEncoder(encodingConfig.TxConfig.TxEncoder())

// initialize the Cosmos EVM application configuration
if err := EvmAppOptions(bApp.ChainID()); err != nil {
panic(err)
}

keys := storetypes.NewKVStoreKeys(
authtypes.StoreKey, banktypes.StoreKey, stakingtypes.StoreKey, multistakingtypes.StoreKey,
minttypes.StoreKey, distrtypes.StoreKey, slashingtypes.StoreKey,
govtypes.StoreKey, group.StoreKey, paramstypes.StoreKey, upgradetypes.StoreKey, feegrant.StoreKey,
evidencetypes.StoreKey, capabilitytypes.StoreKey, crisistypes.StoreKey,
evidencetypes.StoreKey, capabilitytypes.StoreKey,
authzkeeper.StoreKey, consensusparamtypes.StoreKey,
evmtypes.StoreKey, feemarkettypes.StoreKey, erc20types.StoreKey,
)
Expand All @@ -263,13 +254,6 @@ func NewSimApp(
memKeys: memKeys,
}

app.ParamsKeeper = initParamsKeeper(
appCodec,
legacyAmino,
keys[paramstypes.StoreKey],
tkeys[paramstypes.TStoreKey],
)

// set the BaseApp's parameter store
app.ConsensusParamsKeeper = consensusparamkeeper.NewKeeper(
appCodec,
Expand Down Expand Up @@ -342,15 +326,6 @@ func NewSimApp(
app.StakingKeeper,
authtypes.NewModuleAddress(govtypes.ModuleName).String(),
)
app.CrisisKeeper = *crisiskeeper.NewKeeper(
appCodec,
runtime.NewKVStoreService(keys[crisistypes.StoreKey]),
invCheckPeriod,
app.BankKeeper,
authtypes.FeeCollectorName,
authtypes.NewModuleAddress(govtypes.ModuleName).String(),
app.AccountKeeper.AddressCodec(),
)
app.FeeGrantKeeper = feegrantkeeper.NewKeeper(
appCodec,
runtime.NewKVStoreService(keys[feegrant.StoreKey]),
Expand Down Expand Up @@ -378,8 +353,18 @@ func NewSimApp(

var Erc20Keeper erc20keeper.Keeper
evmKeeper := evmkeeper.NewKeeper(
appCodec, keys[evmtypes.StoreKey], tkeys[evmtypes.TransientKey], authtypes.NewModuleAddress(govtypes.ModuleName),
app.AccountKeeper, app.BankKeeper, app.StakingKeeper, &FeeMarketKeeper, Erc20Keeper,
appCodec,
keys[evmtypes.StoreKey],
tkeys[evmtypes.TransientKey],
keys,
authtypes.NewModuleAddress(govtypes.ModuleName),
app.AccountKeeper,
app.BankKeeper,
app.StakingKeeper,
FeeMarketKeeper,
&app.ConsensusParamsKeeper,
Erc20Keeper,
evmChainID,
tracer,
)

Expand Down Expand Up @@ -461,10 +446,6 @@ func NewSimApp(

/**** Module Options ****/

// NOTE: we may consider parsing `appOpts` inside module constructors. For the moment
// we prefer to be more strict in what arguments the modules expect.
skipGenesisInvariants := cast.ToBool(appOpts.Get(crisis.FlagSkipGenesisInvariants))

// NOTE: Any module instantiated in the module manager that is later modified
// must be passed by reference here.
app.mm = module.NewManager(
Expand All @@ -486,11 +467,10 @@ func NewSimApp(
multistaking.NewAppModule(appCodec, app.MultiStakingKeeper, app.StakingKeeper, app.AccountKeeper, app.BankKeeper, app.GetSubspace(stakingtypes.ModuleName)),
upgrade.NewAppModule(&app.UpgradeKeeper, app.AccountKeeper.AddressCodec()),
evidence.NewAppModule(app.EvidenceKeeper),
params.NewAppModule(app.ParamsKeeper),
params.NewAppModule(app.ParamsKeeper), //nolint:staticcheck
authzmodule.NewAppModule(appCodec, app.AuthzKeeper, app.AccountKeeper, app.BankKeeper, app.interfaceRegistry),
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

vm.NewAppModule(evmKeeper, app.AccountKeeper),
vm.NewAppModule(evmKeeper, app.AccountKeeper, app.BankKeeper, app.AccountKeeper.AddressCodec()),
feemarket.NewAppModule(FeeMarketKeeper),
erc20.NewAppModule(Erc20Keeper, app.AccountKeeper),
)
Expand All @@ -506,11 +486,11 @@ func NewSimApp(
erc20types.ModuleName, minttypes.ModuleName, distrtypes.ModuleName, slashingtypes.ModuleName,
multistakingtypes.ModuleName,
evidencetypes.ModuleName, authtypes.ModuleName,
banktypes.ModuleName, govtypes.ModuleName, crisistypes.ModuleName, genutiltypes.ModuleName, authz.ModuleName, feegrant.ModuleName,
banktypes.ModuleName, govtypes.ModuleName, genutiltypes.ModuleName, authz.ModuleName, feegrant.ModuleName,
paramstypes.ModuleName, vestingtypes.ModuleName, group.ModuleName,
)
app.mm.SetOrderEndBlockers(
crisistypes.ModuleName, govtypes.ModuleName,
govtypes.ModuleName,
multistakingtypes.ModuleName,
evmtypes.ModuleName,
erc20types.ModuleName,
Expand All @@ -528,15 +508,14 @@ func NewSimApp(
app.mm.SetOrderInitGenesis(
capabilitytypes.ModuleName, authtypes.ModuleName, banktypes.ModuleName, distrtypes.ModuleName,
multistakingtypes.ModuleName,
slashingtypes.ModuleName, govtypes.ModuleName, minttypes.ModuleName, crisistypes.ModuleName,
slashingtypes.ModuleName, govtypes.ModuleName, minttypes.ModuleName,
evmtypes.ModuleName,
erc20types.ModuleName,
feemarkettypes.ModuleName, genutiltypes.ModuleName, evidencetypes.ModuleName, authz.ModuleName,
feegrant.ModuleName, paramstypes.ModuleName, upgradetypes.ModuleName,
vestingtypes.ModuleName, group.ModuleName,
)

app.mm.RegisterInvariants(&app.CrisisKeeper)
app.configurator = module.NewConfigurator(app.appCodec, app.MsgServiceRouter(), app.GRPCQueryRouter())
err := app.mm.RegisterServices(app.configurator)
if err != nil {
Expand All @@ -559,7 +538,7 @@ func NewSimApp(
mint.NewAppModule(appCodec, app.MintKeeper, app.AccountKeeper, nil, app.GetSubspace(minttypes.ModuleName)),
distr.NewAppModule(appCodec, app.DistrKeeper, app.AccountKeeper, app.BankKeeper, app.StakingKeeper, app.GetSubspace(distrtypes.ModuleName)),
slashing.NewAppModule(appCodec, app.SlashingKeeper, app.AccountKeeper, app.BankKeeper, app.StakingKeeper, app.GetSubspace(slashingtypes.ModuleName), app.interfaceRegistry),
params.NewAppModule(app.ParamsKeeper),
params.NewAppModule(app.ParamsKeeper), //nolint:staticcheck
evidence.NewAppModule(app.EvidenceKeeper),
authzmodule.NewAppModule(appCodec, app.AuthzKeeper, app.AccountKeeper, app.BankKeeper, app.interfaceRegistry),
)
Expand Down Expand Up @@ -688,22 +667,3 @@ func GetMaccPerms() map[string][]string {
}
return dupMaccPerms
}

// initParamsKeeper init params keeper and its subspaces
func initParamsKeeper(appCodec codec.BinaryCodec, legacyAmino *codec.LegacyAmino, key, tkey storetypes.StoreKey) paramskeeper.Keeper {
paramsKeeper := paramskeeper.NewKeeper(appCodec, legacyAmino, key, tkey)

paramsKeeper.Subspace(authtypes.ModuleName)
paramsKeeper.Subspace(banktypes.ModuleName)
paramsKeeper.Subspace(multistakingtypes.ModuleName)
paramsKeeper.Subspace(stakingtypes.ModuleName)
paramsKeeper.Subspace(minttypes.ModuleName)
paramsKeeper.Subspace(distrtypes.ModuleName)
paramsKeeper.Subspace(slashingtypes.ModuleName)
paramsKeeper.Subspace(govtypes.ModuleName)
paramsKeeper.Subspace(crisistypes.ModuleName)
paramsKeeper.Subspace(evmtypes.ModuleName).WithKeyTable(evmtypes.ParamKeyTable()) //nolint: staticcheck // SA1019
paramsKeeper.Subspace(feemarkettypes.ModuleName).WithKeyTable(feemarkettypes.ParamKeyTable())
paramsKeeper.Subspace(erc20types.ModuleName)
return paramsKeeper
}
56 changes: 0 additions & 56 deletions test/simapp/evm_config.go

This file was deleted.

3 changes: 0 additions & 3 deletions test/simapp/export.go
Original file line number Diff line number Diff line change
Expand Up @@ -70,9 +70,6 @@ func (app *SimApp) prepForZeroHeightGenesis(ctx sdk.Context, jailAllowedAddrs []
allowedAddrsMap[addr] = true
}

/* Just to be safe, assert the invariants on current state. */
app.CrisisKeeper.AssertInvariants(ctx)

/* Handle fee distribution state. */

// withdraw all validator commission
Expand Down
16 changes: 15 additions & 1 deletion test/simapp/test_helpers.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,20 @@ var (
Amount: math.NewIntFromUint64(100000000),
BondWeight: math.LegacyMustNewDecFromStr("0.12"),
}
evmCoinMetadata = banktypes.Metadata{
Description: "test evm coin denom",
DenomUnits: []*banktypes.DenomUnit{
{
Denom: "aatom",
Exponent: 18,
Aliases: []string{"aatom"},
},
},
Base: "aatom",
Display: "aatom",
Name: "aatom",
Symbol: "aatom",
}
)

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

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

return genesisState
Expand Down
2 changes: 0 additions & 2 deletions x/multi-staking/keeper/abci_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,6 @@ func (suite *KeeperTestSuite) TestMsUnlockEndBlocker() {
tc := tc
suite.Run(tc.name, func() {
// height 1
suite.SetupTest()

vals, err := suite.app.StakingKeeper.GetAllValidators(suite.ctx)
suite.NoError(err)
val := vals[0]
Expand Down
8 changes: 6 additions & 2 deletions x/multi-staking/keeper/genesis_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package keeper_test

import (
dbm "github.com/cosmos/cosmos-db"
evmtypes "github.com/cosmos/evm/x/vm/types"
"github.com/realio-tech/multi-staking-module/test/simapp"

"cosmossdk.io/log"
Expand All @@ -10,10 +11,13 @@ import (
)

func (suite *KeeperTestSuite) TestImportExportGenesis() {
appState, err := suite.app.ExportAppStateAndValidators(false, []string{})
appState, err := suite.app.ExportAppStateAndValidators(false, []string{}) //nolint:staticcheck
suite.NoError(err)

encConfig := simapp.MakeEncodingConfig()
encConfig := simapp.MakeEncodingConfig() //nolint:staticcheck

configurator := evmtypes.NewEVMConfigurator()
configurator.ResetTestConfig()

emptyApp := simapp.NewSimApp(
log.NewNopLogger(),
Expand Down
Loading
Loading