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