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

Merged
merged 23 commits into from
Jul 10, 2025

nit: resolve PR comments

de03967
Select commit
Loading
Failed to load commit list.
Merged

Add debug tracers needed for modularized workflow #11477

nit: resolve PR comments
de03967
Select commit
Loading
Failed to load commit list.
Codacy Production / Codacy Static Code Analysis required action Jul 3, 2025 in 0s

101 new issues (0 max.) of at least minor severity.

Codacy Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 15
- Added 101
           

Complexity increasing per file
==============================
- web3/src/main/java/org/hiero/mirror/web3/evm/contracts/execution/traceability/MirrorOperationTracer.java  2
- web3/src/test/java/org/hiero/mirror/web3/evm/contracts/execution/traceability/MirrorOperationActionTracerTest.java  1
- web3/src/main/java/org/hiero/mirror/web3/evm/contracts/execution/traceability/MirrorOperationActionTracer.java  9
- web3/src/test/java/org/hiero/mirror/web3/evm/contracts/execution/traceability/OpcodeActionTracerTest.java  7
- web3/src/main/java/org/hiero/mirror/web3/evm/contracts/execution/traceability/OpcodeActionTracer.java  7
- web3/src/main/java/org/hiero/mirror/web3/evm/contracts/execution/traceability/TracerUtils.java  5
         

Clones added
============
- web3/src/test/java/org/hiero/mirror/web3/evm/contracts/execution/traceability/MirrorOperationTracerTest.java  11
- web3/src/main/java/org/hiero/mirror/web3/evm/contracts/execution/traceability/OpcodeTracer.java  4
- web3/src/test/java/org/hiero/mirror/web3/evm/contracts/execution/traceability/OpcodeTracerTest.java  38
- web3/src/test/java/org/hiero/mirror/web3/evm/contracts/execution/traceability/MirrorOperationActionTracerTest.java  9
- web3/src/main/java/org/hiero/mirror/web3/evm/contracts/execution/traceability/MirrorOperationActionTracer.java  1
- web3/src/test/java/org/hiero/mirror/web3/evm/contracts/execution/traceability/OpcodeActionTracerTest.java  30
- web3/src/main/java/org/hiero/mirror/web3/evm/contracts/execution/traceability/OpcodeActionTracer.java  5
         

See the complete overview on Codacy

Annotations

Check warning on line 3 in web3/src/main/java/com/hedera/node/app/service/contract/impl/exec/processors/CustomMessageCallProcessor.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

web3/src/main/java/com/hedera/node/app/service/contract/impl/exec/processors/CustomMessageCallProcessor.java#L3

A high number of imports can indicate a high degree of coupling within an object.

Check notice on line 3 in web3/src/main/java/com/hedera/node/app/service/contract/impl/exec/processors/CustomMessageCallProcessor.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

web3/src/main/java/com/hedera/node/app/service/contract/impl/exec/processors/CustomMessageCallProcessor.java#L3

Too many static imports may lead to messy code

Check warning on line 76 in web3/src/main/java/com/hedera/node/app/service/contract/impl/exec/processors/CustomMessageCallProcessor.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

web3/src/main/java/com/hedera/node/app/service/contract/impl/exec/processors/CustomMessageCallProcessor.java#L76

This class has too many methods, consider refactoring it.

Check notice on line 96 in web3/src/main/java/com/hedera/node/app/service/contract/impl/exec/processors/CustomMessageCallProcessor.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

web3/src/main/java/com/hedera/node/app/service/contract/impl/exec/processors/CustomMessageCallProcessor.java#L96

Method ForLazyCreation::CustomMessageCallProcessor has 6 parameters (limit is 4)

Check notice on line 129 in web3/src/main/java/com/hedera/node/app/service/contract/impl/exec/processors/CustomMessageCallProcessor.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

web3/src/main/java/com/hedera/node/app/service/contract/impl/exec/processors/CustomMessageCallProcessor.java#L129

Method ForLazyCreation::start has 44 lines of code (limit is 30)

Check failure on line 129 in web3/src/main/java/com/hedera/node/app/service/contract/impl/exec/processors/CustomMessageCallProcessor.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

web3/src/main/java/com/hedera/node/app/service/contract/impl/exec/processors/CustomMessageCallProcessor.java#L129

Method ForLazyCreation::start has a cyclomatic complexity of 14 (limit is 12)

Check warning on line 129 in web3/src/main/java/com/hedera/node/app/service/contract/impl/exec/processors/CustomMessageCallProcessor.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

web3/src/main/java/com/hedera/node/app/service/contract/impl/exec/processors/CustomMessageCallProcessor.java#L129

The method 'start(MessageFrame, OperationTracer)' has a cyclomatic complexity of 14.

Check warning on line 129 in web3/src/main/java/com/hedera/node/app/service/contract/impl/exec/processors/CustomMessageCallProcessor.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

web3/src/main/java/com/hedera/node/app/service/contract/impl/exec/processors/CustomMessageCallProcessor.java#L129

The method 'start(MessageFrame, OperationTracer)' has an NPath complexity of 1080, current threshold is 200

Check warning on line 141 in web3/src/main/java/com/hedera/node/app/service/contract/impl/exec/processors/CustomMessageCallProcessor.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

web3/src/main/java/com/hedera/node/app/service/contract/impl/exec/processors/CustomMessageCallProcessor.java#L141

Deeply nested if..then statements are hard to read

Check warning on line 272 in web3/src/main/java/org/hiero/mirror/web3/evm/config/EvmConfiguration.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

web3/src/main/java/org/hiero/mirror/web3/evm/config/EvmConfiguration.java#L272

If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation

Check notice on line 34 in web3/src/main/java/org/hiero/mirror/web3/evm/contracts/execution/traceability/MirrorOperationActionTracer.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

web3/src/main/java/org/hiero/mirror/web3/evm/contracts/execution/traceability/MirrorOperationActionTracer.java#L34

Method MirrorOperationActionTracer::tracePostExecution has 34 lines of code (limit is 30)

Check notice on line 34 in web3/src/main/java/org/hiero/mirror/web3/evm/contracts/execution/traceability/MirrorOperationActionTracer.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

web3/src/main/java/org/hiero/mirror/web3/evm/contracts/execution/traceability/MirrorOperationActionTracer.java#L34

Method MirrorOperationActionTracer::tracePostExecution has a cyclomatic complexity of 6 (limit is 5)

Check warning on line 48 in web3/src/test/java/org/hiero/mirror/web3/evm/contracts/execution/MirrorEvmMessageCallProcessorTest.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

web3/src/test/java/org/hiero/mirror/web3/evm/contracts/execution/MirrorEvmMessageCallProcessorTest.java#L48

Avoid unused private fields such as 'contextMockedStatic'.

Check notice on line 32 in web3/src/test/java/org/hiero/mirror/web3/evm/contracts/execution/traceability/MirrorOperationActionTracerTest.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

web3/src/test/java/org/hiero/mirror/web3/evm/contracts/execution/traceability/MirrorOperationActionTracerTest.java#L32

The constant name 'contract' doesn't match '[A-Z][A-Z_0-9]*'

Check notice on line 33 in web3/src/test/java/org/hiero/mirror/web3/evm/contracts/execution/traceability/MirrorOperationActionTracerTest.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

web3/src/test/java/org/hiero/mirror/web3/evm/contracts/execution/traceability/MirrorOperationActionTracerTest.java#L33

The constant name 'recipient' doesn't match '[A-Z][A-Z_0-9]*'

Check notice on line 36 in web3/src/test/java/org/hiero/mirror/web3/evm/contracts/execution/traceability/MirrorOperationActionTracerTest.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

web3/src/test/java/org/hiero/mirror/web3/evm/contracts/execution/traceability/MirrorOperationActionTracerTest.java#L36

The constant name 'input' doesn't match '[A-Z][A-Z_0-9]*'

Check notice on line 37 in web3/src/test/java/org/hiero/mirror/web3/evm/contracts/execution/traceability/MirrorOperationActionTracerTest.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

web3/src/test/java/org/hiero/mirror/web3/evm/contracts/execution/traceability/MirrorOperationActionTracerTest.java#L37

The constant name 'operation' doesn't match '[A-Z][A-Z_0-9]*'

Check warning on line 103 in web3/src/test/java/org/hiero/mirror/web3/evm/contracts/execution/traceability/MirrorOperationActionTracerTest.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

web3/src/test/java/org/hiero/mirror/web3/evm/contracts/execution/traceability/MirrorOperationActionTracerTest.java#L103

The String literal "type=MESSAGE_CALL" appears 4 times in this file; the first occurrence is on line 102

Check warning on line 106 in web3/src/test/java/org/hiero/mirror/web3/evm/contracts/execution/traceability/MirrorOperationActionTracerTest.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

web3/src/test/java/org/hiero/mirror/web3/evm/contracts/execution/traceability/MirrorOperationActionTracerTest.java#L106

The String literal "input=0x696e70757444617461" appears 4 times in this file; the first occurrence is on line 105

Check warning on line 108 in web3/src/test/java/org/hiero/mirror/web3/evm/contracts/execution/traceability/MirrorOperationActionTracerTest.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

web3/src/test/java/org/hiero/mirror/web3/evm/contracts/execution/traceability/MirrorOperationActionTracerTest.java#L108

The String literal "output=0x6f757470757444617461" appears 4 times in this file; the first occurrence is on line 107

Check warning on line 109 in web3/src/test/java/org/hiero/mirror/web3/evm/contracts/execution/traceability/MirrorOperationActionTracerTest.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

web3/src/test/java/org/hiero/mirror/web3/evm/contracts/execution/traceability/MirrorOperationActionTracerTest.java#L109

The String literal "remainingGas=1000" appears 4 times in this file; the first occurrence is on line 108

Check warning on line 110 in web3/src/test/java/org/hiero/mirror/web3/evm/contracts/execution/traceability/MirrorOperationActionTracerTest.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

web3/src/test/java/org/hiero/mirror/web3/evm/contracts/execution/traceability/MirrorOperationActionTracerTest.java#L110

The String literal "return=0x72657475726e44617461" appears 4 times in this file; the first occurrence is on line 109

Check warning on line 111 in web3/src/test/java/org/hiero/mirror/web3/evm/contracts/execution/traceability/MirrorOperationActionTracerTest.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

web3/src/test/java/org/hiero/mirror/web3/evm/contracts/execution/traceability/MirrorOperationActionTracerTest.java#L111

The String literal "revertReason=" appears 4 times in this file; the first occurrence is on line 110

Check notice on line 164 in web3/src/test/java/org/hiero/mirror/web3/evm/contracts/execution/traceability/MirrorOperationActionTracerTest.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

web3/src/test/java/org/hiero/mirror/web3/evm/contracts/execution/traceability/MirrorOperationActionTracerTest.java#L164

Method OutputCaptureExtension::tracePostExecution has 48 lines of code (limit is 30)

Check notice on line 632 in web3/src/test/java/org/hiero/mirror/web3/evm/contracts/execution/traceability/OpcodeActionTracerTest.java

See this annotation in the file changed.

@codacy-production codacy-production / Codacy Static Code Analysis

web3/src/test/java/org/hiero/mirror/web3/evm/contracts/execution/traceability/OpcodeActionTracerTest.java#L632

Array initialization can be written shorter