Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: erase unused mut #232

Merged
merged 1 commit into from
Mar 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion starky/src/prove.rs
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ fn prove<
&setup.const_root,
&setup.starkinfo,
stark_struct,
&mut setup.program,
&setup.program,
)?;

assert!(result);
Expand Down
20 changes: 10 additions & 10 deletions starky/src/stark_gen.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1121,7 +1121,7 @@ pub mod tests {
let setup =
StarkSetup::<MerkleTreeBN128>::new(&const_pol, &mut pil, &stark_struct, None).unwrap();
let serialized = serde_json::to_string(&setup).unwrap();
let mut setup: StarkSetup<MerkleTreeBN128> = serde_json::from_str(&serialized).unwrap();
let setup: StarkSetup<MerkleTreeBN128> = serde_json::from_str(&serialized).unwrap();

let fr_root: Fr = Fr(setup.const_root.as_scalar::<Fr>());
log::trace!("setup {}", fr_root);
Expand All @@ -1144,7 +1144,7 @@ pub mod tests {
&setup.const_root,
&setup.starkinfo,
&stark_struct,
&mut setup.program,
&setup.program,
)
.unwrap();
assert!(result);
Expand All @@ -1163,7 +1163,7 @@ pub mod tests {
let setup =
StarkSetup::<MerkleTreeBN128>::new(&const_pol, &mut pil, &stark_struct, None).unwrap();
let serialized = serde_json::to_string(&setup).unwrap();
let mut setup: StarkSetup<MerkleTreeBN128> = serde_json::from_str(&serialized).unwrap();
let setup: StarkSetup<MerkleTreeBN128> = serde_json::from_str(&serialized).unwrap();

let starkproof = StarkProof::<MerkleTreeBN128>::stark_gen::<TranscriptBN128>(
cm_pol,
Expand All @@ -1184,7 +1184,7 @@ pub mod tests {
&setup.const_root,
&setup.starkinfo,
&stark_struct,
&mut setup.program,
&setup.program,
)
.unwrap();
assert!(result);
Expand All @@ -1201,7 +1201,7 @@ pub mod tests {
let setup =
StarkSetup::<MerkleTreeBN128>::new(&const_pol, &mut pil, &stark_struct, None).unwrap();
let serialized = serde_json::to_string(&setup).unwrap();
let mut setup: StarkSetup<MerkleTreeBN128> = serde_json::from_str(&serialized).unwrap();
let setup: StarkSetup<MerkleTreeBN128> = serde_json::from_str(&serialized).unwrap();
let starkproof = StarkProof::<MerkleTreeBN128>::stark_gen::<TranscriptBN128>(
cm_pol,
const_pol,
Expand All @@ -1219,7 +1219,7 @@ pub mod tests {
&setup.const_root,
&setup.starkinfo,
&stark_struct,
&mut setup.program,
&setup.program,
)
.unwrap();
assert!(result);
Expand All @@ -1237,7 +1237,7 @@ pub mod tests {
StarkSetup::<MerkleTreeBN128>::new(&const_pol, &mut pil, &stark_struct, None).unwrap();

let serialized = serde_json::to_string(&setup_).unwrap();
let mut setup: StarkSetup<MerkleTreeBN128> = serde_json::from_str(&serialized).unwrap();
let setup: StarkSetup<MerkleTreeBN128> = serde_json::from_str(&serialized).unwrap();

let starkproof = StarkProof::<MerkleTreeBN128>::stark_gen::<TranscriptBN128>(
cm_pol,
Expand All @@ -1256,7 +1256,7 @@ pub mod tests {
&setup.const_root,
&setup.starkinfo,
&stark_struct,
&mut setup.program,
&setup.program,
)
.unwrap();
assert!(result);
Expand All @@ -1274,7 +1274,7 @@ pub mod tests {
StarkSetup::<MerkleTreeGL>::new(&const_pol, &mut pil, &stark_struct, None).unwrap();

let serialized = serde_json::to_string(&setup_).unwrap();
let mut setup: StarkSetup<MerkleTreeGL> = serde_json::from_str(&serialized).unwrap();
let setup: StarkSetup<MerkleTreeGL> = serde_json::from_str(&serialized).unwrap();

let starkproof = StarkProof::<MerkleTreeGL>::stark_gen::<TranscriptGL>(
cm_pol,
Expand All @@ -1293,7 +1293,7 @@ pub mod tests {
&setup.const_root,
&setup.starkinfo,
&stark_struct,
&mut setup.program,
&setup.program,
)
.unwrap();
assert!(result);
Expand Down
16 changes: 6 additions & 10 deletions starky/src/stark_verify.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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<M: MerkleTree, T: Transcript>(
proof: &StarkProof<M>,
const_root: &M::MTNode,
starkinfo: &StarkInfo,
stark_struct: &StarkStruct,
program: &mut Program,
program: &Program,
) -> Result<bool> {
let mut transcript = T::new();

Expand Down Expand Up @@ -74,7 +73,7 @@ pub fn stark_verify<M: MerkleTree, T: Transcript>(
(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;
Expand Down Expand Up @@ -136,18 +135,15 @@ pub fn stark_verify<M: MerkleTree, T: Transcript>(
/ (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)
};

fri.verify(&mut transcript, &proof.fri_proof, check_query)
}

fn execute_code<F: FieldExtension>(ctx: &StarkContext<F>, code: &mut Vec<Section>) -> F {
fn execute_code<F: FieldExtension>(ctx: &StarkContext<F>, code: &Vec<Section>) -> F {
let mut tmp: HashMap<usize, F> = HashMap::new();

let extract_val = |arr: &Vec<FGL>, pos: usize, dim: usize| -> F {
Expand Down Expand Up @@ -199,7 +195,7 @@ fn execute_code<F: FieldExtension>(ctx: &StarkContext<F>, code: &mut Vec<Section
t
};

let set_ref = |r: &mut Node, val: F, tmp: &mut HashMap<usize, F>| match r.type_.as_str() {
let set_ref = |r: &Node, val: F, tmp: &mut HashMap<usize, F>| match r.type_.as_str() {
"tmp" => {
//log::trace!("verify set ref {} {}", r.id, val);
tmp.insert(r.id, val);
Expand All @@ -223,7 +219,7 @@ fn execute_code<F: FieldExtension>(ctx: &StarkContext<F>, code: &mut Vec<Section
"copy" => 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)
}
Loading