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§

source

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>

source

fn is_path_available( &self, dex_id: DEXId, input_asset_id: AssetId, output_asset_id: AssetId, at: Option<BlockHash> ) -> Result<bool>

source

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§

source

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.

Implementors§

source§

impl<C, Block, DEXId, AssetId, Balance, SwapVariant, LiquiditySourceType, FilterMode> LiquidityProxyAPIServer<<Block as Block>::Hash, DEXId, AssetId, Balance, SwapVariant, LiquiditySourceType, FilterMode, Option<SwapOutcomeInfo<Balance, AssetId>>> for LiquidityProxyClient<C, Block>where Block: BlockT, C: Send + Sync + 'static + ProvideRuntimeApi<Block> + HeaderBackend<Block>, C::Api: LiquidityProxyRuntimeAPI<Block, DEXId, AssetId, Balance, SwapVariant, LiquiditySourceType, FilterMode>, DEXId: Codec, AssetId: Codec + MaybeFromStr + MaybeDisplay, Balance: Codec + MaybeFromStr + MaybeDisplay + Default, SwapVariant: Codec, LiquiditySourceType: Codec, FilterMode: Codec,