From ed03a2cb2af16d621e88f55fa0a122d523f32626 Mon Sep 17 00:00:00 2001 From: Isaac Patka Date: Mon, 7 Aug 2023 15:04:13 -0400 Subject: [PATCH 1/2] Surface provider error --- crates/cli/src/parse/source.rs | 2 +- crates/freeze/src/types/errors.rs | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/crates/cli/src/parse/source.rs b/crates/cli/src/parse/source.rs index c97aae75..49b1f3dd 100644 --- a/crates/cli/src/parse/source.rs +++ b/crates/cli/src/parse/source.rs @@ -17,7 +17,7 @@ pub(crate) async fn parse_source(args: &Args) -> Result { let chain_id = provider .get_chainid() .await - .map_err(|_e| ParseError::ParseError("could not connect to provider".to_string()))? + .map_err(|e| ParseError::ProviderError(e))? .as_u64(); let rate_limiter = match args.requests_per_second { diff --git a/crates/freeze/src/types/errors.rs b/crates/freeze/src/types/errors.rs index 2796e02c..06760862 100644 --- a/crates/freeze/src/types/errors.rs +++ b/crates/freeze/src/types/errors.rs @@ -70,6 +70,10 @@ pub enum ParseError { #[error("Parsing error")] ParseError(String), + /// Error related to provider operations + #[error("Failed to get block: {0}")] + ProviderError(#[source] ProviderError), + /// Parse int error #[error("Parsing error")] ParseIntError(#[from] std::num::ParseIntError), From f69557f146fb8485f5a90f6ace23c0df82f5fe46 Mon Sep 17 00:00:00 2001 From: Isaac Patka Date: Mon, 7 Aug 2023 15:04:26 -0400 Subject: [PATCH 2/2] fmt --- crates/cli/src/parse/source.rs | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/crates/cli/src/parse/source.rs b/crates/cli/src/parse/source.rs index 49b1f3dd..14313555 100644 --- a/crates/cli/src/parse/source.rs +++ b/crates/cli/src/parse/source.rs @@ -14,11 +14,7 @@ pub(crate) async fn parse_source(args: &Args) -> Result { let rpc_url = parse_rpc_url(args); let provider = Provider::::try_from(rpc_url) .map_err(|_e| ParseError::ParseError("could not connect to provider".to_string()))?; - let chain_id = provider - .get_chainid() - .await - .map_err(|e| ParseError::ProviderError(e))? - .as_u64(); + let chain_id = provider.get_chainid().await.map_err(|e| ParseError::ProviderError(e))?.as_u64(); let rate_limiter = match args.requests_per_second { Some(rate_limit) => match NonZeroU32::new(rate_limit) {