Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
avm_sim_api.cpp
Go to the documentation of this file.
2
6
7namespace bb::avm2 {
8
9using namespace bb::avm2::simulation;
10
14 simulation::CancellationTokenPtr cancellation_token)
15{
16 vinfo("Simulating...");
17 AvmSimulationHelper simulation_helper;
18
19 if (inputs.config.collect_hints) {
20 return AVM_TRACK_TIME_V("simulation/all",
22 inputs.ws_revision,
23 ws,
24 inputs.config,
25 inputs.tx,
26 inputs.global_variables,
27 inputs.protocol_contracts,
28 cancellation_token));
29 } else {
30 return AVM_TRACK_TIME_V("simulation/all",
32 inputs.ws_revision,
33 ws,
34 inputs.config,
35 inputs.tx,
36 inputs.global_variables,
37 inputs.protocol_contracts,
38 cancellation_token));
39 }
40}
41
43{
44 vinfo("Simulating...");
45 AvmSimulationHelper simulation_helper;
46
47 // Placeholder for future use of config from inputs.
48 const PublicSimulatorConfig config = {};
49 return AVM_TRACK_TIME_V("simulation/all", simulation_helper.simulate_fast_with_hinted_dbs(inputs.hints, config));
50}
51
52} // namespace bb::avm2
StrictMock< MockContractDB > contract_db
TxSimulationResult simulate_with_hinted_dbs(const AvmProvingInputs &inputs)
TxSimulationResult simulate(const FastSimulationInputs &inputs, simulation::ContractDBInterface &contract_db, world_state::WorldState &ws, simulation::CancellationTokenPtr cancellation_token=nullptr)
TxSimulationResult simulate_for_hint_collection(simulation::ContractDBInterface &raw_contract_db, const world_state::WorldStateRevision &world_state_revision, world_state::WorldState &ws, const PublicSimulatorConfig &config, const Tx &tx, const GlobalVariables &global_variables, const ProtocolContracts &protocol_contracts, simulation::CancellationTokenPtr cancellation_token=nullptr)
TxSimulationResult simulate_fast_with_hinted_dbs(const ExecutionHints &hints, const PublicSimulatorConfig &config)
TxSimulationResult simulate_fast_with_existing_ws(simulation::ContractDBInterface &raw_contract_db, const world_state::WorldStateRevision &world_state_revision, world_state::WorldState &ws, const PublicSimulatorConfig &config, const Tx &tx, const GlobalVariables &global_variables, const ProtocolContracts &protocol_contracts, simulation::CancellationTokenPtr cancellation_token=nullptr)
Holds the Merkle trees responsible for storing the state of the Aztec protocol.
#define vinfo(...)
Definition log.hpp:94
AvmProvingInputs inputs
std::shared_ptr< CancellationToken > CancellationTokenPtr
#define AVM_TRACK_TIME_V(key, body)
Definition stats.hpp:18