@@ -130,7 +130,10 @@ use logger::{log_error, log_info, log_trace, FilesystemLogger, Logger};
130
130
use lightning:: chain:: Confirm ;
131
131
use lightning:: ln:: channelmanager:: { self , PaymentId , RecipientOnionFields , Retry } ;
132
132
use lightning:: ln:: msgs:: SocketAddress ;
133
- use lightning:: ln:: { ChannelId , PaymentHash , PaymentPreimage } ;
133
+ use lightning:: ln:: { PaymentHash , PaymentPreimage } ;
134
+
135
+ #[ cfg( feature = "uniffi" ) ]
136
+ use lightning:: ln:: ChannelId ;
134
137
use lightning:: sign:: EntropySource ;
135
138
136
139
use lightning:: util:: persist:: KVStore ;
@@ -1131,16 +1134,24 @@ impl<K: KVStore + Sync + Send + 'static> Node<K> {
1131
1134
1132
1135
/// Update the config for a previously opened channel.
1133
1136
pub fn update_channel_config (
1134
- & self , channel_id : & ChannelId , counterparty_node_id : PublicKey ,
1137
+ & self , user_channel_id : & UserChannelId , counterparty_node_id : PublicKey ,
1135
1138
channel_config : Arc < ChannelConfig > ,
1136
1139
) -> Result < ( ) , Error > {
1137
- self . channel_manager
1138
- . update_channel_config (
1139
- & counterparty_node_id,
1140
- & [ * channel_id] ,
1141
- & ( * channel_config) . clone ( ) . into ( ) ,
1142
- )
1143
- . map_err ( |_| Error :: ChannelConfigUpdateFailed )
1140
+ let open_channels =
1141
+ self . channel_manager . list_channels_with_counterparty ( & counterparty_node_id) ;
1142
+ if let Some ( channel_details) =
1143
+ open_channels. iter ( ) . find ( |c| c. user_channel_id == user_channel_id. 0 )
1144
+ {
1145
+ self . channel_manager
1146
+ . update_channel_config (
1147
+ & counterparty_node_id,
1148
+ & [ channel_details. channel_id ] ,
1149
+ & ( * channel_config) . clone ( ) . into ( ) ,
1150
+ )
1151
+ . map_err ( |_| Error :: ChannelConfigUpdateFailed )
1152
+ } else {
1153
+ Err ( Error :: ChannelConfigUpdateFailed )
1154
+ }
1144
1155
}
1145
1156
1146
1157
/// Send a payment given an invoice.
0 commit comments