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

Creates a payee with the node id of the given pubkey.

Creates a payee with the node id of the given pubkey to use for keysend payments.

Includes the payee’s features.

(C-not exported) since bindings don’t support move semantics

Includes hints for routing to the payee.

(C-not exported) since bindings don’t support move semantics

Includes a payment expiration in seconds relative to the UNIX epoch.

(C-not exported) since bindings don’t support move semantics

Includes a limit for the total CLTV expiry delta which is considered during routing

(C-not exported) since bindings don’t support move semantics

Includes a limit for the maximum number of payment paths that may be used.

(C-not exported) since bindings don’t support move semantics

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

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Feeds this value into the given Hasher. Read more

Feeds a slice of this type into the given Hasher. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Reads a Self in from the given Read

Writes self out to the given Writer

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

Writes self out to a Vec

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Reads a Self in from the given Read

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.