De/serialize custom TLVs on `{Inbound,Outbound}OnionPayload`
[rust-lightning] / lightning / src / ln / channelmanager.rs
index 7b0558881bad681e183b842a9cfe62157d3b519d..5f23842dfb7b907bce990b8a53ccbe78a0f36ad2 100644 (file)
@@ -2674,11 +2674,11 @@ where
                amt_msat: u64, cltv_expiry: u32, phantom_shared_secret: Option<[u8; 32]>, allow_underpay: bool,
                counterparty_skimmed_fee_msat: Option<u64>,
        ) -> Result<PendingHTLCInfo, InboundOnionErr> {
-               let (payment_data, keysend_preimage, onion_amt_msat, outgoing_cltv_value, payment_metadata) = match hop_data {
+               let (payment_data, keysend_preimage, custom_tlvs, onion_amt_msat, outgoing_cltv_value, payment_metadata) = match hop_data {
                        msgs::InboundOnionPayload::Receive {
-                               payment_data, keysend_preimage, amt_msat, outgoing_cltv_value, payment_metadata, ..
+                               payment_data, keysend_preimage, custom_tlvs, amt_msat, outgoing_cltv_value, payment_metadata, ..
                        } =>
-                               (payment_data, keysend_preimage, amt_msat, outgoing_cltv_value, payment_metadata),
+                               (payment_data, keysend_preimage, custom_tlvs, amt_msat, outgoing_cltv_value, payment_metadata),
                        _ =>
                                return Err(InboundOnionErr {
                                        err_code: 0x4000|22,
@@ -10094,6 +10094,7 @@ mod tests {
                        payment_data: Some(msgs::FinalOnionHopData {
                                payment_secret: PaymentSecret([0; 32]), total_msat: sender_intended_amt_msat,
                        }),
+                       custom_tlvs: Vec::new(),
                };
                // Check that if the amount we received + the penultimate hop extra fee is less than the sender
                // intended amount, we fail the payment.
@@ -10113,6 +10114,7 @@ mod tests {
                        payment_data: Some(msgs::FinalOnionHopData {
                                payment_secret: PaymentSecret([0; 32]), total_msat: sender_intended_amt_msat,
                        }),
+                       custom_tlvs: Vec::new(),
                };
                assert!(node[0].node.construct_recv_pending_htlc_info(hop_data, [0; 32], PaymentHash([0; 32]),
                        sender_intended_amt_msat - extra_fee_msat, 42, None, true, Some(extra_fee_msat)).is_ok());