inkpad_sandbox/
storage.rs

1use crate::{Sandbox, StorageKey};
2use inkpad_executor::Result;
3use inkpad_std::Vec;
4
5impl Sandbox {
6    /// Get storage
7    pub fn get_storage(&self, key: &StorageKey) -> Result<Option<Vec<u8>>> {
8        log::debug!(
9            "(get_storage) {:?} ({:?})",
10            key,
11            self.cache.borrow().active()
12        );
13        let v = self.cache.borrow().active_get(key).map(|v| v.to_vec());
14        Ok(v)
15    }
16
17    /// Get storage
18    pub fn set_storage(&mut self, key: StorageKey, value: Vec<u8>) -> Result<()> {
19        log::debug!(
20            "(set_storage) {:?},{:?} ({:?})",
21            key,
22            value,
23            self.cache.borrow().active(),
24        );
25        self.cache.borrow_mut().active_set(key, value);
26        Ok(())
27    }
28}