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.