Skip to content

v2.7.0 to develop#2167

Merged
pratikspatil024 merged 16 commits into
developfrom
master
Mar 27, 2026
Merged

v2.7.0 to develop#2167
pratikspatil024 merged 16 commits into
developfrom
master

Conversation

@pratikspatil024

Copy link
Copy Markdown
Member

Description

Backport v2.7.0 to develop, completing the release process.

Changes

  • Bugfix (non-breaking change that solves an issue)
  • Hotfix (change that solves an urgent issue, and requires immediate attention)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (change that is not backwards-compatible and/or changes current functionality)
  • Changes only for a subset of nodes

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

  • I have added at least 2 reviewer or the whole pos-v1 team
  • I have added sufficient documentation in code
  • I will be resolving comments - if any - by pushing each fix in a separate commit and linking the commit hash in the comment reply
  • Created a task in Jira and informed the team for implementation in Erigon client (if applicable)
  • Includes RPC methods changes, and the Notion documentation has been updated

Cross repository changes

  • This PR requires changes to heimdall
    • In case link the PR here:
  • This PR requires changes to matic-cli
    • In case link the PR here:

Testing

  • I have added unit tests
  • I have added tests to CI
  • I have tested this code manually on local environment
  • I have tested this code manually on remote devnet using express-cli
  • I have tested this code manually on amoy
  • I have created new e2e tests into express-cli

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

pratikspatil024 and others added 16 commits March 13, 2026 13:47
…s-through (#2149)

* eth/filters, rpc: add `--rpc.rangelimit` flag and fix filter config pass-through (#2147)

* Include range limit filter flag

* update docs

* apply more range checks

* Including RPCLogQueryLimit

* make docs
* 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
Copilot AI review requested due to automatic review settings March 27, 2026 05:09

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@pratikspatil024 pratikspatil024 added the do not squash and merge This PR will be NOT be squashed and merged label Mar 27, 2026
@sonarqubecloud

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
9.8% Duplication on New Code (required ≤ 3%)
C Reliability Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

@pratikspatil024 pratikspatil024 merged commit 204ebc9 into develop Mar 27, 2026
40 of 42 checks passed
@claude

claude Bot commented Mar 27, 2026

Copy link
Copy Markdown

Code review

No issues found. Checked for bugs and CLAUDE.md compliance.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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_simulateV1 on Bor (with updated/added tests reflecting the disabled behavior).
  • Add an RPC-configurable log query block range limit (rpc.rangelimit) enforced for eth_getLogs and bor_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.

Comment thread eth/filters/bor_api.go
if crit.ToBlock != nil {
end = crit.ToBlock.Int64()
}
if begin > 0 && end > 0 && begin > end {

Copilot AI Mar 27, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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).

Suggested change
if begin > 0 && end > 0 && begin > end {
if begin >= 0 && end >= 0 && begin > end {

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do not squash and merge This PR will be NOT be squashed and merged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants