Skip to main content

blueprint_client_evm/
client.rs

1//! Re-exported from <https://github.com/Layr-Labs/eigensdk-rs/blob/main/crates/chainio/clients/eth/src/client.rs>
2
3use alloy_primitives::BlockNumber;
4use alloy_rpc_types::{Block, BlockNumberOrTag};
5
6#[derive(Debug)]
7pub struct Client {}
8
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}