@@ -3491,7 +3491,9 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitorImpl<Signer> {
3491
3491
let commitment_package = PackageTemplate :: build_package ( self . funding_info . 0 . txid . clone ( ) , self . funding_info . 0 . index as u32 , PackageSolvingData :: HolderFundingOutput ( funding_outp) , self . best_block . height ( ) , self . best_block . height ( ) ) ;
3492
3492
claimable_outpoints. push ( commitment_package) ;
3493
3493
self . pending_monitor_events . push ( MonitorEvent :: CommitmentTxConfirmed ( self . funding_info . 0 ) ) ;
3494
- let commitment_tx = self . onchain_tx_handler . get_fully_signed_holder_tx ( & self . funding_redeemscript ) ;
3494
+ // Although we aren't signing the transaction directly here, the transaction will be signed
3495
+ // in the claim that is queued to OnchainTxHandler. We set holder_tx_signed here to reject
3496
+ // new channel updates.
3495
3497
self . holder_tx_signed = true ;
3496
3498
// We can't broadcast our HTLC transactions while the commitment transaction is
3497
3499
// unconfirmed. We'll delay doing so until we detect the confirmed commitment in
@@ -3501,7 +3503,8 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitorImpl<Signer> {
3501
3503
// assuming it gets confirmed in the next block. Sadly, we have code which considers
3502
3504
// "not yet confirmed" things as discardable, so we cannot do that here.
3503
3505
let ( mut new_outpoints, _) = self . get_broadcasted_holder_claims ( & self . current_holder_commitment_tx , self . best_block . height ( ) ) ;
3504
- let new_outputs = self . get_broadcasted_holder_watch_outputs ( & self . current_holder_commitment_tx , & commitment_tx) ;
3506
+ let unsigned_commitment_tx = self . onchain_tx_handler . get_unsigned_holder_commitment_tx ( ) ;
3507
+ let new_outputs = self . get_broadcasted_holder_watch_outputs ( & self . current_holder_commitment_tx , & unsigned_commitment_tx) ;
3505
3508
if !new_outputs. is_empty ( ) {
3506
3509
watch_outputs. push ( ( self . current_holder_commitment_tx . txid . clone ( ) , new_outputs) ) ;
3507
3510
}
0 commit comments