Skip to content

Call beacon_committee_selections only once per epoch#8699

Merged
mergify[bot] merged 8 commits into
sigp:unstablefrom
chong-he:beacon_selection_epoch
Jan 29, 2026
Merged

Call beacon_committee_selections only once per epoch#8699
mergify[bot] merged 8 commits into
sigp:unstablefrom
chong-he:beacon_selection_epoch

Conversation

@chong-he

Copy link
Copy Markdown
Member

Issue Addressed

Proposed Changes

Add another if in the if/else branch for selections_endpoint case, and leaving the current code for non-selections_endpoint case mostly untouched. Now the if/else branch in fill_in_selection_proofs has 3 branches:

  • 1 for DVT with selections_endpoint (added in this PR)
  • 1 for DVT without selections_endpoint (Anchor) (untouched)
  • Non-DVT (untouched)

Tested and it's working, also thanks very much to @KaloyanTanev for helping to test and confirmed that the calling has reduced and aggregated attestations are still working

@chong-he chong-he added val-client Relates to the validator client binary ready-for-review The code is ready for review dvt Distributed validator technology e.g. SSV, Obol labels Jan 27, 2026
@shane-moore

Copy link
Copy Markdown
Member

lgtm!

@michaelsproul michaelsproul added the v8.1.0 Post-Fulu release label Jan 29, 2026
let epoch = duties
.first()
.map(|attester_data| attester_data.slot.epoch(S::E::slots_per_epoch()))
.unwrap_or_default();

@michaelsproul michaelsproul Jan 29, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should probably be an error (we should always have at least one duty).

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Happy to leave as-is though.

@michaelsproul michaelsproul left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, I'm confident this doesn't affect the non-DVT codepath, and the logic for selections (Obol) looks correct.

@michaelsproul michaelsproul added ready-for-merge This PR is ready to merge. and removed ready-for-review The code is ready for review labels Jan 29, 2026
@mergify mergify Bot added the queued label Jan 29, 2026
@mergify

mergify Bot commented Jan 29, 2026

Copy link
Copy Markdown

Merge Queue Status

✅ The pull request has been merged at 25d3b7c

This pull request spent 39 minutes 3 seconds in the queue, including 37 minutes 43 seconds running CI.
The checks were run on draft #8721.

Required conditions to merge
  • check-success=local-testnet-success
  • check-success=test-suite-success

mergify Bot added a commit that referenced this pull request Jan 29, 2026
@mergify mergify Bot merged commit 119dc56 into sigp:unstable Jan 29, 2026
36 checks passed
@mergify mergify Bot removed the queued label Jan 29, 2026
@chong-he chong-he deleted the beacon_selection_epoch branch January 29, 2026 08:16
@jimmygchen jimmygchen mentioned this pull request Feb 5, 2026
6 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dvt Distributed validator technology e.g. SSV, Obol ready-for-merge This PR is ready to merge. v8.1.0 Post-Fulu release val-client Relates to the validator client binary

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants