Skip to content

execution/stagedsync: drop stale eth/71 TODO in bal_create#21511

Open
yperbasis wants to merge 1 commit into
mainfrom
yperbasis/bal-create-drop-stale-eth71-comment
Open

execution/stagedsync: drop stale eth/71 TODO in bal_create#21511
yperbasis wants to merge 1 commit into
mainfrom
yperbasis/bal-create-drop-stale-eth71-comment

Conversation

@yperbasis
Copy link
Copy Markdown
Member

What

ProcessBAL's if dbBALBytes != nil guard carried the comment "Remove after eth/71 has been implemented." This drops that stale instruction and rewords the comment to document why the nil-check must stay. Comment-only; no behaviour change.

Why

eth/71 (EIP-8159, Block Access List Exchange) is now implemented — BAL sidecars are fetched over the wire by the always-on background BALDownloader (p2p/sentry/sentry_multi_client/bal_downloader.go) and served via AnswerGetBlockAccessListsQuery. So the premise behind the TODO — "once eth/71 lands, BALs will always be stored, so this guard becomes dead" — no longer holds.

The downloader is best-effort by design and never blocks stage progress (per its own header doc); ProcessBAL regenerates and validates the BAL locally regardless, so a missing p2p-delivered BAL "is never a correctness issue — only a CPU-cost optimisation." A missing stored BAL (dbBALBytes == nil) therefore remains a normal, expected state, and the guard is still required — removing it would turn that normal state into a hard failure.

Net: eth/71 being implemented invalidates the TODO rather than enabling it.

🤖 Generated with Claude Code

The `if dbBALBytes != nil` guard in ProcessBAL was annotated "Remove
after eth/71 has been implemented." eth/71 (EIP-8159) is now implemented
— BAL sidecars are fetched by the always-on background BALDownloader —
but that downloader is best-effort and explicitly never blocks stage
progress, so a missing stored BAL remains a normal, expected state and
the guard must stay. Only the stale instruction is removed; the comment
is reworded to document why the nil-check is required.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@yperbasis yperbasis requested a review from mh0lt as a code owner May 29, 2026 13:26
@yperbasis yperbasis requested review from Copilot and taratorio May 29, 2026 13:27
@yperbasis yperbasis added the Glamsterdam https://eips.ethereum.org/EIPS/eip-7773 label May 29, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates a stale comment in ProcessBAL to reflect that eth/71 BAL exchange is implemented, while stored BAL sidecars can still be absent because background backfill is best-effort.

Changes:

  • Removes the obsolete TODO about deleting the nil guard after eth/71 implementation.
  • Adds a comment explaining why the stored BAL cross-check remains conditional.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Copy Markdown
Contributor

@Giulio2002 Giulio2002 left a comment

Choose a reason for hiding this comment

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

LGTM — updates a stale comment to match the current best-effort BAL sidecar behavior; no logic change.

Copy link
Copy Markdown
Contributor

@Giulio2002 Giulio2002 left a comment

Choose a reason for hiding this comment

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

LGTM — comment-only cleanup clarifying BAL sidecar handling; no behavior change.

Copy link
Copy Markdown
Contributor

@Giulio2002 Giulio2002 left a comment

Choose a reason for hiding this comment

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

LGTM — removes a stale TODO and clarifies why the nil BAL sidecar check must remain; comment-only, no logic change.

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

Labels

Glamsterdam https://eips.ethereum.org/EIPS/eip-7773

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants