From 649dfaa8c52fc79a0448d9ffb2eac84db1f5f8b1 Mon Sep 17 00:00:00 2001 From: Julien Robert Date: Thu, 4 Apr 2024 16:21:02 +0200 Subject: [PATCH] refactor(types): loosen module.AppModule interface (#19951) --- runtime/app.go | 4 ++- tests/starship/tests/go.mod | 2 ++ testutil/mock/types_mock_appmodule.go | 25 ------------------ testutil/mock/types_module_module.go | 37 --------------------------- types/module/module.go | 3 --- x/epochs/module.go | 5 ---- x/genutil/module.go | 4 --- 7 files changed, 5 insertions(+), 75 deletions(-) diff --git a/runtime/app.go b/runtime/app.go index ced302636a..6ea1b4075b 100644 --- a/runtime/app.go +++ b/runtime/app.go @@ -68,7 +68,9 @@ func (a *App) RegisterModules(modules ...module.AppModule) error { } a.ModuleManager.Modules[name] = appModule - appModule.RegisterInterfaces(a.interfaceRegistry) + if mod, ok := appModule.(appmodule.HasRegisterInterfaces); ok { + mod.RegisterInterfaces(a.interfaceRegistry) + } if mod, ok := appModule.(module.HasAminoCodec); ok { mod.RegisterLegacyAminoCodec(a.amino) diff --git a/tests/starship/tests/go.mod b/tests/starship/tests/go.mod index 1676a91ffc..4b3669dd3d 100644 --- a/tests/starship/tests/go.mod +++ b/tests/starship/tests/go.mod @@ -26,6 +26,7 @@ replace ( cosmossdk.io/x/bank => ../../../x/bank cosmossdk.io/x/circuit => ../../../x/circuit cosmossdk.io/x/distribution => ../../../x/distribution + cosmossdk.io/x/epochs => ../../../x/epochs cosmossdk.io/x/evidence => ../../../x/evidence cosmossdk.io/x/feegrant => ../../../x/feegrant cosmossdk.io/x/gov => ../../../x/gov @@ -71,6 +72,7 @@ require ( cosmossdk.io/x/authz v0.0.0-00010101000000-000000000000 // indirect cosmossdk.io/x/circuit v0.0.0-20230613133644-0a778132a60f // indirect cosmossdk.io/x/distribution v0.0.0-20240227221813-a248d05f70f4 // indirect + cosmossdk.io/x/epochs v0.0.0-00010101000000-000000000000 // indirect cosmossdk.io/x/evidence v0.0.0-20230613133644-0a778132a60f // indirect cosmossdk.io/x/feegrant v0.0.0-20230613133644-0a778132a60f // indirect cosmossdk.io/x/gov v0.0.0-20231113122742-912390d5fc4a // indirect diff --git a/testutil/mock/types_mock_appmodule.go b/testutil/mock/types_mock_appmodule.go index dacba1facd..3c9c7908d0 100644 --- a/testutil/mock/types_mock_appmodule.go +++ b/testutil/mock/types_mock_appmodule.go @@ -10,7 +10,6 @@ import ( reflect "reflect" appmodule "cosmossdk.io/core/appmodule" - registry "cosmossdk.io/core/registry" types "github.com/cosmos/cosmos-sdk/types" module "github.com/cosmos/cosmos-sdk/types/module" gomock "github.com/golang/mock/gomock" @@ -149,18 +148,6 @@ func (mr *MockAppModuleWithAllExtensionsMockRecorder) Name() *gomock.Call { return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Name", reflect.TypeOf((*MockAppModuleWithAllExtensions)(nil).Name)) } -// RegisterInterfaces mocks base method. -func (m *MockAppModuleWithAllExtensions) RegisterInterfaces(arg0 registry.InterfaceRegistrar) { - m.ctrl.T.Helper() - m.ctrl.Call(m, "RegisterInterfaces", arg0) -} - -// RegisterInterfaces indicates an expected call of RegisterInterfaces. -func (mr *MockAppModuleWithAllExtensionsMockRecorder) RegisterInterfaces(arg0 interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RegisterInterfaces", reflect.TypeOf((*MockAppModuleWithAllExtensions)(nil).RegisterInterfaces), arg0) -} - // RegisterInvariants mocks base method. func (m *MockAppModuleWithAllExtensions) RegisterInvariants(arg0 types.InvariantRegistry) { m.ctrl.T.Helper() @@ -333,18 +320,6 @@ func (mr *MockAppModuleWithAllExtensionsABCIMockRecorder) Name() *gomock.Call { return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Name", reflect.TypeOf((*MockAppModuleWithAllExtensionsABCI)(nil).Name)) } -// RegisterInterfaces mocks base method. -func (m *MockAppModuleWithAllExtensionsABCI) RegisterInterfaces(arg0 registry.InterfaceRegistrar) { - m.ctrl.T.Helper() - m.ctrl.Call(m, "RegisterInterfaces", arg0) -} - -// RegisterInterfaces indicates an expected call of RegisterInterfaces. -func (mr *MockAppModuleWithAllExtensionsABCIMockRecorder) RegisterInterfaces(arg0 interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RegisterInterfaces", reflect.TypeOf((*MockAppModuleWithAllExtensionsABCI)(nil).RegisterInterfaces), arg0) -} - // RegisterInvariants mocks base method. func (m *MockAppModuleWithAllExtensionsABCI) RegisterInvariants(arg0 types.InvariantRegistry) { m.ctrl.T.Helper() diff --git a/testutil/mock/types_module_module.go b/testutil/mock/types_module_module.go index 2fe8020756..94a1d56b4f 100644 --- a/testutil/mock/types_module_module.go +++ b/testutil/mock/types_module_module.go @@ -9,7 +9,6 @@ import ( json "encoding/json" reflect "reflect" - registry "cosmossdk.io/core/registry" client "github.com/cosmos/cosmos-sdk/client" codec "github.com/cosmos/cosmos-sdk/codec" types "github.com/cosmos/cosmos-sdk/types" @@ -67,18 +66,6 @@ func (mr *MockAppModuleBasicMockRecorder) RegisterGRPCGatewayRoutes(arg0, arg1 i return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RegisterGRPCGatewayRoutes", reflect.TypeOf((*MockAppModuleBasic)(nil).RegisterGRPCGatewayRoutes), arg0, arg1) } -// RegisterInterfaces mocks base method. -func (m *MockAppModuleBasic) RegisterInterfaces(arg0 registry.InterfaceRegistrar) { - m.ctrl.T.Helper() - m.ctrl.Call(m, "RegisterInterfaces", arg0) -} - -// RegisterInterfaces indicates an expected call of RegisterInterfaces. -func (mr *MockAppModuleBasicMockRecorder) RegisterInterfaces(arg0 interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RegisterInterfaces", reflect.TypeOf((*MockAppModuleBasic)(nil).RegisterInterfaces), arg0) -} - // RegisterLegacyAminoCodec mocks base method. func (m *MockAppModuleBasic) RegisterLegacyAminoCodec(arg0 *codec.LegacyAmino) { m.ctrl.T.Helper() @@ -152,18 +139,6 @@ func (mr *MockAppModuleMockRecorder) Name() *gomock.Call { return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Name", reflect.TypeOf((*MockAppModule)(nil).Name)) } -// RegisterInterfaces mocks base method. -func (m *MockAppModule) RegisterInterfaces(arg0 registry.InterfaceRegistrar) { - m.ctrl.T.Helper() - m.ctrl.Call(m, "RegisterInterfaces", arg0) -} - -// RegisterInterfaces indicates an expected call of RegisterInterfaces. -func (mr *MockAppModuleMockRecorder) RegisterInterfaces(arg0 interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RegisterInterfaces", reflect.TypeOf((*MockAppModule)(nil).RegisterInterfaces), arg0) -} - // MockHasName is a mock of HasName interface. type MockHasName struct { ctrl *gomock.Controller @@ -576,15 +551,3 @@ func (mr *MockHasABCIEndBlockMockRecorder) Name() *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Name", reflect.TypeOf((*MockHasABCIEndBlock)(nil).Name)) } - -// RegisterInterfaces mocks base method. -func (m *MockHasABCIEndBlock) RegisterInterfaces(arg0 registry.InterfaceRegistrar) { - m.ctrl.T.Helper() - m.ctrl.Call(m, "RegisterInterfaces", arg0) -} - -// RegisterInterfaces indicates an expected call of RegisterInterfaces. -func (mr *MockHasABCIEndBlockMockRecorder) RegisterInterfaces(arg0 interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RegisterInterfaces", reflect.TypeOf((*MockHasABCIEndBlock)(nil).RegisterInterfaces), arg0) -} diff --git a/types/module/module.go b/types/module/module.go index d64ca83e83..552cdcb58b 100644 --- a/types/module/module.go +++ b/types/module/module.go @@ -50,8 +50,6 @@ type AppModuleBasic interface { HasName HasGRPCGateway HasAminoCodec - - appmodulev2.HasRegisterInterfaces } // AppModule is the form for an application module. Most of @@ -61,7 +59,6 @@ type AppModule interface { HasName appmodulev2.AppModule - appmodulev2.HasRegisterInterfaces } // HasName allows the module to provide its own name for legacy purposes. diff --git a/x/epochs/module.go b/x/epochs/module.go index 603057de6d..807e144708 100644 --- a/x/epochs/module.go +++ b/x/epochs/module.go @@ -9,7 +9,6 @@ import ( "google.golang.org/grpc" "cosmossdk.io/core/appmodule" - "cosmossdk.io/core/registry" "cosmossdk.io/x/epochs/keeper" "cosmossdk.io/x/epochs/simulation" "cosmossdk.io/x/epochs/types" @@ -77,10 +76,6 @@ func (am AppModule) DefaultGenesis() json.RawMessage { return am.cdc.MustMarshalJSON(types.DefaultGenesis()) } -// RegisterInterfaces implements InterfaceModule.RegisterInterfaces -func (AppModule) RegisterInterfaces(registrar registry.InterfaceRegistrar) { -} - // ValidateGenesis performs genesis state validation for the epochs module. func (am AppModule) ValidateGenesis(bz json.RawMessage) error { var gs types.GenesisState diff --git a/x/genutil/module.go b/x/genutil/module.go index 072b5077a1..33e29b5c9b 100644 --- a/x/genutil/module.go +++ b/x/genutil/module.go @@ -7,7 +7,6 @@ import ( "cosmossdk.io/core/appmodule" "cosmossdk.io/core/genesis" - "cosmossdk.io/core/registry" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/codec" @@ -93,6 +92,3 @@ func (am AppModule) GenTxValidator() types.MessageValidator { // ConsensusVersion implements HasConsensusVersion func (AppModule) ConsensusVersion() uint64 { return 1 } - -// RegisterInterfaces implements module.AppModule. -func (AppModule) RegisterInterfaces(registry.InterfaceRegistrar) {}