Conversation
|
There was a problem hiding this comment.
Pull request overview
This PR upgrades REVM from v31 to v33 to enable use of the DebugInspector from revm-inspectors. The changes update REVM-related dependencies in Cargo.toml and adapt the codebase to handle API changes, specifically the renaming of the log inspector method to log_full and the addition of new fields (was_precompile_called and precompile_call_logs) to the CallOutcome struct.
Key changes:
- Updated REVM and related crate versions across the dependency tree
- Renamed
logmethod implementations tolog_fullto match new REVM API - Added required
was_precompile_calledandprecompile_call_logsfields toCallOutcomeinstantiations
Reviewed changes
Copilot reviewed 5 out of 6 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| Cargo.toml | Updated REVM and related dependency versions from v31/v12 to v33/v14 |
| crates/foundry/evm/evm/src/inspectors/stack.rs | Renamed log method to log_full and added new CallOutcome fields |
| crates/foundry/evm/evm/src/inspectors/logs.rs | Renamed log method to log_full and added new CallOutcome fields |
| crates/foundry/cheatcodes/src/inspector.rs | Renamed log method to log_full and added new CallOutcome fields with appropriate boolean values |
| crates/edr_runtime/src/inspector.rs | Added new log method and renamed existing method to log_full |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub. |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #1219 +/- ##
==========================================
+ Coverage 72.85% 73.11% +0.25%
==========================================
Files 438 438
Lines 73764 73781 +17
Branches 73764 73781 +17
==========================================
+ Hits 53744 53945 +201
+ Misses 18039 17848 -191
- Partials 1981 1988 +7 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
@agostbiro are these benchmark numbers comparable to what you saw in your performance profiling of Foundry + REVM v33?
|
I reran the Forge 1.5 (which also has REVM 33) comparison benchmark using the latest commit from this branch and the results look ok to me. I'm adding performance comparisons with Forge 1.5 below. First the baseline with a recent EDR version using REVM 31 and then EDR with REVM 33. Lower is better for EDR. EDR@4a24a54 (REVM 31) vs Forge 1.5.0
EDR@a22188d9d (REVM 33) vs Forge 1.5.0
The raw results are here. |
@agostbiro, thank you for taking a deeper dive and validating the performance! 🙏 |
Upgrades REVM to v33. The Foundry upgrade mimics foundry-rs/foundry#12538
This is a prerequisite for using the
DebugInspectorfromrevm-inspectors.