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}