Add serialization for CP6-782 (#120) Co-authored-by: onewayfunc <onewayfunc@gmail.com>
Weikeng Chen w.k@berkeley.edu
Sat, 03 Sep 2022 22:55:16 -0700
3 files changed,
7 insertions(+),
3 deletions(-)
M
cp6_782/Cargo.toml
→
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]
M
cp6_782/src/curves/g1.rs
→
cp6_782/src/curves/g1.rs
@@ -4,13 +4,15 @@ short_weierstrass::{Affine, Projective},
AffineRepr, CurveGroup, }; use ark_ff::MontFp; +use ark_serialize::{CanonicalDeserialize, CanonicalSerialize}; +use ark_std::vec::Vec; use crate::{Fq, Fr}; pub type G1Affine = Affine<Parameters>; pub type G1Projective = Projective<Parameters>; -#[derive(Clone, Debug, PartialEq, Eq)] +#[derive(Clone, Debug, PartialEq, Eq, CanonicalSerialize, CanonicalDeserialize)] pub struct G1Prepared(pub G1Affine); impl From<G1Affine> for G1Prepared {
M
cp6_782/src/curves/g2.rs
→
cp6_782/src/curves/g2.rs
@@ -4,13 +4,15 @@ short_weierstrass::{Affine, Projective, SWCurveConfig},
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<Parameters>; pub type G2Projective = Projective<Parameters>; -#[derive(Clone, Debug, PartialEq, Eq)] +#[derive(Clone, Debug, PartialEq, Eq, CanonicalSerialize, CanonicalDeserialize)] pub struct G2Prepared(pub G2Affine); impl From<G2Affine> for G2Prepared {