Quellcode durchsuchen

根据market取消所有订单的接口

skyfffire vor 2 Wochen
Ursprung
Commit
1e1e30ba3f
1 geänderte Dateien mit 30 neuen und 7 gelöschten Zeilen
  1. 30 7
      src/exchange/extended_rest_client.rs

+ 30 - 7
src/exchange/extended_rest_client.rs

@@ -196,6 +196,19 @@ impl ExtendedRestClient {
         ).await
     }
 
+    pub async fn mass_cancel_by_market(&mut self, market: &str) -> Response {
+        let params = json!({
+            "markets": [market]
+        });
+
+        self.request("POST",
+                     "/api/v1",
+                     "/user/order/massCancel",
+                     true,
+                     params,
+        ).await
+    }
+
     pub async fn post_order(&mut self, order_type: &str, side: &str, qty: &str, price: &str, reduce_only: bool) -> Result<Response> {
         let account = self.account.clone().ok_or_else(|| anyhow!("请将账户传入再进行下单操作"))?;
 
@@ -522,16 +535,17 @@ mod tests {
     use crate::utils::log_setup::setup_logging;
 
     async fn get_client() -> ExtendedRestClient {
-        let account = ExtendedAccount::new(
-            "a7b197d06d35de11387b8b71f34c87e4",
-            "0x41efadf5ceebc77b0798b0af797fb97e610c87c669494bea54338c5ef8c0f19",
-            "0x484b399394c4d76cdc62a1dc490f96cf5197f0e307832e59fdeec2e16c50078",
-            500089,
-        );
         let tag = "Extended";
         let market = "BTC-USD";
+        let account = ExtendedAccount::new(
+            "9ae4030902ab469a1bae8a90464e2e91",
+            "0x71e16e49b717b851ced8347cf0dfa8f490bfb826323b9af624a66285dc99672",
+            "0x47cdde8952945c13460f9129644eade096100810fba59de05452b34aacecff6",
+            220844,
+        );
+        let is_testnet = false;
 
-        let client_result = ExtendedRestClient::new(tag, Some(account), market, true).await;
+        let client_result = ExtendedRestClient::new(tag, Some(account), market, is_testnet).await;
 
         match client_result {
             Ok(client) => {
@@ -594,4 +608,13 @@ mod tests {
 
         info!("{}", serde_json::to_string_pretty(&response.data).unwrap());
     }
+
+    #[tokio::test]
+    async fn test_mass_cancel_by_market() {
+        let _guard = setup_logging().unwrap();
+        let mut client = get_client().await;
+        let response = client.mass_cancel_by_market("BTC-USD").await;
+
+        info!("{}", serde_json::to_string_pretty(&response.data).unwrap());
+    }
 }