refactor: precise compiler assertions and cleanup module.go (backport #17718) (#17724)

Co-authored-by: Julien Robert <julien@rbrt.fr>
This commit is contained in:
mergify[bot]
2023-09-13 19:08:56 +00:00
committed by GitHub
co-authored by Julien Robert
parent 4c083c6f23
commit 32969cf7cc
31 changed files with 369 additions and 289 deletions
+7 -2
View File
@@ -14,7 +14,7 @@ type AppModuleWithAllExtensions interface {
module.HasGenesis
module.HasInvariants
module.HasConsensusVersion
module.HasABCIEndblock
module.HasABCIEndBlock
module.HasName
}
@@ -25,7 +25,7 @@ type AppModuleWithAllExtensionsABCI interface {
module.HasABCIGenesis
module.HasInvariants
module.HasConsensusVersion
module.HasABCIEndblock
module.HasABCIEndBlock
module.HasName
}
@@ -39,3 +39,8 @@ type CoreAppModule interface {
appmodule.HasPrecommit
appmodule.HasPrepareCheckState
}
type CoreAppModuleWithPreBlock interface {
CoreAppModule
appmodule.HasPreBlocker
}
+9 -3
View File
@@ -197,6 +197,7 @@ type HasABCIGenesis interface {
// AppModule is the form for an application module. Most of
// its functionality has been moved to extension interfaces.
// Deprecated: use appmodule.AppModule with a combination of extension interfaes interfaces instead.
type AppModule interface {
AppModuleBasic
}
@@ -222,7 +223,12 @@ type HasConsensusVersion interface {
ConsensusVersion() uint64
}
type HasABCIEndblock interface {
// HasABCIEndblock is a released typo of HasABCIEndBlock.
// Deprecated: use HasABCIEndBlock instead.
type HasABCIEndblock HasABCIEndBlock
// HasABCIEndBlock is the interface for modules that need to run code at the end of the block.
type HasABCIEndBlock interface {
AppModule
EndBlock(context.Context) ([]abci.ValidatorUpdate, error)
}
@@ -397,7 +403,7 @@ func (m *Manager) SetOrderEndBlockers(moduleNames ...string) {
return !hasEndBlock
}
_, hasABCIEndBlock := module.(HasABCIEndblock)
_, hasABCIEndBlock := module.(HasABCIEndBlock)
return !hasABCIEndBlock
})
m.OrderEndBlockers = moduleNames
@@ -788,7 +794,7 @@ func (m *Manager) EndBlock(ctx sdk.Context) (sdk.EndBlock, error) {
if err != nil {
return sdk.EndBlock{}, err
}
} else if module, ok := m.Modules[moduleName].(HasABCIEndblock); ok {
} else if module, ok := m.Modules[moduleName].(HasABCIEndBlock); ok {
moduleValUpdates, err := module.EndBlock(ctx)
if err != nil {
return sdk.EndBlock{}, err
+4 -4
View File
@@ -96,7 +96,7 @@ func TestBasicManager(t *testing.T) {
func TestAssertNoForgottenModules(t *testing.T) {
mockCtrl := gomock.NewController(t)
t.Cleanup(mockCtrl.Finish)
mockAppModule1 := mock.NewMockHasABCIEndblock(mockCtrl)
mockAppModule1 := mock.NewMockHasABCIEndBlock(mockCtrl)
mockAppModule3 := mock.NewMockCoreAppModule(mockCtrl)
mockAppModule1.EXPECT().Name().Times(2).Return("module1")
@@ -316,8 +316,8 @@ func TestManager_EndBlock(t *testing.T) {
mockCtrl := gomock.NewController(t)
t.Cleanup(mockCtrl.Finish)
mockAppModule1 := mock.NewMockHasABCIEndblock(mockCtrl)
mockAppModule2 := mock.NewMockHasABCIEndblock(mockCtrl)
mockAppModule1 := mock.NewMockHasABCIEndBlock(mockCtrl)
mockAppModule2 := mock.NewMockHasABCIEndBlock(mockCtrl)
mockAppModule3 := mock.NewMockAppModule(mockCtrl)
mockAppModule1.EXPECT().Name().Times(2).Return("module1")
mockAppModule2.EXPECT().Name().Times(2).Return("module2")
@@ -469,7 +469,7 @@ func TestCoreAPIManager_PreBlock(t *testing.T) {
mockCtrl := gomock.NewController(t)
t.Cleanup(mockCtrl.Finish)
mockAppModule1 := mock.NewMockCoreModuleWithPreBlock(mockCtrl)
mockAppModule1 := mock.NewMockCoreAppModuleWithPreBlock(mockCtrl)
mm := module.NewManagerFromMap(map[string]appmodule.AppModule{
"module1": mockAppModule1,
"module2": mock.NewMockCoreAppModule(mockCtrl),