From 765d84be2e06711fc893e84f89a028c4d9683504 Mon Sep 17 00:00:00 2001 From: ethan-000 Date: Fri, 31 Mar 2023 18:07:25 +0100 Subject: [PATCH 01/10] add a constructor --- halo2_proofs/src/poly/kzg/commitment.rs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/halo2_proofs/src/poly/kzg/commitment.rs b/halo2_proofs/src/poly/kzg/commitment.rs index a2886a016c..84ca3e62ac 100644 --- a/halo2_proofs/src/poly/kzg/commitment.rs +++ b/halo2_proofs/src/poly/kzg/commitment.rs @@ -132,6 +132,26 @@ where } } + /// Initializes parameters for the curve through existing parameters + pub fn from_params( + &self, + k: u32, + n: u64, + g: Vec, + g_lagrange: Vec, + g2: E::G2Affine, + s_g2: E::G2Affine, + ) -> Self { + Self { + k, + n, + g, + g_lagrange, + g2, + s_g2, + } + } + /// Returns gernerator on G2 pub fn g2(&self) -> E::G2Affine { self.g2 From 008c87de3bfe59ec238b2df4739f8bbdfa05a762 Mon Sep 17 00:00:00 2001 From: ethan-000 Date: Fri, 31 Mar 2023 18:11:04 +0100 Subject: [PATCH 02/10] add more comment --- halo2_proofs/src/poly/kzg/commitment.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/halo2_proofs/src/poly/kzg/commitment.rs b/halo2_proofs/src/poly/kzg/commitment.rs index 84ca3e62ac..ebf22a2769 100644 --- a/halo2_proofs/src/poly/kzg/commitment.rs +++ b/halo2_proofs/src/poly/kzg/commitment.rs @@ -133,6 +133,7 @@ where } /// Initializes parameters for the curve through existing parameters + /// k, n, g, g_lagrange, g2, s_g2 pub fn from_params( &self, k: u32, From f5ab6280996409b0295db32216089b294623de2a Mon Sep 17 00:00:00 2001 From: ethan-000 Date: Tue, 2 May 2023 13:42:51 +0100 Subject: [PATCH 03/10] fix as review --- halo2_proofs/src/poly/kzg/commitment.rs | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/halo2_proofs/src/poly/kzg/commitment.rs b/halo2_proofs/src/poly/kzg/commitment.rs index ebf22a2769..f25cc21e6d 100644 --- a/halo2_proofs/src/poly/kzg/commitment.rs +++ b/halo2_proofs/src/poly/kzg/commitment.rs @@ -137,17 +137,23 @@ where pub fn from_params( &self, k: u32, - n: u64, g: Vec, - g_lagrange: Vec, + g_lagrange: Option>, g2: E::G2Affine, s_g2: E::G2Affine, ) -> Self { + let n = 1 << k; + let mut g_lag = Vec::new(); + if g_lagrange.is_some() { + g_lag = g_lagrange.unwrap() + } else { + g_lag = g_to_lagrange(g.iter().map(|g| PrimeCurveAffine::to_curve(g)).collect(), k) + } Self { k, n, - g, - g_lagrange, + g: g.clone(), + g_lagrange: g_lag, g2, s_g2, } From dc5ece9bb9825349cf3a488538e1a12068328a50 Mon Sep 17 00:00:00 2001 From: ethan-000 Date: Tue, 2 May 2023 13:46:12 +0100 Subject: [PATCH 04/10] remove clone --- halo2_proofs/src/poly/kzg/commitment.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/halo2_proofs/src/poly/kzg/commitment.rs b/halo2_proofs/src/poly/kzg/commitment.rs index f25cc21e6d..8f5394f614 100644 --- a/halo2_proofs/src/poly/kzg/commitment.rs +++ b/halo2_proofs/src/poly/kzg/commitment.rs @@ -152,7 +152,7 @@ where Self { k, n, - g: g.clone(), + g: g, g_lagrange: g_lag, g2, s_g2, From 8bfefd68c869eb272a2aca1b925e8b723f15c95f Mon Sep 17 00:00:00 2001 From: ethan-000 Date: Tue, 2 May 2023 13:46:30 +0100 Subject: [PATCH 05/10] remove --- halo2_proofs/src/poly/kzg/commitment.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/halo2_proofs/src/poly/kzg/commitment.rs b/halo2_proofs/src/poly/kzg/commitment.rs index 8f5394f614..3c7cf2511e 100644 --- a/halo2_proofs/src/poly/kzg/commitment.rs +++ b/halo2_proofs/src/poly/kzg/commitment.rs @@ -152,7 +152,7 @@ where Self { k, n, - g: g, + g, g_lagrange: g_lag, g2, s_g2, From 2a43661a144ae806ebc7eeb32a227d064b0fd28a Mon Sep 17 00:00:00 2001 From: ethan-000 Date: Tue, 2 May 2023 13:49:59 +0100 Subject: [PATCH 06/10] no need to use new variable --- halo2_proofs/src/poly/kzg/commitment.rs | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/halo2_proofs/src/poly/kzg/commitment.rs b/halo2_proofs/src/poly/kzg/commitment.rs index 3c7cf2511e..d7952ee222 100644 --- a/halo2_proofs/src/poly/kzg/commitment.rs +++ b/halo2_proofs/src/poly/kzg/commitment.rs @@ -143,17 +143,15 @@ where s_g2: E::G2Affine, ) -> Self { let n = 1 << k; - let mut g_lag = Vec::new(); - if g_lagrange.is_some() { - g_lag = g_lagrange.unwrap() - } else { - g_lag = g_to_lagrange(g.iter().map(|g| PrimeCurveAffine::to_curve(g)).collect(), k) - } Self { k, n, + g_lagrange: if g_lagrange.is_some() { + g_lagrange.unwrap() + } else { + g_to_lagrange(g.iter().map(|g| PrimeCurveAffine::to_curve(g)).collect(), k) + }, g, - g_lagrange: g_lag, g2, s_g2, } From f97ef0e9615acd58bc31381b1e78a226beb2085b Mon Sep 17 00:00:00 2001 From: ethan-000 Date: Tue, 2 May 2023 13:51:43 +0100 Subject: [PATCH 07/10] change comment --- halo2_proofs/src/poly/kzg/commitment.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/halo2_proofs/src/poly/kzg/commitment.rs b/halo2_proofs/src/poly/kzg/commitment.rs index d7952ee222..79df7569a6 100644 --- a/halo2_proofs/src/poly/kzg/commitment.rs +++ b/halo2_proofs/src/poly/kzg/commitment.rs @@ -133,7 +133,7 @@ where } /// Initializes parameters for the curve through existing parameters - /// k, n, g, g_lagrange, g2, s_g2 + /// k, g, g_lagrange (optional), g2, s_g2 pub fn from_params( &self, k: u32, From 3390065c4a9e6cc9b1ce90d14b2195db11b57404 Mon Sep 17 00:00:00 2001 From: ethan-000 Date: Thu, 18 May 2023 10:10:36 +0100 Subject: [PATCH 08/10] fix clippy --- halo2_proofs/src/poly/kzg/commitment.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/halo2_proofs/src/poly/kzg/commitment.rs b/halo2_proofs/src/poly/kzg/commitment.rs index 79df7569a6..a14a65ce27 100644 --- a/halo2_proofs/src/poly/kzg/commitment.rs +++ b/halo2_proofs/src/poly/kzg/commitment.rs @@ -146,10 +146,10 @@ where Self { k, n, - g_lagrange: if g_lagrange.is_some() { - g_lagrange.unwrap() + g_lagrange: if let Some(g_l) = g_lagrange { + g_l } else { - g_to_lagrange(g.iter().map(|g| PrimeCurveAffine::to_curve(g)).collect(), k) + g_to_lagrange(g.iter().map(PrimeCurveAffine::to_curve).collect(), k) }, g, g2, From 4be3bb58b77eaa94f0f83577b339752f0d2cc970 Mon Sep 17 00:00:00 2001 From: ethan-000 Date: Thu, 18 May 2023 10:11:45 +0100 Subject: [PATCH 09/10] rename to from_parts --- halo2_proofs/src/poly/kzg/commitment.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/halo2_proofs/src/poly/kzg/commitment.rs b/halo2_proofs/src/poly/kzg/commitment.rs index a14a65ce27..fc010e9f20 100644 --- a/halo2_proofs/src/poly/kzg/commitment.rs +++ b/halo2_proofs/src/poly/kzg/commitment.rs @@ -134,7 +134,7 @@ where /// Initializes parameters for the curve through existing parameters /// k, g, g_lagrange (optional), g2, s_g2 - pub fn from_params( + pub fn from_parts( &self, k: u32, g: Vec, From 66d9f28d55f389581cfc6f4daa7dc1d1ffe5917a Mon Sep 17 00:00:00 2001 From: ethan-000 Date: Thu, 18 May 2023 11:44:06 +0100 Subject: [PATCH 10/10] remove n declaration --- halo2_proofs/src/poly/kzg/commitment.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/halo2_proofs/src/poly/kzg/commitment.rs b/halo2_proofs/src/poly/kzg/commitment.rs index fc010e9f20..51f0c660d0 100644 --- a/halo2_proofs/src/poly/kzg/commitment.rs +++ b/halo2_proofs/src/poly/kzg/commitment.rs @@ -142,10 +142,9 @@ where g2: E::G2Affine, s_g2: E::G2Affine, ) -> Self { - let n = 1 << k; Self { k, - n, + n: 1 << k, g_lagrange: if let Some(g_l) = g_lagrange { g_l } else {