diff --git a/evm/src/generation/prover_input.rs b/evm/src/generation/prover_input.rs index dacf0423..993f306c 100644 --- a/evm/src/generation/prover_input.rs +++ b/evm/src/generation/prover_input.rs @@ -11,7 +11,8 @@ use crate::generation::prover_input::EvmField::{ }; use crate::generation::prover_input::FieldOp::{Inverse, Sqrt}; use crate::generation::state::GenerationState; -use crate::witness::util::{kernel_general_peek, stack_peek}; +use crate::memory::segments::Segment::BnPairing; +use crate::witness::util::{kernel_peek, stack_peek}; /// Prover input function represented as a scoped function name. /// Example: `PROVER_INPUT(ff::bn254_base::inverse)` is represented as `ProverInputFn([ff, bn254_base, inverse])`. @@ -71,7 +72,7 @@ impl GenerationState { Bn254Base => { let mut f: [U256; 12] = [U256::zero(); 12]; for i in 0..12 { - f[i] = kernel_general_peek(self, ptr + i); + f[i] = kernel_peek(self, BnPairing, ptr + i); } f } diff --git a/evm/src/witness/util.rs b/evm/src/witness/util.rs index f026abbd..5c36b529 100644 --- a/evm/src/witness/util.rs +++ b/evm/src/witness/util.rs @@ -40,12 +40,14 @@ pub(crate) fn stack_peek(state: &GenerationState, i: usize) -> Opti } /// Peek at the SEGMENT_KERNEL_BN_PAIRING item at address `i` -pub(crate) fn kernel_general_peek(state: &GenerationState, i: usize) -> U256 { - state.memory.get(MemoryAddress::new( - state.registers.context, - Segment::BnPairing, - i, - )) +pub(crate) fn kernel_peek( + state: &GenerationState, + segment: Segment, + virt: usize, +) -> U256 { + state + .memory + .get(MemoryAddress::new(state.registers.context, segment, virt)) } pub(crate) fn mem_read_with_log(