From 67761407403c8866d78416957920d2735940385d Mon Sep 17 00:00:00 2001 From: eigmax Date: Tue, 12 Mar 2024 12:48:56 +0000 Subject: [PATCH] fix: erause unsued mut --- starky/src/prove.rs | 2 +- starky/src/stark_gen.rs | 20 ++++++++++---------- starky/src/stark_verify.rs | 16 ++++++---------- 3 files changed, 17 insertions(+), 21 deletions(-) diff --git a/starky/src/prove.rs b/starky/src/prove.rs index 05c6ba30..2242d602 100644 --- a/starky/src/prove.rs +++ b/starky/src/prove.rs @@ -124,7 +124,7 @@ fn prove< &setup.const_root, &setup.starkinfo, stark_struct, - &mut setup.program, + &setup.program, )?; assert!(result); diff --git a/starky/src/stark_gen.rs b/starky/src/stark_gen.rs index 269acd2c..c655c7dc 100644 --- a/starky/src/stark_gen.rs +++ b/starky/src/stark_gen.rs @@ -1121,7 +1121,7 @@ pub mod tests { let setup = StarkSetup::::new(&const_pol, &mut pil, &stark_struct, None).unwrap(); let serialized = serde_json::to_string(&setup).unwrap(); - let mut setup: StarkSetup = serde_json::from_str(&serialized).unwrap(); + let setup: StarkSetup = serde_json::from_str(&serialized).unwrap(); let fr_root: Fr = Fr(setup.const_root.as_scalar::()); log::trace!("setup {}", fr_root); @@ -1144,7 +1144,7 @@ pub mod tests { &setup.const_root, &setup.starkinfo, &stark_struct, - &mut setup.program, + &setup.program, ) .unwrap(); assert!(result); @@ -1163,7 +1163,7 @@ pub mod tests { let setup = StarkSetup::::new(&const_pol, &mut pil, &stark_struct, None).unwrap(); let serialized = serde_json::to_string(&setup).unwrap(); - let mut setup: StarkSetup = serde_json::from_str(&serialized).unwrap(); + let setup: StarkSetup = serde_json::from_str(&serialized).unwrap(); let starkproof = StarkProof::::stark_gen::( cm_pol, @@ -1184,7 +1184,7 @@ pub mod tests { &setup.const_root, &setup.starkinfo, &stark_struct, - &mut setup.program, + &setup.program, ) .unwrap(); assert!(result); @@ -1201,7 +1201,7 @@ pub mod tests { let setup = StarkSetup::::new(&const_pol, &mut pil, &stark_struct, None).unwrap(); let serialized = serde_json::to_string(&setup).unwrap(); - let mut setup: StarkSetup = serde_json::from_str(&serialized).unwrap(); + let setup: StarkSetup = serde_json::from_str(&serialized).unwrap(); let starkproof = StarkProof::::stark_gen::( cm_pol, const_pol, @@ -1219,7 +1219,7 @@ pub mod tests { &setup.const_root, &setup.starkinfo, &stark_struct, - &mut setup.program, + &setup.program, ) .unwrap(); assert!(result); @@ -1237,7 +1237,7 @@ pub mod tests { StarkSetup::::new(&const_pol, &mut pil, &stark_struct, None).unwrap(); let serialized = serde_json::to_string(&setup_).unwrap(); - let mut setup: StarkSetup = serde_json::from_str(&serialized).unwrap(); + let setup: StarkSetup = serde_json::from_str(&serialized).unwrap(); let starkproof = StarkProof::::stark_gen::( cm_pol, @@ -1256,7 +1256,7 @@ pub mod tests { &setup.const_root, &setup.starkinfo, &stark_struct, - &mut setup.program, + &setup.program, ) .unwrap(); assert!(result); @@ -1274,7 +1274,7 @@ pub mod tests { StarkSetup::::new(&const_pol, &mut pil, &stark_struct, None).unwrap(); let serialized = serde_json::to_string(&setup_).unwrap(); - let mut setup: StarkSetup = serde_json::from_str(&serialized).unwrap(); + let setup: StarkSetup = serde_json::from_str(&serialized).unwrap(); let starkproof = StarkProof::::stark_gen::( cm_pol, @@ -1293,7 +1293,7 @@ pub mod tests { &setup.const_root, &setup.starkinfo, &stark_struct, - &mut setup.program, + &setup.program, ) .unwrap(); assert!(result); diff --git a/starky/src/stark_verify.rs b/starky/src/stark_verify.rs index e412df53..63f7c1c6 100644 --- a/starky/src/stark_verify.rs +++ b/starky/src/stark_verify.rs @@ -16,14 +16,13 @@ use fields::field_gl::Fr as FGL; use profiler_macro::time_profiler; use std::collections::HashMap; -//FIXME it doesn't make sense to ask for a mutable program #[time_profiler("stark_verify")] pub fn stark_verify( proof: &StarkProof, const_root: &M::MTNode, starkinfo: &StarkInfo, stark_struct: &StarkStruct, - program: &mut Program, + program: &Program, ) -> Result { let mut transcript = T::new(); @@ -74,7 +73,7 @@ pub fn stark_verify( (ctx.challenge[7] * M::ExtendField::from(MG.0[ctx.nbits])).exp(ctx.N) - M::ExtendField::ONE; log::trace!("verifier_code {}", program.verifier_code); - let res = execute_code(&ctx, &mut program.verifier_code.first); + let res = execute_code(&ctx, &program.verifier_code.first); log::trace!("starkinfo: {}", starkinfo); let mut x_acc = M::ExtendField::ONE; @@ -136,10 +135,7 @@ pub fn stark_verify( / (x - (ctx_query.challenge[7] * M::ExtendField::from(MG.0[ctx.nbits])))) .as_elements(); - let vals = vec![execute_code( - &ctx_query, - &mut program.verifier_query_code.first, - )]; + let vals = vec![execute_code(&ctx_query, &program.verifier_query_code.first)]; Ok(vals) }; @@ -147,7 +143,7 @@ pub fn stark_verify( fri.verify(&mut transcript, &proof.fri_proof, check_query) } -fn execute_code(ctx: &StarkContext, code: &mut Vec
) -> F { +fn execute_code(ctx: &StarkContext, code: &Vec
) -> F { let mut tmp: HashMap = HashMap::new(); let extract_val = |arr: &Vec, pos: usize, dim: usize| -> F { @@ -199,7 +195,7 @@ fn execute_code(ctx: &StarkContext, code: &mut Vec
| match r.type_.as_str() { + let set_ref = |r: &Node, val: F, tmp: &mut HashMap| match r.type_.as_str() { "tmp" => { //log::trace!("verify set ref {} {}", r.id, val); tmp.insert(r.id, val); @@ -223,7 +219,7 @@ fn execute_code(ctx: &StarkContext, code: &mut Vec
src[0], _ => panic!("Invalid op: {}", ci.op), }; - set_ref(&mut ci.dest, res, &mut tmp); + set_ref(&ci.dest, res, &mut tmp); } get_ref(&dest, &tmp) }