From ebd4185117ad52f18b3204c1fbc2a77dc92d8ac9 Mon Sep 17 00:00:00 2001 From: Alex Koshelev Date: Tue, 29 Oct 2024 16:21:15 -0700 Subject: [PATCH] Remove extra generic params --- .../ipa_prf/malicious_security/lagrange.rs | 12 +++--- .../ipa_prf/malicious_security/prover.rs | 37 +++++++++---------- 2 files changed, 24 insertions(+), 25 deletions(-) diff --git a/ipa-core/src/protocol/ipa_prf/malicious_security/lagrange.rs b/ipa-core/src/protocol/ipa_prf/malicious_security/lagrange.rs index 32dbc3a18..e0fe6e199 100644 --- a/ipa-core/src/protocol/ipa_prf/malicious_security/lagrange.rs +++ b/ipa-core/src/protocol/ipa_prf/malicious_security/lagrange.rs @@ -101,11 +101,11 @@ where /// that were used to generate this table. /// It is assumed that the `y_coordinates` provided to this function correspond the values of the _input_ "x coordinates" /// that were used to generate this table. - pub fn eval(&self, y_coordinates: I) -> [F; M] + pub fn eval(&self, y_coordinates: I) -> [F; M] where - I: IntoIterator + Copy, + I: IntoIterator + Copy, I::IntoIter: ExactSizeIterator, - J: Borrow, + I::Item: Borrow, { debug_assert_eq!(y_coordinates.into_iter().len(), N); @@ -208,11 +208,11 @@ mod test { /// test helper function that evaluates a polynomial in monomial form, i.e. `sum_i c_i x^i` on points `x_output` /// where `c_0` to `c_N` are stored in `polynomial` - fn eval(&self, x_output: I) -> [F; M] + fn eval(&self, x_output: I) -> [F; M] where - I: IntoIterator, + I: IntoIterator, I::IntoIter: ExactSizeIterator, - J: Borrow, + I::Item: Borrow, { x_output .into_iter() diff --git a/ipa-core/src/protocol/ipa_prf/malicious_security/prover.rs b/ipa-core/src/protocol/ipa_prf/malicious_security/prover.rs index 808dc4476..af451b458 100644 --- a/ipa-core/src/protocol/ipa_prf/malicious_security/prover.rs +++ b/ipa-core/src/protocol/ipa_prf/malicious_security/prover.rs @@ -125,10 +125,10 @@ impl ProofGenerat /// /// Distributed Zero Knowledge Proofs algorithm drawn from /// `https://eprint.iacr.org/2023/909.pdf` - pub fn compute_proof(uv_iterator: J, lagrange_table: &LagrangeTable) -> [F; P] + pub fn compute_proof(uv_iterator: J, lagrange_table: &LagrangeTable) -> [F; P] where - J: Iterator, - B: Borrow<([F; L], [F; L])>, + J: Iterator, + J::Item: Borrow<([F; L], [F; L])>, { let mut proof = [F::ZERO; P]; for uv_polynomial in uv_iterator { @@ -147,14 +147,14 @@ impl ProofGenerat proof } - fn gen_challenge_and_recurse( + fn gen_challenge_and_recurse( proof_left: &[F; P], proof_right: &[F; P], uv_iterator: J, ) -> UVValues where - J: Iterator, - B: Borrow<([F; L], [F; L])>, + J: Iterator, + J::Item: Borrow<([F; L], [F; L])>, { let r: F = hash_to_field( &compute_hash(proof_left), @@ -213,7 +213,7 @@ impl ProofGenerat /// where /// `share_of_proof_from_prover_left` from left has type `Vec<[F; P]>`, /// `my_proof_left_share` has type `Vec<[F; P]>`, - pub fn gen_artefacts_from_recursive_step( + pub fn gen_artefacts_from_recursive_step( ctx: &C, record_ids: &mut RecordIdRange, lagrange_table: &LagrangeTable, @@ -221,8 +221,8 @@ impl ProofGenerat ) -> (UVValues, [F; P], [F; P]) where C: Context, - J: Iterator + Clone, - B: Borrow<([F; L], [F; L])>, + J: Iterator + Clone, + J::Item: Borrow<([F; L], [F; L])>, { // generate next proof // from iterator @@ -356,7 +356,7 @@ mod test { .unwrap(); // fiat-shamir - let uv_3 = TestProofGenerator::gen_challenge_and_recurse::<_, _, 4>( + let uv_3 = TestProofGenerator::gen_challenge_and_recurse::<_, 4>( &proof_left_2, &proof_right_2, uv_2.iter(), @@ -397,13 +397,12 @@ mod test { // first iteration let world = TestWorld::default(); let mut record_ids = RecordIdRange::ALL; - let (uv_values, _, _) = - TestProofGenerator::gen_artefacts_from_recursive_step::<_, _, _, 4>( - &world.contexts()[0], - &mut record_ids, - &lagrange_table, - uv_1.iter(), - ); + let (uv_values, _, _) = TestProofGenerator::gen_artefacts_from_recursive_step::<_, _, 4>( + &world.contexts()[0], + &mut record_ids, + &lagrange_table, + uv_1.iter(), + ); assert_eq!(7, uv_values.len()); }); @@ -441,7 +440,7 @@ mod test { assert_eq!(proof.len(), SmallProofGenerator::PROOF_LENGTH); - let uv_after = SmallProofGenerator::gen_challenge_and_recurse::<_, _, 8>( + let uv_after = SmallProofGenerator::gen_challenge_and_recurse::<_, 8>( &proof, &proof, uv_before.iter(), @@ -477,7 +476,7 @@ mod test { assert_eq!(proof.len(), LargeProofGenerator::PROOF_LENGTH); - let uv_after = LargeProofGenerator::gen_challenge_and_recurse::<_, _, 8>( + let uv_after = LargeProofGenerator::gen_challenge_and_recurse::<_, 8>( &proof, &proof, uv_before.iter(),