Open
Conversation
Add typed pruned-height errors and expose receipt earliest-version watermarks so RPC callers can distinguish unavailable historical data from future heights. Co-authored-by: Cursor <cursoragent@cursor.com>
|
The latest Buf updates on your PR. Results from workflow Buf / buf (pull_request).
|
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #3409 +/- ##
=======================================
Coverage 59.10% 59.11%
=======================================
Files 2108 2108
Lines 173535 173591 +56
=======================================
+ Hits 102564 102611 +47
- Misses 62094 62097 +3
- Partials 8877 8883 +6
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
Return a typed receipt-pruned error for block RPCs below the receipt retention watermark so callers can distinguish unavailable historical receipts from empty responses. Co-authored-by: Cursor <cursoragent@cursor.com>
Preserve null semantics for missing transaction receipts while avoiding fragile string matching on receipt-store errors. Co-authored-by: Cursor <cursoragent@cursor.com>
Add focused assertions for typed height availability errors and receipt earliest-version tracking across cached, pebble, and parquet stores. Co-authored-by: Cursor <cursoragent@cursor.com>
Assert block RPCs return the receipt-pruned sentinel when requested block data is available but receipts are below the retention watermark. Co-authored-by: Cursor <cursoragent@cursor.com>
Return the receipt-pruned error for block transaction count RPCs before receipt-dependent filtering can collapse pruned blocks to zero counts. Co-authored-by: Cursor <cursoragent@cursor.com>
Return the receipt-pruned error for transaction-by-block-index RPCs before receipt-dependent filtering can collapse pruned blocks to null results. Co-authored-by: Cursor <cursoragent@cursor.com>
Assert receipt-pruned errors for block transaction count and transaction-by-block-index RPCs below the receipt watermark. Co-authored-by: Cursor <cursoragent@cursor.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR makes EVM RPC responses distinguish pruned historical receipt data from genuinely empty or nonexistent results when the node has enough height context.
Externally visible changes:
eth_getBlockByNumber,eth_getBlockByHash, andeth_getBlockReceiptsnow return a typed receipt-pruned error when the requested block is below the node’s receipt retention watermark.nullper Ethereum JSON-RPC behavior.null, because a hash alone cannot prove whether the receipt never existed or was pruned.Testing