Crate arecibo

Crate arecibo 

Source
Expand description

This library implements Nova, a high-speed recursive SNARK.

Modules§

constants
Global Nova constants
errors
This module defines errors returned by the library.
gadgets
This module implements various gadgets necessary for Nova and applications built with Nova.
provider
This module implements Nova’s traits using the following several different combinations
r1cs
This module defines R1CS related types and a folding scheme for Relaxed R1CS
spartan
This module implements RelaxedR1CSSNARKTrait using Spartan that is generic over the polynomial commitment and evaluation argument (i.e., a PCS) We provide two implementations, one in snark.rs (which does not use any preprocessing) and another in ppsnark.rs (which uses preprocessing to keep the verifier’s state small if the PCS provides a succinct verifier) We also provide direct.rs that allows proving a step circuit directly with either of the two SNARKs.
supernova
SuperNova Description
traits
This module defines various traits required by the users of the library to implement.

Macros§

impl_traits
This implementation behaves in ways specific to the halo2curves suite of curves in:
zip_with
Macros to give syntactic sugar for zipWith pattern and variatns.
zip_with_for_each
Like zip_with but use for_each instead of map.

Structs§

CircuitShape
A type that holds parameters for the primary and secondary circuits of Nova and SuperNova
CompressedSNARK
A SNARK that proves the knowledge of a valid RecursiveSNARK
ProverKey
A type that holds the prover key for CompressedSNARK
PublicParams
A type that holds public parameters of Nova
RecursiveSNARK
A SNARK that proves the correct execution of an incremental computation
ResourceBuffer
A resource buffer for RecursiveSNARK for storing scratch values that are computed by prove_step, which allows the reuse of memory allocations and avoids unnecessary new allocations in the critical section.
VerifierKey
A type that holds the verifier key for CompressedSNARK

Functions§

circuit_digest
Compute the circuit digest of a StepCircuit.