diff --git a/evm/src/bin/assemble.rs b/evm/src/bin/assemble.rs index 68eeadf8..1cf3a67c 100644 --- a/evm/src/bin/assemble.rs +++ b/evm/src/bin/assemble.rs @@ -9,5 +9,5 @@ fn main() { args.next(); let file_contents: Vec<_> = args.map(|path| fs::read_to_string(path).unwrap()).collect(); let assembled = assemble_to_bytes(&file_contents[..]); - println!("{}", encode(&assembled)); + println!("{}", encode(assembled)); } diff --git a/evm/src/cpu/kernel/assembler.rs b/evm/src/cpu/kernel/assembler.rs index 09af71bf..aad2dd53 100644 --- a/evm/src/cpu/kernel/assembler.rs +++ b/evm/src/cpu/kernel/assembler.rs @@ -83,7 +83,7 @@ impl Macro { self.params .iter() .position(|p| p == param) - .unwrap_or_else(|| panic!("No such param: {} {:?}", param, &self.params)) + .unwrap_or_else(|| panic!("No such param: {param} {:?}", &self.params)) } } @@ -140,7 +140,7 @@ fn find_macros(files: &[File]) -> HashMap { items: items.clone(), }; let old = macros.insert(signature.clone(), macro_); - assert!(old.is_none(), "Duplicate macro signature: {:?}", signature); + assert!(old.is_none(), "Duplicate macro signature: {signature:?}"); } } } @@ -186,9 +186,9 @@ fn expand_macro_call( }; let macro_ = macros .get(&signature) - .unwrap_or_else(|| panic!("No such macro: {:?}", signature)); + .unwrap_or_else(|| panic!("No such macro: {signature:?}")); - let get_actual_label = |macro_label| format!("@{}.{}", macro_counter, macro_label); + let get_actual_label = |macro_label| format!("@{macro_counter}.{macro_label}"); let get_arg = |var| { let param_index = macro_.get_param_index(var); @@ -242,7 +242,7 @@ fn inline_constants(body: Vec, constants: &HashMap) -> Vec { - panic!("Item should have been expanded already: {:?}", item); + panic!("Item should have been expanded already: {item:?}"); } Item::GlobalLabelDeclaration(label) => { let old = global_labels.insert(label.clone(), *offset); - assert!(old.is_none(), "Duplicate global label: {}", label); + assert!(old.is_none(), "Duplicate global label: {label}"); } Item::LocalLabelDeclaration(label) => { let old = local_labels.insert(label.clone(), *offset); - assert!(old.is_none(), "Duplicate local label: {}", label); + assert!(old.is_none(), "Duplicate local label: {label}"); } Item::Push(target) => *offset += 1 + push_target_size(target) as usize, Item::ProverInput(prover_input_fn) => { @@ -319,7 +319,7 @@ fn assemble_file( | Item::Repeat(_, _) | Item::StackManipulation(_, _) | Item::MacroLabelDeclaration(_) => { - panic!("Item should have been expanded already: {:?}", item); + panic!("Item should have been expanded already: {item:?}"); } Item::GlobalLabelDeclaration(_) | Item::LocalLabelDeclaration(_) => { // Nothing to do; we processed labels in the prior phase. @@ -331,7 +331,7 @@ fn assemble_file( let offset = local_labels .get(&label) .or_else(|| global_labels.get(&label)) - .unwrap_or_else(|| panic!("No such label: {}", label)); + .unwrap_or_else(|| panic!("No such label: {label}")); // We want the BYTES_PER_OFFSET least significant bytes in BE order. // It's easiest to rev the first BYTES_PER_OFFSET bytes of the LE encoding. (0..BYTES_PER_OFFSET) @@ -339,9 +339,9 @@ fn assemble_file( .map(|i| offset.to_le_bytes()[i as usize]) .collect() } - PushTarget::MacroLabel(v) => panic!("Macro label not in a macro: {}", v), - PushTarget::MacroVar(v) => panic!("Variable not in a macro: {}", v), - PushTarget::Constant(c) => panic!("Constant wasn't inlined: {}", c), + PushTarget::MacroLabel(v) => panic!("Macro label not in a macro: {v}"), + PushTarget::MacroVar(v) => panic!("Variable not in a macro: {v}"), + PushTarget::Constant(c) => panic!("Constant wasn't inlined: {c}"), }; code.push(get_push_opcode(target_bytes.len() as u8)); code.extend(target_bytes); @@ -362,9 +362,9 @@ fn push_target_size(target: &PushTarget) -> u8 { match target { PushTarget::Literal(n) => u256_to_trimmed_be_bytes(n).len() as u8, PushTarget::Label(_) => BYTES_PER_OFFSET, - PushTarget::MacroLabel(v) => panic!("Macro label not in a macro: {}", v), - PushTarget::MacroVar(v) => panic!("Variable not in a macro: {}", v), - PushTarget::Constant(c) => panic!("Constant wasn't inlined: {}", c), + PushTarget::MacroLabel(v) => panic!("Macro label not in a macro: {v}"), + PushTarget::MacroVar(v) => panic!("Variable not in a macro: {v}"), + PushTarget::Constant(c) => panic!("Constant wasn't inlined: {c}"), } } diff --git a/evm/src/cpu/kernel/cost_estimator.rs b/evm/src/cpu/kernel/cost_estimator.rs index 3dfcf63a..ae837647 100644 --- a/evm/src/cpu/kernel/cost_estimator.rs +++ b/evm/src/cpu/kernel/cost_estimator.rs @@ -21,7 +21,7 @@ fn cost_estimate_item(item: &Item) -> u32 { Push(Label(_)) => cost_estimate_push(BYTES_PER_OFFSET as usize), ProverInput(_) => 1, StandardOp(op) => cost_estimate_standard_op(op.as_str()), - _ => panic!("Unexpected item: {:?}", item), + _ => panic!("Unexpected item: {item:?}"), } } diff --git a/evm/src/cpu/kernel/interpreter.rs b/evm/src/cpu/kernel/interpreter.rs index f6cae73e..8057792b 100644 --- a/evm/src/cpu/kernel/interpreter.rs +++ b/evm/src/cpu/kernel/interpreter.rs @@ -328,7 +328,7 @@ impl<'a> Interpreter<'a> { if self.debug_offsets.contains(&self.offset) { println!("At {}, stack={:?}", self.offset_name(), self.stack()); } else if let Some(label) = self.offset_label() { - println!("At {}", label); + println!("At {label}"); } Ok(()) diff --git a/evm/src/cpu/kernel/opcodes.rs b/evm/src/cpu/kernel/opcodes.rs index 20601267..31074ff6 100644 --- a/evm/src/cpu/kernel/opcodes.rs +++ b/evm/src/cpu/kernel/opcodes.rs @@ -134,6 +134,6 @@ pub(crate) fn get_opcode(mnemonic: &str) -> u8 { "REVERT" => 0xfd, "INVALID" => 0xfe, "SELFDESTRUCT" => 0xff, - _ => panic!("Unrecognized mnemonic {}", mnemonic), + _ => panic!("Unrecognized mnemonic {mnemonic}"), } } diff --git a/evm/src/cpu/kernel/stack/stack_manipulation.rs b/evm/src/cpu/kernel/stack/stack_manipulation.rs index 36e4b83a..73a24029 100644 --- a/evm/src/cpu/kernel/stack/stack_manipulation.rs +++ b/evm/src/cpu/kernel/stack/stack_manipulation.rs @@ -35,7 +35,7 @@ fn expand(names: Vec, replacements: Vec) -> stack_blocks.insert(name.clone(), n); (0..n) .map(|i| { - let literal_name = format!("@{}.{}", name, i); + let literal_name = format!("@{name}.{i}"); StackItem::NamedItem(literal_name) }) .collect_vec() @@ -52,7 +52,7 @@ fn expand(names: Vec, replacements: Vec) -> let n = *stack_blocks.get(&name).unwrap(); (0..n) .map(|i| { - let literal_name = format!("@{}.{}", name, i); + let literal_name = format!("@{name}.{i}"); StackItem::NamedItem(literal_name) }) .collect_vec() @@ -64,7 +64,7 @@ fn expand(names: Vec, replacements: Vec) -> StackReplacement::MacroLabel(_) | StackReplacement::MacroVar(_) | StackReplacement::Constant(_) => { - panic!("Should have been expanded already: {:?}", item) + panic!("Should have been expanded already: {item:?}") } }) .collect_vec(); @@ -157,7 +157,7 @@ fn shortest_path( } } - panic!("No path found from {:?} to {:?}", src, dst) + panic!("No path found from {src:?} to {dst:?}") } /// A node in the priority queue used by Dijkstra's algorithm. @@ -279,7 +279,7 @@ impl StackOp { PushTarget::MacroLabel(_) | PushTarget::MacroVar(_) | PushTarget::Constant(_) => { - panic!("Target should have been expanded already: {:?}", target) + panic!("Target should have been expanded already: {target:?}") } }; // This is just a rough estimate; we can update it after implementing PUSH. @@ -326,8 +326,8 @@ impl StackOp { match self { StackOp::Push(target) => Item::Push(target), Pop => Item::StandardOp("POP".into()), - StackOp::Dup(n) => Item::StandardOp(format!("DUP{}", n)), - StackOp::Swap(n) => Item::StandardOp(format!("SWAP{}", n)), + StackOp::Dup(n) => Item::StandardOp(format!("DUP{n}")), + StackOp::Swap(n) => Item::StandardOp(format!("SWAP{n}")), } } } diff --git a/evm/src/cpu/kernel/tests/curve_ops.rs b/evm/src/cpu/kernel/tests/curve_ops.rs index 0aaa94ea..9ba24185 100644 --- a/evm/src/cpu/kernel/tests/curve_ops.rs +++ b/evm/src/cpu/kernel/tests/curve_ops.rs @@ -150,7 +150,7 @@ mod bn { assert_eq!(stack, vec![U256::MAX, U256::MAX]); // Multiple calls - let ec_mul_hex = format!("0x{:x}", ec_mul); + let ec_mul_hex = format!("0x{ec_mul:x}"); let initial_stack = u256ify([ "0xdeadbeef", s, @@ -288,7 +288,7 @@ mod secp { assert_eq!(stack, u256ify([identity.1, identity.0])?); // Multiple calls - let ec_mul_hex = format!("0x{:x}", ec_mul); + let ec_mul_hex = format!("0x{ec_mul:x}"); let initial_stack = u256ify([ "0xdeadbeef", s, diff --git a/evm/src/recursive_verifier.rs b/evm/src/recursive_verifier.rs index bc64bb57..445497f8 100644 --- a/evm/src/recursive_verifier.rs +++ b/evm/src/recursive_verifier.rs @@ -235,7 +235,7 @@ impl, C: GenericConfig, const D: usize> .zip(verifier_data_target) .enumerate() { - builder.verify_proof( + builder.verify_proof::( recursive_proof, &verifier_data_target, &verifier_data[i].common, @@ -579,7 +579,7 @@ where { let recursive_proofs = std::array::from_fn(|i| { let verifier_data = &verifier_data[i]; - builder.add_virtual_proof_with_pis(&verifier_data.common) + builder.add_virtual_proof_with_pis::(&verifier_data.common) }); let verifier_data = std::array::from_fn(|i| { let verifier_data = &verifier_data[i]; diff --git a/field/src/extension/algebra.rs b/field/src/extension/algebra.rs index 54bea694..5840ae81 100644 --- a/field/src/extension/algebra.rs +++ b/field/src/extension/algebra.rs @@ -45,7 +45,7 @@ impl, const D: usize> Display for ExtensionAlgebra { fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { write!(f, "({})", self.0[0])?; for i in 1..D { - write!(f, " + ({})*b^{}", self.0[i], i)?; + write!(f, " + ({})*b^{i}", self.0[i])?; } Ok(()) } diff --git a/insertion/src/insertion_gate.rs b/insertion/src/insertion_gate.rs index ea8f4194..2757dd23 100644 --- a/insertion/src/insertion_gate.rs +++ b/insertion/src/insertion_gate.rs @@ -73,7 +73,7 @@ impl, const D: usize> InsertionGate { impl, const D: usize> Gate for InsertionGate { fn id(&self) -> String { - format!("{:?}", self, D) + format!("{self:?}") } fn eval_unfiltered(&self, vars: EvaluationVars) -> Vec { diff --git a/plonky2/benches/hashing.rs b/plonky2/benches/hashing.rs index 4632c4c4..673e0572 100644 --- a/plonky2/benches/hashing.rs +++ b/plonky2/benches/hashing.rs @@ -24,7 +24,7 @@ pub(crate) fn bench_keccak(c: &mut Criterion) { pub(crate) fn bench_poseidon(c: &mut Criterion) { c.bench_function( - &format!("poseidon<{}, {}>", type_name::(), SPONGE_WIDTH), + &format!("poseidon<{}, {SPONGE_WIDTH}>", type_name::()), |b| { b.iter_batched( || F::rand_arr::(), diff --git a/plonky2/examples/bench_recursion.rs b/plonky2/examples/bench_recursion.rs index f4379e7a..c9d24be7 100644 --- a/plonky2/examples/bench_recursion.rs +++ b/plonky2/examples/bench_recursion.rs @@ -32,7 +32,7 @@ use structopt::StructOpt; type ProofTuple = ( ProofWithPublicInputs, VerifierOnlyCircuitData, - CommonCircuitData, + CommonCircuitData, ); #[derive(Clone, StructOpt, Debug)] @@ -112,7 +112,7 @@ where let (inner_proof, inner_vd, inner_cd) = inner; let mut builder = CircuitBuilder::::new(config.clone()); let mut pw = PartialWitness::new(); - let pt = builder.add_virtual_proof_with_pis(inner_cd); + let pt = builder.add_virtual_proof_with_pis::(inner_cd); pw.set_proof_with_pis_target(&pt, inner_proof); let inner_data = VerifierCircuitTarget { @@ -121,7 +121,7 @@ where }; pw.set_verifier_data_target(&inner_data, inner_vd); - builder.verify_proof(pt, &inner_data, inner_cd); + builder.verify_proof::(pt, &inner_data, inner_cd); builder.print_gate_counts(0); if let Some(min_degree_bits) = min_degree_bits { @@ -150,7 +150,7 @@ where fn test_serialization, C: GenericConfig, const D: usize>( proof: &ProofWithPublicInputs, vd: &VerifierOnlyCircuitData, - cd: &CommonCircuitData, + cd: &CommonCircuitData, ) -> Result<()> where [(); C::Hasher::HASH_SIZE]:, diff --git a/plonky2/examples/square_root.rs b/plonky2/examples/square_root.rs index 0bc89f47..7d4d2fee 100644 --- a/plonky2/examples/square_root.rs +++ b/plonky2/examples/square_root.rs @@ -31,7 +31,7 @@ impl, const D: usize> SimpleGenerator let x_squared = witness.get_target(self.x_squared); let x = x_squared.sqrt().unwrap(); - println!("Square root: {}", x); + println!("Square root: {x}"); out_buffer.set_target(self.x, x); } @@ -75,7 +75,7 @@ fn main() -> Result<()> { let proof = data.prove(pw.clone())?; let x_squared_actual = proof.public_inputs[0]; - println!("Field element (square): {}", x_squared_actual); + println!("Field element (square): {x_squared_actual}"); data.verify(proof) } diff --git a/plonky2/src/bin/generate_constants.rs b/plonky2/src/bin/generate_constants.rs index 258c6b78..c5f8fae2 100644 --- a/plonky2/src/bin/generate_constants.rs +++ b/plonky2/src/bin/generate_constants.rs @@ -21,7 +21,7 @@ pub(crate) fn main() { // Print the constants in the format we prefer in our code. for chunk in constants.chunks(4) { for (i, c) in chunk.iter().enumerate() { - print!("{:#018x},", c); + print!("{c:#018x},"); if i != chunk.len() - 1 { print!(" "); } diff --git a/plonky2/src/fri/recursive_verifier.rs b/plonky2/src/fri/recursive_verifier.rs index ac7e3a87..d14420c1 100644 --- a/plonky2/src/fri/recursive_verifier.rs +++ b/plonky2/src/fri/recursive_verifier.rs @@ -176,7 +176,7 @@ impl, const D: usize> CircuitBuilder { with_context!( self, level, - &format!("verify one (of {}) query rounds", num_queries), + &format!("verify one (of {num_queries}) query rounds"), self.fri_verifier_query_round::( instance, challenges, @@ -207,7 +207,7 @@ impl, const D: usize> CircuitBuilder { { with_context!( self, - &format!("verify {}'th initial Merkle proof", i), + &format!("verify {i}'th initial Merkle proof"), self.verify_merkle_proof_to_cap_with_cap_index::( evals.clone(), x_index_bits, diff --git a/plonky2/src/gates/arithmetic_base.rs b/plonky2/src/gates/arithmetic_base.rs index 207af2d0..03560faf 100644 --- a/plonky2/src/gates/arithmetic_base.rs +++ b/plonky2/src/gates/arithmetic_base.rs @@ -53,7 +53,7 @@ impl ArithmeticGate { impl, const D: usize> Gate for ArithmeticGate { fn id(&self) -> String { - format!("{:?}", self) + format!("{self:?}") } fn eval_unfiltered(&self, vars: EvaluationVars) -> Vec { diff --git a/plonky2/src/gates/arithmetic_extension.rs b/plonky2/src/gates/arithmetic_extension.rs index e4e07f83..26b7074b 100644 --- a/plonky2/src/gates/arithmetic_extension.rs +++ b/plonky2/src/gates/arithmetic_extension.rs @@ -51,7 +51,7 @@ impl ArithmeticExtensionGate { impl, const D: usize> Gate for ArithmeticExtensionGate { fn id(&self) -> String { - format!("{:?}", self) + format!("{self:?}") } fn eval_unfiltered(&self, vars: EvaluationVars) -> Vec { diff --git a/plonky2/src/gates/base_sum.rs b/plonky2/src/gates/base_sum.rs index 5be54eeb..1252c8e3 100644 --- a/plonky2/src/gates/base_sum.rs +++ b/plonky2/src/gates/base_sum.rs @@ -49,7 +49,7 @@ impl BaseSumGate { impl, const D: usize, const B: usize> Gate for BaseSumGate { fn id(&self) -> String { - format!("{:?} + Base: {}", self, B) + format!("{self:?} + Base: {B}") } fn eval_unfiltered(&self, vars: EvaluationVars) -> Vec { diff --git a/plonky2/src/gates/constant.rs b/plonky2/src/gates/constant.rs index 7d68b088..513caad9 100644 --- a/plonky2/src/gates/constant.rs +++ b/plonky2/src/gates/constant.rs @@ -33,7 +33,7 @@ impl ConstantGate { impl, const D: usize> Gate for ConstantGate { fn id(&self) -> String { - format!("{:?}", self) + format!("{self:?}") } fn eval_unfiltered(&self, vars: EvaluationVars) -> Vec { diff --git a/plonky2/src/gates/exponentiation.rs b/plonky2/src/gates/exponentiation.rs index aa977308..ca1ba395 100644 --- a/plonky2/src/gates/exponentiation.rs +++ b/plonky2/src/gates/exponentiation.rs @@ -70,7 +70,7 @@ impl, const D: usize> ExponentiationGate { impl, const D: usize> Gate for ExponentiationGate { fn id(&self) -> String { - format!("{:?}", self, D) + format!("{self:?}") } fn eval_unfiltered(&self, vars: EvaluationVars) -> Vec { diff --git a/plonky2/src/gates/high_degree_interpolation.rs b/plonky2/src/gates/high_degree_interpolation.rs index bcdf2276..0bc4ab65 100644 --- a/plonky2/src/gates/high_degree_interpolation.rs +++ b/plonky2/src/gates/high_degree_interpolation.rs @@ -87,7 +87,7 @@ impl, const D: usize> Gate for HighDegreeInterpolationGate { fn id(&self) -> String { - format!("{:?}", self, D) + format!("{self:?}") } fn eval_unfiltered(&self, vars: EvaluationVars) -> Vec { diff --git a/plonky2/src/gates/low_degree_interpolation.rs b/plonky2/src/gates/low_degree_interpolation.rs index 3edc4175..8fd2ed47 100644 --- a/plonky2/src/gates/low_degree_interpolation.rs +++ b/plonky2/src/gates/low_degree_interpolation.rs @@ -80,7 +80,7 @@ impl, const D: usize> LowDegreeInterpolationGate, const D: usize> Gate for LowDegreeInterpolationGate { fn id(&self) -> String { - format!("{:?}", self, D) + format!("{self:?}") } fn eval_unfiltered(&self, vars: EvaluationVars) -> Vec { diff --git a/plonky2/src/gates/multiplication_extension.rs b/plonky2/src/gates/multiplication_extension.rs index ab29bba7..8e6b44d7 100644 --- a/plonky2/src/gates/multiplication_extension.rs +++ b/plonky2/src/gates/multiplication_extension.rs @@ -48,7 +48,7 @@ impl MulExtensionGate { impl, const D: usize> Gate for MulExtensionGate { fn id(&self) -> String { - format!("{:?}", self) + format!("{self:?}") } fn eval_unfiltered(&self, vars: EvaluationVars) -> Vec { diff --git a/plonky2/src/gates/poseidon.rs b/plonky2/src/gates/poseidon.rs index 3ae8db83..26ec2594 100644 --- a/plonky2/src/gates/poseidon.rs +++ b/plonky2/src/gates/poseidon.rs @@ -98,7 +98,7 @@ impl, const D: usize> PoseidonGate { impl, const D: usize> Gate for PoseidonGate { fn id(&self) -> String { - format!("{:?}", self, SPONGE_WIDTH) + format!("{self:?}") } fn eval_unfiltered(&self, vars: EvaluationVars) -> Vec { diff --git a/plonky2/src/gates/poseidon_mds.rs b/plonky2/src/gates/poseidon_mds.rs index 2ccfa640..289246e1 100644 --- a/plonky2/src/gates/poseidon_mds.rs +++ b/plonky2/src/gates/poseidon_mds.rs @@ -117,7 +117,7 @@ impl + Poseidon, const D: usize> PoseidonMdsGate + Poseidon, const D: usize> Gate for PoseidonMdsGate { fn id(&self) -> String { - format!("{:?}", self, SPONGE_WIDTH) + format!("{self:?}") } fn eval_unfiltered(&self, vars: EvaluationVars) -> Vec { diff --git a/plonky2/src/gates/random_access.rs b/plonky2/src/gates/random_access.rs index fa365f16..3ea2f55e 100644 --- a/plonky2/src/gates/random_access.rs +++ b/plonky2/src/gates/random_access.rs @@ -115,7 +115,7 @@ impl, const D: usize> RandomAccessGate { impl, const D: usize> Gate for RandomAccessGate { fn id(&self) -> String { - format!("{:?}", self, D) + format!("{self:?}") } fn eval_unfiltered(&self, vars: EvaluationVars) -> Vec { diff --git a/plonky2/src/gates/reducing.rs b/plonky2/src/gates/reducing.rs index 31960b64..02f8ac2d 100644 --- a/plonky2/src/gates/reducing.rs +++ b/plonky2/src/gates/reducing.rs @@ -55,7 +55,7 @@ impl ReducingGate { impl, const D: usize> Gate for ReducingGate { fn id(&self) -> String { - format!("{:?}", self) + format!("{self:?}") } fn eval_unfiltered(&self, vars: EvaluationVars) -> Vec { diff --git a/plonky2/src/gates/reducing_extension.rs b/plonky2/src/gates/reducing_extension.rs index 2ae25059..8b04ec99 100644 --- a/plonky2/src/gates/reducing_extension.rs +++ b/plonky2/src/gates/reducing_extension.rs @@ -58,7 +58,7 @@ impl ReducingExtensionGate { impl, const D: usize> Gate for ReducingExtensionGate { fn id(&self) -> String { - format!("{:?}", self) + format!("{self:?}") } fn eval_unfiltered(&self, vars: EvaluationVars) -> Vec { diff --git a/plonky2/src/iop/generator.rs b/plonky2/src/iop/generator.rs index 3614b2e4..9948198e 100644 --- a/plonky2/src/iop/generator.rs +++ b/plonky2/src/iop/generator.rs @@ -22,7 +22,7 @@ pub(crate) fn generate_partial_witness< >( inputs: PartialWitness, prover_data: &'a ProverOnlyCircuitData, - common_data: &'a CommonCircuitData, + common_data: &'a CommonCircuitData, ) -> PartitionWitness<'a, F> { let config = &common_data.config; let generators = &prover_data.generators; diff --git a/plonky2/src/plonk/circuit_data.rs b/plonky2/src/plonk/circuit_data.rs index 5143e730..b3747159 100644 --- a/plonky2/src/plonk/circuit_data.rs +++ b/plonky2/src/plonk/circuit_data.rs @@ -106,7 +106,7 @@ impl CircuitConfig { pub struct CircuitData, C: GenericConfig, const D: usize> { pub prover_only: ProverOnlyCircuitData, pub verifier_only: VerifierOnlyCircuitData, - pub common: CommonCircuitData, + pub common: CommonCircuitData, } impl, C: GenericConfig, const D: usize> @@ -196,7 +196,7 @@ pub struct ProverCircuitData< const D: usize, > { pub prover_only: ProverOnlyCircuitData, - pub common: CommonCircuitData, + pub common: CommonCircuitData, } impl, C: GenericConfig, const D: usize> @@ -223,7 +223,7 @@ pub struct VerifierCircuitData< const D: usize, > { pub verifier_only: VerifierOnlyCircuitData, - pub common: CommonCircuitData, + pub common: CommonCircuitData, } impl, C: GenericConfig, const D: usize> @@ -287,17 +287,13 @@ pub struct VerifierOnlyCircuitData, const D: usize> { /// Circuit data required by both the prover and the verifier. #[derive(Debug, Eq, PartialEq)] -pub struct CommonCircuitData< - F: RichField + Extendable, - C: GenericConfig, - const D: usize, -> { +pub struct CommonCircuitData, const D: usize> { pub config: CircuitConfig, pub(crate) fri_params: FriParams, /// The types of gates used in this circuit, along with their prefixes. - pub(crate) gates: Vec>, + pub(crate) gates: Vec>, /// Information on the circuit's selector polynomials. pub(crate) selectors_info: SelectorsInfo, @@ -314,15 +310,13 @@ pub struct CommonCircuitData< pub(crate) num_public_inputs: usize, /// The `{k_i}` valued used in `S_ID_i` in Plonk's permutation argument. - pub(crate) k_is: Vec, + pub(crate) k_is: Vec, /// The number of partial products needed to compute the `Z` polynomials. pub(crate) num_partial_products: usize, } -impl, C: GenericConfig, const D: usize> - CommonCircuitData -{ +impl, const D: usize> CommonCircuitData { pub const fn degree_bits(&self) -> usize { self.fri_params.degree_bits } diff --git a/plonky2/src/plonk/conditional_recursive_verifier.rs b/plonky2/src/plonk/conditional_recursive_verifier.rs index 2c406904..4f54ec3f 100644 --- a/plonky2/src/plonk/conditional_recursive_verifier.rs +++ b/plonky2/src/plonk/conditional_recursive_verifier.rs @@ -30,7 +30,7 @@ pub(crate) fn dummy_proof< C: GenericConfig, const D: usize, >( - common_data: &CommonCircuitData, + common_data: &CommonCircuitData, ) -> Result<( ProofWithPublicInputs, VerifierOnlyCircuitData, @@ -80,7 +80,7 @@ impl, const D: usize> CircuitBuilder { inner_verifier_data0: &VerifierCircuitTarget, proof_with_pis1: &ProofWithPublicInputsTarget, inner_verifier_data1: &VerifierCircuitTarget, - inner_common_data: &CommonCircuitData, + inner_common_data: &CommonCircuitData, ) where C::Hasher: AlgebraicHasher, { @@ -144,7 +144,7 @@ impl, const D: usize> CircuitBuilder { ), }; - self.verify_proof(selected_proof, &selected_verifier_data, inner_common_data); + self.verify_proof::(selected_proof, &selected_verifier_data, inner_common_data); } /// Conditionally verify a proof with a new generated dummy proof. @@ -153,18 +153,18 @@ impl, const D: usize> CircuitBuilder { condition: BoolTarget, proof_with_pis: &ProofWithPublicInputsTarget, inner_verifier_data: &VerifierCircuitTarget, - inner_common_data: &CommonCircuitData, + inner_common_data: &CommonCircuitData, ) -> (ProofWithPublicInputsTarget, VerifierCircuitTarget) where C::Hasher: AlgebraicHasher, { - let dummy_proof = self.add_virtual_proof_with_pis(inner_common_data); + let dummy_proof = self.add_virtual_proof_with_pis::(inner_common_data); let dummy_verifier_data = VerifierCircuitTarget { constants_sigmas_cap: self .add_virtual_cap(inner_common_data.config.fri_config.cap_height), circuit_digest: self.add_virtual_hash(), }; - self.conditionally_verify_proof( + self.conditionally_verify_proof::( condition, proof_with_pis, inner_verifier_data, @@ -406,10 +406,10 @@ mod tests { // Conditionally verify the two proofs. let mut builder = CircuitBuilder::::new(config); let mut pw = PartialWitness::new(); - let pt = builder.add_virtual_proof_with_pis(&data.common); + let pt = builder.add_virtual_proof_with_pis::(&data.common); pw.set_proof_with_pis_target(&pt, &proof); - let dummy_pt = builder.add_virtual_proof_with_pis(&data.common); - pw.set_proof_with_pis_target(&dummy_pt, &dummy_proof); + let dummy_pt = builder.add_virtual_proof_with_pis::(&data.common); + pw.set_proof_with_pis_target::(&dummy_pt, &dummy_proof); let inner_data = VerifierCircuitTarget { constants_sigmas_cap: builder.add_virtual_cap(data.common.config.fri_config.cap_height), circuit_digest: builder.add_virtual_hash(), @@ -421,7 +421,7 @@ mod tests { }; pw.set_verifier_data_target(&dummy_inner_data, &dummy_data); let b = builder.constant_bool(F::rand().0 % 2 == 0); - builder.conditionally_verify_proof( + builder.conditionally_verify_proof::( b, &pt, &inner_data, diff --git a/plonky2/src/plonk/get_challenges.rs b/plonky2/src/plonk/get_challenges.rs index f497380f..116529e7 100644 --- a/plonky2/src/plonk/get_challenges.rs +++ b/plonky2/src/plonk/get_challenges.rs @@ -30,7 +30,7 @@ fn get_challenges, C: GenericConfig, cons final_poly: &PolynomialCoeffs, pow_witness: F, circuit_digest: &<>::Hasher as Hasher>::Hash, - common_data: &CommonCircuitData, + common_data: &CommonCircuitData, ) -> anyhow::Result> { let config = &common_data.config; let num_challenges = config.num_challenges; @@ -74,7 +74,7 @@ impl, C: GenericConfig, const D: usize> pub(crate) fn fri_query_indices( &self, circuit_digest: &<>::Hasher as Hasher>::Hash, - common_data: &CommonCircuitData, + common_data: &CommonCircuitData, ) -> anyhow::Result> { Ok(self .get_challenges(self.get_public_inputs_hash(), circuit_digest, common_data)? @@ -87,7 +87,7 @@ impl, C: GenericConfig, const D: usize> &self, public_inputs_hash: <>::InnerHasher as Hasher>::Hash, circuit_digest: &<>::Hasher as Hasher>::Hash, - common_data: &CommonCircuitData, + common_data: &CommonCircuitData, ) -> anyhow::Result> { let Proof { wires_cap, @@ -103,7 +103,7 @@ impl, C: GenericConfig, const D: usize> }, } = &self.proof; - get_challenges( + get_challenges::( public_inputs_hash, wires_cap, plonk_zs_partial_products_cap, @@ -126,7 +126,7 @@ impl, C: GenericConfig, const D: usize> &self, public_inputs_hash: <>::InnerHasher as Hasher>::Hash, circuit_digest: &<>::Hasher as Hasher>::Hash, - common_data: &CommonCircuitData, + common_data: &CommonCircuitData, ) -> anyhow::Result> { let CompressedProof { wires_cap, @@ -142,7 +142,7 @@ impl, C: GenericConfig, const D: usize> }, } = &self.proof; - get_challenges( + get_challenges::( public_inputs_hash, wires_cap, plonk_zs_partial_products_cap, @@ -160,7 +160,7 @@ impl, C: GenericConfig, const D: usize> pub(crate) fn get_inferred_elements( &self, challenges: &ProofChallenges, - common_data: &CommonCircuitData, + common_data: &CommonCircuitData, ) -> FriInferredElements { let ProofChallenges { plonk_zeta, @@ -244,7 +244,7 @@ impl, const D: usize> CircuitBuilder { final_poly: &PolynomialCoeffsExtTarget, pow_witness: Target, inner_circuit_digest: HashOutTarget, - inner_common_data: &CommonCircuitData, + inner_common_data: &CommonCircuitData, ) -> ProofChallengesTarget where C::Hasher: AlgebraicHasher, @@ -292,7 +292,7 @@ impl ProofWithPublicInputsTarget { builder: &mut CircuitBuilder, public_inputs_hash: HashOutTarget, inner_circuit_digest: HashOutTarget, - inner_common_data: &CommonCircuitData, + inner_common_data: &CommonCircuitData, ) -> ProofChallengesTarget where C::Hasher: AlgebraicHasher, @@ -311,7 +311,7 @@ impl ProofWithPublicInputsTarget { }, } = &self.proof; - builder.get_challenges( + builder.get_challenges::( public_inputs_hash, wires_cap, plonk_zs_partial_products_cap, diff --git a/plonky2/src/plonk/proof.rs b/plonky2/src/plonk/proof.rs index 2ec26c75..1a7a26db 100644 --- a/plonky2/src/plonk/proof.rs +++ b/plonky2/src/plonk/proof.rs @@ -82,7 +82,7 @@ impl, C: GenericConfig, const D: usize> pub fn compress( self, circuit_digest: &<>::Hasher as Hasher>::Hash, - common_data: &CommonCircuitData, + common_data: &CommonCircuitData, ) -> anyhow::Result> { let indices = self.fri_query_indices(circuit_digest, common_data)?; let compressed_proof = self.proof.compress(&indices, &common_data.fri_params); @@ -106,7 +106,7 @@ impl, C: GenericConfig, const D: usize> pub fn from_bytes( bytes: Vec, - common_data: &CommonCircuitData, + common_data: &CommonCircuitData, ) -> anyhow::Result { let mut buffer = Buffer::new(bytes); let proof = buffer.read_proof_with_public_inputs(common_data)?; @@ -178,7 +178,7 @@ impl, C: GenericConfig, const D: usize> pub fn decompress( self, circuit_digest: &<>::Hasher as Hasher>::Hash, - common_data: &CommonCircuitData, + common_data: &CommonCircuitData, ) -> anyhow::Result> where [(); C::Hasher::HASH_SIZE]:, @@ -198,7 +198,7 @@ impl, C: GenericConfig, const D: usize> pub(crate) fn verify( self, verifier_data: &VerifierOnlyCircuitData, - common_data: &CommonCircuitData, + common_data: &CommonCircuitData, ) -> anyhow::Result<()> where [(); C::Hasher::HASH_SIZE]:, @@ -240,7 +240,7 @@ impl, C: GenericConfig, const D: usize> pub fn from_bytes( bytes: Vec, - common_data: &CommonCircuitData, + common_data: &CommonCircuitData, ) -> anyhow::Result { let mut buffer = Buffer::new(bytes); let proof = buffer.read_compressed_proof_with_public_inputs(common_data)?; @@ -303,7 +303,7 @@ impl, const D: usize> OpeningSet { wires_commitment: &PolynomialBatch, zs_partial_products_commitment: &PolynomialBatch, quotient_polys_commitment: &PolynomialBatch, - common_data: &CommonCircuitData, + common_data: &CommonCircuitData, ) -> Self { let eval_commitment = |z: F::Extension, c: &PolynomialBatch| { c.polynomials diff --git a/plonky2/src/plonk/prover.rs b/plonky2/src/plonk/prover.rs index 8476a2d9..621f20ef 100644 --- a/plonky2/src/plonk/prover.rs +++ b/plonky2/src/plonk/prover.rs @@ -28,7 +28,7 @@ use crate::util::transpose; pub fn prove, C: GenericConfig, const D: usize>( prover_data: &ProverOnlyCircuitData, - common_data: &CommonCircuitData, + common_data: &CommonCircuitData, inputs: PartialWitness, timing: &mut TimingTree, ) -> Result> @@ -233,7 +233,7 @@ fn all_wires_permutation_partial_products< betas: &[F], gammas: &[F], prover_data: &ProverOnlyCircuitData, - common_data: &CommonCircuitData, + common_data: &CommonCircuitData, ) -> Vec>> { (0..common_data.config.num_challenges) .map(|i| { @@ -260,7 +260,7 @@ fn wires_permutation_partial_products_and_zs< beta: F, gamma: F, prover_data: &ProverOnlyCircuitData, - common_data: &CommonCircuitData, + common_data: &CommonCircuitData, ) -> Vec> { let degree = common_data.quotient_degree_factor; let subgroup = &prover_data.subgroup; @@ -318,7 +318,7 @@ fn compute_quotient_polys< C: GenericConfig, const D: usize, >( - common_data: &CommonCircuitData, + common_data: &CommonCircuitData, prover_data: &'a ProverOnlyCircuitData, public_inputs_hash: &<>::InnerHasher as Hasher>::Hash, wires_commitment: &'a PolynomialBatch, @@ -424,7 +424,7 @@ fn compute_quotient_polys< public_inputs_hash, ); - let mut quotient_values_batch = eval_vanishing_poly_base_batch( + let mut quotient_values_batch = eval_vanishing_poly_base_batch::( common_data, &indices_batch, &shifted_xs_batch, diff --git a/plonky2/src/plonk/recursive_verifier.rs b/plonky2/src/plonk/recursive_verifier.rs index bb9076be..8dbab974 100644 --- a/plonky2/src/plonk/recursive_verifier.rs +++ b/plonky2/src/plonk/recursive_verifier.rs @@ -19,7 +19,7 @@ impl, const D: usize> CircuitBuilder { &mut self, proof_with_pis: ProofWithPublicInputsTarget, inner_verifier_data: &VerifierCircuitTarget, - inner_common_data: &CommonCircuitData, + inner_common_data: &CommonCircuitData, ) where C::Hasher: AlgebraicHasher, { @@ -29,14 +29,14 @@ impl, const D: usize> CircuitBuilder { ); let public_inputs_hash = self.hash_n_to_hash_no_pad::(proof_with_pis.public_inputs.clone()); - let challenges = proof_with_pis.get_challenges( + let challenges = proof_with_pis.get_challenges::( self, public_inputs_hash, inner_verifier_data.circuit_digest, inner_common_data, ); - self.verify_proof_with_challenges( + self.verify_proof_with_challenges::( proof_with_pis.proof, public_inputs_hash, challenges, @@ -52,7 +52,7 @@ impl, const D: usize> CircuitBuilder { public_inputs_hash: HashOutTarget, challenges: ProofChallengesTarget, inner_verifier_data: &VerifierCircuitTarget, - inner_common_data: &CommonCircuitData, + inner_common_data: &CommonCircuitData, ) where C::Hasher: AlgebraicHasher, { @@ -75,7 +75,7 @@ impl, const D: usize> CircuitBuilder { let vanishing_polys_zeta = with_context!( self, "evaluate the vanishing polynomial at our challenge point, zeta.", - eval_vanishing_poly_circuit( + eval_vanishing_poly_circuit::( self, inner_common_data, challenges.plonk_zeta, @@ -129,9 +129,9 @@ impl, const D: usize> CircuitBuilder { pub fn add_virtual_proof_with_pis>( &mut self, - common_data: &CommonCircuitData, + common_data: &CommonCircuitData, ) -> ProofWithPublicInputsTarget { - let proof = self.add_virtual_proof(common_data); + let proof = self.add_virtual_proof::(common_data); let public_inputs = self.add_virtual_targets(common_data.num_public_inputs); ProofWithPublicInputsTarget { proof, @@ -141,7 +141,7 @@ impl, const D: usize> CircuitBuilder { fn add_virtual_proof>( &mut self, - common_data: &CommonCircuitData, + common_data: &CommonCircuitData, ) -> ProofTarget { let config = &common_data.config; let fri_params = &common_data.fri_params; @@ -159,14 +159,14 @@ impl, const D: usize> CircuitBuilder { wires_cap: self.add_virtual_cap(cap_height), plonk_zs_partial_products_cap: self.add_virtual_cap(cap_height), quotient_polys_cap: self.add_virtual_cap(cap_height), - openings: self.add_opening_set(common_data), + openings: self.add_opening_set::(common_data), opening_proof: self.add_virtual_fri_proof(num_leaves_per_oracle, fri_params), } } fn add_opening_set>( &mut self, - common_data: &CommonCircuitData, + common_data: &CommonCircuitData, ) -> OpeningSetTarget { let config = &common_data.config; let num_challenges = config.num_challenges; @@ -330,7 +330,7 @@ mod tests { ) -> Result<( ProofWithPublicInputs, VerifierOnlyCircuitData, - CommonCircuitData, + CommonCircuitData, )> where [(); C::Hasher::HASH_SIZE]:, @@ -356,7 +356,7 @@ mod tests { >( inner_proof: ProofWithPublicInputs, inner_vd: VerifierOnlyCircuitData, - inner_cd: CommonCircuitData, + inner_cd: CommonCircuitData, config: &CircuitConfig, min_degree_bits: Option, print_gate_counts: bool, @@ -364,7 +364,7 @@ mod tests { ) -> Result<( ProofWithPublicInputs, VerifierOnlyCircuitData, - CommonCircuitData, + CommonCircuitData, )> where InnerC::Hasher: AlgebraicHasher, @@ -372,7 +372,7 @@ mod tests { { let mut builder = CircuitBuilder::::new(config.clone()); let mut pw = PartialWitness::new(); - let pt = builder.add_virtual_proof_with_pis(&inner_cd); + let pt = builder.add_virtual_proof_with_pis::(&inner_cd); pw.set_proof_with_pis_target(&pt, &inner_proof); let inner_data = VerifierCircuitTarget { @@ -385,7 +385,7 @@ mod tests { ); pw.set_hash_target(inner_data.circuit_digest, inner_vd.circuit_digest); - builder.verify_proof(pt, &inner_data, &inner_cd); + builder.verify_proof::(pt, &inner_data, &inner_cd); if print_gate_counts { builder.print_gate_counts(0); @@ -422,7 +422,7 @@ mod tests { >( proof: &ProofWithPublicInputs, vd: &VerifierOnlyCircuitData, - cd: &CommonCircuitData, + cd: &CommonCircuitData, ) -> Result<()> where [(); C::Hasher::HASH_SIZE]:, diff --git a/plonky2/src/plonk/validate_shape.rs b/plonky2/src/plonk/validate_shape.rs index f7ec1b6e..1e6708cc 100644 --- a/plonky2/src/plonk/validate_shape.rs +++ b/plonky2/src/plonk/validate_shape.rs @@ -8,7 +8,7 @@ use crate::plonk::proof::{OpeningSet, Proof, ProofWithPublicInputs}; pub(crate) fn validate_proof_with_pis_shape( proof_with_pis: &ProofWithPublicInputs, - common_data: &CommonCircuitData, + common_data: &CommonCircuitData, ) -> anyhow::Result<()> where F: RichField + Extendable, @@ -32,7 +32,7 @@ where fn validate_proof_shape( proof: &Proof, - common_data: &CommonCircuitData, + common_data: &CommonCircuitData, ) -> anyhow::Result<()> where F: RichField + Extendable, diff --git a/plonky2/src/plonk/vanishing_poly.rs b/plonky2/src/plonk/vanishing_poly.rs index 303f698b..28d43f4f 100644 --- a/plonky2/src/plonk/vanishing_poly.rs +++ b/plonky2/src/plonk/vanishing_poly.rs @@ -25,7 +25,7 @@ pub(crate) fn eval_vanishing_poly< C: GenericConfig, const D: usize, >( - common_data: &CommonCircuitData, + common_data: &CommonCircuitData, x: F::Extension, vars: EvaluationVars, local_zs: &[F::Extension], @@ -39,7 +39,7 @@ pub(crate) fn eval_vanishing_poly< let max_degree = common_data.quotient_degree_factor; let num_prods = common_data.num_partial_products; - let constraint_terms = evaluate_gate_constraints(common_data, vars); + let constraint_terms = evaluate_gate_constraints::(common_data, vars); // The L_0(x) (Z(x) - 1) vanishing terms. let mut vanishing_z_1_terms = Vec::new(); @@ -100,7 +100,7 @@ pub(crate) fn eval_vanishing_poly_base_batch< C: GenericConfig, const D: usize, >( - common_data: &CommonCircuitData, + common_data: &CommonCircuitData, indices_batch: &[usize], xs_batch: &[F], vars_batch: EvaluationVarsBaseBatch, @@ -126,7 +126,8 @@ pub(crate) fn eval_vanishing_poly_base_batch< let num_gate_constraints = common_data.num_gate_constraints; - let constraint_terms_batch = evaluate_gate_constraints_base_batch(common_data, vars_batch); + let constraint_terms_batch = + evaluate_gate_constraints_base_batch::(common_data, vars_batch); debug_assert!(constraint_terms_batch.len() == n * num_gate_constraints); let num_challenges = common_data.config.num_challenges; @@ -210,7 +211,7 @@ pub fn evaluate_gate_constraints< C: GenericConfig, const D: usize, >( - common_data: &CommonCircuitData, + common_data: &CommonCircuitData, vars: EvaluationVars, ) -> Vec { let mut constraints = vec![F::Extension::ZERO; common_data.num_gate_constraints]; @@ -244,7 +245,7 @@ pub fn evaluate_gate_constraints_base_batch< C: GenericConfig, const D: usize, >( - common_data: &CommonCircuitData, + common_data: &CommonCircuitData, vars_batch: EvaluationVarsBaseBatch, ) -> Vec { let mut constraints_batch = vec![F::ZERO; common_data.num_gate_constraints * vars_batch.len()]; @@ -276,7 +277,7 @@ pub fn evaluate_gate_constraints_circuit< const D: usize, >( builder: &mut CircuitBuilder, - common_data: &CommonCircuitData, + common_data: &CommonCircuitData, vars: EvaluationTargets, ) -> Vec> { let mut all_gate_constraints = vec![builder.zero_extension(); common_data.num_gate_constraints]; @@ -311,7 +312,7 @@ pub(crate) fn eval_vanishing_poly_circuit< const D: usize, >( builder: &mut CircuitBuilder, - common_data: &CommonCircuitData, + common_data: &CommonCircuitData, x: ExtensionTarget, x_pow_deg: ExtensionTarget, vars: EvaluationTargets, @@ -329,7 +330,7 @@ pub(crate) fn eval_vanishing_poly_circuit< let constraint_terms = with_context!( builder, "evaluate gate constraints", - evaluate_gate_constraints_circuit(builder, common_data, vars,) + evaluate_gate_constraints_circuit::(builder, common_data, vars,) ); // The L_0(x) (Z(x) - 1) vanishing terms. diff --git a/plonky2/src/plonk/verifier.rs b/plonky2/src/plonk/verifier.rs index 37ddfffa..52681558 100644 --- a/plonky2/src/plonk/verifier.rs +++ b/plonky2/src/plonk/verifier.rs @@ -15,7 +15,7 @@ use crate::plonk::vars::EvaluationVars; pub(crate) fn verify, C: GenericConfig, const D: usize>( proof_with_pis: ProofWithPublicInputs, verifier_data: &VerifierOnlyCircuitData, - common_data: &CommonCircuitData, + common_data: &CommonCircuitData, ) -> Result<()> where [(); C::Hasher::HASH_SIZE]:, @@ -47,7 +47,7 @@ pub(crate) fn verify_with_challenges< public_inputs_hash: <>::InnerHasher as Hasher>::Hash, challenges: ProofChallenges, verifier_data: &VerifierOnlyCircuitData, - common_data: &CommonCircuitData, + common_data: &CommonCircuitData, ) -> Result<()> where [(); C::Hasher::HASH_SIZE]:, @@ -65,7 +65,7 @@ where let partial_products = &proof.openings.partial_products; // Evaluate the vanishing polynomial at our challenge point, zeta. - let vanishing_polys_zeta = eval_vanishing_poly( + let vanishing_polys_zeta = eval_vanishing_poly::( common_data, challenges.plonk_zeta, vars, diff --git a/plonky2/src/util/serialization.rs b/plonky2/src/util/serialization.rs index 978134b6..076e42f4 100644 --- a/plonky2/src/util/serialization.rs +++ b/plonky2/src/util/serialization.rs @@ -165,7 +165,7 @@ impl Buffer { const D: usize, >( &mut self, - common_data: &CommonCircuitData, + common_data: &CommonCircuitData, ) -> Result> { let config = &common_data.config; let constants = self.read_field_ext_vec::(common_data.num_constants)?; @@ -233,7 +233,7 @@ impl Buffer { const D: usize, >( &mut self, - common_data: &CommonCircuitData, + common_data: &CommonCircuitData, ) -> Result> { let config = &common_data.config; let salt = salt_size(common_data.fri_params.hiding); @@ -312,12 +312,12 @@ impl Buffer { const D: usize, >( &mut self, - common_data: &CommonCircuitData, + common_data: &CommonCircuitData, ) -> Result>> { let config = &common_data.config; let mut fqrs = Vec::with_capacity(config.fri_config.num_query_rounds); for _ in 0..config.fri_config.num_query_rounds { - let initial_trees_proof = self.read_fri_initial_proof(common_data)?; + let initial_trees_proof = self.read_fri_initial_proof::(common_data)?; let steps = common_data .fri_params .reduction_arity_bits @@ -345,13 +345,13 @@ impl Buffer { } fn read_fri_proof, C: GenericConfig, const D: usize>( &mut self, - common_data: &CommonCircuitData, + common_data: &CommonCircuitData, ) -> Result> { let config = &common_data.config; let commit_phase_merkle_caps = (0..common_data.fri_params.reduction_arity_bits.len()) .map(|_| self.read_merkle_cap(config.fri_config.cap_height)) .collect::>>()?; - let query_round_proofs = self.read_fri_query_rounds(common_data)?; + let query_round_proofs = self.read_fri_query_rounds::(common_data)?; let final_poly = PolynomialCoeffs::new( self.read_field_ext_vec::(common_data.fri_params.final_poly_len())?, ); @@ -376,14 +376,14 @@ impl Buffer { } pub fn read_proof, C: GenericConfig, const D: usize>( &mut self, - common_data: &CommonCircuitData, + common_data: &CommonCircuitData, ) -> Result> { let config = &common_data.config; let wires_cap = self.read_merkle_cap(config.fri_config.cap_height)?; let plonk_zs_partial_products_cap = self.read_merkle_cap(config.fri_config.cap_height)?; let quotient_polys_cap = self.read_merkle_cap(config.fri_config.cap_height)?; - let openings = self.read_opening_set(common_data)?; - let opening_proof = self.read_fri_proof(common_data)?; + let openings = self.read_opening_set::(common_data)?; + let opening_proof = self.read_fri_proof::(common_data)?; Ok(Proof { wires_cap, @@ -415,7 +415,7 @@ impl Buffer { const D: usize, >( &mut self, - common_data: &CommonCircuitData, + common_data: &CommonCircuitData, ) -> Result> { let proof = self.read_proof(common_data)?; let public_inputs = self.read_field_vec( @@ -460,7 +460,7 @@ impl Buffer { const D: usize, >( &mut self, - common_data: &CommonCircuitData, + common_data: &CommonCircuitData, ) -> Result> { let config = &common_data.config; let original_indices = (0..config.fri_config.num_query_rounds) @@ -471,7 +471,7 @@ impl Buffer { indices.dedup(); let mut pairs = Vec::new(); for &i in &indices { - pairs.push((i, self.read_fri_initial_proof(common_data)?)); + pairs.push((i, self.read_fri_initial_proof::(common_data)?)); } let initial_trees_proofs = HashMap::from_iter(pairs); @@ -521,13 +521,13 @@ impl Buffer { const D: usize, >( &mut self, - common_data: &CommonCircuitData, + common_data: &CommonCircuitData, ) -> Result> { let config = &common_data.config; let commit_phase_merkle_caps = (0..common_data.fri_params.reduction_arity_bits.len()) .map(|_| self.read_merkle_cap(config.fri_config.cap_height)) .collect::>>()?; - let query_round_proofs = self.read_compressed_fri_query_rounds(common_data)?; + let query_round_proofs = self.read_compressed_fri_query_rounds::(common_data)?; let final_poly = PolynomialCoeffs::new( self.read_field_ext_vec::(common_data.fri_params.final_poly_len())?, ); @@ -560,14 +560,14 @@ impl Buffer { const D: usize, >( &mut self, - common_data: &CommonCircuitData, + common_data: &CommonCircuitData, ) -> Result> { let config = &common_data.config; let wires_cap = self.read_merkle_cap(config.fri_config.cap_height)?; let plonk_zs_partial_products_cap = self.read_merkle_cap(config.fri_config.cap_height)?; let quotient_polys_cap = self.read_merkle_cap(config.fri_config.cap_height)?; - let openings = self.read_opening_set(common_data)?; - let opening_proof = self.read_compressed_fri_proof(common_data)?; + let openings = self.read_opening_set::(common_data)?; + let opening_proof = self.read_compressed_fri_proof::(common_data)?; Ok(CompressedProof { wires_cap, @@ -599,7 +599,7 @@ impl Buffer { const D: usize, >( &mut self, - common_data: &CommonCircuitData, + common_data: &CommonCircuitData, ) -> Result> { let proof = self.read_compressed_proof(common_data)?; let public_inputs = self.read_field_vec( diff --git a/u32/src/gates/add_many_u32.rs b/u32/src/gates/add_many_u32.rs index 622c3df3..f37075cd 100644 --- a/u32/src/gates/add_many_u32.rs +++ b/u32/src/gates/add_many_u32.rs @@ -84,7 +84,7 @@ impl, const D: usize> U32AddManyGate { impl, const D: usize> Gate for U32AddManyGate { fn id(&self) -> String { - format!("{:?}", self) + format!("{self:?}") } fn eval_unfiltered(&self, vars: EvaluationVars) -> Vec { diff --git a/u32/src/gates/arithmetic_u32.rs b/u32/src/gates/arithmetic_u32.rs index c05ed86c..47889954 100644 --- a/u32/src/gates/arithmetic_u32.rs +++ b/u32/src/gates/arithmetic_u32.rs @@ -86,7 +86,7 @@ impl, const D: usize> U32ArithmeticGate { impl, const D: usize> Gate for U32ArithmeticGate { fn id(&self) -> String { - format!("{:?}", self) + format!("{self:?}") } fn eval_unfiltered(&self, vars: EvaluationVars) -> Vec { diff --git a/u32/src/gates/comparison.rs b/u32/src/gates/comparison.rs index 6af34208..a2a0cfcf 100644 --- a/u32/src/gates/comparison.rs +++ b/u32/src/gates/comparison.rs @@ -91,7 +91,7 @@ impl, const D: usize> ComparisonGate { impl, const D: usize> Gate for ComparisonGate { fn id(&self) -> String { - format!("{:?}", self, D) + format!("{self:?}") } fn eval_unfiltered(&self, vars: EvaluationVars) -> Vec { diff --git a/u32/src/gates/range_check_u32.rs b/u32/src/gates/range_check_u32.rs index 615abb98..6e8f2cd5 100644 --- a/u32/src/gates/range_check_u32.rs +++ b/u32/src/gates/range_check_u32.rs @@ -48,7 +48,7 @@ impl, const D: usize> U32RangeCheckGate { impl, const D: usize> Gate for U32RangeCheckGate { fn id(&self) -> String { - format!("{:?}", self) + format!("{self:?}") } fn eval_unfiltered(&self, vars: EvaluationVars) -> Vec { diff --git a/u32/src/gates/subtraction_u32.rs b/u32/src/gates/subtraction_u32.rs index 3737de55..b08d900b 100644 --- a/u32/src/gates/subtraction_u32.rs +++ b/u32/src/gates/subtraction_u32.rs @@ -80,7 +80,7 @@ impl, const D: usize> U32SubtractionGate { impl, const D: usize> Gate for U32SubtractionGate { fn id(&self) -> String { - format!("{:?}", self) + format!("{self:?}") } fn eval_unfiltered(&self, vars: EvaluationVars) -> Vec { diff --git a/util/src/lib.rs b/util/src/lib.rs index bbc2af98..b22a4236 100644 --- a/util/src/lib.rs +++ b/util/src/lib.rs @@ -31,7 +31,7 @@ pub fn log2_ceil(n: usize) -> usize { /// Computes `log_2(n)`, panicking if `n` is not a power of two. pub fn log2_strict(n: usize) -> usize { let res = n.trailing_zeros(); - assert!(n.wrapping_shr(res) == 1, "Not a power of two: {}", n); + assert!(n.wrapping_shr(res) == 1, "Not a power of two: {n}"); // Tell the optimizer about the semantics of `log2_strict`. i.e. it can replace `n` with // `1 << res` and vice versa. assume(n == 1 << res); diff --git a/waksman/src/gates/assert_le.rs b/waksman/src/gates/assert_le.rs index c67a7125..27242370 100644 --- a/waksman/src/gates/assert_le.rs +++ b/waksman/src/gates/assert_le.rs @@ -84,7 +84,7 @@ impl, const D: usize> AssertLessThanGate { impl, const D: usize> Gate for AssertLessThanGate { fn id(&self) -> String { - format!("{:?}", self, D) + format!("{self:?}") } fn eval_unfiltered(&self, vars: EvaluationVars) -> Vec { diff --git a/waksman/src/gates/switch.rs b/waksman/src/gates/switch.rs index 2c2ca8c8..4509bf0a 100644 --- a/waksman/src/gates/switch.rs +++ b/waksman/src/gates/switch.rs @@ -74,7 +74,7 @@ impl, const D: usize> SwitchGate { impl, const D: usize> Gate for SwitchGate { fn id(&self) -> String { - format!("{:?}", self, D) + format!("{self:?}") } fn eval_unfiltered(&self, vars: EvaluationVars) -> Vec {