|
|
@@ -8,10 +8,11 @@ use tracing::trace;
|
|
|
use exchanges::phemex_swap_rest::PhemexSwapRest;
|
|
|
use exchanges::phemex_swap_ws::{PhemexSwapLogin, PhemexSwapSubscribeType, PhemexSwapWs, PhemexSwapWsType};
|
|
|
use exchanges::proxy;
|
|
|
+use exchanges::proxy::ProxyResponseEnum::NO;
|
|
|
use exchanges::response_base::ResponseData;
|
|
|
|
|
|
-const ACCESS_KEY: &str = "";
|
|
|
-const SECRET_KEY: &str = "";
|
|
|
+const ACCESS_KEY: &str = "81afd14f-bc0a-4599-8ae6-8b4dc20e95a0";
|
|
|
+const SECRET_KEY: &str = "BdytnHfrhod7e0RlIACkrdpgRMACjuPK1j8eTxY5wvdkNWVkNDdiZi0xZTNkLTQ2ZjktYjA5YS03NTI0ODJhYzZmZjY";
|
|
|
|
|
|
|
|
|
#[tokio::test(flavor = "multi_thread", worker_threads = 2)]
|
|
|
@@ -75,15 +76,16 @@ async fn ws_custom_subscribe() {
|
|
|
let param = PhemexSwapLogin {
|
|
|
access_key: ACCESS_KEY.to_string(),
|
|
|
secret_key: SECRET_KEY.to_string(),
|
|
|
- pass_key: "".to_string(),
|
|
|
};
|
|
|
let t1 = tokio::spawn(async move {
|
|
|
let mut ws = get_ws(Option::from(param), PhemexSwapWsType::PublicAndPrivate);
|
|
|
ws.set_symbols(vec!["BTC_USDT".to_string(), "ETC_USDT".to_string()]);
|
|
|
ws.set_subscribe(vec![
|
|
|
- PhemexSwapSubscribeType::PuFuturesTrades,
|
|
|
+ // PhemexSwapSubscribeType::PuFuturesTrades,
|
|
|
// PhemexSwapSubscribeType::PuFuturesOrderBook,
|
|
|
// PhemexSwapSubscribeType::PuFuturesRecords,
|
|
|
+
|
|
|
+ PhemexSwapSubscribeType::PrFuturesAccountOrderPosition,
|
|
|
]);
|
|
|
//链接
|
|
|
let bool_v3_clone = Arc::clone(&is_shutdown_arc);
|
|
|
@@ -102,13 +104,12 @@ fn get_ws(btree_map: Option<PhemexSwapLogin>, ws_type: PhemexSwapWsType) -> Phem
|
|
|
phemex_ws
|
|
|
}
|
|
|
|
|
|
-
|
|
|
//服务器时间
|
|
|
#[tokio::test]
|
|
|
async fn rest_get_server_test() {
|
|
|
global::log_utils::init_log_with_trace();
|
|
|
|
|
|
- let mut ret = get_rest();
|
|
|
+ let mut ret = get_rest(false);
|
|
|
let req_data = ret.get_server().await;
|
|
|
println!("Phemex--服务器时间--{:?}", req_data);
|
|
|
}
|
|
|
@@ -118,11 +119,11 @@ async fn rest_get_server_test() {
|
|
|
async fn rest_get_market_test() {
|
|
|
global::log_utils::init_log_with_trace();
|
|
|
|
|
|
- let mut ret = get_rest();
|
|
|
+ let mut ret = get_rest(false);
|
|
|
let req_data = ret.get_market(json!({
|
|
|
|
|
|
})).await;
|
|
|
- println!("Phemex--查詢合約基礎信息--{:?}", req_data);
|
|
|
+ // println!("Phemex--查詢合約基礎信息--{:?}", req_data);
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -131,8 +132,13 @@ async fn rest_get_market_test() {
|
|
|
async fn rest_get_account_and_positions_test() {
|
|
|
global::log_utils::init_log_with_trace();
|
|
|
|
|
|
- let mut ret = get_rest();
|
|
|
- let req_data = ret.get_account_and_positions().await;
|
|
|
+ let mut ret = get_rest(true);
|
|
|
+ let req_data = ret.get_account_and_positions(
|
|
|
+ json!({
|
|
|
+ "currency":"USDT"
|
|
|
+ })
|
|
|
+ ).await;
|
|
|
+
|
|
|
println!("Phemex--持仓(查询交易账户和仓位)--{:?}", req_data);
|
|
|
}
|
|
|
|
|
|
@@ -141,7 +147,7 @@ async fn rest_get_account_and_positions_test() {
|
|
|
async fn rest_set_leverage_test() {
|
|
|
global::log_utils::init_log_with_trace();
|
|
|
|
|
|
- let mut ret = get_rest();
|
|
|
+ let mut ret = get_rest(true);
|
|
|
let req_data = ret.set_leverage(json!({
|
|
|
"symbol":"ZKUSDT",
|
|
|
"leverageRr":"1"
|
|
|
@@ -155,7 +161,7 @@ async fn rest_set_leverage_test() {
|
|
|
async fn rest_orders_test() {
|
|
|
global::log_utils::init_log_with_trace();
|
|
|
|
|
|
- let mut ret = get_rest();
|
|
|
+ let mut ret = get_rest(true);
|
|
|
let req_data = ret.orders(json!({
|
|
|
"symbol": "BTCUSDT",
|
|
|
"side": "Buy",
|
|
|
@@ -170,7 +176,7 @@ async fn rest_orders_test() {
|
|
|
async fn rest_cancel_order_test() {
|
|
|
global::log_utils::init_log_with_trace();
|
|
|
|
|
|
- let mut ret = get_rest();
|
|
|
+ let mut ret = get_rest(true);
|
|
|
let req_data = ret.cancel_order(json!({
|
|
|
"symbol ": "BTCUSDT",
|
|
|
"posSide": "Long",
|
|
|
@@ -184,24 +190,20 @@ async fn rest_cancel_order_test() {
|
|
|
async fn rest_cancel_order_all_test() {
|
|
|
global::log_utils::init_log_with_trace();
|
|
|
|
|
|
- let mut ret = get_rest();
|
|
|
+ let mut ret = get_rest(true);
|
|
|
let req_data = ret.cancel_order_all(json!({
|
|
|
})).await;
|
|
|
println!("Phemex--撤销所有)--{:?}", req_data);
|
|
|
}
|
|
|
|
|
|
|
|
|
+fn get_rest(is_proxy:bool) -> PhemexSwapRest {
|
|
|
|
|
|
-
|
|
|
-fn get_rest() -> PhemexSwapRest {
|
|
|
- if proxy::ParsingDetail::http_enable_proxy(Some("phemex")) {
|
|
|
- trace!("检测有代理配置,配置走代理");
|
|
|
- }
|
|
|
let mut btree_map: BTreeMap<String, String> = BTreeMap::new();
|
|
|
btree_map.insert("access_key".to_string(), ACCESS_KEY.to_string());
|
|
|
btree_map.insert("secret_key".to_string(), SECRET_KEY.to_string());
|
|
|
|
|
|
- let phemex_exc = PhemexSwapRest::new(false, btree_map.clone());
|
|
|
+ let phemex_exc = PhemexSwapRest::new(false, is_proxy,btree_map.clone());
|
|
|
phemex_exc
|
|
|
}
|
|
|
|