- if spend_tx.input.len() <= input_idx { return Err(()); }
- if !spend_tx.input[input_idx].script_sig.is_empty() { return Err(()); }
- if spend_tx.input[input_idx].previous_output != descriptor.outpoint.into_bitcoin_outpoint() { return Err(()); }
- if spend_tx.input[input_idx].sequence.0 != descriptor.to_self_delay as u32 { return Err(()); }
-
- let delayed_payment_key = chan_utils::derive_private_key(&secp_ctx, &descriptor.per_commitment_point, &self.delayed_payment_base_key);
- let delayed_payment_pubkey = DelayedPaymentKey::from_secret_key(&secp_ctx, &delayed_payment_key);
- let witness_script = chan_utils::get_revokeable_redeemscript(&descriptor.revocation_pubkey, descriptor.to_self_delay, &delayed_payment_pubkey);
- let sighash = hash_to_message!(&sighash::SighashCache::new(spend_tx).segwit_signature_hash(input_idx, &witness_script, descriptor.output.value, EcdsaSighashType::All).unwrap()[..]);
+ if spend_tx.input.len() <= input_idx {
+ return Err(());
+ }
+ if !spend_tx.input[input_idx].script_sig.is_empty() {
+ return Err(());
+ }
+ if spend_tx.input[input_idx].previous_output != descriptor.outpoint.into_bitcoin_outpoint()
+ {
+ return Err(());
+ }
+ if spend_tx.input[input_idx].sequence.0 != descriptor.to_self_delay as u32 {
+ return Err(());
+ }
+
+ let delayed_payment_key = chan_utils::derive_private_key(
+ &secp_ctx,
+ &descriptor.per_commitment_point,
+ &self.delayed_payment_base_key,
+ );
+ let delayed_payment_pubkey =
+ DelayedPaymentKey::from_secret_key(&secp_ctx, &delayed_payment_key);
+ let witness_script = chan_utils::get_revokeable_redeemscript(
+ &descriptor.revocation_pubkey,
+ descriptor.to_self_delay,
+ &delayed_payment_pubkey,
+ );
+ let sighash = hash_to_message!(
+ &sighash::SighashCache::new(spend_tx)
+ .segwit_signature_hash(
+ input_idx,
+ &witness_script,
+ descriptor.output.value,
+ EcdsaSighashType::All
+ )
+ .unwrap()[..]
+ );