pub struct CrossChainRoutePair {
pub provider: CrossChainProvider,
pub chain: String,
pub chain_id: Option<String>,
pub asset: String,
pub contract_address: Option<String>,
pub decimals: u8,
pub exact_out_eligible: bool,
pub accepted_assets: Vec<SparkAsset>,
pub delivery_methods: Vec<DeliveryMethod>,
}Expand description
A single route available for cross-chain transfers, tagged with the provider
that offers it. Returned by get_cross_chain_routes().
Fields§
§provider: CrossChainProviderWhich provider offers this route.
chain: StringExternal blockchain (e.g. "base", "solana", "tron").
chain_id: Option<String>External chain identifier (e.g. EVM chainId as a decimal string).
None for non-EVM chains that don’t expose one, or when the
provider doesn’t surface it.
asset: StringExternal asset symbol (e.g. "USDC", "USDT").
contract_address: Option<String>Token contract / mint address on the destination chain.
decimals: u8Decimal places for the destination asset.
exact_out_eligible: boolWhether the route supports exact-out mode.
accepted_assets: Vec<SparkAsset>Spark-side assets this route accepts.
delivery_methods: Vec<DeliveryMethod>Rails this route can be delivered over, orthogonal to
accepted_assets (the asset moved vs the rail moved on).
Trait Implementations§
Source§impl Clone for CrossChainRoutePair
impl Clone for CrossChainRoutePair
Source§fn clone(&self) -> CrossChainRoutePair
fn clone(&self) -> CrossChainRoutePair
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CrossChainRoutePair
impl Debug for CrossChainRoutePair
Source§impl<'de> Deserialize<'de> for CrossChainRoutePair
impl<'de> Deserialize<'de> for CrossChainRoutePair
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
Source§impl PartialEq for CrossChainRoutePair
impl PartialEq for CrossChainRoutePair
Source§impl Serialize for CrossChainRoutePair
impl Serialize for CrossChainRoutePair
impl StructuralPartialEq for CrossChainRoutePair
Auto Trait Implementations§
impl Freeze for CrossChainRoutePair
impl RefUnwindSafe for CrossChainRoutePair
impl Send for CrossChainRoutePair
impl Sync for CrossChainRoutePair
impl Unpin for CrossChainRoutePair
impl UnsafeUnpin for CrossChainRoutePair
impl UnwindSafe for CrossChainRoutePair
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,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request