anvil_zksync_api_server/impls/
config.rs

1use anvil_zksync_api_decl::ConfigNamespaceServer;
2use anvil_zksync_core::node::InMemoryNode;
3use anvil_zksync_types::{LogLevel, ShowGasDetails, ShowStorageLogs, ShowVMDetails};
4use jsonrpsee::core::{async_trait, RpcResult};
5
6use crate::error::RpcErrorAdapter;
7
8pub struct ConfigNamespace {
9    node: InMemoryNode,
10}
11
12impl ConfigNamespace {
13    pub fn new(node: InMemoryNode) -> Self {
14        Self { node }
15    }
16}
17
18#[async_trait]
19impl ConfigNamespaceServer for ConfigNamespace {
20    async fn get_current_timestamp(&self) -> RpcResult<u64> {
21        self.node
22            .get_current_timestamp()
23            .map_err(RpcErrorAdapter::into)
24    }
25
26    async fn set_show_storage_logs(&self, value: ShowStorageLogs) -> RpcResult<String> {
27        self.node
28            .set_show_storage_logs(value)
29            .await
30            .map_err(RpcErrorAdapter::into)
31    }
32
33    async fn set_show_vm_details(&self, value: ShowVMDetails) -> RpcResult<String> {
34        self.node
35            .set_show_vm_details(value)
36            .await
37            .map_err(RpcErrorAdapter::into)
38    }
39
40    async fn set_show_gas_details(&self, value: ShowGasDetails) -> RpcResult<String> {
41        self.node
42            .set_show_gas_details(value)
43            .await
44            .map_err(RpcErrorAdapter::into)
45    }
46
47    async fn set_show_node_config(&self, value: bool) -> RpcResult<bool> {
48        self.node
49            .set_show_node_config(value)
50            .await
51            .map_err(RpcErrorAdapter::into)
52    }
53
54    async fn set_log_level(&self, level: LogLevel) -> RpcResult<bool> {
55        self.node
56            .set_log_level(level)
57            .map_err(RpcErrorAdapter::into)
58    }
59
60    async fn set_logging(&self, directive: String) -> RpcResult<bool> {
61        self.node
62            .set_logging(directive)
63            .map_err(RpcErrorAdapter::into)
64    }
65}