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

foundry: vm.dumpState skips empty accounts #6986

Merged
merged 2 commits into from
Feb 1, 2024

Conversation

tynes
Copy link
Contributor

@tynes tynes commented Feb 1, 2024

Motivation

vm.dumpState currently includes empty accounts which isn't particularly useful

Solution

Update vm.dumpState to also skip empty accounts. Empty accounts are not particularly useful and would otherwise require a postprocessing step after the state dump to remove.

Adds a unit test showing that it works and updates an old unit test as an empty account is defined by a nonce of 0, no balance and no code. If there is storage, it still counts as an empty account.

Update `vm.dumpState` to also skip empty accounts.
Empty accounts are not particularly useful and would
otherwise require a postprocessing step after the state dump
to remove.

Adds a unit test showing that it works and updates an old unit
test as an empty account is defined by a nonce of 0, no balance
and no code. If there is storage, it still counts as an empty
account.

cargo fmt
Copy link
Member

@mattsse mattsse left a comment

Choose a reason for hiding this comment

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

that's reasonable!

ty

@mattsse mattsse merged commit 631ba73 into foundry-rs:master Feb 1, 2024
19 checks passed
@mattsse mattsse added the A-cheatcodes Area: cheatcodes label Feb 1, 2024
@tynes tynes deleted the feat/dump-state-empty-account branch February 1, 2024 16:58
tynes added a commit to ethereum-optimism/optimism that referenced this pull request Feb 2, 2024
Updates foundry to the latest nightly release.

https://github.com/foundry-rs/foundry/releases/tag/nightly-84d98427e17370ff08ec34f00e3c7e539753a760

It includes foundry-rs/foundry#6986 which will
help to make L2 genesis generation much more simple.

Reminder that we must always do releases of `ci-builder` using a nightly
foundry release that has not yet been pruned from github. When building
from source in `ci-builder`, there are issues at runtime. When
downloading the binary from github, there are no issues.

Will follow up with a release of `ci-builder` and then update the
version of `ci-builder` used in CI.
github-merge-queue bot pushed a commit to ethereum-optimism/optimism that referenced this pull request Feb 2, 2024
Updates foundry to the latest nightly release.

https://github.com/foundry-rs/foundry/releases/tag/nightly-84d98427e17370ff08ec34f00e3c7e539753a760

It includes foundry-rs/foundry#6986 which will
help to make L2 genesis generation much more simple.

Reminder that we must always do releases of `ci-builder` using a nightly
foundry release that has not yet been pruned from github. When building
from source in `ci-builder`, there are issues at runtime. When
downloading the binary from github, there are no issues.

Will follow up with a release of `ci-builder` and then update the
version of `ci-builder` used in CI.
RPate97 pushed a commit to RPate97/foundry that referenced this pull request Feb 3, 2024
* foundry: `vm.dumpState` skips empty accounts

Update `vm.dumpState` to also skip empty accounts.
Empty accounts are not particularly useful and would
otherwise require a postprocessing step after the state dump
to remove.

Adds a unit test showing that it works and updates an old unit
test as an empty account is defined by a nonce of 0, no balance
and no code. If there is storage, it still counts as an empty
account.

cargo fmt

* testdata: cleanup
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-cheatcodes Area: cheatcodes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants