From abf678b617ebd414a615db3cf4820bccf19b8a49 Mon Sep 17 00:00:00 2001 From: Jonathan Wang <31040440+jonathanpwang@users.noreply.github.com> Date: Fri, 29 Dec 2023 18:06:15 -0500 Subject: [PATCH] chore: derive serde for `KzgDecidingKey` --- snark-verifier/src/pcs/kzg.rs | 3 ++- snark-verifier/src/pcs/kzg/decider.rs | 8 +++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/snark-verifier/src/pcs/kzg.rs b/snark-verifier/src/pcs/kzg.rs index 387a108c..2e60ec11 100644 --- a/snark-verifier/src/pcs/kzg.rs +++ b/snark-verifier/src/pcs/kzg.rs @@ -15,9 +15,10 @@ pub use multiopen::{Bdfg21, Bdfg21Proof, Gwc19, Gwc19Proof}; #[cfg(feature = "loader_halo2")] pub use accumulator::LimbsEncodingInstructions; +use serde::{Deserialize, Serialize}; /// KZG succinct verifying key. -#[derive(Clone, Copy, Debug)] +#[derive(Clone, Copy, Debug, Serialize, Deserialize)] pub struct KzgSuccinctVerifyingKey { /// Generator. pub g: C, diff --git a/snark-verifier/src/pcs/kzg/decider.rs b/snark-verifier/src/pcs/kzg/decider.rs index d55e0a57..be845b60 100644 --- a/snark-verifier/src/pcs/kzg/decider.rs +++ b/snark-verifier/src/pcs/kzg/decider.rs @@ -1,3 +1,5 @@ +use serde::{Deserialize, Serialize}; + use crate::{ pcs::kzg::KzgSuccinctVerifyingKey, util::arithmetic::{CurveAffine, MultiMillerLoop}, @@ -5,7 +7,11 @@ use crate::{ use std::marker::PhantomData; /// KZG deciding key. -#[derive(Debug, Clone, Copy)] +#[derive(Debug, Clone, Copy, Serialize, Deserialize)] +#[serde(bound( + serialize = "M::G1Affine: Serialize, M::G2Affine: Serialize", + deserialize = "M::G1Affine: Deserialize<'de>, M::G2Affine: Deserialize<'de>" +))] pub struct KzgDecidingKey { svk: KzgSuccinctVerifyingKey, /// Generator on G2.