Fix: ensure stake removal processing #758
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Purpose of Changes and their Description
When processing stake removals in the
x/emissions
end blocker there's a limit to the number of stakes to process which when reached was causing an error, resulting with the stake removals until not to be processed.The resolution consists of not returning such error anymore but emitting a log instead, allowing to process these removals.
Another fix is covered here: in the case stake removals were not process in the block they were expected to be completed because of this limit, they were not managed afterwards because the provided block when removing them was systematically the current block.
Some refactoring has been necessary to allow this module part to be testable by mocking the emissions keeper.
Link(s) to Ticket(s) or Issue(s) resolved by this PR
https://linear.app/alloralabs/issue/ENGN-3494/135-logic-error-in-the-removestakes-function-could-lead-to-a-denial-of
Are these changes tested and documented?
Unreleased
section ofCHANGELOG.md
?