58 const Tx&
tx)
override;
82 const Tx&
tx)
override;
90 [[maybe_unused]]
const FF& transaction_fee,
92 const Gas& gas_limit);
StrictMock< MockContractDB > contract_db
uses barretenberg/vm2 to simulate the bytecode
SimulatorResult simulate(fuzzer::FuzzerWorldStateManager &ws_mgr, fuzzer::FuzzerContractDB &contract_db, const Tx &tx) override
uses the yarn-project/simulator to simulate the bytecode Singleton, because initializing the simulato...
static JsSimulator * getInstance()
JsSimulator(JsSimulator &other)=delete
static JsSimulator * instance
JsSimulator & operator=(JsSimulator &&)=delete
JsSimulator(JsSimulator &&)=delete
std::string simulator_path
void operator=(const JsSimulator &)=delete
static void initialize(std::string &simulator_path)
SimulatorResult simulate(fuzzer::FuzzerWorldStateManager &ws_mgr, fuzzer::FuzzerContractDB &contract_db, const Tx &tx) override
Simulator & operator=(const Simulator &)=delete
Simulator(Simulator &&)=delete
Simulator(const Simulator &)=delete
virtual SimulatorResult simulate(fuzzer::FuzzerWorldStateManager &ws_mgr, fuzzer::FuzzerContractDB &contract_db, const Tx &tx)=0
virtual ~Simulator()=default
Simulator & operator=(Simulator &&)=delete
AztecAddress contract_address
FuzzerWorldStateManager * ws_mgr
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
bool compare_simulator_results(SimulatorResult &result1, SimulatorResult &result2)
Tx create_default_tx(const AztecAddress &contract_address, const AztecAddress &sender_address, const std::vector< FF > &calldata, const FF &transaction_fee, bool is_static_call, const Gas &gas_limit)
GlobalVariables create_default_globals()
std::vector< std::pair< AztecAddress, ContractInstance > > contract_instances
std::vector< ContractClass > contract_classes
MSGPACK_CAMEL_CASE_FIELDS(ws_data_dir, ws_map_size_kb, tx, globals, contract_classes, contract_instances)
TreeSnapshots end_tree_snapshots
MSGPACK_CAMEL_CASE_FIELDS(reverted, output, end_tree_snapshots, revert_reason)
std::string revert_reason