Browse Source

serde for types (#160)

main
Srinath Setty 1 year ago
committed by GitHub
parent
commit
21d4092b86
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 11 additions and 7 deletions
  1. +1
    -1
      Cargo.toml
  2. +9
    -5
      src/spartan/pp/mod.rs
  3. +1
    -1
      src/spartan/pp/product.rs

+ 1
- 1
Cargo.toml

@ -1,6 +1,6 @@
[package]
name = "nova-snark"
version = "0.20.1"
version = "0.20.2"
authors = ["Srinath Setty <srinath@microsoft.com>"]
edition = "2021"
description = "Recursive zkSNARKs without trusted setup"

+ 9
- 5
src/spartan/pp/mod.rs

@ -302,7 +302,7 @@ impl R1CSShapeSparkRepr {
}
/// A type that represents the memory-checking argument
#[derive(Serialize, Deserialize)]
#[derive(Clone, Serialize, Deserialize)]
#[serde(bound = "")]
pub struct MemcheckProof<G: Group> {
sc_prod: ProductArgument<G>,
@ -685,7 +685,7 @@ impl MemcheckProof {
}
/// A type that represents the prover's key
#[derive(Serialize, Deserialize)]
#[derive(Clone, Serialize, Deserialize)]
#[serde(bound = "")]
pub struct ProverKey<G: Group, EE: EvaluationEngineTrait<G, CE = G::CE>> {
pk_ee: EE::ProverKey,
@ -695,7 +695,7 @@ pub struct ProverKey> {
}
/// A type that represents the verifier's key
#[derive(Serialize, Deserialize)]
#[derive(Clone, Serialize, Deserialize)]
#[serde(bound = "")]
pub struct VerifierKey<G: Group, EE: EvaluationEngineTrait<G, CE = G::CE>> {
num_cons: usize,
@ -707,7 +707,7 @@ pub struct VerifierKey> {
/// A succinct proof of knowledge of a witness to a relaxed R1CS instance
/// The proof is produced using Spartan's combination of the sum-check and
/// the commitment to a vector viewed as a polynomial commitment
#[derive(Serialize, Deserialize)]
#[derive(Clone, Serialize, Deserialize)]
#[serde(bound = "")]
pub struct RelaxedR1CSSNARK<G: Group, EE: EvaluationEngineTrait<G, CE = G::CE>> {
// outer sum-check
@ -1356,6 +1356,8 @@ impl> Circuit for SpartanCircuit
}
/// A type that holds Spartan's prover key
#[derive(Clone, Serialize, Deserialize)]
#[serde(bound = "")]
pub struct SpartanProverKey<G, EE>
where
G: Group,
@ -1368,6 +1370,8 @@ where
}
/// A type that holds Spartan's verifier key
#[derive(Clone, Serialize, Deserialize)]
#[serde(bound = "")]
pub struct SpartanVerifierKey<G, EE>
where
G: Group,
@ -1378,7 +1382,7 @@ where
}
/// A direct SNARK proving a step circuit
#[derive(Serialize, Deserialize)]
#[derive(Clone, Serialize, Deserialize)]
#[serde(bound = "")]
pub struct SpartanSNARK<G, EE, C>
where

+ 1
- 1
src/spartan/pp/product.rs

@ -163,7 +163,7 @@ impl SumcheckProof {
}
/// Provides a product argument using the algorithm described by Setty-Lee, 2020
#[derive(Serialize, Deserialize)]
#[derive(Clone, Serialize, Deserialize)]
#[serde(bound = "")]
pub struct ProductArgument<G: Group> {
comm_output_vec: Vec<Commitment<G>>,

Loading…
Cancel
Save