Skip to content

Fix payload availability lookup using the parent block's slot (alpha.13) - #9761

Merged
mergify[bot] merged 1 commit into
unstablefrom
gloas-payload-availability-parent-slot
Aug 18, 2026
Merged

Fix payload availability lookup using the parent block's slot (alpha.13)#9761
mergify[bot] merged 1 commit into
unstablefrom
gloas-payload-availability-parent-slot

Conversation

@eserilev

@eserilev eserilev commented Aug 6, 2026

Copy link
Copy Markdown
Member

@eserilev eserilev added gloas ready-for-review The code is ready for review labels Aug 6, 2026
@mergify

mergify Bot commented Aug 6, 2026

Copy link
Copy Markdown

Some required checks have failed. Could you please take a look @eserilev? 🙏

@mergify mergify Bot added waiting-on-author The reviewer has suggested changes and awaits thier implementation. and removed ready-for-review The code is ready for review labels Aug 6, 2026
@eserilev
eserilev force-pushed the gloas-payload-availability-parent-slot branch 2 times, most recently from e37f83c to ed908df Compare August 6, 2026 08:32
@eserilev
eserilev force-pushed the gloas-payload-availability-parent-slot branch from ed908df to 4696330 Compare August 6, 2026 08:35
@pawanjay176
pawanjay176 force-pushed the gloas-payload-availability-parent-slot branch from 4696330 to 341f939 Compare August 6, 2026 22:33
@eserilev
eserilev force-pushed the gloas-payload-availability-parent-slot branch from 341f939 to b6976c0 Compare August 7, 2026 05:25
@eserilev
eserilev force-pushed the gloas-payload-availability-parent-slot branch from b6976c0 to be02cff Compare August 10, 2026 08:40

@chong-he chong-he 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 great. The main change in the consensus-specs PR is about adding the parent_slot in the functions get_attestation_participation_flag_indices and process_attestations. They are also added here now.

}

fn compute_beacon_block_attestation_reward_altair_deneb<
fn compute_beacon_block_attestation_reward_altair_and_later<

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.

Just noting here that this is a nice rename of the function

let data = attestation.data();
let inclusion_delay = state.slot().safe_sub(data.slot)?.as_u64();

// [Modified in Deneb:EIP7045]

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.

I am not sure do we always have this kind of comments like the consensus spec? But this comment is stale now that the function get_attestation_participation_flag_indices is modified in Gloas.

Maybe we can delete the comment or update it? Maybe deleting is cleaner.

@eserilev
eserilev force-pushed the gloas-payload-availability-parent-slot branch 2 times, most recently from 25c6ffb to e150bbf Compare August 11, 2026 05:43
@eserilev
eserilev force-pushed the gloas-payload-availability-parent-slot branch from e150bbf to b94b981 Compare August 12, 2026 11:26

@pawanjay176 pawanjay176 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.

Codex flagged some issues here that I don't think I can fully validate.
@dapplion would be really good to have your review on this one

let mut previous_epoch_participation =
state.previous_epoch_participation()?.to_owned_list();

let parent_slot = state

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.

Codex tells me that for gloas, we need to run process_parent_execution_payload first before this is run because it modifies state.execution_payload_availability which is used below in get_attestation_participation_flag_indices

@eserilev eserilev Aug 16, 2026

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

yeah i think we probably should have made a change here when we deferred payload processing to the next slot (ethereum/consensus-specs#5094) in alpha spec 5?

Anyways good catch, i opened a separate PR with these changes

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

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.

Nice, thanks!

Comment thread beacon_node/operation_pool/src/attestation.rs

let data = unaggregated_attestation.data();

let parent_slot = state

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.

Potentially same issue here? we might end up reporting the wrong thing here.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

yeah similar thing here, fix is in this PR #9828

@pawanjay176
pawanjay176 requested a review from dapplion August 13, 2026 01:55
@eserilev
eserilev force-pushed the gloas-payload-availability-parent-slot branch from b94b981 to f11c285 Compare August 13, 2026 10:56
@eserilev
eserilev force-pushed the gloas-payload-availability-parent-slot branch from f11c285 to 2409d25 Compare August 13, 2026 18:50
@mergify mergify Bot added the dequeued label Aug 18, 2026
@mergify

mergify Bot commented Aug 18, 2026

Copy link
Copy Markdown

Merge Queue Status

This pull request spent 3 hours 24 minutes 3 seconds in the queue, including 3 hours 22 minutes 15 seconds running CI.

Waiting for
  • check-success=local-testnet-success
  • check-success=test-suite-success
All conditions

Reason

The merge conditions cannot be satisfied due to failing checks

  • test-suite-success

Hint

You may have to fix your CI before adding the pull request to the queue again.
If you update this pull request, to fix the CI, it will automatically be requeued once the queue conditions match again.
If you think this was a flaky issue instead, you can requeue the pull request, without updating it, by posting a @mergifyio queue comment.

Requeued — the merge queue status continues in this comment ↓.

@pawanjay176
pawanjay176 force-pushed the gloas-payload-availability-parent-slot branch from c304832 to 86a1c14 Compare August 18, 2026 18:06
@mergify

mergify Bot commented Aug 18, 2026

Copy link
Copy Markdown

Merge Queue Status

This pull request spent 12 minutes 12 seconds in the queue, with no time running CI.

Waiting for
  • check-success=local-testnet-success
  • check-success=test-suite-success
All conditions

Reason

Pull request #9761 has been dequeued by @pawanjay176 with a dequeue command

Requeued — the merge queue status continues in this comment ↓.

@pawanjay176

Copy link
Copy Markdown
Member

@mergify dequeue

@mergify

mergify Bot commented Aug 18, 2026

Copy link
Copy Markdown

Merge Queue Status

This pull request spent 40 minutes 43 seconds in the queue, including 27 minutes 47 seconds running CI.

Required conditions to merge

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gloas ready-for-merge This PR is ready to merge.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants