mirror of
https://github.com/logos-storage/plonky2.git
synced 2026-01-03 06:13:07 +00:00
Minor
This commit is contained in:
parent
2982f45afa
commit
52c82f0c21
@ -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,
|
||||
|
||||
@ -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<usize>,
|
||||
pub(crate) groups: Vec<Range<usize>>,
|
||||
|
||||
@ -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<C: GenericConfig<D>, 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<D>,
|
||||
C: GenericConfig<D, F = F>,
|
||||
|
||||
@ -16,13 +16,15 @@ use crate::plonk::proof::{OpeningSetTarget, ProofTarget, ProofWithPublicInputsTa
|
||||
use crate::with_context;
|
||||
|
||||
impl<F: RichField + Extendable<D>, const D: usize> CircuitBuilder<F, D> {
|
||||
/// Verify `proof0` if `condition` else verify `proof1`.
|
||||
/// `proof0` and `proof1` are assumed to use the same `CommonCircuitData`.
|
||||
pub fn conditionally_verify_proof<C: GenericConfig<D, F = F>>(
|
||||
&mut self,
|
||||
condition: BoolTarget,
|
||||
proof_with_pis: ProofWithPublicInputsTarget<D>,
|
||||
inner_verifier_data: &VerifierCircuitTarget,
|
||||
dummy_proof_with_pis: ProofWithPublicInputsTarget<D>,
|
||||
dummy_verifier_data: &VerifierCircuitTarget,
|
||||
proof_with_pis0: ProofWithPublicInputsTarget<D>,
|
||||
inner_verifier_data0: &VerifierCircuitTarget,
|
||||
proof_with_pis1: ProofWithPublicInputsTarget<D>,
|
||||
verifier_data1: &VerifierCircuitTarget,
|
||||
inner_common_data: &CommonCircuitData<F, C, D>,
|
||||
) where
|
||||
C::Hasher: AlgebraicHasher<F>,
|
||||
@ -37,7 +39,7 @@ impl<F: RichField + Extendable<D>, const D: usize> CircuitBuilder<F, D> {
|
||||
opening_proof,
|
||||
},
|
||||
public_inputs,
|
||||
} = proof_with_pis;
|
||||
} = proof_with_pis0;
|
||||
let ProofWithPublicInputsTarget {
|
||||
proof:
|
||||
ProofTarget {
|
||||
@ -49,7 +51,7 @@ impl<F: RichField + Extendable<D>, const D: usize> CircuitBuilder<F, D> {
|
||||
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<F: RichField + Extendable<D>, const D: usize> CircuitBuilder<F, D> {
|
||||
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(),
|
||||
),
|
||||
};
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user