You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -135,14 +135,16 @@ let provider = ProviderBuilder::new().connect("ws://localhost:8545").await?;
135
135
letscanner=EventScannerBuilder::live()
136
136
.max_block_range(500) // Optional: set max blocks per read (default: 1000)
137
137
.block_confirmations(12) // Optional: set block confirmations (default: 12)
138
-
.connect(provider.clone());
138
+
.connect(provider.clone())
139
+
.await?;
139
140
140
141
// Historical block range mode
141
142
letscanner=EventScannerBuilder::historic()
142
143
.from_block(1_000_000)
143
144
.to_block(2_000_000)
144
145
.max_block_range(500)
145
-
.connect(provider.clone());
146
+
.connect(provider.clone())
147
+
.await?;
146
148
147
149
// we can also wrap the provider in a RobustProvider
148
150
// for more advanced configurations like retries and fallbacks
@@ -153,20 +155,23 @@ let scanner = EventScannerBuilder::latest(100)
153
155
// .from_block(1_000_000) // Optional: set start of search range
154
156
// .to_block(2_000_000) // Optional: set end of search range
155
157
.max_block_range(500)
156
-
.connect(robust_provider.clone());
158
+
.connect(robust_provider.clone())
159
+
.await?;
157
160
158
161
// Sync from block then switch to live mode
159
162
letscanner=EventScannerBuilder::sync()
160
163
.from_block(100)
161
164
.max_block_range(500)
162
165
.block_confirmations(12)
163
-
.connect(robust_provider.clone());
166
+
.connect(robust_provider.clone())
167
+
.await?;
164
168
165
169
// Sync the latest 60 events then switch to live mode
166
170
letscanner=EventScannerBuilder::sync()
167
171
.from_latest(60)
168
172
.block_confirmations(12)
169
-
.connect(robust_provider);
173
+
.connect(robust_provider)
174
+
.await?;
170
175
```
171
176
172
177
Invoking `scanner.start()` starts the scanner in the specified mode.
@@ -176,25 +181,28 @@ Invoking `scanner.start()` starts the scanner in the specified mode.
176
181
Create an `EventFilter` for each event stream you wish to process. The filter specifies the contract address where events originated, and event signatures (tip: you can use the value stored in `SolEvent::SIGNATURE`).
177
182
178
183
```rust
184
+
usealloy::sol_types::SolEvent;
185
+
useevent_scanner::EventFilter;
186
+
179
187
// Track a SPECIFIC event from a SPECIFIC contract
0 commit comments