Simulation UI

Simulation UI

The Simulation UI gives you an IDE-like experience when simulating transactions. You can either build a transaction from scratch or load an existing transaction into Transaction Simulator, tweak the inputs, and override state variables or the smart contract code.

Replaying an existing transaction using a simulation allows you to:

  • Validate bugfixes by running simulations on modified smart contract source code.
  • Validate adjustments to transaction parameters to find optimal inputs.
  • Troubleshoot an existing transaction, either a reverted one or a successful transaction with undesired effects.

Using the Simulation UI

You can use the Simulation UI to:

Building a simulation

When building a transaction simulation, you can:

  • Run a simulation off of an existing transaction or build one from scratch.
  • Run a simulation on changed smart contract source code.
  • Specify the standard transaction fields: sender, value, as well as the smart contract function you're calling and its arguments.
  • Override smart contract state variables.
  • Override a block header by specifying custom blockNumber and timestamp values that the smart contract code receives.
  • Specify an arbitrary sender (from).
  • Specify an arbitrary gas and gasPrice for this particular simulation.
  • Use either the latest block number or specify a historical block number.