Struct QuoteRequest

Source
pub struct QuoteRequest {
Show 23 fields pub input_mint: Pubkey, pub output_mint: Pubkey, pub amount: u64, pub swap_mode: Option<SwapMode>, pub slippage_bps: u16, pub auto_slippage: Option<bool>, pub max_auto_slippage_bps: Option<u16>, pub compute_auto_slippage: bool, pub auto_slippage_collision_usd_value: Option<u32>, pub minimize_slippage: Option<bool>, pub platform_fee_bps: Option<u8>, pub dexes: Option<String>, pub excluded_dexes: Option<String>, pub only_direct_routes: Option<bool>, pub as_legacy_transaction: Option<bool>, pub restrict_intermediate_tokens: Option<bool>, pub max_accounts: Option<usize>, pub quote_type: Option<String>, pub quote_args: Option<HashMap<String, String>>, pub prefer_liquid_dexes: Option<bool>, pub compute_unit_score: Option<ComputeUnitScore>, pub routing_constraints: Option<String>, pub token_category_based_intermediate_tokens: Option<bool>,
}

Fields§

§input_mint: Pubkey§output_mint: Pubkey§amount: u64

The amount to swap, have to factor in the token decimals.

§swap_mode: Option<SwapMode>

(ExactIn or ExactOut) Defaults to ExactIn. ExactOut is for supporting use cases where you need an exact token amount, like payments. In this case the slippage is on the input token.

§slippage_bps: u16

Allowed slippage in basis points

§auto_slippage: Option<bool>

Default is false. By setting this to true, our API will suggest smart slippage info that you can use. slippageBps is what we suggest you to use. Additionally, you should check out max_auto_slippage_bps and auto_slippage_collision_usd_value.

§max_auto_slippage_bps: Option<u16>

The max amount of slippage in basis points that you are willing to accept for auto slippage.

§compute_auto_slippage: bool§auto_slippage_collision_usd_value: Option<u32>

The max amount of USD value that you are willing to accept for auto slippage.

§minimize_slippage: Option<bool>

Quote with a greater amount to find the route to minimize slippage

§platform_fee_bps: Option<u8>

Platform fee in basis points

§dexes: Option<String>§excluded_dexes: Option<String>§only_direct_routes: Option<bool>

Quote only direct routes

§as_legacy_transaction: Option<bool>

Quote fit into legacy transaction

§restrict_intermediate_tokens: Option<bool>

Restrict intermediate tokens to a top token set that has stable liquidity. This will help to ease potential high slippage error rate when swapping with minimal impact on pricing.

§max_accounts: Option<usize>

Find a route given a maximum number of accounts involved, this might dangerously limit routing ending up giving a bad price. The max is an estimation and not the exact count

§quote_type: Option<String>

Quote type to be used for routing, switches the algorithm

§quote_args: Option<HashMap<String, String>>

Extra args which are quote type specific to allow controlling settings from the top level

§prefer_liquid_dexes: Option<bool>

enable only full liquid markets as intermediate tokens

§compute_unit_score: Option<ComputeUnitScore>

Use the compute unit score to pick a route

§routing_constraints: Option<String>

Routing constraints

§token_category_based_intermediate_tokens: Option<bool>

Token category based intermediates token

Trait Implementations§

Source§

impl Clone for QuoteRequest

Source§

fn clone(&self) -> QuoteRequest

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for QuoteRequest

Source§

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

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

impl Default for QuoteRequest

Source§

fn default() -> QuoteRequest

Returns the “default value” for a type. Read more
Source§

impl From<QuoteRequest> for InternalQuoteRequest

Source§

fn from(request: QuoteRequest) -> Self

Converts to this type from the input type.
Source§

impl Serialize for QuoteRequest

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

Auto Trait Implementations§

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> Encode for T
where T: Serialize + ?Sized,

Source§

fn encode<W>(&self, writer: W) -> Result<(), Box<ErrorKind>>
where W: Write,

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> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

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

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: 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: 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
Source§

impl<T> ErasedDestructor for T
where T: 'static,