v2.7.0 to develop#2167
Conversation
* core/vm: add kzg precompile back for madhugiri forks * core/vm: remove kzg from prague * core/vm: update kzg tests to ensure activation and removal * core/vm: improve test * core/vm: typo Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * core/vm: improve test --------- Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* build(deps): bump google.golang.org/grpc from 1.77.0 to 1.79.3 (#2148) Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.77.0 to 1.79.3. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](grpc/grpc-go@v1.77.0...v1.79.3) --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-version: 1.79.3 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * eth/ethconfig: remove redundant RPCLogQueryLimit field LogQueryLimit was introduced from an upstream Geth merge (dce511c); RPCLogQueryLimit was added later when wiring the internal CLI, creating a duplicate. Both were always set to the same value from --rpc.logquerylimit; filters read RPCLogQueryLimit while LogQueryLimit was dead code. Remove RPCLogQueryLimit and make LogQueryLimit the single field. No user-facing change: the --rpc.logquerylimit CLI flag and the logquerylimit TOML key are unchanged. * address lint --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…#2151) * build(deps): bump google.golang.org/grpc from 1.77.0 to 1.79.3 (#2148) Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.77.0 to 1.79.3. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](grpc/grpc-go@v1.77.0...v1.79.3) --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-version: 1.79.3 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Increase txAnn limit --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* added giugliano block for mainnet * added LisovoProBlock and GiuglianoBlock to GatherForks
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.
|
Code reviewNo issues found. Checked for bugs and CLAUDE.md compliance. |
There was a problem hiding this comment.
Pull request overview
Backports the v2.7.0 release changes onto develop, updating protocol/fork parameters, RPC behavior/limits, defaults, tests, and dependencies.
Changes:
- Bump client version to 2.7.0 and wire the Giugliano fork block into configs/genesis/CLI chain presets.
- Disable
eth_simulateV1on Bor (with updated/added tests reflecting the disabled behavior). - Add an RPC-configurable log query block range limit (
rpc.rangelimit) enforced foreth_getLogsandbor_getLogs, plus docs/default-config updates; also adjust tx announcement queue limit and witness filestore default.
Reviewed changes
Copilot reviewed 28 out of 29 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| params/version.go | Bumps minor version to 2.7.0. |
| params/config.go | Adds Giugliano fork block heights to chain configs. |
| internal/ethapi/api.go | Disables SimulateV1 by returning a fixed “not supported on Bor” error. |
| internal/ethapi/api_test.go | Adds a test asserting SimulateV1 is disabled; skips existing SimulateV1 tests. |
| ethclient/ethclient_test.go | Skips client-side SimulateV1 tests since the RPC is disabled on Bor. |
| internal/cli/server/flags.go | Adds rpc.rangelimit flag to Bor server CLI. |
| internal/cli/server/config.go | Adds JsonRPCConfig.RangeLimit, wires it into ethconfig, updates LogQueryLimit default source, changes witness FileStore default, and switches GOMEMLIMIT handling to runtime/debug.SetMemoryLimit. |
| internal/cli/server/chains/mainnet.go | Adds Giugliano block height to mainnet chain preset. |
| internal/cli/server/chains/amoy.go | Adds Giugliano block height to amoy chain preset. |
| eth/filters/filter_system.go | Extends filter-system config with a RangeLimit parameter. |
| eth/filters/api.go | Implements and applies block-range limiting to GetLogs and GetFilterLogs. |
| eth/filters/bor_api.go | Applies invalid-range + range-limit checks to GetBorBlockLogs. |
| eth/filters/filter_system_test.go | Adds tests validating block-range limit enforcement across APIs and filter logs. |
| eth/ethconfig/config.go | Introduces RPCBlockRangeLimit and removes the older RPCLogQueryLimit field in favor of existing LogQueryLimit. |
| eth/backend.go | Passes log query limit/cache size and new range limit into the filter system. |
| cmd/utils/flags.go | Adds rpc.rangelimit flag and wires it into ethconfig.Config.RPCBlockRangeLimit; propagates to FilterSystem config. |
| cmd/geth/main.go | Registers the new rpc.rangelimit flag in geth’s CLI. |
| docs/cli/server.md | Documents rpc.rangelimit and updates witness filestore default. |
| docs/cli/default_config.toml | Adds rangelimit = 0 and updates witness filestore default to false. |
| core/vm/contracts.go | Adds KZG precompile to Madhugiri/MadhugiriPro (and notes around Osaka). |
| core/vm/contracts_test.go | Updates precompile presence tests across fork rule sets. |
| core/forkid/forkid.go | Adds LisovoPro/Giugliano to fork gathering for forkid derivation. |
| eth/protocols/eth/peer.go | Raises tx announcement queue cap (maxQueuedTxAnns) from 4096 to 16384. |
| eth/protocols/eth/broadcast_test.go | Adds a unit test covering announcement-queue overflow discard behavior. |
| eth/handler_eth_test.go | Adds regression tests ensuring bursts above the old cap are not dropped under the new cap. |
| builder/files/genesis-mainnet-v1.json | Adds giuglianoBlock to mainnet genesis Bor config. |
| builder/files/genesis-amoy.json | Adds giuglianoBlock to amoy genesis Bor config. |
| go.mod | Updates dependencies (grpc, x/net, oauth2, genproto). |
| go.sum | Updates dependency checksums consistent with go.mod changes. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| if crit.ToBlock != nil { | ||
| end = crit.ToBlock.Int64() | ||
| } | ||
| if begin > 0 && end > 0 && begin > end { |
There was a problem hiding this comment.
The invalid-range check begin > 0 && end > 0 && begin > end will not catch ranges like fromBlock=1, toBlock=0 (genesis), even though both are concrete non-negative heights and begin > end should be rejected. Consider using begin >= 0 && end >= 0 && begin > end so block 0 is handled correctly while still skipping comparisons for negative sentinel values (latest/pending/earliest).
| if begin > 0 && end > 0 && begin > end { | |
| if begin >= 0 && end >= 0 && begin > end { |




Description
Backport v2.7.0 to develop, completing the release process.
Changes
Breaking changes
Please complete this section if any breaking changes have been made, otherwise delete it
Nodes audience
In case this PR includes changes that must be applied only to a subset of nodes, please specify how you handled it (e.g. by adding a flag with a default value...)
Checklist
Cross repository changes
Testing
Manual tests
Please complete this section with the steps you performed if you ran manual tests for this functionality, otherwise delete it
Additional comments
Please post additional comments in this section if you have them, otherwise delete it