Skip to main content

PathFind

Struct PathFind 

Source
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: PathFindSubcommand

Use “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§

Source§

impl<'a> PathFind<'a>

Source

pub fn new( id: Option<Cow<'a, str>>, destination_account: Cow<'a, str>, destination_amount: Currency<'a>, source_account: Cow<'a, str>, subcommand: PathFindSubcommand, paths: Option<Vec<Vec<PathStep<'a>>>>, send_max: Option<Currency<'a>>, ) -> Self

Trait Implementations§

Source§

impl<'a> Clone for PathFind<'a>

Source§

fn clone(&self) -> PathFind<'a>

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'a> Debug for PathFind<'a>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de, 'a> Deserialize<'de> for PathFind<'a>

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl<'a> Eq for PathFind<'a>

Source§

impl<'a> From<PathFind<'a>> for XRPLRequest<'a>

Source§

fn from(request: PathFind<'a>) -> Self

Converts to this type from the input type.
Source§

impl<'a> Model for PathFind<'a>

Source§

fn get_errors(&self) -> XRPLModelResult<()>

Collects a models errors and returns the first error that occurs.
Source§

fn validate(&self) -> XRPLModelResult<()>

Simply forwards the error from get_errors if there was one.
Source§

fn is_valid(&self) -> bool

Checks if the model is valid.
Source§

impl<'a> PartialEq for PathFind<'a>

Source§

fn eq(&self, other: &PathFind<'a>) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl<'a> Request<'a> for PathFind<'a>

Source§

impl<'a> Serialize for PathFind<'a>

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

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> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

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

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

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

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more