Skip to content

Commit 2f4a1f7

Browse files
committed
Use proper sighash flag for remote HTLCs with anchor outputs
1 parent a82fb62 commit 2f4a1f7

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

lightning/src/util/enforcing_trait_impls.rs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,16 @@ impl BaseSign for EnforcingSigner {
160160

161161
let htlc_redeemscript = chan_utils::get_htlc_redeemscript(&this_htlc, self.opt_anchors(), &keys);
162162

163-
let sighash = hash_to_message!(&sighash::SighashCache::new(&htlc_tx).segwit_signature_hash(0, &htlc_redeemscript, this_htlc.amount_msat / 1000, EcdsaSighashType::All).unwrap()[..]);
163+
let sighash_type = if self.opt_anchors() {
164+
EcdsaSighashType::SinglePlusAnyoneCanPay
165+
} else {
166+
EcdsaSighashType::All
167+
};
168+
let sighash = hash_to_message!(
169+
&sighash::SighashCache::new(&htlc_tx).segwit_signature_hash(
170+
0, &htlc_redeemscript, this_htlc.amount_msat / 1000, sighash_type,
171+
).unwrap()[..]
172+
);
164173
secp_ctx.verify_ecdsa(&sighash, sig, &keys.countersignatory_htlc_key).unwrap();
165174
}
166175

0 commit comments

Comments
 (0)