refactor: use app config configurator for removing boilerplate (#15499)
This commit is contained in:
@@ -4,13 +4,17 @@ import (
|
||||
runtimev1alpha1 "cosmossdk.io/api/cosmos/app/runtime/v1alpha1"
|
||||
appv1alpha1 "cosmossdk.io/api/cosmos/app/v1alpha1"
|
||||
authmodulev1 "cosmossdk.io/api/cosmos/auth/module/v1"
|
||||
authzmodulev1 "cosmossdk.io/api/cosmos/authz/module/v1"
|
||||
bankmodulev1 "cosmossdk.io/api/cosmos/bank/module/v1"
|
||||
consensusmodulev1 "cosmossdk.io/api/cosmos/consensus/module/v1"
|
||||
distrmodulev1 "cosmossdk.io/api/cosmos/distribution/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"
|
||||
govmodulev1 "cosmossdk.io/api/cosmos/gov/module/v1"
|
||||
groupmodulev1 "cosmossdk.io/api/cosmos/group/module/v1"
|
||||
mintmodulev1 "cosmossdk.io/api/cosmos/mint/module/v1"
|
||||
nftmodulev1 "cosmossdk.io/api/cosmos/nft/module/v1"
|
||||
paramsmodulev1 "cosmossdk.io/api/cosmos/params/module/v1"
|
||||
slashingmodulev1 "cosmossdk.io/api/cosmos/slashing/module/v1"
|
||||
stakingmodulev1 "cosmossdk.io/api/cosmos/staking/module/v1"
|
||||
@@ -112,6 +116,7 @@ func AuthModule() ModuleOption {
|
||||
{Account: "bonded_tokens_pool", Permissions: []string{"burner", "staking"}},
|
||||
{Account: "not_bonded_tokens_pool", Permissions: []string{"burner", "staking"}},
|
||||
{Account: "gov", Permissions: []string{"burner"}},
|
||||
{Account: "nft"},
|
||||
},
|
||||
}),
|
||||
}
|
||||
@@ -223,6 +228,42 @@ func MintModule() ModuleOption {
|
||||
}
|
||||
}
|
||||
|
||||
func EvidenceModule() ModuleOption {
|
||||
return func(config *appConfig) {
|
||||
config.moduleConfigs["evidence"] = &appv1alpha1.ModuleConfig{
|
||||
Name: "evidence",
|
||||
Config: appconfig.WrapAny(&evidencemodulev1.Module{}),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func AuthzModule() ModuleOption {
|
||||
return func(config *appConfig) {
|
||||
config.moduleConfigs["authz"] = &appv1alpha1.ModuleConfig{
|
||||
Name: "authz",
|
||||
Config: appconfig.WrapAny(&authzmodulev1.Module{}),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func GroupModule() ModuleOption {
|
||||
return func(config *appConfig) {
|
||||
config.moduleConfigs["group"] = &appv1alpha1.ModuleConfig{
|
||||
Name: "group",
|
||||
Config: appconfig.WrapAny(&groupmodulev1.Module{}),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func NFTModule() ModuleOption {
|
||||
return func(config *appConfig) {
|
||||
config.moduleConfigs["nft"] = &appv1alpha1.ModuleConfig{
|
||||
Name: "nft",
|
||||
Config: appconfig.WrapAny(&nftmodulev1.Module{}),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func OmitInitGenesis() ModuleOption {
|
||||
return func(config *appConfig) {
|
||||
config.setInitGenesis = false
|
||||
|
||||
@@ -78,6 +78,7 @@ type StartupConfig struct {
|
||||
BaseAppOption runtime.BaseAppOption
|
||||
AtGenesis bool
|
||||
GenesisAccounts []GenesisAccount
|
||||
DB dbm.DB
|
||||
}
|
||||
|
||||
func DefaultStartUpConfig() StartupConfig {
|
||||
@@ -88,6 +89,7 @@ func DefaultStartUpConfig() StartupConfig {
|
||||
ValidatorSet: CreateRandomValidatorSet,
|
||||
AtGenesis: false,
|
||||
GenesisAccounts: []GenesisAccount{ga},
|
||||
DB: dbm.NewMemDB(),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -124,9 +126,9 @@ func SetupWithConfiguration(appConfig depinject.Config, startupConfig StartupCon
|
||||
}
|
||||
|
||||
if startupConfig.BaseAppOption != nil {
|
||||
app = appBuilder.Build(log.NewNopLogger(), dbm.NewMemDB(), nil, startupConfig.BaseAppOption)
|
||||
app = appBuilder.Build(log.NewNopLogger(), startupConfig.DB, nil, startupConfig.BaseAppOption)
|
||||
} else {
|
||||
app = appBuilder.Build(log.NewNopLogger(), dbm.NewMemDB(), nil)
|
||||
app = appBuilder.Build(log.NewNopLogger(), startupConfig.DB, nil)
|
||||
}
|
||||
if err := app.Load(true); err != nil {
|
||||
return nil, fmt.Errorf("failed to load app: %w", err)
|
||||
|
||||
Reference in New Issue
Block a user