X-Git-Url: http://git.bitcoin.ninja/index.cgi?p=rust-lightning;a=blobdiff_plain;f=lightning%2Fsrc%2Fln%2Fonchaintx.rs;h=49572f2cb8baee6f270778be52a4b92964995116;hp=6b5da67c1a526de38c7905694f4dde9063278b34;hb=29199fae4634425eb4307651b3b21d93580c8f42;hpb=7159d1546ae92281a7e0533813a6e7558f16354a diff --git a/lightning/src/ln/onchaintx.rs b/lightning/src/ln/onchaintx.rs index 6b5da67c..49572f2c 100644 --- a/lightning/src/ln/onchaintx.rs +++ b/lightning/src/ln/onchaintx.rs @@ -814,9 +814,6 @@ impl OnchainTxHandler { // HTLC-timeout or channel force-closure), don't allow any further update of local // commitment transaction view to avoid delivery of revocation secret to counterparty // for the aformentionned signed transaction. - if let Some(ref local_commitment) = self.local_commitment { - if local_commitment.has_local_sig() { return Err(()) } - } if self.local_htlc_sigs.is_some() || self.prev_local_htlc_sigs.is_some() { return Err(()); } @@ -865,25 +862,25 @@ impl OnchainTxHandler { pub(super) fn get_fully_signed_local_tx(&mut self, funding_redeemscript: &Script) -> Option { if let Some(ref mut local_commitment) = self.local_commitment { match self.key_storage.sign_local_commitment(local_commitment, &self.secp_ctx) { - Ok(sig) => local_commitment.add_local_sig(funding_redeemscript, sig), + Ok(sig) => Some(local_commitment.add_local_sig(funding_redeemscript, sig)), Err(_) => return None, } - return Some(local_commitment.with_valid_witness().clone()); + } else { + None } - None } #[cfg(test)] pub(super) fn get_fully_signed_copy_local_tx(&mut self, funding_redeemscript: &Script) -> Option { if let Some(ref mut local_commitment) = self.local_commitment { - let mut local_commitment = local_commitment.clone(); + let local_commitment = local_commitment.clone(); match self.key_storage.sign_local_commitment(&local_commitment, &self.secp_ctx) { - Ok(sig) => local_commitment.add_local_sig(funding_redeemscript, sig), + Ok(sig) => Some(local_commitment.add_local_sig(funding_redeemscript, sig)), Err(_) => return None, } - return Some(local_commitment.with_valid_witness().clone()); + } else { + None } - None } pub(super) fn get_fully_signed_htlc_tx(&mut self, outp: &::bitcoin::OutPoint, preimage: &Option) -> Option {