Allow users to provide custom TLVs through `RecipientOnionFields`
[rust-lightning] / lightning-invoice / src / payment.rs
index 42408540ee41e7a9e1f9d8ba6c711c6def7b565d..b67bac13f3447f2061782266a52812fee0cfcac5 100644 (file)
@@ -146,10 +146,8 @@ fn pay_invoice_using_amount<P: Deref>(
        payer: P
 ) -> Result<(), PaymentError> where P::Target: Payer {
        let payment_hash = PaymentHash((*invoice.payment_hash()).into_inner());
-       let recipient_onion = RecipientOnionFields {
-               payment_secret: Some(*invoice.payment_secret()),
-               payment_metadata: invoice.payment_metadata().map(|v| v.clone()),
-       };
+       let mut recipient_onion = RecipientOnionFields::secret_only(*invoice.payment_secret());
+       recipient_onion.payment_metadata = invoice.payment_metadata().map(|v| v.clone());
        let mut payment_params = PaymentParameters::from_node_id(invoice.recover_payee_pub_key(),
                invoice.min_final_cltv_expiry_delta() as u32)
                .with_expiry_time(expiry_time_from_unix_epoch(invoice).as_secs())