From 10cd52f19a6e7b2f6f37da9a3891d49cab486357 Mon Sep 17 00:00:00 2001 From: Bryan Stitt Date: Thu, 12 May 2022 03:54:42 +0000 Subject: [PATCH] this works but i dont like it --- web3-proxy/src/connections.rs | 1 + web3-proxy/src/jsonrpc.rs | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/web3-proxy/src/connections.rs b/web3-proxy/src/connections.rs index a7d98f53..583d4612 100644 --- a/web3-proxy/src/connections.rs +++ b/web3-proxy/src/connections.rs @@ -131,6 +131,7 @@ impl Web3Connections { params: Option>, response_sender: flume::Sender>>, ) -> anyhow::Result<()> { + // TODO: if only 1 active_request_handles, do self.try_send_request let mut unordered_futures = FuturesUnordered::new(); for connection in active_request_handles { diff --git a/web3-proxy/src/jsonrpc.rs b/web3-proxy/src/jsonrpc.rs index d7e9966a..752aa8fb 100644 --- a/web3-proxy/src/jsonrpc.rs +++ b/web3-proxy/src/jsonrpc.rs @@ -9,6 +9,7 @@ pub struct JsonRpcRequest { // pub jsonrpc: Box, pub id: Box, pub method: String, + // TODO: should we have the default of [] here instead? pub params: Option>, } @@ -109,7 +110,11 @@ impl<'de> Deserialize<'de> for JsonRpcRequestEnum { let id = id.ok_or_else(|| de::Error::missing_field("id"))?; let method = method.ok_or_else(|| de::Error::missing_field("method"))?; - let params = params.ok_or_else(|| de::Error::missing_field("params"))?; + + let params: Option> = match params { + None => Some(RawValue::from_string("[]".to_string()).unwrap()), + Some(x) => Some(x), + }; let single = JsonRpcRequest { id, method, params };