From 59b73c84ee633780e56fd938b38e56d8c9b8cbbd Mon Sep 17 00:00:00 2001 From: Hamy Ratoanina Date: Wed, 10 May 2023 17:35:28 -0400 Subject: [PATCH] Apply comments --- evm/src/cross_table_lookup.rs | 7 +++---- evm/src/fixed_recursive_verifier.rs | 30 +++++------------------------ evm/src/generation/mod.rs | 1 + evm/src/verifier.rs | 29 ++++------------------------ 4 files changed, 13 insertions(+), 54 deletions(-) diff --git a/evm/src/cross_table_lookup.rs b/evm/src/cross_table_lookup.rs index 86e370d3..61480d05 100644 --- a/evm/src/cross_table_lookup.rs +++ b/evm/src/cross_table_lookup.rs @@ -544,12 +544,11 @@ pub(crate) fn verify_cross_table_lookups, const D: { let extra_product_vec = &ctl_extra_looking_products[looked_table.table as usize]; for c in 0..config.num_challenges { - let mut looking_zs_prod = looking_tables + let looking_zs_prod = looking_tables .iter() .map(|table| *ctl_zs_openings[table.table as usize].next().unwrap()) - .product::(); - - looking_zs_prod *= extra_product_vec[c]; + .product::() + * extra_product_vec[c]; let looked_z = *ctl_zs_openings[looked_table.table as usize].next().unwrap(); ensure!( diff --git a/evm/src/fixed_recursive_verifier.rs b/evm/src/fixed_recursive_verifier.rs index 1e5ab459..1f8f0615 100644 --- a/evm/src/fixed_recursive_verifier.rs +++ b/evm/src/fixed_recursive_verifier.rs @@ -466,32 +466,12 @@ where } // Extra products to add to the looked last value - let mut extra_looking_products = Vec::new(); - for _ in 0..NUM_TABLES { - extra_looking_products.push(Vec::new()); - } - - // Arithmetic - for _ in 0..stark_config.num_challenges { - extra_looking_products[Table::Arithmetic as usize].push(builder.constant(F::ONE)); - } - - // KeccakSponge - for _ in 0..stark_config.num_challenges { - extra_looking_products[Table::KeccakSponge as usize].push(builder.constant(F::ONE)); - } - - // Keccak - for _ in 0..stark_config.num_challenges { - extra_looking_products[Table::Keccak as usize].push(builder.constant(F::ONE)); - } - - // Logic - for _ in 0..stark_config.num_challenges { - extra_looking_products[Table::Logic as usize].push(builder.constant(F::ONE)); - } + // Arithmetic, KeccakSponge, Keccak, Logic + let mut extra_looking_products = + vec![vec![builder.constant(F::ONE); stark_config.num_challenges]; NUM_TABLES - 1]; // Memory + extra_looking_products.push(Vec::new()); for c in 0..stark_config.num_challenges { extra_looking_products[Table::Memory as usize].push( Self::get_memory_extra_looking_products_circuit( @@ -746,7 +726,7 @@ where builder.connect(row[3], field_target); // values for j in 0..VALUE_LIMBS { - builder.connect(row[j + 4], targets[j]); + builder.connect(row[4 + j], targets[j]); } // timestamp builder.connect(row[12], timestamp_target); diff --git a/evm/src/generation/mod.rs b/evm/src/generation/mod.rs index 3e31c145..867d6749 100644 --- a/evm/src/generation/mod.rs +++ b/evm/src/generation/mod.rs @@ -164,6 +164,7 @@ pub(crate) fn generate_traces, const D: usize>( GenerationOutputs, )> { let mut state = GenerationState::::new(inputs.clone(), &KERNEL.code); + apply_metadata_memops(&mut state, &inputs.block_metadata); generate_bootstrap_kernel::(&mut state); diff --git a/evm/src/verifier.rs b/evm/src/verifier.rs index ea504760..1f026dc5 100644 --- a/evm/src/verifier.rs +++ b/evm/src/verifier.rs @@ -112,33 +112,12 @@ where let public_values = all_proof.public_values; - // Extra products to add to the looked last value. - let mut extra_looking_products = Vec::new(); - for _ in 0..NUM_TABLES { - extra_looking_products.push(Vec::new()); - } - - // Arithmetic - for _ in 0..config.num_challenges { - extra_looking_products[Table::Arithmetic as usize].push(F::ONE); - } - - // KeccakSponge - for _ in 0..config.num_challenges { - extra_looking_products[Table::KeccakSponge as usize].push(F::ONE); - } - - // Keccak - for _ in 0..config.num_challenges { - extra_looking_products[Table::Keccak as usize].push(F::ONE); - } - - // Logic - for _ in 0..config.num_challenges { - extra_looking_products[Table::Logic as usize].push(F::ONE); - } + // Extra products to add to the looked last value + // Arithmetic, KeccakSponge, Keccak, Logic + let mut extra_looking_products = vec![vec![F::ONE; config.num_challenges]; NUM_TABLES - 1]; // Memory + extra_looking_products.push(Vec::new()); let cpu_trace_len = 1 << all_proof.stark_proofs[1].proof.recover_degree_bits(config); for c in 0..config.num_challenges { extra_looking_products[Table::Memory as usize].push(get_memory_extra_looking_products(