Struct UnsignedBolt12Invoice
pub struct UnsignedBolt12Invoice { /* private fields */ }
Expand description
A semantically valid Bolt12Invoice
that hasn’t been signed.
§Serialization
This is serialized as a TLV stream, which includes TLV records from the originating message. As such, it may include unknown, odd TLV records.
Implementations§
§impl UnsignedBolt12Invoice
impl UnsignedBolt12Invoice
pub fn tagged_hash(&self) -> &TaggedHash
pub fn tagged_hash(&self) -> &TaggedHash
Returns the TaggedHash
of the invoice to sign.
pub fn sign<F, E>(self, sign: F) -> Result<Bolt12Invoice, SignError<E>>
pub fn sign<F, E>(self, sign: F) -> Result<Bolt12Invoice, SignError<E>>
Signs the TaggedHash
of the invoice using the given function.
Note: The hash computation may have included unknown, odd TLV records.
This is not exported to bindings users as functions aren’t currently mapped.
§impl UnsignedBolt12Invoice
impl UnsignedBolt12Invoice
pub fn offer_chains(&self) -> Option<Vec<ChainHash>>
pub fn offer_chains(&self) -> Option<Vec<ChainHash>>
The chains that may be used when paying a requested invoice.
From Offer::chains
; None
if the invoice was created in response to a Refund
.
pub fn chain(&self) -> ChainHash
pub fn chain(&self) -> ChainHash
The chain that must be used when paying the invoice; selected from offer_chains
if the
invoice originated from an offer.
From InvoiceRequest::chain
or Refund::chain
.
pub fn metadata(&self) -> Option<&Vec<u8>>
pub fn metadata(&self) -> Option<&Vec<u8>>
Opaque bytes set by the originating Offer
.
From Offer::metadata
; None
if the invoice was created in response to a Refund
or
if the Offer
did not set it.
pub fn amount(&self) -> Option<&Amount>
pub fn amount(&self) -> Option<&Amount>
The minimum amount required for a successful payment of a single item.
From Offer::amount
; None
if the invoice was created in response to a Refund
or if
the Offer
did not set it.
pub fn offer_features(&self) -> Option<&Features<OfferContext>>
pub fn offer_features(&self) -> Option<&Features<OfferContext>>
Features pertaining to the originating Offer
.
From Offer::offer_features
; None
if the invoice was created in response to a
Refund
.
pub fn description(&self) -> PrintableString<'_>
pub fn description(&self) -> PrintableString<'_>
A complete description of the purpose of the originating offer or refund.
From Offer::description
or Refund::description
.
pub fn absolute_expiry(&self) -> Option<Duration>
pub fn absolute_expiry(&self) -> Option<Duration>
Duration since the Unix epoch when an invoice should no longer be requested.
pub fn issuer(&self) -> Option<PrintableString<'_>>
pub fn issuer(&self) -> Option<PrintableString<'_>>
The issuer of the offer or refund.
From Offer::issuer
or Refund::issuer
.
pub fn message_paths(&self) -> &[BlindedPath]
pub fn message_paths(&self) -> &[BlindedPath]
Paths to the recipient originating from publicly reachable nodes.
From Offer::paths
or Refund::paths
.
pub fn supported_quantity(&self) -> Option<Quantity>
pub fn supported_quantity(&self) -> Option<Quantity>
The quantity of items supported.
From Offer::supported_quantity
; None
if the invoice was created in response to a
Refund
.
pub fn payer_metadata(&self) -> &[u8] ⓘ
pub fn payer_metadata(&self) -> &[u8] ⓘ
An unpredictable series of bytes from the payer.
From InvoiceRequest::payer_metadata
or Refund::payer_metadata
.
pub fn invoice_request_features(&self) -> &Features<InvoiceRequestContext>
pub fn invoice_request_features(&self) -> &Features<InvoiceRequestContext>
Features pertaining to requesting an invoice.
From InvoiceRequest::invoice_request_features
or Refund::features
.
pub fn quantity(&self) -> Option<u64>
pub fn quantity(&self) -> Option<u64>
The quantity of items requested or refunded for.
From InvoiceRequest::quantity
or Refund::quantity
.
pub fn payer_id(&self) -> PublicKey
pub fn payer_id(&self) -> PublicKey
A possibly transient pubkey used to sign the invoice request or to send an invoice for a
refund in case there are no message_paths
.
pub fn payer_note(&self) -> Option<PrintableString<'_>>
pub fn payer_note(&self) -> Option<PrintableString<'_>>
A payer-provided note reflected back in the invoice.
pub fn payment_paths(&self) -> &[(BlindedPayInfo, BlindedPath)]
pub fn payment_paths(&self) -> &[(BlindedPayInfo, BlindedPath)]
Paths to the recipient originating from publicly reachable nodes, including information needed for routing payments across them.
Blinded paths provide recipient privacy by obfuscating its node id. Note, however, that this
privacy is lost if a public node id is used for Bolt12Invoice::signing_pubkey
.
This is not exported to bindings users as slices with non-reference types cannot be ABI matched in another language.
pub fn created_at(&self) -> Duration
pub fn created_at(&self) -> Duration
Duration since the Unix epoch when the invoice was created.
pub fn relative_expiry(&self) -> Duration
pub fn relative_expiry(&self) -> Duration
Duration since Bolt12Invoice::created_at
when the invoice has expired and therefore
should no longer be paid.
pub fn is_expired(&self) -> bool
pub fn is_expired(&self) -> bool
Whether the invoice has expired.
pub fn payment_hash(&self) -> PaymentHash
pub fn payment_hash(&self) -> PaymentHash
SHA256 hash of the payment preimage that will be given in return for paying the invoice.
pub fn amount_msats(&self) -> u64
pub fn amount_msats(&self) -> u64
The minimum amount required for a successful payment of the invoice.
pub fn fallbacks(&self) -> Vec<Address>
pub fn fallbacks(&self) -> Vec<Address>
Fallback addresses for paying the invoice on-chain, in order of most-preferred to least-preferred.
pub fn invoice_features(&self) -> &Features<Bolt12InvoiceContext>
pub fn invoice_features(&self) -> &Features<Bolt12InvoiceContext>
Features pertaining to paying an invoice.
pub fn signing_pubkey(&self) -> PublicKey
pub fn signing_pubkey(&self) -> PublicKey
The public key corresponding to the key used to sign the invoice.
Trait Implementations§
§impl AsRef<TaggedHash> for UnsignedBolt12Invoice
impl AsRef<TaggedHash> for UnsignedBolt12Invoice
§fn as_ref(&self) -> &TaggedHash
fn as_ref(&self) -> &TaggedHash
§impl TryFrom<Vec<u8>> for UnsignedBolt12Invoice
impl TryFrom<Vec<u8>> for UnsignedBolt12Invoice
§type Error = Bolt12ParseError
type Error = Bolt12ParseError
§impl Writeable for UnsignedBolt12Invoice
impl Writeable for UnsignedBolt12Invoice
Auto Trait Implementations§
impl Freeze for UnsignedBolt12Invoice
impl RefUnwindSafe for UnsignedBolt12Invoice
impl Send for UnsignedBolt12Invoice
impl Sync for UnsignedBolt12Invoice
impl Unpin for UnsignedBolt12Invoice
impl UnwindSafe for UnsignedBolt12Invoice
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request