-
Notifications
You must be signed in to change notification settings - Fork 115
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
Adapt storage capturing in OpcodeTracer for modularized execution #10357
Conversation
Signed-off-by: Kristiyan Selveliev <[email protected]>
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #10357 +/- ##
==========================================
Coverage 92.19% 92.19%
- Complexity 8038 8094 +56
==========================================
Files 984 988 +4
Lines 33548 33711 +163
Branches 4236 4264 +28
==========================================
+ Hits 30928 31079 +151
- Misses 1612 1618 +6
- Partials 1008 1014 +6 ☔ View full report in Codecov by Sentry. |
Signed-off-by: Kristiyan Selveliev <[email protected]>
.../src/main/java/com/hedera/mirror/web3/evm/contracts/execution/traceability/OpcodeTracer.java
Outdated
Show resolved
Hide resolved
hedera-mirror-web3/src/main/java/com/hedera/services/utils/EntityIdUtils.java
Outdated
Show resolved
Hide resolved
.../test/java/com/hedera/mirror/web3/evm/contracts/execution/traceability/OpcodeTracerTest.java
Show resolved
Hide resolved
Signed-off-by: Kristiyan Selveliev <[email protected]>
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 but needs spotless.
Signed-off-by: Kristiyan Selveliev <[email protected]>
.../src/main/java/com/hedera/mirror/web3/evm/contracts/execution/traceability/OpcodeTracer.java
Outdated
Show resolved
Hide resolved
.../src/main/java/com/hedera/mirror/web3/evm/contracts/execution/traceability/OpcodeTracer.java
Outdated
Show resolved
Hide resolved
.../src/main/java/com/hedera/mirror/web3/evm/contracts/execution/traceability/OpcodeTracer.java
Outdated
Show resolved
Hide resolved
.../src/main/java/com/hedera/mirror/web3/evm/contracts/execution/traceability/OpcodeTracer.java
Outdated
Show resolved
Hide resolved
.../src/main/java/com/hedera/mirror/web3/evm/contracts/execution/traceability/OpcodeTracer.java
Outdated
Show resolved
Hide resolved
.../src/main/java/com/hedera/mirror/web3/evm/contracts/execution/traceability/OpcodeTracer.java
Outdated
Show resolved
Hide resolved
.../src/main/java/com/hedera/mirror/web3/evm/contracts/execution/traceability/OpcodeTracer.java
Outdated
Show resolved
Hide resolved
hedera-mirror-web3/src/main/java/com/hedera/services/utils/EntityIdUtils.java
Outdated
Show resolved
Hide resolved
Signed-off-by: Kristiyan Selveliev <[email protected]>
.../src/main/java/com/hedera/mirror/web3/evm/contracts/execution/traceability/OpcodeTracer.java
Outdated
Show resolved
Hide resolved
Signed-off-by: Kristiyan Selveliev <[email protected]>
.../src/main/java/com/hedera/mirror/web3/evm/contracts/execution/traceability/OpcodeTracer.java
Outdated
Show resolved
Hide resolved
Signed-off-by: Kristiyan Selveliev <[email protected]>
|
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.
LGTM
Description:
This PR is a copy of #10307. (It was checkout from the pr fixing the states caching but it will be delayed due to needed upstream changes). So opening with main as base branch.
This PR fixes storage capturing in modularized execution.
Storage values are now read from mirror node writable states during execution.
Added a test who actually modifies storage of a contract and can verify execution.
This pr also fixes 4 failing test in
OpcodeServiceTests
. NowOpcodeServiceTest
fixes are completed.Changes:
OpcodeTracer
- reads storage changes from writablestates - STORAGE_KEY for modularizedOpcodeTracerTest
- adds codecov for new methodsOpcodeServiceTest
- adds new test contract which modifies contract storage and verifies storage changesRelated issue(s):
Fixes #10259
Notes for reviewer:
This PR only captures properly storage changes from state after fixes from #10306 but since the mentioned PR might require changes upstream. In order not to slow down this PR it's opened from main. Tests will be passing but storage changes will be empty for now until resolution of the above PR where state will be properly populated.
Checklist