-
Notifications
You must be signed in to change notification settings - Fork 19
[evm-tracing-1] runtime level implementation #1544
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
Conversation
e7d721a to
25340f5
Compare
7949d23 to
13c0618
Compare
ece1b7a to
f50a883
Compare
d6d5db8 to
6054bed
Compare
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.
Pull Request Overview
This PR integrates EVM debug tracing support at the runtime level by adding new modules, runtime APIs, and event propagation for EVM, gasometer, and runtime events. Key changes include updates to feature definitions (adding new tracing modules), the implementation of a new runtime interface for EVM tracing in primitives-evm-tracing-ext, and modifications in humanode-runtime to integrate and expose the evm-debug-api functionalities.
Reviewed Changes
Copilot reviewed 14 out of 15 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| utils/checks/snapshots/features.yaml | Added new feature entries for evm-debug-api, primitives-evm-tracing-events, and primitives-evm-tracing-ext. |
| crates/primitives-evm-tracing-ext/src/lib.rs | Introduced the EvmTracingExt trait with host function wrappers for decoding and emitting EVM events. |
| crates/primitives-evm-tracing-events/* | Added event definitions and conversion functions for EVM events, gasometer events, and runtime events. |
| crates/humanode-runtime/src/lib.rs | Integrated EVM tracing into runtime APIs (trace_transaction, trace_block, trace_call). |
| crates/humanode-runtime/src/evm_tracer.rs | Implemented the EvmTracer that sets up event listener proxies and calls corresponding host functions. |
| Remaining Cargo.toml files | Updated dependencies and feature flags to support the new EVM tracing functionality. |
| crates/evm-debug-api/* | Exposed the runtime API for the EVM debug logic using sp_api. |
Comments suppressed due to low confidence (1)
crates/humanode-runtime/src/lib.rs:1518
- The new EVM tracing integration in the extrinsics loop lacks explicit test coverage. Consider adding unit or integration tests to verify that EVM transactions and non-Ethereum extrinsics are traced correctly.
RuntimeCall::Ethereum(transact { transaction }) => {
e6f4cb9 to
3386207
Compare
975b1d8 to
e096ced
Compare
MOZGIII
left a comment
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.
I'm up-to-date with the changes here; ping me please when the rest of the comments are resolved
777a763 to
4c81348
Compare
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.
Looks good with the exception of the features confusion - if we address that we'd be good to go imo
81ef962 to
222ee96
Compare
222ee96 to
63fe025
Compare
Runtime level implementation
Runtime level implementation
* Add CI check for build with evm-tracing feature * Add evm-tracing feature to humanode-runtime * [evm-tracing-0] add evm-tracing test suite to e2e ts tests (#1574) * Add build for evm-tracing at e2e code job * Skip bash tests for evm-tracing test suite * Add template for evm-tracing test suite * [evm-tracing-0-1] add debug e2e tests logic implementation (#1575) * [evm-tracing-1] runtime level implementation (#1544) Runtime level implementation * [evm-tracing-2] сlient-side implementation (#1565) Client-side implementation * [evm-tracing-3] implement RPC side (#1568) Implement RPC side * [evm-tracing-4] cli part implementation (#1572) * [evm-tracing] Add more e2e tests (#1622)
No description provided.