arnaucube
arnaucube/hash-chain-sonobePublic Self-hosted repository
update to latest sonobe version
arnaucube git@arnaucube.com
Tue, 05 Nov 2024 18:16:51 +0100
commit

8fea475d67cb12a37b51374d029255f42468bda8

parent

b5dfb945f1035d874720bbf96abefd4acc028ae7

2 files changed, 11 insertions(+), 9 deletions(-)

jump to
M src/poseidon_chain.rs → src/poseidon_chain.rs

@@ -96,7 +96,7 @@ let z_0: Vec<Fr> = z_0_aux.iter().map(|v| Fr::from(*v)).collect::<Vec<Fr>>();

let poseidon_config = poseidon_canonical_config::<Fr>(); let f_circuit = - PoseidonFoldStepCircuit::<Fr, HASHES_PER_STEP>::new(poseidon_config).unwrap(); + PoseidonFoldStepCircuit::<Fr, HASHES_PER_STEP>::new(poseidon_config.clone()).unwrap(); // ---------------- // Sanity check

@@ -137,7 +137,8 @@

let mut rng = rand::rngs::OsRng; // prepare the Nova prover & verifier params - let nova_preprocess_params = PreprocessorParam::new(poseidon_config, f_circuit.clone()); + let nova_preprocess_params = + PreprocessorParam::new(poseidon_config.clone(), f_circuit.clone()); let start = Instant::now(); let nova_params = FS::preprocess(&mut rng, &nova_preprocess_params).unwrap(); println!("Nova params generated: {:?}", start.elapsed());
M src/sha_chain_onchain.rs → src/sha_chain_onchain.rs

@@ -27,9 +27,12 @@ use std::marker::PhantomData;

use folding_schemes::{ commitment::{kzg::KZG, pedersen::Pedersen}, - folding::nova::{ - decider_eth::{prepare_calldata, Decider as DeciderEth}, - Nova, PreprocessorParam, + folding::{ + nova::{ + decider_eth::{prepare_calldata, Decider as DeciderEth}, + Nova, PreprocessorParam, + }, + traits::CommittedInstanceOps, }, frontend::FCircuit, transcript::poseidon::poseidon_canonical_config,

@@ -175,7 +178,6 @@ // prepare the Nova prover & verifier params

let nova_preprocess_params = PreprocessorParam::new(poseidon_config, f_circuit); let start = Instant::now(); let nova_params = FS::preprocess(&mut rng, &nova_preprocess_params).unwrap(); - let pp_hash = nova_params.1.pp_hash().unwrap(); println!("Nova params generated: {:?}", start.elapsed()); // initialize the folding scheme engine, in our case we use Nova

@@ -225,8 +227,8 @@ decider_vp.clone(),

nova.i, nova.z_0.clone(), nova.z_i.clone(), - &nova.U_i, - &nova.u_i, + &nova.U_i.get_commitments(), + &nova.u_i.get_commitments(), &proof, ) .unwrap();

@@ -239,7 +241,6 @@ get_function_selector_for_nova_cyclefold_verifier(nova.z_0.len() * 2 + 1);

let calldata: Vec<u8> = prepare_calldata( function_selector, - pp_hash, nova.i, nova.z_0, nova.z_i,