Skip to content

feat: add --with-receipts to import-era to store receipts#26436

Open
lean-apple wants to merge 9 commits into
paradigmxyz:mainfrom
lean-apple:import-erae-store-receipt
Open

feat: add --with-receipts to import-era to store receipts#26436
lean-apple wants to merge 9 commits into
paradigmxyz:mainfrom
lean-apple:import-erae-store-receipt

Conversation

@lean-apple

@lean-apple lean-apple commented Jul 18, 2026

Copy link
Copy Markdown
Collaborator

Adds --with-receipts to import-era, writing receipts to the Receipts static file alongside headers and bodies.

Receipts are checked against each header's receipts root and logs bloom (from Byzantium on), can be backfilled onto an earlier header-only import, and never mark the Execution stage done since no state is produced.

@lean-apple
lean-apple force-pushed the import-erae-store-receipt branch from 1390eac to 7f7005f Compare July 18, 2026 20:19
Stop marking the Execution stage checkpoint done on receipt import:
unlike headers/bodies, execution also writes state, which the import
never does. ensure_consistency prunes imported receipts before a real
sync re-executes the range.

Convert .ere receipts via a runtime downcast instead of a
Receipt: From<SlimReceipt> bound, so node types that never import .ere
receipts aren't forced to satisfy it on the shared CLI entrypoints.
With --with-receipts, resume from the receipts tip instead of the
headers tip so files covering already-imported blocks are re-read and
their receipts filled in. Blocks at or below the headers tip skip the
header/body write and only get receipts; blocks above are written in
full.
@lean-apple
lean-apple marked this pull request as ready for review July 20, 2026 03:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Backlog

Development

Successfully merging this pull request may close these issues.

1 participant