flow-go
flow-go copied to clipboard
[EFM] Epoch State Machine operates on current state
https://github.com/onflow/flow-go/issues/6019
Context
Previously epoch state machines were working relying on parent state to implement theirs logic, this resulted in complicated logic and nasty edge cases when processing multiple events at the some block.
This PR fixes this by using current state instead of parent. To implement that I have refactored epoch state entries to separate epoch events from identities, effectively having more modularity across epoch state entries.
Additionally ejection logic has been moved to a dedicated component.
Codecov Report
Attention: Patch coverage is 55.87302% with 139 lines in your changes missing coverage. Please review.
Project coverage is 41.70%. Comparing base (
427a1a8) to head (eec0e76).
Additional details and impacted files
@@ Coverage Diff @@
## feature/efm-recovery #6168 +/- ##
========================================================
+ Coverage 41.69% 41.70% +0.01%
========================================================
Files 1975 1976 +1
Lines 139267 139327 +60
========================================================
+ Hits 58061 58109 +48
- Misses 75154 75158 +4
- Partials 6052 6060 +8
| Flag | Coverage Δ | |
|---|---|---|
| unittests | 41.70% <55.87%> (+0.01%) |
:arrow_up: |
Flags with carried forward coverage won't be shown. Click here to find out more.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.