Interface BlockAwareOperationTracer

All Superinterfaces:
org.hyperledger.besu.evm.tracing.OperationTracer

public interface BlockAwareOperationTracer extends org.hyperledger.besu.evm.tracing.OperationTracer
An extended operation tracer that can trace the start and end of a block.

In both methods, the block header and body are provided.

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    BlockAwareOperationTracer object with no tracing functionality.
  • Method Summary

    Modifier and Type
    Method
    Description
    default boolean
     
    default void
    traceEndBlock(BlockHeader blockHeader, BlockBody blockBody)
    Trace the end of a block.
    default void
    traceStartBlock(org.hyperledger.besu.evm.worldstate.WorldView worldView, BlockHeader blockHeader, BlockBody blockBody, org.hyperledger.besu.datatypes.Address miningBeneficiary)
    Trace the start of a block.
    default void
    traceStartBlock(org.hyperledger.besu.evm.worldstate.WorldView worldView, ProcessableBlockHeader processableBlockHeader, org.hyperledger.besu.datatypes.Address miningBeneficiary)
    When building a block this API is called at the start of the process

    Methods inherited from interface org.hyperledger.besu.evm.tracing.OperationTracer

    getTraceFrames, isEnabled, traceAccountCreationResult, traceBeforeRewardTransaction, traceContextEnter, traceContextExit, traceContextReEnter, traceEndTransaction, tracePostExecution, tracePrecompileCall, tracePreExecution, tracePrepareTransaction, traceStartTransaction
  • Field Details

    • NO_TRACING

      static final BlockAwareOperationTracer NO_TRACING
      BlockAwareOperationTracer object with no tracing functionality. This serves as a default for scenarios where no specific tracing operation is required.
  • Method Details

    • traceStartBlock

      default void traceStartBlock(org.hyperledger.besu.evm.worldstate.WorldView worldView, BlockHeader blockHeader, BlockBody blockBody, org.hyperledger.besu.datatypes.Address miningBeneficiary)
      Trace the start of a block.
      Parameters:
      worldView - the world view at the start of the block
      blockHeader - the header of the block which is traced
      blockBody - the body of the block which is traced
      miningBeneficiary - the address of miner building the block
    • traceEndBlock

      default void traceEndBlock(BlockHeader blockHeader, BlockBody blockBody)
      Trace the end of a block.
      Parameters:
      blockHeader - the header of the block which is traced
      blockBody - the body of the block which is traced
    • traceStartBlock

      default void traceStartBlock(org.hyperledger.besu.evm.worldstate.WorldView worldView, ProcessableBlockHeader processableBlockHeader, org.hyperledger.besu.datatypes.Address miningBeneficiary)
      When building a block this API is called at the start of the process
      Parameters:
      worldView - the world view at the start of the block
      processableBlockHeader - the processable header
      miningBeneficiary - the address of miner building the block
    • isExtendedTracing

      default boolean isExtendedTracing()
      Specified by:
      isExtendedTracing in interface org.hyperledger.besu.evm.tracing.OperationTracer