anvil_zksync_api_server/impls/
evm.rs

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