Skip to content

fix(provider): don't shift receipts between blocks when some are missing - #27336

Open
kriss39 wants to merge 2 commits into
paradigmxyz:mainfrom
kriss39:fix/receipts-by-block-range-missing
Open

kriss39 wants to merge 2 commits into
paradigmxyz:mainfrom
kriss39:fix/receipts-by-block-range-missing

Conversation

@kriss39

@kriss39 kriss39 commented Sep 20, 2026

Copy link
Copy Markdown
Contributor

receipts_by_block_range fetched the receipts of the whole transaction span and split them by each block's transaction count. When receipts inside the span were missing, e.g. pruned, the receipts of later blocks were attributed to earlier ones: with the receipts of block 1 gone, block 1 received the receipts of block 2 and block 2 came back empty. The single block lookup receipts_by_block already validates the count and returns None in that case.

The span is now only split when it is complete; otherwise each block is looked up on its own and a block with an incomplete set of receipts yields an empty vector, keeping every block's receipts at the right index.

receipts_by_block_range fetched the receipts of the whole transaction span and
split them by each block's transaction count. When receipts inside the span
were missing, e.g. pruned, the receipts of later blocks were attributed to
earlier ones. The span is now only split when it is complete; otherwise each
block is looked up on its own and blocks with an incomplete set of receipts
yield an empty vector, matching receipts_by_block.
@kriss39
kriss39 force-pushed the fix/receipts-by-block-range-missing branch from 8bf4737 to bddad8c Compare September 20, 2026 08:59
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