pub struct PathFind<'a> {
pub common_fields: CommonFields<'a>,
pub destination_account: Cow<'a, str>,
pub destination_amount: Currency<'a>,
pub source_account: Cow<'a, str>,
pub subcommand: PathFindSubcommand,
pub paths: Option<Vec<Path<'a>>>,
pub send_max: Option<Currency<'a>>,
}Expand description
WebSocket API only! The path_find method searches for a path along which a transaction can possibly be made, and periodically sends updates when the path changes over time. For a simpl<’a>er version that is supported by JSON-RPC, see the ripple_path_find method. For payments occurring strictly in XRP, it is not necessary to find a path, because XRP can be sent directly to any account.
Although the rippled server tries to find the cheapest path or combination of paths for making a payment, it is not guaranteed that the paths returned by this method are, in fact, the best paths. Due to server load, pathfinding may not find the best results. Additionally, you should be careful with the pathfinding results from untrusted servers. A server could be modified to return less-than-optimal paths to earn money for its operators. If you do not have your own server that you can trust with pathfinding, you should compare the results of pathfinding from multiple servers run by different parties, to minimize the risk of a single server returning poor results. (Note: A server returning less-than-optimal results is not necessarily proof of malicious behavior; it could also be a symptom of heavy server load.)
See Path Find:
<https://xrpl.org/path_find.html>
Fields§
§common_fields: CommonFields<'a>The common fields shared by all requests.
destination_account: Cow<'a, str>Unique address of the account to find a path to. (In other words, the account that would receive a payment.)
destination_amount: Currency<'a>Currency Amount that the destination account would receive in a transaction. Special case: New in: rippled 0.30.0 You can specify “-1” (for XRP) or provide -1 as the contents of the value field (for non-XRP currencies). This requests a path to deliver as much as possible, while spending no more than the amount specified in send_max (if provided).
source_account: Cow<'a, str>Unique address of the account to find a path from. (In other words, the account that would be sending a payment.)
subcommand: PathFindSubcommandUse “create” to send the create sub-command.
paths: Option<Vec<Path<'a>>>Array of arrays of objects, representing payment paths to check. You can use this to keep updated on changes to particular paths you already know about, or to check the overall cost to make a payment along a certain path.
send_max: Option<Currency<'a>>Currency Amount that would be spent in the transaction. Not compatible with source_currencies.
Implementations§
Trait Implementations§
Source§impl<'de, 'a> Deserialize<'de> for PathFind<'a>
impl<'de, 'a> Deserialize<'de> for PathFind<'a>
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>,
impl<'a> Eq for PathFind<'a>
Source§impl<'a> From<PathFind<'a>> for XRPLRequest<'a>
impl<'a> From<PathFind<'a>> for XRPLRequest<'a>
Source§impl<'a> Model for PathFind<'a>
impl<'a> Model for PathFind<'a>
Source§fn get_errors(&self) -> XRPLModelResult<()>
fn get_errors(&self) -> XRPLModelResult<()>
Source§fn validate(&self) -> XRPLModelResult<()>
fn validate(&self) -> XRPLModelResult<()>
get_errors if there was one.Source§impl<'a> Request<'a> for PathFind<'a>
impl<'a> Request<'a> for PathFind<'a>
fn get_common_fields(&self) -> &CommonFields<'a>
fn get_common_fields_mut(&mut self) -> &mut CommonFields<'a>
impl<'a> StructuralPartialEq for PathFind<'a>
Auto Trait Implementations§
impl<'a> Freeze for PathFind<'a>
impl<'a> RefUnwindSafe for PathFind<'a>
impl<'a> Send for PathFind<'a>
impl<'a> Sync for PathFind<'a>
impl<'a> Unpin for PathFind<'a>
impl<'a> UnsafeUnpin for PathFind<'a>
impl<'a> UnwindSafe for PathFind<'a>
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.