pub struct Refund { /* private fields */ }
Expand description
Implementations§
source§impl Refund
impl Refund
sourcepub fn description(&self) -> PrintableString<'_>
pub fn description(&self) -> PrintableString<'_>
A complete description of the purpose of the refund. Intended to be displayed to the user but with the caveat that it has not been verified in any way.
sourcepub 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 sent.
If None
, the refund does not expire.
sourcepub fn is_expired(&self) -> bool
Available on crate feature std
only.
pub fn is_expired(&self) -> bool
std
only.Whether the refund has expired.
sourcepub fn issuer(&self) -> Option<PrintableString<'_>>
pub fn issuer(&self) -> Option<PrintableString<'_>>
The issuer of the refund, 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.
sourcepub fn paths(&self) -> &[BlindedPath]
pub fn paths(&self) -> &[BlindedPath]
Paths to the sender originating from publicly reachable nodes. Blinded paths provide sender privacy by obfuscating its node id.
sourcepub fn metadata(&self) -> &[u8] ⓘ
pub fn metadata(&self) -> &[u8] ⓘ
An unpredictable series of bytes, typically containing information about the derivation of
payer_id
.
sourcepub fn amount_msats(&self) -> u64
pub fn amount_msats(&self) -> u64
The amount to refund in msats (i.e., the minimum lightning-payable unit for chain
).
sourcepub fn features(&self) -> &InvoiceRequestFeatures
pub fn features(&self) -> &InvoiceRequestFeatures
Features pertaining to requesting an invoice.
sourcepub fn payer_id(&self) -> PublicKey
pub fn payer_id(&self) -> PublicKey
A public node id to send to in the case where there are no paths
. Otherwise, a possibly
transient pubkey.
sourcepub fn payer_note(&self) -> Option<PrintableString<'_>>
pub fn payer_note(&self) -> Option<PrintableString<'_>>
Payer provided note to include in the invoice.
sourcepub fn respond_with(
&self,
payment_paths: Vec<(BlindedPath, BlindedPayInfo)>,
payment_hash: PaymentHash,
signing_pubkey: PublicKey
) -> Result<InvoiceBuilder<'_, ExplicitSigningPubkey>, SemanticError>
Available on crate feature std
only.
pub fn respond_with( &self, payment_paths: Vec<(BlindedPath, BlindedPayInfo)>, payment_hash: PaymentHash, signing_pubkey: PublicKey ) -> Result<InvoiceBuilder<'_, ExplicitSigningPubkey>, SemanticError>
std
only.Creates an InvoiceBuilder
for the refund with the given required fields and using the
Duration
since std::time::SystemTime::UNIX_EPOCH
as the creation time.
See Refund::respond_with_no_std
for further details where the aforementioned creation
time is used for the created_at
parameter.
sourcepub fn respond_with_no_std(
&self,
payment_paths: Vec<(BlindedPath, BlindedPayInfo)>,
payment_hash: PaymentHash,
signing_pubkey: PublicKey,
created_at: Duration
) -> Result<InvoiceBuilder<'_, ExplicitSigningPubkey>, SemanticError>
pub fn respond_with_no_std( &self, payment_paths: Vec<(BlindedPath, BlindedPayInfo)>, payment_hash: PaymentHash, signing_pubkey: PublicKey, created_at: Duration ) -> Result<InvoiceBuilder<'_, ExplicitSigningPubkey>, SemanticError>
Creates an InvoiceBuilder
for the refund with the given required fields.
Unless InvoiceBuilder::relative_expiry
is set, the invoice will expire two hours after
created_at
, which is used to set Invoice::created_at
. Useful for no-std
builds where
std::time::SystemTime
is not available.
The caller is expected to remember the preimage of payment_hash
in order to
claim a payment for the invoice.
The signing_pubkey
is required to sign the invoice since refunds are not in response to an
offer, which does have a signing_pubkey
.
The payment_paths
parameter is useful for maintaining the payment recipient’s privacy. It
must contain one or more elements ordered from most-preferred to least-preferred, if there’s
a preference. Note, however, that any privacy is lost if a public node id is used for
signing_pubkey
.
Errors if the request contains unknown required features.
sourcepub fn respond_using_derived_keys<ES: Deref>(
&self,
payment_paths: Vec<(BlindedPath, BlindedPayInfo)>,
payment_hash: PaymentHash,
expanded_key: &ExpandedKey,
entropy_source: ES
) -> Result<InvoiceBuilder<'_, DerivedSigningPubkey>, SemanticError>where
ES::Target: EntropySource,
Available on crate feature std
only.
pub fn respond_using_derived_keys<ES: Deref>( &self, payment_paths: Vec<(BlindedPath, BlindedPayInfo)>, payment_hash: PaymentHash, expanded_key: &ExpandedKey, entropy_source: ES ) -> Result<InvoiceBuilder<'_, DerivedSigningPubkey>, SemanticError>where ES::Target: EntropySource,
std
only.Creates an InvoiceBuilder
for the refund using the given required fields and that uses
derived signing keys to sign the Invoice
.
See Refund::respond_with
for further details.
sourcepub fn respond_using_derived_keys_no_std<ES: Deref>(
&self,
payment_paths: Vec<(BlindedPath, BlindedPayInfo)>,
payment_hash: PaymentHash,
created_at: Duration,
expanded_key: &ExpandedKey,
entropy_source: ES
) -> Result<InvoiceBuilder<'_, DerivedSigningPubkey>, SemanticError>where
ES::Target: EntropySource,
pub fn respond_using_derived_keys_no_std<ES: Deref>( &self, payment_paths: Vec<(BlindedPath, BlindedPayInfo)>, payment_hash: PaymentHash, created_at: Duration, expanded_key: &ExpandedKey, entropy_source: ES ) -> Result<InvoiceBuilder<'_, DerivedSigningPubkey>, SemanticError>where ES::Target: EntropySource,
Creates an InvoiceBuilder
for the refund using the given required fields and that uses
derived signing keys to sign the Invoice
.
See Refund::respond_with_no_std
for further details.