@@ -10,6 +10,7 @@ use lightning::ln::msgs::{
10
10
} ;
11
11
use lightning:: routing:: gossip:: NetworkGraph ;
12
12
use lightning:: util:: logger:: Logger ;
13
+ use lightning:: { log_warn, log_trace, log_given_level} ;
13
14
use lightning:: util:: ser:: { BigSize , Readable } ;
14
15
use lightning:: io;
15
16
@@ -120,6 +121,7 @@ impl<NG: Deref<Target=NetworkGraph<L>>, L: Deref> RapidGossipSync<NG, L> where L
120
121
if let ErrorAction :: IgnoreDuplicateGossip = lightning_error. action {
121
122
// everything is fine, just a duplicate channel announcement
122
123
} else {
124
+ log_warn ! ( self . logger, "Failed to process channel announcement: {:?}" , lightning_error) ;
123
125
return Err ( lightning_error. into ( ) ) ;
124
126
}
125
127
}
@@ -179,6 +181,9 @@ impl<NG: Deref<Target=NetworkGraph<L>>, L: Deref> RapidGossipSync<NG, L> where L
179
181
synthetic_update. fee_base_msat = directional_info. fees . base_msat ;
180
182
synthetic_update. fee_proportional_millionths = directional_info. fees . proportional_millionths ;
181
183
} else {
184
+ log_trace ! ( self . logger,
185
+ "Skipping application of channel update for chan {} with flags {} as original data is missing." ,
186
+ short_channel_id, channel_flags) ;
182
187
skip_update_for_unknown_channel = true ;
183
188
}
184
189
} ;
@@ -215,7 +220,9 @@ impl<NG: Deref<Target=NetworkGraph<L>>, L: Deref> RapidGossipSync<NG, L> where L
215
220
match network_graph. update_channel_unsigned ( & synthetic_update) {
216
221
Ok ( _) => { } ,
217
222
Err ( LightningError { action : ErrorAction :: IgnoreDuplicateGossip , .. } ) => { } ,
218
- Err ( LightningError { action : ErrorAction :: IgnoreAndLog ( _) , .. } ) => { } ,
223
+ Err ( LightningError { action : ErrorAction :: IgnoreAndLog ( level) , err } ) => {
224
+ log_given_level ! ( self . logger, level, "Failed to apply channel update: {:?}" , err) ;
225
+ } ,
219
226
Err ( LightningError { action : ErrorAction :: IgnoreError , .. } ) => { } ,
220
227
Err ( e) => return Err ( e. into ( ) ) ,
221
228
}
@@ -279,7 +286,7 @@ mod tests {
279
286
0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 58 , 85 , 116 , 216 , 255 , 2 , 68 , 226 , 0 , 6 , 11 , 0 , 1 , 24 , 0 ,
280
287
0 , 3 , 232 , 0 , 0 , 0 ,
281
288
] ;
282
- let rapid_sync = RapidGossipSync :: new ( & network_graph) ;
289
+ let rapid_sync = RapidGossipSync :: new ( & network_graph, & logger ) ;
283
290
let update_result = rapid_sync. update_network_graph ( & example_input[ ..] ) ;
284
291
assert ! ( update_result. is_err( ) ) ;
285
292
if let Err ( GraphSyncError :: DecodeError ( DecodeError :: ShortRead ) ) = update_result {
@@ -304,7 +311,7 @@ mod tests {
304
311
305
312
assert_eq ! ( network_graph. read_only( ) . channels( ) . len( ) , 0 ) ;
306
313
307
- let rapid_sync = RapidGossipSync :: new ( & network_graph) ;
314
+ let rapid_sync = RapidGossipSync :: new ( & network_graph, & logger ) ;
308
315
let update_result = rapid_sync. update_network_graph ( & incremental_update_input[ ..] ) ;
309
316
assert ! ( update_result. is_ok( ) ) ;
310
317
}
@@ -332,7 +339,7 @@ mod tests {
332
339
333
340
assert_eq ! ( network_graph. read_only( ) . channels( ) . len( ) , 0 ) ;
334
341
335
- let rapid_sync = RapidGossipSync :: new ( & network_graph) ;
342
+ let rapid_sync = RapidGossipSync :: new ( & network_graph, & logger ) ;
336
343
rapid_sync. update_network_graph ( & announced_update_input[ ..] ) . unwrap ( ) ;
337
344
}
338
345
@@ -359,7 +366,7 @@ mod tests {
359
366
360
367
assert_eq ! ( network_graph. read_only( ) . channels( ) . len( ) , 0 ) ;
361
368
362
- let rapid_sync = RapidGossipSync :: new ( & network_graph) ;
369
+ let rapid_sync = RapidGossipSync :: new ( & network_graph, & logger ) ;
363
370
let initialization_result = rapid_sync. update_network_graph ( & initialization_input[ ..] ) ;
364
371
if initialization_result. is_err ( ) {
365
372
panic ! (
@@ -416,7 +423,7 @@ mod tests {
416
423
417
424
assert_eq ! ( network_graph. read_only( ) . channels( ) . len( ) , 0 ) ;
418
425
419
- let rapid_sync = RapidGossipSync :: new ( & network_graph) ;
426
+ let rapid_sync = RapidGossipSync :: new ( & network_graph, & logger ) ;
420
427
let initialization_result = rapid_sync. update_network_graph ( & initialization_input[ ..] ) ;
421
428
assert ! ( initialization_result. is_ok( ) ) ;
422
429
@@ -475,7 +482,7 @@ mod tests {
475
482
476
483
assert_eq ! ( network_graph. read_only( ) . channels( ) . len( ) , 0 ) ;
477
484
478
- let rapid_sync = RapidGossipSync :: new ( & network_graph) ;
485
+ let rapid_sync = RapidGossipSync :: new ( & network_graph, & logger ) ;
479
486
let initialization_result = rapid_sync. update_network_graph ( & initialization_input[ ..] ) ;
480
487
assert ! ( initialization_result. is_ok( ) ) ;
481
488
@@ -500,7 +507,7 @@ mod tests {
500
507
501
508
assert_eq ! ( network_graph. read_only( ) . channels( ) . len( ) , 0 ) ;
502
509
503
- let rapid_sync = RapidGossipSync :: new ( & network_graph) ;
510
+ let rapid_sync = RapidGossipSync :: new ( & network_graph, & logger ) ;
504
511
let update_result = rapid_sync. update_network_graph ( & VALID_RGS_BINARY ) ;
505
512
if update_result. is_err ( ) {
506
513
panic ! ( "Unexpected update result: {:?}" , update_result)
@@ -531,7 +538,7 @@ mod tests {
531
538
532
539
assert_eq ! ( network_graph. read_only( ) . channels( ) . len( ) , 0 ) ;
533
540
534
- let rapid_sync = RapidGossipSync :: new ( & network_graph) ;
541
+ let rapid_sync = RapidGossipSync :: new ( & network_graph, & logger ) ;
535
542
// this is mostly for checking uint underflow issues before the fuzzer does
536
543
let update_result = rapid_sync. update_network_graph_no_std ( & VALID_RGS_BINARY , Some ( 0 ) ) ;
537
544
assert ! ( update_result. is_ok( ) ) ;
@@ -550,7 +557,7 @@ mod tests {
550
557
let network_graph = NetworkGraph :: new ( Network :: Bitcoin , & logger) ;
551
558
assert_eq ! ( network_graph. read_only( ) . channels( ) . len( ) , 0 ) ;
552
559
553
- let rapid_sync = RapidGossipSync :: new ( & network_graph) ;
560
+ let rapid_sync = RapidGossipSync :: new ( & network_graph, & logger ) ;
554
561
let update_result = rapid_sync. update_network_graph_no_std ( & VALID_RGS_BINARY , Some ( latest_succeeding_time) ) ;
555
562
assert ! ( update_result. is_ok( ) ) ;
556
563
assert_eq ! ( network_graph. read_only( ) . channels( ) . len( ) , 2 ) ;
@@ -560,7 +567,7 @@ mod tests {
560
567
let network_graph = NetworkGraph :: new ( Network :: Bitcoin , & logger) ;
561
568
assert_eq ! ( network_graph. read_only( ) . channels( ) . len( ) , 0 ) ;
562
569
563
- let rapid_sync = RapidGossipSync :: new ( & network_graph) ;
570
+ let rapid_sync = RapidGossipSync :: new ( & network_graph, & logger ) ;
564
571
let update_result = rapid_sync. update_network_graph_no_std ( & VALID_RGS_BINARY , Some ( earliest_failing_time) ) ;
565
572
assert ! ( update_result. is_err( ) ) ;
566
573
if let Err ( GraphSyncError :: LightningError ( lightning_error) ) = update_result {
@@ -596,7 +603,7 @@ mod tests {
596
603
597
604
let logger = TestLogger :: new ( ) ;
598
605
let network_graph = NetworkGraph :: new ( Network :: Bitcoin , & logger) ;
599
- let rapid_sync = RapidGossipSync :: new ( & network_graph) ;
606
+ let rapid_sync = RapidGossipSync :: new ( & network_graph, & logger ) ;
600
607
let update_result = rapid_sync. update_network_graph ( & unknown_version_input[ ..] ) ;
601
608
602
609
assert ! ( update_result. is_err( ) ) ;
0 commit comments