Repository navigation
test(autobahn): cover new EVM-only RPC methods in the integration tests - #4547
Conversation
…ration test Extend testEVMOnlyLoad with block, receipt, contract-state, node-info and WebSocket newHeads assertions checked on all four validators, and rewrite the README method list with not-supported, not-planned and known-limitation sections plus stale-line fixes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
PR SummaryLow Risk Overview
The README is updated to document the full supported method set, unsupported vs not-planned methods, and known limitations; it also fixes the Reviewed by Cursor Bugbot for commit 5aafb6d. Bugbot is set up for automated code reviews on this repo. Configure here. |
|
The latest Buf updates on your PR. Results from workflow Buf / buf (pull_request).
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #4547 +/- ##
=======================================
Coverage 57.78% 57.78%
=======================================
Files 2116 2116
Lines 167078 167078
=======================================
+ Hits 96541 96546 +5
+ Misses 70532 70527 -5
Partials 5 5
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Extends the Autobahn EVM-only integration test with block, receipt, log, fee, state, contract and newHeads checks run on all four validators, and rewrites the README method list and limitations to match. I approve: checked against the merge tree (143fb40), the assertions match how the EVM-only RPC behaves (fee-history shape and rounding, the 1 gwei admission floor behind eth_gasPrice, the newHeads cursor, published WebSocket ports, getLogs/feeHistory caps), the hand-assembled contract bytecode decodes as described, and I found no defects. codex reported nothing and I agree; Go is not installed in this sandbox, so nothing was built or run.
seidroid review · decision approve · session 103bac27499c4431b88870d0375db8a1 · turn resp_claude_6dbd0e8d2a5504ca37cec92400622786 · item b689406091855d068f3daa66eecc643e
Findings: 0 blocking | 0 non-blocking | 0 posted inline
This PR covers the newly added EVM-only RPC methods in Autobahn's integration test.
Currently, it only exercised six of the EVM-only RPC's methods (eth_sendRawTransaction, eth_getTransactionReceipt, eth_getBalance, eth_getTransactionCount, eth_chainId, eth_blockNumber). Everything added since, from block and receipt lookups to logs, fees, storage, and WebSocket newHeads, was covered only by unit tests against stubbed backends, so nothing checked these methods against a real cluster or that validators agree on what they return.
testEVMOnlyLoadnow continues after its 4,000-transfer load.assertEVMOnlyBlockQueriestakes the block holding a load transfer and checks every block-scoped method against it on all four validators: lookups by number, hash, and index agree with each other and with eth_getTransactionByHash and eth_getTransactionReceipt, the block's receipts sum to its gasUsed, eth_feeHistory reports the same block, and all four nodes return identical blocks and receipts.assertEVMOnlyContractQueriesdeploys a tiny contract whose constructor writes a storage slot and emits a log, then checks eth_getCode, eth_getStorageAt, eth_call, eth_estimateGas, and eth_getLogs against what the constructor did.assertEVMOnlyNodeInfocovers net_version, eth_syncing, and the fee suggestionsassertEVMOnlyNewHeadssubscribes to newHeads over each node's WebSocket port and matches the pushed head to the served block. Assertions reuse the existing helpers and per-node client pattern.The README's method list is rewritten to match what the EVM-only RPC serves, with lists of methods not supported yet and not planned, a short known-limitations section, and fixes to stale lines (the cast wallet new jq path, pruned heights returning an error rather than null, and the removed claim that there are no fee, log, or WebSocket methods).
Test plan