use crate::{ExecutorError, MemLength, MemPtr};
pub trait InstanceState {
fn get_points_used(&mut self) -> Result<u64, ExecutorError>;
fn set_points_used(&mut self, points: u64) -> Result<(), ExecutorError>;
fn memory_load_to_slice(&self, mem_ptr: MemPtr, dest: &mut [u8]) -> Result<(), ExecutorError>;
fn memory_load_owned(
&self,
mem_ptr: MemPtr,
mem_length: MemLength,
) -> Result<Vec<u8>, ExecutorError>;
fn memory_store(&self, mem_ptr: MemPtr, data: &[u8]) -> Result<(), ExecutorError>;
}