Prechádzať zdrojové kódy

chore: use `Ticker`'s new string conversion method

Berke 1 rok pred
rodič
commit
e2ec913640
1 zmenil súbory, kde vykonal 6 pridanie a 26 odobranie
  1. 6 26
      src/data_providers/bybit/market_data.rs

+ 6 - 26
src/data_providers/bybit/market_data.rs

@@ -314,13 +314,8 @@ pub fn connect_market_stream(ticker: Ticker) -> impl Stream<Item = Event> {
 
             let selected_ticker = ticker;
 
-            let symbol_str = match selected_ticker {
-                Ticker::BTCUSDT => "BTCUSDT",
-                Ticker::ETHUSDT => "ETHUSDT",
-                Ticker::SOLUSDT => "SOLUSDT",
-                Ticker::LTCUSDT => "LTCUSDT",
-            };
-
+            let symbol_str = selected_ticker.get_string().to_uppercase();
+            
             let stream_1 = format!("publicTrade.{symbol_str}");
             let stream_2 = format!("orderbook.500.{symbol_str}");
 
@@ -464,12 +459,7 @@ pub fn connect_kline_stream(streams: Vec<(Ticker, Timeframe)>) -> impl Stream<It
             let mut state = State::Disconnected;    
 
             let stream_str = streams.iter().map(|(ticker, timeframe)| {
-                let symbol_str = match ticker {
-                    Ticker::BTCUSDT => "BTCUSDT",
-                    Ticker::ETHUSDT => "ETHUSDT",
-                    Ticker::SOLUSDT => "SOLUSDT",
-                    Ticker::LTCUSDT => "LTCUSDT",
-                };
+                let symbol_str = ticker.get_string().to_uppercase();
                 let timeframe_str = match timeframe {
                     Timeframe::M1 => "1",
                     Timeframe::M3 => "3",
@@ -573,13 +563,8 @@ struct ApiResult {
 }
 
 pub async fn fetch_klines(ticker: Ticker, timeframe: Timeframe) -> Result<Vec<Kline>> {
-    let symbol_str: &str = match ticker {
-        Ticker::BTCUSDT => "BTCUSDT",
-        Ticker::ETHUSDT => "ETHUSDT",
-        Ticker::SOLUSDT => "SOLUSDT",
-        Ticker::LTCUSDT => "LTCUSDT",
-    };
-    let timeframe_str: &str = match timeframe {
+    let symbol_str = ticker.get_string().to_uppercase();
+    let timeframe_str = match timeframe {
         Timeframe::M1 => "1",
         Timeframe::M3 => "3",
         Timeframe::M5 => "5",
@@ -631,12 +616,7 @@ pub async fn fetch_klines(ticker: Ticker, timeframe: Timeframe) -> Result<Vec<Kl
 }
 
 pub async fn fetch_ticksize(ticker: Ticker) -> Result<f32> {
-    let symbol_str = match ticker {
-        Ticker::BTCUSDT => "BTCUSDT",
-        Ticker::ETHUSDT => "ETHUSDT",
-        Ticker::SOLUSDT => "SOLUSDT",
-        Ticker::LTCUSDT => "LTCUSDT",
-    };
+    let symbol_str = ticker.get_string().to_uppercase();
 
     let url = format!("https://api.bybit.com/v5/market/instruments-info?category=linear&symbol={}", symbol_str);