Skip to content

✨ feat(tests): EIP-7928 net zero balance transactions#2280

Merged
fselmo merged 4 commits intomainfrom
feat/eip-7928/net-zero-balance
Oct 9, 2025
Merged

✨ feat(tests): EIP-7928 net zero balance transactions#2280
fselmo merged 4 commits intomainfrom
feat/eip-7928/net-zero-balance

Conversation

@raxhvl
Copy link
Member

@raxhvl raxhvl commented Oct 8, 2025

🗒️ Description

Adds the net zero balance transaction as discussed in this PR to the spec.

✅ Checklist

  • All: Ran fast tox checks to avoid unnecessary CI fails, see also Code Standards and Enabling Pre-commit Checks:
    uvx --with=tox-uv tox -e lint,typecheck,spellcheck,markdownlint
  • All: PR title adheres to the repo standard - it will be used as the squash commit message and should start type(scope):.
  • All: Set appropriate labels for the changes (only maintainers can apply labels).

@fselmo
Copy link
Collaborator

fselmo commented Oct 8, 2025

Hey @raxhvl I added a changelog entry and I changed the test up a bit. I'd like to record net-zero transfers even when the starting balance is non-zero. Please take a look at the change here and let me know if you are good with it or let me know your thoughts. We also record the balance of the contract along the way so this can be captured as a sanity check.

I think this is good to go from my end but will wait for your feedback here before we merge.

@raxhvl
Copy link
Member Author

raxhvl commented Oct 9, 2025

This looks much better, thanks! One concern for the 0->0 net transfer can we still include the SELFDESTRUCT operation? It likely touches a different codepath, and was specifically called out in the draft PR to specs.

@fselmo
Copy link
Collaborator

fselmo commented Oct 9, 2025

for the 0->0 net transfer can we still include the SELFDESTRUCT operation?

We cover this in the self destruct test self_destruct_in_same_tx=False and pre_funded=False, parametrized case no? Or is this different?

@fselmo
Copy link
Collaborator

fselmo commented Oct 9, 2025

We cover this in the self destruct test self_destruct_in_same_tx=False and pre_funded=False, parametrized case no? Or is this different?

Ah no it's quite different. The self destruct has no balance change. Yeah, let's add this as a self destruct test variation of the 0 -> 0 case. Can you add this here?

@raxhvl
Copy link
Member Author

raxhvl commented Oct 9, 2025

I have added the SEFLDESTRUCT case as a parameter and updated the test description.

Copy link
Collaborator

@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! Thanks!

@fselmo fselmo merged commit 61d5423 into main Oct 9, 2025
16 checks passed
@fselmo fselmo deleted the feat/eip-7928/net-zero-balance branch October 9, 2025 13:55
kclowes pushed a commit to kclowes/execution-spec-tests that referenced this pull request Oct 20, 2025
* ✨ feat(tests):  test_bal_net_zero_balance_transfer

* refactor: net-zero balance transfer tests w/ differing starting balances

* chore: add changelog entry for ethereum#2280

* ✨ feat(tests):  test_bal_net_zero_balance_transfer

---------

Co-authored-by: raxhvl <raxhvl@users.noreply.github.com>
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.

3 participants