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
impl Clone for QuoteRequest
Source§fn clone(&self) -> QuoteRequest
fn clone(&self) -> QuoteRequest
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for QuoteRequest
impl Debug for QuoteRequest
Source§impl Default for QuoteRequest
impl Default for QuoteRequest
Source§fn default() -> QuoteRequest
fn default() -> QuoteRequest
Source§impl From<QuoteRequest> for InternalQuoteRequest
impl From<QuoteRequest> for InternalQuoteRequest
Source§fn from(request: QuoteRequest) -> Self
fn from(request: QuoteRequest) -> Self
Auto Trait Implementations§
impl Freeze for QuoteRequest
impl RefUnwindSafe for QuoteRequest
impl Send for QuoteRequest
impl Sync for QuoteRequest
impl Unpin for QuoteRequest
impl UnwindSafe for QuoteRequest
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> 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>
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>
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