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",
23 inputs.config,
24 inputs.tx,
25 inputs.global_variables,
26 inputs.protocol_contracts,
27 cancellation_token));
28 }
29
30 return AVM_TRACK_TIME_V("simulation/all",
31 simulation_helper.simulate_fast_internal(contract_db,
33 inputs.config,
34 inputs.tx,
35 inputs.global_variables,
36 inputs.protocol_contracts,
37 cancellation_token));
38}
39
41{
42 vinfo("Simulating...");
43 AvmSimulationHelper simulation_helper;
44
45 // Placeholder for future use of config from inputs.
46 const PublicSimulatorConfig config = {};
47 return AVM_TRACK_TIME_V("simulation/all", simulation_helper.simulate_fast_with_hinted_dbs(inputs.hints, config));
48}
49
50} // namespace bb::avm2
StrictMock< MockHighLevelMerkleDB > merkle_db
StrictMock< MockContractDB > contract_db
TxSimulationResult simulate_with_hinted_dbs(const AvmProvingInputs &inputs)
TxSimulationResult simulate(const FastSimulationInputs &inputs, simulation::ContractDBInterface &contract_db, simulation::LowLevelMerkleDBInterface &merkle_db, simulation::CancellationTokenPtr cancellation_token=nullptr)
TxSimulationResult simulate_fast_internal(simulation::ContractDBInterface &raw_contract_db, simulation::LowLevelMerkleDBInterface &raw_merkle_db, 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_for_hint_collection_internal(simulation::ContractDBInterface &raw_contract_db, simulation::LowLevelMerkleDBInterface &raw_merkle_db, const PublicSimulatorConfig &config, const Tx &tx, const GlobalVariables &global_variables, const ProtocolContracts &protocol_contracts, simulation::CancellationTokenPtr cancellation_token=nullptr)
#define vinfo(...)
Definition log.hpp:94
AvmProvingInputs inputs
AVM range check gadget for witness generation.
std::shared_ptr< CancellationToken > CancellationTokenPtr
#define AVM_TRACK_TIME_V(key, body)
Definition stats.hpp:20