anvil_zksync_api_server/impls/
evm.rs

1use anvil_zksync_api_decl::EvmNamespaceServer;
2use anvil_zksync_core::node::InMemoryNode;
3use jsonrpsee::core::{async_trait, RpcResult};
4
5use crate::error::RpcErrorAdapter;
6
7pub struct EvmNamespace {
8    node: InMemoryNode,
9}
10
11impl EvmNamespace {
12    pub fn new(node: InMemoryNode) -> Self {
13        Self { node }
14    }
15}
16
17#[async_trait]
18impl EvmNamespaceServer for EvmNamespace {
19    async fn mine(&self) -> RpcResult<String> {
20        self.node
21            .mine_block()
22            .await
23            .map_err(RpcErrorAdapter::into)?;
24        Ok("0x0".to_string())
25    }
26}