Trait evm::Memory
[−]
[src]
pub trait Memory { fn check_write(&self, index: U256) -> Result<(), MemoryError>; fn check_write_range(
&self,
start: U256,
len: U256
) -> Result<(), MemoryError>; fn write(&mut self, index: U256, value: M256) -> Result<(), MemoryError>; fn write_raw(&mut self, index: U256, value: u8) -> Result<(), MemoryError>; fn read(&self, index: U256) -> M256; fn read_raw(&self, index: U256) -> u8; }
Represent a memory in EVM. Read should always succeed. Write can fall.
Required Methods
fn check_write(&self, index: U256) -> Result<(), MemoryError>
Check whether write on this index would result in an error. If
this function returns Ok, then both write
and write_raw
on
this index should succeed.
fn check_write_range(&self, start: U256, len: U256) -> Result<(), MemoryError>
Check whether write on the given index range would result in
an error. If this function returns Ok, then both write
and
write_raw
on the given index range should succeed.
fn write(&mut self, index: U256, value: M256) -> Result<(), MemoryError>
Write value into the index.
fn write_raw(&mut self, index: U256, value: u8) -> Result<(), MemoryError>
Write only one byte value into the index.
fn read(&self, index: U256) -> M256
Read value from the index.
fn read_raw(&self, index: U256) -> u8
Read only one byte value from the index.
Implementors
impl Memory for SeqMemory