@@ -77,17 +77,16 @@ impl EventScannerBuilder<Unspecified> {
7777 /// # Example
7878 ///
7979 /// ```no_run
80- /// # use alloy::network::Ethereum;
81- /// # use event_scanner::{EventFilter, EventScannerBuilder, Message};
80+ /// # use alloy::{ network::Ethereum, providers::{Provider, ProviderBuilder}} ;
81+ /// # use event_scanner::{EventFilter, EventScannerBuilder, Message, robust_provider::RobustProvider };
8282 /// # use tokio_stream::StreamExt;
8383 /// #
8484 /// # async fn example() -> Result<(), Box<dyn std::error::Error>> {
85- /// # let ws_url = "ws://localhost:8545".parse()?;
8685 /// # let contract_address = alloy::primitives::address!("0xd8dA6BF26964af9d7eed9e03e53415d37aa96045");
8786 /// // Stream all events from genesis to latest block
88- /// let mut scanner = EventScannerBuilder::historic()
89- /// .connect_ws::<Ethereum>(ws_url)
90- /// .await? ;
87+ /// let provider = ProviderBuilder::new().connect("ws://localhost:8545").await?;
88+ /// let robust_provider = RobustProvider::new(provider.root().to_owned());
89+ /// let mut scanner = EventScannerBuilder::historic().connect(robust_provider) ;
9190 ///
9291 /// let filter = EventFilter::new().contract_address(contract_address);
9392 /// let mut stream = scanner.subscribe(filter);
@@ -104,17 +103,17 @@ impl EventScannerBuilder<Unspecified> {
104103 /// Specifying a custom block range:
105104 ///
106105 /// ```no_run
107- /// # use alloy::network::Ethereum;
108- /// # use event_scanner::EventScannerBuilder;
106+ /// # use alloy::{ network::Ethereum, providers::{Provider, ProviderBuilder}} ;
107+ /// # use event_scanner::{ EventScannerBuilder, robust_provider::RobustProvider} ;
109108 /// #
110109 /// # async fn example() -> Result<(), Box<dyn std::error::Error>> {
111- /// # let ws_url = "ws://localhost:8545".parse()?;
112110 /// // Stream events between blocks [1_000_000, 2_000_000]
111+ /// let provider = ProviderBuilder::new().connect("ws://localhost:8545").await?;
112+ /// let robust_provider = RobustProvider::new(provider.root().to_owned());
113113 /// let mut scanner = EventScannerBuilder::historic()
114114 /// .from_block(1_000_000)
115115 /// .to_block(2_000_000)
116- /// .connect_ws::<Ethereum>(ws_url)
117- /// .await?;
116+ /// .connect(robust_provider);
118117 /// # Ok(())
119118 /// # }
120119 /// ```
@@ -143,18 +142,18 @@ impl EventScannerBuilder<Unspecified> {
143142 /// # Example
144143 ///
145144 /// ```no_run
146- /// # use alloy::network::Ethereum;
147- /// # use event_scanner::{EventFilter, EventScannerBuilder, Message};
145+ /// # use alloy::{ network::Ethereum, providers::{Provider, ProviderBuilder}} ;
146+ /// # use event_scanner::{EventFilter, EventScannerBuilder, Message, robust_provider::RobustProvider };
148147 /// # use tokio_stream::StreamExt;
149148 /// #
150149 /// # async fn example() -> Result<(), Box<dyn std::error::Error>> {
151- /// # let ws_url = "ws://localhost:8545".parse()?;
152150 /// # let contract_address = alloy::primitives::address!("0xd8dA6BF26964af9d7eed9e03e53415d37aa96045");
153151 /// // Stream new events as they arrive
152+ /// let provider = ProviderBuilder::new().connect("ws://localhost:8545").await?;
153+ /// let robust_provider = RobustProvider::new(provider.root().to_owned());
154154 /// let mut scanner = EventScannerBuilder::live()
155155 /// .block_confirmations(20)
156- /// .connect_ws::<Ethereum>(ws_url)
157- /// .await?;
156+ /// .connect(robust_provider);
158157 ///
159158 /// let filter = EventFilter::new().contract_address(contract_address);
160159 /// let mut stream = scanner.subscribe(filter);
@@ -229,17 +228,16 @@ impl EventScannerBuilder<Unspecified> {
229228 /// # Example
230229 ///
231230 /// ```no_run
232- /// # use alloy::{network::Ethereum, primitives::Address};
233- /// # use event_scanner::{EventFilter, EventScannerBuilder, Message};
231+ /// # use alloy::{network::Ethereum, primitives::Address, providers::{Provider, ProviderBuilder} };
232+ /// # use event_scanner::{EventFilter, EventScannerBuilder, Message, robust_provider::RobustProvider };
234233 /// # use tokio_stream::StreamExt;
235234 /// #
236235 /// # async fn example() -> Result<(), Box<dyn std::error::Error>> {
237- /// # let ws_url = "ws://localhost:8545".parse()?;
238236 /// # let contract_address = alloy::primitives::address!("0xd8dA6BF26964af9d7eed9e03e53415d37aa96045");
239237 /// // Collect the latest 10 events across Earliest..=Latest
240- /// let mut scanner = EventScannerBuilder::latest(10)
241- /// .connect_ws::<Ethereum>(ws_url)
242- /// .await? ;
238+ /// let provider = ProviderBuilder::new().connect("ws://localhost:8545").await?;
239+ /// let robust_provider = RobustProvider::new(provider.root().to_owned());
240+ /// let mut scanner = EventScannerBuilder::latest(10).connect(robust_provider) ;
243241 ///
244242 /// let filter = EventFilter::new().contract_address(contract_address);
245243 /// let mut stream = scanner.subscribe(filter);
@@ -257,17 +255,17 @@ impl EventScannerBuilder<Unspecified> {
257255 /// Restricting to a specific block range:
258256 ///
259257 /// ```no_run
260- /// # use alloy::network::Ethereum;
261- /// # use event_scanner::EventScannerBuilder;
258+ /// # use alloy::{ network::Ethereum, providers::{Provider, ProviderBuilder}} ;
259+ /// # use event_scanner::{ EventScannerBuilder, robust_provider::RobustProvider} ;
262260 /// #
263261 /// # async fn example() -> Result<(), Box<dyn std::error::Error>> {
264- /// # let ws_url = "ws://localhost:8545".parse()?;
265262 /// // Collect the latest 5 events between blocks [1_000_000, 1_100_000]
263+ /// let provider = ProviderBuilder::new().connect("ws://localhost:8545").await?;
264+ /// let robust_provider = RobustProvider::new(provider.root().to_owned());
266265 /// let mut scanner = EventScannerBuilder::latest(5)
267266 /// .from_block(1_000_000)
268267 /// .to_block(1_100_000)
269- /// .connect_ws::<Ethereum>(ws_url)
270- /// .await?;
268+ /// .connect(robust_provider);
271269 /// # Ok(())
272270 /// # }
273271 /// ```
0 commit comments