@@ -5,7 +5,7 @@ use alloy::{
55} ;
66use alloy_node_bindings:: Anvil ;
77use event_scanner:: {
8- ScannerError , ScannerStatus , assert_closed, assert_empty, assert_next,
8+ ScannerError , ScannerStatus , assert_closed, assert_empty, assert_next, assert_range_coverage ,
99 block_range_scanner:: BlockRangeScanner ,
1010} ;
1111
@@ -22,11 +22,7 @@ async fn live_mode_processes_all_blocks_respecting_block_confirmations() -> anyh
2222
2323 provider. anvil_mine ( Some ( 5 ) , None ) . await ?;
2424
25- assert_next ! ( stream, 1 ..=1 ) ;
26- assert_next ! ( stream, 2 ..=2 ) ;
27- assert_next ! ( stream, 3 ..=3 ) ;
28- assert_next ! ( stream, 4 ..=4 ) ;
29- assert_next ! ( stream, 5 ..=5 ) ;
25+ assert_range_coverage ! ( stream, 1 ..=5 ) ;
3026 let mut stream = assert_empty ! ( stream) ;
3127
3228 provider. anvil_mine ( Some ( 1 ) , None ) . await ?;
@@ -40,11 +36,7 @@ async fn live_mode_processes_all_blocks_respecting_block_confirmations() -> anyh
4036
4137 provider. anvil_mine ( Some ( 5 ) , None ) . await ?;
4238
43- assert_next ! ( stream, 6 ..=6 ) ;
44- assert_next ! ( stream, 7 ..=7 ) ;
45- assert_next ! ( stream, 8 ..=8 ) ;
46- assert_next ! ( stream, 9 ..=9 ) ;
47- assert_next ! ( stream, 10 ..=10 ) ;
39+ assert_range_coverage ! ( stream, 6 ..=10 ) ;
4840 let mut stream = assert_empty ! ( stream) ;
4941
5042 provider. anvil_mine ( Some ( 1 ) , None ) . await ?;
@@ -97,26 +89,18 @@ async fn continuous_blocks_if_reorg_less_than_block_confirmation() -> anyhow::Re
9789 // assert initial block ranges immediately to avoid Anvil race condition:
9890 //
9991 // when a reorg happens after anvil_mine, Anvil occasionally first streams a non-zero block
100- // number, which makes it impossible to deterministically assert the next expected block range
92+ // number, which makes it impossible to deterministically assert the first expected block range
10193 // streamed by the scanner
102- assert_next ! ( stream, 0 ..=0 ) ;
103- assert_next ! ( stream, 1 ..=1 ) ;
104- assert_next ! ( stream, 2 ..=2 ) ;
105- assert_next ! ( stream, 3 ..=3 ) ;
106- assert_next ! ( stream, 4 ..=4 ) ;
107- assert_next ! ( stream, 5 ..=5 ) ;
94+ assert_range_coverage ! ( stream, 0 ..=5 ) ;
95+ let mut stream = assert_empty ! ( stream) ;
10896
10997 // reorg less blocks than the block_confirmation config
11098 provider. anvil_reorg ( ReorgOptions { depth : 4 , tx_block_pairs : vec ! [ ] } ) . await ?;
11199 // mint additional blocks so the scanner processes reorged blocks
112100 provider. anvil_mine ( Some ( 5 ) , None ) . await ?;
113101
114102 // no ReorgDetected should be emitted
115- assert_next ! ( stream, 6 ..=6 ) ;
116- assert_next ! ( stream, 7 ..=7 ) ;
117- assert_next ! ( stream, 8 ..=8 ) ;
118- assert_next ! ( stream, 9 ..=9 ) ;
119- assert_next ! ( stream, 10 ..=10 ) ;
103+ assert_range_coverage ! ( stream, 6 ..=10 ) ;
120104 assert_empty ! ( stream) ;
121105
122106 Ok ( ( ) )
@@ -137,34 +121,18 @@ async fn shallow_block_confirmation_does_not_mitigate_reorg() -> anyhow::Result<
137121 // assert initial block ranges immediately to avoid Anvil race condition:
138122 //
139123 // when a reorg happens after anvil_mine, Anvil occasionally first streams a non-zero block
140- // number, which makes it impossible to deterministically assert the next expected block range
124+ // number, which makes it impossible to deterministically assert the first expected block range
141125 // streamed by the scanner
142- assert_next ! ( stream, 0 ..=0 ) ;
143- assert_next ! ( stream, 1 ..=1 ) ;
144- assert_next ! ( stream, 2 ..=2 ) ;
145- assert_next ! ( stream, 3 ..=3 ) ;
146- assert_next ! ( stream, 4 ..=4 ) ;
147- assert_next ! ( stream, 5 ..=5 ) ;
148- assert_next ! ( stream, 6 ..=6 ) ;
149- assert_next ! ( stream, 7 ..=7 ) ;
126+ assert_range_coverage ! ( stream, 0 ..=7 ) ;
127+ let mut stream = assert_empty ! ( stream) ;
150128
151129 // reorg more blocks than the block_confirmation config
152130 provider. anvil_reorg ( ReorgOptions { depth : 8 , tx_block_pairs : vec ! [ ] } ) . await ?;
153131 // mint additional blocks
154132 provider. anvil_mine ( Some ( 3 ) , None ) . await ?;
155133
156134 assert_next ! ( stream, ScannerStatus :: ReorgDetected ) ;
157- assert_next ! ( stream, 0 ..=0 ) ;
158- assert_next ! ( stream, 1 ..=1 ) ;
159- assert_next ! ( stream, 2 ..=2 ) ;
160- assert_next ! ( stream, 3 ..=3 ) ;
161- assert_next ! ( stream, 4 ..=4 ) ;
162- assert_next ! ( stream, 5 ..=5 ) ;
163- assert_next ! ( stream, 6 ..=6 ) ;
164- assert_next ! ( stream, 7 ..=7 ) ;
165- assert_next ! ( stream, 8 ..=8 ) ;
166- assert_next ! ( stream, 9 ..=9 ) ;
167- assert_next ! ( stream, 10 ..=10 ) ;
135+ assert_range_coverage ! ( stream, 0 ..=10 ) ;
168136 assert_empty ! ( stream) ;
169137
170138 Ok ( ( ) )
0 commit comments