Crate kimchi_stubs

Source
Expand description

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

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§

CamlCircuitGate
Handy re-exports
CamlLookupCommitments
Handy re-exports
CamlOpeningProof
Handy re-exports
CamlPolyComm
Handy re-exports
CamlProofEvaluations
Handy re-exports
CamlProofWithPublic
Handy re-exports
CamlProverCommitments
Handy re-exports
CamlProverProof
Handy re-exports
CamlRandomOracles
Handy re-exports
CamlScalarChallenge
Handy re-exports
CamlWire
Handy re-exports

Enums§

CurrOrNext
Handy re-exports A row accessible from a given row, corresponds to the fact that we open all polynomials at zeta and omega * zeta.
GateType
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.