X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=lightning%2Fsrc%2Foffers%2Fpayer.rs;h=bfc02b5dbcb9804f1fd08bdf689f541a12579ed9;hb=ecd283ea23760a8d24b7135228edd34f66999269;hp=1705be85ed8f53bb316154f81edacbd9f2f391ab;hpb=0c621646a627a0e43e10fdb7717ba0dbc45893c5;p=rust-lightning diff --git a/lightning/src/offers/payer.rs b/lightning/src/offers/payer.rs index 1705be85..bfc02b5d 100644 --- a/lightning/src/offers/payer.rs +++ b/lightning/src/offers/payer.rs @@ -9,6 +9,9 @@ //! Data structures and encoding for `invoice_request_metadata` records. +use crate::offers::signer::Metadata; +use crate::util::ser::WithoutLength; + use crate::prelude::*; /// An unpredictable sequence of bytes typically containing information needed to derive @@ -16,4 +19,15 @@ use crate::prelude::*; /// /// [`InvoiceRequest::payer_id`]: crate::offers::invoice_request::InvoiceRequest::payer_id #[derive(Clone, Debug)] -pub(crate) struct PayerContents(pub Vec); +#[cfg_attr(test, derive(PartialEq))] +pub(super) struct PayerContents(pub Metadata); + +/// TLV record type for [`InvoiceRequest::metadata`] and [`Refund::metadata`]. +/// +/// [`InvoiceRequest::metadata`]: crate::offers::invoice_request::InvoiceRequest::metadata +/// [`Refund::metadata`]: crate::offers::refund::Refund::metadata +pub(super) const PAYER_METADATA_TYPE: u64 = 0; + +tlv_stream!(PayerTlvStream, PayerTlvStreamRef, 0..1, { + (PAYER_METADATA_TYPE, metadata: (Vec, WithoutLength)), +});