fix(rpc): correct block number conversion in eth_getProof #742
+2
−1
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.
Fixes
eth_getProofRPC endpoint failing with "cannot query with height < 0" error when using special block parameters like "latest", "pending",or "earliest".
Problem: Direct type cast
int64(blockNum)preserves negative values from special block constants (EthLatestBlockNumber = -2,EthPendingBlockNumber = -1, EthEarliestBlockNumber = -5), failing query validation
Fix: Use
blockNum.Int64()method which converts negative values to 0rpc/backend/(see GetCode, GetBalance, GetStorageAt).Review: Check
rpc/backend/account_info.go:51- for consistency with other methods.Author Checklist
All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.
I have...
mainbranch