eigen_client_eth/
client.rs

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