File tree Expand file tree Collapse file tree 1 file changed +6
-9
lines changed
Expand file tree Collapse file tree 1 file changed +6
-9
lines changed Original file line number Diff line number Diff line change @@ -9,6 +9,7 @@ use alloy::{
99 transports:: { RpcError , TransportErrorKind } ,
1010} ;
1111use backon:: { ExponentialBuilder , Retryable } ;
12+ use futures:: TryFutureExt ;
1213use thiserror:: Error ;
1314use tokio:: time:: { error as TokioError , timeout} ;
1415use tracing:: { error, info} ;
@@ -325,15 +326,11 @@ impl<N: Network> RobustProvider<N> {
325326 Fut : Future < Output = Result < T , RpcError < TransportErrorKind > > > ,
326327 {
327328 let primary = self . primary ( ) ;
328- let result = self . try_provider_with_timeout ( primary, & operation) . await ;
329-
330- if result. is_ok ( ) {
331- return result;
332- }
333-
334- let last_error = result. unwrap_err ( ) ;
335-
336- self . try_fallback_providers ( & operation, require_pubsub, last_error) . await
329+ self . try_provider_with_timeout ( primary, & operation)
330+ . or_else ( |last_error| {
331+ self . try_fallback_providers ( & operation, require_pubsub, last_error)
332+ } )
333+ . await
337334 }
338335
339336 pub ( crate ) async fn try_fallback_providers < T : Debug , F , Fut > (
You can’t perform that action at this time.
0 commit comments