Skip to content

feat: map L2 -> builder payload id for get_payload translation#482

Merged
avalonche merged 3 commits intomainfrom
feat/builder-payload-id-mapping
Apr 23, 2026
Merged

feat: map L2 -> builder payload id for get_payload translation#482
avalonche merged 3 commits intomainfrom
feat/builder-payload-id-mapping

Conversation

@avalonche
Copy link
Copy Markdown
Collaborator

@avalonche avalonche commented Apr 22, 2026

Map L2 → builder payload id so engine_getPayload is forwarded with the builder's own id instead of op-node's L2 id.

Motivation

Builder and L2 may compute different payload ids. Previously rollup-boost stored only a bool ("builder has a payload") keyed on the L2 id, and forwarded op-node's L2 id to the builder on get_payload. When ids diverged, the builder returned Unknown Payload and rollup-boost silently fell back to the L2 payload on every slot.

Changes

Replace PayloadTrace.builder_has_payload: bool with builder_payload_id: Option<PayloadId>. On FCU, capture the builder's returned payload id from the join!'d FCU response and store it against the L2 id. On get_payload, look up the builder id and forward that to the builder instead of op-node's L2 id. Warn on mismatch at both sites.

From op-node's view it uses the L2's payload id remains canonical on both FCU and get_payload. The mapping is a purely internal concern.

Restores the design from #47 (reverted by the tracing refactor in #135 in March 2025).

@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 22, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
rollup-boost Ignored Ignored Preview Apr 23, 2026 9:03pm

Request Review

@avalonche avalonche force-pushed the feat/builder-payload-id-mapping branch from cbd18ec to 7a493ad Compare April 22, 2026 19:42
@avalonche avalonche force-pushed the feat/builder-payload-id-mapping branch from 7a493ad to b9356bd Compare April 22, 2026 20:15
@avalonche avalonche force-pushed the feat/builder-payload-id-mapping branch from c8a2796 to 5a50924 Compare April 23, 2026 21:03
@avalonche avalonche merged commit f79b55b into main Apr 23, 2026
7 checks passed
@avalonche avalonche deleted the feat/builder-payload-id-mapping branch April 23, 2026 21:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant