@@ -3541,27 +3541,34 @@ where
3541
3541
let mut peer_state_lock = peer_state_mutex. lock ( ) . unwrap ( ) ;
3542
3542
let peer_state = & mut * peer_state_lock;
3543
3543
for channel_id in channel_ids {
3544
- if !peer_state. channel_by_id . contains_key ( channel_id) {
3544
+ if let Some ( channel) = peer_state. channel_by_id . get_mut ( channel_id) {
3545
+ let mut config = channel. context . config ( ) ;
3546
+ config. apply ( config_update) ;
3547
+ if !channel. context . update_config ( & config) {
3548
+ continue ;
3549
+ }
3550
+ if let Ok ( msg) = self . get_channel_update_for_broadcast ( channel) {
3551
+ peer_state. pending_msg_events . push ( events:: MessageSendEvent :: BroadcastChannelUpdate { msg } ) ;
3552
+ } else if let Ok ( msg) = self . get_channel_update_for_unicast ( channel) {
3553
+ peer_state. pending_msg_events . push ( events:: MessageSendEvent :: SendChannelUpdate {
3554
+ node_id : channel. context . get_counterparty_node_id ( ) ,
3555
+ msg,
3556
+ } ) ;
3557
+ }
3558
+ continue ;
3559
+ }
3560
+
3561
+ let context = if let Some ( channel) = peer_state. inbound_v1_channel_by_id . get_mut ( channel_id) {
3562
+ & mut channel. context
3563
+ } else if let Some ( channel) = peer_state. outbound_v1_channel_by_id . get_mut ( channel_id) {
3564
+ & mut channel. context
3565
+ } else {
3545
3566
return Err ( APIError :: ChannelUnavailable {
3546
3567
err : format ! ( "Channel with ID {} was not found for the passed counterparty_node_id {}" , log_bytes!( * channel_id) , counterparty_node_id) ,
3547
3568
} ) ;
3548
- }
3549
- }
3550
- for channel_id in channel_ids {
3551
- let channel = peer_state. channel_by_id . get_mut ( channel_id) . unwrap ( ) ;
3552
- let mut config = channel. context . config ( ) ;
3569
+ } ;
3570
+ let mut config = context. config ( ) ;
3553
3571
config. apply ( config_update) ;
3554
- if !channel. context . update_config ( & config) {
3555
- continue ;
3556
- }
3557
- if let Ok ( msg) = self . get_channel_update_for_broadcast ( channel) {
3558
- peer_state. pending_msg_events . push ( events:: MessageSendEvent :: BroadcastChannelUpdate { msg } ) ;
3559
- } else if let Ok ( msg) = self . get_channel_update_for_unicast ( channel) {
3560
- peer_state. pending_msg_events . push ( events:: MessageSendEvent :: SendChannelUpdate {
3561
- node_id : channel. context . get_counterparty_node_id ( ) ,
3562
- msg,
3563
- } ) ;
3564
- }
3565
3572
}
3566
3573
Ok ( ( ) )
3567
3574
}
0 commit comments