diff --git a/optimism/.gitignore b/optimism/.gitignore index 53df36bb78..b7314c49ea 100644 --- a/optimism/.gitignore +++ b/optimism/.gitignore @@ -1 +1,2 @@ rpcs.sh +snapshot-state* \ No newline at end of file diff --git a/optimism/src/main.rs b/optimism/src/main.rs index 274a37250e..584e0873ba 100644 --- a/optimism/src/main.rs +++ b/optimism/src/main.rs @@ -7,7 +7,7 @@ use kimchi_optimism::{ keccak::column::{KeccakWitness, KeccakWitnessTrait, ZKVM_KECCAK_COLS}, mips::{ column::{MIPSWitness, MIPSWitnessTrait, MIPS_COLUMNS}, - witness::{self as mips_witness, SCRATCH_SIZE}, + witness::{self as mips_witness}, }, preimage_oracle::PreImageOracle, proof, DOMAIN_SIZE, @@ -78,10 +78,10 @@ pub fn main() -> ExitCode { ark_ec::short_weierstrass_jacobian::GroupAffine<ark_bn254::g1::Parameters>, >::default(); - let mips_reset_pre_folding_witness = |witness_columns: &mut MIPSWitness<Vec<_>>| { + let _mips_reset_pre_folding_witness = |witness_columns: &mut MIPSWitness<Vec<_>>| { let MIPSWitness { cols } = witness_columns; // Resize without deallocating - cols.iter_mut().for_each(Vec::clear); + cols.iter_mut().for_each(Vec::<Fp>::clear); }; let mut mips_current_pre_folding_witness = MIPSWitness { @@ -144,7 +144,7 @@ pub fn main() -> ExitCode { } // TODO: unify witness of MIPS to include the instruction and the error - for i in 0..MIPS_COLUMNS { + /*for i in 0..MIPS_COLUMNS { if i < SCRATCH_SIZE { mips_current_pre_folding_witness.cols[i].push(env.scratch_state[i]); } else if i == MIPS_COLUMNS - 2 { @@ -165,7 +165,7 @@ pub fn main() -> ExitCode { &mips_current_pre_folding_witness, ); mips_reset_pre_folding_witness(&mut mips_current_pre_folding_witness); - } + }*/ } if !mips_current_pre_folding_witness .instruction_counter() diff --git a/optimism/src/mips/witness.rs b/optimism/src/mips/witness.rs index e3d9640709..e17112e3fe 100644 --- a/optimism/src/mips/witness.rs +++ b/optimism/src/mips/witness.rs @@ -63,7 +63,7 @@ pub struct Env<Fp> { pub registers: Registers<u32>, pub registers_write_index: Registers<u64>, pub scratch_state_idx: usize, - pub scratch_state: [Fp; SCRATCH_SIZE], + pub scratch_state: [u64; SCRATCH_SIZE], pub halt: bool, pub syscall_env: SyscallEnv, pub preimage_oracle: PreImageOracle, @@ -74,8 +74,8 @@ pub struct Env<Fp> { pub hash_counter: u64, } -fn fresh_scratch_state<Fp: Field, const N: usize>() -> [Fp; N] { - array::from_fn(|_| Fp::zero()) +fn fresh_scratch_state<const N: usize>() -> [u64; N] { + array::from_fn(|_| 0) } const KUNIT: usize = 1024; // a kunit of memory is 1024 things (bytes, kilobytes, ...) @@ -323,7 +323,7 @@ impl<Fp: Field> InterpreterEnv for Env<Fp> { self.write_column(position, 0); 0 } else { - self.write_field_column(position, Fp::from(*x).inverse().unwrap()); + self.write_column(position, 0); 1 // Placeholder value } } @@ -809,10 +809,6 @@ impl<Fp: Field> Env<Fp> { } pub fn write_column(&mut self, column: Column, value: u64) { - self.write_field_column(column, value.into()) - } - - pub fn write_field_column(&mut self, column: Column, value: Fp) { match column { Column::ScratchState(idx) => self.scratch_state[idx] = value, Column::InstructionCounter => panic!("Cannot overwrite the column {:?}", column),