mirror of
https://github.com/logos-storage/proof-aggregation.git
synced 2026-01-02 13:53:13 +00:00
remove tests
This commit is contained in:
parent
44cf8ad361
commit
dabca56c51
@ -280,95 +280,3 @@ pub fn import_targets<T, P: AsRef<Path>>(base_path: P) -> anyhow::Result<T>
|
||||
.with_context(|| format!("Failed to deserialize targets from {:?}", full_path))?;
|
||||
Ok(targets)
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
use std::path::Path;
|
||||
use plonky2::gates::noop::NoopGate;
|
||||
use plonky2::iop::target::Target;
|
||||
use plonky2::iop::witness::{PartialWitness, WitnessWrite};
|
||||
use plonky2::plonk::circuit_builder::CircuitBuilder;
|
||||
use plonky2::plonk::circuit_data::{CircuitConfig, ProverCircuitData, VerifierCircuitData};
|
||||
use plonky2::plonk::config::PoseidonGoldilocksConfig;
|
||||
use plonky2::plonk::proof::ProofWithPublicInputs;
|
||||
use plonky2_field::goldilocks_field::GoldilocksField;
|
||||
use plonky2_field::types::Field;
|
||||
|
||||
const D: usize = 2;
|
||||
|
||||
type F = GoldilocksField;
|
||||
type C = PoseidonGoldilocksConfig;
|
||||
|
||||
#[test]
|
||||
fn test_export_and_import_circuit_data_roundtrip() -> anyhow::Result<()> {
|
||||
use serde::Serialize;
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, Serialize, serde::Deserialize)]
|
||||
struct DummyTargets {
|
||||
a: Target,
|
||||
}
|
||||
|
||||
let conf = CircuitConfig::standard_recursion_config();
|
||||
let mut builder = CircuitBuilder::<F, D>::new(conf);
|
||||
for _ in 0..128 {
|
||||
builder.add_gate(NoopGate, vec![]);
|
||||
}
|
||||
let t = builder.add_virtual_public_input();
|
||||
|
||||
let dummy_circuit = builder.build::<C>();
|
||||
let mut pw = PartialWitness::new();
|
||||
pw.set_target(t, F::ZERO).expect("faulty assign");
|
||||
let dummy_inner_proof = dummy_circuit.prove(pw).unwrap();
|
||||
assert!(dummy_circuit.verify(dummy_inner_proof.clone()).is_ok());
|
||||
|
||||
let dummy_t = DummyTargets{a: t};
|
||||
|
||||
let base_output = Path::new("../output/sampling_circ");
|
||||
export_circuit_data::<F,C,D,_>(dummy_circuit, &dummy_t, base_output)?;
|
||||
|
||||
let imported_prover: ProverCircuitData<F, C, D> =
|
||||
import_prover_circuit_data(base_output)?;
|
||||
let imported_verifier: VerifierCircuitData<F, C, D> =
|
||||
import_verifier_circuit_data(base_output)?;
|
||||
let imported_target: DummyTargets = import_targets(base_output)?;
|
||||
|
||||
let mut pw = PartialWitness::new();
|
||||
pw.set_target(imported_target.a, F::ZERO).expect("faulty assign");
|
||||
let proof_with_pis = imported_prover.prove(pw).unwrap();
|
||||
assert!(
|
||||
imported_verifier.verify(proof_with_pis).is_ok(),
|
||||
"imported verifier failed to verify"
|
||||
);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_export_and_import_proof_with_pi() -> anyhow::Result<()> {
|
||||
let conf = CircuitConfig::standard_recursion_config();
|
||||
let mut builder = CircuitBuilder::<F, D>::new(conf);
|
||||
for _ in 0..128 {
|
||||
builder.add_gate(NoopGate, vec![]);
|
||||
}
|
||||
let t = builder.add_virtual_public_input();
|
||||
|
||||
let dummy_circuit = builder.build::<C>();
|
||||
let mut pw = PartialWitness::new();
|
||||
pw.set_target(t, F::ZERO).expect("faulty assign");
|
||||
let dummy_inner_proof = dummy_circuit.prove(pw).unwrap();
|
||||
assert!(dummy_circuit.verify(dummy_inner_proof.clone()).is_ok());
|
||||
|
||||
let base_output = Path::new("../output/sampling_circ");
|
||||
export_proof_with_pi(&dummy_inner_proof, base_output)?;
|
||||
|
||||
let imported_proof: ProofWithPublicInputs<F, C, D> =
|
||||
import_proof_with_pi(base_output)?;
|
||||
assert!(
|
||||
dummy_circuit.verify(imported_proof).is_ok(),
|
||||
"Imported proof failed verification"
|
||||
);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user