CommonSwapResponse

Struct CommonSwapResponse 

Source
pub struct CommonSwapResponse {
    pub block_number: CommonSwapResponseBlockNumber,
    pub fees: CommonSwapResponseFees,
    pub from_amount: CommonSwapResponseFromAmount,
    pub from_token: CommonSwapResponseFromToken,
    pub issues: CommonSwapResponseIssues,
    pub liquidity_available: bool,
    pub min_to_amount: CommonSwapResponseMinToAmount,
    pub to_amount: CommonSwapResponseToAmount,
    pub to_token: CommonSwapResponseToToken,
}
Expand description

CommonSwapResponse

JSON schema
{
 "examples": [
   {
     "blockNumber": "17038723",
     "fees": {
       "gasFee": {
         "amount": "1000000000000000000",
         "token": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"
       },
       "protocolFee": {
         "amount": "1000000000000000000",
         "token": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"
       }
     },
     "fromAmount": "1000000000000000000",
     "fromToken": "0x6B175474E89094C44Da98b954EedeAC495271d0F",
     "issues": {
       "allowance": {
         "currentAllowance": "1000000000",
         "spender": "0x000000000022D473030F116dDEE9F6B43aC78BA3"
       },
       "balance": {
         "currentBalance": "1000000000000000000",
         "requiredBalance": "1000000000000000000",
         "token": "0x6B175474E89094C44Da98b954EedeAC495271d0F"
       },
       "simulationIncomplete": false
     },
     "liquidityAvailable": true,
     "minToAmount": "900000000000000000",
     "toAmount": "1000000000000000000",
     "toToken": "0x7F5c764cBc14f9669B88837ca1490cCa17c31607"
   }
 ],
 "type": "object",
 "required": [
   "blockNumber",
   "fees",
   "fromAmount",
   "fromToken",
   "issues",
   "liquidityAvailable",
   "minToAmount",
   "toAmount",
   "toToken"
 ],
 "properties": {
   "blockNumber": {
     "description": "The block number at which the liquidity conditions were examined.",
     "examples": [
       "17038723"
     ],
     "type": "string",
     "pattern": "^[1-9]\\d*$"
   },
   "fees": {
     "description": "The estimated fees for the swap.",
     "examples": [
       {
         "gasFee": {
           "amount": "1000000000000000000",
           "token": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"
         },
         "protocolFee": {
           "amount": "1000000000000000000",
           "token": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"
         }
       }
     ],
     "type": "object",
     "required": [
       "gasFee",
       "protocolFee"
     ],
     "properties": {
       "gasFee": {
         "description": "The estimated gas fee for the swap.",
         "type": [
           "object",
           "null"
         ],
         "allOf": [
           {
             "$ref": "#/components/schemas/TokenFee"
           }
         ]
       },
       "protocolFee": {
         "description": "The estimated protocol fee for the swap.",
         "type": [
           "object",
           "null"
         ],
         "allOf": [
           {
             "$ref": "#/components/schemas/TokenFee"
           }
         ]
       }
     }
   },
   "fromAmount": {
     "description": "The amount of the `fromToken` that will be sent in this swap, in atomic units of the `fromToken`. For example, `1000000000000000000` when sending ETH equates to 1 ETH, `1000000` when sending USDC equates to 1 USDC, etc.",
     "examples": [
       "1000000000000000000"
     ],
     "type": "string",
     "pattern": "^(0|[1-9]\\d*)$"
   },
   "fromToken": {
     "description": "The 0x-prefixed contract address of the token that will be sent.",
     "examples": [
       "0x6B175474E89094C44Da98b954EedeAC495271d0F"
     ],
     "type": "string",
     "pattern": "^0x[a-fA-F0-9]{40}$"
   },
   "issues": {
     "description": "An object containing potential issues discovered during validation that could prevent the swap from being executed successfully.",
     "examples": [
       {
         "allowance": {
           "currentAllowance": "1000000000",
           "spender": "0x000000000022D473030F116dDEE9F6B43aC78BA3"
         },
         "balance": {
           "currentBalance": "900000000000000000",
           "requiredBalance": "1000000000000000000",
           "token": "0x6B175474E89094C44Da98b954EedeAC495271d0F"
         },
         "simulationIncomplete": false
       }
     ],
     "type": "object",
     "required": [
       "allowance",
       "balance",
       "simulationIncomplete"
     ],
     "properties": {
       "allowance": {
         "description": "Details of the allowances that the taker must set in order to execute the swap successfully. Null if no allowance is required.",
         "examples": [
           {
             "currentAllowance": "1000000000",
             "spender": "0x000000000022D473030F116dDEE9F6B43aC78BA3"
           }
         ],
         "type": [
           "object",
           "null"
         ],
         "required": [
           "currentAllowance",
           "spender"
         ],
         "properties": {
           "currentAllowance": {
             "description": "The current allowance of the `fromToken` by the `taker`.",
             "examples": [
               "1000000000"
             ],
             "type": "string",
             "pattern": "^\\d+$"
           },
           "spender": {
             "description": "The 0x-prefixed address of to set the allowance on.",
             "examples": [
               "0x000000000022D473030F116dDEE9F6B43aC78BA3"
             ],
             "type": "string",
             "pattern": "^0x[a-fA-F0-9]{40}$"
           }
         }
       },
       "balance": {
         "description": "Details of the balance of the `fromToken` that the `taker` must hold. Null if the `taker` has a sufficient balance.",
         "examples": [
           {
             "currentBalance": "1000000000000000000",
             "requiredBalance": "1000000000000000000",
             "token": "0x6B175474E89094C44Da98b954EedeAC495271d0F"
           }
         ],
         "type": [
           "object",
           "null"
         ],
         "required": [
           "currentBalance",
           "requiredBalance",
           "token"
         ],
         "properties": {
           "currentBalance": {
             "description": "The current balance of the `fromToken` by the `taker`.",
             "examples": [
               "10000000"
             ],
             "type": "string",
             "pattern": "^\\d+$"
           },
           "requiredBalance": {
             "description": "The amount of the token that the `taker` must hold.",
             "examples": [
               "1000000000000000000"
             ],
             "type": "string",
             "pattern": "^\\d+$"
           },
           "token": {
             "description": "The 0x-prefixed contract address of the token.",
             "type": "string",
             "pattern": "^0x[a-fA-F0-9]{40}$"
           }
         }
       },
       "simulationIncomplete": {
         "description": "This is set to true when the transaction cannot be validated. This can happen when the taker has an insufficient balance of the `fromToken`. Note that this does not necessarily mean that the trade will revert.",
         "examples": [
           false
         ],
         "type": "boolean"
       }
     }
   },
   "liquidityAvailable": {
     "description": "Whether sufficient liquidity is available to settle the swap. All other fields in the response will be empty if this is false.",
     "examples": [
       true
     ],
     "type": "boolean",
     "enum": [
       true
     ]
   },
   "minToAmount": {
     "description": "The minimum amount of the `toToken` that must be received for the swap to succeed, in atomic units of the `toToken`.  For example, `1000000000000000000` when receiving ETH equates to 1 ETH, `1000000` when receiving USDC equates to 1 USDC, etc. This value is influenced by the `slippageBps` parameter.",
     "examples": [
       "900000000000000000"
     ],
     "type": "string",
     "pattern": "^(0|[1-9]\\d*)$"
   },
   "toAmount": {
     "description": "The amount of the `toToken` that will be received in atomic units of the `toToken`. For example, `1000000000000000000` when receiving ETH equates to 1 ETH, `1000000` when receiving USDC equates to 1 USDC, etc.",
     "examples": [
       "1000000000000000000"
     ],
     "type": "string",
     "pattern": "^(0|[1-9]\\d*)$"
   },
   "toToken": {
     "description": "The 0x-prefixed contract address of the token that will be received.",
     "examples": [
       "0x7F5c764cBc14f9669B88837ca1490cCa17c31607"
     ],
     "type": "string",
     "pattern": "^0x[a-fA-F0-9]{40}$"
   }
 }
}

Fields§

§block_number: CommonSwapResponseBlockNumber

The block number at which the liquidity conditions were examined.

§fees: CommonSwapResponseFees§from_amount: CommonSwapResponseFromAmount

The amount of the fromToken that will be sent in this swap, in atomic units of the fromToken. For example, 1000000000000000000 when sending ETH equates to 1 ETH, 1000000 when sending USDC equates to 1 USDC, etc.

§from_token: CommonSwapResponseFromToken

The 0x-prefixed contract address of the token that will be sent.

§issues: CommonSwapResponseIssues§liquidity_available: bool

Whether sufficient liquidity is available to settle the swap. All other fields in the response will be empty if this is false.

§min_to_amount: CommonSwapResponseMinToAmount

The minimum amount of the toToken that must be received for the swap to succeed, in atomic units of the toToken. For example, 1000000000000000000 when receiving ETH equates to 1 ETH, 1000000 when receiving USDC equates to 1 USDC, etc. This value is influenced by the slippageBps parameter.

§to_amount: CommonSwapResponseToAmount

The amount of the toToken that will be received in atomic units of the toToken. For example, 1000000000000000000 when receiving ETH equates to 1 ETH, 1000000 when receiving USDC equates to 1 USDC, etc.

§to_token: CommonSwapResponseToToken

The 0x-prefixed contract address of the token that will be received.

Implementations§

Trait Implementations§

Source§

impl Clone for CommonSwapResponse

Source§

fn clone(&self) -> CommonSwapResponse

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 CommonSwapResponse

Source§

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

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

impl<'de> Deserialize<'de> for CommonSwapResponse

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 From<&CommonSwapResponse> for CommonSwapResponse

Source§

fn from(value: &CommonSwapResponse) -> Self

Converts to this type from the input type.
Source§

impl From<CommonSwapResponse> for CommonSwapResponse

Source§

fn from(value: CommonSwapResponse) -> Self

Converts to this type from the input type.
Source§

impl Serialize for CommonSwapResponse

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 TryFrom<CommonSwapResponse> for CommonSwapResponse

Source§

type Error = ConversionError

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

fn try_from(value: CommonSwapResponse) -> Result<Self, ConversionError>

Performs the conversion.

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> 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: 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<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> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

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