Fix: discard report processing on lost consensus #708
Merged
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.
On consensus loss, discard the report if its processing hasn't started yet. This increases the chance that the DAO can react in time to an invalid report that still passes the onchain sanity checks.
HashConsensus tests:
submitReprot
reverts on zero slotBaseOracle tests:
discardConsensusReport
access controldiscardConsensusReport
does nothing if there's no report for the current framediscardConsensusReport
does nothing if the passed slot is in the futurediscardConsensusReport
reverts if the slot is less than the last submitted onediscardConsensusReport
discards the report that's not yet being processed and emits the eventdiscardConsensusReport
reverts if the report is already being processed_startProcessing
fails when there's no report to processAccountingOracle tests:
getProcessingState
returns the same state for a discarded report as if it was not submittedValidatotExitBusOracle tests:
getProcessingState
returns the same state for a discarded report as if it was not submitted