@@ -101,8 +101,8 @@ BlockSourceResult<ValidatedBlockHeader> {
101
101
/// let mut cache = UnboundedCache::new();
102
102
/// let mut monitor_listener = (monitor, &*tx_broadcaster, &*fee_estimator, &*logger);
103
103
/// let listeners = vec![
104
- /// (monitor_block_hash, &mut monitor_listener as &mut dyn chain::Listen),
105
- /// (manager_block_hash, &mut manager as &mut dyn chain::Listen),
104
+ /// (monitor_block_hash, &monitor_listener as &dyn chain::Listen),
105
+ /// (manager_block_hash, &manager as &dyn chain::Listen),
106
106
/// ];
107
107
/// let chain_tip = init::synchronize_listeners(
108
108
/// block_source, Network::Bitcoin, &mut cache, listeners).await.unwrap();
@@ -125,7 +125,7 @@ pub async fn synchronize_listeners<B: BlockSource, C: Cache>(
125
125
block_source : & mut B ,
126
126
network : Network ,
127
127
header_cache : & mut C ,
128
- mut chain_listeners : Vec < ( BlockHash , & mut dyn chain:: Listen ) > ,
128
+ mut chain_listeners : Vec < ( BlockHash , & dyn chain:: Listen ) > ,
129
129
) -> BlockSourceResult < ValidatedBlockHeader > {
130
130
let best_header = validate_best_block_header ( block_source) . await ?;
131
131
@@ -198,7 +198,7 @@ impl<'a, C: Cache> Cache for ReadOnlyCache<'a, C> {
198
198
}
199
199
200
200
/// Wrapper for supporting dynamically sized chain listeners.
201
- struct DynamicChainListener < ' a > ( & ' a mut dyn chain:: Listen ) ;
201
+ struct DynamicChainListener < ' a > ( & ' a dyn chain:: Listen ) ;
202
202
203
203
impl < ' a > chain:: Listen for DynamicChainListener < ' a > {
204
204
fn block_connected ( & self , _block : & Block , _height : u32 ) {
@@ -211,7 +211,7 @@ impl<'a> chain::Listen for DynamicChainListener<'a> {
211
211
}
212
212
213
213
/// A set of dynamically sized chain listeners, each paired with a starting block height.
214
- struct ChainListenerSet < ' a > ( Vec < ( u32 , & ' a mut dyn chain:: Listen ) > ) ;
214
+ struct ChainListenerSet < ' a > ( Vec < ( u32 , & ' a dyn chain:: Listen ) > ) ;
215
215
216
216
impl < ' a > chain:: Listen for ChainListenerSet < ' a > {
217
217
fn block_connected ( & self , block : & Block , height : u32 ) {
@@ -238,20 +238,20 @@ mod tests {
238
238
async fn sync_from_same_chain ( ) {
239
239
let mut chain = Blockchain :: default ( ) . with_height ( 4 ) ;
240
240
241
- let mut listener_1 = MockChainListener :: new ( )
241
+ let listener_1 = MockChainListener :: new ( )
242
242
. expect_block_connected ( * chain. at_height ( 2 ) )
243
243
. expect_block_connected ( * chain. at_height ( 3 ) )
244
244
. expect_block_connected ( * chain. at_height ( 4 ) ) ;
245
- let mut listener_2 = MockChainListener :: new ( )
245
+ let listener_2 = MockChainListener :: new ( )
246
246
. expect_block_connected ( * chain. at_height ( 3 ) )
247
247
. expect_block_connected ( * chain. at_height ( 4 ) ) ;
248
- let mut listener_3 = MockChainListener :: new ( )
248
+ let listener_3 = MockChainListener :: new ( )
249
249
. expect_block_connected ( * chain. at_height ( 4 ) ) ;
250
250
251
251
let listeners = vec ! [
252
- ( chain. at_height( 1 ) . block_hash, & mut listener_1 as & mut dyn chain:: Listen ) ,
253
- ( chain. at_height( 2 ) . block_hash, & mut listener_2 as & mut dyn chain:: Listen ) ,
254
- ( chain. at_height( 3 ) . block_hash, & mut listener_3 as & mut dyn chain:: Listen ) ,
252
+ ( chain. at_height( 1 ) . block_hash, & listener_1 as & dyn chain:: Listen ) ,
253
+ ( chain. at_height( 2 ) . block_hash, & listener_2 as & dyn chain:: Listen ) ,
254
+ ( chain. at_height( 3 ) . block_hash, & listener_3 as & dyn chain:: Listen ) ,
255
255
] ;
256
256
let mut cache = chain. header_cache ( 0 ..=4 ) ;
257
257
match synchronize_listeners ( & mut chain, Network :: Bitcoin , & mut cache, listeners) . await {
@@ -267,26 +267,26 @@ mod tests {
267
267
let fork_chain_2 = main_chain. fork_at_height ( 2 ) ;
268
268
let fork_chain_3 = main_chain. fork_at_height ( 3 ) ;
269
269
270
- let mut listener_1 = MockChainListener :: new ( )
270
+ let listener_1 = MockChainListener :: new ( )
271
271
. expect_block_disconnected ( * fork_chain_1. at_height ( 4 ) )
272
272
. expect_block_disconnected ( * fork_chain_1. at_height ( 3 ) )
273
273
. expect_block_disconnected ( * fork_chain_1. at_height ( 2 ) )
274
274
. expect_block_connected ( * main_chain. at_height ( 2 ) )
275
275
. expect_block_connected ( * main_chain. at_height ( 3 ) )
276
276
. expect_block_connected ( * main_chain. at_height ( 4 ) ) ;
277
- let mut listener_2 = MockChainListener :: new ( )
277
+ let listener_2 = MockChainListener :: new ( )
278
278
. expect_block_disconnected ( * fork_chain_2. at_height ( 4 ) )
279
279
. expect_block_disconnected ( * fork_chain_2. at_height ( 3 ) )
280
280
. expect_block_connected ( * main_chain. at_height ( 3 ) )
281
281
. expect_block_connected ( * main_chain. at_height ( 4 ) ) ;
282
- let mut listener_3 = MockChainListener :: new ( )
282
+ let listener_3 = MockChainListener :: new ( )
283
283
. expect_block_disconnected ( * fork_chain_3. at_height ( 4 ) )
284
284
. expect_block_connected ( * main_chain. at_height ( 4 ) ) ;
285
285
286
286
let listeners = vec ! [
287
- ( fork_chain_1. tip( ) . block_hash, & mut listener_1 as & mut dyn chain:: Listen ) ,
288
- ( fork_chain_2. tip( ) . block_hash, & mut listener_2 as & mut dyn chain:: Listen ) ,
289
- ( fork_chain_3. tip( ) . block_hash, & mut listener_3 as & mut dyn chain:: Listen ) ,
287
+ ( fork_chain_1. tip( ) . block_hash, & listener_1 as & dyn chain:: Listen ) ,
288
+ ( fork_chain_2. tip( ) . block_hash, & listener_2 as & dyn chain:: Listen ) ,
289
+ ( fork_chain_3. tip( ) . block_hash, & listener_3 as & dyn chain:: Listen ) ,
290
290
] ;
291
291
let mut cache = fork_chain_1. header_cache ( 2 ..=4 ) ;
292
292
cache. extend ( fork_chain_2. header_cache ( 3 ..=4 ) ) ;
@@ -304,21 +304,21 @@ mod tests {
304
304
let fork_chain_2 = fork_chain_1. fork_at_height ( 2 ) ;
305
305
let fork_chain_3 = fork_chain_2. fork_at_height ( 3 ) ;
306
306
307
- let mut listener_1 = MockChainListener :: new ( )
307
+ let listener_1 = MockChainListener :: new ( )
308
308
. expect_block_disconnected ( * fork_chain_1. at_height ( 4 ) )
309
309
. expect_block_disconnected ( * fork_chain_1. at_height ( 3 ) )
310
310
. expect_block_disconnected ( * fork_chain_1. at_height ( 2 ) )
311
311
. expect_block_connected ( * main_chain. at_height ( 2 ) )
312
312
. expect_block_connected ( * main_chain. at_height ( 3 ) )
313
313
. expect_block_connected ( * main_chain. at_height ( 4 ) ) ;
314
- let mut listener_2 = MockChainListener :: new ( )
314
+ let listener_2 = MockChainListener :: new ( )
315
315
. expect_block_disconnected ( * fork_chain_2. at_height ( 4 ) )
316
316
. expect_block_disconnected ( * fork_chain_2. at_height ( 3 ) )
317
317
. expect_block_disconnected ( * fork_chain_2. at_height ( 2 ) )
318
318
. expect_block_connected ( * main_chain. at_height ( 2 ) )
319
319
. expect_block_connected ( * main_chain. at_height ( 3 ) )
320
320
. expect_block_connected ( * main_chain. at_height ( 4 ) ) ;
321
- let mut listener_3 = MockChainListener :: new ( )
321
+ let listener_3 = MockChainListener :: new ( )
322
322
. expect_block_disconnected ( * fork_chain_3. at_height ( 4 ) )
323
323
. expect_block_disconnected ( * fork_chain_3. at_height ( 3 ) )
324
324
. expect_block_disconnected ( * fork_chain_3. at_height ( 2 ) )
@@ -327,9 +327,9 @@ mod tests {
327
327
. expect_block_connected ( * main_chain. at_height ( 4 ) ) ;
328
328
329
329
let listeners = vec ! [
330
- ( fork_chain_1. tip( ) . block_hash, & mut listener_1 as & mut dyn chain:: Listen ) ,
331
- ( fork_chain_2. tip( ) . block_hash, & mut listener_2 as & mut dyn chain:: Listen ) ,
332
- ( fork_chain_3. tip( ) . block_hash, & mut listener_3 as & mut dyn chain:: Listen ) ,
330
+ ( fork_chain_1. tip( ) . block_hash, & listener_1 as & dyn chain:: Listen ) ,
331
+ ( fork_chain_2. tip( ) . block_hash, & listener_2 as & dyn chain:: Listen ) ,
332
+ ( fork_chain_3. tip( ) . block_hash, & listener_3 as & dyn chain:: Listen ) ,
333
333
] ;
334
334
let mut cache = fork_chain_1. header_cache ( 2 ..=4 ) ;
335
335
cache. extend ( fork_chain_2. header_cache ( 3 ..=4 ) ) ;
@@ -347,11 +347,11 @@ mod tests {
347
347
let new_tip = main_chain. tip ( ) ;
348
348
let old_tip = fork_chain. tip ( ) ;
349
349
350
- let mut listener = MockChainListener :: new ( )
350
+ let listener = MockChainListener :: new ( )
351
351
. expect_block_disconnected ( * old_tip)
352
352
. expect_block_connected ( * new_tip) ;
353
353
354
- let listeners = vec ! [ ( old_tip. block_hash, & mut listener as & mut dyn chain:: Listen ) ] ;
354
+ let listeners = vec ! [ ( old_tip. block_hash, & listener as & dyn chain:: Listen ) ] ;
355
355
let mut cache = fork_chain. header_cache ( 2 ..=2 ) ;
356
356
match synchronize_listeners ( & mut main_chain, Network :: Bitcoin , & mut cache, listeners) . await {
357
357
Ok ( _) => {
0 commit comments