diff --git a/crates/rpc/rpc-api/src/eth_filter.rs b/crates/rpc/rpc-api/src/eth_filter.rs index 9e313c75f7..484157898e 100644 --- a/crates/rpc/rpc-api/src/eth_filter.rs +++ b/crates/rpc/rpc-api/src/eth_filter.rs @@ -23,7 +23,7 @@ pub trait EthFilterApi { /// Returns all logs matching given filter (in a range 'from' - 'to'). #[method(name = "getFilterLogs")] - async fn filter_logs(&self, id: FilterId) -> RpcResult>; + async fn filter_logs(&self, id: FilterId) -> RpcResult; /// Uninstalls filter. #[method(name = "uninstallFilter")] diff --git a/crates/rpc/rpc/src/eth/filter.rs b/crates/rpc/rpc/src/eth/filter.rs index 5332de726b..d7ab17c3ad 100644 --- a/crates/rpc/rpc/src/eth/filter.rs +++ b/crates/rpc/rpc/src/eth/filter.rs @@ -135,7 +135,7 @@ where /// Returns an error if no matching log filter exists. /// /// Handler for `eth_getFilterLogs` - pub async fn filter_logs(&self, id: FilterId) -> Result, FilterError> { + pub async fn filter_logs(&self, id: FilterId) -> Result { let filter = { let filters = self.inner.active_filters.inner.lock().await; if let FilterKind::Log(ref filter) = @@ -148,7 +148,8 @@ where } }; - self.inner.logs_for_filter(filter).await + let logs = self.inner.logs_for_filter(filter).await?; + Ok(FilterChanges::Logs(logs)) } } @@ -187,7 +188,7 @@ where /// Returns an error if no matching log filter exists. /// /// Handler for `eth_getFilterLogs` - async fn filter_logs(&self, id: FilterId) -> RpcResult> { + async fn filter_logs(&self, id: FilterId) -> RpcResult { trace!(target: "rpc::eth", "Serving eth_getFilterLogs"); Ok(EthFilter::filter_logs(self, id).await?) }