30 const std::vector<uint8_t>&
bytecode,
31 const std::vector<FF>&
calldata) = 0;
38 const std::vector<uint8_t>&
bytecode,
39 const std::vector<FF>&
calldata)
override;
62 const std::vector<uint8_t>&
bytecode,
63 const std::vector<FF>&
calldata)
override;
std::shared_ptr< Napi::ThreadSafeFunction > bytecode
uses barretenberg/vm2 to simulate the bytecode
SimulatorResult simulate(fuzzer::FuzzerWorldStateManager &ws_mgr, const std::vector< uint8_t > &bytecode, const std::vector< FF > &calldata) 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
SimulatorResult simulate(fuzzer::FuzzerWorldStateManager &ws_mgr, const std::vector< uint8_t > &bytecode, const std::vector< FF > &calldata) override
static void initialize(std::string &simulator_path)
Simulator & operator=(const Simulator &)=delete
Simulator(Simulator &&)=delete
Simulator(const Simulator &)=delete
virtual SimulatorResult simulate(fuzzer::FuzzerWorldStateManager &ws_mgr, const std::vector< uint8_t > &bytecode, const std::vector< FF > &calldata)=0
virtual ~Simulator()=default
Simulator & operator=(Simulator &&)=delete
bool compare_simulator_results(const SimulatorResult &result1, const SimulatorResult &result2)
TreeSnapshots end_tree_snapshots
std::string revert_reason