diff --git a/src/provider/hyperkzg.rs b/src/provider/hyperkzg.rs index 49e71196..22b7c074 100644 --- a/src/provider/hyperkzg.rs +++ b/src/provider/hyperkzg.rs @@ -668,7 +668,7 @@ where } /// An implementation of Nova traits with HyperKZG over the BN256 curve -#[derive(Clone, Copy, Debug, Eq, PartialEq)] +#[derive(Clone, Copy, Debug, Eq, PartialEq, Serialize, Deserialize)] pub struct Bn256EngineKZG; impl Engine for Bn256EngineKZG { diff --git a/src/provider/mod.rs b/src/provider/mod.rs index e0d6ce24..0507cc50 100644 --- a/src/provider/mod.rs +++ b/src/provider/mod.rs @@ -26,13 +26,14 @@ use crate::{ traits::Engine, }; use pasta_curves::{pallas, vesta}; +use serde::{Deserialize, Serialize}; /// An implementation of the Nova `Engine` trait with BN254 curve and Pedersen commitment scheme -#[derive(Clone, Copy, Debug, Eq, PartialEq)] +#[derive(Clone, Copy, Debug, Eq, PartialEq, Serialize, Deserialize)] pub struct Bn256Engine; /// An implementation of the Nova `Engine` trait with Grumpkin curve and Pedersen commitment scheme -#[derive(Clone, Copy, Debug, Eq, PartialEq)] +#[derive(Clone, Copy, Debug, Eq, PartialEq, Serialize, Deserialize)] pub struct GrumpkinEngine; impl Engine for Bn256Engine { @@ -56,11 +57,11 @@ impl Engine for GrumpkinEngine { } /// An implementation of the Nova `Engine` trait with Secp256k1 curve and Pedersen commitment scheme -#[derive(Clone, Copy, Debug, Eq, PartialEq)] +#[derive(Clone, Copy, Debug, Eq, PartialEq, Serialize, Deserialize)] pub struct Secp256k1Engine; /// An implementation of the Nova `Engine` trait with Secp256k1 curve and Pedersen commitment scheme -#[derive(Clone, Copy, Debug, Eq, PartialEq)] +#[derive(Clone, Copy, Debug, Eq, PartialEq, Serialize, Deserialize)] pub struct Secq256k1Engine; impl Engine for Secp256k1Engine { @@ -84,11 +85,11 @@ impl Engine for Secq256k1Engine { } /// An implementation of the Nova `Engine` trait with Pallas curve and Pedersen commitment scheme -#[derive(Clone, Copy, Debug, Eq, PartialEq)] +#[derive(Clone, Copy, Debug, Eq, PartialEq, Serialize, Deserialize)] pub struct PallasEngine; /// An implementation of the Nova `Engine` trait with Vesta curve and Pedersen commitment scheme -#[derive(Clone, Copy, Debug, Eq, PartialEq)] +#[derive(Clone, Copy, Debug, Eq, PartialEq, Serialize, Deserialize)] pub struct VestaEngine; impl Engine for PallasEngine {