From: Antoine Riard Date: Mon, 3 Dec 2018 02:27:26 +0000 (-0500) Subject: Add logging of HTLC outputs resolved by remote peer justice tx X-Git-Tag: v0.0.12~256^2~4 X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=commitdiff_plain;h=ea6e9a78802c672f67fd26de43a5cc6b95fcf693;p=rust-lightning Add logging of HTLC outputs resolved by remote peer justice tx In case of broadcast of revoked local commitment tx, we may be interested that we've screwed up --- diff --git a/src/ln/channelmonitor.rs b/src/ln/channelmonitor.rs index b1e7df29..0ba2f0ba 100644 --- a/src/ln/channelmonitor.rs +++ b/src/ln/channelmonitor.rs @@ -1813,7 +1813,10 @@ impl ChannelMonitor { // to broadcast solving backward if let Some((source, payment_hash)) = payment_data { let mut payment_preimage = PaymentPreimage([0; 32]); - if input.witness.len() == 5 && input.witness[4].len() == ACCEPTED_HTLC_SCRIPT_WEIGHT { + if (input.witness.len() == 3 && input.witness[2].len() == OFFERED_HTLC_SCRIPT_WEIGHT && input.witness[1].len() == 33) + || (input.witness.len() == 3 && input.witness[2].len() == ACCEPTED_HTLC_SCRIPT_WEIGHT && input.witness[1].len() == 33) { + log_error!(self, "Remote used revocation sig to take a {} HTLC output at index {} from commitment_tx {}", if input.witness[2].len() == OFFERED_HTLC_SCRIPT_WEIGHT { "offered" } else { "accepted" }, input.previous_output.vout, input.previous_output.txid); + } else if input.witness.len() == 5 && input.witness[4].len() == ACCEPTED_HTLC_SCRIPT_WEIGHT { payment_preimage.0.copy_from_slice(&tx.input[0].witness[3]); htlc_updated.push((source, Some(payment_preimage), payment_hash)); } else if input.witness.len() == 3 && input.witness[2].len() == OFFERED_HTLC_SCRIPT_WEIGHT {