use bitcoin::blockdata::script::Script;
use bitcoin::util::bip143;
-use bitcoin_hashes::sha256d::Hash as Sha256dHash;
+use bitcoin::hashes::sha256d::Hash as Sha256dHash;
-use secp256k1::{Secp256k1, Signature};
-use secp256k1;
+use bitcoin::secp256k1::{Secp256k1, Signature};
+use bitcoin::secp256k1;
use ln::msgs::DecodeError;
use ln::channelmonitor::{ANTI_REORG_DELAY, CLTV_SHARED_CLAIM_BUFFER, InputMaterial, ClaimRequest};
// 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(());
}
pub(super) fn get_fully_signed_local_tx(&mut self, funding_redeemscript: &Script) -> Option<Transaction> {
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<Transaction> {
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<PaymentPreimage>) -> Option<Transaction> {