mirror of
https://github.com/arnaucube/sonobe.git
synced 2026-01-08 15:01:30 +01:00
HyperNova: add multi-instances folding to AugmentedFCircuit & IVC (#119)
- Adds the logic to support multi-instances folding in HyperNova's AugmentedFCircuit & IVC. - Adds also methods to generate new LCCCS & CCCS instances that don't depend on the main folding chain, to be folded in in the next step - Updates CycleFold circuit & methods to work other folding schemes than Nova, adapting it to fold multiple points per circuit (instead of 2-to-1 as till now) - Handle multi-instances folding in the FoldingScheme trait interface, which expects 'None' in Nova, and 'Some' in HyperNova & other multi-folding schemes.
This commit is contained in:
@@ -324,7 +324,7 @@ mod tests {
|
||||
);
|
||||
let nova_params = NOVA::preprocess(&mut rng, &prep_param).unwrap();
|
||||
let nova = NOVA::init(
|
||||
nova_params.clone(),
|
||||
&nova_params,
|
||||
f_circuit.clone(),
|
||||
vec![Fr::zero(); f_circuit.state_len()].clone(),
|
||||
)
|
||||
@@ -358,9 +358,9 @@ mod tests {
|
||||
|
||||
let mut rng = rand::rngs::OsRng;
|
||||
|
||||
let mut nova = NOVA::<FC>::init(fs_params, f_circuit, z_0).unwrap();
|
||||
let mut nova = NOVA::<FC>::init(&fs_params, f_circuit, z_0).unwrap();
|
||||
for _ in 0..n_steps {
|
||||
nova.prove_step(&mut rng, vec![]).unwrap();
|
||||
nova.prove_step(&mut rng, vec![], None).unwrap();
|
||||
}
|
||||
|
||||
let start = Instant::now();
|
||||
|
||||
Reference in New Issue
Block a user