From 9f004c9664255d433c9904ac961f007425952e19 Mon Sep 17 00:00:00 2001 From: wborgeaud Date: Tue, 10 Aug 2021 16:18:42 +0200 Subject: [PATCH] Clippy --- src/fri/commitment.rs | 5 +++-- src/fri/proof.rs | 2 +- src/fri/prover.rs | 1 - src/fri/recursive_verifier.rs | 3 +-- src/fri/verifier.rs | 1 - src/hash/merkle_proofs.rs | 21 +++++++-------------- src/plonk/circuit_builder.rs | 1 - src/plonk/circuit_data.rs | 2 +- src/plonk/proof.rs | 2 +- 9 files changed, 14 insertions(+), 24 deletions(-) diff --git a/src/fri/commitment.rs b/src/fri/commitment.rs index 5a64bb43..d62fa33d 100644 --- a/src/fri/commitment.rs +++ b/src/fri/commitment.rs @@ -3,8 +3,7 @@ use rayon::prelude::*; use crate::field::extension_field::Extendable; use crate::field::field_types::Field; use crate::fri::proof::FriProof; -use crate::fri::{prover::fri_proof, verifier::verify_fri_proof}; -use crate::hash::hash_types::HashOut; +use crate::fri::prover::fri_proof; use crate::hash::merkle_tree::MerkleTree; use crate::iop::challenger::Challenger; use crate::plonk::circuit_data::CommonCircuitData; @@ -246,7 +245,9 @@ mod tests { use anyhow::Result; use super::*; + use crate::fri::verifier::verify_fri_proof; use crate::fri::FriConfig; + use crate::hash::hash_types::HashOut; use crate::plonk::circuit_data::CircuitConfig; fn gen_random_test_case, const D: usize>( diff --git a/src/fri/proof.rs b/src/fri/proof.rs index af5bacf0..4ee5bafb 100644 --- a/src/fri/proof.rs +++ b/src/fri/proof.rs @@ -4,7 +4,7 @@ use crate::field::extension_field::target::ExtensionTarget; use crate::field::extension_field::Extendable; use crate::field::field_types::Field; use crate::gadgets::polynomial::PolynomialCoeffsExtTarget; -use crate::hash::hash_types::{HashOut, HashOutTarget, MerkleCapTarget}; +use crate::hash::hash_types::MerkleCapTarget; use crate::hash::merkle_proofs::{MerkleProof, MerkleProofTarget}; use crate::hash::merkle_tree::MerkleCap; use crate::iop::target::Target; diff --git a/src/fri/prover.rs b/src/fri/prover.rs index eaecac2d..431fbe70 100644 --- a/src/fri/prover.rs +++ b/src/fri/prover.rs @@ -154,7 +154,6 @@ fn fri_prover_query_round, const D: usize>( .collect::>(); for (i, tree) in trees.iter().enumerate() { let arity_bits = config.reduction_arity_bits[i]; - let arity = 1 << arity_bits; let evals = unflatten(tree.get(x_index >> arity_bits)); let merkle_proof = tree.prove(x_index >> arity_bits); diff --git a/src/fri/recursive_verifier.rs b/src/fri/recursive_verifier.rs index ff480d8c..fc90be35 100644 --- a/src/fri/recursive_verifier.rs +++ b/src/fri/recursive_verifier.rs @@ -3,7 +3,7 @@ use crate::field::extension_field::Extendable; use crate::field::field_types::Field; use crate::fri::proof::{FriInitialTreeProofTarget, FriProofTarget, FriQueryRoundTarget}; use crate::fri::FriConfig; -use crate::hash::hash_types::{HashOutTarget, MerkleCapTarget}; +use crate::hash::hash_types::MerkleCapTarget; use crate::iop::challenger::RecursiveChallenger; use crate::iop::target::Target; use crate::plonk::circuit_builder::CircuitBuilder; @@ -212,7 +212,6 @@ impl, const D: usize> CircuitBuilder { let config = self.config.clone(); let degree_log = common_data.config.cap_height + proof.evals_proofs[0].1.siblings.len() - config.rate_bits; - let one = self.one_extension(); let subgroup_x = self.convert_to_ext(subgroup_x); let vanish_zeta = self.sub_extension(subgroup_x, zeta); let mut alpha = ReducingFactorTarget::new(alpha); diff --git a/src/fri/verifier.rs b/src/fri/verifier.rs index f7f2da21..e9f64720 100644 --- a/src/fri/verifier.rs +++ b/src/fri/verifier.rs @@ -5,7 +5,6 @@ use crate::field::field_types::Field; use crate::field::interpolation::{barycentric_weights, interpolate, interpolate2}; use crate::fri::proof::{FriInitialTreeProof, FriProof, FriQueryRound}; use crate::fri::FriConfig; -use crate::hash::hash_types::HashOut; use crate::hash::hashing::hash_n_to_1; use crate::hash::merkle_proofs::verify_merkle_proof; use crate::hash::merkle_tree::MerkleCap; diff --git a/src/hash/merkle_proofs.rs b/src/hash/merkle_proofs.rs index 76a791c8..5b99fa19 100644 --- a/src/hash/merkle_proofs.rs +++ b/src/hash/merkle_proofs.rs @@ -1,5 +1,3 @@ -use std::convert::TryInto; - use anyhow::{ensure, Result}; use serde::{Deserialize, Serialize}; @@ -62,6 +60,7 @@ pub(crate) fn verify_merkle_proof( impl, const D: usize> CircuitBuilder { /// Verifies that the given leaf data is present at the given index in the Merkle tree with the /// given cap. The index is given by it's little-endian bits. + /// Note: Works only for D=4. pub(crate) fn verify_merkle_proof( &mut self, leaf_data: Vec, @@ -113,24 +112,22 @@ impl, const D: usize> CircuitBuilder { let index = self.le_sum(leaf_index_bits[proof.siblings.len()..].to_vec().into_iter()); let mut state_ext = [zero; D]; - for i in 0..D { - state_ext[i] = state.elements[i]; - } + state_ext[..D].copy_from_slice(&state.elements[..D]); let state_ext = ExtensionTarget(state_ext); let cap_ext = merkle_cap .0 .iter() .map(|h| { let mut tmp = [zero; D]; - for i in 0..D { - tmp[i] = h.elements[i]; - } + tmp[..D].copy_from_slice(&h.elements[..D]); ExtensionTarget(tmp) }) .collect(); self.random_access(index, state_ext, cap_ext); } + /// Same a `verify_merkle_proof` but with the final "cap index" as extra parameter. + /// Note: Works only for D=4. pub(crate) fn verify_merkle_proof_with_cap_index( &mut self, leaf_data: Vec, @@ -182,18 +179,14 @@ impl, const D: usize> CircuitBuilder { } let mut state_ext = [zero; D]; - for i in 0..D { - state_ext[i] = state.elements[i]; - } + state_ext[..D].copy_from_slice(&state.elements[..D]); let state_ext = ExtensionTarget(state_ext); let cap_ext = merkle_cap .0 .iter() .map(|h| { let mut tmp = [zero; D]; - for i in 0..D { - tmp[i] = h.elements[i]; - } + tmp[..D].copy_from_slice(&h.elements[..D]); ExtensionTarget(tmp) }) .collect(); diff --git a/src/plonk/circuit_builder.rs b/src/plonk/circuit_builder.rs index 823b9e8d..d783d890 100644 --- a/src/plonk/circuit_builder.rs +++ b/src/plonk/circuit_builder.rs @@ -15,7 +15,6 @@ use crate::gates::noop::NoopGate; use crate::gates::public_input::PublicInputGate; use crate::hash::hash_types::{HashOutTarget, MerkleCapTarget}; use crate::hash::hashing::hash_n_to_hash; -use crate::hash::merkle_tree::MerkleCap; use crate::iop::generator::{CopyGenerator, RandomValueGenerator, WitnessGenerator}; use crate::iop::target::Target; use crate::iop::wire::Wire; diff --git a/src/plonk/circuit_data.rs b/src/plonk/circuit_data.rs index 7c3d3985..2441d810 100644 --- a/src/plonk/circuit_data.rs +++ b/src/plonk/circuit_data.rs @@ -7,7 +7,7 @@ use crate::field::field_types::Field; use crate::fri::commitment::PolynomialBatchCommitment; use crate::fri::FriConfig; use crate::gates::gate::{GateInstance, PrefixedGate}; -use crate::hash::hash_types::{HashOut, HashOutTarget, MerkleCapTarget}; +use crate::hash::hash_types::{HashOut, MerkleCapTarget}; use crate::hash::merkle_tree::MerkleCap; use crate::iop::generator::WitnessGenerator; use crate::iop::target::Target; diff --git a/src/plonk/proof.rs b/src/plonk/proof.rs index 64bfc90f..2ebe362b 100644 --- a/src/plonk/proof.rs +++ b/src/plonk/proof.rs @@ -5,7 +5,7 @@ use crate::field::extension_field::target::ExtensionTarget; use crate::field::extension_field::Extendable; use crate::fri::commitment::PolynomialBatchCommitment; use crate::fri::proof::{FriProof, FriProofTarget}; -use crate::hash::hash_types::{HashOut, HashOutTarget, MerkleCapTarget}; +use crate::hash::hash_types::MerkleCapTarget; use crate::hash::merkle_tree::MerkleCap; use crate::iop::target::Target; use crate::plonk::circuit_data::CommonCircuitData;