feat: Implement Forest.EthTraceCall#6412
Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
WalkthroughThis PR implements the Changes
Sequence DiagramsequenceDiagram
participant Client
participant RPC as RPC Handler<br/>(trace_call)
participant StateManager
participant VM
participant Store as Blockstore
Client->>RPC: call trace_call(message, traceTypes, blockTag)
RPC->>StateManager: Get state for blockTag
StateManager->>Store: Load pre-execution state
Store-->>StateManager: pre_state
RPC->>VM: Invoke transaction with gas
VM->>VM: Execute message
VM-->>RPC: execution result, gas usage
RPC->>StateManager: Get post-execution state
StateManager->>Store: Load post-execution state
Store-->>StateManager: post_state
alt if StateDiff requested
RPC->>RPC: build_state_diff(pre_state, post_state, touched_addresses)
RPC->>Store: Extract EVM storage entries
Store-->>RPC: storage map
RPC->>RPC: Compute Delta for each slot
RPC->>RPC: Compare balance, nonce, code
end
RPC->>RPC: Format traces and state diffs
RPC-->>Client: EthTraceResults (traces + optional stateDiff)
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Tip Issue Planner is now in beta. Read the docs and try it out! Share your feedback on Discord. Comment |
Forest.EthTraceCallForest.EthTraceCall [Skip CI]
701d095 to
a69d125
Compare
a69d125 to
47b7aa3
Compare
|
As discussed, let's have a short guide in docs outlining its usage. This is important in light of various formats used across the Ethereum ecosystem for the output of this method. |
ee300c5 to
49d9a94
Compare
7474ad9 to
342b02f
Compare
Summary of changes
Changes introduced in this pull request:
Forest.EthTraceCall#6195Reference issue to close (if applicable)
Closes #6185
Other information and links
Change checklist
Summary by CodeRabbit
New Features
Documentation
Tests