Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::nodejs::AvmSimulateNapi Class Reference

NAPI wrapper for the C++ AVM simulation. More...

#include <avm_simulate_napi.hpp>

Static Public Member Functions

static Napi::Value simulate (const Napi::CallbackInfo &info)
 NAPI function to simulate AVM execution.
 
static Napi::Value simulateWithHintedDbs (const Napi::CallbackInfo &info)
 NAPI function to simulate AVM execution with pre-collected hints.
 
static Napi::Value createCancellationToken (const Napi::CallbackInfo &info)
 Create a cancellation token that can be used to cancel a simulation.
 
static Napi::Value cancelSimulation (const Napi::CallbackInfo &info)
 Cancel a simulation by signaling the provided cancellation token.
 

Detailed Description

NAPI wrapper for the C++ AVM simulation.

This class provides the bridge between TypeScript and the C++ avm_simulate*() functions. It handles deserialization of inputs, execution on a worker thread, and serialization of results.

The simulate variation uses real world state and uses callbacks to TS for contract DB.

The simulateWithHintedDbs variation uses pre-collected hints for world state and contracts DB. There are no callbacks to TS or direct calls to world state.

Definition at line 18 of file avm_simulate_napi.hpp.

Member Function Documentation

◆ cancelSimulation()

Napi::Value bb::nodejs::AvmSimulateNapi::cancelSimulation ( const Napi::CallbackInfo &  info)
static

Cancel a simulation by signaling the provided cancellation token.

Expected arguments:

  • info[0]: External CancellationToken handle
Parameters
infoNAPI callback info containing the token
Returns
Napi::Value undefined

Definition at line 404 of file avm_simulate_napi.cpp.

◆ createCancellationToken()

Napi::Value bb::nodejs::AvmSimulateNapi::createCancellationToken ( const Napi::CallbackInfo &  info)
static

Create a cancellation token that can be used to cancel a simulation.

Returns: External<CancellationToken> - a handle to a new cancellation token

Parameters
infoNAPI callback info (no arguments expected)
Returns
Napi::Value External handle to the cancellation token

Definition at line 391 of file avm_simulate_napi.cpp.

◆ simulate()

Napi::Value bb::nodejs::AvmSimulateNapi::simulate ( const Napi::CallbackInfo &  info)
static

NAPI function to simulate AVM execution.

Expected arguments:

  • info[0]: Buffer containing serialized AvmFastSimulationInputs (msgpack)
  • info[1]: Object with contract provider callbacks:
    • getContractInstance(address: string): Promise<Buffer | undefined>
    • getContractClass(classId: string): Promise<Buffer | undefined>
  • info[2]: External WorldState handle (pointer to world_state::WorldState)
  • info[3]: Log level number (0-7)
  • info[4]: External CancellationToken handle (optional)

Returns: Promise<Buffer> containing serialized simulation results

Parameters
infoNAPI callback info containing arguments
Returns
Napi::Value Promise that resolves with simulation results

Definition at line 157 of file avm_simulate_napi.cpp.

◆ simulateWithHintedDbs()

Napi::Value bb::nodejs::AvmSimulateNapi::simulateWithHintedDbs ( const Napi::CallbackInfo &  info)
static

NAPI function to simulate AVM execution with pre-collected hints.

Expected arguments:

  • info[0]: Buffer containing serialized AvmProvingInputs (msgpack)
Parameters
infoNAPI callback info containing arguments
Returns
Napi::Value Promise that resolves with simulation results

Definition at line 324 of file avm_simulate_napi.cpp.


The documentation for this class was generated from the following files: