Skip to content

Commit 39ba65a

Browse files
committed
f add splicing check in funding_transaction_signed
1 parent f58f08c commit 39ba65a

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

lightning/src/ln/channel.rs

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7796,6 +7796,14 @@ where
77967796
Ok(())
77977797
}
77987798

7799+
#[cfg(splicing)]
7800+
fn is_splicing(&self) -> bool {
7801+
self.pending_splice
7802+
.as_ref()
7803+
.and_then(|pending_splice| Some(pending_splice.funding.is_some()))
7804+
.unwrap_or(false)
7805+
}
7806+
77997807
pub fn funding_transaction_signed<L: Deref>(
78007808
&mut self, witnesses: Vec<Witness>, logger: &L,
78017809
) -> Result<Option<msgs::TxSignatures>, APIError>
@@ -7809,7 +7817,14 @@ where
78097817
.provide_holder_witnesses(self.context.channel_id, witnesses)
78107818
.map_err(|err| APIError::APIMisuseError { err })?
78117819
{
7812-
if self.is_awaiting_initial_mon_persist() {
7820+
#[cfg(splicing)]
7821+
let is_monitor_update_in_progress = self.is_awaiting_initial_mon_persist()
7822+
|| self.is_splicing()
7823+
&& self.context.channel_state.is_monitor_update_in_progress();
7824+
#[cfg(not(splicing))]
7825+
let is_monitor_update_in_progress = self.is_awaiting_initial_mon_persist();
7826+
7827+
if is_monitor_update_in_progress {
78137828
log_debug!(logger, "Not sending tx_signatures: a monitor update is in progress. Setting monitor_pending_tx_signatures.");
78147829
self.context.monitor_pending_tx_signatures = Some(holder_tx_signatures);
78157830
return Ok(None);

0 commit comments

Comments
 (0)