From 6876c069851c1fcdd6e6766feddd71c1dedc90f4 Mon Sep 17 00:00:00 2001 From: Hanting Zhang Date: Thu, 11 Jan 2024 19:15:14 +0000 Subject: [PATCH] switch back to variable... --- src/lib.rs | 25 +++++++++++++++---------- src/nifs.rs | 6 +++--- src/provider/pasta.rs | 2 +- src/r1cs/mod.rs | 12 ++++++------ src/supernova/mod.rs | 4 ++-- 5 files changed, 27 insertions(+), 22 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 2e693ad67..f732bbe93 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -474,7 +474,7 @@ where // fold the secondary circuit's instance let nifs_secondary = NIFS::prove_mut( - // &pp.ck_secondary, + &pp.ck_secondary, &self.buffer_secondary.msm_context, &pp.ro_consts_secondary, &scalar_as_base::(pp.digest()), @@ -511,14 +511,16 @@ where let zi_primary = circuit_primary.synthesize(&mut cs_primary)?; - let (l_u_primary, l_w_primary) = cs_primary.r1cs_fixed( - &pp.circuit_shape_primary.r1cs_shape, - &self.buffer_primary.msm_context, - )?; + // let (l_u_primary, l_w_primary) = cs_primary.r1cs_fixed( + // &pp.circuit_shape_primary.r1cs_shape, + // &self.buffer_primary.msm_context, + // )?; + let (l_u_primary, l_w_primary) = + cs_primary.r1cs_instance_and_witness(&pp.circuit_shape_primary.r1cs_shape, &pp.ck_primary)?; // fold the primary circuit's instance let nifs_primary = NIFS::prove_mut( - // &pp.ck_primary, + &pp.ck_primary, &self.buffer_primary.msm_context, &pp.ro_consts_primary, &pp.digest(), @@ -554,11 +556,14 @@ where ); let zi_secondary = circuit_secondary.synthesize(&mut cs_secondary)?; + // let (l_u_secondary, l_w_secondary) = cs_secondary + // .r1cs_fixed( + // &pp.circuit_shape_secondary.r1cs_shape, + // &self.buffer_secondary.msm_context, + // ) + // .map_err(|_e| NovaError::UnSat)?; let (l_u_secondary, l_w_secondary) = cs_secondary - .r1cs_fixed( - &pp.circuit_shape_secondary.r1cs_shape, - &self.buffer_secondary.msm_context, - ) + .r1cs_instance_and_witness(&pp.circuit_shape_secondary.r1cs_shape, &pp.ck_secondary) .map_err(|_e| NovaError::UnSat)?; // update the running instances and witnesses diff --git a/src/nifs.rs b/src/nifs.rs index 15f544770..a95fa957d 100644 --- a/src/nifs.rs +++ b/src/nifs.rs @@ -85,8 +85,8 @@ impl NIFS { #[allow(clippy::too_many_arguments)] #[tracing::instrument(skip_all, level = "trace", name = "NIFS::prove_mut")] pub fn prove_mut( - // ck: &CommitmentKey, - context: &MSMContext<'_, E>, + _ck: &CommitmentKey, + _context: &MSMContext<'_, E>, ro_consts: &ROConstants, pp_digest: &E::Scalar, S: &R1CSShape, @@ -109,7 +109,7 @@ impl NIFS { U2.absorb_in_ro(&mut ro); // compute a commitment to the cross-term - let comm_T = S.commit_T_into(context, U1, W1, U2, W2, T, ABC_Z_1, ABC_Z_2)?; + let comm_T = S.commit_T_into(_ck, _context, U1, W1, U2, W2, T, ABC_Z_1, ABC_Z_2)?; // append `comm_T` to the transcript and obtain a challenge comm_T.absorb_in_ro(&mut ro); diff --git a/src/provider/pasta.rs b/src/provider/pasta.rs index b14902dca..9af765e05 100644 --- a/src/provider/pasta.rs +++ b/src/provider/pasta.rs @@ -120,7 +120,7 @@ macro_rules! impl_traits { let zero_count = scalars.par_iter().filter(|s|<$name::Scalar as ff::Field>::is_zero_vartime(s)).count(); let start = std::time::Instant::now(); let ret = grumpkin_msm::pasta::$name::msm(bases, scalars); - eprintln!("zeros, scalars, preallocated-time: {}, {}, {:?}", zero_count, scalars.len(), start.elapsed()); + eprintln!("zeros, scalars, time: {}, {}, {:?}", zero_count, scalars.len(), start.elapsed()); ret } else { cpu_best_msm(bases, scalars) diff --git a/src/r1cs/mod.rs b/src/r1cs/mod.rs index a482db7b5..92bc7c2ca 100644 --- a/src/r1cs/mod.rs +++ b/src/r1cs/mod.rs @@ -469,8 +469,8 @@ impl R1CSShape { /// This is [`R1CSShape::commit_T`] but into a buffer. pub fn commit_T_into( &self, - // ck: &CommitmentKey, - context: &MSMContext<'_, E>, + _ck: &CommitmentKey, + _context: &MSMContext<'_, E>, U1: &RelaxedR1CSInstance, W1: &RelaxedR1CSWitness, U2: &R1CSInstance, @@ -511,12 +511,12 @@ impl R1CSShape { .collect_into_vec(T) }); - eprint!("commit T: "); - let commit_T_fixed = CE::::commit_fixed(context, T); - // let commit_T = CE::::commit(ck, T); + // let commit_T_fixed = CE::::commit_fixed(_context, T); + let commit_T = CE::::commit(_ck, T); // assert_eq!(commit_T_fixed, commit_T); - Ok(commit_T_fixed) + // Ok(commit_T_fixed) + Ok(commit_T) } /// Pads the `R1CSShape` so that the number of variables is a power of two diff --git a/src/supernova/mod.rs b/src/supernova/mod.rs index dc9ebd9da..aea8687ba 100644 --- a/src/supernova/mod.rs +++ b/src/supernova/mod.rs @@ -693,7 +693,7 @@ where // fold the secondary circuit's instance let nifs_secondary = NIFS::prove_mut( - // &pp.ck_secondary, + &pp.ck_secondary, &self.buffer_secondary.msm_context, &pp.ro_consts_secondary, &scalar_as_base::(self.pp_digest), @@ -767,7 +767,7 @@ where }; let nifs_primary = NIFS::prove_mut( - // &pp.ck_primary, + &pp.ck_primary, &self.buffer_primary.msm_context, &pp.ro_consts_primary, &self.pp_digest,