eigen_client_eth/client.rs
1#[derive(Debug)]
2pub struct Client {}
3
4use alloy::eips::BlockNumberOrTag;
5use alloy::primitives::BlockNumber;
6use alloy::rpc::types::eth::Block;
7
8#[async_trait::async_trait]
9pub trait BackendClient {
10 type Error;
11
12 /// Get the latest block number.
13 ///
14 /// # Returns
15 ///
16 /// The latest block number.
17 async fn block_number(&self) -> Result<BlockNumber, Self::Error>;
18
19 /// Get the block hash given its block number.
20 ///
21 /// # Arguments
22 ///
23 /// * `number` - The block number.
24 ///
25 /// # Returns
26 ///
27 /// The block having that number.
28 async fn block_by_number(&self, number: BlockNumberOrTag)
29 -> Result<Option<Block>, Self::Error>;
30}