pub struct Solution {
pub sender: Bytes,
pub receiver: Bytes,
pub given_token: Bytes,
pub given_amount: BigUint,
pub checked_token: Bytes,
pub exact_out: bool,
pub checked_amount: BigUint,
pub swaps: Vec<Swap>,
pub native_action: Option<NativeAction>,
}
Expand description
Represents a solution containing details describing an order, and instructions for filling the order.
Fields§
§sender: Bytes
Address of the sender.
receiver: Bytes
Address of the receiver.
given_token: Bytes
The token being sold (exact in) or bought (exact out).
given_amount: BigUint
Amount of the given token.
checked_token: Bytes
The token being bought (exact in) or sold (exact out).
exact_out: bool
False if the solution is an exact input solution. Currently only exact input solutions are supported.
checked_amount: BigUint
Minimum amount to be checked for the solution to be valid.
swaps: Vec<Swap>
List of swaps to fulfill the solution.
native_action: Option<NativeAction>
If set, the corresponding native action will be executed.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Solution
impl<'de> Deserialize<'de> for Solution
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl !Freeze for Solution
impl RefUnwindSafe for Solution
impl Send for Solution
impl Sync for Solution
impl Unpin for Solution
impl UnwindSafe for Solution
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
Mutably borrows from an owned value. Read more
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more