-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
fix(evm
): revert all revm changes
#5610
Conversation
sharing my preliminary findings, for some reason the upgrade broke some requires
which are caused by warps
not sure why |
@@ -270,7 +265,7 @@ impl MemDb { | |||
accounts.insert(add, acc.info); | |||
|
|||
let acc_storage = storage.entry(add).or_default(); | |||
if acc.status.contains(AccountStatus::Created) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
While this should be OK, it seems that the commit
function might need some tweaking, as it seems it wasn't recording the accounts as it should. We tried matching revm's commit fn but the issues still persisted.
@@ -260,7 +260,7 @@ pub fn collect_created_contracts( | |||
|
|||
for (address, account) in state_changeset { | |||
if !setup_contracts.contains_key(&b160_to_h160(*address)) { | |||
if let (true, Some(code)) = (&account.is_touched(), &account.info.code) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is the only part that really touches the fuzz strategies. It leads me to believe—maybe account recording is not being done correctly in some edge cases?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This "should" be fine, is_touched
have the same functionality, and if it was wrong, bug would probably be a lot more serious and would pop on mainnet sync.
* Revert "fix(`evm`): revert all revm changes (foundry-rs#5610)" This reverts commit a0a31c3. * upgrade revm * fmt
Motivation
For some reason the revm upgrade broke a lot of stuff that shouldn't have been broken considering the migration was mostly transparent, and we've yet to triage the entirety of the issue.
Solution
Revert back to
release/25
as a stable revm version. The current branch with latest revm changes is nowlatest-revm
.