@@ -2317,7 +2317,7 @@ where
23172317 monitor_pending_failures: Vec<(HTLCSource, PaymentHash, HTLCFailReason)>,
23182318 monitor_pending_finalized_fulfills: Vec<HTLCSource>,
23192319 monitor_pending_update_adds: Vec<msgs::UpdateAddHTLC>,
2320- monitor_pending_tx_signatures: Option<msgs::TxSignatures> ,
2320+ monitor_pending_tx_signatures: bool ,
23212321
23222322 /// If we went to send a revoke_and_ack but our signer was unable to give us a signature,
23232323 /// we should retry at some point in the future when the signer indicates it may have a
@@ -3275,7 +3275,7 @@ where
32753275 monitor_pending_failures: Vec::new(),
32763276 monitor_pending_finalized_fulfills: Vec::new(),
32773277 monitor_pending_update_adds: Vec::new(),
3278- monitor_pending_tx_signatures: None ,
3278+ monitor_pending_tx_signatures: false ,
32793279
32803280 signer_pending_revoke_and_ack: false,
32813281 signer_pending_commitment_update: false,
@@ -3521,7 +3521,7 @@ where
35213521 monitor_pending_failures: Vec::new(),
35223522 monitor_pending_finalized_fulfills: Vec::new(),
35233523 monitor_pending_update_adds: Vec::new(),
3524- monitor_pending_tx_signatures: None ,
3524+ monitor_pending_tx_signatures: false ,
35253525
35263526 signer_pending_revoke_and_ack: false,
35273527 signer_pending_commitment_update: false,
@@ -6654,12 +6654,12 @@ where
66546654
66556655 self.monitor_updating_paused(false, false, false, Vec::new(), Vec::new(), Vec::new());
66566656
6657- if let Some(tx_signatures ) = self.interactive_tx_signing_session.as_mut().and_then(
6657+ if let Some(_ ) = self.interactive_tx_signing_session.as_mut().and_then(
66586658 |session| session.received_commitment_signed()
66596659 ) {
66606660 // We're up first for submitting our tx_signatures, but our monitor has not persisted yet
66616661 // so they'll be sent as soon as that's done.
6662- self.context.monitor_pending_tx_signatures = Some(tx_signatures) ;
6662+ self.context.monitor_pending_tx_signatures = true ;
66636663 }
66646664 // Only build the unsigned transaction for signing if there are any holder inputs to actually sign
66656665 let funding_tx_opt = self.interactive_tx_signing_session.as_ref().and_then(|session|
@@ -6752,7 +6752,7 @@ where
67526752 .expect("Signing session must exist for negotiated pending splice")
67536753 .received_commitment_signed();
67546754 self.monitor_updating_paused(false, false, false, Vec::new(), Vec::new(), Vec::new());
6755- self.context.monitor_pending_tx_signatures = tx_signatures;
6755+ self.context.monitor_pending_tx_signatures = tx_signatures.is_some() ;
67566756
67576757 Ok(self.push_ret_blockable_mon_update(monitor_update))
67586758 }
@@ -7619,7 +7619,7 @@ where
76197619
76207620 if is_monitor_update_in_progress {
76217621 log_debug!(logger, "Not sending tx_signatures: a monitor update is in progress. Setting monitor_pending_tx_signatures.");
7622- self.context.monitor_pending_tx_signatures = Some(holder_tx_signatures) ;
7622+ self.context.monitor_pending_tx_signatures = true ;
76237623 return Ok(None);
76247624 }
76257625 return Ok(Some(holder_tx_signatures));
@@ -7698,7 +7698,7 @@ where
76987698 // and sets it as pending.
76997699 if holder_tx_signatures_opt.is_some() && self.is_awaiting_initial_mon_persist() {
77007700 log_debug!(logger, "Not sending tx_signatures: a monitor update is in progress. Setting monitor_pending_tx_signatures.");
7701- self.context.monitor_pending_tx_signatures = holder_tx_signatures_opt ;
7701+ self.context.monitor_pending_tx_signatures = true ;
77027702 return Ok((None, None));
77037703 }
77047704
@@ -7957,14 +7957,14 @@ where
79577957 // For channels established with V2 establishment we won't send a `tx_signatures` when we're in
79587958 // MonitorUpdateInProgress (and we assume the user will never directly broadcast the funding
79597959 // transaction and waits for us to do it).
7960- let tx_signatures = self.context.monitor_pending_tx_signatures.take();
7961- if tx_signatures.is_some() {
7960+ let tx_signatures = if self.context.monitor_pending_tx_signatures {
79627961 if self.context.channel_state.is_their_tx_signatures_sent() {
79637962 self.context.channel_state = ChannelState::AwaitingChannelReady(AwaitingChannelReadyFlags::new());
79647963 } else {
79657964 self.context.channel_state.set_our_tx_signatures_ready();
79667965 }
7967- }
7966+ self.interactive_tx_signing_session.as_ref().and_then(|session| session.holder_tx_signatures().clone())
7967+ } else { None };
79687968
79697969 if self.context.channel_state.is_peer_disconnected() {
79707970 self.context.monitor_pending_revoke_and_ack = false;
@@ -8466,11 +8466,9 @@ where
84668466 if self.context.channel_state.is_monitor_update_in_progress() {
84678467 // The `monitor_pending_tx_signatures` field should have already been set in `commitment_signed_initial_v2`
84688468 // if we were up first for signing and had a monitor update in progress, but check again just in case.
8469- debug_assert!(self.context.monitor_pending_tx_signatures.is_some() , "monitor_pending_tx_signatures should already be set");
8469+ debug_assert!(self.context.monitor_pending_tx_signatures, "monitor_pending_tx_signatures should already be set");
84708470 log_debug!(logger, "Not sending tx_signatures: a monitor update is in progress. Setting monitor_pending_tx_signatures.");
8471- if self.context.monitor_pending_tx_signatures.is_none() {
8472- self.context.monitor_pending_tx_signatures = session.holder_tx_signatures().clone();
8473- }
8471+ self.context.monitor_pending_tx_signatures = true;
84748472 None
84758473 } else {
84768474 // If `holder_tx_signatures` is `None` here, the `tx_signatures` message will be sent
@@ -13221,7 +13219,7 @@ where
1322113219 monitor_pending_failures,
1322213220 monitor_pending_finalized_fulfills: monitor_pending_finalized_fulfills.unwrap(),
1322313221 monitor_pending_update_adds: monitor_pending_update_adds.unwrap_or_default(),
13224- monitor_pending_tx_signatures: None ,
13222+ monitor_pending_tx_signatures: false ,
1322513223
1322613224 signer_pending_revoke_and_ack: false,
1322713225 signer_pending_commitment_update: false,
0 commit comments