near_vm_logic/mocks/
mock_memory.rs1use crate::MemoryLike;
2
3#[derive(Default)]
4pub struct MockedMemory {}
5
6impl MemoryLike for MockedMemory {
7 fn fits_memory(&self, _offset: u64, _len: u64) -> bool {
8 true
9 }
10
11 fn read_memory(&self, offset: u64, buffer: &mut [u8]) {
12 let src = unsafe { std::slice::from_raw_parts(offset as *const u8, buffer.len() as usize) };
13 buffer.copy_from_slice(src);
14 }
15
16 fn read_memory_u8(&self, offset: u64) -> u8 {
17 let offset = offset as *const u8;
18 unsafe { *offset }
19 }
20
21 fn write_memory(&mut self, offset: u64, buffer: &[u8]) {
22 let dest =
23 unsafe { std::slice::from_raw_parts_mut(offset as *mut u8, buffer.len() as usize) };
24 dest.copy_from_slice(buffer);
25 }
26}