anvil_zksync_api_server/impls/
config.rs1use 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}