From aa9740a98da2722c299eccadb593a7cd9dbcc317 Mon Sep 17 00:00:00 2001 From: M Alghazwi Date: Thu, 10 Jul 2025 12:26:04 +0200 Subject: [PATCH] move test types and refactor. --- workflow/src/aggregate.rs | 4 ++-- workflow/src/bn254_wrap.rs | 2 +- workflow/src/build_circ.rs | 4 ++-- workflow/src/gen_input.rs | 4 ++-- workflow/src/main.rs | 4 +++- workflow/src/params.rs | 10 ++++++++++ workflow/src/prove.rs | 4 ++-- workflow/src/verify.rs | 2 +- 8 files changed, 23 insertions(+), 11 deletions(-) create mode 100644 workflow/src/params.rs diff --git a/workflow/src/aggregate.rs b/workflow/src/aggregate.rs index 85d08ac..8f1b509 100755 --- a/workflow/src/aggregate.rs +++ b/workflow/src/aggregate.rs @@ -3,7 +3,7 @@ use std::time::Instant; use anyhow::{Context, Result}; use plonky2::plonk::proof::ProofWithPublicInputs; use codex_plonky2_circuits::recursion::tree::TreeRecursion; -use proof_input::params::{D, C, F, HF}; +use crate::params::{D, C, F, H}; use codex_plonky2_circuits::serialization::{export_proof_with_pi, export_verifier_circuit_data, import_proof_with_pi, import_verifier_circuit_data}; use crate::file_paths::{SAMPLING_CIRC_BASE_PATH, TREE_CIRC_BASE_PATH, COMPRESS_CIRC_BASE_PATH}; pub fn run(compress: bool) -> Result<()> { @@ -48,7 +48,7 @@ fn run_tree(compress: bool) -> Result<()> { let proofs: Vec> = (0..T).map(|_i| proof_with_pi.clone()).collect(); let start_time = Instant::now(); - let mut tree = TreeRecursion::::build_with_standard_config(verifier_data.clone()).unwrap(); + let mut tree = TreeRecursion::::build_with_standard_config(verifier_data.clone()).unwrap(); println!("build tree time: {:?}", start_time.elapsed()); let start_time = Instant::now(); diff --git a/workflow/src/bn254_wrap.rs b/workflow/src/bn254_wrap.rs index 5282952..e994499 100755 --- a/workflow/src/bn254_wrap.rs +++ b/workflow/src/bn254_wrap.rs @@ -4,7 +4,7 @@ use codex_plonky2_circuits::bn254_wrapper::config::PoseidonBN254GoldilocksConfig use codex_plonky2_circuits::bn254_wrapper::wrap::{WrapCircuit, WrapInput, WrappedOutput}; use codex_plonky2_circuits::circuit_trait::Plonky2Circuit; use codex_plonky2_circuits::serialization::{export_verifier_circuit_data, import_proof_with_pi, import_verifier_circuit_data}; -use proof_input::params::{D, C, F}; +use crate::params::{D, C, F}; use crate::file_paths::WRAP_CIRC_BASE_PATH; type OuterParameters = PoseidonBN254GoldilocksConfig; diff --git a/workflow/src/build_circ.rs b/workflow/src/build_circ.rs index 62a13fe..098f737 100755 --- a/workflow/src/build_circ.rs +++ b/workflow/src/build_circ.rs @@ -4,7 +4,7 @@ use codex_plonky2_circuits::circuit_trait::Plonky2Circuit; use codex_plonky2_circuits::circuits::sample_cells::SampleCircuit; use codex_plonky2_circuits::serialization::export_circuit_data; use proof_input::params::Params; -use proof_input::params::{D, C, F,HF}; +use crate::params::{D, C, F, H}; use crate::file_paths::SAMPLING_CIRC_BASE_PATH; pub fn run() -> Result<()> { @@ -13,7 +13,7 @@ pub fn run() -> Result<()> { // Create the circuit let circuit_params = params.circuit_params; - let circ = SampleCircuit::::new(circuit_params); + let circ = SampleCircuit::::new(circuit_params); let start_time = Instant::now(); let (targets, data) = circ.build_with_standard_config()?; println!("Build time: {:?}", start_time.elapsed()); diff --git a/workflow/src/gen_input.rs b/workflow/src/gen_input.rs index 2dd0c88..ac68551 100755 --- a/workflow/src/gen_input.rs +++ b/workflow/src/gen_input.rs @@ -3,7 +3,7 @@ use anyhow::Result; use proof_input::input_generator::serialization::export_circ_input_to_json; use proof_input::input_generator::InputGenerator; use proof_input::params::Params; -use proof_input::params::{D, F, HF}; +use crate::params::{D, H, F}; use crate::file_paths::SAMPLING_CIRC_BASE_PATH; pub fn run() -> Result<()> { @@ -12,7 +12,7 @@ pub fn run() -> Result<()> { // generate circuit input with given parameters let start_time = Instant::now(); - let input_gen = InputGenerator::::new(params.input_params); + let input_gen = InputGenerator::::new(params.input_params); let circ_input = input_gen.gen_testing_circuit_input(); println!("Generating input time: {:?}", start_time.elapsed()); diff --git a/workflow/src/main.rs b/workflow/src/main.rs index 0bdec35..882ac22 100755 --- a/workflow/src/main.rs +++ b/workflow/src/main.rs @@ -2,7 +2,8 @@ use anyhow::Result; use clap::{Parser, Subcommand}; use codex_plonky2_circuits::bn254_wrapper::config::PoseidonBN254GoldilocksConfig; use crate::file_paths::{COMPRESS_CIRC_BASE_PATH, SAMPLING_CIRC_BASE_PATH, TREE_CIRC_BASE_PATH, WRAP_CIRC_BASE_PATH}; -use proof_input::params::C; +use crate::params::C; + type OuterParameters = PoseidonBN254GoldilocksConfig; mod build_circ; @@ -12,6 +13,7 @@ mod gen_input; mod aggregate; mod bn254_wrap; mod file_paths; +mod params; /// Codex_zk_cli: unified CLI for all zk operations #[derive(Parser)] diff --git a/workflow/src/params.rs b/workflow/src/params.rs new file mode 100644 index 0000000..25d78bd --- /dev/null +++ b/workflow/src/params.rs @@ -0,0 +1,10 @@ +use plonky2::hash::poseidon::PoseidonHash; +use plonky2::plonk::config::PoseidonGoldilocksConfig; +use plonky2_field::goldilocks_field::GoldilocksField; + +// test types +// TODO: take these from cli args +pub const D: usize = 2; +pub type F = GoldilocksField; +pub type C = PoseidonGoldilocksConfig; +pub type H = PoseidonHash; \ No newline at end of file diff --git a/workflow/src/prove.rs b/workflow/src/prove.rs index a5c6da2..33ba92f 100755 --- a/workflow/src/prove.rs +++ b/workflow/src/prove.rs @@ -4,7 +4,7 @@ use codex_plonky2_circuits::circuit_trait::Plonky2Circuit; use proof_input::input_generator::serialization::{import_circ_input_from_json}; use codex_plonky2_circuits::circuits::sample_cells::{SampleCircuit, SampleCircuitInput, SampleTargets}; use codex_plonky2_circuits::circuits::params::CircuitParams; -use proof_input::params::{D, C, F, HF}; +use crate::params::{D, C, F, H}; use codex_plonky2_circuits::serialization::{export_proof_with_pi, import_prover_circuit_data, import_targets}; use crate::file_paths::SAMPLING_CIRC_BASE_PATH; pub fn run() -> Result<()> { @@ -25,7 +25,7 @@ pub fn run() -> Result<()> { println!("Circuit size (degree bits): {:?}", prover_data.common.degree_bits()); // Prove the circuit with the assigned witness - let circ = SampleCircuit::::new(circuit_params); + let circ = SampleCircuit::::new(circuit_params); let start_time = Instant::now(); let proof_with_pis = circ.prove(&circ_targets, &circ_input, &prover_data)?; println!("Proving time: {:?}", start_time.elapsed()); diff --git a/workflow/src/verify.rs b/workflow/src/verify.rs index 762d353..5276144 100755 --- a/workflow/src/verify.rs +++ b/workflow/src/verify.rs @@ -2,7 +2,7 @@ use std::time::Instant; use anyhow::Result; use plonky2::plonk::config::GenericConfig; use serde::Serialize; -use proof_input::params::{D, F}; +use crate::params::{D, F}; use codex_plonky2_circuits::serialization::{import_proof_with_pi, import_verifier_circuit_data}; pub fn run<