plonky2/src/recursive_verifier.rs

21 lines
693 B
Rust
Raw Normal View History

2021-03-25 15:20:14 -07:00
use crate::circuit_builder::CircuitBuilder;
2021-04-02 20:58:19 -07:00
use crate::circuit_data::{CircuitConfig, VerifierCircuitTarget};
2021-02-26 13:18:41 -08:00
use crate::field::field::Field;
2021-04-02 20:58:19 -07:00
use crate::gates::gate::GateRef;
use crate::proof::ProofTarget;
2021-02-26 13:18:41 -08:00
const MIN_WIRES: usize = 120; // TODO: Double check.
2021-03-30 10:02:00 -07:00
const MIN_ROUTED_WIRES: usize = 8; // TODO: Double check.
2021-04-02 20:58:19 -07:00
/// Recursively verifies an inner proof.
pub fn add_recursive_verifier<F: Field>(
builder: &mut CircuitBuilder<F>,
inner_config: CircuitConfig,
inner_circuit: VerifierCircuitTarget,
inner_gates: Vec<GateRef<F>>,
inner_proof: ProofTarget,
) {
assert!(builder.config.num_wires >= MIN_WIRES);
assert!(builder.config.num_wires >= MIN_ROUTED_WIRES);
2021-02-26 13:18:41 -08:00
}