@@ -8,7 +8,7 @@ use alloy_provider::{Provider, ReqwestProvider};
8
8
use alloy_rlp:: { Buf , Decodable } ;
9
9
use alloy_transport:: { RpcError , TransportErrorKind , TransportResult } ;
10
10
use async_trait:: async_trait;
11
- use core:: { num:: NonZeroUsize , str :: FromStr } ;
11
+ use core:: num:: NonZeroUsize ;
12
12
use lru:: LruCache ;
13
13
use op_alloy_genesis:: { RollupConfig , SystemConfig } ;
14
14
use op_alloy_protocol:: { BlockInfo , L2BlockInfo } ;
@@ -60,17 +60,14 @@ impl AlloyChainProvider {
60
60
Self :: new ( inner)
61
61
}
62
62
63
+ /// Returns the latest L2 block number.
64
+ pub async fn latest_block_number ( & mut self ) -> Result < u64 , RpcError < TransportErrorKind > > {
65
+ self . inner . get_block_number ( ) . await
66
+ }
67
+
63
68
/// Returns the chain ID.
64
69
pub async fn chain_id ( & mut self ) -> Result < u64 , RpcError < TransportErrorKind > > {
65
- let chain_id: TransportResult < alloc:: string:: String > =
66
- self . inner . raw_request ( "eth_chainId" . into ( ) , ( ) ) . await ;
67
- let chain_id = match chain_id {
68
- Ok ( s) => {
69
- U64 :: from_str ( s. as_str ( ) ) . map_err ( |e| RpcError :: LocalUsageError ( Box :: new ( e) ) ) ?
70
- }
71
- Err ( e) => return Err ( e) ,
72
- } ;
73
- Ok ( chain_id. to :: < u64 > ( ) )
70
+ self . inner . get_chain_id ( ) . await
74
71
}
75
72
}
76
73
@@ -294,26 +291,12 @@ impl AlloyL2ChainProvider {
294
291
295
292
/// Returns the chain ID.
296
293
pub async fn chain_id ( & mut self ) -> Result < u64 , RpcError < TransportErrorKind > > {
297
- let chain_id: TransportResult < alloc:: string:: String > =
298
- self . inner . raw_request ( "eth_chainId" . into ( ) , ( ) ) . await ;
299
- let chain_id = match chain_id {
300
- Ok ( s) => {
301
- U64 :: from_str ( s. as_str ( ) ) . map_err ( |e| RpcError :: LocalUsageError ( Box :: new ( e) ) ) ?
302
- }
303
- Err ( e) => return Err ( e) ,
304
- } ;
305
- Ok ( chain_id. to :: < u64 > ( ) )
294
+ self . inner . get_chain_id ( ) . await
306
295
}
307
296
308
297
/// Returns the latest L2 block number.
309
298
pub async fn latest_block_number ( & mut self ) -> Result < u64 , RpcError < TransportErrorKind > > {
310
- let s = self
311
- . inner
312
- . raw_request :: < ( ) , alloc:: string:: String > ( "eth_blockNumber" . into ( ) , ( ) )
313
- . await ?;
314
- U64 :: from_str ( s. as_str ( ) )
315
- . map_err ( |e| RpcError :: LocalUsageError ( Box :: new ( e) ) )
316
- . map ( |u| u. to :: < u64 > ( ) )
299
+ self . inner . get_block_number ( ) . await
317
300
}
318
301
319
302
/// Creates a new [AlloyL2ChainProvider] from the provided [reqwest::Url].
0 commit comments