utils.rs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. use tracing::trace;
  2. use exchanges::proxy;
  3. use crate::exchange::ExchangeEnum;
  4. /// 修改交易对连接符号
  5. /// - `symbol(str)`: 交易对, "BTC_USDT", 默认以下划线传递
  6. /// - `pat(str)`: 替换字符, "-", 把 “_” 替换为 "-"
  7. pub fn format_symbol(symbol: String, pat: &str) -> String {
  8. return symbol.to_uppercase().replace("_", pat);
  9. }
  10. // 检测是否走代理
  11. pub fn proxy_handle() {
  12. if proxy::ParsingDetail::http_enable_proxy() {
  13. trace!("检测有代理配置,配置走代理");
  14. }
  15. }
  16. /// 币种映射器
  17. #[allow(dead_code)]
  18. pub fn symbol_enter_mapper(exchange_enum: ExchangeEnum, symbol: &str) -> String {
  19. let symbol_upper = symbol.to_uppercase();
  20. match exchange_enum {
  21. ExchangeEnum::KucoinSwap => {
  22. if symbol_upper.contains("BTC") {
  23. symbol_upper.replace("BTC", "XBT")
  24. } else { symbol_upper.to_string() }
  25. }
  26. _ => {
  27. symbol_upper.to_string()
  28. }
  29. }
  30. }
  31. /// 币种映射器
  32. #[allow(dead_code)]
  33. pub fn symbol_out_mapper(exchange_enum: ExchangeEnum, symbol: &str) -> String {
  34. let symbol_upper = symbol.to_uppercase();
  35. match exchange_enum {
  36. ExchangeEnum::KucoinSwap => {
  37. if symbol_upper.contains("XBT") {
  38. symbol_upper.replace("XBT", "BTC")
  39. } else { symbol_upper.to_string() }
  40. }
  41. _ => {
  42. symbol_upper.to_string()
  43. }
  44. }
  45. }