Interface TransactionSimulationService

All Superinterfaces:
BesuService

public interface TransactionSimulationService extends BesuService
Transaction simulation service interface
  • Method Details

    • simulatePendingBlockHeader

      ProcessableBlockHeader simulatePendingBlockHeader()
      Return a simulation of what could be current pending block, it can also be passed to simulate(Transaction, Optional, ProcessableBlockHeader, OperationTracer, boolean, boolean)
      Returns:
      the simulated pending block header
    • simulate

      @Deprecated(forRemoval=true) default Optional<TransactionSimulationResult> simulate(org.hyperledger.besu.datatypes.Transaction transaction, Optional<org.hyperledger.besu.datatypes.StateOverrideMap> stateOverrides, org.hyperledger.besu.datatypes.Hash blockHash, org.hyperledger.besu.evm.tracing.OperationTracer operationTracer, boolean isAllowExceedingBalance)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Simulate transaction execution at the block identified by the hash, with optional state overrides that can be applied before the simulation.
      Parameters:
      transaction - tx
      stateOverrides - state overrides to apply to this simulation
      blockHash - hash of the block
      operationTracer - the tracer
      isAllowExceedingBalance - should ignore the sender balance during the simulation?
      Returns:
      the result of the simulation
    • simulate

      Optional<TransactionSimulationResult> simulate(org.hyperledger.besu.datatypes.Transaction transaction, Optional<org.hyperledger.besu.datatypes.StateOverrideMap> stateOverrides, org.hyperledger.besu.datatypes.Hash blockHash, org.hyperledger.besu.evm.tracing.OperationTracer operationTracer, EnumSet<TransactionSimulationService.SimulationParameters> simulationParameters)
      Simulate transaction execution at the block identified by the hash, with optional state overrides that can be applied before the simulation.
      Parameters:
      transaction - tx
      stateOverrides - state overrides to apply to this simulation
      blockHash - hash of the block
      operationTracer - the tracer
      simulationParameters - optional set of parameters that affected the behavior of the simulation
      Returns:
      the result of the simulation
    • simulate

      @Deprecated(forRemoval=true) default Optional<TransactionSimulationResult> simulate(org.hyperledger.besu.datatypes.Transaction transaction, Optional<org.hyperledger.besu.datatypes.StateOverrideMap> stateOverrides, ProcessableBlockHeader processableBlockHeader, org.hyperledger.besu.evm.tracing.OperationTracer operationTracer, boolean isAllowExceedingBalance, boolean isAllowFutureNonce)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Simulate transaction execution at the block identified by the block header, with optional state overrides that can be applied before the simulation.
      Parameters:
      transaction - tx
      stateOverrides - state overrides to apply to this simulation
      processableBlockHeader - block header to simulate on pending block
      operationTracer - the tracer
      isAllowExceedingBalance - should ignore the sender balance during the simulation?
      isAllowFutureNonce - should skip strict check on sequential nonce?
      Returns:
      the result of the simulation
    • simulate

      Optional<TransactionSimulationResult> simulate(org.hyperledger.besu.datatypes.Transaction transaction, Optional<org.hyperledger.besu.datatypes.StateOverrideMap> stateOverrides, ProcessableBlockHeader processableBlockHeader, org.hyperledger.besu.evm.tracing.OperationTracer operationTracer, EnumSet<TransactionSimulationService.SimulationParameters> simulationParameters)
      Simulate transaction execution at the block identified by the block header, with optional state overrides that can be applied before the simulation.
      Parameters:
      transaction - tx
      stateOverrides - state overrides to apply to this simulation
      processableBlockHeader - block header to simulate on pending block
      operationTracer - the tracer
      simulationParameters - optional set of parameters that affected the behavior of the simulation
      Returns:
      the result of the simulation
    • simulate

      Optional<TransactionSimulationResult> simulate(org.hyperledger.besu.datatypes.CallParameter callParameters, Optional<org.hyperledger.besu.datatypes.StateOverrideMap> stateOverrides, ProcessableBlockHeader processableBlockHeader, org.hyperledger.besu.evm.tracing.OperationTracer operationTracer, EnumSet<TransactionSimulationService.SimulationParameters> simulationParameters)
      Simulate transaction (specified by call parameters) execution at the block identified by the block header, with optional state overrides that can be applied before the simulation.
      Parameters:
      callParameters - call parameters
      stateOverrides - state overrides to apply to this simulation
      processableBlockHeader - block header to simulate
      operationTracer - the tracer
      simulationParameters - optional set of parameters that affected the behavior of the simulation
      Returns:
      the result of the simulation