Conversation
…eth_simulateV1 (#1) * re-enable eth_simulateV1 with fixes * add ctx cancel errors on some rpc functions * use private runner for kurtosis e2e tests * bump golang and golangci-lint
…system txs (#3) * internal/ethapi, consensus/bor: only bypass rpc gas cap for internal system txs * internal/ethapi: update comments
There was a problem hiding this comment.
Claude Code Review
This repository is configured for manual code reviews. Comment @claude review to trigger a review and subscribe this PR to future pushes, or @claude review once for a one-time review.
Tip: disable this comment in your organization's Code Review settings.
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Prepares the v2.7.2-beta release by bumping version/tooling and tightening Bor + RPC behaviors around simulation, state-sync finalization, and cancellation handling.
Changes:
- Bump version to
2.7.2-betaand update Go/tooling versions. - Re-enable/extend
eth_simulateV1with per-request limits and an RPC-wide gas budget. - Improve consensus finalization to return errors and harden Bor state-sync mismatch detection + add context-cancellation checks during scans/replay.
Reviewed changes
Copilot reviewed 27 out of 28 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/bor/bor_test.go | Update expected Bor state-sync error to mismatch classification. |
| params/version.go | Bump version constants to 2.7.2-beta. |
| internal/ethapi/simulate_test.go | Initialize simulator with the new gas budget in tests. |
| internal/ethapi/simulate.go | Add gas budget + call-count limits; expose MaxUsedGas; enforce cross-block RPC gas cap. |
| internal/ethapi/bor_api_test.go | Add tests for ctx cancellation during log scanning and gas-cap bypass safety. |
| internal/ethapi/bor_api.go | Add internal-call context marker; respect ctx cancellation during GetLogs scans. |
| internal/ethapi/api_test.go | Remove SimulateV1 disabled assertions; adjust tests for new simulator budget; add ctx-cancel test for AccountAt. |
| internal/ethapi/api.go | Restrict system-tx gas-cap bypass to internal calls; re-enable SimulateV1 with limits; add ctx cancellation in AccountAt replay. |
| go.mod | Update Go toolchain version. |
| ethclient/ethclient_test.go | Unskip eth_simulateV1 client tests. |
| eth/tracers/data.csv | Update expected tracer dataset ordering/indexing. |
| core/state_processor.go | Handle consensus Finalize errors; emit state-sync mismatch error with more detail. |
| core/parallel_state_processor.go | Same as state_processor for parallel path. |
| core/error.go | Split Bor state-sync errors into processing vs mismatch categories. |
| consensus/ethash/consensus.go | Update Finalize signature to return (receipts, error). |
| consensus/consensus.go | Change Engine.Finalize interface to return an error. |
| consensus/clique/clique.go | Update Finalize signature and FinalizeAndAssemble call site. |
| consensus/bor/heimdall/span/spanner.go | Mark consensus-originated eth calls as internal to allow gas-cap bypass. |
| consensus/bor/contract/client.go | Mark genesis-contract internal eth call as internal for gas-cap bypass. |
| consensus/bor/bor_test.go | Update Bor Finalize tests for new error-returning signature; add Madhugiri state-sync mismatch coverage. |
| consensus/bor/bor.go | Make Bor Finalize return errors; enforce Madhugiri state-sync tx presence/hash match. |
| consensus/beacon/consensus.go | Update Finalize signature and FinalizeAndAssemble call site. |
| cmd/keeper/go.sum | Dependency hash updates (x/sys) and add x/time checksum. |
| cmd/keeper/go.mod | Update Go toolchain version for keeper module. |
| Makefile | Update golangci-lint installer version used by lint-deps. |
| Dockerfile.alltools | Update Go builder image tag. |
| Dockerfile | Update Go builder image tag. |
| .golangci.yml | Update Go version used by golangci-lint run config. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Code reviewNo issues found. Checked for bugs and CLAUDE.md compliance. |
Codecov Report❌ Patch coverage is ❌ Your patch status has failed because the patch coverage (68.57%) is below the target coverage (90.00%). You can increase the patch coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## master #2195 +/- ##
==========================================
+ Coverage 52.00% 52.21% +0.20%
==========================================
Files 884 884
Lines 155577 155479 -98
==========================================
+ Hits 80915 81190 +275
+ Misses 69456 69060 -396
- Partials 5206 5229 +23
... and 25 files with indirect coverage changes
🚀 New features to boost your workflow:
|
|


Prepare for v2.7.2-beta release