Class VerifiedInvoiceRequest


  • public class VerifiedInvoiceRequest
    extends Object
    An [`InvoiceRequest`] that has been verified by [`InvoiceRequest::verify`] and exposes different ways to respond depending on whether the signing keys were derived.
    • Method Detail

      • get_keys

        public Option_SecretKeyZ get_keys()
        Keys used for signing a [`Bolt12Invoice`] if they can be derived. If `Some`, must call [`respond_using_derived_keys`] when responding. Otherwise, call [`respond_with`]. [`Bolt12Invoice`]: crate::offers::invoice::Bolt12Invoice [`respond_using_derived_keys`]: Self::respond_using_derived_keys [`respond_with`]: Self::respond_with
      • set_keys

        public void set_keys​(Option_SecretKeyZ val)
        Keys used for signing a [`Bolt12Invoice`] if they can be derived. If `Some`, must call [`respond_using_derived_keys`] when responding. Otherwise, call [`respond_with`]. [`Bolt12Invoice`]: crate::offers::invoice::Bolt12Invoice [`respond_using_derived_keys`]: Self::respond_using_derived_keys [`respond_with`]: Self::respond_with
      • chains

        public byte[][] chains()
        The chains that may be used when paying a requested invoice (e.g., bitcoin mainnet). Payments must be denominated in units of the minimal lightning-payable unit (e.g., msats) for the selected chain.
      • metadata

        public Option_CVec_u8ZZ metadata()
        Opaque bytes set by the originator. Useful for authentication and validating fields since it is reflected in `invoice_request` messages along with all the other fields from the `offer`.
      • amount

        @Nullable
        public Amount amount()
        The minimum amount required for a successful payment of a single item. Note that the return value (or a relevant inner pointer) may be NULL or all-0s to represent None
      • description

        public PrintableString description()
        A complete description of the purpose of the payment. Intended to be displayed to the user but with the caveat that it has not been verified in any way.
      • offer_features

        public OfferFeatures offer_features()
        Features pertaining to the offer.
      • absolute_expiry

        public Option_u64Z absolute_expiry()
        Duration since the Unix epoch when an invoice should no longer be requested. If `None`, the offer does not expire.
      • issuer

        @Nullable
        public PrintableString issuer()
        The issuer of the offer, possibly beginning with `user@domain` or `domain`. Intended to be displayed to the user but with the caveat that it has not been verified in any way. Note that the return value (or a relevant inner pointer) may be NULL or all-0s to represent None
      • paths

        public BlindedPath[] paths()
        Paths to the recipient originating from publicly reachable nodes. Blinded paths provide recipient privacy by obfuscating its node id.
      • supported_quantity

        public Quantity supported_quantity()
        The quantity of items supported.
      • signing_pubkey

        public byte[] signing_pubkey()
        The public key used by the recipient to sign invoices.
      • payer_metadata

        public byte[] payer_metadata()
        An unpredictable series of bytes, typically containing information about the derivation of [`payer_id`]. [`payer_id`]: Self::payer_id
      • chain

        public byte[] chain()
        A chain from [`Offer::chains`] that the offer is valid for.
      • amount_msats

        public Option_u64Z amount_msats()
        The amount to pay in msats (i.e., the minimum lightning-payable unit for [`chain`]), which must be greater than or equal to [`Offer::amount`], converted if necessary. [`chain`]: Self::chain
      • invoice_request_features

        public InvoiceRequestFeatures invoice_request_features()
        Features pertaining to requesting an invoice.
      • quantity

        public Option_u64Z quantity()
        The quantity of the offer's item conforming to [`Offer::is_valid_quantity`].
      • payer_id

        public byte[] payer_id()
        A possibly transient pubkey used to sign the invoice request.
      • payer_note

        @Nullable
        public PrintableString payer_note()
        A payer-provided note which will be seen by the recipient and reflected back in the invoice response. Note that the return value (or a relevant inner pointer) may be NULL or all-0s to represent None