Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

L1, LEVM: FIlter non-updated account from cache #1316

Open
ilitteri opened this issue Nov 27, 2024 · 0 comments
Open

L1, LEVM: FIlter non-updated account from cache #1316

ilitteri opened this issue Nov 27, 2024 · 0 comments
Assignees
Labels
L1 levm Lambda EVM implementation

Comments

@ilitteri
Copy link
Contributor

An account could have been updated twice, but there's no diff between the previous and the current state is the same.

@ilitteri ilitteri added the levm Lambda EVM implementation label Nov 27, 2024
@ilitteri ilitteri self-assigned this Nov 27, 2024
@ilitteri ilitteri changed the title LEVM: FIlter non-updated account from cache L1, LEVM: FIlter non-updated account from cache Nov 27, 2024
@ilitteri ilitteri added the L1 label Nov 27, 2024
github-merge-queue bot pushed a commit that referenced this issue Nov 28, 2024
**Motivation**

<!-- Why does this pull request exist? What are its goals? -->

**Description**

<!-- A clear and concise general description of the changes this PR
introduces -->

- A set `touched_accounts` is introduced to track read accounts.
- Cache is no longer used as a tracker of read accounts. It is now only
used to track updated accounts. All the account update logic is
encapsulated in individual functions.
- Cache struct is removed and a `cache` module is introduced with the
cache's behavior.
- Gas cost functions where the access cost takes place were refactored.

**Leftovers**

- #1316

**EF Test Report**

8 more tests pass without any further changes

```sh
✓ Ethereum Foundation Tests: 714 passed 3387 failed 4101 total run - 12:08
✓ Summary: 714/4101

Cancun: 627/3578
Shanghai: 33/221
Homestead: 0/17
Istanbul: 0/34
London: 17/39
Byzantium: 0/33
Berlin: 17/35
Constantinople: 0/66
Merge: 20/62
Frontier: 0/16
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
L1 levm Lambda EVM implementation
Projects
Status: No status
Development

No branches or pull requests

1 participant