use crate::model::symbol::SymbolInfo;
use crate::translator::traits::SymbolInfoTranslator;
use kucoin_api::client::Kucoin;
use kucoin_api::model::market::SymbolList;
pub async fn get_symbols(api: Kucoin) -> Vec<SymbolInfo> {
let api_result = api.get_symbol_list(None).await;
let data: Vec<SymbolList> = api_result.unwrap().data.unwrap();
let mut result: Vec<SymbolInfo> = Vec::new();
for symbol in data {
if !symbol.symbol.starts_with(symbol.base_currency.as_str()) {
log::warn!(
"name and base doesnt match (symbol: {:10}, name: {:10}, base: {:5})",
symbol.symbol,
symbol.name,
symbol.base_currency
);
continue;
}
if symbol.quote_currency != symbol.fee_currency {
log::warn!(
"quote isn't fee \nquote: {:?}\nfee: {:?}",
symbol.quote_currency,
symbol.fee_currency
);
continue;
}
if symbol.symbol != symbol.name {
}
let internal_symbol_info = symbol.to_internal();
result.push(internal_symbol_info);
}
result
}