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§

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.
get_memory
This method is exported in the WebAssembly to check the memory used on the JavaScript
get_memory_byte_length
Returns the number of bytes used by the WebAssembly memory.
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.