diff --git a/constants/src/constants.rs b/constants/src/constants.rs index 8d2e52c..8435cf2 100644 --- a/constants/src/constants.rs +++ b/constants/src/constants.rs @@ -1,4 +1,5 @@ pub const NS: usize = 10; // Max number of statements in a POD pub const VL: usize = 10; // Max length of vectors +pub const L: usize = 0; // Max number of POD1-Introducer (1 level recursion) verifications pub const M: usize = 2; // Max number of Schnorr POD pub const N: usize = 2; // Max number of recursive proof verification in the creation of a POD diff --git a/pex/src/lib.rs b/pex/src/lib.rs index aeadf08..e2a2812 100644 --- a/pex/src/lib.rs +++ b/pex/src/lib.rs @@ -1,6 +1,6 @@ mod macros; mod pex_constants; -use constants::{M, N, NS, VL}; +use constants::{L, M, N, NS, VL}; pub mod repl; pub mod store; @@ -214,7 +214,7 @@ pub struct Env { bindings: Arc>>, sk: Option, script_id: Option, - prover_params: Option>>>, + prover_params: Option>>>, } #[derive(Clone, Debug)] @@ -744,7 +744,7 @@ impl PodBuilder { .collect::>()[..]; if let Some(prover_params) = &env.prover_params { let mut params = prover_params.lock().unwrap(); - POD::execute_plonky_gadget::(&mut params, &gpg_input, pending_ops) + POD::execute_plonky_gadget::(&mut params, &gpg_input, pending_ops) } else { POD::execute_oracle_gadget(&gpg_input, pending_ops) } @@ -759,7 +759,7 @@ impl Env { pod_store: Arc>, sk: Option, script_id: Option, - prover_params: Option>>>, + prover_params: Option>>>, ) -> Self { Self { user, diff --git a/pex/src/main.rs b/pex/src/main.rs index f9cd359..f9c5184 100644 --- a/pex/src/main.rs +++ b/pex/src/main.rs @@ -130,9 +130,16 @@ async fn main() -> Result<()> { let pod_store = Arc::new(Mutex::new(MyPods::default())); let spinner = create_spinner("Generating prover parameters..."); - let circuit_data = PlonkyButNotPlonkyGadget::::circuit_data().unwrap(); - let prover_params = - PlonkyButNotPlonkyGadget::::build_prover_params(circuit_data).unwrap(); + + let pod1_circuit_data = pod2::recursion::traits_examples::ExampleIntroducer::circuit_data()?; + let pod1_verifier_data = pod1_circuit_data.verifier_data(); + let circuit_data = + PlonkyButNotPlonkyGadget::::circuit_data(pod1_verifier_data).unwrap(); + let prover_params = PlonkyButNotPlonkyGadget::::build_prover_params( + pod1_verifier_data, + circuit_data, + ) + .unwrap(); spinner.finish_and_clear(); println!("⚙️ Prover parameters generated"); let env = Env::new(