From 04978473d2bf36f89995316fea177c5b6faaebd0 Mon Sep 17 00:00:00 2001 From: Nicholas Ward Date: Wed, 1 Jun 2022 14:05:35 -0700 Subject: [PATCH] fix yay --- evm/src/keccak/keccak_stark.rs | 30 +++++++++++++++++++++++++----- evm/src/keccak/registers.rs | 7 +------ 2 files changed, 26 insertions(+), 11 deletions(-) diff --git a/evm/src/keccak/keccak_stark.rs b/evm/src/keccak/keccak_stark.rs index ea2a61b4..6e58f73c 100644 --- a/evm/src/keccak/keccak_stark.rs +++ b/evm/src/keccak/keccak_stark.rs @@ -16,7 +16,7 @@ use crate::keccak::logic::{ }; use crate::keccak::registers::{ rc_value, rc_value_bit, reg_a, reg_a_prime, reg_a_prime_prime, reg_a_prime_prime_0_0_bit, - reg_a_prime_prime_prime, reg_b, reg_c, reg_c_partial, reg_dummy, reg_step, NUM_REGISTERS, + reg_a_prime_prime_prime, reg_b, reg_c, reg_c_partial, reg_step, NUM_REGISTERS, }; use crate::keccak::round_flags::{eval_round_flags, eval_round_flags_recursively}; use crate::stark::Stark; @@ -53,8 +53,8 @@ impl, const D: usize> KeccakStark { // Pad rows to power of two. for i in rows.len()..num_rows { let mut row = [F::ZERO; NUM_REGISTERS]; + self.copy_output_to_input(rows[i - 1], &mut row); self.generate_trace_rows_for_round(&mut row, i % NUM_ROUNDS); - row[reg_dummy()] = F::ONE; rows.push(row); } @@ -344,12 +344,11 @@ impl, const D: usize> Stark for KeccakStark, const D: usize> Stark for KeccakStark, const D: usize> Stark for KeccakStark, const D: usize> Stark for KeccakStark, const D: usize> Stark for KeccakStark, const D: usize> Stark for KeccakStark, const D: usize> Stark for KeccakStark, const D: usize> Stark for KeccakStark, const D: usize> Stark for KeccakStark usize { diff --git a/evm/src/keccak/registers.rs b/evm/src/keccak/registers.rs index 2c328447..f3e847b1 100644 --- a/evm/src/keccak/registers.rs +++ b/evm/src/keccak/registers.rs @@ -6,11 +6,6 @@ pub(crate) const fn reg_step(i: usize) -> usize { i } -/// A register which is set to 1 if we are in the `i`th round, otherwise 0. -pub(crate) const fn reg_dummy() -> usize { - NUM_ROUNDS -} - const R: [[u8; 5]; 5] = [ [0, 18, 41, 3, 36], [1, 2, 45, 10, 44], @@ -177,7 +172,7 @@ pub(crate) const fn rc_value(round: usize) -> u64 { RC[round] } -const START_A: usize = NUM_ROUNDS + 1; +const START_A: usize = NUM_ROUNDS; pub(crate) const fn reg_a(x: usize, y: usize, z: usize) -> usize { debug_assert!(x < 5); debug_assert!(y < 5);