pub struct QueryRoutesRequest {Show 18 fields
pub pub_key: String,
pub amt: i64,
pub amt_msat: i64,
pub final_cltv_delta: i32,
pub fee_limit: Option<FeeLimit>,
pub ignored_nodes: Vec<Vec<u8>>,
pub ignored_edges: Vec<EdgeLocator>,
pub source_pub_key: String,
pub use_mission_control: bool,
pub ignored_pairs: Vec<NodePair>,
pub cltv_limit: u32,
pub dest_custom_records: HashMap<u64, Vec<u8>>,
pub outgoing_chan_id: u64,
pub last_hop_pubkey: Vec<u8>,
pub route_hints: Vec<RouteHint>,
pub blinded_payment_paths: Vec<BlindedPaymentPath>,
pub dest_features: Vec<i32>,
pub time_pref: f64,
}
Fields§
§pub_key: String
The 33-byte hex-encoded public key for the payment destination
amt: i64
The amount to send expressed in satoshis.
The fields amt and amt_msat are mutually exclusive.
amt_msat: i64
The amount to send expressed in millisatoshis.
The fields amt and amt_msat are mutually exclusive.
final_cltv_delta: i32
An optional CLTV delta from the current height that should be used for the timelock of the final hop. Note that unlike SendPayment, QueryRoutes does not add any additional block padding on top of final_ctlv_delta. This padding of a few blocks needs to be added manually or otherwise failures may happen when a block comes in while the payment is in flight.
Note: must not be set if making a payment to a blinded path (delta is set by the aggregate parameters provided by blinded_payment_paths)
fee_limit: Option<FeeLimit>
The maximum number of satoshis that will be paid as a fee of the payment. This value can be represented either as a percentage of the amount being sent, or as a fixed amount of the maximum fee the user is willing the pay to send the payment. If not specified, lnd will use a default value of 100% fees for small amounts (<=1k sat) or 5% fees for larger amounts.
ignored_nodes: Vec<Vec<u8>>
A list of nodes to ignore during path finding. When using REST, these fields must be encoded as base64.
ignored_edges: Vec<EdgeLocator>
Deprecated. A list of edges to ignore during path finding.
source_pub_key: String
The source node where the request route should originated from. If empty, self is assumed.
use_mission_control: bool
If set to true, edge probabilities from mission control will be used to get the optimal route.
ignored_pairs: Vec<NodePair>
A list of directed node pairs that will be ignored during path finding.
cltv_limit: u32
An optional maximum total time lock for the route. If the source is empty or
ourselves, this should not exceed lnd’s --max-cltv-expiry
setting. If
zero, then the value of --max-cltv-expiry
is used as the limit.
dest_custom_records: HashMap<u64, Vec<u8>>
An optional field that can be used to pass an arbitrary set of TLV records to a peer which understands the new records. This can be used to pass application specific data during the payment attempt. If the destination does not support the specified records, an error will be returned. Record types are required to be in the custom range >= 65536. When using REST, the values must be encoded as base64.
outgoing_chan_id: u64
The channel id of the channel that must be taken to the first hop. If zero, any channel may be used.
last_hop_pubkey: Vec<u8>
The pubkey of the last hop of the route. If empty, any hop may be used.
route_hints: Vec<RouteHint>
Optional route hints to reach the destination through private channels.
blinded_payment_paths: Vec<BlindedPaymentPath>
An optional blinded path(s) to reach the destination. Note that the introduction node must be provided as the first hop in the route.
dest_features: Vec<i32>
Features assumed to be supported by the final node. All transitive feature dependencies must also be set properly. For a given feature bit pair, either optional or remote may be set, but not both. If this field is nil or empty, the router will try to load destination features from the graph as a fallback.
Note: must not be set if making a payment to a blinded route (features are provided in blinded_payment_paths).
time_pref: f64
The time preference for this payment. Set to -1 to optimize for fees only, to 1 to optimize for reliability only or a value inbetween for a mix.
Implementations§
Source§impl QueryRoutesRequest
impl QueryRoutesRequest
Sourcepub fn dest_features(
&self,
) -> FilterMap<Cloned<Iter<'_, i32>>, fn(i32) -> Option<FeatureBit>>
pub fn dest_features( &self, ) -> FilterMap<Cloned<Iter<'_, i32>>, fn(i32) -> Option<FeatureBit>>
Returns an iterator which yields the valid enum values contained in dest_features
.
Sourcepub fn push_dest_features(&mut self, value: FeatureBit)
pub fn push_dest_features(&mut self, value: FeatureBit)
Appends the provided enum value to dest_features
.
Trait Implementations§
Source§impl Clone for QueryRoutesRequest
impl Clone for QueryRoutesRequest
Source§fn clone(&self) -> QueryRoutesRequest
fn clone(&self) -> QueryRoutesRequest
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for QueryRoutesRequest
impl Debug for QueryRoutesRequest
Source§impl Default for QueryRoutesRequest
impl Default for QueryRoutesRequest
Source§impl<'de> Deserialize<'de> for QueryRoutesRequest
impl<'de> Deserialize<'de> for QueryRoutesRequest
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Message for QueryRoutesRequest
impl Message for QueryRoutesRequest
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode<B>(buf: B) -> Result<Self, DecodeError>
fn decode<B>(buf: B) -> Result<Self, DecodeError>
Source§fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
Source§fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
self
. Read moreSource§fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
self
.Source§impl PartialEq for QueryRoutesRequest
impl PartialEq for QueryRoutesRequest
Source§impl Serialize for QueryRoutesRequest
impl Serialize for QueryRoutesRequest
impl StructuralPartialEq for QueryRoutesRequest
Auto Trait Implementations§
impl Freeze for QueryRoutesRequest
impl RefUnwindSafe for QueryRoutesRequest
impl Send for QueryRoutesRequest
impl Sync for QueryRoutesRequest
impl Unpin for QueryRoutesRequest
impl UnwindSafe for QueryRoutesRequest
Blanket Implementations§
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> 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