Expand description
The Marlin_plonk_stubs crate exports some functionalities and structures from the following the Rust crates to OCaml:
- Proof-systems, a PLONK implementation.
- Arkworks, a math library that Proof-systems builds on top of.
Re-exports§
pub use lagrange_basis::WithLagrangeBasis;
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.
- caml
- Caml helpers
- field_
vector - Vectors We implement a custom type for field vectors in order to quickly build field vectors from the OCaml side and avoid large vector clones.
- gate_
vector - A GateVector: this is used to represent a list of gates.
- lagrange_
basis - linearization
- Linearization helpers
- oracles
- Oracles
- pasta_
fp_ plonk_ index - Indexes
- pasta_
fp_ plonk_ proof - Proofs
- pasta_
fp_ plonk_ verifier_ index - pasta_
fp_ poseidon - Poseidon
- pasta_
fq_ plonk_ index - pasta_
fq_ plonk_ proof - pasta_
fq_ plonk_ verifier_ index - pasta_
fq_ poseidon - plonk_
verifier_ index - Verifier indexes/keys
- projective
- Curves
- srs
- SRS
- urs_
utils - Utils
Structs§
- Caml
Circuit Gate - Handy re-exports
- Caml
Lookup Commitments - Handy re-exports
- Caml
Opening Proof - Handy re-exports
- Caml
Poly Comm - Handy re-exports
- Caml
Proof Evaluations - Handy re-exports
- Caml
Proof With Public - Handy re-exports
- Caml
Prover Commitments - Handy re-exports
- Caml
Prover Proof - Handy re-exports
- Caml
Random Oracles - Handy re-exports
- Caml
Scalar Challenge - Handy re-exports
- Caml
Wire - Handy re-exports
Enums§
- Curr
OrNext - Handy re-exports
A row accessible from a given row, corresponds to the fact that we open all polynomials
at
zeta
andomega * zeta
. - Gate
Type - Handy re-exports The different types of gates the system supports. Note that all the gates are mutually exclusive: they cannot be used at the same time on single row. If we were ever to support this feature, we would have to make sure not to re-use powers of alpha across constraints.