-
Notifications
You must be signed in to change notification settings - Fork 3.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Implement BeginBlock EndBlock for Core API modules #14819
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Test?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We need to handle the TODOs prior to merging this. Were they left for a reason @facundomedica?
in order to backport in a non breaking way. We can do a separate PR that cleans up all the panics in this flow |
I was waiting until #14582 got merged to add tests, I'm going to reuse stuff from there. Sorry this wasn't really ready for review, I'll add the tests and this will be ready for review. |
…/implement-beingendblock-coreapi
Added the tests, will work on the error handling next |
@@ -265,6 +265,20 @@ | |||
return m.recorder | |||
} | |||
|
|||
// BeginBlock mocks base method. | |||
func (m *MockCoreAppModule) BeginBlock(arg0 context.Context) error { | |||
m.ctrl.T.Helper() |
Check warning
Code scanning / CodeQL
Panic in BeginBock or EndBlock consensus methods
// BeginBlock mocks base method. | ||
func (m *MockCoreAppModule) BeginBlock(arg0 context.Context) error { | ||
m.ctrl.T.Helper() | ||
ret := m.ctrl.Call(m, "BeginBlock", arg0) |
Check warning
Code scanning / CodeQL
Panic in BeginBock or EndBlock consensus methods
|
||
// BeginBlock indicates an expected call of BeginBlock. | ||
func (mr *MockCoreAppModuleMockRecorder) BeginBlock(arg0 interface{}) *gomock.Call { | ||
mr.mock.ctrl.T.Helper() |
Check warning
Code scanning / CodeQL
Panic in BeginBock or EndBlock consensus methods
// BeginBlock indicates an expected call of BeginBlock. | ||
func (mr *MockCoreAppModuleMockRecorder) BeginBlock(arg0 interface{}) *gomock.Call { | ||
mr.mock.ctrl.T.Helper() | ||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "BeginBlock", reflect.TypeOf((*MockCoreAppModule)(nil).BeginBlock), arg0) |
Check warning
Code scanning / CodeQL
Panic in BeginBock or EndBlock consensus methods
// BeginBlock indicates an expected call of BeginBlock. | ||
func (mr *MockCoreAppModuleMockRecorder) BeginBlock(arg0 interface{}) *gomock.Call { | ||
mr.mock.ctrl.T.Helper() | ||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "BeginBlock", reflect.TypeOf((*MockCoreAppModule)(nil).BeginBlock), arg0) |
Check warning
Code scanning / CodeQL
Panic in BeginBock or EndBlock consensus methods
@@ -279,6 +293,20 @@ | |||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DefaultGenesis", reflect.TypeOf((*MockCoreAppModule)(nil).DefaultGenesis), arg0) | |||
} | |||
|
|||
// EndBlock mocks base method. | |||
func (m *MockCoreAppModule) EndBlock(arg0 context.Context) error { | |||
m.ctrl.T.Helper() |
Check warning
Code scanning / CodeQL
Panic in BeginBock or EndBlock consensus methods
// EndBlock mocks base method. | ||
func (m *MockCoreAppModule) EndBlock(arg0 context.Context) error { | ||
m.ctrl.T.Helper() | ||
ret := m.ctrl.Call(m, "EndBlock", arg0) |
Check warning
Code scanning / CodeQL
Panic in BeginBock or EndBlock consensus methods
|
||
// EndBlock indicates an expected call of EndBlock. | ||
func (mr *MockCoreAppModuleMockRecorder) EndBlock(arg0 interface{}) *gomock.Call { | ||
mr.mock.ctrl.T.Helper() |
Check warning
Code scanning / CodeQL
Panic in BeginBock or EndBlock consensus methods
// EndBlock indicates an expected call of EndBlock. | ||
func (mr *MockCoreAppModuleMockRecorder) EndBlock(arg0 interface{}) *gomock.Call { | ||
mr.mock.ctrl.T.Helper() | ||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "EndBlock", reflect.TypeOf((*MockCoreAppModule)(nil).EndBlock), arg0) |
Check warning
Code scanning / CodeQL
Panic in BeginBock or EndBlock consensus methods
// EndBlock indicates an expected call of EndBlock. | ||
func (mr *MockCoreAppModuleMockRecorder) EndBlock(arg0 interface{}) *gomock.Call { | ||
mr.mock.ctrl.T.Helper() | ||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "EndBlock", reflect.TypeOf((*MockCoreAppModule)(nil).EndBlock), arg0) |
Check warning
Code scanning / CodeQL
Panic in BeginBock or EndBlock consensus methods
Ahh I see ok. Well let's not leave naked TODOs. Always have TODOs reference an issue otherwise tech debt just accrues. |
// only one module will update the validator set | ||
if len(moduleValUpdates) > 0 { | ||
if len(validatorUpdates) > 0 { | ||
return abci.ResponseEndBlock{}, errors.New("validator EndBlock updates already set by a previous module") |
Check warning
Code scanning / CodeQL
Panic in BeginBock or EndBlock consensus methods
Co-authored-by: Aleksandr Bezobchuk <[email protected]>
Description
Closes: #14689
Author Checklist
All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.
I have...
!
to the type prefix if API or client breaking changeCHANGELOG.md
Reviewers Checklist
All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.
I have...
!
in the type prefix if API or client breaking change