X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=lightning%2Fsrc%2Fln%2Fmsgs.rs;fp=lightning%2Fsrc%2Fln%2Fmsgs.rs;h=61e18648a58878877596649d17b7f52450a90d70;hb=fe25bbb44ea879e6b84e0cd6f62fd53058d77417;hp=5e51fc0a9f42569132ca1cd96e94b45092b5cafe;hpb=5c79c8e2b83c2b24e08142f739a779acd0b3f57e;p=rust-lightning diff --git a/lightning/src/ln/msgs.rs b/lightning/src/ln/msgs.rs index 5e51fc0a..61e18648 100644 --- a/lightning/src/ln/msgs.rs +++ b/lightning/src/ln/msgs.rs @@ -426,6 +426,9 @@ pub struct CommitmentSigned { pub signature: Signature, /// Signatures on the HTLC transactions pub htlc_signatures: Vec, + #[cfg(taproot)] + /// The partial Taproot signature on the commitment transaction + pub partial_signature_with_nonce: Option, } /// A [`revoke_and_ack`] message to be sent to or received from a peer. @@ -1402,12 +1405,22 @@ impl_writeable!(ClosingSignedFeeRange, { max_fee_satoshis }); +#[cfg(not(taproot))] impl_writeable_msg!(CommitmentSigned, { channel_id, signature, htlc_signatures }, {}); +#[cfg(taproot)] +impl_writeable_msg!(CommitmentSigned, { + channel_id, + signature, + htlc_signatures +}, { + (2, partial_signature_with_nonce, option) +}); + impl_writeable!(DecodedOnionErrorPacket, { hmac, failuremsg, @@ -2713,6 +2726,8 @@ mod tests { channel_id: [2; 32], signature: sig_1, htlc_signatures: if htlcs { vec![sig_2, sig_3, sig_4] } else { Vec::new() }, + #[cfg(taproot)] + partial_signature_with_nonce: None, }; let encoded_value = commitment_signed.encode(); let mut target_value = hex::decode("0202020202020202020202020202020202020202020202020202020202020202d977cb9b53d93a6ff64bb5f1e158b4094b66e798fb12911168a3ccdf80a83096340a6a95da0ae8d9f776528eecdbb747eb6b545495a4319ed5378e35b21e073a").unwrap();