@@ -3488,27 +3488,35 @@ where
3488
3488
let mut peer_state_lock = peer_state_mutex. lock ( ) . unwrap ( ) ;
3489
3489
let peer_state = & mut * peer_state_lock;
3490
3490
for channel_id in channel_ids {
3491
- if !peer_state. channel_by_id . contains_key ( channel_id) {
3491
+ let context = if let Some ( channel) = peer_state. inbound_v1_channel_by_id . get_mut ( channel_id) {
3492
+ & mut channel. context
3493
+ } else if let Some ( channel) = peer_state. outbound_v1_channel_by_id . get_mut ( channel_id) {
3494
+ & mut channel. context
3495
+ } else if let Some ( channel) = peer_state. channel_by_id . get_mut ( channel_id) {
3496
+ let mut config = channel. context . config ( ) ;
3497
+ config. apply ( config_update) ;
3498
+ if !channel. context . update_config ( & config) {
3499
+ continue ;
3500
+ }
3501
+ if let Ok ( msg) = self . get_channel_update_for_broadcast ( channel) {
3502
+ peer_state. pending_msg_events . push ( events:: MessageSendEvent :: BroadcastChannelUpdate { msg } ) ;
3503
+ } else if let Ok ( msg) = self . get_channel_update_for_unicast ( channel) {
3504
+ peer_state. pending_msg_events . push ( events:: MessageSendEvent :: SendChannelUpdate {
3505
+ node_id : channel. context . get_counterparty_node_id ( ) ,
3506
+ msg,
3507
+ } ) ;
3508
+ }
3509
+ continue ;
3510
+ } else {
3492
3511
return Err ( APIError :: ChannelUnavailable {
3493
3512
err : format ! ( "Channel with ID {} was not found for the passed counterparty_node_id {}" , log_bytes!( * channel_id) , counterparty_node_id) ,
3494
3513
} ) ;
3495
- }
3496
- }
3497
- for channel_id in channel_ids {
3498
- let channel = peer_state. channel_by_id . get_mut ( channel_id) . unwrap ( ) ;
3499
- let mut config = channel. context . config ( ) ;
3514
+ } ;
3515
+ let mut config = context. config ( ) ;
3500
3516
config. apply ( config_update) ;
3501
- if !channel . context . update_config ( & config) {
3517
+ if !context. update_config ( & config) {
3502
3518
continue ;
3503
3519
}
3504
- if let Ok ( msg) = self . get_channel_update_for_broadcast ( channel) {
3505
- peer_state. pending_msg_events . push ( events:: MessageSendEvent :: BroadcastChannelUpdate { msg } ) ;
3506
- } else if let Ok ( msg) = self . get_channel_update_for_unicast ( channel) {
3507
- peer_state. pending_msg_events . push ( events:: MessageSendEvent :: SendChannelUpdate {
3508
- node_id : channel. context . get_counterparty_node_id ( ) ,
3509
- msg,
3510
- } ) ;
3511
- }
3512
3520
}
3513
3521
Ok ( ( ) )
3514
3522
}
0 commit comments