Skip to content

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
  5. Fix DB issue where OpcodeTracer is used with regular TransactionID format for a transaction, having nested transactions

Related issue(s):

Fixes #11424
Fixes #11506

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 77b3d6c1 71.48%
Coverage variation details
Coverable lines Covered lines Coverage
Common ancestor commit (77b3d6c) Report Missing Report Missing Report Missing
Head commit (89e3b14) 59608 36327 60.94%

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) 277 198 71.48%

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]>
@steven-sheehy steven-sheehy added this to the 0.134.0 milestone Jul 7, 2025
@IvanKavaldzhiev IvanKavaldzhiev requested review from a team and xin-hedera July 8, 2025 14:08
filev94
filev94 previously approved these changes Jul 9, 2025
@steven-sheehy
Copy link
Contributor

Need to add copies file to

@IvanKavaldzhiev IvanKavaldzhiev requested a review from a team as a code owner July 10, 2025 10:34
Signed-off-by: Ivan Kavaldzhiev <[email protected]>
Copy link
Contributor

@steven-sheehy steven-sheehy left a comment

Choose a reason for hiding this comment

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

LGTM

@steven-sheehy steven-sheehy merged commit 7bf0517 into main Jul 10, 2025
31 of 32 checks passed
@steven-sheehy steven-sheehy deleted the 11424-add-tracers-for-modularized-workflow branch July 10, 2025 15:10
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.

Opcodes fails for transaction IDs with multiple transactions MirrorOperationTracer doesn't work with modularized
5 participants