-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
chore: bump revm
to 21.0.0
release
#10183
base: master
Are you sure you want to change the base?
Conversation
…r performance impact or whether it will work with cheatcode macros
if let Some(l1_block_number) = block | ||
.other_fields() | ||
.and_then(|other| other.get("l1BlockNumber").cloned()) | ||
.and_then(|l1_block_number| { | ||
serde_json::from_value::<U256>(l1_block_number).ok() | ||
}) | ||
.and_then(|v| v.as_u64()) | ||
{ | ||
env.block.number = l1_block_number; | ||
env.evm_env.block_env.number = l1_block_number; |
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.
l1_block_number
no longer exists, only in op-revm
. We may need to always use op-revm
considering we also need it for Anvil
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.
After looking into this I think we can integrate it inside of Foundry EVM, I'm wondering what length we should go to for OP compatibility.
revm
to 20.0.0
releaserevm
to 21.0.0
release
Motivation
Opening for visibility / easier collaboration
Restructured commit history so it is easier to revert to known good changes whilst iteratively implementing the complex changes (handler, journal)
Uses #10051 as reference
CI is expected to be failing for quite some time
Solution
Depends on:
Next steps:
foundry-evm-core
crate, preferring internal mapping types rather than direct replacement - similar to Ethers > Alloy migration processEvmContext
/InnerEvmContext
successorinterpreter.shared_memory
successorIssues:
with_evm
copiesl1_block_info
, this field no longer exists yielding the question whether Cheatcodes, like Anvil, expectsOpEvm
get_prank
cheatcode expectsdepth
to be au64
, not ausize
-try_into?
worksPatternccx.ecx.journaled_state.load_account(&mut ccx.ecx.db(), *from)
causescannot borrow
ccx.ecxas mutable more than once at a time second mutable borrow occurs here
PR Checklist