Skip to content

Schedule Hoodi Amsterdam fork - #14489

Merged
LukaszRozmej merged 1 commit into
masterfrom
hoodi-glamsterdam
Oct 12, 2026
Merged

LukaszRozmej merged 1 commit into
masterfrom
hoodi-glamsterdam

Conversation

@flcl42

@flcl42 flcl42 commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

Changes

  • Schedule the Amsterdam fork on Hoodi at timestamp 1793036568 (0x6adf9118, Mon 26 Oct 2026 17:42:48 UTC, Gloas epoch 132352), matching eth-clients/hoodi#31.
  • Add amsterdamTime to Chains/hoodi.json and AmsterdamTimestamp to HoodiSpecProvider, mirroring the Sepolia scheduling in Schedule Sepolia Amsterdam fork #13455.
  • Extend the Hoodi chainspec-vs-hardcoded spec comparison, transition activations and fork id / fork hash tests with the Amsterdam boundary (0x3d068b59).

Types of changes

What types of changes does your code introduce?

  • Bugfix (a non-breaking change that fixes an issue)
  • New feature (a non-breaking change that adds functionality)
  • Breaking change (a change that causes existing functionality not to work as expected)
  • Optimization
  • Refactoring
  • Documentation update
  • Build-related changes
  • Other: Description

Testing

Requires testing

  • Yes

If yes, did you write tests?

  • Yes

Notes on testing

The fork hash after Amsterdam was cross-checked with an independent CRC32 over the Hoodi genesis hash and fork timestamps.

Documentation

Requires documentation update

  • Yes
  • No

Requires explanation in Release Notes

  • Yes
  • No

Remarks

The 200M gas limit in the GAS_LIMIT_SCHEDULE of the Hoodi PR is a consensus-layer setting delivered to the EL as the payload target gas limit, so Blocks.TargetBlockGasLimit in the Hoodi configs is left unchanged.

@claude

claude Bot commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

Claude finished @flcl42's task in 55s —— View job


PR review: Schedule Hoodi Amsterdam fork

Result: no Critical, High, Medium or Low findings. Mergeable.

What I checked

  • Timestamp: 0x6adf9118 is 1793036568, the same value as amsterdamTime in hoodi.json. (1793036568 − 1742213400) / 384 = 132352 matches the Gloas epoch. It also matches amsterdamTime in the upstream metadata/genesis.json.
  • EIP set: upstream chainspec.json turns on 13 EIPs at this timestamp: 2780, 7708, 7778, 7843, 7928, 7954, 7976, 7981, 8024, 8037, 8038, 8246 and 8282. These are exactly the EIPs Forks/25_Amsterdam.cs enables. In geth-style genesis, GethGenesisLoader expands them from amsterdamTime through HardforkLabels.ExpandAll, and AmsterdamTimestamp is taken from Eip7928TransitionTimestamp. So nothing else in hoodi.json needs to change.
  • Blob schedule: upstream adds no Amsterdam blobSchedule entry, and Amsterdam inherits from BPO2. Hoodi therefore keeps the BPO2 blob params (14/21) after the fork, which is correct.
  • Genesis: Amsterdam is not active at genesis, so the genesis header and hash stay the same (no BAL hash or slot number is added).
  • HoodiSpecProvider: follows the same pattern as SepoliaSpecProvider. ToTransitionActivations picks up the new entry automatically.
  • Tests: they cover the fork-id next change at BPO2, the boundary just before Amsterdam, and the new hash 0x3d068b59, plus the hardcoded-vs-chainspec comparison and ForkScheduleSpecProviderTests. GethGenesisLoaderTests.HoodiEip7949Activations builds its cases from TransitionActivations, so it covers the new boundary without changes.
  • Gas limit (from Remarks): I agree. GAS_LIMIT_SCHEDULE is a CL setting, so leaving TargetBlockGasLimit unchanged is right.

I didn't build the code or run the tests here, and I didn't recompute the fork hash myself. CI's ForkInfoTests will check it.

@github-actions

github-actions Bot commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

Stateless guest cost

block steps Δ steps prover cost Δ cost
25526356 114,858,260 +0.000% 18,023,701,141 +0.000%
25532382 122,275,303 +0.000% 20,188,051,719 +0.000%
25532442 160,502,247 +0.000% 23,073,742,490 +0.000%
25532454 144,718,716 +0.000% 22,678,597,008 +0.000%
25532471 142,171,422 +0.000% 22,153,301,588 +0.000%
25532480 94,229,716 +0.000% 15,642,191,964 +0.000%
25532553 134,967,615 +0.000% 20,613,897,566 +0.000%
25532642 133,261,770 +0.000% 20,831,100,476 +0.000%
25532711 130,987,613 +0.000% 19,614,554,743 +0.000%
all 9 blocks 1,177,972,662 +0.000% 182,819,138,695 +0.000%
Variable cost by bucket, summed over shared blocks (excludes BASE)
bucket before after Δ
MAIN 80,102,035,140 80,102,141,016 +0.000%
OPCODES 16,498,366,188 16,498,385,898 +0.000%
PRECOMPILES 63,844,059,139 63,844,059,139 +0.000%
MEMORY 19,788,723,996 19,788,764,226 +0.000%

60f49147dee9 (merge commit) · 9 pinned blocks · ziskemu is deterministic, so these figures are exact and any non-zero delta is real.

Compared against 0213c60141ee.

@flcl42 flcl42 modified the milestones: 2.2.0, 2.1.1 Oct 9, 2026
@LukaszRozmej
LukaszRozmej merged commit acde12e into master Oct 12, 2026
680 checks passed
@LukaszRozmej
LukaszRozmej deleted the hoodi-glamsterdam branch October 12, 2026 00:45
stdevMac pushed a commit that referenced this pull request Oct 12, 2026
@flcl42 flcl42 mentioned this pull request Oct 15, 2026
8 of 12 tasks
stdevMac pushed a commit that referenced this pull request Oct 15, 2026
stdevMac added a commit that referenced this pull request Oct 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants