Skip to content

Conversation

@nerolation
Copy link
Contributor

🗒️ Description

This PR adds three new BAL edge-case tests covering 7702 multi-authorization behavior and the two distinct post-Cancún SELFDESTRUCT outcomes:

  1. 7702 Double Authorization Reset:
    A single transaction includes two EIP-7702 authorizations for Alice—first setting delegation code, then clearing it.
    BAL must reflect the correct nonce increments (self-funded: 0→3; sponsored: 0→2) and must not include any code_changes, since the final code is empty.

  2. SELFDESTRUCT Sending Funds Back to Sender:
    A pre-existing contract C executes SELFDESTRUCT(Alice).
    Under EIP-6780, C remains intact (no code deletion) and all its balance is transferred to Alice.
    BAL must show C’s balance going to zero and Alice receiving the value.

  3. SELFDESTRUCT That Burns ETH (Created and Destroyed in Same Tx):
    A contract D is created and, in the same transaction, executes SELFDESTRUCT(D).
    Per EIP-6780, the ETH is burned rather than transferred.
    BAL must show D’s balance reduced to zero with no beneficiary receiving the value.

mirgee pushed a commit to mirgee/execution-specs that referenced this pull request Dec 5, 2025
…1815)

* chore(consume): add exponential retry logic for initial fcu in consume engine.

* chore(docs): changelog.
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, took me a minute to review and merge some PRs ahead of this one... sorry for the wait here! I just merged those and rebased this one. We may have a duplicate case, can you make sure?

@fselmo fselmo force-pushed the eips/amsterdam/eip-7928 branch 2 times, most recently from ebc749e to 6044b67 Compare December 9, 2025 01:58
@codecov
Copy link

codecov bot commented Dec 9, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 86.25%. Comparing base (60fcfcc) to head (7b72f8c).
⚠️ Report is 1 commits behind head on eips/amsterdam/eip-7928.

Additional details and impacted files
@@                     Coverage Diff                     @@
##           eips/amsterdam/eip-7928    #1815      +/-   ##
===========================================================
- Coverage                    86.32%   86.25%   -0.08%     
===========================================================
  Files                          538      538              
  Lines                        34561    34561              
  Branches                      3224     3224              
===========================================================
- Hits                         29835    29809      -26     
- Misses                        4152     4165      +13     
- Partials                       574      587      +13     
Flag Coverage Δ
unittests 86.25% <ø> (-0.08%) ⬇️

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.

@nerolation
Copy link
Contributor Author

Thanks @fselmo !
Was the duplicated test case removed already, what's the status here?

@fselmo
Copy link
Contributor

fselmo commented Dec 9, 2025

Was the duplicated test case removed already, what's the status here?

All I've done is rebase here so that it didn't have conflicts. If you agree that it's testing the same case then we still need to remove it from this list and then merge the other two cases in this PR. What do you think?

SamWilsn pushed a commit that referenced this pull request Dec 9, 2025
* chore(consume): add exponential retry logic for initial fcu in consume engine.

* chore(docs): changelog.
@nerolation
Copy link
Contributor Author

looks good!

@fselmo fselmo force-pushed the eips/amsterdam/eip-7928 branch 2 times, most recently from be73122 to ba0eec1 Compare December 17, 2025 22:12
@fselmo fselmo merged commit aeae151 into ethereum:eips/amsterdam/eip-7928 Dec 31, 2025
2 checks passed
fselmo added a commit to fselmo/execution-specs that referenced this pull request Jan 12, 2026
* feat(tests): add more 7928 test descriptions

* chore(test): remove test duplicated by test_bal_create_selfdestruct_to_self_with_call

---------

Co-authored-by: fselmo <fselmo2@gmail.com>
fselmo added a commit to fselmo/execution-specs that referenced this pull request Jan 12, 2026
* feat(tests): add more 7928 test descriptions

* chore(test): remove test duplicated by test_bal_create_selfdestruct_to_self_with_call

---------

Co-authored-by: fselmo <fselmo2@gmail.com>
fselmo added a commit that referenced this pull request Jan 12, 2026
* feat(tests): add more 7928 test descriptions

* chore(test): remove test duplicated by test_bal_create_selfdestruct_to_self_with_call

---------

Co-authored-by: fselmo <fselmo2@gmail.com>
fselmo added a commit to fselmo/execution-specs that referenced this pull request Jan 15, 2026
* feat(tests): add more 7928 test descriptions

* chore(test): remove test duplicated by test_bal_create_selfdestruct_to_self_with_call

---------

Co-authored-by: fselmo <fselmo2@gmail.com>
fselmo added a commit to fselmo/execution-specs that referenced this pull request Jan 15, 2026
* feat(tests): add more 7928 test descriptions

* chore(test): remove test duplicated by test_bal_create_selfdestruct_to_self_with_call

---------

Co-authored-by: fselmo <fselmo2@gmail.com>
fselmo added a commit that referenced this pull request Jan 16, 2026
* feat(tests): add more 7928 test descriptions

* chore(test): remove test duplicated by test_bal_create_selfdestruct_to_self_with_call

---------

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.

2 participants