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<CrossChainAcceptedAsset>,
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<CrossChainAcceptedAsset>Spark-side assets this route accepts, each with its own amount bounds.
delivery_methods: Vec<DeliveryMethod>Rails this route can be delivered over, orthogonal to
accepted_assets (the asset moved vs the rail moved on).
Implementations§
Source§impl CrossChainRoutePair
impl CrossChainRoutePair
Sourcepub fn limits_for(&self, asset: &SparkAsset) -> Option<&CrossChainRouteLimits>
pub fn limits_for(&self, asset: &SparkAsset) -> Option<&CrossChainRouteLimits>
The bounds published for moving this route with asset, if the route
accepts it at all.
Sourcepub fn accepts_asset(&self, asset: &SparkAsset) -> bool
pub fn accepts_asset(&self, asset: &SparkAsset) -> bool
Whether asset is one of the Spark-side assets this route accepts.
Trait Implementations§
Source§impl Clone for CrossChainRoutePair
impl Clone for CrossChainRoutePair
Source§fn clone(&self) -> CrossChainRoutePair
fn clone(&self) -> CrossChainRoutePair
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
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>,
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
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>
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 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>
T in a tonic::Request