2023-10-30 14:28:24 -04:00
|
|
|
//! The Memory STARK is used to handle all memory read and write operations happening when
|
|
|
|
|
//! executing the EVM. Each non-dummy row of the table correspond to a single operation,
|
|
|
|
|
//! and rows are ordered by the timestamp associated to each memory operation.
|
|
|
|
|
|
2022-06-29 10:02:03 +02:00
|
|
|
pub mod columns;
|
2022-06-13 14:37:29 -07:00
|
|
|
pub mod memory_stark;
|
2022-06-15 09:33:52 -07:00
|
|
|
pub mod segments;
|
2022-06-27 16:03:56 -07:00
|
|
|
|
2022-08-23 17:24:35 -07:00
|
|
|
// TODO: Move to CPU module, now that channels have been removed from the memory table.
|
2022-09-22 18:09:23 -07:00
|
|
|
pub(crate) const NUM_CHANNELS: usize = crate::cpu::membus::NUM_CHANNELS;
|
2023-10-30 14:28:24 -04:00
|
|
|
/// The number of limbs holding the value at a memory address.
|
|
|
|
|
/// Eight limbs of 32 bits can hold a `U256`.
|
2022-06-27 16:03:56 -07:00
|
|
|
pub(crate) const VALUE_LIMBS: usize = 8;
|