anvil_zksync_core/node/inner/
storage.rs1use async_trait::async_trait;
2use zksync_multivm::interface::storage::ReadStorage;
3use zksync_types::{StorageKey, StorageValue, H256};
4
5#[async_trait]
6pub trait ReadStorageDyn: ReadStorage + Send + Sync {
7 fn dyn_cloned(&self) -> Box<dyn ReadStorageDyn>;
9
10 async fn read_value_alt(&self, key: &StorageKey) -> anyhow::Result<StorageValue>;
13
14 async fn load_factory_dep_alt(&self, hash: H256) -> anyhow::Result<Option<Vec<u8>>>;
17}
18
19impl Clone for Box<dyn ReadStorageDyn> {
20 fn clone(&self) -> Self {
21 self.dyn_cloned()
22 }
23}