Skip to content

chore(l1): bump glamsterdam fixtures to v6.1.1#6959

Open
edg-l wants to merge 2 commits into
mainfrom
bump-glamsterdam-fixtures-v6.1.1
Open

chore(l1): bump glamsterdam fixtures to v6.1.1#6959
edg-l wants to merge 2 commits into
mainfrom
bump-glamsterdam-fixtures-v6.1.1

Conversation

@edg-l

@edg-l edg-l commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

Motivation

https://github.com/ethereum/execution-specs/releases/tag/tests-glamsterdam-devnet@v6.1.1 released

Description

Checklist

  • Updated STORE_SCHEMA_VERSION (crates/storage/lib.rs) if the PR includes breaking changes to the Store requiring a re-sync.

Closes #issue_number

@edg-l edg-l requested a review from a team as a code owner July 3, 2026 06:18
@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown

⚠️ Known Issues — intentionally skipped tests

Source: docs/known_issues.md

Stateless blockchain EF-tests (zkevm bundle) skipped under Amsterdam v6.1.1

make -C tooling/ef_tests/blockchain test-stateless runs against the
tests-zkevm@v0.4.1 fixture bundle — currently the only published zkevm test
release. Those fixtures were filled against an older glamsterdam devnet and
re-execute every case under the for_amsterdam fork, so they lag the
glamsterdam-devnet v6.1.1 gas accounting this client now implements
(EIP-8037 / EIP-8038 / EIP-2780 / EIP-7976 / EIP-7981 …). Re-executing them
yields ~2790/2864 stale-gas failures ("Transaction execution unexpectedly
failed"), spread pervasively across every fork and through the EIP-8025 proof
suite, so there is no clean passing subset to keep.

Until a v6.1.1-aligned zkevm bundle is published, the entire bundle is skipped
for the stateless run via the fork_Amsterdam entry in the stateless-only
EXTRA_SKIPS (tooling/ef_tests/blockchain/tests/all.rs) — every test in this
Amsterdam-only bundle carries the [fork_Amsterdam-…] parametrization in its
test key. The skip is #[cfg(feature = "stateless")], so it does not touch
the non-stateless test-levm run. Coverage of these EIPs is retained by
test-levm, the engine EF-tests, and the state EF-tests, all of which execute
against the live v6.1.1 fixtures and pass.

Re-enable by removing the "fork_Amsterdam" skip once .fixtures_url_zkevm
points at a zkevm bundle filled for glamsterdam-devnet v6.1.1.

@github-actions github-actions Bot added the L1 Ethereum client label Jul 3, 2026
@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown

🤖 Claude Code Review

No stale references to the old version remain — the bump is complete and consistent across all files.

Review: PR 6959 — bump glamsterdam fixtures to v6.1.1

This is a small, mechanical maintenance PR that bumps the pinned tests-glamsterdam-devnet fixture release from v6.1.0 to v6.1.1 across all consumers, plus one small addition to the exception mapper.

What it does:

  1. Updates fixture URLs and pinned eels_commit in .github/config/hive/amsterdam.yaml and the three .fixtures_url_amsterdam files (blockchain/engine/state ef-tests) — all consistently pointing at v6.1.1.
  2. Updates doc comments/references from v6.1.0 → v6.1.1 in docs/known_issues.md, crates/vm/backends/levm/mod.rs, test/tests/levm/eip8038_tests.rs, and tooling/ef_tests/blockchain/tests/all.rs — no logic changes, purely cosmetic version-string updates.
  3. Adds a new exception-mapper entry in tooling/ef_tests/engine/src/exception_mapper.rs:
    Entry { canonical: "TransactionException.INVALID_CHAINID", kind: Kind::Sub,
        text: "Transaction has invalid chain id" },

Verification:

  • No stale v6.1.0 references remain anywhere in the repo after the bump — the version update is complete and consistent.
  • The new INVALID_CHAINID mapping substring matches the actual ethrex error string at crates/common/errors.rs:42 ("Transaction has invalid chain id: have {have}, want {want}"), so the mapping is correct and will match the client's real output. This addition is presumably needed because v6.1.1 fixtures now exercise a chain-id-mismatch case that wasn't previously covered by the mapper.
  • No consensus logic, gas accounting, RLP, or state-trie code is touched — only comments, version pins, and a test-tooling string-mapping table.

Notes:

  • Pattern-matching in exception_mapper.rs uses substring/regex matching against an ordered list; the new entry's text ("Transaction has invalid chain id") is specific enough that it shouldn't collide with any other existing pattern.

Overall this looks like a clean, low-risk chore PR. No correctness, security, or performance concerns — nothing to change.


Automated review by Claude (Anthropic) · sonnet · custom prompt

@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown

🤖 Kimi Code Review

This PR performs a version bump for Amsterdam devnet fixtures (v6.1.0 → v6.1.1) and adds exception mapping for invalid chain ID transactions. The changes are mechanical, consistent, and correct.

Review Summary:

  1. Version Bump Consistency — All references updated correctly:

    • Fixture URLs in .fixtures_url_* files (blockchain, engine, state)
    • Hive config in .github/config/hive/amsterdam.yaml (including EELS commit hash d0338f5)
    • Documentation in docs/known_issues.md and code comments in levm/mod.rs, eip8038_tests.rs
  2. Exception Mapper Addition (tooling/ef_tests/engine/src/exception_mapper.rs:41-42):

    • Correctly maps TransactionException.INVALID_CHAINID to substring "Transaction has invalid chain id"
    • Uses Kind::Sub appropriately for partial matching
    • Placement between blob gas and deposit exceptions is acceptable (list is not strictly alphabetized)
  3. Test Skip Logic (tooling/ef_tests/blockchain/tests/all.rs):

    • Comments correctly explain that the fork_Amsterdam skip remains necessary because the zkevm bundle (v0.4.1) was filled against an older devnet version
    • The skip is properly gated by #[cfg(feature = "stateless")]

No issues found. The PR correctly maintains the existing skip for stateless tests while updating live fixture references to v6.1.1.


Automated review by Kimi (Moonshot AI) · kimi-k2.5 · custom prompt

@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown

🤖 Codex Code Review

No findings.

The fixture/version bumps are internally consistent across Hive and all EF-test entry points, and the new engine exception mapping at tooling/ef_tests/engine/src/exception_mapper.rs:41 matches the block-validation error wording emitted for wrong-chain-id transactions ("Transaction has invalid chain id: have ..., want ..."), so it should correctly suppress the expected validation_error mismatch noise.

Residual risk: I could not run the targeted cargo test -p ef_tests-engine exception_mapper --lib slice in this environment because rustup attempted to write under a read-only home directory.


Automated review by OpenAI Codex · gpt-5.4 · custom prompt

@greptile-apps

greptile-apps Bot commented Jul 3, 2026

Copy link
Copy Markdown

Greptile Summary

This PR bumps the glamsterdam fixture suite from v6.1.0 to v6.1.1 across all EF-test harnesses (blockchain, engine, state) and the Hive CI config, updating the EELS commit hash accordingly. It also adds a new TransactionException.INVALID_CHAINID exception mapping needed for the new fixture set and refreshes all version references in comments and documentation.

  • All three .fixtures_url_amsterdam files, the Hive YAML, and the EELS commit hash are updated to point at the v6.1.1 release.
  • A new substring-match entry for TransactionException.INVALID_CHAINID"Transaction has invalid chain id" is added to the engine exception mapper, required to correctly classify chain-ID rejection errors introduced in the new fixture set.
  • Version references in comments (levm/mod.rs, eip8038_tests.rs, all.rs) and docs/known_issues.md are updated to reflect v6.1.1; the note about the stale zkevm@v0.4.1 bundle skip remains accurate.

Confidence Score: 5/5

Routine fixture version bump with a small, targeted exception-mapper addition; no logic changes to the client itself.

All changes are either URL/version-string updates, comment refreshes, or the single new INVALID_CHAINID substring entry in the exception mapper. The new mapping is consistent with the surrounding entries and is needed to avoid false negatives on chain-ID rejection tests introduced in the new fixture set. No application logic is altered.

No files require special attention; exception_mapper.rs carries the only logic change and is straightforward.

Important Files Changed

Filename Overview
tooling/ef_tests/engine/src/exception_mapper.rs Adds TransactionException.INVALID_CHAINID substring-match entry; change is minimal, correct, and consistent with the existing mapper style.
.github/config/hive/amsterdam.yaml Bumps fixture URL from v6.1.0 to v6.1.1 and updates the EELS commit hash to match the new release.
tooling/ef_tests/blockchain/.fixtures_url_amsterdam URL-only file bumped from v6.1.0 to v6.1.1; consistent with other fixture URL files.
tooling/ef_tests/engine/.fixtures_url_amsterdam URL-only file bumped from v6.1.0 to v6.1.1; consistent with other fixture URL files.
tooling/ef_tests/state/.fixtures_url_amsterdam URL-only file bumped from v6.1.0 to v6.1.1; consistent with other fixture URL files.
tooling/ef_tests/blockchain/tests/all.rs Comment-only update; version references changed from v6.1.0 to v6.1.1. The fork_Amsterdam skip logic is unchanged.
docs/known_issues.md Documentation updated to reflect v6.1.1; the zkevm bundle skip explanation remains accurate.
crates/vm/backends/levm/mod.rs Comment-only change updating the spec version reference in a doc comment.
test/tests/levm/eip8038_tests.rs Comment-only update; expected-values reference bumped from v6.1.0 to v6.1.1.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[EF Test Harness] --> B{Exception in fixture?}
    B -- Yes --> C[exception_mapper::matches]
    C --> D{Split on pipe}
    D --> E[matches_canonical per alternative]
    E --> F{Sub or Re?}
    F -- Sub --> G["actual.contains(text)"]
    F -- Re --> H["regex.is_match(actual)"]
    G --> I{Hit?}
    H --> I
    I -- Yes --> J[Test passes]
    I -- No --> K[Try next entry]
    K --> E
    K -- exhausted --> L[Test fails: unmatched exception]

    subgraph "New in v6.1.1"
        N["TransactionException.INVALID_CHAINID\n→ 'Transaction has invalid chain id'"]
    end
    N -.added.-> G
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
    A[EF Test Harness] --> B{Exception in fixture?}
    B -- Yes --> C[exception_mapper::matches]
    C --> D{Split on pipe}
    D --> E[matches_canonical per alternative]
    E --> F{Sub or Re?}
    F -- Sub --> G["actual.contains(text)"]
    F -- Re --> H["regex.is_match(actual)"]
    G --> I{Hit?}
    H --> I
    I -- Yes --> J[Test passes]
    I -- No --> K[Try next entry]
    K --> E
    K -- exhausted --> L[Test fails: unmatched exception]

    subgraph "New in v6.1.1"
        N["TransactionException.INVALID_CHAINID\n→ 'Transaction has invalid chain id'"]
    end
    N -.added.-> G
Loading

Reviews (1): Last reviewed commit: "chore(ef-tests): bump glamsterdam-devnet..." | Re-trigger Greptile

@github-project-automation github-project-automation Bot moved this to In Review in ethrex_l1 Jul 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Glamsterdam L1 Ethereum client

Projects

Status: In Review

Development

Successfully merging this pull request may close these issues.

4 participants