Crate plonk_wasm

Source
Expand description

The Marlin_plonk_stubs crate exports some functionalities and structures from the following the Rust crates to OCaml:

  • Marlin, a PLONK implementation.
  • Arkworks, a math library that Marlin builds on top of.

Modules§

arkworks
Arkworks types This module contains wrapper types to Arkworks types. To use Arkwork types in OCaml, you have to convert to these types, and convert back from them to use them in Rust.
circuit
gate_vector
Vectors A GateVector: this is used to represent a list of gates.
oracles
Oracles
pasta_fp_plonk_index
Indexes
pasta_fq_plonk_index
plonk_proof
Proofs
plonk_verifier_index
Verifier indexes/keys
poly_comm
poseidon
Poseidon This file defines wrapper for the Poseidon hash function that are used in the Mina codebase.
projective
Curves
rayon
srs
SRS
wasm_ocaml_serde
This module constructs a serde serializer (and deserializer) to convert Rust structures to (and from) Js types expected by js-of-ocaml. js-of-ocaml expects arrays of values instead of objects, so a Rust structure like:

Functions§

alert
console_log
create_zero_u32_ptr
free_u32_ptr
Free a pointer. This method is exported in the WebAssembly module to be used on the JavaScript side, see web-backend.js.
set_u32_ptr
Set the value of a pointer. This method is exported in the WebAssembly module to be used on the JavaScript side, see web-backend.js.
wait_until_non_zero
This method is exported in the WebAssembly to be used on the JavaScript side, see web-backend.js.