Skip to content

Conversation

@qu0b
Copy link
Contributor

@qu0b qu0b commented Nov 26, 2025

🗒️ Description

Implement new BAL (Block Access List) tests with full test implementations:

  • test_bal_create2_collision - CREATE2 address collision handling
  • test_bal_create_selfdestruct_to_self_with_call - Init code with external call then selfdestruct to self
  • test_bal_selfdestruct_to_7702_delegation - SELFDESTRUCT to EIP-7702 delegated account
  • test_bal_revert_insufficient_funds - CALL failure due to insufficient balance
  • test_bal_lexicographic_address_ordering - Strict byte-wise address ordering validation with endian-trap addresses
  • test_bal_transient_storage_not_tracked - EIP-1153 transient storage exclusion
  • test_bal_selfdestruct_to_precompile - SELFDESTRUCT with precompile beneficiary
  • test_bal_all_transaction_types - All 5 tx types (Legacy, EIP-2930, EIP-1559, Blob, EIP-7702) in single block
  • test_bal_create_early_failure - CREATE failure before track_address
  • test_bal_withdrawal_to_7702_delegation - Withdrawal to EIP-7702 delegated account
image

@qu0b qu0b closed this Nov 26, 2025
@qu0b qu0b reopened this Nov 26, 2025
@qu0b qu0b changed the base branch from forks/amsterdam to eips/amsterdam/eip-7928 November 26, 2025 12:19
@marioevz marioevz requested a review from fselmo November 26, 2025 13:04
Copy link
Member

@jochem-brouwer jochem-brouwer left a comment

Choose a reason for hiding this comment

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

Hey Stefan 😄 👍 We met at Devconnect!! 🥳

Very impressive edge cases! I left a few comments on them, also some clarifications or just some notes. Thanks a lot 😄 👍

@qu0b
Copy link
Contributor Author

qu0b commented Nov 28, 2025

Recent run with the new test cases against besu and nethermind.

image

@fselmo
Copy link
Contributor

fselmo commented Dec 1, 2025

This needs a rebase with the recent additions from #1825 and #1829

@qu0b qu0b force-pushed the qu0b/add-bal-test-cases branch from e4c7fe1 to 98c2154 Compare December 2, 2025 10:01
@codecov
Copy link

codecov bot commented Dec 2, 2025

Codecov Report

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

Additional details and impacted files
@@                    Coverage Diff                     @@
##             eips/amsterdam/eip-7928    #1812   +/-   ##
==========================================================
  Coverage                           ?   82.46%           
==========================================================
  Files                              ?      797           
  Lines                              ?    47987           
  Branches                           ?     4341           
==========================================================
  Hits                               ?    39574           
  Misses                             ?     7927           
  Partials                           ?      486           
Flag Coverage Δ
unittests 82.46% <ø> (?)

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

☔ View full report in Codecov by Sentry.
📢 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.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

mirgee pushed a commit to mirgee/execution-specs that referenced this pull request Dec 5, 2025
@fselmo fselmo force-pushed the qu0b/add-bal-test-cases branch 2 times, most recently from 056eeae to 6aae2fb Compare December 8, 2025 20:18
@fselmo fselmo force-pushed the qu0b/add-bal-test-cases branch from 6aae2fb to 320670f Compare December 8, 2025 20:20
@fselmo fselmo force-pushed the qu0b/add-bal-test-cases branch from 4cfbc32 to 4c0cc53 Compare December 8, 2025 21:00
@fselmo fselmo force-pushed the qu0b/add-bal-test-cases branch from 4c0cc53 to 1518655 Compare December 8, 2025 21:02
Copy link
Contributor

@fselmo fselmo left a comment

Choose a reason for hiding this comment

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

lgtm, ty @qu0b 🚀

I moved some test cases to the *_opcodes.py for better organization and organized test_cases.md, added an explicit None check that was missing from an expectation (here).

@fselmo fselmo merged commit 6553269 into ethereum:eips/amsterdam/eip-7928 Dec 8, 2025
7 of 9 checks passed
fselmo added a commit that referenced this pull request Dec 9, 2025
* rebase onto upstream

* chore(fix) balance check in call before target access

* merge test cases with usptream

* merge test cases with usptream

* chore(fix) format with ruff

* chore(fix) revert call changes and add target to bal

* merge test cases with usptream

* improve wording

* chore(formate) fix formatting and line length

* refactor(test-tests): Use pre API where possible; explicit check for none in BAL

* refactor(test-tests): Refactor opcode tests to bal opcodes test file

---------

Co-authored-by: fselmo <fselmo2@gmail.com>
fselmo added a commit that referenced this pull request Dec 9, 2025
* rebase onto upstream

* chore(fix) balance check in call before target access

* merge test cases with usptream

* merge test cases with usptream

* chore(fix) format with ruff

* chore(fix) revert call changes and add target to bal

* merge test cases with usptream

* improve wording

* chore(formate) fix formatting and line length

* refactor(test-tests): Use pre API where possible; explicit check for none in BAL

* refactor(test-tests): Refactor opcode tests to bal opcodes test file

---------

Co-authored-by: fselmo <fselmo2@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants