refactor!: kill basic manager (#19512)
This commit is contained in:
+7
-10
@@ -47,7 +47,6 @@ type App struct {
|
||||
interfaceRegistry codectypes.InterfaceRegistry
|
||||
cdc codec.Codec
|
||||
amino *codec.LegacyAmino
|
||||
basicManager module.BasicManager
|
||||
baseAppOptions []BaseAppOption
|
||||
msgServiceRouter *baseapp.MsgServiceRouter
|
||||
appConfig *appv1alpha1.Config
|
||||
@@ -67,14 +66,12 @@ func (a *App) RegisterModules(modules ...module.AppModule) error {
|
||||
return fmt.Errorf("AppModule named %q already exists", name)
|
||||
}
|
||||
|
||||
if _, ok := a.basicManager[name]; ok {
|
||||
return fmt.Errorf("AppModuleBasic named %q already exists", name)
|
||||
}
|
||||
|
||||
a.ModuleManager.Modules[name] = appModule
|
||||
a.basicManager[name] = appModule
|
||||
appModule.RegisterInterfaces(a.interfaceRegistry)
|
||||
appModule.RegisterLegacyAminoCodec(a.amino)
|
||||
|
||||
if mod, ok := appModule.(module.HasAminoCodec); ok {
|
||||
mod.RegisterLegacyAminoCodec(a.amino)
|
||||
}
|
||||
|
||||
if mod, ok := appModule.(module.HasServices); ok {
|
||||
mod.RegisterServices(a.configurator)
|
||||
@@ -208,7 +205,7 @@ func (a *App) RegisterAPIRoutes(apiSvr *api.Server, _ config.APIConfig) {
|
||||
nodeservice.RegisterGRPCGatewayRoutes(clientCtx, apiSvr.GRPCGatewayRouter)
|
||||
|
||||
// Register grpc-gateway routes for all modules.
|
||||
a.basicManager.RegisterGRPCGatewayRoutes(clientCtx, apiSvr.GRPCGatewayRouter)
|
||||
a.ModuleManager.RegisterGRPCGatewayRoutes(clientCtx, apiSvr.GRPCGatewayRouter)
|
||||
}
|
||||
|
||||
// RegisterTxService implements the Application.RegisterTxService method.
|
||||
@@ -242,9 +239,9 @@ func (a *App) LoadHeight(height int64) error {
|
||||
return a.LoadVersion(height)
|
||||
}
|
||||
|
||||
// DefaultGenesis returns a default genesis from the registered AppModuleBasic's.
|
||||
// DefaultGenesis returns a default genesis from the registered AppModule's.
|
||||
func (a *App) DefaultGenesis() map[string]json.RawMessage {
|
||||
return a.basicManager.DefaultGenesis(a.cdc)
|
||||
return a.ModuleManager.DefaultGenesis(a.cdc)
|
||||
}
|
||||
|
||||
// GetStoreKeys returns all the stored store keys.
|
||||
|
||||
+1
-1
@@ -18,7 +18,7 @@ type AppBuilder struct {
|
||||
app *App
|
||||
}
|
||||
|
||||
// DefaultGenesis returns a default genesis from the registered AppModuleBasic's.
|
||||
// DefaultGenesis returns a default genesis from the registered modules.
|
||||
func (a *AppBuilder) DefaultGenesis() map[string]json.RawMessage {
|
||||
return a.app.DefaultGenesis()
|
||||
}
|
||||
|
||||
+16
-36
@@ -14,7 +14,6 @@ import (
|
||||
stakingmodulev1 "cosmossdk.io/api/cosmos/staking/module/v1"
|
||||
"cosmossdk.io/core/address"
|
||||
"cosmossdk.io/core/appmodule"
|
||||
"cosmossdk.io/core/event"
|
||||
"cosmossdk.io/core/genesis"
|
||||
"cosmossdk.io/core/store"
|
||||
"cosmossdk.io/depinject"
|
||||
@@ -70,8 +69,7 @@ func init() {
|
||||
ProvideEnvironment,
|
||||
ProvideMemoryStoreService,
|
||||
ProvideTransientStoreService,
|
||||
ProvideEventService,
|
||||
ProvideBasicManager,
|
||||
ProvideModuleManager,
|
||||
ProvideAppVersionModifier,
|
||||
ProvideAddressCodec,
|
||||
),
|
||||
@@ -111,7 +109,6 @@ func ProvideApp(interfaceRegistry codectypes.InterfaceRegistry) (
|
||||
interfaceRegistry: interfaceRegistry,
|
||||
cdc: cdc,
|
||||
amino: amino,
|
||||
basicManager: module.BasicManager{},
|
||||
msgServiceRouter: msgServiceRouter,
|
||||
}
|
||||
appBuilder := &AppBuilder{app}
|
||||
@@ -122,15 +119,14 @@ func ProvideApp(interfaceRegistry codectypes.InterfaceRegistry) (
|
||||
type AppInputs struct {
|
||||
depinject.In
|
||||
|
||||
AppConfig *appv1alpha1.Config
|
||||
Config *runtimev1alpha1.Module
|
||||
AppBuilder *AppBuilder
|
||||
Modules map[string]appmodule.AppModule
|
||||
CustomModuleBasics map[string]module.AppModuleBasic `optional:"true"`
|
||||
BaseAppOptions []BaseAppOption
|
||||
InterfaceRegistry codectypes.InterfaceRegistry
|
||||
LegacyAmino *codec.LegacyAmino
|
||||
Logger log.Logger
|
||||
Logger log.Logger
|
||||
AppConfig *appv1alpha1.Config
|
||||
Config *runtimev1alpha1.Module
|
||||
AppBuilder *AppBuilder
|
||||
ModuleManager *module.Manager
|
||||
BaseAppOptions []BaseAppOption
|
||||
InterfaceRegistry codectypes.InterfaceRegistry
|
||||
LegacyAmino *codec.LegacyAmino
|
||||
}
|
||||
|
||||
func SetupAppBuilder(inputs AppInputs) {
|
||||
@@ -139,21 +135,9 @@ func SetupAppBuilder(inputs AppInputs) {
|
||||
app.config = inputs.Config
|
||||
app.appConfig = inputs.AppConfig
|
||||
app.logger = inputs.Logger
|
||||
app.ModuleManager = module.NewManagerFromMap(inputs.Modules)
|
||||
|
||||
for name, mod := range inputs.Modules {
|
||||
if customBasicMod, ok := inputs.CustomModuleBasics[name]; ok {
|
||||
app.basicManager[name] = customBasicMod
|
||||
customBasicMod.RegisterInterfaces(inputs.InterfaceRegistry)
|
||||
customBasicMod.RegisterLegacyAminoCodec(inputs.LegacyAmino)
|
||||
continue
|
||||
}
|
||||
|
||||
coreAppModuleBasic := module.CoreAppModuleBasicAdaptor(name, mod)
|
||||
app.basicManager[name] = coreAppModuleBasic
|
||||
coreAppModuleBasic.RegisterInterfaces(inputs.InterfaceRegistry)
|
||||
coreAppModuleBasic.RegisterLegacyAminoCodec(inputs.LegacyAmino)
|
||||
}
|
||||
app.ModuleManager = inputs.ModuleManager
|
||||
app.ModuleManager.RegisterInterfaces(inputs.InterfaceRegistry)
|
||||
app.ModuleManager.RegisterLegacyAminoCodec(inputs.LegacyAmino)
|
||||
}
|
||||
|
||||
func ProvideInterfaceRegistry(addressCodec address.Codec, validatorAddressCodec ValidatorAddressCodec, customGetSigners []signing.CustomGetSigner) (codectypes.InterfaceRegistry, error) {
|
||||
@@ -220,6 +204,10 @@ func ProvideMemoryStoreKey(key depinject.ModuleKey, app *AppBuilder) *storetypes
|
||||
return storeKey
|
||||
}
|
||||
|
||||
func ProvideModuleManager(modules map[string]appmodule.AppModule) *module.Manager {
|
||||
return module.NewManagerFromMap(modules)
|
||||
}
|
||||
|
||||
func ProvideGenesisTxHandler(appBuilder *AppBuilder) genesis.TxHandler {
|
||||
return appBuilder.app
|
||||
}
|
||||
@@ -240,14 +228,6 @@ func ProvideTransientStoreService(key depinject.ModuleKey, app *AppBuilder) stor
|
||||
return transientStoreService{key: storeKey}
|
||||
}
|
||||
|
||||
func ProvideEventService() event.Service {
|
||||
return EventService{}
|
||||
}
|
||||
|
||||
func ProvideBasicManager(app *AppBuilder) module.BasicManager {
|
||||
return app.app.basicManager
|
||||
}
|
||||
|
||||
func ProvideAppVersionModifier(app *AppBuilder) baseapp.AppVersionModifier {
|
||||
return app.app
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user