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}