-
Notifications
You must be signed in to change notification settings - Fork 895
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
Extend OperationTracer with new methods #5662
Extend OperationTracer with new methods #5662
Conversation
|
...n-api/src/main/java/org/hyperledger/besu/plugin/services/tracer/ExtendedOperationTracer.java
Fixed
Show fixed
Hide fixed
...n-api/src/main/java/org/hyperledger/besu/plugin/services/tracer/ExtendedOperationTracer.java
Fixed
Show fixed
Hide fixed
...n-api/src/main/java/org/hyperledger/besu/plugin/services/tracer/ExtendedOperationTracer.java
Fixed
Show fixed
Hide fixed
...n-api/src/main/java/org/hyperledger/besu/plugin/services/tracer/ExtendedOperationTracer.java
Fixed
Show fixed
Hide fixed
@@ -175,6 +175,9 @@ public void codeSuccess(final MessageFrame frame, final OperationTracer operatio | |||
contractCode.size(), | |||
frame.getRemainingGas()); | |||
frame.setState(MessageFrame.State.COMPLETED_SUCCESS); | |||
if (operationTracer.isExtendedTracing()) { |
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.
Why only in extended? Why not log this account creation all the time?
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.
It was not logged before, only in the failure cases. So it would change the existing behavior for anybody using the current tracer implementation. I think it makes sense to always log it though. So we might just change it to always log it.
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.
Let me know if there are any testing diffs from this. The only place I see it impacting current test code is the trace rpcs.
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.
All the current tests are passing, so there is no problem in general. Do you think it makes sense to log it all the time? I am not sure why we did not do in the first place. But that might just have been an oversight.
...n-api/src/main/java/org/hyperledger/besu/plugin/services/tracer/ExtendedOperationTracer.java
Outdated
Show resolved
Hide resolved
* @param blockHeader the header of the block which is traced | ||
* @param blockBody the body of the block which is traced | ||
*/ | ||
default void traceEndBlock(final BlockHeader blockHeader, final BlockBody blockBody) {} |
Check notice
Code scanning / CodeQL
Useless parameter
* @param blockHeader the header of the block which is traced | ||
* @param blockBody the body of the block which is traced | ||
*/ | ||
default void traceEndBlock(final BlockHeader blockHeader, final BlockBody blockBody) {} |
Check notice
Code scanning / CodeQL
Useless parameter
* @param blockHeader the header of the block which is traced | ||
* @param blockBody the body of the block which is traced | ||
*/ | ||
default void traceStartBlock(final BlockHeader blockHeader, final BlockBody blockBody) {} |
Check notice
Code scanning / CodeQL
Useless parameter
* @param blockHeader the header of the block which is traced | ||
* @param blockBody the body of the block which is traced | ||
*/ | ||
default void traceStartBlock(final BlockHeader blockHeader, final BlockBody blockBody) {} |
Check notice
Code scanning / CodeQL
Useless parameter
evm/src/main/java/org/hyperledger/besu/evm/tracing/OperationTracer.java
Outdated
Show resolved
Hide resolved
Signed-off-by: Daniel Lehrner <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>
…acer.java Co-authored-by: Sally MacFarlane <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]>
* only update peer with the first and last block Signed-off-by: Stefan <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]>
) * put the download links for 23.4.4 into the CHANGELOG.md * clean up CHANGELOG Signed-off-by: Stefan <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]>
…ledger#5661) We need to replace previous release's latest tag. Might be broken due to a recent change in the docker command implementation Signed-off-by: Simon Dudley <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]>
Unrelated: clarify epoch length in javadoc Signed-off-by: Simon Dudley <[email protected]> Co-authored-by: Gabriel Fukushima <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]>
) Add hooks for a successful contract create, a failed contract create, and an invalid contact create. Users of the library will be able to customize create responses without having to replace core logic. Signed-off-by: Danno Ferrin <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]>
- support legacy V values (larger V value) and type 1+ (v is recId only) - new fields - shared transaction extraction - rejection detection Signed-off-by: Danno Ferrin <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]>
Upgrade bouncy castle to v1.75. This involved a change in maven coordinates for other modules. Signed-off-by: Danno Ferrin <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]>
Signed-off-by: Fabio Di Fabio <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]>
…er#5669) * Modify the min-gas-price option validation * Check for whether ethash is in use, either from genesis or network config, and use that for miner checks * Add genesis configuration isPoa() convenience function --------- Signed-off-by: Matthew Whitehead <[email protected]> Signed-off-by: Matt Whitehead <[email protected]> Co-authored-by: Simon Dudley <[email protected]> Signed-off-by: Simon Dudley <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]>
* Revert "Revert "Update Tuweni to 2.4.1 (hyperledger#5513)" (hyperledger#5585)" This reverts commit 6111e1b. Signed-off-by: Antoine Toulme <[email protected]> * update Tuweni to 2.4.2 Signed-off-by: Antoine Toulme <[email protected]> --------- Signed-off-by: Antoine Toulme <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]>
Signed-off-by: Fabio Di Fabio <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]>
Signed-off-by: Karim TAAM <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]>
0a1c407
to
ccab3fb
Compare
Signed-off-by: Daniel Lehrner <[email protected]>
besu/src/main/java/org/hyperledger/besu/services/TraceServiceImpl.java
Outdated
Show resolved
Hide resolved
@@ -105,8 +108,14 @@ | |||
@JsonProperty("parentGasUsed") final String parentGasUsed, | |||
@JsonProperty("parentGasLimit") final String parentGasLimit, | |||
@JsonProperty("parentTimestamp") final String parentTimestamp, | |||
@JsonProperty("ommers") final List<String> _ommers, |
Check notice
Code scanning / CodeQL
Useless parameter
@@ -105,8 +108,14 @@ | |||
@JsonProperty("parentGasUsed") final String parentGasUsed, | |||
@JsonProperty("parentGasLimit") final String parentGasLimit, | |||
@JsonProperty("parentTimestamp") final String parentTimestamp, | |||
@JsonProperty("ommers") final List<String> _ommers, | |||
@JsonProperty("parentUncleHash") final String _parentUncleHash, |
Check notice
Code scanning / CodeQL
Useless parameter
@JsonProperty("blockHashes") final Map<String, String> blockHashes) { | ||
@JsonProperty("blockHashes") final Map<String, String> blockHashes, | ||
@JsonProperty("currentExcessDataGas") final String currentExcessDataGas, | ||
@JsonProperty("currentDataGasUsed") final String currentDataGasUsed, |
Check notice
Code scanning / CodeQL
Useless parameter
Signed-off-by: Daniel Lehrner <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>
…acer.traceStartTransaction method Signed-off-by: Daniel Lehrner <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>
Signed-off-by: Daniel Lehrner <[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
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.
I'm hesitant to move Transaction into datatypes, but I cannot think of a better alternative that preserves the ability to be concise on method parameters. I am also seeing some advantage of bring the notion of a transaction in a stronger way to the EVM, so there are pluses to be sure.
So with hesitation, LGTM.
* Extend OperationTracer with new methods, create Signed-off-by: Daniel Lehrner <[email protected]> * Rename ExtendedOperationTracer to BlockAwareOperationTracer Signed-off-by: Daniel Lehrner <[email protected]> * fixed plugin api hash Signed-off-by: Daniel Lehrner <[email protected]> * added missing javadoc comments Signed-off-by: Daniel Lehrner <[email protected]> * Update evm/src/main/java/org/hyperledger/besu/evm/tracing/OperationTracer.java Co-authored-by: Sally MacFarlane <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]> * Only update peer with the first and last block (hyperledger#5659) * only update peer with the first and last block Signed-off-by: Stefan <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]> * Put download links into CHANGELOG and do some clean up (hyperledger#5660) * put the download links for 23.4.4 into the CHANGELOG.md * clean up CHANGELOG Signed-off-by: Stefan <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]> * Add --amend to docker manifest create to fix docker latest tag (hyperledger#5661) We need to replace previous release's latest tag. Might be broken due to a recent change in the docker command implementation Signed-off-by: Simon Dudley <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]> * Add Xlayered-tx-pool to the config log printout (hyperledger#5665) Unrelated: clarify epoch length in javadoc Signed-off-by: Simon Dudley <[email protected]> Co-authored-by: Gabriel Fukushima <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]> * Add hooks to AbstractCreateOperation for library users (hyperledger#5656) Add hooks for a successful contract create, a failed contract create, and an invalid contact create. Users of the library will be able to customize create responses without having to replace core logic. Signed-off-by: Danno Ferrin <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]> * Test updates for cancun execution-spec-tests (hyperledger#5670) - support legacy V values (larger V value) and type 1+ (v is recId only) - new fields - shared transaction extraction - rejection detection Signed-off-by: Danno Ferrin <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]> * Upgrade BouncyCastle libraries (hyperledger#5675) Upgrade bouncy castle to v1.75. This involved a change in maven coordinates for other modules. Signed-off-by: Danno Ferrin <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]> * Introduce transaction validator interface (phase 1) (hyperledger#5673) Signed-off-by: Fabio Di Fabio <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]> * Only validate `--miner-enabled` option for ethash networks (hyperledger#5669) * Modify the min-gas-price option validation * Check for whether ethash is in use, either from genesis or network config, and use that for miner checks * Add genesis configuration isPoa() convenience function --------- Signed-off-by: Matthew Whitehead <[email protected]> Signed-off-by: Matt Whitehead <[email protected]> Co-authored-by: Simon Dudley <[email protected]> Signed-off-by: Simon Dudley <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]> * Update tuweni2.4.2 (hyperledger#5684) * Revert "Revert "Update Tuweni to 2.4.1 (hyperledger#5513)" (hyperledger#5585)" This reverts commit 6111e1b. Signed-off-by: Antoine Toulme <[email protected]> * update Tuweni to 2.4.2 Signed-off-by: Antoine Toulme <[email protected]> --------- Signed-off-by: Antoine Toulme <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]> * Do not leak references to PendingTransactions (hyperledger#5693) Signed-off-by: Fabio Di Fabio <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]> * remove v0 version of the database (hyperledger#5698) Signed-off-by: Karim TAAM <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]> * updated plugin api hash Signed-off-by: Daniel Lehrner <[email protected]> * spotless Signed-off-by: Daniel Lehrner <[email protected]> * updating plugin api hash Signed-off-by: Daniel Lehrner <[email protected]> * moved transcation interface to datatypes to use it in the OperationTracer.traceStartTransaction method Signed-off-by: Daniel Lehrner <[email protected]> * fix import Signed-off-by: Daniel Lehrner <[email protected]> --------- Signed-off-by: Daniel Lehrner <[email protected]> Signed-off-by: Stefan <[email protected]> Signed-off-by: Simon Dudley <[email protected]> Signed-off-by: Danno Ferrin <[email protected]> Signed-off-by: Fabio Di Fabio <[email protected]> Signed-off-by: Matthew Whitehead <[email protected]> Signed-off-by: Matt Whitehead <[email protected]> Signed-off-by: Antoine Toulme <[email protected]> Signed-off-by: Karim TAAM <[email protected]> Co-authored-by: Sally MacFarlane <[email protected]> Co-authored-by: Stefan Pingel <[email protected]> Co-authored-by: Simon Dudley <[email protected]> Co-authored-by: Gabriel Fukushima <[email protected]> Co-authored-by: Danno Ferrin <[email protected]> Co-authored-by: Fabio Di Fabio <[email protected]> Co-authored-by: Matt Whitehead <[email protected]> Co-authored-by: Antoine Toulme <[email protected]> Co-authored-by: matkt <[email protected]>
This reverts commit bb8514d.
* Extend OperationTracer with new methods, create Signed-off-by: Daniel Lehrner <[email protected]> * Rename ExtendedOperationTracer to BlockAwareOperationTracer Signed-off-by: Daniel Lehrner <[email protected]> * fixed plugin api hash Signed-off-by: Daniel Lehrner <[email protected]> * added missing javadoc comments Signed-off-by: Daniel Lehrner <[email protected]> * Update evm/src/main/java/org/hyperledger/besu/evm/tracing/OperationTracer.java Co-authored-by: Sally MacFarlane <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]> * Only update peer with the first and last block (hyperledger#5659) * only update peer with the first and last block Signed-off-by: Stefan <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]> * Put download links into CHANGELOG and do some clean up (hyperledger#5660) * put the download links for 23.4.4 into the CHANGELOG.md * clean up CHANGELOG Signed-off-by: Stefan <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]> * Add --amend to docker manifest create to fix docker latest tag (hyperledger#5661) We need to replace previous release's latest tag. Might be broken due to a recent change in the docker command implementation Signed-off-by: Simon Dudley <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]> * Add Xlayered-tx-pool to the config log printout (hyperledger#5665) Unrelated: clarify epoch length in javadoc Signed-off-by: Simon Dudley <[email protected]> Co-authored-by: Gabriel Fukushima <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]> * Add hooks to AbstractCreateOperation for library users (hyperledger#5656) Add hooks for a successful contract create, a failed contract create, and an invalid contact create. Users of the library will be able to customize create responses without having to replace core logic. Signed-off-by: Danno Ferrin <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]> * Test updates for cancun execution-spec-tests (hyperledger#5670) - support legacy V values (larger V value) and type 1+ (v is recId only) - new fields - shared transaction extraction - rejection detection Signed-off-by: Danno Ferrin <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]> * Upgrade BouncyCastle libraries (hyperledger#5675) Upgrade bouncy castle to v1.75. This involved a change in maven coordinates for other modules. Signed-off-by: Danno Ferrin <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]> * Introduce transaction validator interface (phase 1) (hyperledger#5673) Signed-off-by: Fabio Di Fabio <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]> * Only validate `--miner-enabled` option for ethash networks (hyperledger#5669) * Modify the min-gas-price option validation * Check for whether ethash is in use, either from genesis or network config, and use that for miner checks * Add genesis configuration isPoa() convenience function --------- Signed-off-by: Matthew Whitehead <[email protected]> Signed-off-by: Matt Whitehead <[email protected]> Co-authored-by: Simon Dudley <[email protected]> Signed-off-by: Simon Dudley <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]> * Update tuweni2.4.2 (hyperledger#5684) * Revert "Revert "Update Tuweni to 2.4.1 (hyperledger#5513)" (hyperledger#5585)" This reverts commit 6111e1b. Signed-off-by: Antoine Toulme <[email protected]> * update Tuweni to 2.4.2 Signed-off-by: Antoine Toulme <[email protected]> --------- Signed-off-by: Antoine Toulme <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]> * Do not leak references to PendingTransactions (hyperledger#5693) Signed-off-by: Fabio Di Fabio <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]> * remove v0 version of the database (hyperledger#5698) Signed-off-by: Karim TAAM <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]> * updated plugin api hash Signed-off-by: Daniel Lehrner <[email protected]> * spotless Signed-off-by: Daniel Lehrner <[email protected]> * updating plugin api hash Signed-off-by: Daniel Lehrner <[email protected]> * moved transcation interface to datatypes to use it in the OperationTracer.traceStartTransaction method Signed-off-by: Daniel Lehrner <[email protected]> * fix import Signed-off-by: Daniel Lehrner <[email protected]> --------- Signed-off-by: Daniel Lehrner <[email protected]> Signed-off-by: Stefan <[email protected]> Signed-off-by: Simon Dudley <[email protected]> Signed-off-by: Danno Ferrin <[email protected]> Signed-off-by: Fabio Di Fabio <[email protected]> Signed-off-by: Matthew Whitehead <[email protected]> Signed-off-by: Matt Whitehead <[email protected]> Signed-off-by: Antoine Toulme <[email protected]> Signed-off-by: Karim TAAM <[email protected]> Co-authored-by: Sally MacFarlane <[email protected]> Co-authored-by: Stefan Pingel <[email protected]> Co-authored-by: Simon Dudley <[email protected]> Co-authored-by: Gabriel Fukushima <[email protected]> Co-authored-by: Danno Ferrin <[email protected]> Co-authored-by: Fabio Di Fabio <[email protected]> Co-authored-by: Matt Whitehead <[email protected]> Co-authored-by: Antoine Toulme <[email protected]> Co-authored-by: matkt <[email protected]>
* Extend OperationTracer with new methods, create Signed-off-by: Daniel Lehrner <[email protected]> * Rename ExtendedOperationTracer to BlockAwareOperationTracer Signed-off-by: Daniel Lehrner <[email protected]> * fixed plugin api hash Signed-off-by: Daniel Lehrner <[email protected]> * added missing javadoc comments Signed-off-by: Daniel Lehrner <[email protected]> * Update evm/src/main/java/org/hyperledger/besu/evm/tracing/OperationTracer.java Co-authored-by: Sally MacFarlane <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]> * Only update peer with the first and last block (hyperledger#5659) * only update peer with the first and last block Signed-off-by: Stefan <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]> * Put download links into CHANGELOG and do some clean up (hyperledger#5660) * put the download links for 23.4.4 into the CHANGELOG.md * clean up CHANGELOG Signed-off-by: Stefan <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]> * Add --amend to docker manifest create to fix docker latest tag (hyperledger#5661) We need to replace previous release's latest tag. Might be broken due to a recent change in the docker command implementation Signed-off-by: Simon Dudley <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]> * Add Xlayered-tx-pool to the config log printout (hyperledger#5665) Unrelated: clarify epoch length in javadoc Signed-off-by: Simon Dudley <[email protected]> Co-authored-by: Gabriel Fukushima <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]> * Add hooks to AbstractCreateOperation for library users (hyperledger#5656) Add hooks for a successful contract create, a failed contract create, and an invalid contact create. Users of the library will be able to customize create responses without having to replace core logic. Signed-off-by: Danno Ferrin <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]> * Test updates for cancun execution-spec-tests (hyperledger#5670) - support legacy V values (larger V value) and type 1+ (v is recId only) - new fields - shared transaction extraction - rejection detection Signed-off-by: Danno Ferrin <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]> * Upgrade BouncyCastle libraries (hyperledger#5675) Upgrade bouncy castle to v1.75. This involved a change in maven coordinates for other modules. Signed-off-by: Danno Ferrin <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]> * Introduce transaction validator interface (phase 1) (hyperledger#5673) Signed-off-by: Fabio Di Fabio <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]> * Only validate `--miner-enabled` option for ethash networks (hyperledger#5669) * Modify the min-gas-price option validation * Check for whether ethash is in use, either from genesis or network config, and use that for miner checks * Add genesis configuration isPoa() convenience function --------- Signed-off-by: Matthew Whitehead <[email protected]> Signed-off-by: Matt Whitehead <[email protected]> Co-authored-by: Simon Dudley <[email protected]> Signed-off-by: Simon Dudley <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]> * Update tuweni2.4.2 (hyperledger#5684) * Revert "Revert "Update Tuweni to 2.4.1 (hyperledger#5513)" (hyperledger#5585)" This reverts commit 6111e1b. Signed-off-by: Antoine Toulme <[email protected]> * update Tuweni to 2.4.2 Signed-off-by: Antoine Toulme <[email protected]> --------- Signed-off-by: Antoine Toulme <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]> * Do not leak references to PendingTransactions (hyperledger#5693) Signed-off-by: Fabio Di Fabio <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]> * remove v0 version of the database (hyperledger#5698) Signed-off-by: Karim TAAM <[email protected]> Signed-off-by: Daniel Lehrner <[email protected]> * updated plugin api hash Signed-off-by: Daniel Lehrner <[email protected]> * spotless Signed-off-by: Daniel Lehrner <[email protected]> * updating plugin api hash Signed-off-by: Daniel Lehrner <[email protected]> * moved transcation interface to datatypes to use it in the OperationTracer.traceStartTransaction method Signed-off-by: Daniel Lehrner <[email protected]> * fix import Signed-off-by: Daniel Lehrner <[email protected]> --------- Signed-off-by: Daniel Lehrner <[email protected]> Signed-off-by: Stefan <[email protected]> Signed-off-by: Simon Dudley <[email protected]> Signed-off-by: Danno Ferrin <[email protected]> Signed-off-by: Fabio Di Fabio <[email protected]> Signed-off-by: Matthew Whitehead <[email protected]> Signed-off-by: Matt Whitehead <[email protected]> Signed-off-by: Antoine Toulme <[email protected]> Signed-off-by: Karim TAAM <[email protected]> Co-authored-by: Sally MacFarlane <[email protected]> Co-authored-by: Stefan Pingel <[email protected]> Co-authored-by: Simon Dudley <[email protected]> Co-authored-by: Gabriel Fukushima <[email protected]> Co-authored-by: Danno Ferrin <[email protected]> Co-authored-by: Fabio Di Fabio <[email protected]> Co-authored-by: Matt Whitehead <[email protected]> Co-authored-by: Antoine Toulme <[email protected]> Co-authored-by: matkt <[email protected]>
PR description
This PR extends the
OperationTracer
with 2 new methods:false
by default, but can be overrriden by other tracer implementationsExtended tracing is needed in cases where the current tracing implementations does not provide sufficient insight into a transaction. This is for example required for zkEVM implementations as those often require a more detailed insight into a transaction for the proof generation. This PR introduces extended tracing in case of a successful contract creation. More extending tracing will be added in future PRs.
Further the plugin API for tracing is extended as well. It adds 2 new methods:
Both take a block header and a block body as a parameter. It was required to use those 2 instead of a
Block
object, because the latter is causing circular dependency issues that would require a very big refactoring to resolve them.Fixed Issue(s)