Skip to content

feat(test-tests): add eip-7708 eth transfer log tests and framework support#2

Merged
Carsons-Eels merged 11 commits into
Carsons-Eels:eips/amsterdam/eip-7708from
spencer-tb:eips/amsterdam/eip-7708
Jan 22, 2026
Merged

feat(test-tests): add eip-7708 eth transfer log tests and framework support#2
Carsons-Eels merged 11 commits into
Carsons-Eels:eips/amsterdam/eip-7708from
spencer-tb:eips/amsterdam/eip-7708

Conversation

@spencer-tb

@spencer-tb spencer-tb commented Jan 16, 2026

Copy link
Copy Markdown
Collaborator

Note: This PR is rebased on top of forks/amsterdam, and will be rebased back on top of Carsons-Eels/eips/amsterdam/eip-7708 once it is rebased on top of forks/amsterdam. This is to check the tests fill on BAL.

Specs Changes

Tries to address: ethereum#2023 (comment)
Adds selfdestruct emit log (log2) and the SELFDESTRUCT_TOPIC.

Test Filling

The PR add some initial tests and framework changes to fill, please fill with:

uv run fill --fork=Amsterdam  --clean -k test_eth_transfer_logs -v -n 4

Future Tests

ethereum#1875 (comment)

@marioevz marioevz left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Left some comments, thanks!

Comment thread src/ethereum/forks/amsterdam/vm/instructions/system.py Outdated
Comment thread tests/amsterdam/eip7708_eth_transfer_logs/test_eth_transfer_logs.py
Comment thread tests/amsterdam/eip7708_eth_transfer_logs/test_eth_transfer_logs.py
Comment thread tests/amsterdam/eip7708_eth_transfer_logs/test_eth_transfer_logs.py
Comment thread tests/amsterdam/eip7708_eth_transfer_logs/test_eth_transfer_logs.py Outdated
Comment thread tests/amsterdam/eip7708_eth_transfer_logs/test_eth_transfer_logs.py Outdated

@marioevz marioevz left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

More comments for more test ideas!

Comment thread src/ethereum/forks/amsterdam/vm/interpreter.py Outdated
Comment thread tests/amsterdam/eip7708_eth_transfer_logs/test_eth_transfer_logs.py Outdated
Comment thread tests/amsterdam/eip7708_eth_transfer_logs/test_eth_transfer_logs.py
@spencer-tb

spencer-tb commented Jan 20, 2026

Copy link
Copy Markdown
Collaborator Author

Addressed spec changes and updated according to the EIPs repo changes. Added some more tests. Missing tests are documented here: ethereum#1875 (comment)

Will add them in a follow-up PR!

@Carsons-Eels Carsons-Eels force-pushed the eips/amsterdam/eip-7708 branch 4 times, most recently from 7284896 to bb8d7ab Compare January 21, 2026 04:04
@spencer-tb spencer-tb force-pushed the eips/amsterdam/eip-7708 branch 2 times, most recently from 180ef09 to 0919c7d Compare January 21, 2026 14:24
@Carsons-Eels Carsons-Eels force-pushed the eips/amsterdam/eip-7708 branch from 0919c7d to cee7f5f Compare January 21, 2026 18:56
@Carsons-Eels Carsons-Eels self-requested a review January 21, 2026 18:56
@Carsons-Eels Carsons-Eels self-assigned this Jan 21, 2026
@Carsons-Eels Carsons-Eels force-pushed the eips/amsterdam/eip-7708 branch from 5d9a44d to bf16746 Compare January 22, 2026 01:27
@Carsons-Eels Carsons-Eels force-pushed the eips/amsterdam/eip-7708 branch from cee7f5f to f89c00d Compare January 22, 2026 02:24

@Carsons-Eels Carsons-Eels left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Had to fix one minor thing, other than that looks great. Thank you ❤️

@Carsons-Eels Carsons-Eels merged commit c4bb2f1 into Carsons-Eels:eips/amsterdam/eip-7708 Jan 22, 2026
Carsons-Eels pushed a commit that referenced this pull request Mar 10, 2026
…arison (ethereum#2407)

* feat: split code for easier testing + add unit test

* test(test-execute): add JSONRPCError fallback path test for nonce sync. (#2)

- Cover the try/except branch in sync_worker_key_nonce() where
  get_account with block_number="latest" raises JSONRPCError and
  the function falls back to "pending".
- The existing parametrized tests only exercise the happy path;
  this completes branch coverage for the extracted function.
- Not parametrized because the nonce-sync logic is already proven
  by the existing cases — this test's concern is the recovery path.

---------

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

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants