feat(epochs): backport (#23815)
Co-authored-by: Tyler <48813565+technicallyty@users.noreply.github.com>
This commit is contained in:
co-authored by
Tyler
parent
4ed61468a2
commit
ff779eca8d
@@ -81,6 +81,9 @@ import (
|
||||
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"
|
||||
"github.com/cosmos/cosmos-sdk/x/epochs"
|
||||
epochskeeper "github.com/cosmos/cosmos-sdk/x/epochs/keeper"
|
||||
epochstypes "github.com/cosmos/cosmos-sdk/x/epochs/types"
|
||||
"github.com/cosmos/cosmos-sdk/x/genutil"
|
||||
genutiltypes "github.com/cosmos/cosmos-sdk/x/genutil/types"
|
||||
"github.com/cosmos/cosmos-sdk/x/gov"
|
||||
@@ -154,6 +157,7 @@ type SimApp struct {
|
||||
NFTKeeper nftkeeper.Keeper
|
||||
ConsensusParamsKeeper consensusparamkeeper.Keeper
|
||||
CircuitKeeper circuitkeeper.Keeper
|
||||
EpochsKeeper epochskeeper.Keeper
|
||||
|
||||
// the module manager
|
||||
ModuleManager *module.Manager
|
||||
@@ -260,6 +264,7 @@ func NewSimApp(
|
||||
authzkeeper.StoreKey,
|
||||
nftkeeper.StoreKey,
|
||||
group.StoreKey,
|
||||
epochstypes.StoreKey,
|
||||
)
|
||||
|
||||
// register streaming services
|
||||
@@ -381,6 +386,17 @@ func NewSimApp(
|
||||
// If evidence needs to be handled for the app, set routes in router here and seal
|
||||
app.EvidenceKeeper = *evidenceKeeper
|
||||
|
||||
app.EpochsKeeper = epochskeeper.NewKeeper(
|
||||
runtime.NewKVStoreService(keys[epochstypes.StoreKey]),
|
||||
appCodec,
|
||||
)
|
||||
|
||||
app.EpochsKeeper.SetHooks(
|
||||
epochstypes.NewMultiEpochHooks(
|
||||
// insert epoch hooks receivers here
|
||||
),
|
||||
)
|
||||
|
||||
/**** Module Options ****/
|
||||
|
||||
// NOTE: Any module instantiated in the module manager that is later modified
|
||||
@@ -406,6 +422,7 @@ func NewSimApp(
|
||||
nftmodule.NewAppModule(appCodec, app.NFTKeeper, app.AccountKeeper, app.BankKeeper, app.interfaceRegistry),
|
||||
consensus.NewAppModule(appCodec, app.ConsensusParamsKeeper),
|
||||
circuit.NewAppModule(appCodec, app.CircuitKeeper),
|
||||
epochs.NewAppModule(appCodec, app.EpochsKeeper),
|
||||
)
|
||||
|
||||
// BasicModuleManager defines the module BasicManager is in charge of setting up basic,
|
||||
@@ -439,6 +456,7 @@ func NewSimApp(
|
||||
stakingtypes.ModuleName,
|
||||
genutiltypes.ModuleName,
|
||||
authz.ModuleName,
|
||||
epochstypes.ModuleName,
|
||||
)
|
||||
app.ModuleManager.SetOrderEndBlockers(
|
||||
govtypes.ModuleName,
|
||||
@@ -469,6 +487,7 @@ func NewSimApp(
|
||||
vestingtypes.ModuleName,
|
||||
consensusparamtypes.ModuleName,
|
||||
circuittypes.ModuleName,
|
||||
epochstypes.ModuleName,
|
||||
}
|
||||
app.ModuleManager.SetOrderInitGenesis(genesisModuleOrder...)
|
||||
app.ModuleManager.SetOrderExportGenesis(genesisModuleOrder...)
|
||||
|
||||
@@ -13,6 +13,7 @@ import (
|
||||
circuitmodulev1 "cosmossdk.io/api/cosmos/circuit/module/v1"
|
||||
consensusmodulev1 "cosmossdk.io/api/cosmos/consensus/module/v1"
|
||||
distrmodulev1 "cosmossdk.io/api/cosmos/distribution/module/v1"
|
||||
epochsmodulev1 "cosmossdk.io/api/cosmos/epochs/module/v1"
|
||||
evidencemodulev1 "cosmossdk.io/api/cosmos/evidence/module/v1"
|
||||
feegrantmodulev1 "cosmossdk.io/api/cosmos/feegrant/module/v1"
|
||||
genutilmodulev1 "cosmossdk.io/api/cosmos/genutil/module/v1"
|
||||
@@ -52,6 +53,8 @@ import (
|
||||
consensustypes "github.com/cosmos/cosmos-sdk/x/consensus/types"
|
||||
_ "github.com/cosmos/cosmos-sdk/x/distribution" // import for side-effects
|
||||
distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types"
|
||||
_ "github.com/cosmos/cosmos-sdk/x/epochs" // import for side-effects
|
||||
epochstypes "github.com/cosmos/cosmos-sdk/x/epochs/types"
|
||||
"github.com/cosmos/cosmos-sdk/x/genutil"
|
||||
genutiltypes "github.com/cosmos/cosmos-sdk/x/genutil/types"
|
||||
"github.com/cosmos/cosmos-sdk/x/gov"
|
||||
@@ -113,6 +116,7 @@ var (
|
||||
evidencetypes.ModuleName,
|
||||
stakingtypes.ModuleName,
|
||||
authz.ModuleName,
|
||||
epochstypes.ModuleName,
|
||||
},
|
||||
EndBlockers: []string{
|
||||
govtypes.ModuleName,
|
||||
@@ -146,6 +150,7 @@ var (
|
||||
upgradetypes.ModuleName,
|
||||
vestingtypes.ModuleName,
|
||||
circuittypes.ModuleName,
|
||||
epochstypes.ModuleName,
|
||||
},
|
||||
// When ExportGenesis is not specified, the export genesis module order
|
||||
// is equal to the init genesis order
|
||||
@@ -244,6 +249,10 @@ var (
|
||||
Name: circuittypes.ModuleName,
|
||||
Config: appconfig.WrapAny(&circuitmodulev1.Module{}),
|
||||
},
|
||||
{
|
||||
Name: epochstypes.ModuleName,
|
||||
Config: appconfig.WrapAny(&epochsmodulev1.Module{}),
|
||||
},
|
||||
},
|
||||
}),
|
||||
depinject.Supply(
|
||||
|
||||
@@ -37,6 +37,7 @@ import (
|
||||
bankkeeper "github.com/cosmos/cosmos-sdk/x/bank/keeper"
|
||||
consensuskeeper "github.com/cosmos/cosmos-sdk/x/consensus/keeper"
|
||||
distrkeeper "github.com/cosmos/cosmos-sdk/x/distribution/keeper"
|
||||
epochskeeper "github.com/cosmos/cosmos-sdk/x/epochs/keeper"
|
||||
govkeeper "github.com/cosmos/cosmos-sdk/x/gov/keeper"
|
||||
groupkeeper "github.com/cosmos/cosmos-sdk/x/group/keeper"
|
||||
mintkeeper "github.com/cosmos/cosmos-sdk/x/mint/keeper"
|
||||
@@ -78,6 +79,7 @@ type SimApp struct {
|
||||
NFTKeeper nftkeeper.Keeper
|
||||
ConsensusParamsKeeper consensuskeeper.Keeper
|
||||
CircuitKeeper circuitkeeper.Keeper
|
||||
EpochsKeeper epochskeeper.Keeper
|
||||
|
||||
// simulation manager
|
||||
sm *module.SimulationManager
|
||||
@@ -177,6 +179,7 @@ func NewSimApp(
|
||||
&app.NFTKeeper,
|
||||
&app.ConsensusParamsKeeper,
|
||||
&app.CircuitKeeper,
|
||||
&app.EpochsKeeper,
|
||||
); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
+30
-14
@@ -17,8 +17,11 @@ import (
|
||||
"cosmossdk.io/depinject"
|
||||
"cosmossdk.io/log"
|
||||
"cosmossdk.io/x/evidence"
|
||||
evidencetypes "cosmossdk.io/x/evidence/types"
|
||||
"cosmossdk.io/x/feegrant"
|
||||
feegrantmodule "cosmossdk.io/x/feegrant/module"
|
||||
"cosmossdk.io/x/upgrade"
|
||||
upgradetypes "cosmossdk.io/x/upgrade/types"
|
||||
|
||||
"github.com/cosmos/cosmos-sdk/baseapp"
|
||||
"github.com/cosmos/cosmos-sdk/runtime"
|
||||
@@ -29,17 +32,29 @@ import (
|
||||
"github.com/cosmos/cosmos-sdk/types/module"
|
||||
"github.com/cosmos/cosmos-sdk/types/msgservice"
|
||||
"github.com/cosmos/cosmos-sdk/x/auth"
|
||||
authtypes "github.com/cosmos/cosmos-sdk/x/auth/types"
|
||||
"github.com/cosmos/cosmos-sdk/x/auth/vesting"
|
||||
vestingtypes "github.com/cosmos/cosmos-sdk/x/auth/vesting/types"
|
||||
"github.com/cosmos/cosmos-sdk/x/authz"
|
||||
authzmodule "github.com/cosmos/cosmos-sdk/x/authz/module"
|
||||
"github.com/cosmos/cosmos-sdk/x/bank"
|
||||
banktypes "github.com/cosmos/cosmos-sdk/x/bank/types"
|
||||
"github.com/cosmos/cosmos-sdk/x/distribution"
|
||||
distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types"
|
||||
"github.com/cosmos/cosmos-sdk/x/epochs"
|
||||
epochstypes "github.com/cosmos/cosmos-sdk/x/epochs/types"
|
||||
"github.com/cosmos/cosmos-sdk/x/genutil"
|
||||
genutiltypes "github.com/cosmos/cosmos-sdk/x/genutil/types"
|
||||
"github.com/cosmos/cosmos-sdk/x/gov"
|
||||
govtypes "github.com/cosmos/cosmos-sdk/x/gov/types"
|
||||
grouptypes "github.com/cosmos/cosmos-sdk/x/group"
|
||||
group "github.com/cosmos/cosmos-sdk/x/group/module"
|
||||
"github.com/cosmos/cosmos-sdk/x/mint"
|
||||
minttypes "github.com/cosmos/cosmos-sdk/x/mint/types"
|
||||
"github.com/cosmos/cosmos-sdk/x/slashing"
|
||||
slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types"
|
||||
"github.com/cosmos/cosmos-sdk/x/staking"
|
||||
stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types"
|
||||
)
|
||||
|
||||
func TestSimAppExportAndBlockedAddrs(t *testing.T) {
|
||||
@@ -193,20 +208,21 @@ func TestRunMigrations(t *testing.T) {
|
||||
_, err = app.ModuleManager.RunMigrations(
|
||||
app.NewContextLegacy(true, cmtproto.Header{Height: app.LastBlockHeight()}), configurator,
|
||||
module.VersionMap{
|
||||
"bank": 1,
|
||||
"auth": auth.AppModule{}.ConsensusVersion(),
|
||||
"authz": authzmodule.AppModule{}.ConsensusVersion(),
|
||||
"staking": staking.AppModule{}.ConsensusVersion(),
|
||||
"mint": mint.AppModule{}.ConsensusVersion(),
|
||||
"distribution": distribution.AppModule{}.ConsensusVersion(),
|
||||
"slashing": slashing.AppModule{}.ConsensusVersion(),
|
||||
"gov": gov.AppModule{}.ConsensusVersion(),
|
||||
"group": group.AppModule{}.ConsensusVersion(),
|
||||
"upgrade": upgrade.AppModule{}.ConsensusVersion(),
|
||||
"vesting": vesting.AppModule{}.ConsensusVersion(),
|
||||
"feegrant": feegrantmodule.AppModule{}.ConsensusVersion(),
|
||||
"evidence": evidence.AppModule{}.ConsensusVersion(),
|
||||
"genutil": genutil.AppModule{}.ConsensusVersion(),
|
||||
banktypes.ModuleName: 1,
|
||||
authtypes.ModuleName: auth.AppModule{}.ConsensusVersion(),
|
||||
authz.ModuleName: authzmodule.AppModule{}.ConsensusVersion(),
|
||||
stakingtypes.ModuleName: staking.AppModule{}.ConsensusVersion(),
|
||||
minttypes.ModuleName: mint.AppModule{}.ConsensusVersion(),
|
||||
distrtypes.ModuleName: distribution.AppModule{}.ConsensusVersion(),
|
||||
slashingtypes.ModuleName: slashing.AppModule{}.ConsensusVersion(),
|
||||
govtypes.ModuleName: gov.AppModule{}.ConsensusVersion(),
|
||||
grouptypes.ModuleName: group.AppModule{}.ConsensusVersion(),
|
||||
upgradetypes.ModuleName: upgrade.AppModule{}.ConsensusVersion(),
|
||||
vestingtypes.ModuleName: vesting.AppModule{}.ConsensusVersion(),
|
||||
feegrant.ModuleName: feegrantmodule.AppModule{}.ConsensusVersion(),
|
||||
evidencetypes.ModuleName: evidence.AppModule{}.ConsensusVersion(),
|
||||
genutiltypes.ModuleName: genutil.AppModule{}.ConsensusVersion(),
|
||||
epochstypes.ModuleName: epochs.AppModule{}.ConsensusVersion(),
|
||||
},
|
||||
)
|
||||
if tc.expRunErr {
|
||||
|
||||
@@ -214,6 +214,7 @@ require (
|
||||
|
||||
// Below are the long-lived replace of the SimApp
|
||||
replace (
|
||||
cosmossdk.io/api => ../api
|
||||
// use cosmos fork of keyring
|
||||
github.com/99designs/keyring => github.com/cosmos/keyring v1.2.0
|
||||
// Simapp always use the latest version of the cosmos-sdk
|
||||
|
||||
@@ -182,8 +182,6 @@ cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xX
|
||||
cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg=
|
||||
cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0=
|
||||
cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M=
|
||||
cosmossdk.io/api v0.7.6 h1:PC20PcXy1xYKH2KU4RMurVoFjjKkCgYRbVAD4PdqUuY=
|
||||
cosmossdk.io/api v0.7.6/go.mod h1:IcxpYS5fMemZGqyYtErK7OqvdM0C8kdW3dq8Q/XIG38=
|
||||
cosmossdk.io/client/v2 v2.0.0-beta.5.0.20241121152743-3dad36d9a29e h1:NqQEVIjRqSdsAfTI9uDRZ1oU/cQuCoAbUuIkndQM+Bo=
|
||||
cosmossdk.io/client/v2 v2.0.0-beta.5.0.20241121152743-3dad36d9a29e/go.mod h1:4p0P6o0ro+FizakJUYS9SeM94RNbv0thLmkHRw5o5as=
|
||||
cosmossdk.io/collections v0.4.0 h1:PFmwj2W8szgpD5nOd8GWH6AbYNi1f2J6akWXJ7P5t9s=
|
||||
|
||||
Reference in New Issue
Block a user