Fix proposer shuffling decision slot at boundary #8128
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue Addressed
Follow-up to the bug fixed in:
This fixes the root cause of that bug, which was introduced by me in:
Jimmy and Lion both identified the issue here:
Proposed Changes
In the methods that compute the proposer shuffling decision root, ensure we don't use lookahead for the Fulu fork epoch itself. This is accomplished by checking if Fulu is enabled at
epoch - 1, i.e. ifepoch > fulu_fork_epoch.I haven't updated the methods that compute shufflings to use these new corrected bounds (e.g.
BeaconState::compute_proposer_indices), although we could make this change in future. Theget_beacon_proposer_indicesmethod already gracefully handles the Fulu boundary case by using theproposer_lookaheadfield (if initialised).Additional Info
proposer_shuffling_decision_slotat the boundary