sonobe-playground/src/circuit.rs
src/circuit.rsRaw
1use std::env::current_dir;
2
3use ark_bn254::Fr;
4use sonobe::frontend::{circom::CircomFCircuit, FCircuit};
5
6const IVC_STEP_WIDTH: usize = 2;
7const STEP_INPUT_WIDTH: usize = 256;
8
9pub fn create_circuit() -> CircomFCircuit<Fr> {
10 let root = current_dir().expect("Failed to get current directory");
11 let circuit_file = root.join("circuit/grayscale_step.r1cs");
12 let witness_generator_file = root.join("circuit/grayscale_step_js/grayscale_step.wasm");
13
14 let f_circuit_params = (
15 circuit_file.into(),
16 witness_generator_file.into(),
17 IVC_STEP_WIDTH,
18 STEP_INPUT_WIDTH,
19 );
20 CircomFCircuit::<Fr>::new(f_circuit_params).expect("Failed to create circuit")
21}