@@ -26,36 +26,6 @@ pub enum Error {
2626 BlockNotFound ( BlockId ) ,
2727}
2828
29- /// Errors that can occur when using [`RobustProvider`].
30- #[ derive( Error , Debug , Clone ) ]
31- pub ( crate ) enum CommonError {
32- #[ error( "Operation timed out" ) ]
33- Timeout ,
34- #[ error( "RPC call failed after exhausting all retry attempts: {0}" ) ]
35- RpcError ( Arc < RpcError < TransportErrorKind > > ) ,
36- }
37-
38- impl From < RpcError < TransportErrorKind > > for CommonError {
39- fn from ( err : RpcError < TransportErrorKind > ) -> Self {
40- CommonError :: RpcError ( Arc :: new ( err) )
41- }
42- }
43-
44- impl From < CommonError > for Error {
45- fn from ( err : CommonError ) -> Self {
46- match err {
47- CommonError :: Timeout => Error :: Timeout ,
48- CommonError :: RpcError ( e) => Error :: RpcError ( e) ,
49- }
50- }
51- }
52-
53- impl From < TokioError :: Elapsed > for CommonError {
54- fn from ( _: TokioError :: Elapsed ) -> Self {
55- CommonError :: Timeout
56- }
57- }
58-
5929impl From < RpcError < TransportErrorKind > > for Error {
6030 fn from ( err : RpcError < TransportErrorKind > ) -> Self {
6131 Error :: RpcError ( Arc :: new ( err) )
@@ -164,8 +134,7 @@ impl<N: Network> RobustProvider<N> {
164134 move |provider| async move { provider. get_block_number ( ) . await } ,
165135 false ,
166136 )
167- . await
168- . map_err ( Error :: from) ;
137+ . await ;
169138 if let Err ( e) = & result {
170139 error ! ( error = %e, "eth_getBlockNumber failed" ) ;
171140 }
@@ -253,8 +222,7 @@ impl<N: Network> RobustProvider<N> {
253222 move |provider| async move { provider. get_logs ( filter) . await } ,
254223 false ,
255224 )
256- . await
257- . map_err ( Error :: from) ;
225+ . await ;
258226 if let Err ( e) = & result {
259227 error ! ( error = %e, "eth_getLogs failed" ) ;
260228 }
@@ -288,7 +256,7 @@ impl<N: Network> RobustProvider<N> {
288256 Ok ( sub) => Ok ( RobustSubscription :: new ( sub, self . clone ( ) ) ) ,
289257 Err ( e) => {
290258 error ! ( error = %e, "eth_subscribe failed" ) ;
291- Err ( e. into ( ) )
259+ Err ( e)
292260 }
293261 }
294262 }
@@ -317,7 +285,7 @@ impl<N: Network> RobustProvider<N> {
317285 & self ,
318286 operation : F ,
319287 require_pubsub : bool ,
320- ) -> Result < T , CommonError >
288+ ) -> Result < T , Error >
321289 where
322290 F : Fn ( RootProvider < N > ) -> Fut ,
323291 Fut : Future < Output = Result < T , RpcError < TransportErrorKind > > > ,
@@ -338,8 +306,8 @@ impl<N: Network> RobustProvider<N> {
338306 & self ,
339307 operation : F ,
340308 require_pubsub : bool ,
341- last_error : CommonError ,
342- ) -> Result < T , CommonError >
309+ last_error : Error ,
310+ ) -> Result < T , Error >
343311 where
344312 F : Fn ( RootProvider < N > ) -> Fut ,
345313 Fut : Future < Output = Result < T , RpcError < TransportErrorKind > > > ,
@@ -353,9 +321,9 @@ impl<N: Network> RobustProvider<N> {
353321 & self ,
354322 operation : F ,
355323 require_pubsub : bool ,
356- mut last_error : CommonError ,
324+ mut last_error : Error ,
357325 start_index : usize ,
358- ) -> Result < ( T , usize ) , CommonError >
326+ ) -> Result < ( T , usize ) , Error >
359327 where
360328 F : Fn ( RootProvider < N > ) -> Fut ,
361329 Fut : Future < Output = Result < T , RpcError < TransportErrorKind > > > ,
@@ -394,7 +362,7 @@ impl<N: Network> RobustProvider<N> {
394362 & self ,
395363 provider : & RootProvider < N > ,
396364 operation : F ,
397- ) -> Result < T , CommonError >
365+ ) -> Result < T , Error >
398366 where
399367 F : Fn ( RootProvider < N > ) -> Fut ,
400368 Fut : Future < Output = Result < T , RpcError < TransportErrorKind > > > ,
@@ -413,8 +381,8 @@ impl<N: Network> RobustProvider<N> {
413381 . sleep ( tokio:: time:: sleep) ,
414382 )
415383 . await
416- . map_err ( CommonError :: from) ?
417- . map_err ( CommonError :: from)
384+ . map_err ( Error :: from) ?
385+ . map_err ( Error :: from)
418386 }
419387
420388 /// Check if a provider supports pubsub
@@ -516,7 +484,7 @@ mod tests {
516484
517485 let call_count = AtomicUsize :: new ( 0 ) ;
518486
519- let result: Result < ( ) , CommonError > = provider
487+ let result: Result < ( ) , Error > = provider
520488 . try_operation_with_failover (
521489 |_| async {
522490 call_count. fetch_add ( 1 , Ordering :: SeqCst ) ;
@@ -526,7 +494,7 @@ mod tests {
526494 )
527495 . await ;
528496
529- assert ! ( matches!( result, Err ( CommonError :: RpcError ( _) ) ) ) ;
497+ assert ! ( matches!( result, Err ( Error :: RpcError ( _) ) ) ) ;
530498 assert_eq ! ( call_count. load( Ordering :: SeqCst ) , 3 ) ;
531499 }
532500
@@ -545,7 +513,7 @@ mod tests {
545513 )
546514 . await ;
547515
548- assert ! ( matches!( result, Err ( CommonError :: Timeout ) ) ) ;
516+ assert ! ( matches!( result, Err ( Error :: Timeout ) ) ) ;
549517 }
550518
551519 #[ tokio:: test]
0 commit comments