Skip to main content

Module participation

Module participation 

Source
Expand description

Participation-flag accounting (Ethereum Altair parity).

Traces to: SPEC.md §3.10, §8, catalogue rows DSL-074..086.

§Role

Tracks the three Ethereum Altair participation flags (TIMELY_SOURCE, TIMELY_TARGET, TIMELY_HEAD) per validator per epoch. Drives Ethereum-parity reward + penalty computation for attestation inclusion.

§Scope (incremental)

Module grows one DSL at a time. First commit lands DSL-074 (the ParticipationFlags bitmask type). Future DSLs add:

  • DSL-075..077: classify_timeliness
  • DSL-078..080: ParticipationTracker state machine
  • DSL-081..086: reward / penalty deltas

Re-exports§

pub use error::ParticipationError;
pub use flags::ParticipationFlags;
pub use rewards::FlagDelta;
pub use rewards::base_reward;
pub use rewards::compute_flag_deltas;
pub use rewards::proposer_inclusion_reward;
pub use timeliness::classify_timeliness;
pub use tracker::ParticipationTracker;

Modules§

error
Errors produced by the participation tracker.
flags
ParticipationFlags — 3-bit Ethereum-Altair-parity attestation flag bitmask.
rewards
Ethereum-Altair-parity per-validator base reward formula (DSL-081) and downstream flag-delta math (DSL-082..086).
timeliness
Attestation-timeliness classifier — populates the three ParticipationFlags bits from the inclusion context.
tracker
ParticipationTracker — two-epoch attestation-flag state machine.