When constraints are unsatisfied, show first one (#21) Useful for debugging
oskarth ot@oskarthoren.com
Fri, 25 Feb 2022 18:25:03 +0800
1 files changed,
9 insertions(+),
1 deletions(-)
jump to
M
src/circom/builder.rs
→
src/circom/builder.rs
@@ -83,7 +83,15 @@ debug_assert!({
use ark_relations::r1cs::{ConstraintSynthesizer, ConstraintSystem}; let cs = ConstraintSystem::<E::Fr>::new_ref(); circom.clone().generate_constraints(cs.clone()).unwrap(); - cs.is_satisfied().unwrap() + let is_satisfied = cs.is_satisfied().unwrap(); + if !is_satisfied { + println!( + "Unsatisfied constraint: {:?}", + cs.which_is_unsatisfied().unwrap() + ); + } + + is_satisfied }); Ok(circom)