From: Valentine Wallace Date: Thu, 24 Aug 2023 19:23:06 +0000 (-0400) Subject: Fix blinded payment TLV ser to not length-prefix X-Git-Tag: v0.0.117-alpha1~20^2~2 X-Git-Url: http://git.bitcoin.ninja/?a=commitdiff_plain;h=d5925f210ed9820ace75c5c1af6c43473ec6892b;p=rust-lightning Fix blinded payment TLV ser to not length-prefix impl_writeable_tlv_based includes a length prefix to the TLV stream, which we don't want. --- diff --git a/lightning/src/blinded_path/payment.rs b/lightning/src/blinded_path/payment.rs index 65af85eca..b671fb919 100644 --- a/lightning/src/blinded_path/payment.rs +++ b/lightning/src/blinded_path/payment.rs @@ -93,17 +93,27 @@ pub struct PaymentConstraints { pub htlc_minimum_msat: u64, } -impl_writeable_tlv_based!(ForwardTlvs, { - (2, short_channel_id, required), - (10, payment_relay, required), - (12, payment_constraints, required), - (14, features, required), -}); - -impl_writeable_tlv_based!(ReceiveTlvs, { - (12, payment_constraints, required), - (65536, payment_secret, required), -}); +impl Writeable for ForwardTlvs { + fn write(&self, w: &mut W) -> Result<(), io::Error> { + encode_tlv_stream!(w, { + (2, self.short_channel_id, required), + (10, self.payment_relay, required), + (12, self.payment_constraints, required), + (14, self.features, required) + }); + Ok(()) + } +} + +impl Writeable for ReceiveTlvs { + fn write(&self, w: &mut W) -> Result<(), io::Error> { + encode_tlv_stream!(w, { + (12, self.payment_constraints, required), + (65536, self.payment_secret, required) + }); + Ok(()) + } +} impl<'a> Writeable for BlindedPaymentTlvsRef<'a> { fn write(&self, w: &mut W) -> Result<(), io::Error> {