@@ -10148,42 +10148,65 @@ This indicates a bug inside LDK. Please report this error at https://github.com/
1014810148
1014910149 // Look for the channel
1015010150 match peer_state.channel_by_id.entry(msg.channel_id) {
10151- hash_map::Entry::Vacant(_) => return Err(MsgHandleErrInternal::send_err_msg_no_close(format!(
10151+ hash_map::Entry::Vacant(_) => {
10152+ let err = format!(
1015210153 "Got a message for a channel from the wrong node! No such channel for the passed counterparty_node_id {}",
10153- counterparty_node_id
10154- ), msg.channel_id)),
10154+ counterparty_node_id,
10155+ );
10156+ return Err(MsgHandleErrInternal::send_err_msg_no_close(err, msg.channel_id));
10157+ },
1015510158 hash_map::Entry::Occupied(mut chan_entry) => {
1015610159 if let Some(chan) = chan_entry.get_mut().as_funded_mut() {
1015710160 let logger = WithChannelContext::from(&self.logger, &chan.context, None);
1015810161 let result = chan.splice_locked(
10159- msg, &self.node_signer, self.chain_hash, &self.default_configuration,
10160- &self.best_block.read().unwrap(), &&logger,
10162+ msg,
10163+ &self.node_signer,
10164+ self.chain_hash,
10165+ &self.default_configuration,
10166+ &self.best_block.read().unwrap(),
10167+ &&logger,
1016110168 );
10162- let announcement_sigs_opt = try_channel_entry!(self, peer_state, result, chan_entry);
10169+ let announcement_sigs_opt =
10170+ try_channel_entry!(self, peer_state, result, chan_entry);
1016310171
1016410172 if !chan.has_pending_splice() {
1016510173 let mut short_to_chan_info = self.short_to_chan_info.write().unwrap();
1016610174 insert_short_channel_id!(short_to_chan_info, chan);
1016710175
1016810176 let mut pending_events = self.pending_events.lock().unwrap();
10169- pending_events.push_back((events::Event::ChannelReady {
10170- channel_id: chan.context.channel_id(),
10171- user_channel_id: chan.context.get_user_id(),
10172- counterparty_node_id: chan.context.get_counterparty_node_id(),
10173- funding_txo: chan.funding.get_funding_txo().map(|outpoint| outpoint.into_bitcoin_outpoint()),
10174- channel_type: chan.funding.get_channel_type().clone(),
10175- }, None));
10177+ pending_events.push_back((
10178+ events::Event::ChannelReady {
10179+ channel_id: chan.context.channel_id(),
10180+ user_channel_id: chan.context.get_user_id(),
10181+ counterparty_node_id: chan.context.get_counterparty_node_id(),
10182+ funding_txo: chan
10183+ .funding
10184+ .get_funding_txo()
10185+ .map(|outpoint| outpoint.into_bitcoin_outpoint()),
10186+ channel_type: chan.funding.get_channel_type().clone(),
10187+ },
10188+ None,
10189+ ));
1017610190 }
1017710191
1017810192 if let Some(announcement_sigs) = announcement_sigs_opt {
10179- log_trace!(logger, "Sending announcement_signatures for channel {}", chan.context.channel_id());
10180- peer_state.pending_msg_events.push(MessageSendEvent::SendAnnouncementSignatures {
10181- node_id: counterparty_node_id.clone(),
10182- msg: announcement_sigs,
10183- });
10193+ log_trace!(
10194+ logger,
10195+ "Sending announcement_signatures for channel {}",
10196+ chan.context.channel_id()
10197+ );
10198+ peer_state.pending_msg_events.push(
10199+ MessageSendEvent::SendAnnouncementSignatures {
10200+ node_id: counterparty_node_id.clone(),
10201+ msg: announcement_sigs,
10202+ },
10203+ );
1018410204 }
1018510205 } else {
10186- return Err(MsgHandleErrInternal::send_err_msg_no_close("Channel is not funded, cannot splice".to_owned(), msg.channel_id));
10206+ return Err(MsgHandleErrInternal::send_err_msg_no_close(
10207+ "Channel is not funded, cannot splice".to_owned(),
10208+ msg.channel_id,
10209+ ));
1018710210 }
1018810211 },
1018910212 };
0 commit comments