@@ -373,11 +373,7 @@ impl<M> EventScannerBuilder<M> {
373373 ///
374374 /// # Arguments
375375 ///
376- /// * `max_block_range` - Maximum number of blocks to process per batch.
377- ///
378- /// # Panics
379- ///
380- /// If `max_block_range` is zero
376+ /// * `max_block_range` - Maximum number of blocks to process per batch (must be greater than 0)
381377 ///
382378 /// # Example
383379 ///
@@ -388,7 +384,6 @@ impl<M> EventScannerBuilder<M> {
388384 /// - Batch 4: blocks 1090–1099 (10 blocks)
389385 #[ must_use]
390386 pub fn max_block_range ( mut self , max_block_range : u64 ) -> Self {
391- assert ! ( max_block_range != 0 , "max block range should be greater than zero" ) ;
392387 self . block_range_scanner . max_block_range = max_block_range;
393388 self
394389 }
@@ -400,6 +395,9 @@ impl<M> EventScannerBuilder<M> {
400395 self ,
401396 provider : impl IntoRobustProvider < N > ,
402397 ) -> Result < EventScanner < M , N > , ScannerError > {
398+ if self . block_range_scanner . max_block_range == 0 {
399+ return Err ( ScannerError :: InvalidMaxBlockRange ) ;
400+ }
403401 let block_range_scanner = self . block_range_scanner . connect :: < N > ( provider) . await ?;
404402 Ok ( EventScanner { config : self . config , block_range_scanner, listeners : Vec :: new ( ) } )
405403 }
@@ -488,21 +486,17 @@ mod tests {
488486
489487 #[ tokio:: test]
490488 async fn test_latest_returns_error_with_zero_count ( ) {
491- use alloy:: providers:: { RootProvider , mock:: Asserter } ;
492- use alloy:: rpc:: client:: RpcClient ;
493-
489+ use alloy:: {
490+ providers:: { RootProvider , mock:: Asserter } ,
491+ rpc:: client:: RpcClient ,
492+ } ;
493+
494494 let provider = RootProvider :: < Ethereum > :: new ( RpcClient :: mocked ( Asserter :: new ( ) ) ) ;
495495 let result = EventScannerBuilder :: latest ( 0 ) . connect ( provider) . await ;
496-
496+
497497 match result {
498498 Err ( ScannerError :: InvalidEventCount ) => { }
499499 _ => panic ! ( "Expected InvalidEventCount error" ) ,
500500 }
501501 }
502-
503- #[ test]
504- #[ should_panic( expected = "max block range should be greater than zero" ) ]
505- fn test_max_block_range_panics_with_zero ( ) {
506- let _ = EventScannerBuilder :: historic ( ) . max_block_range ( 0 ) ;
507- }
508502}
0 commit comments