From 28603b85d187154cbc618ea5c33493dac4ad3010 Mon Sep 17 00:00:00 2001 From: Daniel Lubarov Date: Wed, 29 Jun 2022 17:34:38 -0700 Subject: [PATCH] fixes --- evm/src/all_stark.rs | 10 ++++++++++ evm/src/cpu/bootstrap_kernel.rs | 1 - evm/src/prover.rs | 8 +++++++- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/evm/src/all_stark.rs b/evm/src/all_stark.rs index 021638a6..b9159aaf 100644 --- a/evm/src/all_stark.rs +++ b/evm/src/all_stark.rs @@ -225,6 +225,11 @@ mod tests { .collect(); let mut cpu_trace_rows: Vec<[F; CpuStark::::COLUMNS]> = vec![]; + let mut bootstrap_row: cpu::columns::CpuColumnsView = + [F::ZERO; CpuStark::::COLUMNS].into(); + bootstrap_row.is_bootstrap_kernel = F::ONE; + cpu_trace_rows.push(bootstrap_row.into()); + for i in 0..num_keccak_perms { let mut row: cpu::columns::CpuColumnsView = [F::ZERO; CpuStark::::COLUMNS].into(); @@ -299,6 +304,11 @@ mod tests { row.mem_value[op][j] = memory_trace[memory::columns::value_limb(j)].values[i]; } } + + // Pad to a power of two. + for _ in cpu_trace_rows.len()..cpu_trace_rows.len().next_power_of_two() { + cpu_trace_rows.push([F::ZERO; CpuStark::::COLUMNS]); + } trace_rows_to_poly_values(cpu_trace_rows) } diff --git a/evm/src/cpu/bootstrap_kernel.rs b/evm/src/cpu/bootstrap_kernel.rs index 009056d0..ba10b70e 100644 --- a/evm/src/cpu/bootstrap_kernel.rs +++ b/evm/src/cpu/bootstrap_kernel.rs @@ -30,7 +30,6 @@ pub(crate) fn generate_bootstrap_kernel(state: &mut GenerationState state.commit_cpu_row(); } } - todo!() } pub(crate) fn eval_bootstrap_kernel>( diff --git a/evm/src/prover.rs b/evm/src/prover.rs index 438a0be7..2d398d1a 100644 --- a/evm/src/prover.rs +++ b/evm/src/prover.rs @@ -1,3 +1,5 @@ +use std::any::type_name; + use anyhow::{ensure, Result}; use plonky2::field::extension::Extendable; use plonky2::field::packable::Packable; @@ -563,6 +565,10 @@ fn check_constraints<'a, F, C, S, const D: usize>( .collect::>(); for v in constraint_values { - assert!(v.iter().all(|x| x.is_zero())); + assert!( + v.iter().all(|x| x.is_zero()), + "Constraint failed in {}", + type_name::() + ); } }