Skip to content

feat(tests): map ethrex's frame-transaction rejection reasons - #3413

Merged
spencer-tb merged 1 commit into
ethereum:eips/amsterdam/eip-8141from
lambdaclass:tests/ethrex-mapper-frame-tx-exceptions
Aug 22, 2026
Merged

feat(tests): map ethrex's frame-transaction rejection reasons#3413
spencer-tb merged 1 commit into
ethereum:eips/amsterdam/eip-8141from
lambdaclass:tests/ethrex-mapper-frame-tx-exceptions

Conversation

@ilitteri

@ilitteri ilitteri commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

EthrexExceptionMapper has no entries for the frame-transaction exceptions, so every type-0x06 rejection reaches consume-engine as "Undefined exception message" even when the block was correctly rejected. That is 51 of the 62 failures in the frames hive suite.

Adds the three TYPE_6_* exceptions plus GASPRICE_OVERFLOW and PRIORITY_OVERFLOW. TYPE_6_INVALID_FRAME_FORMAT is a regex because ethrex reaches it three ways: the static-validation reason, signature-entry structure checked during signature validation, and a field too wide for its type rejected while decoding.

The client side is already on lambdaclass/ethrex@frames-devnet-0, the branch hive builds, so this carries no ordering constraint.

The mapper had no TYPE_6_* entries, so every frame-transaction rejection
reached the consume-engine simulator as "Undefined exception message" even when
the block was correctly rejected. 51 of the 62 failures in the frames hive suite
were this.

Adds the three frame-transaction exceptions plus the two fee-overflow cases.
TYPE_6_INVALID_FRAME_FORMAT carries three alternatives because ethrex reaches
that conclusion three ways: the static-validation reason, signature-entry
structure checked inside signature validation, and a frame or signature field
too wide for its type rejected while decoding.

Depends on lambdaclass/ethrex#7197, which makes ethrex report these reasons
distinctly instead of returning the approval error for all of them.

@spencer-tb spencer-tb 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.

LGTM! Thanks for defining these :)

@spencer-tb spencer-tb added C-feat Category: an improvement or new feature A-tests Area: Consensus tests. C-hegota labels Aug 22, 2026
@codecov

codecov Bot commented Aug 22, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (eips/amsterdam/eip-8141@78907f4). Learn more about missing BASE report.

Additional details and impacted files
@@                    Coverage Diff                     @@
##             eips/amsterdam/eip-8141    #3413   +/-   ##
==========================================================
  Coverage                           ?   93.17%           
==========================================================
  Files                              ?      576           
  Lines                              ?    33250           
  Branches                           ?     2975           
==========================================================
  Hits                               ?    30980           
  Misses                             ?     1578           
  Partials                           ?      692           
Flag Coverage Δ
unittests 93.17% <ø> (?)

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.

@spencer-tb
spencer-tb merged commit 2094346 into ethereum:eips/amsterdam/eip-8141 Aug 22, 2026
26 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-tests Area: Consensus tests. C-feat Category: an improvement or new feature C-hegota

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants