Skip to content

fix(test-client-clis): map ethrex's too-wide EIP-8250 nonce fields to TYPE_6_INVALID_FRAME_FORMAT - #3762

Merged
danceratopz merged 2 commits into
ethereum:eips/bogota/eip-8250from
lambdaclass:frames-1/ethrex-mapper-nonce-field-width
Oct 10, 2026
Merged

danceratopz merged 2 commits into
ethereum:eips/bogota/eip-8250from
lambdaclass:frames-1/ethrex-mapper-nonce-field-width

Conversation

@ilitteri

@ilitteri ilitteri commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

Description

ethrex rejects a frame transaction field too wide for its type while decoding, and the ethrex mapper already labels the frames and signatures cases TYPE_6_INVALID_FRAME_FORMAT. EIP-8250 adds two more such fields, nonce_keys and nonce_seq, whose decode errors only matched the generic RLP_STRUCTURES_ENCODING pattern. So test_static_validity's key_beyond_width and seq_beyond_width cases, which expect TYPE_6_INVALID_FRAME_FORMAT, are the two failures in hive's frames eels/consume-engine run for ethrex, although ethrex returns INVALID for both payloads:

got: "[BlockException.RLP_STRUCTURES_ENCODING] Error decoding field 'nonce_keys' of type alloc::vec::Vec<primitive_types::U256>: InvalidLength" expected: "TransactionException.TYPE_6_INVALID_FRAME_FORMAT"

The pattern now covers all four fields. Checked locally by running the mapper on the two messages from that run, verbatim: both now include TYPE_6_INVALID_FRAME_FORMAT, the frames and signatures decode errors still do, and a legacy transaction's nonce decode error still maps only to RLP_STRUCTURES_ENCODING.

Hive builds the consume simulator from devnets/frames/1, so the hive failures clear once this reaches that branch. The commit also applies cleanly there.

Related Issues or PRs

Checklist

  • Ran fast static checks to avoid CI fails, see Code Standards & Verifying Changes: just static
  • PR title has the form <type>(<area>): <title>, where <type> and <area> come from an appropriate C-<type>, respectively A-<area>, label. The title should match the target squash commit message.

Cute Animal Picture

…_6_INVALID_FRAME_FORMAT

ethrex rejects a frame transaction field too wide for its type while
decoding, and the ethrex mapper labels the frames and signatures cases
TYPE_6_INVALID_FRAME_FORMAT. EIP-8250 adds two more such fields, nonce_keys
and nonce_seq, whose decode errors only matched the generic
RLP_STRUCTURES_ENCODING pattern. test_static_validity's key_beyond_width and
seq_beyond_width cases, which expect TYPE_6_INVALID_FRAME_FORMAT, therefore
failed in hive's consume-engine run for ethrex although ethrex rejects the
payload as INVALID.

The pattern now covers all four fields. The new mapper test pins ethrex's
verbatim messages, including the two from that run, and checks the label
does not reach a legacy transaction's nonce field.
The test restated the mapper's regex against copies of ethrex's messages, so
it could not catch the failure that matters, ethrex rewording a message, and
hive's consume-engine run already covers the mapping against the client
itself. The fix is the mapper change alone, as for the other client mappers.
@danceratopz danceratopz added C-bug Category: this is a bug, deviation, or other problem A-test-client-clis Area: execution_testing.client_clis labels Oct 10, 2026
@codecov

codecov Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (eips/bogota/eip-8250@61ba0fb). Learn more about missing BASE report.

Additional details and impacted files
@@                   Coverage Diff                   @@
##             eips/bogota/eip-8250    #3762   +/-   ##
=======================================================
  Coverage                        ?   94.95%           
=======================================================
  Files                           ?      677           
  Lines                           ?    41940           
  Branches                        ?     3960           
=======================================================
  Hits                            ?    39825           
  Misses                          ?     1464           
  Partials                        ?      651           
Flag Coverage Δ
unittests 94.95% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@danceratopz danceratopz changed the title fix(client-clis): map ethrex's too-wide EIP-8250 nonce fields to TYPE_6_INVALID_FRAME_FORMAT fix(test-client-clis): map ethrex's too-wide EIP-8250 nonce fields to TYPE_6_INVALID_FRAME_FORMAT Oct 10, 2026

@danceratopz danceratopz left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

👍

@danceratopz
danceratopz merged commit 28cd8ec into ethereum:eips/bogota/eip-8250 Oct 10, 2026
28 checks passed
@ilitteri ilitteri mentioned this pull request Oct 11, 2026
30 of 32 tasks
spencer-tb pushed a commit that referenced this pull request Oct 13, 2026
gurukamath pushed a commit that referenced this pull request Oct 13, 2026
gurukamath pushed a commit that referenced this pull request Oct 13, 2026
gurukamath pushed a commit that referenced this pull request Oct 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-test-client-clis Area: execution_testing.client_clis C-bug Category: this is a bug, deviation, or other problem

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants