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
v2.7.2 candidate
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.
|
Contributor
There was a problem hiding this comment.
Pull request overview
Backmerge from the v2.7.2 release line into develop, bringing in consensus/state-sync error semantics, RPC simulation hardening, and tooling/version bumps.
Changes:
- Update Bor state-sync handling by distinguishing operational failures (
ErrStateSyncProcessing) from block/body mismatches (ErrStateSyncMismatch) and propagateFinalizeerrors through processors. - Re-enable and harden
eth_simulateV1with call-count limits and a cross-block RPC gas budget, and tighten RPC gas-cap bypass to internal consensus calls only. - Add context-cancellation checks to long-running log scans/debug replay loops; bump version/toolchain references.
Reviewed changes
Copilot reviewed 27 out of 28 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/bor/bor_test.go | Update expected error type for invalid state-sync tx scenarios. |
| params/version.go | Bump patch version to 2.7.2. |
| internal/ethapi/simulate_test.go | Ensure simulator tests initialize the new gas budget. |
| internal/ethapi/simulate.go | Add cross-block gas budgeting, per-request call limits, and enhanced call result reporting. |
| internal/ethapi/bor_api_test.go | Add tests for context cancellation in log scans and for RPC gas-cap bypass behavior. |
| internal/ethapi/bor_api.go | Add internal-call context marker; add ctx-cancellation checks in log scanning loops. |
| internal/ethapi/api_test.go | Unskip/re-enable simulate tests; add debug replay cancellation test; update simulator construction. |
| internal/ethapi/api.go | Restrict RPC gas-cap bypass to internally-marked consensus calls; re-enable SimulateV1 with limits and gas budget; add ctx-cancellation in AccountAt. |
| go.mod | Update Go toolchain patch reference. |
| ethclient/ethclient_test.go | Unskip simulate tests. |
| eth/tracers/data.csv | Update tracer golden data ordering/contents. |
| core/state_processor.go | Handle Engine.Finalize errors; emit ErrStateSyncMismatch on receipt-count mismatch. |
| core/parallel_state_processor.go | Same as above for parallel processor. |
| core/error.go | Split state-sync errors into processing vs mismatch categories. |
| consensus/ethash/consensus.go | Update Finalize signature to return (receipts, error) and propagate in assembly. |
| consensus/consensus.go | Update Engine interface Finalize signature to return (receipts, error). |
| consensus/clique/clique.go | Update Finalize signature and propagate in assembly. |
| consensus/bor/heimdall/span/spanner.go | Mark consensus-originated calls as internal to allow gas-cap bypass where intended. |
| consensus/bor/contract/client.go | Mark genesis contract CallWithState as internal for gas-cap bypass. |
| consensus/bor/bor_test.go | Update tests for new Finalize error behavior; add comprehensive Madhugiri state-sync mismatch tests. |
| consensus/bor/bor.go | Make Finalize return errors; validate state-sync tx presence/hash post-Madhugiri; propagate span/state commit errors. |
| consensus/beacon/consensus.go | Update Finalize signature and propagate in assembly. |
| cmd/keeper/go.sum | Update dependency checksums. |
| cmd/keeper/go.mod | Update Go toolchain patch reference for submodule. |
| Makefile | Bump golangci-lint installer version used by make lint-deps. |
| Dockerfile.alltools | Update Go builder image patch tag. |
| Dockerfile | Update Go builder image patch tag. |
| .golangci.yml | Update configured Go version patch reference. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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.


No description provided.