Skip to content

fix(spec-specs): Move account closure log emission before priority fee charges#2059

Merged
fselmo merged 6 commits into
ethereum:eips/amsterdam/eip-7708from
Carsons-Eels:fix-7708-closure-log-emit
Jan 23, 2026
Merged

fix(spec-specs): Move account closure log emission before priority fee charges#2059
fselmo merged 6 commits into
ethereum:eips/amsterdam/eip-7708from
Carsons-Eels:fix-7708-closure-log-emit

Conversation

@Carsons-Eels
Copy link
Copy Markdown
Contributor

@Carsons-Eels Carsons-Eels commented Jan 22, 2026

🗒️ Description

Current branch is out of spec. I noticed after I had already merged to our staging branch that the account closure logs are supposed to be emitted "before charging the EIP-1559 priority fee" according to the language of the EIP. Currently this happens after.

🔗 Related Issues or PRs

N/A.

✅ Checklist

  • All: Ran fast tox checks to avoid unnecessary CI fails, see also Code Standards and Enabling Pre-commit Checks:
    uvx tox -e static
  • All: PR title adheres to the repo standard - it will be used as the squash commit message and should start type(scope):.
  • All: Considered updating the online docs in the ./docs/ directory.
  • All: Set appropriate labels for the changes (only maintainers can apply labels).

Cute Animal Picture

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

Rats” by Carsten ten Brink, CC BY-NC-ND 2.0

@Carsons-Eels Carsons-Eels added this to the bal devnet-2 milestone Jan 22, 2026
@Carsons-Eels Carsons-Eels added A-spec-specs Area: Specification—The Ethereum specification itself (eg. `src/ethereum/*`) C-bug Category: this is a bug, deviation, or other problem E-easy Experience: easy, good for newcomers P-urgent S-needs-attention Status: needs attention labels Jan 22, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented Jan 22, 2026

Codecov Report

❌ Patch coverage is 75.00000% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 86.15%. Comparing base (bf16746) to head (8ea2cef).
⚠️ Report is 19 commits behind head on eips/amsterdam/eip-7708.

Files with missing lines Patch % Lines
src/ethereum/forks/amsterdam/fork.py 71.42% 1 Missing and 1 partial ⚠️
Additional details and impacted files
@@                     Coverage Diff                     @@
##           eips/amsterdam/eip-7708    #2059      +/-   ##
===========================================================
+ Coverage                    86.14%   86.15%   +0.01%     
===========================================================
  Files                          599      599              
  Lines                        39491    39507      +16     
  Branches                      3782     3785       +3     
===========================================================
+ Hits                         34021    34039      +18     
+ Misses                        4848     4847       -1     
+ Partials                       622      621       -1     
Flag Coverage Δ
unittests 86.15% <75.00%> (+0.01%) ⬆️

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.

Copy link
Copy Markdown
Contributor

@spencer-tb spencer-tb left a comment

Choose a reason for hiding this comment

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

Changes make sense to me!

Comment thread packages/testing/src/execution_testing/client_clis/tests/test_execution_specs.py Outdated
@spencer-tb
Copy link
Copy Markdown
Contributor

The CI fails are from this change as far as I can tell! So fine in my opinion. We'd need to regenerate a new release, update the BAL release in CI, and re-run to get these to pass so chicken & egg problem.

@spencer-tb
Copy link
Copy Markdown
Contributor

spencer-tb commented Jan 22, 2026

I tried looking into adding a test to verify finalization logs are emitted before the priority fee payment, but I don't think this is testable:

  • Finalization logs only apply to contracts in accounts_to_delete
  • Per EIP-6780, only contracts created in the same tx are added to accounts_to_delete
  • For priority fee timing to matter, the selfdestructed contract would need to be the coinbase
  • But the coinbase is set in the block header before the tx runs, so it can't be a contract created in
    the same tx

@marioevz

This comment was marked as resolved.

@fselmo

This comment was marked as resolved.

@Carsons-Eels

This comment was marked as resolved.

@Carsons-Eels Carsons-Eels marked this pull request as ready for review January 22, 2026 17:35
@Carsons-Eels Carsons-Eels force-pushed the fix-7708-closure-log-emit branch from 04ec936 to 1fbbea2 Compare January 22, 2026 20:39
Comment thread src/ethereum/forks/amsterdam/vm/instructions/system.py Outdated
Comment thread src/ethereum/forks/amsterdam/fork.py Outdated
@fselmo fselmo merged commit 8af6e58 into ethereum:eips/amsterdam/eip-7708 Jan 23, 2026
17 of 20 checks passed
marioevz added a commit that referenced this pull request Jan 23, 2026
…e charges (#2059)

* fix(spec-specs): Move account closure log emission before priority fee charges

* fix(spec-specs): formatting and spelling tweaks

* fix(spec-specs): remove duplicate WriteInStaticContext check

* refactor(spec-specs): align memory expansion with other opcodes

* fix(testing/test): Fix unit test expectation

* refactor(spec-specs): move post-mining coinbase balance calculation

---------

Co-authored-by: Mario Vega <marioevz@gmail.com>
@Carsons-Eels Carsons-Eels deleted the fix-7708-closure-log-emit branch January 23, 2026 04:24
github-actions Bot pushed a commit that referenced this pull request Jan 23, 2026
…e charges (#2059)

* fix(spec-specs): Move account closure log emission before priority fee charges

* fix(spec-specs): formatting and spelling tweaks

* fix(spec-specs): remove duplicate WriteInStaticContext check

* refactor(spec-specs): align memory expansion with other opcodes

* fix(testing/test): Fix unit test expectation

* refactor(spec-specs): move post-mining coinbase balance calculation

---------

Co-authored-by: Mario Vega <marioevz@gmail.com>
github-actions Bot pushed a commit that referenced this pull request Jan 26, 2026
…e charges (#2059)

* fix(spec-specs): Move account closure log emission before priority fee charges

* fix(spec-specs): formatting and spelling tweaks

* fix(spec-specs): remove duplicate WriteInStaticContext check

* refactor(spec-specs): align memory expansion with other opcodes

* fix(testing/test): Fix unit test expectation

* refactor(spec-specs): move post-mining coinbase balance calculation

---------

Co-authored-by: Mario Vega <marioevz@gmail.com>
marioevz added a commit that referenced this pull request Jan 29, 2026
…e charges (#2059)

* fix(spec-specs): Move account closure log emission before priority fee charges

* fix(spec-specs): formatting and spelling tweaks

* fix(spec-specs): remove duplicate WriteInStaticContext check

* refactor(spec-specs): align memory expansion with other opcodes

* fix(testing/test): Fix unit test expectation

* refactor(spec-specs): move post-mining coinbase balance calculation

---------

Co-authored-by: Mario Vega <marioevz@gmail.com>
fselmo pushed a commit that referenced this pull request Feb 3, 2026
…e charges (#2059)

* fix(spec-specs): Move account closure log emission before priority fee charges

* fix(spec-specs): formatting and spelling tweaks

* fix(spec-specs): remove duplicate WriteInStaticContext check

* refactor(spec-specs): align memory expansion with other opcodes

* fix(testing/test): Fix unit test expectation

* refactor(spec-specs): move post-mining coinbase balance calculation

---------

Co-authored-by: Mario Vega <marioevz@gmail.com>
dapplion pushed a commit to gnosischain/execution-specs that referenced this pull request Feb 4, 2026
…_excess_blob_gas_fork_transition.py` (ethereum#2059)

* fix(test): Change excess_blob_gas to header_verify to catch the issue

* fix(tests): Fix tests/cancun/eip4844_blobs/test_excess_blob_gas_fork_transition.py to guarantee base fee in blocks
spencer-tb pushed a commit that referenced this pull request Feb 11, 2026
…e charges (#2059)

* fix(spec-specs): Move account closure log emission before priority fee charges

* fix(spec-specs): formatting and spelling tweaks

* fix(spec-specs): remove duplicate WriteInStaticContext check

* refactor(spec-specs): align memory expansion with other opcodes

* fix(testing/test): Fix unit test expectation

* refactor(spec-specs): move post-mining coinbase balance calculation

---------

Co-authored-by: Mario Vega <marioevz@gmail.com>
fselmo pushed a commit to fselmo/execution-specs that referenced this pull request Feb 12, 2026
…e charges (ethereum#2059)

* fix(spec-specs): Move account closure log emission before priority fee charges

* fix(spec-specs): formatting and spelling tweaks

* fix(spec-specs): remove duplicate WriteInStaticContext check

* refactor(spec-specs): align memory expansion with other opcodes

* fix(testing/test): Fix unit test expectation

* refactor(spec-specs): move post-mining coinbase balance calculation

---------

Co-authored-by: Mario Vega <marioevz@gmail.com>
fselmo pushed a commit that referenced this pull request Feb 12, 2026
…e charges (#2059)

* fix(spec-specs): Move account closure log emission before priority fee charges

* fix(spec-specs): formatting and spelling tweaks

* fix(spec-specs): remove duplicate WriteInStaticContext check

* refactor(spec-specs): align memory expansion with other opcodes

* fix(testing/test): Fix unit test expectation

* refactor(spec-specs): move post-mining coinbase balance calculation

---------

Co-authored-by: Mario Vega <marioevz@gmail.com>
fselmo pushed a commit to fselmo/execution-specs that referenced this pull request Feb 13, 2026
…e charges (ethereum#2059)

* fix(spec-specs): Move account closure log emission before priority fee charges

* fix(spec-specs): formatting and spelling tweaks

* fix(spec-specs): remove duplicate WriteInStaticContext check

* refactor(spec-specs): align memory expansion with other opcodes

* fix(testing/test): Fix unit test expectation

* refactor(spec-specs): move post-mining coinbase balance calculation

---------

Co-authored-by: Mario Vega <marioevz@gmail.com>
fselmo pushed a commit that referenced this pull request Feb 13, 2026
…e charges (#2059)

* fix(spec-specs): Move account closure log emission before priority fee charges

* fix(spec-specs): formatting and spelling tweaks

* fix(spec-specs): remove duplicate WriteInStaticContext check

* refactor(spec-specs): align memory expansion with other opcodes

* fix(testing/test): Fix unit test expectation

* refactor(spec-specs): move post-mining coinbase balance calculation

---------

Co-authored-by: Mario Vega <marioevz@gmail.com>
fselmo pushed a commit that referenced this pull request Feb 13, 2026
…e charges (#2059)

* fix(spec-specs): Move account closure log emission before priority fee charges

* fix(spec-specs): formatting and spelling tweaks

* fix(spec-specs): remove duplicate WriteInStaticContext check

* refactor(spec-specs): align memory expansion with other opcodes

* fix(testing/test): Fix unit test expectation

* refactor(spec-specs): move post-mining coinbase balance calculation

---------

Co-authored-by: Mario Vega <marioevz@gmail.com>
gurukamath pushed a commit that referenced this pull request Feb 24, 2026
…e charges (#2059)

* fix(spec-specs): Move account closure log emission before priority fee charges

* fix(spec-specs): formatting and spelling tweaks

* fix(spec-specs): remove duplicate WriteInStaticContext check

* refactor(spec-specs): align memory expansion with other opcodes

* fix(testing/test): Fix unit test expectation

* refactor(spec-specs): move post-mining coinbase balance calculation

---------

Co-authored-by: Mario Vega <marioevz@gmail.com>
gurukamath pushed a commit that referenced this pull request Feb 24, 2026
…e charges (#2059)

* fix(spec-specs): Move account closure log emission before priority fee charges

* fix(spec-specs): formatting and spelling tweaks

* fix(spec-specs): remove duplicate WriteInStaticContext check

* refactor(spec-specs): align memory expansion with other opcodes

* fix(testing/test): Fix unit test expectation

* refactor(spec-specs): move post-mining coinbase balance calculation

---------

Co-authored-by: Mario Vega <marioevz@gmail.com>
github-actions Bot pushed a commit that referenced this pull request Feb 27, 2026
…e charges (#2059)

* fix(spec-specs): Move account closure log emission before priority fee charges

* fix(spec-specs): formatting and spelling tweaks

* fix(spec-specs): remove duplicate WriteInStaticContext check

* refactor(spec-specs): align memory expansion with other opcodes

* fix(testing/test): Fix unit test expectation

* refactor(spec-specs): move post-mining coinbase balance calculation

---------

Co-authored-by: Mario Vega <marioevz@gmail.com>
spencer-tb pushed a commit to spencer-tb/execution-specs that referenced this pull request Mar 3, 2026
…e charges (ethereum#2059)

* fix(spec-specs): Move account closure log emission before priority fee charges

* fix(spec-specs): formatting and spelling tweaks

* fix(spec-specs): remove duplicate WriteInStaticContext check

* refactor(spec-specs): align memory expansion with other opcodes

* fix(testing/test): Fix unit test expectation

* refactor(spec-specs): move post-mining coinbase balance calculation

---------

Co-authored-by: Mario Vega <marioevz@gmail.com>
spencer-tb pushed a commit to spencer-tb/execution-specs that referenced this pull request Mar 6, 2026
…e charges (ethereum#2059)

* fix(spec-specs): Move account closure log emission before priority fee charges

* fix(spec-specs): formatting and spelling tweaks

* fix(spec-specs): remove duplicate WriteInStaticContext check

* refactor(spec-specs): align memory expansion with other opcodes

* fix(testing/test): Fix unit test expectation

* refactor(spec-specs): move post-mining coinbase balance calculation

---------

Co-authored-by: Mario Vega <marioevz@gmail.com>
spencer-tb pushed a commit to spencer-tb/execution-specs that referenced this pull request Mar 10, 2026
…e charges (ethereum#2059)

* fix(spec-specs): Move account closure log emission before priority fee charges

* fix(spec-specs): formatting and spelling tweaks

* fix(spec-specs): remove duplicate WriteInStaticContext check

* refactor(spec-specs): align memory expansion with other opcodes

* fix(testing/test): Fix unit test expectation

* refactor(spec-specs): move post-mining coinbase balance calculation

---------

Co-authored-by: Mario Vega <marioevz@gmail.com>
fselmo pushed a commit to fselmo/execution-specs that referenced this pull request Mar 10, 2026
…e charges (ethereum#2059)

* fix(spec-specs): Move account closure log emission before priority fee charges

* fix(spec-specs): formatting and spelling tweaks

* fix(spec-specs): remove duplicate WriteInStaticContext check

* refactor(spec-specs): align memory expansion with other opcodes

* fix(testing/test): Fix unit test expectation

* refactor(spec-specs): move post-mining coinbase balance calculation

---------

Co-authored-by: Mario Vega <marioevz@gmail.com>
fselmo pushed a commit to fselmo/execution-specs that referenced this pull request Mar 13, 2026
…e charges (ethereum#2059)

* fix(spec-specs): Move account closure log emission before priority fee charges

* fix(spec-specs): formatting and spelling tweaks

* fix(spec-specs): remove duplicate WriteInStaticContext check

* refactor(spec-specs): align memory expansion with other opcodes

* fix(testing/test): Fix unit test expectation

* refactor(spec-specs): move post-mining coinbase balance calculation

---------

Co-authored-by: Mario Vega <marioevz@gmail.com>
felix314159 pushed a commit that referenced this pull request Mar 13, 2026
…e charges (#2059)

* fix(spec-specs): Move account closure log emission before priority fee charges

* fix(spec-specs): formatting and spelling tweaks

* fix(spec-specs): remove duplicate WriteInStaticContext check

* refactor(spec-specs): align memory expansion with other opcodes

* fix(testing/test): Fix unit test expectation

* refactor(spec-specs): move post-mining coinbase balance calculation

---------

Co-authored-by: Mario Vega <marioevz@gmail.com>
fselmo pushed a commit to fselmo/execution-specs that referenced this pull request Mar 17, 2026
…e charges (ethereum#2059)

* fix(spec-specs): Move account closure log emission before priority fee charges

* fix(spec-specs): formatting and spelling tweaks

* fix(spec-specs): remove duplicate WriteInStaticContext check

* refactor(spec-specs): align memory expansion with other opcodes

* fix(testing/test): Fix unit test expectation

* refactor(spec-specs): move post-mining coinbase balance calculation

---------

Co-authored-by: Mario Vega <marioevz@gmail.com>
fselmo pushed a commit to fselmo/execution-specs that referenced this pull request Mar 18, 2026
…e charges (ethereum#2059)

* fix(spec-specs): Move account closure log emission before priority fee charges

* fix(spec-specs): formatting and spelling tweaks

* fix(spec-specs): remove duplicate WriteInStaticContext check

* refactor(spec-specs): align memory expansion with other opcodes

* fix(testing/test): Fix unit test expectation

* refactor(spec-specs): move post-mining coinbase balance calculation

---------

Co-authored-by: Mario Vega <marioevz@gmail.com>
marioevz added a commit that referenced this pull request Mar 24, 2026
…e charges (#2059)

* fix(spec-specs): Move account closure log emission before priority fee charges

* fix(spec-specs): formatting and spelling tweaks

* fix(spec-specs): remove duplicate WriteInStaticContext check

* refactor(spec-specs): align memory expansion with other opcodes

* fix(testing/test): Fix unit test expectation

* refactor(spec-specs): move post-mining coinbase balance calculation

---------

Co-authored-by: Mario Vega <marioevz@gmail.com>
marioevz added a commit that referenced this pull request Apr 8, 2026
…e charges (#2059)

* fix(spec-specs): Move account closure log emission before priority fee charges

* fix(spec-specs): formatting and spelling tweaks

* fix(spec-specs): remove duplicate WriteInStaticContext check

* refactor(spec-specs): align memory expansion with other opcodes

* fix(testing/test): Fix unit test expectation

* refactor(spec-specs): move post-mining coinbase balance calculation

---------

Co-authored-by: Mario Vega <marioevz@gmail.com>
github-actions Bot pushed a commit that referenced this pull request Apr 10, 2026
…e charges (#2059)

* fix(spec-specs): Move account closure log emission before priority fee charges

* fix(spec-specs): formatting and spelling tweaks

* fix(spec-specs): remove duplicate WriteInStaticContext check

* refactor(spec-specs): align memory expansion with other opcodes

* fix(testing/test): Fix unit test expectation

* refactor(spec-specs): move post-mining coinbase balance calculation

---------

Co-authored-by: Mario Vega <marioevz@gmail.com>
spencer-tb pushed a commit to spencer-tb/execution-specs that referenced this pull request Apr 20, 2026
…e charges (ethereum#2059)

* fix(spec-specs): Move account closure log emission before priority fee charges

* fix(spec-specs): formatting and spelling tweaks

* fix(spec-specs): remove duplicate WriteInStaticContext check

* refactor(spec-specs): align memory expansion with other opcodes

* fix(testing/test): Fix unit test expectation

* refactor(spec-specs): move post-mining coinbase balance calculation

---------

Co-authored-by: Mario Vega <marioevz@gmail.com>
Carsons-Eels added a commit to Carsons-Eels/execution-specs that referenced this pull request Apr 27, 2026
…e charges (ethereum#2059)

* fix(spec-specs): Move account closure log emission before priority fee charges

* fix(spec-specs): formatting and spelling tweaks

* fix(spec-specs): remove duplicate WriteInStaticContext check

* refactor(spec-specs): align memory expansion with other opcodes

* fix(testing/test): Fix unit test expectation

* refactor(spec-specs): move post-mining coinbase balance calculation

---------

Co-authored-by: Mario Vega <marioevz@gmail.com>
marioevz added a commit that referenced this pull request May 13, 2026
…2844)

* feat(spec-specs): Add transfer log for all `CALL*` and `SELFDESTRUCT`

fix(spec-specs): correct CR issues, fix formatting

fix(spec-specs): inline `execute_code()` to `process_message()`

chore(spec-specs): backport changes

fix(spec-specs): trim out whitespace in topic hash to match tests

feat(spec-specs): add selfdestruct event topic and logging function

feat(spec-specs): selfdestruct to self emits selfdestruct event

feat(spec-specs): define call success constant

feat(spec-specs): emit selfdestruct finalization log for remaining balance

* fix(spec-specs): emit account closure logs in lexicographical order

* feat(test-tests): add eip-7708 eth transfer log tests

test(test-tests): add selfdestruct topic and use empty account

test(test-tests): add nested calls log ordering test

feat(test-tests): add selfdestruct finalization test

fix(test-tests): use spaces in event signature to match spec

* fix(spec-specs): Refactor topic strings to match EIP

* fix(spec-tests): formatting fixes so static checks pass

* fix(spec-specs): Move account closure log emission before priority fee charges (#2059)

* fix(spec-specs): Move account closure log emission before priority fee charges

* fix(spec-specs): formatting and spelling tweaks

* fix(spec-specs): remove duplicate WriteInStaticContext check

* refactor(spec-specs): align memory expansion with other opcodes

* fix(testing/test): Fix unit test expectation

* refactor(spec-specs): move post-mining coinbase balance calculation

---------

Co-authored-by: Mario Vega <marioevz@gmail.com>

* feat(test-specs): add extra eip-7708 test coverage (#2062)

* feat(test-specs): add/refactor tests, add mainnet marked, checklist, coverage check

* feat(test-specs): add fork transition test for selfdestruct logs

* fix: tests

* chore(test-specs): fix fork transition tests

* test(test-specs): add code deposit oog test case

---------

Co-authored-by: carsons-eels <carson@ethereum.org>
Co-authored-by: Mario Vega <marioevz@gmail.com>

* feat(spec,test): EIP-7708 spec updates for self as target (#2086)

* fix(spec,text): Updates to EIP-7708 spec for bal-devnet-2

- fix(spec,test): EIP-7708 emit selfdestruct logs only in same tx
- fix(spec,test): EIP-7708, only emit on transfers to other accounts
- Add more tests that match these edge cases

* feat(test): tests for finalization selfdest + bal transfer in lexicographic order

* fix: changes from comments on PR #2086

* add more variants to test_selfdestruct_same_tx_via_call

* fix: docstring

* refactor: improvements from comments on PR #2086

* Update test to use dynamic addresses

---------

Co-authored-by: Mario Vega <marioevz@gmail.com>

* feat(test): extend EIP-7708 tests from cases in tracker (#1875) (#2106)

- Add CREATE2 support via with_all_create_opcodes marker
- Add tests for SELFDESTRUCT to coinbase - revealed a change needed since
  the last update was made to the EIP that should be included in the
  currect refspec (miner fees paid before finalization LOG2).

* fix(test): Use new ``pre_alloc_mutable`` marker for eip7708 test (#2199)

* fix(test): Update test to account for recent Initcode updates

* 🧹 chore: Remove duplicate test (#2210)

Co-authored-by: raxhvl <raxhvl@users.noreply.github.com>

* ♻️ refactor(tests): Rename EIP 7708 selfdestruct log to burn (#2211)

* ♻️ refactor: Rename selfdestruct log to burn

* 🥢 nit:

* chore(tests): fix stale selfdestruct references and rename to burn

---------

Co-authored-by: raxhvl <raxhvl@users.noreply.github.com>
Co-authored-by: spencer-tb <spencer.tb@ethereum.org>

* fix(specs): Merge issues

* fix(tests): Merge issues

* refactor(test-forks): Add EIP-7708

* refactor(tests): Condition EIP-7708 tests to EIP inclusion

* feat(tests): EIP-7708 - finalization burn log ordering + coinbase fee no-log (#2717)

* feat(tests): EIP-7708 - multi-account finalization burn log ordering

Adds a dedicated test that proves finalization burn logs are emitted
in lexicographical address order when multiple accounts are marked for
deletion in the same transaction.

Parametrized over N in {2, 5}. N accounts are created and
SELFDESTRUCT'd in the same tx, then funded via payer contracts called
in REVERSE sorted address order with distinct nonzero amounts. Each
destroyed account ends with a unique nonzero balance at finalization,
so ordering by address vs. by call order is always distinguishable.

Addresses issue #2691.

* feat(tests): EIP-7708 - coinbase priority fee must not emit transfer log

Adds a dedicated test proving the coinbase priority fee payment does
not produce a Transfer log.

A contract CALLs the coinbase address with nonzero value while the tx
pays a nonzero priority fee to that same coinbase. Only the
CALL-with-value must produce a Transfer log; the priority fee credit
happens outside the EVM as a protocol-level balance change.

An implementation that hooks every balance addition (instead of only
CALL / SELFDESTRUCT / tx-level value transfers) would emit an extra
Transfer log for the fee and fail the exact-log assertion.

Addresses issue #2692.

* feat(tests): add single account multi transfer test

* fix(tests): minor nit

---------

Co-authored-by: marioevz <marioevz@gmail.com>

* fix(tests): rename GAS_CODE_DEPOSIT_PER_BYTE to CODE_DEPOSIT_PER_BYTE

Align EIP-7708 selfdestruct finalization test with the gas constant
rename on forks/amsterdam.

* fix(tests): EIP-7708 + 8037 cross-EIP fixes

* feat(tests): Add EIP-7708 checks to 6780 tests (#2743)

* feat(tests): Add EIP-7708 checks to 6780 tests

* fix: add another call and properly accumulate so that burn logs are validated

* fix(tests): Review fixes

---------

Co-authored-by: carsons-eels <carson@ethereum.org>

* feat(tests): cover EIP-7708 CREATE log rollback on outer revert (#2785)

* feat(tests): cover EIP-7708 CREATE log rollback on outer revert

Mirror `test_inner_call_succeeds_outer_reverts_no_log` for the bal-devnet-5 update that brings CREATE/CREATE2 under EIP-7708. A factory CREATEs a child with value (the deployment succeeds and a `factory -> created` log is emitted in the child frame) and then REVERTs; the receipt must record no logs because the outer revert discards the factory's frame along with every log it produced.

* feat(tests): Review comments

---------

Co-authored-by: marioevz <marioevz@gmail.com>

* fix(specs-spec, tests): CR comment fixes

* Apply suggestion from @marioevz

---------

Co-authored-by: spencer-tb <spencer.tb@ethereum.org>
Co-authored-by: Mario Vega <marioevz@gmail.com>
Co-authored-by: spencer <spencer.taylor-brown@ethereum.org>
Co-authored-by: felipe <fselmo2@gmail.com>
Co-authored-by: raxhvl <raxhvl@users.noreply.github.com>
Co-authored-by: raxhvl <10168946+raxhvl@users.noreply.github.com>
Co-authored-by: danceratopz <danceratopz@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-spec-specs Area: Specification—The Ethereum specification itself (eg. `src/ethereum/*`) C-bug Category: this is a bug, deviation, or other problem E-easy Experience: easy, good for newcomers P-urgent S-needs-attention Status: needs attention

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants