diff --git a/runtime/app.go b/runtime/app.go index 9b07970ff4..8730c511ec 100644 --- a/runtime/app.go +++ b/runtime/app.go @@ -41,7 +41,7 @@ type App struct { *baseapp.BaseApp ModuleManager *module.Manager - configurator module.Configurator + configurator module.Configurator // nolint:staticcheck // SA1019: Configurator is deprecated but still used in runtime v1. config *runtimev1alpha1.Module storeKeys []storetypes.StoreKey interfaceRegistry codectypes.InterfaceRegistry @@ -233,7 +233,7 @@ func (a *App) RegisterNodeService(clientCtx client.Context, cfg config.Config) { } // Configurator returns the app's configurator. -func (a *App) Configurator() module.Configurator { +func (a *App) Configurator() module.Configurator { // nolint:staticcheck // SA1019: Configurator is deprecated but still used in runtime v1. return a.configurator } diff --git a/runtime/module.go b/runtime/module.go index 2633918092..23ccb67d29 100644 --- a/runtime/module.go +++ b/runtime/module.go @@ -36,7 +36,7 @@ type appModule struct { app *App } -func (m appModule) RegisterServices(configurator module.Configurator) { +func (m appModule) RegisterServices(configurator module.Configurator) { // nolint:staticcheck // SA1019: Configurator is deprecated but still used in runtime v1. err := m.app.registerRuntimeServices(configurator) if err != nil { panic(err) diff --git a/runtime/services.go b/runtime/services.go index e73ed94f38..2f453898ff 100644 --- a/runtime/services.go +++ b/runtime/services.go @@ -8,7 +8,7 @@ import ( "github.com/cosmos/cosmos-sdk/types/module" ) -func (a *App) registerRuntimeServices(cfg module.Configurator) error { +func (a *App) registerRuntimeServices(cfg module.Configurator) error { // nolint:staticcheck // SA1019: Configurator is deprecated but still used in runtime v1. autocliv1.RegisterQueryServer(cfg.QueryServer(), services.NewAutoCLIQueryService(a.ModuleManager.Modules)) reflectionSvc, err := services.NewReflectionService() diff --git a/runtime/services/autocli.go b/runtime/services/autocli.go index 5c58c2cd62..86354f8e49 100644 --- a/runtime/services/autocli.go +++ b/runtime/services/autocli.go @@ -103,7 +103,7 @@ type autocliConfigurator struct { err error } -var _ module.Configurator = &autocliConfigurator{} +var _ module.Configurator = &autocliConfigurator{} // nolint:staticcheck // SA1019: Configurator is deprecated but still used in runtime v1. func (a *autocliConfigurator) MsgServer() gogogrpc.Server { return &a.msgServer } diff --git a/simapp/app.go b/simapp/app.go index 66c216eaa9..6e7d609f69 100644 --- a/simapp/app.go +++ b/simapp/app.go @@ -177,7 +177,7 @@ type SimApp struct { sm *module.SimulationManager // module configurator - configurator module.Configurator + configurator module.Configurator // nolint:staticcheck // SA1019: Configurator is deprecated but still used in runtime v1. } func init() { @@ -651,7 +651,7 @@ func (app *SimApp) EndBlocker(ctx sdk.Context) (sdk.EndBlock, error) { return app.ModuleManager.EndBlock(ctx) } -func (a *SimApp) Configurator() module.Configurator { +func (a *SimApp) Configurator() module.Configurator { // nolint:staticcheck // SA1019: Configurator is deprecated but still used in runtime v1. return a.configurator } diff --git a/types/module/configurator.go b/types/module/configurator.go index f396b289b1..0ef80fca96 100644 --- a/types/module/configurator.go +++ b/types/module/configurator.go @@ -17,10 +17,6 @@ import ( sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" ) -// Configurator provides the hooks to allow modules to configure and register -// their services in the RegisterServices method. It is designed to eventually -// support module object capabilities isolation as described in -// https://github.com/cosmos/cosmos-sdk/issues/7093 // Deprecated: The Configurator is deprecated. // Preferably use core services for registering msg/query server and migrations. type Configurator interface { diff --git a/x/accounts/module.go b/x/accounts/module.go index e3d5515576..1c5240707d 100644 --- a/x/accounts/module.go +++ b/x/accounts/module.go @@ -6,6 +6,7 @@ import ( "github.com/grpc-ecosystem/grpc-gateway/runtime" "github.com/spf13/cobra" + "google.golang.org/grpc" "cosmossdk.io/core/appmodule" "cosmossdk.io/x/accounts/cli" @@ -32,10 +33,11 @@ const ( ) var ( - _ appmodule.AppModule = AppModule{} + _ appmodule.AppModule = AppModule{} + _ appmodule.HasServices = AppModule{} + _ module.HasName = AppModule{} _ module.HasGenesis = AppModule{} - _ module.HasServices = AppModule{} _ module.HasConsensusVersion = AppModule{} ) @@ -59,9 +61,11 @@ func (m AppModule) RegisterGRPCGatewayRoutes(_ client.Context, _ *runtime.ServeM // App module services -func (m AppModule) RegisterServices(configurator module.Configurator) { - v1.RegisterQueryServer(configurator.QueryServer(), NewQueryServer(m.k)) - v1.RegisterMsgServer(configurator.MsgServer(), NewMsgServer(m.k)) +func (m AppModule) RegisterServices(registar grpc.ServiceRegistrar) error { + v1.RegisterQueryServer(registar, NewQueryServer(m.k)) + v1.RegisterMsgServer(registar, NewMsgServer(m.k)) + + return nil } // App module genesis diff --git a/x/group/keeper/migrations.go b/x/group/keeper/migrations.go index bb53b3bfc1..33f92acfa1 100644 --- a/x/group/keeper/migrations.go +++ b/x/group/keeper/migrations.go @@ -1,9 +1,9 @@ package keeper import ( - v2 "cosmossdk.io/x/group/migrations/v2" + "context" - sdk "github.com/cosmos/cosmos-sdk/types" + v2 "cosmossdk.io/x/group/migrations/v2" ) // Migrator is a struct for handling in-place store migrations. @@ -17,7 +17,7 @@ func NewMigrator(keeper Keeper) Migrator { } // Migrate1to2 migrates from version 1 to 2. -func (m Migrator) Migrate1to2(ctx sdk.Context) error { +func (m Migrator) Migrate1to2(ctx context.Context) error { return v2.Migrate( ctx, m.keeper.storeService, diff --git a/x/group/migrations/v2/migrate.go b/x/group/migrations/v2/migrate.go index 3738866ba9..ace1459675 100644 --- a/x/group/migrations/v2/migrate.go +++ b/x/group/migrations/v2/migrate.go @@ -1,6 +1,7 @@ package v2 import ( + "context" "encoding/binary" "fmt" @@ -24,7 +25,7 @@ const ( // Migrate migrates the x/group module state from the consensus version 1 to version 2. // Specifically, it changes the group policy account from module account to base account. func Migrate( - ctx sdk.Context, + ctx context.Context, storeService store.KVStoreService, accountKeeper group.AccountKeeper, groupPolicySeq orm.Sequence, diff --git a/x/group/module/module.go b/x/group/module/module.go index e9823ccd7c..c2fbdcb09c 100644 --- a/x/group/module/module.go +++ b/x/group/module/module.go @@ -7,6 +7,7 @@ import ( gwruntime "github.com/grpc-ecosystem/grpc-gateway/runtime" "github.com/spf13/cobra" + "google.golang.org/grpc" "cosmossdk.io/core/address" "cosmossdk.io/core/appmodule" @@ -30,11 +31,12 @@ var ( _ module.AppModuleBasic = AppModule{} _ module.AppModuleSimulation = AppModule{} _ module.HasGenesis = AppModule{} - _ module.HasServices = AppModule{} _ module.HasInvariants = AppModule{} _ appmodule.AppModule = AppModule{} _ appmodule.HasEndBlocker = AppModule{} + _ appmodule.HasServices = AppModule{} + _ appmodule.HasMigrations = AppModule{} ) type AppModule struct { @@ -124,16 +126,21 @@ func (am AppModule) ExportGenesis(ctx context.Context, cdc codec.JSONCodec) json return cdc.MustMarshalJSON(gs) } -// RegisterServices registers a gRPC query service to respond to the -// module-specific gRPC queries. -func (am AppModule) RegisterServices(cfg module.Configurator) { - group.RegisterMsgServer(cfg.MsgServer(), am.keeper) - group.RegisterQueryServer(cfg.QueryServer(), am.keeper) +// RegisterServices registers module services. +func (am AppModule) RegisterServices(registrar grpc.ServiceRegistrar) error { + group.RegisterMsgServer(registrar, am.keeper) + group.RegisterQueryServer(registrar, am.keeper) + return nil +} + +func (am AppModule) RegisterMigrations(mr appmodule.MigrationRegistrar) error { m := keeper.NewMigrator(am.keeper) - if err := cfg.RegisterMigration(group.ModuleName, 1, m.Migrate1to2); err != nil { - panic(fmt.Sprintf("failed to migrate x/%s from version 1 to 2: %v", group.ModuleName, err)) + if err := mr.Register(group.ModuleName, 1, m.Migrate1to2); err != nil { + return fmt.Errorf("failed to migrate x/%s from version 1 to 2: %v", group.ModuleName, err) } + + return nil } // ConsensusVersion implements AppModule/ConsensusVersion. diff --git a/x/slashing/module.go b/x/slashing/module.go index 6dbbb135c2..e2e7bf4af7 100644 --- a/x/slashing/module.go +++ b/x/slashing/module.go @@ -118,18 +118,18 @@ func (am AppModule) RegisterServices(registrar grpc.ServiceRegistrar) error { return nil } -func (am AppModule) RegisterMigrations(mh appmodule.MigrationRegistrar) error { +func (am AppModule) RegisterMigrations(mr appmodule.MigrationRegistrar) error { m := keeper.NewMigrator(am.keeper) - if err := mh.Register(types.ModuleName, 1, m.Migrate1to2); err != nil { + if err := mr.Register(types.ModuleName, 1, m.Migrate1to2); err != nil { return fmt.Errorf("failed to migrate x/%s from version 1 to 2: %w", types.ModuleName, err) } - if err := mh.Register(types.ModuleName, 2, m.Migrate2to3); err != nil { + if err := mr.Register(types.ModuleName, 2, m.Migrate2to3); err != nil { return fmt.Errorf("failed to migrate x/%s from version 2 to 3: %w", types.ModuleName, err) } - if err := mh.Register(types.ModuleName, 3, m.Migrate3to4); err != nil { + if err := mr.Register(types.ModuleName, 3, m.Migrate3to4); err != nil { return fmt.Errorf("failed to migrate x/%s from version 3 to 4: %w", types.ModuleName, err) }