Skip to content

Add debug tracers needed for modularized workflow #11477

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

Open
wants to merge 12 commits into
base: main
Choose a base branch
from

Conversation

IvanKavaldzhiev
Copy link
Contributor

@IvanKavaldzhiev IvanKavaldzhiev commented Jun 26, 2025

Description:
This PR adds missing Tracers needed, so that the web3 module works properly for eth_debugTraceTransaction with modularized workflow.

Key changes:

  1. Added MirrorOperationActionTracer for performing the standard tracing with modularized code
  2. Added OpcodeActionTracer for performing opcode tracing with modularized code
  3. Delete modularized workflow for storage capture in OpcodeTracer (tracer used in mono code), which is now obsolete since we have a separate OpcodeActionTracer for modularized
  4. Delete contractActionIndexOfCurrentFrame from ContractCallContext, since this field is redundant and adds extra complexity to the business logic and tests

Related issue(s):

Fixes #11424

Notes for reviewer:

Checklist

  • Documented (Code comments, README, etc.)
  • Tested (unit, integration, etc.)
  • [ ]

@IvanKavaldzhiev IvanKavaldzhiev self-assigned this Jun 26, 2025
@IvanKavaldzhiev IvanKavaldzhiev added enhancement Type: New feature web3 Area: Web3 API labels Jun 26, 2025
@lfdt-bot
Copy link

lfdt-bot commented Jun 26, 2025

🎉 Snyk checks have passed. No issues have been found so far.

security/snyk check is complete. No issues have been found. (View Details)

Copy link

codacy-production bot commented Jul 2, 2025

Coverage summary from Codacy

See diff coverage on Codacy

Coverage variation Diff coverage
Report missing for b06f49b1 69.89%
Coverage variation details
Coverable lines Covered lines Coverage
Common ancestor commit (b06f49b) Report Missing Report Missing Report Missing
Head commit (de03967) 59538 36254 60.89%

Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: <coverage of head commit> - <coverage of common ancestor commit>

Diff coverage details
Coverable lines Covered lines Diff coverage
Pull request (#11477) 269 188 69.89%

Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: <covered lines added or modified>/<coverable lines added or modified> * 100%

See your quality gate settings    Change summary preferences

Footnotes

  1. Codacy didn't receive coverage data for the commit, or there was an error processing the received data. Check your integration for errors and validate that your coverage setup is correct.

@IvanKavaldzhiev IvanKavaldzhiev marked this pull request as ready for review July 3, 2025 07:40
@IvanKavaldzhiev IvanKavaldzhiev requested a review from a team as a code owner July 3, 2025 07:40
@IvanKavaldzhiev IvanKavaldzhiev requested a review from nirbosl July 3, 2025 07:40
Signed-off-by: Ivan Kavaldzhiev <[email protected]>
@@ -62,6 +64,8 @@ public class TransactionExecutionService {
private final MirrorNodeEvmProperties mirrorNodeEvmProperties;
private final OpcodeTracer opcodeTracer;
private final MirrorOperationTracer mirrorOperationTracer;
private final OpcodeActionTracer opcodeActionTracer;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

opcodeTracer and mirrorOperationTracer above are not used anymore and can be removed from this file.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Type: New feature web3 Area: Web3 API
Projects
None yet
Development

Successfully merging this pull request may close these issues.

MirrorOperationTracer doesn't work with modularized
4 participants