use polyoxide_core::HttpClient;
use crate::{
usdm::{
request::{route_builder, Routed},
types::{ExchangeInfo, FundingInfo},
},
weight::Route,
};
#[derive(Debug, Clone)]
pub struct ExchangeApi {
pub(crate) http: HttpClient,
}
impl ExchangeApi {
pub fn exchange_info(&self) -> GetExchangeInfo {
GetExchangeInfo {
request: Routed::new(&self.http, Route::ExchangeInfo),
}
}
pub fn funding_info(&self) -> GetFundingInfo {
GetFundingInfo {
request: Routed::new(&self.http, Route::FundingInfo),
}
}
}
route_builder! {
GetExchangeInfo => ExchangeInfo
}
route_builder! {
GetFundingInfo => Vec<FundingInfo>
}