Skip to content

backport v2.8.0 to develop#2225

Open
pratikspatil024 wants to merge 6 commits into
developfrom
master
Open

backport v2.8.0 to develop#2225
pratikspatil024 wants to merge 6 commits into
developfrom
master

Conversation

@pratikspatil024
Copy link
Copy Markdown
Member

marcello33 and others added 6 commits May 11, 2026 18:32
* core, params, builder: chicago hf for v2.8.0 release

* params: bump version

* amoy, mainnet: added chicago block

* params: version bump to v2.8.0-beta2

* params: version bump to v2.8.0

---------

Co-authored-by: Pratik Patil <pratikspatil024@gmail.com>
Copilot AI review requested due to automatic review settings May 14, 2026 14:36
@pratikspatil024 pratikspatil024 added the do not squash and merge This PR will be NOT be squashed and merged label May 14, 2026
Copy link
Copy Markdown

@claude claude Bot left a comment

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.

@sonarqubecloud
Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
3.4% Duplication on New Code (required ≤ 3%)

See analysis details on SonarQube Cloud

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Backports Bor v2.8.0 changes onto develop, introducing the Chicago Bor hard fork and PIP-88 repricing (cold storage + select precompiles), along with network config/genesis updates and a keeper module dependency bump.

Changes:

  • Bump client version to 2.8.0 and add Chicago fork activation points for Amoy/Mainnet (configs, CLI chain presets, and genesis JSON).
  • Implement PIP-88 in the EVM: new Chicago instruction set, SLOAD/SSTORE repricing, and Chicago-specific precompile set with updated gas schedules.
  • Add/extend tests covering PIP-88 fork boundary behavior and repriced precompile/storage gas paths.

Reviewed changes

Copilot reviewed 16 out of 17 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
params/version.go Updates reported Bor version to 2.8.0.
params/protocol_params.go Adds PIP-88 gas constants (cold storage + precompiles).
params/config.go Adds Chicago fork config field, rule flag, banner output, and mainnet/amoy fork heights.
internal/cli/server/chains/mainnet.go Updates CLI mainnet chain preset with Chicago block.
internal/cli/server/chains/amoy.go Updates CLI Amoy chain preset with Chicago block.
core/vm/operations_acl.go Implements PIP-88 SLOAD/SSTORE dynamic gas and refund logic.
core/vm/jump_table.go Adds Chicago jump table enabling PIP-88.
core/vm/jump_table_export.go Dispatches instruction set lookup to Chicago when active.
core/vm/evm.go Selects Chicago instruction set at runtime via chain rules.
core/vm/eips.go Adds enablePIP88 hook wiring SLOAD/SSTORE repricing.
core/vm/contracts.go Adds Chicago precompile set and PIP-88 repriced RequiredGas behavior via flags.
core/vm/contracts_test.go Adds tests for PIP-88 gas schedules and fork boundary dispatch.
core/forkid/forkid.go Includes Chicago fork height in fork ID gathering.
cmd/keeper/go.mod Bumps golang.org/x/sys to v0.42.0 (indirect).
cmd/keeper/go.sum Adds go.sum entry for the bumped x/sys version (incomplete as-is).
builder/files/genesis-mainnet-v1.json Adds chicagoBlock to mainnet genesis config.
builder/files/genesis-amoy.json Adds chicagoBlock to Amoy genesis config.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread core/vm/operations_acl.go
Comment thread core/vm/operations_acl.go
@claude
Copy link
Copy Markdown

claude Bot commented May 14, 2026

Code Review

One issue found. Checked for bugs and CLAUDE.md compliance.

Issue: Stale gas value in doc comment — core/vm/operations_acl.go:192

The doc comment for gasSLoadPIP88 was copy-pasted from gasSLoadEIP2929 without updating the gas value. Line 192 states "charge 2100 gas" but the actual cold SLOAD cost under PIP-88 is ColdSloadCostPIP88 = 5460, not 2100.

This will mislead future readers into thinking PIP-88 charges the same cold SLOAD cost as EIP-2929. The code itself is correct (line 203 returns params.ColdSloadCostPIP88), only the comment is wrong.

CLAUDE.md rule violated: "DON'T Comment — Restating code in English" and the "Will this make sense in 6 months?" test — a comment restating the code with wrong numbers fails both criteria.

Suggested fix: Change line 192 from:

// charge 2100 gas and add the pair to accessed_storage_keys.

to:

// charge 5460 gas and add the pair to accessed_storage_keys.

Other findings:

  • Gas constant arithmetic verified correct (ColdSloadCostPIP88=5460, ColdSstoreCostPIP88=2940, SstoreClearsScheduleRefundPIP88=3960)
  • Fork ordering correct in all switch statements (Chicago before LisovoPro)
  • PrecompiledContractsChicago has all 18 entries with pip88:true flags
  • chicagoInstructionSet correctly chains from newLisovoProInstructionSet
  • All precompile gas multipliers match declared values
  • No bugs found in the implementation

@pratikspatil024 pratikspatil024 requested a review from a team May 14, 2026 14:54
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.

4 participants