pub struct PaymentParameters {
pub payee_pubkey: PublicKey,
pub features: Option<InvoiceFeatures>,
pub route_hints: Vec<RouteHint>,
pub expiry_time: Option<u64>,
pub max_total_cltv_expiry_delta: u32,
pub max_path_count: u8,
pub max_channel_saturation_power_of_half: u8,
pub previously_failed_channels: Vec<u64>,
}
Expand description
The recipient of a payment.
Fields
payee_pubkey: PublicKey
The node id of the payee.
features: Option<InvoiceFeatures>
Features supported by the payee.
May be set from the payee’s invoice or via for_keysend
. May be None
if the invoice
does not contain any features.
route_hints: Vec<RouteHint>
Hints for routing to the payee, containing channels connecting the payee to public nodes.
expiry_time: Option<u64>
Expiration of a payment to the payee, in seconds relative to the UNIX epoch.
max_total_cltv_expiry_delta: u32
The maximum total CLTV delta we accept for the route.
Defaults to DEFAULT_MAX_TOTAL_CLTV_EXPIRY_DELTA
.
max_path_count: u8
The maximum number of paths that may be used by (MPP) payments.
Defaults to DEFAULT_MAX_PATH_COUNT
.
max_channel_saturation_power_of_half: u8
Selects the maximum share of a channel’s total capacity which will be sent over a channel, as a power of 1/2. A higher value prefers to send the payment using more MPP parts whereas a lower value prefers to send larger MPP parts, potentially saturating channels and increasing failure probability for those paths.
Note that this restriction will be relaxed during pathfinding after paths which meet this restriction have been found. While paths which meet this criteria will be searched for, it is ultimately up to the scorer to select them over other paths.
A value of 0 will allow payments up to and including a channel’s total announced usable capacity, a value of one will only use up to half its capacity, two 1/4, etc.
Default value: 2
previously_failed_channels: Vec<u64>
A list of SCIDs which this payment was previously attempted over and which caused the payment to fail. Future attempts for the same payment shouldn’t be relayed through any of these SCIDs.
Implementations
sourceimpl PaymentParameters
impl PaymentParameters
sourcepub fn from_node_id(payee_pubkey: PublicKey) -> Self
pub fn from_node_id(payee_pubkey: PublicKey) -> Self
Creates a payee with the node id of the given pubkey
.
sourcepub fn for_keysend(payee_pubkey: PublicKey) -> Self
pub fn for_keysend(payee_pubkey: PublicKey) -> Self
Creates a payee with the node id of the given pubkey
to use for keysend payments.
sourcepub fn with_features(self, features: InvoiceFeatures) -> Self
pub fn with_features(self, features: InvoiceFeatures) -> Self
Includes the payee’s features.
(C-not exported) since bindings don’t support move semantics
sourcepub fn with_route_hints(self, route_hints: Vec<RouteHint>) -> Self
pub fn with_route_hints(self, route_hints: Vec<RouteHint>) -> Self
Includes hints for routing to the payee.
(C-not exported) since bindings don’t support move semantics
sourcepub fn with_expiry_time(self, expiry_time: u64) -> Self
pub fn with_expiry_time(self, expiry_time: u64) -> Self
Includes a payment expiration in seconds relative to the UNIX epoch.
(C-not exported) since bindings don’t support move semantics
sourcepub fn with_max_total_cltv_expiry_delta(
self,
max_total_cltv_expiry_delta: u32
) -> Self
pub fn with_max_total_cltv_expiry_delta(
self,
max_total_cltv_expiry_delta: u32
) -> Self
Includes a limit for the total CLTV expiry delta which is considered during routing
(C-not exported) since bindings don’t support move semantics
sourcepub fn with_max_path_count(self, max_path_count: u8) -> Self
pub fn with_max_path_count(self, max_path_count: u8) -> Self
Includes a limit for the maximum number of payment paths that may be used.
(C-not exported) since bindings don’t support move semantics
sourcepub fn with_max_channel_saturation_power_of_half(
self,
max_channel_saturation_power_of_half: u8
) -> Self
pub fn with_max_channel_saturation_power_of_half(
self,
max_channel_saturation_power_of_half: u8
) -> Self
Includes a limit for the maximum number of payment paths that may be used.
(C-not exported) since bindings don’t support move semantics
Trait Implementations
sourceimpl Clone for PaymentParameters
impl Clone for PaymentParameters
sourcefn clone(&self) -> PaymentParameters
fn clone(&self) -> PaymentParameters
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for PaymentParameters
impl Debug for PaymentParameters
sourceimpl Hash for PaymentParameters
impl Hash for PaymentParameters
sourceimpl PartialEq<PaymentParameters> for PaymentParameters
impl PartialEq<PaymentParameters> for PaymentParameters
sourcefn eq(&self, other: &PaymentParameters) -> bool
fn eq(&self, other: &PaymentParameters) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &PaymentParameters) -> bool
fn ne(&self, other: &PaymentParameters) -> bool
This method tests for !=
.
sourceimpl Readable for PaymentParameters
impl Readable for PaymentParameters
sourceimpl Writeable for PaymentParameters
impl Writeable for PaymentParameters
sourcefn write<W: Writer>(&self, writer: &mut W) -> Result<(), Error>
fn write<W: Writer>(&self, writer: &mut W) -> Result<(), Error>
Writes self out to the given Writer
sourcefn serialized_length(&self) -> usize
fn serialized_length(&self) -> usize
Gets the length of this object after it has been serialized. This can be overridden to optimize cases where we prepend an object with its length. Read more
impl Eq for PaymentParameters
impl StructuralEq for PaymentParameters
impl StructuralPartialEq for PaymentParameters
Auto Trait Implementations
impl RefUnwindSafe for PaymentParameters
impl Send for PaymentParameters
impl Sync for PaymentParameters
impl Unpin for PaymentParameters
impl UnwindSafe for PaymentParameters
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more