Skip to content

Conversation

@JereSalo
Copy link
Contributor

@JereSalo JereSalo commented Oct 8, 2025

Motivation

On EIP-7610 it's mentioned that there are a few contracts in mainnet that have storage, but zero length code and no balance. A collision with those is highly unlikely but still possible, so that's why this behavior may be necessary. Also, many tests have been done for this kind of behavior so with this fix we'll pass them.

Description

  • Change get_account_info to get_account_state
  • Use variable storage_collision for cases in which this may impede creation of an account.
  • Uncomment related tests.

@github-actions github-actions bot added the levm Lambda EVM implementation label Oct 8, 2025
@github-actions
Copy link

github-actions bot commented Oct 8, 2025

Lines of code report

Total lines added: 8
Total lines removed: 10
Total lines changed: 18

Detailed view
+-------------------------------------------------------+-------+------+
| File                                                  | Lines | Diff |
+-------------------------------------------------------+-------+------+
| ethrex/crates/common/types/block_execution_witness.rs | 419   | -4   |
+-------------------------------------------------------+-------+------+
| ethrex/crates/vm/levm/src/account.rs                  | 76    | +6   |
+-------------------------------------------------------+-------+------+
| ethrex/crates/vm/levm/src/call_frame.rs               | 355   | +1   |
+-------------------------------------------------------+-------+------+
| ethrex/crates/vm/levm/src/utils.rs                    | 424   | +1   |
+-------------------------------------------------------+-------+------+
| ethrex/tooling/ef_tests/state/parser.rs               | 248   | -6   |
+-------------------------------------------------------+-------+------+

@JereSalo JereSalo changed the title test(levm): handle storage collisions when creating contracts fix(levm): handle storage collisions when creating contracts Oct 9, 2025
@JereSalo JereSalo marked this pull request as ready for review October 13, 2025 14:05
@JereSalo JereSalo requested a review from a team as a code owner October 13, 2025 14:05
Copy link
Collaborator

@mpaulucci mpaulucci left a comment

Choose a reason for hiding this comment

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

nice! 🚀

@github-project-automation github-project-automation bot moved this to In Review in ethrex_l1 Oct 15, 2025
Base automatically changed from skipped_tests_reason to main October 15, 2025 16:32
@JereSalo JereSalo added this pull request to the merge queue Oct 15, 2025
Merged via the queue into main with commit 6fedd57 Oct 15, 2025
48 checks passed
@JereSalo JereSalo deleted the levm/get_storage_root branch October 15, 2025 18:44
@github-project-automation github-project-automation bot moved this from In Review to Done in ethrex_l1 Oct 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

levm Lambda EVM implementation

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants