Skip to content

feat(specs,test-specs,tests): Update Engine API to latest Bogota spec, implement IL inclusion_test - #3401

Open
marioevz wants to merge 8 commits into
ethereum:eips/amsterdam/eip-7805from
marioevz:eips/amsterdam/eip-7805
Open

feat(specs,test-specs,tests): Update Engine API to latest Bogota spec, implement IL inclusion_test#3401
marioevz wants to merge 8 commits into
ethereum:eips/amsterdam/eip-7805from
marioevz:eips/amsterdam/eip-7805

Conversation

@marioevz

Copy link
Copy Markdown
Member

Description

Follow up to #3373, with the following improvements:

Update to latest Engine API spec

Updates to the latest engine/bogota.md, which includes using engine_newPayloadV6 and engine_forkchoiceUpdatedV5.

Each blockchain engine fixture now contains an inclusionListSatisfied field in each payload with the expected response for the PayloadStatusV2 field from an engine_newPayloadV6 request to a client, and replaces the INCLUSION_LIST_UNSATISFIED payload-status enum value expected in previous fixture formats.

Inclusion List Variant for inclusion_test Marked Tests

All blockchain and state tests from previous forks that were marked in #3337 now automatically generate an inclusion-list variant test where the last transaction of the last block is moved from the block to the inclusion list, with two different expectations:

  • If the transaction contained an error, or was otherwise not includable in the block, the block's inclusion list is expected to be validated as satisfied by the client.
  • If the transaction contained no errors and was includable in the block, the block's inclusion list is expected to be validated as unsatisfied by the client.

Three bugs were found in the spec with these newly generated tests.

Spec Fixes

Spec bugs caught and fixed by tests mentioned in previous section:

  • Transactions with incorrect chain-id were still considered includable
  • Transactions with incorrect RLP encoding caused an exception in the inclusion list validator
  • Type-3 transactions were considered not-includable by default

Related Issues or PRs

N/A.

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

Put a link to a cute animal picture inside the parenthesis-->

@codecov

codecov Bot commented Aug 19, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 0% with 5 lines in your changes missing coverage. Please review.
⚠️ Please upload report for BASE (eips/amsterdam/eip-7805@aa25eed). Learn more about missing BASE report.

Files with missing lines Patch % Lines
src/ethereum/forks/amsterdam/fork.py 0.00% 5 Missing ⚠️
Additional details and impacted files
@@                    Coverage Diff                     @@
##             eips/amsterdam/eip-7805    #3401   +/-   ##
==========================================================
  Coverage                           ?   81.95%           
==========================================================
  Files                              ?      624           
  Lines                              ?    37099           
  Branches                           ?     3397           
==========================================================
  Hits                               ?    30405           
  Misses                             ?     6274           
  Partials                           ?      420           
Flag Coverage Δ
unittests 81.95% <0.00%> (?)

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 added C-feat Category: an improvement or new feature A-test-specs Area: execution_testing.specs A-tests Area: Consensus tests. C-hegota labels Aug 20, 2026
@spencer-tb
spencer-tb self-requested a review August 20, 2026 09:48

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

The t8n requires inclusion lists whenever the spec module tracks inclusion_list_satisfied, and amsterdam shares that module with bogota, so every amsterdam fill crashes.

Fixes for this: spencer-tb/execution-specs@ca86b6e...pr-3401-il-fill-fix, feel free to cherry pick...

What each commit does:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-test-specs Area: execution_testing.specs 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