-
Notifications
You must be signed in to change notification settings - Fork 5
Open
Milestone
Description
Context
The Epochs state module tracks epoch-level statistics including epoch fees, block production by pool operators, and other epoch activity metrics. At the end of each epoch, it publishes an EpochActivityMessage used by accounts state for rewards calculation. We probably don't want to publish this message because we would assume the accounts state will have the right fees populated from it's own bootstrap message handling.
Problem
Currently, the epochs module starts from genesis, and accumulates state block-by-block. When bootstrapping from a snapshot (e.g., epoch 500), the module needs to initialize its epoch state from the snapshot read by the bootstrapper rather than replaying blocks from genesis.
Acceptance Criteria
- Epochs state initializes from
NewEpochStatesnapshot during bootstrap. - Normal epoch transitions work correctly after bootstrap (i.e it can follow-up the bootstrap with a Mithril fetcher or the Peer Networking).
Testing Requirements
- Could leverage Blockfrost endpoints to ensure data correctness
Definition of Done
- Epochs module initializes from snapshot without block replay
- Epoch state is correct for specific epoch we are bootstrapping to.
Metadata
Metadata
Assignees
Labels
No labels