From 52c82f0c21ffa4e0a5340116ea967cc009c7360f Mon Sep 17 00:00:00 2001 From: wborgeaud Date: Wed, 5 Oct 2022 16:32:38 +0200 Subject: [PATCH] Minor --- plonky2/src/fri/mod.rs | 4 ++-- plonky2/src/gates/selectors.rs | 2 +- plonky2/src/plonk/circuit_data.rs | 4 ++-- .../plonk/conditional_recursive_verifier.rs | 18 ++++++++++-------- 4 files changed, 15 insertions(+), 13 deletions(-) diff --git a/plonky2/src/fri/mod.rs b/plonky2/src/fri/mod.rs index 38286312..82f21ec6 100644 --- a/plonky2/src/fri/mod.rs +++ b/plonky2/src/fri/mod.rs @@ -11,7 +11,7 @@ mod validate_shape; pub mod verifier; pub mod witness_util; -#[derive(Debug, Clone, Eq, PartialEq)] +#[derive(Debug, Clone)] pub struct FriConfig { /// `rate = 2^{-rate_bits}`. pub rate_bits: usize, @@ -50,7 +50,7 @@ impl FriConfig { /// FRI parameters, including generated parameters which are specific to an instance size, in /// contrast to `FriConfig` which is user-specified and independent of instance size. -#[derive(Debug, Eq, PartialEq)] +#[derive(Debug)] pub struct FriParams { /// User-specified FRI configuration. pub config: FriConfig, diff --git a/plonky2/src/gates/selectors.rs b/plonky2/src/gates/selectors.rs index 6cea86a7..fff5d967 100644 --- a/plonky2/src/gates/selectors.rs +++ b/plonky2/src/gates/selectors.rs @@ -9,7 +9,7 @@ use crate::hash::hash_types::RichField; /// Placeholder value to indicate that a gate doesn't use a selector polynomial. pub(crate) const UNUSED_SELECTOR: usize = u32::MAX as usize; -#[derive(Debug, Clone, Eq, PartialEq)] +#[derive(Debug, Clone)] pub(crate) struct SelectorsInfo { pub(crate) selector_indices: Vec, pub(crate) groups: Vec>, diff --git a/plonky2/src/plonk/circuit_data.rs b/plonky2/src/plonk/circuit_data.rs index c22eae3e..f2363f41 100644 --- a/plonky2/src/plonk/circuit_data.rs +++ b/plonky2/src/plonk/circuit_data.rs @@ -29,7 +29,7 @@ use crate::plonk::prover::prove; use crate::plonk::verifier::verify; use crate::util::timing::TimingTree; -#[derive(Clone, Debug, Eq, PartialEq)] +#[derive(Clone, Debug)] pub struct CircuitConfig { pub num_wires: usize, pub num_routed_wires: usize, @@ -239,7 +239,7 @@ pub struct VerifierOnlyCircuitData, const D: usize> { } /// Circuit data required by both the prover and the verifier. -#[derive(Debug, Eq, PartialEq)] +#[derive(Debug)] pub struct CommonCircuitData< F: RichField + Extendable, C: GenericConfig, diff --git a/plonky2/src/plonk/conditional_recursive_verifier.rs b/plonky2/src/plonk/conditional_recursive_verifier.rs index 0c6455c5..4fe79b4c 100644 --- a/plonky2/src/plonk/conditional_recursive_verifier.rs +++ b/plonky2/src/plonk/conditional_recursive_verifier.rs @@ -16,13 +16,15 @@ use crate::plonk::proof::{OpeningSetTarget, ProofTarget, ProofWithPublicInputsTa use crate::with_context; impl, const D: usize> CircuitBuilder { + /// Verify `proof0` if `condition` else verify `proof1`. + /// `proof0` and `proof1` are assumed to use the same `CommonCircuitData`. pub fn conditionally_verify_proof>( &mut self, condition: BoolTarget, - proof_with_pis: ProofWithPublicInputsTarget, - inner_verifier_data: &VerifierCircuitTarget, - dummy_proof_with_pis: ProofWithPublicInputsTarget, - dummy_verifier_data: &VerifierCircuitTarget, + proof_with_pis0: ProofWithPublicInputsTarget, + inner_verifier_data0: &VerifierCircuitTarget, + proof_with_pis1: ProofWithPublicInputsTarget, + verifier_data1: &VerifierCircuitTarget, inner_common_data: &CommonCircuitData, ) where C::Hasher: AlgebraicHasher, @@ -37,7 +39,7 @@ impl, const D: usize> CircuitBuilder { opening_proof, }, public_inputs, - } = proof_with_pis; + } = proof_with_pis0; let ProofWithPublicInputsTarget { proof: ProofTarget { @@ -49,7 +51,7 @@ impl, const D: usize> CircuitBuilder { opening_proof: dummy_opening_proof, }, public_inputs: dummy_public_inputs, - } = dummy_proof_with_pis; + } = proof_with_pis1; let selected_proof = with_context!(self, "select proof", { let selected_wires_cap = self.select_cap(condition, wires_cap, dummy_wires_cap); @@ -79,8 +81,8 @@ impl, const D: usize> CircuitBuilder { let selected_verifier_data = VerifierCircuitTarget { constants_sigmas_cap: self.select_cap( condition, - inner_verifier_data.constants_sigmas_cap.clone(), - dummy_verifier_data.constants_sigmas_cap.clone(), + inner_verifier_data0.constants_sigmas_cap.clone(), + verifier_data1.constants_sigmas_cap.clone(), ), };