From f74378c0177ca8e5b53989b1197ddaf7325115c0 Mon Sep 17 00:00:00 2001 From: Weikeng Chen Date: Sat, 3 Sep 2022 22:55:16 -0700 Subject: [PATCH] Add serialization for CP6-782 (#120) Co-authored-by: onewayfunc --- cp6_782/Cargo.toml | 2 +- cp6_782/src/curves/g1.rs | 4 +++- cp6_782/src/curves/g2.rs | 4 +++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/cp6_782/Cargo.toml b/cp6_782/Cargo.toml index 9971616..1948d39 100644 --- a/cp6_782/Cargo.toml +++ b/cp6_782/Cargo.toml @@ -18,9 +18,9 @@ ark-ec = { version = "^0.3.0", default-features = false } ark-std = { version = "^0.3.0", default-features = false } ark-bls12-377 = { version = "^0.3.0", path = "../bls12_377", default-features = false, features = [ "base_field" ] } itertools = { version = "0.10", default-features = false } +ark-serialize = { version = "^0.3.0", default-features = false } [dev-dependencies] -ark-serialize = { version = "^0.3.0", default-features = false } ark-algebra-test-templates = { version = "^0.3.0", default-features = false } [features] diff --git a/cp6_782/src/curves/g1.rs b/cp6_782/src/curves/g1.rs index 83ecb11..beffd1c 100644 --- a/cp6_782/src/curves/g1.rs +++ b/cp6_782/src/curves/g1.rs @@ -4,13 +4,15 @@ use ark_ec::{ AffineRepr, CurveGroup, }; use ark_ff::MontFp; +use ark_serialize::{CanonicalDeserialize, CanonicalSerialize}; +use ark_std::vec::Vec; use crate::{Fq, Fr}; pub type G1Affine = Affine; pub type G1Projective = Projective; -#[derive(Clone, Debug, PartialEq, Eq)] +#[derive(Clone, Debug, PartialEq, Eq, CanonicalSerialize, CanonicalDeserialize)] pub struct G1Prepared(pub G1Affine); impl From for G1Prepared { diff --git a/cp6_782/src/curves/g2.rs b/cp6_782/src/curves/g2.rs index 1913ff1..7796db0 100644 --- a/cp6_782/src/curves/g2.rs +++ b/cp6_782/src/curves/g2.rs @@ -4,13 +4,15 @@ use ark_ec::{ AffineRepr, CurveGroup, }; use ark_ff::{Field, MontFp}; +use ark_serialize::{CanonicalDeserialize, CanonicalSerialize}; +use ark_std::vec::Vec; use crate::{Fq, Fq3, Fr}; pub type G2Affine = Affine; pub type G2Projective = Projective; -#[derive(Clone, Debug, PartialEq, Eq)] +#[derive(Clone, Debug, PartialEq, Eq, CanonicalSerialize, CanonicalDeserialize)] pub struct G2Prepared(pub G2Affine); impl From for G2Prepared {