diff --git a/ethers-providers/src/log_query.rs b/ethers-providers/src/log_query.rs
index 77cdaee3..43cf7086 100644
--- a/ethers-providers/src/log_query.rs
+++ b/ethers-providers/src/log_query.rs
@@ -1,4 +1,4 @@
-use super::{JsonRpcClient, Middleware, PinBoxFut, Provider};
+use super::{JsonRpcClient, Middleware, PinBoxFut, Provider, ProviderError};
use ethers_core::types::{Filter, Log, U64};
use futures_core::stream::Stream;
use std::{
@@ -6,6 +6,7 @@ use std::{
pin::Pin,
task::{Context, Poll},
};
+use thiserror::Error;
pub struct LogQuery<'a, P> {
provider: &'a Provider
,
@@ -55,11 +56,19 @@ macro_rules! rewake_with_new_state {
};
}
+#[derive(Error, Debug)]
+pub enum LogQueryError {
+ #[error(transparent)]
+ LoadLastBlockError(E),
+ #[error(transparent)]
+ LoadLogsError(E),
+}
+
impl<'a, P> Stream for LogQuery<'a, P>
where
P: JsonRpcClient,
{
- type Item = Log;
+ type Item = Result>;
fn poll_next(mut self: Pin<&mut Self>, ctx: &mut Context<'_>) -> Poll