diff --git a/ethers-providers/src/transports/http.rs b/ethers-providers/src/transports/http.rs index 1df204da..ad473c0e 100644 --- a/ethers-providers/src/transports/http.rs +++ b/ethers-providers/src/transports/http.rs @@ -75,6 +75,23 @@ impl From for JsonRpcError { } } +impl From> for ClientError { + fn from(result: Result) -> Self { + match result { + Ok(msg) => ClientError::JsonRpcError(JsonRpcError { + code: 0, + message: msg, + data: None, + }), + Err(_) => ClientError::JsonRpcError(JsonRpcError { + code: 0, + message: "response is not a string".to_string(), + data: None, + }), + } + } +} + #[cfg_attr(target_arch = "wasm32", async_trait(?Send))] #[cfg_attr(not(target_arch = "wasm32"), async_trait)] impl JsonRpcClient for Provider {