pub trait LiquidityProxyAPIServer<BlockHash, DEXId, AssetId, Balance, SwapVariant, LiquiditySourceType, FilterMode, OutputTy>: Sized + Send + Sync + 'static {
// Required methods
fn quote(
&self,
dex_id: DEXId,
input_asset_id: AssetId,
output_asset_id: AssetId,
amount: BalanceWrapper,
swap_variant: SwapVariant,
selected_source_types: Vec<LiquiditySourceType>,
filter_mode: FilterMode,
at: Option<BlockHash>
) -> Result<OutputTy>;
fn is_path_available(
&self,
dex_id: DEXId,
input_asset_id: AssetId,
output_asset_id: AssetId,
at: Option<BlockHash>
) -> Result<bool>;
fn list_enabled_sources_for_path(
&self,
dex_id: DEXId,
input_asset_id: AssetId,
output_asset_id: AssetId,
at: Option<BlockHash>
) -> Result<Vec<LiquiditySourceType>>;
// Provided method
fn into_rpc(self) -> RpcModule<Self>
where BlockHash: Send + Sync + 'static + DeserializeOwned,
DEXId: Send + Sync + 'static + DeserializeOwned,
AssetId: Send + Sync + 'static + DeserializeOwned,
Balance: Send + Sync + 'static,
SwapVariant: Send + Sync + 'static + DeserializeOwned,
LiquiditySourceType: Send + Sync + 'static + DeserializeOwned + Serialize,
FilterMode: Send + Sync + 'static + DeserializeOwned,
OutputTy: Send + Sync + 'static + Serialize { ... }
}
Expand description
Server trait implementation for the LiquidityProxyAPI
RPC API.
Required Methods§
fn quote( &self, dex_id: DEXId, input_asset_id: AssetId, output_asset_id: AssetId, amount: BalanceWrapper, swap_variant: SwapVariant, selected_source_types: Vec<LiquiditySourceType>, filter_mode: FilterMode, at: Option<BlockHash> ) -> Result<OutputTy>
fn is_path_available( &self, dex_id: DEXId, input_asset_id: AssetId, output_asset_id: AssetId, at: Option<BlockHash> ) -> Result<bool>
fn list_enabled_sources_for_path( &self, dex_id: DEXId, input_asset_id: AssetId, output_asset_id: AssetId, at: Option<BlockHash> ) -> Result<Vec<LiquiditySourceType>>
Provided Methods§
sourcefn into_rpc(self) -> RpcModule<Self>where
BlockHash: Send + Sync + 'static + DeserializeOwned,
DEXId: Send + Sync + 'static + DeserializeOwned,
AssetId: Send + Sync + 'static + DeserializeOwned,
Balance: Send + Sync + 'static,
SwapVariant: Send + Sync + 'static + DeserializeOwned,
LiquiditySourceType: Send + Sync + 'static + DeserializeOwned + Serialize,
FilterMode: Send + Sync + 'static + DeserializeOwned,
OutputTy: Send + Sync + 'static + Serialize,
fn into_rpc(self) -> RpcModule<Self>where BlockHash: Send + Sync + 'static + DeserializeOwned, DEXId: Send + Sync + 'static + DeserializeOwned, AssetId: Send + Sync + 'static + DeserializeOwned, Balance: Send + Sync + 'static, SwapVariant: Send + Sync + 'static + DeserializeOwned, LiquiditySourceType: Send + Sync + 'static + DeserializeOwned + Serialize, FilterMode: Send + Sync + 'static + DeserializeOwned, OutputTy: Send + Sync + 'static + Serialize,
Collects all the methods and subscriptions defined in the trait and adds them into a single RpcModule
.