@yuants/vendor-turboflow 1.2.28 → 1.2.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/.rush/temp/chunked-rush-logs/vendor-turboflow.build.chunks.jsonl +17 -22
  2. package/.rush/temp/operation/build/all.log +17 -22
  3. package/.rush/temp/operation/build/log-chunks.jsonl +17 -22
  4. package/.rush/temp/operation/build/state.json +1 -1
  5. package/.rush/temp/shrinkwrap-deps.json +543 -435
  6. package/.rush/temp/yuants+vendor-turboflow_build_12fb188cd8f2be8793f2eed4c236e3c31969dcdb.tar.log +69 -0
  7. package/CHANGELOG.json +40 -0
  8. package/CHANGELOG.md +8 -1
  9. package/config/jest.config.json +3 -0
  10. package/config/rig.json +6 -0
  11. package/config/typescript.json +13 -0
  12. package/dist/api/private-api.js +121 -0
  13. package/dist/api/private-api.js.map +1 -0
  14. package/dist/api/public-api.js +24 -0
  15. package/dist/api/public-api.js.map +1 -0
  16. package/dist/index.js +2 -0
  17. package/dist/index.js.map +1 -0
  18. package/dist/services/exchange.js +94 -0
  19. package/dist/services/exchange.js.map +1 -0
  20. package/dist/services/order-actions-with-credential.js +23 -0
  21. package/dist/services/order-actions-with-credential.js.map +1 -0
  22. package/dist/services/orders/cancelOrder.js +31 -0
  23. package/dist/services/orders/cancelOrder.js.map +1 -0
  24. package/dist/services/orders/listOrders.js +61 -0
  25. package/dist/services/orders/listOrders.js.map +1 -0
  26. package/dist/services/orders/modifyOrder.js +42 -0
  27. package/dist/services/orders/modifyOrder.js.map +1 -0
  28. package/dist/services/orders/submitOrder.js +69 -0
  29. package/dist/services/orders/submitOrder.js.map +1 -0
  30. package/lib/api/private-api.d.ts +26 -26
  31. package/lib/api/private-api.d.ts.map +1 -1
  32. package/lib/api/private-api.js.map +1 -1
  33. package/lib/api/public-api.d.ts.map +1 -1
  34. package/lib/api/public-api.js.map +1 -1
  35. package/lib/services/exchange.js +1 -1
  36. package/lib/services/exchange.js.map +1 -1
  37. package/lib/services/orders/cancelOrder.d.ts.map +1 -1
  38. package/lib/services/orders/cancelOrder.js.map +1 -1
  39. package/lib/services/orders/listOrders.d.ts.map +1 -1
  40. package/lib/services/orders/listOrders.js +1 -1
  41. package/lib/services/orders/listOrders.js.map +1 -1
  42. package/lib/services/orders/modifyOrder.d.ts.map +1 -1
  43. package/lib/services/orders/modifyOrder.js.map +1 -1
  44. package/lib/services/orders/submitOrder.d.ts.map +1 -1
  45. package/lib/services/orders/submitOrder.js +7 -7
  46. package/lib/services/orders/submitOrder.js.map +1 -1
  47. package/package.json +31 -29
  48. package/rush-logs/vendor-turboflow.build.cache.log +4 -1
  49. package/rush-logs/vendor-turboflow.build.log +17 -22
  50. package/temp/build/typescript/ts_zFq2B6Vf.json +1 -0
  51. package/temp/package-deps.json +14 -11
  52. package/temp/test/jest/haste-map-8da76140b2b07765354e535592c7b35f-798a118b6d313e054e69a784a276ddc7-ffbd83ce86c42c04c3a6c5159eec9906 +0 -0
@@ -0,0 +1,42 @@
1
+ import { formatTime } from '@yuants/utils';
2
+ import { remendOrder } from '../../api/private-api';
3
+ export const modifyOrder = async (credential, order) => {
4
+ var _a;
5
+ console.info(`[${formatTime(Date.now())}] Modifying order ${order.order_id}`);
6
+ try {
7
+ // Parse comment for position_id and other parameters
8
+ let position_id;
9
+ let tp_order;
10
+ let sl_order;
11
+ if (order.comment) {
12
+ try {
13
+ const params = JSON.parse(order.comment);
14
+ position_id = params.position_id;
15
+ tp_order = params.tp_order;
16
+ sl_order = params.sl_order;
17
+ }
18
+ catch (e) {
19
+ console.warn(`[${formatTime(Date.now())}] Failed to parse order comment:`, e);
20
+ }
21
+ }
22
+ if (!position_id) {
23
+ throw new Error('position_id is required for modifying order');
24
+ }
25
+ const response = await remendOrder(credential, {
26
+ position_id,
27
+ price: (_a = order.price) === null || _a === void 0 ? void 0 : _a.toString(),
28
+ vol: order.volume.toString(),
29
+ tp_order,
30
+ sl_order,
31
+ });
32
+ if (response.errno !== '0') {
33
+ throw new Error(`Failed to modify order: ${response.msg}`);
34
+ }
35
+ console.info(`[${formatTime(Date.now())}] Order modified successfully`);
36
+ }
37
+ catch (error) {
38
+ console.error(`[${formatTime(Date.now())}] Error modifying order:`, error);
39
+ throw error;
40
+ }
41
+ };
42
+ //# sourceMappingURL=modifyOrder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modifyOrder.js","sourceRoot":"","sources":["../../../src/services/orders/modifyOrder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAe,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEjE,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAE,UAAuB,EAAE,KAAa,EAAiB,EAAE;;IACzF,OAAO,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,qBAAqB,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAE9E,IAAI,CAAC;QACH,qDAAqD;QACrD,IAAI,WAA+B,CAAC;QACpC,IAAI,QAAa,CAAC;QAClB,IAAI,QAAa,CAAC;QAElB,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACzC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;gBACjC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;gBAC3B,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YAC7B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,kCAAkC,EAAE,CAAC,CAAC,CAAC;YAChF,CAAC;QACH,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,UAAU,EAAE;YAC7C,WAAW;YACX,KAAK,EAAE,MAAA,KAAK,CAAC,KAAK,0CAAE,QAAQ,EAAE;YAC9B,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE;YAC5B,QAAQ;YACR,QAAQ;SACT,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,+BAA+B,CAAC,CAAC;IAC1E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;QAC3E,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC","sourcesContent":["import { IOrder } from '@yuants/data-order';\nimport { formatTime } from '@yuants/utils';\nimport { ICredential, remendOrder } from '../../api/private-api';\n\nexport const modifyOrder = async (credential: ICredential, order: IOrder): Promise<void> => {\n console.info(`[${formatTime(Date.now())}] Modifying order ${order.order_id}`);\n\n try {\n // Parse comment for position_id and other parameters\n let position_id: string | undefined;\n let tp_order: any;\n let sl_order: any;\n\n if (order.comment) {\n try {\n const params = JSON.parse(order.comment);\n position_id = params.position_id;\n tp_order = params.tp_order;\n sl_order = params.sl_order;\n } catch (e) {\n console.warn(`[${formatTime(Date.now())}] Failed to parse order comment:`, e);\n }\n }\n\n if (!position_id) {\n throw new Error('position_id is required for modifying order');\n }\n\n const response = await remendOrder(credential, {\n position_id,\n price: order.price?.toString(),\n vol: order.volume.toString(),\n tp_order,\n sl_order,\n });\n\n if (response.errno !== '0') {\n throw new Error(`Failed to modify order: ${response.msg}`);\n }\n\n console.info(`[${formatTime(Date.now())}] Order modified successfully`);\n } catch (error) {\n console.error(`[${formatTime(Date.now())}] Error modifying order:`, error);\n throw error;\n }\n};\n"]}
@@ -0,0 +1,69 @@
1
+ import { decodePath, newError } from '@yuants/utils';
2
+ import { submitOrder as submitOrderApi } from '../../api/private-api';
3
+ export const submitOrder = async (credential, order) => {
4
+ var _a, _b;
5
+ // Parse product_id to get pair_id
6
+ const [, _SWAP, _NAME, pair_id] = decodePath(order.product_id);
7
+ // Determine order_way based on order_direction
8
+ // 1: 开多 (Open Long), 2: 平空 (Close Short), 3: 开空 (Open Short), 4: 平多 (Close Long)
9
+ let order_way;
10
+ switch (order.order_direction) {
11
+ case 'OPEN_LONG':
12
+ order_way = 1;
13
+ break;
14
+ case 'CLOSE_SHORT':
15
+ order_way = 2;
16
+ break;
17
+ case 'OPEN_SHORT':
18
+ order_way = 3;
19
+ break;
20
+ case 'CLOSE_LONG':
21
+ order_way = 4;
22
+ break;
23
+ default:
24
+ throw new Error(`Unsupported order direction: ${order.order_direction}`);
25
+ }
26
+ // Determine order_type
27
+ let order_type;
28
+ switch (order.order_type) {
29
+ case 'LIMIT':
30
+ order_type = 'limit';
31
+ break;
32
+ case 'MARKET':
33
+ order_type = 'market';
34
+ break;
35
+ default:
36
+ order_type = 'limit';
37
+ }
38
+ if (order.volume < 1) {
39
+ throw newError('TURBOFLOW_MIN_ORDER_VOLUME', { volume: order.volume });
40
+ }
41
+ // Build the order request
42
+ const leverage = order.volume > 100 ? 100 : Math.floor(order.volume);
43
+ // 开仓时,保证金不得低于 1 USDC
44
+ const vol = order.order_direction.includes('OPEN') ? order.volume / leverage : undefined; // usdc 保证金数量
45
+ // 平仓时,剩余小于 1 USDC 时会自动平仓
46
+ const size = order.order_direction.includes('CLOSE') ? Math.floor(order.volume).toString() : undefined; // 头寸名义价值
47
+ const response = await submitOrderApi(credential, {
48
+ request_id: Date.now(),
49
+ pair_id,
50
+ pool_id: 2, // usdc
51
+ coin_code: '2', // usdc
52
+ order_type,
53
+ order_way,
54
+ margin_type: 2, // Default to cross margin
55
+ leverage,
56
+ vol: vol, // usdc 保证金数量
57
+ size: size, // 头寸名义价值
58
+ position_mode: 1, // Default to one-way
59
+ time_in_force: 'GTC',
60
+ fee_mode: 1,
61
+ order_mode: 1, // Normal order
62
+ price: (_a = order.price) === null || _a === void 0 ? void 0 : _a.toString(),
63
+ position_id: order.position_id,
64
+ });
65
+ if (!((_b = response.data) === null || _b === void 0 ? void 0 : _b.order))
66
+ throw newError('TURBOFLOW_SUBMIT_ORDER_FAILED', { response });
67
+ return { order_id: response.data.order.id };
68
+ };
69
+ //# sourceMappingURL=submitOrder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"submitOrder.js","sourceRoot":"","sources":["../../../src/services/orders/submitOrder.ts"],"names":[],"mappings":"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","sourcesContent":["import { IOrder } from '@yuants/data-order';\nimport { decodePath, newError, roundToStep } from '@yuants/utils';\nimport { ICredential, submitOrder as submitOrderApi } from '../../api/private-api';\n\nexport const submitOrder = async (credential: ICredential, order: IOrder): Promise<{ order_id: string }> => {\n // Parse product_id to get pair_id\n const [, _SWAP, _NAME, pair_id] = decodePath(order.product_id);\n\n // Determine order_way based on order_direction\n // 1: 开多 (Open Long), 2: 平空 (Close Short), 3: 开空 (Open Short), 4: 平多 (Close Long)\n let order_way: 1 | 2 | 3 | 4;\n switch (order.order_direction) {\n case 'OPEN_LONG':\n order_way = 1;\n break;\n case 'CLOSE_SHORT':\n order_way = 2;\n break;\n case 'OPEN_SHORT':\n order_way = 3;\n break;\n case 'CLOSE_LONG':\n order_way = 4;\n break;\n default:\n throw new Error(`Unsupported order direction: ${order.order_direction}`);\n }\n\n // Determine order_type\n let order_type: 'limit' | 'market' | 'stop_limit' | 'stop_market';\n switch (order.order_type) {\n case 'LIMIT':\n order_type = 'limit';\n break;\n case 'MARKET':\n order_type = 'market';\n break;\n default:\n order_type = 'limit';\n }\n\n if (order.volume < 1) {\n throw newError('TURBOFLOW_MIN_ORDER_VOLUME', { volume: order.volume });\n }\n\n // Build the order request\n const leverage = order.volume > 100 ? 100 : Math.floor(order.volume);\n // 开仓时,保证金不得低于 1 USDC\n const vol = order.order_direction.includes('OPEN') ? order.volume / leverage : undefined; // usdc 保证金数量\n // 平仓时,剩余小于 1 USDC 时会自动平仓\n const size = order.order_direction.includes('CLOSE') ? Math.floor(order.volume).toString() : undefined; // 头寸名义价值\n\n const response = await submitOrderApi(credential, {\n request_id: Date.now(),\n pair_id,\n pool_id: 2, // usdc\n coin_code: '2', // usdc\n order_type,\n order_way,\n margin_type: 2, // Default to cross margin\n leverage,\n vol: vol, // usdc 保证金数量\n size: size, // 头寸名义价值\n position_mode: 1, // Default to one-way\n time_in_force: 'GTC' as const,\n fee_mode: 1,\n order_mode: 1 as const, // Normal order\n price: order.price?.toString(),\n position_id: order.position_id,\n });\n\n if (!response.data?.order) throw newError('TURBOFLOW_SUBMIT_ORDER_FAILED', { response });\n\n return { order_id: response.data.order.id };\n};\n"]}
@@ -42,7 +42,7 @@ export declare const getAccountInfo: (credential: ICredential, params: void) =>
42
42
  * 获取账户资产
43
43
  */
44
44
  export declare const getAccountAssets: (credential: ICredential, params: {
45
- fill_coin_sub_info?: string | undefined;
45
+ fill_coin_sub_info?: string;
46
46
  }) => Promise<{
47
47
  errno: number;
48
48
  msg: string;
@@ -77,18 +77,18 @@ export declare const submitOrder: (credential: ICredential, params: {
77
77
  pair_id: string;
78
78
  pool_id: number;
79
79
  coin_code: string;
80
- order_type: 'limit' | 'market' | 'stop_limit' | 'stop_market';
80
+ order_type: "limit" | "market" | "stop_limit" | "stop_market";
81
81
  order_way: 1 | 2 | 3 | 4;
82
82
  margin_type: 1 | 2;
83
83
  leverage: number;
84
- vol?: number | undefined;
85
- size?: string | undefined;
84
+ vol?: number;
85
+ size?: string;
86
86
  position_mode: 1 | 2 | 3;
87
- time_in_force: 'GTC' | 'IOC' | 'FOK';
87
+ time_in_force: "GTC" | "IOC" | "FOK";
88
88
  fee_mode: 1 | 2;
89
89
  order_mode: 1 | 2;
90
- price?: string | undefined;
91
- position_id?: string | undefined;
90
+ price?: string;
91
+ position_id?: string;
92
92
  }) => Promise<{
93
93
  errno: string;
94
94
  msg: string;
@@ -109,18 +109,18 @@ export declare const submitOrder: (credential: ICredential, params: {
109
109
  */
110
110
  export declare const remendOrder: (credential: ICredential, params: {
111
111
  position_id: string;
112
- price?: string | undefined;
113
- vol?: string | undefined;
112
+ price?: string;
113
+ vol?: string;
114
114
  tp_order?: {
115
115
  order_type: string;
116
116
  close_pos: boolean;
117
117
  stop_price: string;
118
- } | undefined;
118
+ };
119
119
  sl_order?: {
120
120
  order_type: string;
121
121
  close_pos: boolean;
122
122
  stop_price: string;
123
- } | undefined;
123
+ };
124
124
  }) => Promise<{
125
125
  errno: string;
126
126
  msg: string;
@@ -146,7 +146,7 @@ export declare const cancelOrder: (credential: ICredential, params: {
146
146
  */
147
147
  export declare const quickOrder: (credential: ICredential, params: {
148
148
  position_id: string;
149
- quick_type: 'Reverse';
149
+ quick_type: "Reverse";
150
150
  }) => Promise<{
151
151
  errno: string;
152
152
  msg: string;
@@ -194,9 +194,9 @@ export declare const getOrderConfigs: (credential: ICredential, params: void) =>
194
194
  * 获取订单列表
195
195
  */
196
196
  export declare const getOrderList: (credential: ICredential, params: {
197
- page_num?: number | undefined;
198
- page_size?: number | undefined;
199
- status?: string | undefined;
197
+ page_num?: number;
198
+ page_size?: number;
199
+ status?: string;
200
200
  }) => Promise<{
201
201
  errno: string;
202
202
  msg: string;
@@ -243,8 +243,8 @@ export declare const getOrderList: (credential: ICredential, params: {
243
243
  * 获取交易列表
244
244
  */
245
245
  export declare const getTradeList: (credential: ICredential, params: {
246
- page_num?: number | undefined;
247
- page_size?: number | undefined;
246
+ page_num?: number;
247
+ page_size?: number;
248
248
  }) => Promise<{
249
249
  errno: string;
250
250
  msg: string;
@@ -300,8 +300,8 @@ export declare const getTradeList: (credential: ICredential, params: {
300
300
  * 获取交易现金列表
301
301
  */
302
302
  export declare const getCashTradeList: (credential: ICredential, params: {
303
- page_num?: number | undefined;
304
- page_size?: number | undefined;
303
+ page_num?: number;
304
+ page_size?: number;
305
305
  }) => Promise<{
306
306
  errno: string;
307
307
  msg: string;
@@ -345,9 +345,9 @@ export declare const getCashTradeList: (credential: ICredential, params: {
345
345
  * 获取持仓列表
346
346
  */
347
347
  export declare const getPositionList: (credential: ICredential, params: {
348
- status?: "Holding" | "Closed" | undefined;
349
- page_num?: number | undefined;
350
- page_size?: number | undefined;
348
+ status?: "Holding" | "Closed";
349
+ page_num?: number;
350
+ page_size?: number;
351
351
  }) => Promise<{
352
352
  errno: string;
353
353
  msg: string;
@@ -416,8 +416,8 @@ export declare const getPositionList: (credential: ICredential, params: {
416
416
  * 获取仓位历史
417
417
  */
418
418
  export declare const getPositionHistory: (credential: ICredential, params: {
419
- page_num?: number | undefined;
420
- page_size?: number | undefined;
419
+ page_num?: number;
420
+ page_size?: number;
421
421
  }) => Promise<{
422
422
  errno: string;
423
423
  msg: string;
@@ -478,8 +478,8 @@ export declare const getPairPrice: (credential: ICredential, params: {
478
478
  export declare const getKline: (credential: ICredential, params: {
479
479
  spot_token_key: string;
480
480
  granularity: string;
481
- limit?: number | undefined;
482
- end_time?: number | undefined;
481
+ limit?: number;
482
+ end_time?: number;
483
483
  }) => Promise<{
484
484
  errno: string;
485
485
  msg: string;
@@ -1 +1 @@
1
- {"version":3,"file":"private-api.d.ts","sourceRoot":"","sources":["../../src/api/private-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"private-api.d.ts","sourceRoot":"","sources":["../../src/api/private-api.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"private-api.js","sourceRoot":"","sources":["../../src/api/private-api.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n decodeBase58,\n encodeHex,\n formatTime,\n fromPrivateKey,\n HmacSHA256,\n scopeError,\n signMessageByEd25519,\n} from '@yuants/utils';\n\nexport interface ICredential {\n /**\n * ED25519 Private KEY (base58)\n */\n private_key: string;\n}\n\nconst BASE_URL = 'https://surfv2-api.surf.one';\n\nexport const privateRequest = async (\n credential: ICredential,\n method: string,\n path: string,\n params: any = {},\n) => {\n const url = new URL(BASE_URL);\n url.pathname = path;\n\n if (method === 'GET') {\n for (const [key, value] of Object.entries(params)) {\n if (value !== undefined) {\n url.searchParams.set(key, `${value}`);\n }\n }\n }\n\n const publicKey = fromPrivateKey(credential.private_key).public_key;\n const publicKeyBinary = decodeBase58(publicKey);\n const publicKeyHex = encodeHex(publicKeyBinary);\n\n const privateKeyBinary = decodeBase58(credential.private_key);\n\n const headers: Record<string, string> = {};\n\n const timestamp = Math.floor(Date.now() / 1000).toString();\n\n // 除了 host 之外的所有内容\n const _path = url.pathname + url.search;\n\n const data =\n `method=${method}&path=${_path}&timestamp=${timestamp}&access-key=${publicKeyHex}` +\n (method === 'POST' ? `&body=${JSON.stringify(params)}` : '');\n const hashData = await HmacSHA256(new TextEncoder().encode(data), publicKeyBinary);\n\n const signature = signMessageByEd25519(hashData, privateKeyBinary);\n const signatureHex = encodeHex(signature);\n\n headers['API-KEY'] = publicKeyHex;\n headers['TIMESTAMP'] = timestamp;\n headers['SIGN'] = signatureHex;\n headers['LANG'] = 'zh-cn';\n\n const body = method === 'POST' ? JSON.stringify(params) : undefined;\n const response = await fetch(url.toString(), {\n method,\n headers,\n body,\n });\n\n const text = await response.text();\n\n console.info(\n formatTime(Date.now()),\n method,\n url.toString(),\n `response = ${text}, requestBody = ${body}, headers = ${JSON.stringify(headers)}`,\n );\n\n return scopeError('TurboAPIError', { status: response.status, statusText: response.statusText, text }, () =>\n JSON.parse(text),\n );\n};\n\nexport const createPrivateApi =\n <T, K>(method: string, path: string) =>\n (credential: ICredential, params: T): Promise<K> =>\n privateRequest(credential, method, path, params);\n\n/**\n * 获取账户信息\n */\nexport const getAccountInfo = createPrivateApi<\n void,\n {\n errno: string;\n msg: string;\n data: {\n account_id: string;\n referral_code: string;\n email: string;\n sign_up_type: string;\n address: string;\n user_name: string;\n agr_state: boolean;\n new_user_guide: boolean;\n can_survey: boolean;\n is_referrer: boolean;\n rebate_agent_level: number;\n is_rebate_admin: boolean;\n is_rebate_login: boolean;\n x_related: {\n nick_name: string;\n profile_url: string;\n };\n svm_account: string;\n svm_approve_hash: string;\n svm_approve_state: boolean;\n svm_approve_stage: number;\n voucher_pro_state: boolean;\n stock_code: string;\n };\n }\n>('GET', '/account/info');\n\n/**\n * 获取账户资产\n */\nexport const getAccountAssets = createPrivateApi<\n { fill_coin_sub_info?: string },\n {\n errno: number;\n msg: string;\n data: {\n list: Array<{\n coin_address: string;\n coin_code: string;\n available_balance: string;\n freeze_balance: string;\n max_withdraw_amount: string;\n simulation_balance: string;\n un_pnl: string;\n wd_frz: string;\n internal_wd_freeze: string;\n cro_un_pnl: string;\n isol_un_pnl: string;\n isol_frz: string;\n coin_name: string;\n coin_sub_info?: {\n price: string;\n logo: string;\n };\n type: number;\n }>;\n };\n }\n>('GET', '/account/assets');\n\n/**\n * 提交订单\n */\nexport const submitOrder = createPrivateApi<\n {\n request_id: number;\n pair_id: string;\n pool_id: number;\n coin_code: string;\n order_type: 'limit' | 'market' | 'stop_limit' | 'stop_market';\n order_way: 1 | 2 | 3 | 4; // 1:开多 2:平空 3:开空 4:平多\n margin_type: 1 | 2; // 1:逐仓 2:全仓\n leverage: number;\n vol?: number; // 交易数量\n size?: string; // 交易数量\n position_mode: 1 | 2 | 3; // 1:单向 2:双向 3:原子\n time_in_force: 'GTC' | 'IOC' | 'FOK';\n fee_mode: 1 | 2; // 1:固定 2:利润分层\n order_mode: 1 | 2; // 1:普通 2:条件\n price?: string; // 限价单价格\n position_id?: string; // 平仓时需要\n },\n {\n errno: string;\n msg: string;\n data: {\n request_id: string;\n account_id: string;\n order: {\n id: string;\n pool_id: number;\n pair_id: string;\n order_type: string;\n order_status: string;\n };\n };\n }\n>('POST', '/account/order/submit');\n\n/**\n * 修改订单\n */\nexport const remendOrder = createPrivateApi<\n {\n position_id: string;\n price?: string;\n vol?: string;\n tp_order?: {\n order_type: string;\n close_pos: boolean;\n stop_price: string;\n };\n sl_order?: {\n order_type: string;\n close_pos: boolean;\n stop_price: string;\n };\n },\n {\n errno: string;\n msg: string;\n data: {\n request_id: string;\n account_id: string;\n };\n }\n>('POST', '/account/order/remend');\n\n/**\n * 取消订单\n */\nexport const cancelOrder = createPrivateApi<\n {\n pair_id: string;\n order_id: string;\n pool_id: number;\n },\n {\n errno: string;\n msg: string;\n data: any;\n }\n>('POST', '/account/order/cancel');\n\n/**\n * 快速订单 (反向)\n */\nexport const quickOrder = createPrivateApi<\n {\n position_id: string;\n quick_type: 'Reverse';\n },\n {\n errno: string;\n msg: string;\n data: any;\n }\n>('POST', '/account/order/quick');\n\n/**\n * 保证金转账\n */\nexport const transferMargin = createPrivateApi<\n {\n margin: string;\n position_id: string;\n },\n {\n errno: string;\n msg: string;\n data: any;\n }\n>('POST', '/account/order/transfer');\n\n/**\n * 模拟保证金转账\n */\nexport const simulateTransferMargin = createPrivateApi<\n {\n position_id: string;\n margin: string;\n },\n {\n errno: string;\n msg: string;\n data: {\n max_add_margin: string;\n min_remove_margin: string;\n liq_price: string;\n leverage: string;\n };\n }\n>('GET', '/account/order/transfer/simulate');\n\n/**\n * 获取交易配置\n */\nexport const getOrderConfigs = createPrivateApi<\n void,\n {\n errno: string;\n msg: string;\n data: {\n max_add_margin: string;\n min_remove_margin: string;\n };\n }\n>('GET', '/account/order/configs');\n\n/**\n * 获取订单列表\n */\nexport const getOrderList = createPrivateApi<\n {\n page_num?: number;\n page_size?: number;\n status?: string; // All, Pending, Filled, Cancelled, Rejected\n },\n {\n errno: string;\n msg: string;\n data: {\n page_size: number;\n page_num: number;\n count: number;\n page_count: number;\n data: Array<{\n id: string;\n pool_id: number;\n pair_id: string;\n coin_code: string;\n coin_name: string;\n price: string;\n size: string;\n vol: string;\n leverage: string;\n order_type: string;\n order_way: number;\n margin_type: number;\n dual_side: boolean;\n fee_mode: number;\n pos_mode: number;\n done_vol: string;\n deal_price: string;\n done_amount: string;\n done_size: string;\n done_pnl: string;\n biz_code: number;\n order_status: string;\n view_type: string;\n position_id: string;\n close_pos: boolean;\n tp_price: string;\n sl_price: string;\n stop_price: string;\n updated_at: string;\n created_at: string;\n }>;\n };\n }\n>('GET', '/account/order/list');\n\n/**\n * 获取交易列表\n */\nexport const getTradeList = createPrivateApi<\n {\n page_num?: number;\n page_size?: number;\n },\n {\n errno: string;\n msg: string;\n data: {\n page_size: number;\n page_num: number;\n count: number;\n page_count: number;\n data: Array<{\n id: string;\n pool_id: number;\n pair_id: string;\n symbol: string;\n pair_logo: string;\n coin_code: string;\n coin_name: string;\n coin_logo: string;\n account_id: string;\n leverage: string;\n fee_mode: number;\n order_way: number;\n order_mode: number;\n view_type: string;\n entry_price: string;\n maker_coin: string;\n maker_coin_name: string;\n maker_coin_logo: string;\n done_price: string;\n done_vol: string;\n done_vol_usd: string;\n done_amount: string;\n done_size: string;\n share_pnl: string;\n done_pnl: string;\n done_pnl_usd: string;\n done_fee: string;\n funding_fee: string;\n coin_price: string;\n fee_saved_usd: string;\n liq_price: string;\n created_at: string;\n margin_type: number;\n order_price: string;\n roe: string;\n x_related: {\n nick_name: string;\n profile_url: string;\n };\n }>;\n };\n }\n>('GET', '/account/trade/list');\n\n/**\n * 获取交易现金列表\n */\nexport const getCashTradeList = createPrivateApi<\n {\n page_num?: number;\n page_size?: number;\n },\n {\n errno: string;\n msg: string;\n data: {\n page_size: number;\n page_num: number;\n count: number;\n page_count: number;\n data: Array<{\n id: string;\n pool_id: number;\n pair_id: string;\n order_way: number;\n order_mode: number;\n symbol: string;\n pair_logo: string;\n share_rate: string;\n pair_profit_size: string;\n margin_type: number;\n volume: string;\n size: string;\n leverage: string;\n collateral_coin: string;\n entry_price: string;\n done_pnl: string;\n share_pnl: string;\n fee_mode: number;\n account_id: string;\n action: number;\n coin_code: string;\n coin_name: string;\n coin_logo: string;\n coin_price: string;\n amount: string;\n available_balance: string;\n created_at: string;\n }>;\n };\n }\n>('GET', '/account/trade/cash/list');\n\n/**\n * 获取持仓列表\n */\nexport const getPositionList = createPrivateApi<\n {\n status?: 'Holding' | 'Closed';\n page_num?: number;\n page_size?: number;\n },\n {\n errno: string;\n msg: string;\n data: {\n page_size: number;\n page_num: number;\n count: number;\n page_count: number;\n data?: Array<{\n id: string;\n pool_id: number;\n pair_id: string;\n symbol: string;\n pair_logo: string;\n coin_code: string;\n coin_name: string;\n coin_logo: string;\n side: number;\n hold_size: string;\n hold_av: string;\n fee_mode: number;\n margin_type: number;\n im: string;\n mm: string;\n em: string;\n dual_side: boolean;\n pos_mode: number;\n leverage: string;\n liq_price: string;\n tp_price: string;\n tp_size: string;\n sl_price: string;\n sl_size: string;\n unpnl: string;\n realize_pnl: string;\n acc_ff: string;\n status: number;\n updated_at: string;\n created_at: string;\n account_id: string;\n base_fee_rate: string;\n rate_multi: string;\n rate_exp: string;\n pos_multi: string;\n pnl_base_rate: string;\n max_order_size: string;\n max_slippage: string;\n buffer_rate: string;\n price_factor: string;\n hair_cut: string;\n cross_leverage?: string;\n cross_mm?: string;\n cross_unpnl?: string;\n cross_coin_unpnl?: string;\n cross_health?: string;\n frozen_vol?: string;\n isolated_available?: string;\n cross_available?: string;\n cross_risk_im?: string;\n cross_risk_mm?: string;\n cross_equity?: string;\n }>;\n };\n }\n>('GET', '/account/position/list');\n\n/**\n * 获取仓位历史\n */\nexport const getPositionHistory = createPrivateApi<\n {\n page_num?: number;\n page_size?: number;\n },\n {\n errno: string;\n msg: string;\n data: {\n page_size: number;\n page_num: number;\n count: number;\n page_count: number;\n data: Array<{\n id: string;\n pool_id: number;\n pair_id: string;\n symbol: string;\n pair_logo: string;\n coin_code: string;\n coin_name: string;\n coin_logo: string;\n account_id: string;\n side: number;\n fee_mode: number;\n margin_type: number;\n pos_mode: number;\n leverage: string;\n im: string;\n status: number;\n realize_pnl: string;\n realize_pnl_usd: string;\n roe: string;\n entry_price: string;\n open_max_size: string;\n exit_price: string;\n closed_size: string;\n closed_at: string;\n created_at: string;\n maker_coin: string;\n maker_coin_name: string;\n maker_coin_logo: string;\n maker_coin_pnl: string;\n }>;\n };\n }\n>('GET', '/account/position/history');\n\n/**\n * 获取交易对价格\n */\nexport const getPairPrice = createPrivateApi<\n {\n spot_token_key: string;\n },\n {\n errno: string;\n msg: string;\n data: {\n price: string;\n tm: number;\n };\n }\n>('GET', '/market/pair/price');\n\n/**\n * 获取K线数据\n */\nexport const getKline = createPrivateApi<\n {\n spot_token_key: string;\n granularity: string;\n limit?: number;\n end_time?: number;\n },\n {\n errno: string;\n msg: string;\n data: Array<{\n t: number;\n o: string;\n h: string;\n l: string;\n c: string;\n g: string;\n }>;\n }\n>('GET', '/market/kline');\n\n/**\n * 获取交易对小数配置\n */\nexport const getDecimalConfig = createPrivateApi<\n void,\n {\n errno: string;\n msg: string;\n data: Array<{\n coin_code: string;\n balance_decimal: number;\n price_decimal: number;\n coin_name: string;\n }>;\n }\n>('GET', '/market/pair/decimal/config');\n\n/**\n * 获取抵押品列表\n */\nexport const getCollateralList = createPrivateApi<\n {\n pair_id: number;\n },\n {\n errno: string;\n msg: string;\n data: Array<{\n id: number;\n pool_id: number;\n coin_code: string;\n coin_name: string;\n collateral_logo: string;\n balance: string;\n hair_cut: string;\n trade_pair_count: number;\n max_hold_volume: string;\n trader_max_hold_volume: string;\n }>;\n }\n>('GET', '/pool/collateral/list');\n\n/**\n * 获取交易配置 (Public)\n */\nexport const getTradingConfigs = createPrivateApi<\n void,\n {\n errno: string;\n msg: string;\n data: {\n liquidate_configs: any;\n isolated_configs: any;\n cross_configs: Array<{\n imr: string;\n mmr: string;\n min_size: string;\n max_size: string;\n }>;\n is_shareprofit_active: boolean;\n shareprofit_configs: {\n start_time: string;\n end_time: string;\n pair_configs: Array<{\n pair_id: number;\n threshold: string;\n default_threshold: string;\n }>;\n };\n };\n }\n>('GET', '/public/trading/configs');\n\n/**\n * 获取交易对分享费用 (Public)\n */\nexport const getPairShareFees = createPrivateApi<\n {\n pair_id: string;\n order_way: number;\n price: string;\n vol: string;\n leverage: number;\n },\n {\n errno: string;\n msg: string;\n data: {\n list: Array<{\n price: string;\n roi: string;\n unpnl: string;\n share_pnl: string;\n fee_rate: string;\n }>;\n };\n }\n>('GET', '/public/pair/share/fees');\n"]}
1
+ {"version":3,"file":"private-api.js","sourceRoot":"","sources":["../../src/api/private-api.ts"],"names":[],"mappings":";;;AAAA,yCAQuB;AASvB,MAAM,QAAQ,GAAG,6BAA6B,CAAC;AAExC,MAAM,cAAc,GAAG,KAAK,EACjC,UAAuB,EACvB,MAAc,EACd,IAAY,EACZ,SAAc,EAAE,EAChB,EAAE;IACF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9B,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;IAEpB,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,IAAA,sBAAc,EAAC,UAAU,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC;IACpE,MAAM,eAAe,GAAG,IAAA,oBAAY,EAAC,SAAS,CAAC,CAAC;IAChD,MAAM,YAAY,GAAG,IAAA,iBAAS,EAAC,eAAe,CAAC,CAAC;IAEhD,MAAM,gBAAgB,GAAG,IAAA,oBAAY,EAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAE9D,MAAM,OAAO,GAA2B,EAAE,CAAC;IAE3C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;IAE3D,kBAAkB;IAClB,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC;IAExC,MAAM,IAAI,GACR,UAAU,MAAM,SAAS,KAAK,cAAc,SAAS,eAAe,YAAY,EAAE;QAClF,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,MAAM,IAAA,kBAAU,EAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,CAAC;IAEnF,MAAM,SAAS,GAAG,IAAA,4BAAoB,EAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IACnE,MAAM,YAAY,GAAG,IAAA,iBAAS,EAAC,SAAS,CAAC,CAAC;IAE1C,OAAO,CAAC,SAAS,CAAC,GAAG,YAAY,CAAC;IAClC,OAAO,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC;IACjC,OAAO,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC;IAC/B,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;IAE1B,MAAM,IAAI,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACpE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;QAC3C,MAAM;QACN,OAAO;QACP,IAAI;KACL,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAEnC,OAAO,CAAC,IAAI,CACV,IAAA,kBAAU,EAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EACtB,MAAM,EACN,GAAG,CAAC,QAAQ,EAAE,EACd,cAAc,IAAI,mBAAmB,IAAI,eAAe,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAClF,CAAC;IAEF,OAAO,IAAA,kBAAU,EAAC,eAAe,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAC1G,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CACjB,CAAC;AACJ,CAAC,CAAC;AA9DW,QAAA,cAAc,kBA8DzB;AAEK,MAAM,gBAAgB,GAC3B,CAAO,MAAc,EAAE,IAAY,EAAE,EAAE,CACvC,CAAC,UAAuB,EAAE,MAAS,EAAc,EAAE,CACjD,IAAA,sBAAc,EAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AAHxC,QAAA,gBAAgB,oBAGwB;AAErD;;GAEG;AACU,QAAA,cAAc,GAAG,IAAA,wBAAgB,EA+B5C,KAAK,EAAE,eAAe,CAAC,CAAC;AAE1B;;GAEG;AACU,QAAA,gBAAgB,GAAG,IAAA,wBAAgB,EA4B9C,KAAK,EAAE,iBAAiB,CAAC,CAAC;AAE5B;;GAEG;AACU,QAAA,WAAW,GAAG,IAAA,wBAAgB,EAkCzC,MAAM,EAAE,uBAAuB,CAAC,CAAC;AAEnC;;GAEG;AACU,QAAA,WAAW,GAAG,IAAA,wBAAgB,EAwBzC,MAAM,EAAE,uBAAuB,CAAC,CAAC;AAEnC;;GAEG;AACU,QAAA,WAAW,GAAG,IAAA,wBAAgB,EAWzC,MAAM,EAAE,uBAAuB,CAAC,CAAC;AAEnC;;GAEG;AACU,QAAA,UAAU,GAAG,IAAA,wBAAgB,EAUxC,MAAM,EAAE,sBAAsB,CAAC,CAAC;AAElC;;GAEG;AACU,QAAA,cAAc,GAAG,IAAA,wBAAgB,EAU5C,MAAM,EAAE,yBAAyB,CAAC,CAAC;AAErC;;GAEG;AACU,QAAA,sBAAsB,GAAG,IAAA,wBAAgB,EAepD,KAAK,EAAE,kCAAkC,CAAC,CAAC;AAE7C;;GAEG;AACU,QAAA,eAAe,GAAG,IAAA,wBAAgB,EAU7C,KAAK,EAAE,wBAAwB,CAAC,CAAC;AAEnC;;GAEG;AACU,QAAA,YAAY,GAAG,IAAA,wBAAgB,EAgD1C,KAAK,EAAE,qBAAqB,CAAC,CAAC;AAEhC;;GAEG;AACU,QAAA,YAAY,GAAG,IAAA,wBAAgB,EAwD1C,KAAK,EAAE,qBAAqB,CAAC,CAAC;AAEhC;;GAEG;AACU,QAAA,gBAAgB,GAAG,IAAA,wBAAgB,EA4C9C,KAAK,EAAE,0BAA0B,CAAC,CAAC;AAErC;;GAEG;AACU,QAAA,eAAe,GAAG,IAAA,wBAAgB,EAsE7C,KAAK,EAAE,wBAAwB,CAAC,CAAC;AAEnC;;GAEG;AACU,QAAA,kBAAkB,GAAG,IAAA,wBAAgB,EA8ChD,KAAK,EAAE,2BAA2B,CAAC,CAAC;AAEtC;;GAEG;AACU,QAAA,YAAY,GAAG,IAAA,wBAAgB,EAY1C,KAAK,EAAE,oBAAoB,CAAC,CAAC;AAE/B;;GAEG;AACU,QAAA,QAAQ,GAAG,IAAA,wBAAgB,EAmBtC,KAAK,EAAE,eAAe,CAAC,CAAC;AAE1B;;GAEG;AACU,QAAA,gBAAgB,GAAG,IAAA,wBAAgB,EAY9C,KAAK,EAAE,6BAA6B,CAAC,CAAC;AAExC;;GAEG;AACU,QAAA,iBAAiB,GAAG,IAAA,wBAAgB,EAoB/C,KAAK,EAAE,uBAAuB,CAAC,CAAC;AAElC;;GAEG;AACU,QAAA,iBAAiB,GAAG,IAAA,wBAAgB,EA0B/C,KAAK,EAAE,yBAAyB,CAAC,CAAC;AAEpC;;GAEG;AACU,QAAA,gBAAgB,GAAG,IAAA,wBAAgB,EAqB9C,KAAK,EAAE,yBAAyB,CAAC,CAAC","sourcesContent":["import {\n decodeBase58,\n encodeHex,\n formatTime,\n fromPrivateKey,\n HmacSHA256,\n scopeError,\n signMessageByEd25519,\n} from '@yuants/utils';\n\nexport interface ICredential {\n /**\n * ED25519 Private KEY (base58)\n */\n private_key: string;\n}\n\nconst BASE_URL = 'https://surfv2-api.surf.one';\n\nexport const privateRequest = async (\n credential: ICredential,\n method: string,\n path: string,\n params: any = {},\n) => {\n const url = new URL(BASE_URL);\n url.pathname = path;\n\n if (method === 'GET') {\n for (const [key, value] of Object.entries(params)) {\n if (value !== undefined) {\n url.searchParams.set(key, `${value}`);\n }\n }\n }\n\n const publicKey = fromPrivateKey(credential.private_key).public_key;\n const publicKeyBinary = decodeBase58(publicKey);\n const publicKeyHex = encodeHex(publicKeyBinary);\n\n const privateKeyBinary = decodeBase58(credential.private_key);\n\n const headers: Record<string, string> = {};\n\n const timestamp = Math.floor(Date.now() / 1000).toString();\n\n // 除了 host 之外的所有内容\n const _path = url.pathname + url.search;\n\n const data =\n `method=${method}&path=${_path}&timestamp=${timestamp}&access-key=${publicKeyHex}` +\n (method === 'POST' ? `&body=${JSON.stringify(params)}` : '');\n const hashData = await HmacSHA256(new TextEncoder().encode(data), publicKeyBinary);\n\n const signature = signMessageByEd25519(hashData, privateKeyBinary);\n const signatureHex = encodeHex(signature);\n\n headers['API-KEY'] = publicKeyHex;\n headers['TIMESTAMP'] = timestamp;\n headers['SIGN'] = signatureHex;\n headers['LANG'] = 'zh-cn';\n\n const body = method === 'POST' ? JSON.stringify(params) : undefined;\n const response = await fetch(url.toString(), {\n method,\n headers,\n body,\n });\n\n const text = await response.text();\n\n console.info(\n formatTime(Date.now()),\n method,\n url.toString(),\n `response = ${text}, requestBody = ${body}, headers = ${JSON.stringify(headers)}`,\n );\n\n return scopeError('TurboAPIError', { status: response.status, statusText: response.statusText, text }, () =>\n JSON.parse(text),\n );\n};\n\nexport const createPrivateApi =\n <T, K>(method: string, path: string) =>\n (credential: ICredential, params: T): Promise<K> =>\n privateRequest(credential, method, path, params);\n\n/**\n * 获取账户信息\n */\nexport const getAccountInfo = createPrivateApi<\n void,\n {\n errno: string;\n msg: string;\n data: {\n account_id: string;\n referral_code: string;\n email: string;\n sign_up_type: string;\n address: string;\n user_name: string;\n agr_state: boolean;\n new_user_guide: boolean;\n can_survey: boolean;\n is_referrer: boolean;\n rebate_agent_level: number;\n is_rebate_admin: boolean;\n is_rebate_login: boolean;\n x_related: {\n nick_name: string;\n profile_url: string;\n };\n svm_account: string;\n svm_approve_hash: string;\n svm_approve_state: boolean;\n svm_approve_stage: number;\n voucher_pro_state: boolean;\n stock_code: string;\n };\n }\n>('GET', '/account/info');\n\n/**\n * 获取账户资产\n */\nexport const getAccountAssets = createPrivateApi<\n { fill_coin_sub_info?: string },\n {\n errno: number;\n msg: string;\n data: {\n list: Array<{\n coin_address: string;\n coin_code: string;\n available_balance: string;\n freeze_balance: string;\n max_withdraw_amount: string;\n simulation_balance: string;\n un_pnl: string;\n wd_frz: string;\n internal_wd_freeze: string;\n cro_un_pnl: string;\n isol_un_pnl: string;\n isol_frz: string;\n coin_name: string;\n coin_sub_info?: {\n price: string;\n logo: string;\n };\n type: number;\n }>;\n };\n }\n>('GET', '/account/assets');\n\n/**\n * 提交订单\n */\nexport const submitOrder = createPrivateApi<\n {\n request_id: number;\n pair_id: string;\n pool_id: number;\n coin_code: string;\n order_type: 'limit' | 'market' | 'stop_limit' | 'stop_market';\n order_way: 1 | 2 | 3 | 4; // 1:开多 2:平空 3:开空 4:平多\n margin_type: 1 | 2; // 1:逐仓 2:全仓\n leverage: number;\n vol?: number; // 交易数量\n size?: string; // 交易数量\n position_mode: 1 | 2 | 3; // 1:单向 2:双向 3:原子\n time_in_force: 'GTC' | 'IOC' | 'FOK';\n fee_mode: 1 | 2; // 1:固定 2:利润分层\n order_mode: 1 | 2; // 1:普通 2:条件\n price?: string; // 限价单价格\n position_id?: string; // 平仓时需要\n },\n {\n errno: string;\n msg: string;\n data: {\n request_id: string;\n account_id: string;\n order: {\n id: string;\n pool_id: number;\n pair_id: string;\n order_type: string;\n order_status: string;\n };\n };\n }\n>('POST', '/account/order/submit');\n\n/**\n * 修改订单\n */\nexport const remendOrder = createPrivateApi<\n {\n position_id: string;\n price?: string;\n vol?: string;\n tp_order?: {\n order_type: string;\n close_pos: boolean;\n stop_price: string;\n };\n sl_order?: {\n order_type: string;\n close_pos: boolean;\n stop_price: string;\n };\n },\n {\n errno: string;\n msg: string;\n data: {\n request_id: string;\n account_id: string;\n };\n }\n>('POST', '/account/order/remend');\n\n/**\n * 取消订单\n */\nexport const cancelOrder = createPrivateApi<\n {\n pair_id: string;\n order_id: string;\n pool_id: number;\n },\n {\n errno: string;\n msg: string;\n data: any;\n }\n>('POST', '/account/order/cancel');\n\n/**\n * 快速订单 (反向)\n */\nexport const quickOrder = createPrivateApi<\n {\n position_id: string;\n quick_type: 'Reverse';\n },\n {\n errno: string;\n msg: string;\n data: any;\n }\n>('POST', '/account/order/quick');\n\n/**\n * 保证金转账\n */\nexport const transferMargin = createPrivateApi<\n {\n margin: string;\n position_id: string;\n },\n {\n errno: string;\n msg: string;\n data: any;\n }\n>('POST', '/account/order/transfer');\n\n/**\n * 模拟保证金转账\n */\nexport const simulateTransferMargin = createPrivateApi<\n {\n position_id: string;\n margin: string;\n },\n {\n errno: string;\n msg: string;\n data: {\n max_add_margin: string;\n min_remove_margin: string;\n liq_price: string;\n leverage: string;\n };\n }\n>('GET', '/account/order/transfer/simulate');\n\n/**\n * 获取交易配置\n */\nexport const getOrderConfigs = createPrivateApi<\n void,\n {\n errno: string;\n msg: string;\n data: {\n max_add_margin: string;\n min_remove_margin: string;\n };\n }\n>('GET', '/account/order/configs');\n\n/**\n * 获取订单列表\n */\nexport const getOrderList = createPrivateApi<\n {\n page_num?: number;\n page_size?: number;\n status?: string; // All, Pending, Filled, Cancelled, Rejected\n },\n {\n errno: string;\n msg: string;\n data: {\n page_size: number;\n page_num: number;\n count: number;\n page_count: number;\n data: Array<{\n id: string;\n pool_id: number;\n pair_id: string;\n coin_code: string;\n coin_name: string;\n price: string;\n size: string;\n vol: string;\n leverage: string;\n order_type: string;\n order_way: number;\n margin_type: number;\n dual_side: boolean;\n fee_mode: number;\n pos_mode: number;\n done_vol: string;\n deal_price: string;\n done_amount: string;\n done_size: string;\n done_pnl: string;\n biz_code: number;\n order_status: string;\n view_type: string;\n position_id: string;\n close_pos: boolean;\n tp_price: string;\n sl_price: string;\n stop_price: string;\n updated_at: string;\n created_at: string;\n }>;\n };\n }\n>('GET', '/account/order/list');\n\n/**\n * 获取交易列表\n */\nexport const getTradeList = createPrivateApi<\n {\n page_num?: number;\n page_size?: number;\n },\n {\n errno: string;\n msg: string;\n data: {\n page_size: number;\n page_num: number;\n count: number;\n page_count: number;\n data: Array<{\n id: string;\n pool_id: number;\n pair_id: string;\n symbol: string;\n pair_logo: string;\n coin_code: string;\n coin_name: string;\n coin_logo: string;\n account_id: string;\n leverage: string;\n fee_mode: number;\n order_way: number;\n order_mode: number;\n view_type: string;\n entry_price: string;\n maker_coin: string;\n maker_coin_name: string;\n maker_coin_logo: string;\n done_price: string;\n done_vol: string;\n done_vol_usd: string;\n done_amount: string;\n done_size: string;\n share_pnl: string;\n done_pnl: string;\n done_pnl_usd: string;\n done_fee: string;\n funding_fee: string;\n coin_price: string;\n fee_saved_usd: string;\n liq_price: string;\n created_at: string;\n margin_type: number;\n order_price: string;\n roe: string;\n x_related: {\n nick_name: string;\n profile_url: string;\n };\n }>;\n };\n }\n>('GET', '/account/trade/list');\n\n/**\n * 获取交易现金列表\n */\nexport const getCashTradeList = createPrivateApi<\n {\n page_num?: number;\n page_size?: number;\n },\n {\n errno: string;\n msg: string;\n data: {\n page_size: number;\n page_num: number;\n count: number;\n page_count: number;\n data: Array<{\n id: string;\n pool_id: number;\n pair_id: string;\n order_way: number;\n order_mode: number;\n symbol: string;\n pair_logo: string;\n share_rate: string;\n pair_profit_size: string;\n margin_type: number;\n volume: string;\n size: string;\n leverage: string;\n collateral_coin: string;\n entry_price: string;\n done_pnl: string;\n share_pnl: string;\n fee_mode: number;\n account_id: string;\n action: number;\n coin_code: string;\n coin_name: string;\n coin_logo: string;\n coin_price: string;\n amount: string;\n available_balance: string;\n created_at: string;\n }>;\n };\n }\n>('GET', '/account/trade/cash/list');\n\n/**\n * 获取持仓列表\n */\nexport const getPositionList = createPrivateApi<\n {\n status?: 'Holding' | 'Closed';\n page_num?: number;\n page_size?: number;\n },\n {\n errno: string;\n msg: string;\n data: {\n page_size: number;\n page_num: number;\n count: number;\n page_count: number;\n data?: Array<{\n id: string;\n pool_id: number;\n pair_id: string;\n symbol: string;\n pair_logo: string;\n coin_code: string;\n coin_name: string;\n coin_logo: string;\n side: number;\n hold_size: string;\n hold_av: string;\n fee_mode: number;\n margin_type: number;\n im: string;\n mm: string;\n em: string;\n dual_side: boolean;\n pos_mode: number;\n leverage: string;\n liq_price: string;\n tp_price: string;\n tp_size: string;\n sl_price: string;\n sl_size: string;\n unpnl: string;\n realize_pnl: string;\n acc_ff: string;\n status: number;\n updated_at: string;\n created_at: string;\n account_id: string;\n base_fee_rate: string;\n rate_multi: string;\n rate_exp: string;\n pos_multi: string;\n pnl_base_rate: string;\n max_order_size: string;\n max_slippage: string;\n buffer_rate: string;\n price_factor: string;\n hair_cut: string;\n cross_leverage?: string;\n cross_mm?: string;\n cross_unpnl?: string;\n cross_coin_unpnl?: string;\n cross_health?: string;\n frozen_vol?: string;\n isolated_available?: string;\n cross_available?: string;\n cross_risk_im?: string;\n cross_risk_mm?: string;\n cross_equity?: string;\n }>;\n };\n }\n>('GET', '/account/position/list');\n\n/**\n * 获取仓位历史\n */\nexport const getPositionHistory = createPrivateApi<\n {\n page_num?: number;\n page_size?: number;\n },\n {\n errno: string;\n msg: string;\n data: {\n page_size: number;\n page_num: number;\n count: number;\n page_count: number;\n data: Array<{\n id: string;\n pool_id: number;\n pair_id: string;\n symbol: string;\n pair_logo: string;\n coin_code: string;\n coin_name: string;\n coin_logo: string;\n account_id: string;\n side: number;\n fee_mode: number;\n margin_type: number;\n pos_mode: number;\n leverage: string;\n im: string;\n status: number;\n realize_pnl: string;\n realize_pnl_usd: string;\n roe: string;\n entry_price: string;\n open_max_size: string;\n exit_price: string;\n closed_size: string;\n closed_at: string;\n created_at: string;\n maker_coin: string;\n maker_coin_name: string;\n maker_coin_logo: string;\n maker_coin_pnl: string;\n }>;\n };\n }\n>('GET', '/account/position/history');\n\n/**\n * 获取交易对价格\n */\nexport const getPairPrice = createPrivateApi<\n {\n spot_token_key: string;\n },\n {\n errno: string;\n msg: string;\n data: {\n price: string;\n tm: number;\n };\n }\n>('GET', '/market/pair/price');\n\n/**\n * 获取K线数据\n */\nexport const getKline = createPrivateApi<\n {\n spot_token_key: string;\n granularity: string;\n limit?: number;\n end_time?: number;\n },\n {\n errno: string;\n msg: string;\n data: Array<{\n t: number;\n o: string;\n h: string;\n l: string;\n c: string;\n g: string;\n }>;\n }\n>('GET', '/market/kline');\n\n/**\n * 获取交易对小数配置\n */\nexport const getDecimalConfig = createPrivateApi<\n void,\n {\n errno: string;\n msg: string;\n data: Array<{\n coin_code: string;\n balance_decimal: number;\n price_decimal: number;\n coin_name: string;\n }>;\n }\n>('GET', '/market/pair/decimal/config');\n\n/**\n * 获取抵押品列表\n */\nexport const getCollateralList = createPrivateApi<\n {\n pair_id: number;\n },\n {\n errno: string;\n msg: string;\n data: Array<{\n id: number;\n pool_id: number;\n coin_code: string;\n coin_name: string;\n collateral_logo: string;\n balance: string;\n hair_cut: string;\n trade_pair_count: number;\n max_hold_volume: string;\n trader_max_hold_volume: string;\n }>;\n }\n>('GET', '/pool/collateral/list');\n\n/**\n * 获取交易配置 (Public)\n */\nexport const getTradingConfigs = createPrivateApi<\n void,\n {\n errno: string;\n msg: string;\n data: {\n liquidate_configs: any;\n isolated_configs: any;\n cross_configs: Array<{\n imr: string;\n mmr: string;\n min_size: string;\n max_size: string;\n }>;\n is_shareprofit_active: boolean;\n shareprofit_configs: {\n start_time: string;\n end_time: string;\n pair_configs: Array<{\n pair_id: number;\n threshold: string;\n default_threshold: string;\n }>;\n };\n };\n }\n>('GET', '/public/trading/configs');\n\n/**\n * 获取交易对分享费用 (Public)\n */\nexport const getPairShareFees = createPrivateApi<\n {\n pair_id: string;\n order_way: number;\n price: string;\n vol: string;\n leverage: number;\n },\n {\n errno: string;\n msg: string;\n data: {\n list: Array<{\n price: string;\n roi: string;\n unpnl: string;\n share_pnl: string;\n fee_rate: string;\n }>;\n };\n }\n>('GET', '/public/pair/share/fees');\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../../src/api/public-api.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAID,eAAO,MAAM,aAAa,WAAkB,MAAM,QAAQ,MAAM,WAAU,GAAG,iBAsB5E,CAAC;AAEF,eAAO,MAAM,eAAe,iBACX,MAAM,QAAQ,MAAM,8BAEE,CAAC;AAExC;;GAEG;AACH,eAAO,MAAM,eAAe;WAGjB,MAAM;SACR,MAAM;UACL;QACJ,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;QACxB,eAAe,EAAE,MAAM,CAAC;QACxB,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,CAAC,EAAE,MAAM,CAAC;QACV,YAAY,EAAE,MAAM,CAAC;QACrB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,oBAAoB,EAAE,MAAM,CAAC;QAC7B,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,EAAE,CAAC;KACvB,EAAE;EAEoB,CAAC"}
1
+ {"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../../src/api/public-api.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAID,eAAO,MAAM,aAAa,GAAU,QAAQ,MAAM,EAAE,MAAM,MAAM,EAAE,SAAQ,GAAQ,iBAsBjF,CAAC;AAEF,eAAO,MAAM,eAAe,GACzB,CAAC,EAAE,CAAC,EAAE,QAAQ,MAAM,EAAE,MAAM,MAAM,MAClC,QAAQ,CAAC,KAAG,OAAO,CAAC,CAAC,CACe,CAAC;AAExC;;GAEG;AACH,eAAO,MAAM,eAAe;WAGjB,MAAM;SACR,MAAM;UACL;QACJ,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;QACxB,eAAe,EAAE,MAAM,CAAC;QACxB,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,CAAC,EAAE,MAAM,CAAC;QACV,YAAY,EAAE,MAAM,CAAC;QACrB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,oBAAoB,EAAE,MAAM,CAAC;QAC7B,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,EAAE,CAAC;KACvB,EAAE;EAEoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"public-api.js","sourceRoot":"","sources":["../../src/api/public-api.ts"],"names":[],"mappings":";;;AAAA,yCAA2G;AAS3G,MAAM,QAAQ,GAAG,6BAA6B,CAAC;AAExC,MAAM,aAAa,GAAG,KAAK,EAAE,MAAc,EAAE,IAAY,EAAE,SAAc,EAAE,EAAE,EAAE;IACpF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9B,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;IAEpB,IAAI,MAAM,KAAK,KAAK,EAAE;QACpB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACjD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;SACvC;KACF;IAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;QAC3C,MAAM;QACN,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;KAC7D,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAEnC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;IAEnC,OAAO,IAAA,kBAAU,EAAC,eAAe,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAC1G,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CACjB,CAAC;AACJ,CAAC,CAAC;AAtBW,QAAA,aAAa,iBAsBxB;AAEK,MAAM,eAAe,GAC1B,CAAO,MAAc,EAAE,IAAY,EAAE,EAAE,CACvC,CAAC,MAAS,EAAc,EAAE,CACxB,IAAA,qBAAa,EAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AAH3B,QAAA,eAAe,mBAGY;AAExC;;GAEG;AACU,QAAA,eAAe,GAAG,IAAA,uBAAe,EAqB5C,KAAK,EAAE,iBAAiB,CAAC,CAAC","sourcesContent":["import { decodeBase58, fromPrivateKey, HmacSHA256, scopeError, signMessageByEd25519 } from '@yuants/utils';\n\nexport interface ICredential {\n /**\n * ED25519 Private KEY (base58)\n */\n private_key: string;\n}\n\nconst BASE_URL = 'https://surfv2-api.surf.one';\n\nexport const publicRequest = async (method: string, path: string, params: any = {}) => {\n const url = new URL(BASE_URL);\n url.pathname = path;\n\n if (method === 'GET') {\n for (const [key, value] of Object.entries(params)) {\n url.searchParams.set(key, `${value}`);\n }\n }\n\n const response = await fetch(url.toString(), {\n method,\n body: method === 'POST' ? JSON.stringify(params) : undefined,\n });\n\n const text = await response.text();\n\n console.info(url.toString(), text);\n\n return scopeError('TurboAPIError', { status: response.status, statusText: response.statusText, text }, () =>\n JSON.parse(text),\n );\n};\n\nexport const createPublicApi =\n <T, K>(method: string, path: string) =>\n (params: T): Promise<K> =>\n publicRequest(method, path, params);\n\n/**\n * 获取账户信息\n */\nexport const getPoolPairList = createPublicApi<\n void,\n {\n errno: string;\n msg: string;\n data: {\n pair_id: string;\n base_token: string;\n quote_token: string;\n base_token_logo: string;\n base_token_name: string;\n volume_24h: string;\n price: string;\n c: string;\n max_leverage: number;\n avg_order_book_fee: string;\n funding_fee_interval: number;\n created_at: string;\n tag_id_list: number[];\n }[];\n }\n>('GET', '/pool/pair/list');\n"]}
1
+ {"version":3,"file":"public-api.js","sourceRoot":"","sources":["../../src/api/public-api.ts"],"names":[],"mappings":";;;AAAA,yCAA2G;AAS3G,MAAM,QAAQ,GAAG,6BAA6B,CAAC;AAExC,MAAM,aAAa,GAAG,KAAK,EAAE,MAAc,EAAE,IAAY,EAAE,SAAc,EAAE,EAAE,EAAE;IACpF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9B,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;IAEpB,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;QAC3C,MAAM;QACN,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;KAC7D,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAEnC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;IAEnC,OAAO,IAAA,kBAAU,EAAC,eAAe,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAC1G,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CACjB,CAAC;AACJ,CAAC,CAAC;AAtBW,QAAA,aAAa,iBAsBxB;AAEK,MAAM,eAAe,GAC1B,CAAO,MAAc,EAAE,IAAY,EAAE,EAAE,CACvC,CAAC,MAAS,EAAc,EAAE,CACxB,IAAA,qBAAa,EAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AAH3B,QAAA,eAAe,mBAGY;AAExC;;GAEG;AACU,QAAA,eAAe,GAAG,IAAA,uBAAe,EAqB5C,KAAK,EAAE,iBAAiB,CAAC,CAAC","sourcesContent":["import { decodeBase58, fromPrivateKey, HmacSHA256, scopeError, signMessageByEd25519 } from '@yuants/utils';\n\nexport interface ICredential {\n /**\n * ED25519 Private KEY (base58)\n */\n private_key: string;\n}\n\nconst BASE_URL = 'https://surfv2-api.surf.one';\n\nexport const publicRequest = async (method: string, path: string, params: any = {}) => {\n const url = new URL(BASE_URL);\n url.pathname = path;\n\n if (method === 'GET') {\n for (const [key, value] of Object.entries(params)) {\n url.searchParams.set(key, `${value}`);\n }\n }\n\n const response = await fetch(url.toString(), {\n method,\n body: method === 'POST' ? JSON.stringify(params) : undefined,\n });\n\n const text = await response.text();\n\n console.info(url.toString(), text);\n\n return scopeError('TurboAPIError', { status: response.status, statusText: response.statusText, text }, () =>\n JSON.parse(text),\n );\n};\n\nexport const createPublicApi =\n <T, K>(method: string, path: string) =>\n (params: T): Promise<K> =>\n publicRequest(method, path, params);\n\n/**\n * 获取账户信息\n */\nexport const getPoolPairList = createPublicApi<\n void,\n {\n errno: string;\n msg: string;\n data: {\n pair_id: string;\n base_token: string;\n quote_token: string;\n base_token_logo: string;\n base_token_name: string;\n volume_24h: string;\n price: string;\n c: string;\n max_leverage: number;\n avg_order_book_fee: string;\n funding_fee_interval: number;\n created_at: string;\n tag_id_list: number[];\n }[];\n }\n>('GET', '/pool/pair/list');\n"]}
@@ -72,7 +72,7 @@ const terminal = protocol_1.Terminal.fromNodeEnv();
72
72
  product_id: (0, utils_1.encodePath)('TURBOFLOW', 'PERP', position.symbol, position.pair_id),
73
73
  direction: side,
74
74
  volume: holdSize,
75
- free_volume: holdSize,
75
+ free_volume: holdSize, // Assuming all volume is free
76
76
  position_price: holdAv,
77
77
  closable_price: holdAv,
78
78
  floating_profit: unpnl,
@@ -1 +1 @@
1
- {"version":3,"file":"exchange.js","sourceRoot":"","sources":["../../src/services/exchange.ts"],"names":[],"mappings":"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","sourcesContent":["import { IPosition, makeSpotPosition } from '@yuants/data-account';\nimport { IOrder } from '@yuants/data-order';\nimport { provideExchangeServices } from '@yuants/exchange';\nimport { Terminal } from '@yuants/protocol';\nimport { getAccountAssets, getAccountInfo, getPositionList, ICredential } from '../api/private-api';\nimport { encodePath } from '@yuants/utils';\nimport { submitOrder } from './orders/submitOrder';\nimport { modifyOrder } from './orders/modifyOrder';\nimport { cancelOrderAction } from './orders/cancelOrder';\nimport { listOrders } from './orders/listOrders';\nimport { getPoolPairList } from '../api/public-api';\nimport { IProduct } from '@yuants/data-product';\n\nconst terminal = Terminal.fromNodeEnv();\n\nprovideExchangeServices<ICredential>(terminal, {\n name: 'TURBOFLOW',\n credentialSchema: {\n type: 'object',\n required: ['private_key'],\n properties: {\n private_key: {\n type: 'string',\n description: 'ED25519 Private Key (base58 encoded)',\n },\n },\n },\n getCredentialId: async function (credential): Promise<string> {\n const accountInfo = await getAccountInfo(credential);\n\n return encodePath('TURBOFLOW', accountInfo.data.account_id);\n },\n listProducts: async () => {\n const data = await getPoolPairList();\n return data.data.map(\n (pair): IProduct => ({\n datasource_id: 'TURBOFLOW',\n product_id: encodePath('TURBOFLOW', 'PERP', pair.base_token, pair.pair_id),\n name: `${pair.base_token}-${pair.quote_token}`,\n quote_currency: pair.quote_token,\n base_currency: pair.base_token,\n price_step: 1e-15,\n volume_step: 1e-15,\n value_scale: 1,\n value_scale_unit: '',\n margin_rate: 1 / pair.max_leverage,\n value_based_cost: 0,\n volume_based_cost: 0,\n max_position: 0,\n max_volume: 0,\n allow_long: true,\n allow_short: true,\n }),\n );\n },\n getPositions: async function (credential) {\n const assetsResponse = await getAccountAssets(credential, {\n fill_coin_sub_info: '1',\n });\n\n const assetPositions = assetsResponse.data.list.map((x) =>\n makeSpotPosition({\n position_id: x.coin_code,\n product_id: encodePath('SPOT', x.coin_name),\n volume: parseFloat(x.available_balance),\n free_volume: parseFloat(x.available_balance),\n closable_price: 1,\n }),\n );\n\n const positionsResponse = await getPositionList(credential, { status: 'Holding' });\n\n const positions: IPosition[] = (positionsResponse.data.data || []).map((position) => {\n const side = position.side === 1 ? 'LONG' : 'SHORT';\n const holdSize = parseFloat(position.hold_size);\n const holdAv = parseFloat(position.hold_av);\n const unpnl = parseFloat(position.unpnl);\n const im = parseFloat(position.im);\n\n return {\n position_id: position.id,\n datasource_id: 'TURBOFLOW',\n product_id: encodePath('TURBOFLOW', 'PERP', position.symbol, position.pair_id),\n direction: side,\n volume: holdSize,\n free_volume: holdSize, // Assuming all volume is free\n position_price: holdAv,\n closable_price: holdAv,\n floating_profit: unpnl,\n valuation: holdSize * holdAv,\n margin: im,\n };\n });\n\n return [...assetPositions, ...positions];\n },\n getOrders: listOrders,\n getPositionsByProductId: function (credential: ICredential, product_id: string): Promise<IPosition[]> {\n throw new Error('Function not implemented.');\n },\n getOrdersByProductId: function (credential: ICredential, product_id: string): Promise<IOrder[]> {\n throw new Error('Function not implemented.');\n },\n submitOrder: submitOrder,\n modifyOrder: modifyOrder,\n cancelOrder: cancelOrderAction,\n});\n"]}
1
+ {"version":3,"file":"exchange.js","sourceRoot":"","sources":["../../src/services/exchange.ts"],"names":[],"mappings":"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","sourcesContent":["import { IPosition, makeSpotPosition } from '@yuants/data-account';\nimport { IOrder } from '@yuants/data-order';\nimport { provideExchangeServices } from '@yuants/exchange';\nimport { Terminal } from '@yuants/protocol';\nimport { getAccountAssets, getAccountInfo, getPositionList, ICredential } from '../api/private-api';\nimport { encodePath } from '@yuants/utils';\nimport { submitOrder } from './orders/submitOrder';\nimport { modifyOrder } from './orders/modifyOrder';\nimport { cancelOrderAction } from './orders/cancelOrder';\nimport { listOrders } from './orders/listOrders';\nimport { getPoolPairList } from '../api/public-api';\nimport { IProduct } from '@yuants/data-product';\n\nconst terminal = Terminal.fromNodeEnv();\n\nprovideExchangeServices<ICredential>(terminal, {\n name: 'TURBOFLOW',\n credentialSchema: {\n type: 'object',\n required: ['private_key'],\n properties: {\n private_key: {\n type: 'string',\n description: 'ED25519 Private Key (base58 encoded)',\n },\n },\n },\n getCredentialId: async function (credential): Promise<string> {\n const accountInfo = await getAccountInfo(credential);\n\n return encodePath('TURBOFLOW', accountInfo.data.account_id);\n },\n listProducts: async () => {\n const data = await getPoolPairList();\n return data.data.map(\n (pair): IProduct => ({\n datasource_id: 'TURBOFLOW',\n product_id: encodePath('TURBOFLOW', 'PERP', pair.base_token, pair.pair_id),\n name: `${pair.base_token}-${pair.quote_token}`,\n quote_currency: pair.quote_token,\n base_currency: pair.base_token,\n price_step: 1e-15,\n volume_step: 1e-15,\n value_scale: 1,\n value_scale_unit: '',\n margin_rate: 1 / pair.max_leverage,\n value_based_cost: 0,\n volume_based_cost: 0,\n max_position: 0,\n max_volume: 0,\n allow_long: true,\n allow_short: true,\n }),\n );\n },\n getPositions: async function (credential) {\n const assetsResponse = await getAccountAssets(credential, {\n fill_coin_sub_info: '1',\n });\n\n const assetPositions = assetsResponse.data.list.map((x) =>\n makeSpotPosition({\n position_id: x.coin_code,\n product_id: encodePath('SPOT', x.coin_name),\n volume: parseFloat(x.available_balance),\n free_volume: parseFloat(x.available_balance),\n closable_price: 1,\n }),\n );\n\n const positionsResponse = await getPositionList(credential, { status: 'Holding' });\n\n const positions: IPosition[] = (positionsResponse.data.data || []).map((position) => {\n const side = position.side === 1 ? 'LONG' : 'SHORT';\n const holdSize = parseFloat(position.hold_size);\n const holdAv = parseFloat(position.hold_av);\n const unpnl = parseFloat(position.unpnl);\n const im = parseFloat(position.im);\n\n return {\n position_id: position.id,\n datasource_id: 'TURBOFLOW',\n product_id: encodePath('TURBOFLOW', 'PERP', position.symbol, position.pair_id),\n direction: side,\n volume: holdSize,\n free_volume: holdSize, // Assuming all volume is free\n position_price: holdAv,\n closable_price: holdAv,\n floating_profit: unpnl,\n valuation: holdSize * holdAv,\n margin: im,\n };\n });\n\n return [...assetPositions, ...positions];\n },\n getOrders: listOrders,\n getPositionsByProductId: function (credential: ICredential, product_id: string): Promise<IPosition[]> {\n throw new Error('Function not implemented.');\n },\n getOrdersByProductId: function (credential: ICredential, product_id: string): Promise<IOrder[]> {\n throw new Error('Function not implemented.');\n },\n submitOrder: submitOrder,\n modifyOrder: modifyOrder,\n cancelOrder: cancelOrderAction,\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"cancelOrder.d.ts","sourceRoot":"","sources":["../../../src/services/orders/cancelOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAiC,MAAM,uBAAuB,CAAC;AAEnF,eAAO,MAAM,iBAAiB,eAAsB,WAAW,SAAS,MAAM,KAAG,QAAQ,IAAI,CA+B5F,CAAC"}
1
+ {"version":3,"file":"cancelOrder.d.ts","sourceRoot":"","sources":["../../../src/services/orders/cancelOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAiC,MAAM,uBAAuB,CAAC;AAEnF,eAAO,MAAM,iBAAiB,GAAU,YAAY,WAAW,EAAE,OAAO,MAAM,KAAG,OAAO,CAAC,IAAI,CA+B5F,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"cancelOrder.js","sourceRoot":"","sources":["../../../src/services/orders/cancelOrder.ts"],"names":[],"mappings":";;;AACA,yCAA2C;AAC3C,uDAAmF;AAE5E,MAAM,iBAAiB,GAAG,KAAK,EAAE,UAAuB,EAAE,KAAa,EAAiB,EAAE;IAC/F,OAAO,CAAC,IAAI,CAAC,IAAI,IAAA,kBAAU,EAAC,IAAI,CAAC,GAAG,EAAE,CAAC,sBAAsB,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAE/E,kCAAkC;IAClC,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEtD,4BAA4B;IAC5B,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,KAAK,CAAC,OAAO,EAAE;QACjB,IAAI;YACF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACzC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;SAC/B;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,IAAI,CAAC,IAAI,IAAA,kBAAU,EAAC,IAAI,CAAC,GAAG,EAAE,CAAC,kCAAkC,EAAE,CAAC,CAAC,CAAC;SAC/E;KACF;IAED,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;QACnB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;KAC9D;IAED,MAAM,QAAQ,GAAG,MAAM,IAAA,yBAAc,EAAC,UAAU,EAAE;QAChD,OAAO;QACP,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,OAAO;KACR,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,KAAK,KAAK,KAAK,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;KAC5D;AACH,CAAC,CAAC;AA/BW,QAAA,iBAAiB,qBA+B5B","sourcesContent":["import { IOrder } from '@yuants/data-order';\nimport { formatTime } from '@yuants/utils';\nimport { ICredential, cancelOrder as cancelOrderApi } from '../../api/private-api';\n\nexport const cancelOrderAction = async (credential: ICredential, order: IOrder): Promise<void> => {\n console.info(`[${formatTime(Date.now())}] Cancelling order ${order.order_id}`);\n\n // Parse product_id to get pair_id\n const productParts = order.product_id.split('/');\n const pair_id = productParts[productParts.length - 1];\n\n // Parse comment for pool_id\n let pool_id = 1;\n if (order.comment) {\n try {\n const params = JSON.parse(order.comment);\n pool_id = params.pool_id || 1;\n } catch (e) {\n console.warn(`[${formatTime(Date.now())}] Failed to parse order comment:`, e);\n }\n }\n\n if (!order.order_id) {\n throw new Error('order_id is required for cancelling order');\n }\n\n const response = await cancelOrderApi(credential, {\n pair_id,\n order_id: order.order_id,\n pool_id,\n });\n\n if (response.errno !== '200') {\n throw new Error(`Failed to cancel order: ${response.msg}`);\n }\n};\n"]}
1
+ {"version":3,"file":"cancelOrder.js","sourceRoot":"","sources":["../../../src/services/orders/cancelOrder.ts"],"names":[],"mappings":";;;AACA,yCAA2C;AAC3C,uDAAmF;AAE5E,MAAM,iBAAiB,GAAG,KAAK,EAAE,UAAuB,EAAE,KAAa,EAAiB,EAAE;IAC/F,OAAO,CAAC,IAAI,CAAC,IAAI,IAAA,kBAAU,EAAC,IAAI,CAAC,GAAG,EAAE,CAAC,sBAAsB,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAE/E,kCAAkC;IAClC,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEtD,4BAA4B;IAC5B,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACzC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,IAAI,IAAA,kBAAU,EAAC,IAAI,CAAC,GAAG,EAAE,CAAC,kCAAkC,EAAE,CAAC,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,IAAA,yBAAc,EAAC,UAAU,EAAE;QAChD,OAAO;QACP,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,OAAO;KACR,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC,CAAC;AA/BW,QAAA,iBAAiB,qBA+B5B","sourcesContent":["import { IOrder } from '@yuants/data-order';\nimport { formatTime } from '@yuants/utils';\nimport { ICredential, cancelOrder as cancelOrderApi } from '../../api/private-api';\n\nexport const cancelOrderAction = async (credential: ICredential, order: IOrder): Promise<void> => {\n console.info(`[${formatTime(Date.now())}] Cancelling order ${order.order_id}`);\n\n // Parse product_id to get pair_id\n const productParts = order.product_id.split('/');\n const pair_id = productParts[productParts.length - 1];\n\n // Parse comment for pool_id\n let pool_id = 1;\n if (order.comment) {\n try {\n const params = JSON.parse(order.comment);\n pool_id = params.pool_id || 1;\n } catch (e) {\n console.warn(`[${formatTime(Date.now())}] Failed to parse order comment:`, e);\n }\n }\n\n if (!order.order_id) {\n throw new Error('order_id is required for cancelling order');\n }\n\n const response = await cancelOrderApi(credential, {\n pair_id,\n order_id: order.order_id,\n pool_id,\n });\n\n if (response.errno !== '200') {\n throw new Error(`Failed to cancel order: ${response.msg}`);\n }\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"listOrders.d.ts","sourceRoot":"","sources":["../../../src/services/orders/listOrders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAgB,MAAM,uBAAuB,CAAC;AAqDlE;;GAEG;AACH,eAAO,MAAM,UAAU,eAAsB,WAAW,KAAG,QAAQ,MAAM,EAAE,CAQ1E,CAAC"}
1
+ {"version":3,"file":"listOrders.d.ts","sourceRoot":"","sources":["../../../src/services/orders/listOrders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAgB,MAAM,uBAAuB,CAAC;AAqDlE;;GAEG;AACH,eAAO,MAAM,UAAU,GAAU,YAAY,WAAW,KAAG,OAAO,CAAC,MAAM,EAAE,CAQ1E,CAAC"}
@@ -29,7 +29,7 @@ const mapOrder = (order) => {
29
29
  const price = parseFloat(order.price) || 0;
30
30
  return {
31
31
  order_id: order.id,
32
- account_id: '',
32
+ account_id: '', // Will be filled in listOrders
33
33
  product_id: (0, utils_1.encodePath)('PERPETUAL', order.pair_id),
34
34
  order_type: order.order_type.toUpperCase(),
35
35
  order_direction: mapOrderDirection(order.order_way),
@@ -1 +1 @@
1
- {"version":3,"file":"listOrders.js","sourceRoot":"","sources":["../../../src/services/orders/listOrders.ts"],"names":[],"mappings":";;;AACA,yCAA2C;AAC3C,uDAAkE;AAIlE;;;GAGG;AACH,MAAM,iBAAiB,GAAG,CAAC,SAAiB,EAAkB,EAAE;IAC9D,QAAQ,SAAS,EAAE;QACjB,KAAK,CAAC;YACJ,OAAO,WAAW,CAAC;QACrB,KAAK,CAAC;YACJ,OAAO,aAAa,CAAC;QACvB,KAAK,CAAC;YACJ,OAAO,YAAY,CAAC;QACtB,KAAK,CAAC;YACJ,OAAO,YAAY,CAAC;QACtB;YACE,OAAO,WAAW,CAAC;KACtB;AACH,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,QAAQ,GAAG,CAAC,KAAU,EAAU,EAAE;IACtC,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAE3C,OAAO;QACL,QAAQ,EAAE,KAAK,CAAC,EAAE;QAClB,UAAU,EAAE,EAAE;QACd,UAAU,EAAE,IAAA,kBAAU,EAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC;QAClD,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,EAAS;QACjD,eAAe,EAAE,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC;QACnD,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC5C,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;QAC9D,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE;QAC/C,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE;QAC9C,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,WAAW,EAAE,KAAK,CAAC,WAAW;SAC/B,CAAC;KACH,CAAC;AACJ,CAAC,CAAC;AAEF;;GAEG;AACI,MAAM,UAAU,GAAG,KAAK,EAAE,UAAuB,EAAqB,EAAE;;IAC7E,MAAM,QAAQ,GAAG,MAAM,IAAA,0BAAY,EAAC,UAAU,EAAE;QAC9C,QAAQ,EAAE,CAAC;QACX,SAAS,EAAE,GAAG;QACd,MAAM,EAAE,SAAS;KAClB,CAAC,CAAC;IAEH,OAAO,CAAA,MAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,0CAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAI,EAAE,CAAC;AACnE,CAAC,CAAC;AARW,QAAA,UAAU,cAQrB","sourcesContent":["import { IOrder } from '@yuants/data-order';\nimport { encodePath } from '@yuants/utils';\nimport { ICredential, getOrderList } from '../../api/private-api';\n\ntype OrderDirection = 'OPEN_LONG' | 'OPEN_SHORT' | 'CLOSE_LONG' | 'CLOSE_SHORT';\n\n/**\n * Map TurboFlow order_way to order direction\n * 1: 开多 (Open Long), 2: 平空 (Close Short), 3: 开空 (Open Short), 4: 平多 (Close Long)\n */\nconst mapOrderDirection = (order_way: number): OrderDirection => {\n switch (order_way) {\n case 1:\n return 'OPEN_LONG';\n case 2:\n return 'CLOSE_SHORT';\n case 3:\n return 'OPEN_SHORT';\n case 4:\n return 'CLOSE_LONG';\n default:\n return 'OPEN_LONG';\n }\n};\n\n/**\n * Map TurboFlow order to Yuan IOrder format\n */\nconst mapOrder = (order: any): IOrder => {\n const volume = parseFloat(order.size) || 0;\n const price = parseFloat(order.price) || 0;\n\n return {\n order_id: order.id,\n account_id: '', // Will be filled in listOrders\n product_id: encodePath('PERPETUAL', order.pair_id),\n order_type: order.order_type.toUpperCase() as any,\n order_direction: mapOrderDirection(order.order_way),\n volume: Number.isFinite(volume) ? volume : 0,\n price: Number.isFinite(price) && price > 0 ? price : undefined,\n submit_at: new Date(order.created_at).getTime(),\n order_status: order.order_status.toLowerCase(),\n comment: JSON.stringify({\n pool_id: order.pool_id,\n pair_id: order.pair_id,\n coin_code: order.coin_code,\n leverage: order.leverage,\n margin_type: order.margin_type,\n fee_mode: order.fee_mode,\n pos_mode: order.pos_mode,\n position_id: order.position_id,\n }),\n };\n};\n\n/**\n * List orders implementation\n */\nexport const listOrders = async (credential: ICredential): Promise<IOrder[]> => {\n const response = await getOrderList(credential, {\n page_num: 1,\n page_size: 100,\n status: 'Pending',\n });\n\n return response.data.data?.map((order) => mapOrder(order)) || [];\n};\n"]}
1
+ {"version":3,"file":"listOrders.js","sourceRoot":"","sources":["../../../src/services/orders/listOrders.ts"],"names":[],"mappings":";;;AACA,yCAA2C;AAC3C,uDAAkE;AAIlE;;;GAGG;AACH,MAAM,iBAAiB,GAAG,CAAC,SAAiB,EAAkB,EAAE;IAC9D,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,CAAC;YACJ,OAAO,WAAW,CAAC;QACrB,KAAK,CAAC;YACJ,OAAO,aAAa,CAAC;QACvB,KAAK,CAAC;YACJ,OAAO,YAAY,CAAC;QACtB,KAAK,CAAC;YACJ,OAAO,YAAY,CAAC;QACtB;YACE,OAAO,WAAW,CAAC;IACvB,CAAC;AACH,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,QAAQ,GAAG,CAAC,KAAU,EAAU,EAAE;IACtC,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAE3C,OAAO;QACL,QAAQ,EAAE,KAAK,CAAC,EAAE;QAClB,UAAU,EAAE,EAAE,EAAE,+BAA+B;QAC/C,UAAU,EAAE,IAAA,kBAAU,EAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC;QAClD,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,EAAS;QACjD,eAAe,EAAE,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC;QACnD,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC5C,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;QAC9D,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE;QAC/C,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE;QAC9C,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,WAAW,EAAE,KAAK,CAAC,WAAW;SAC/B,CAAC;KACH,CAAC;AACJ,CAAC,CAAC;AAEF;;GAEG;AACI,MAAM,UAAU,GAAG,KAAK,EAAE,UAAuB,EAAqB,EAAE;;IAC7E,MAAM,QAAQ,GAAG,MAAM,IAAA,0BAAY,EAAC,UAAU,EAAE;QAC9C,QAAQ,EAAE,CAAC;QACX,SAAS,EAAE,GAAG;QACd,MAAM,EAAE,SAAS;KAClB,CAAC,CAAC;IAEH,OAAO,CAAA,MAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,0CAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAI,EAAE,CAAC;AACnE,CAAC,CAAC;AARW,QAAA,UAAU,cAQrB","sourcesContent":["import { IOrder } from '@yuants/data-order';\nimport { encodePath } from '@yuants/utils';\nimport { ICredential, getOrderList } from '../../api/private-api';\n\ntype OrderDirection = 'OPEN_LONG' | 'OPEN_SHORT' | 'CLOSE_LONG' | 'CLOSE_SHORT';\n\n/**\n * Map TurboFlow order_way to order direction\n * 1: 开多 (Open Long), 2: 平空 (Close Short), 3: 开空 (Open Short), 4: 平多 (Close Long)\n */\nconst mapOrderDirection = (order_way: number): OrderDirection => {\n switch (order_way) {\n case 1:\n return 'OPEN_LONG';\n case 2:\n return 'CLOSE_SHORT';\n case 3:\n return 'OPEN_SHORT';\n case 4:\n return 'CLOSE_LONG';\n default:\n return 'OPEN_LONG';\n }\n};\n\n/**\n * Map TurboFlow order to Yuan IOrder format\n */\nconst mapOrder = (order: any): IOrder => {\n const volume = parseFloat(order.size) || 0;\n const price = parseFloat(order.price) || 0;\n\n return {\n order_id: order.id,\n account_id: '', // Will be filled in listOrders\n product_id: encodePath('PERPETUAL', order.pair_id),\n order_type: order.order_type.toUpperCase() as any,\n order_direction: mapOrderDirection(order.order_way),\n volume: Number.isFinite(volume) ? volume : 0,\n price: Number.isFinite(price) && price > 0 ? price : undefined,\n submit_at: new Date(order.created_at).getTime(),\n order_status: order.order_status.toLowerCase(),\n comment: JSON.stringify({\n pool_id: order.pool_id,\n pair_id: order.pair_id,\n coin_code: order.coin_code,\n leverage: order.leverage,\n margin_type: order.margin_type,\n fee_mode: order.fee_mode,\n pos_mode: order.pos_mode,\n position_id: order.position_id,\n }),\n };\n};\n\n/**\n * List orders implementation\n */\nexport const listOrders = async (credential: ICredential): Promise<IOrder[]> => {\n const response = await getOrderList(credential, {\n page_num: 1,\n page_size: 100,\n status: 'Pending',\n });\n\n return response.data.data?.map((order) => mapOrder(order)) || [];\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"modifyOrder.d.ts","sourceRoot":"","sources":["../../../src/services/orders/modifyOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAe,MAAM,uBAAuB,CAAC;AAEjE,eAAO,MAAM,WAAW,eAAsB,WAAW,SAAS,MAAM,KAAG,QAAQ,IAAI,CAyCtF,CAAC"}
1
+ {"version":3,"file":"modifyOrder.d.ts","sourceRoot":"","sources":["../../../src/services/orders/modifyOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAe,MAAM,uBAAuB,CAAC;AAEjE,eAAO,MAAM,WAAW,GAAU,YAAY,WAAW,EAAE,OAAO,MAAM,KAAG,OAAO,CAAC,IAAI,CAyCtF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"modifyOrder.js","sourceRoot":"","sources":["../../../src/services/orders/modifyOrder.ts"],"names":[],"mappings":";;;AACA,yCAA2C;AAC3C,uDAAiE;AAE1D,MAAM,WAAW,GAAG,KAAK,EAAE,UAAuB,EAAE,KAAa,EAAiB,EAAE;;IACzF,OAAO,CAAC,IAAI,CAAC,IAAI,IAAA,kBAAU,EAAC,IAAI,CAAC,GAAG,EAAE,CAAC,qBAAqB,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAE9E,IAAI;QACF,qDAAqD;QACrD,IAAI,WAA+B,CAAC;QACpC,IAAI,QAAa,CAAC;QAClB,IAAI,QAAa,CAAC;QAElB,IAAI,KAAK,CAAC,OAAO,EAAE;YACjB,IAAI;gBACF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACzC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;gBACjC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;gBAC3B,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;aAC5B;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,IAAI,CAAC,IAAI,IAAA,kBAAU,EAAC,IAAI,CAAC,GAAG,EAAE,CAAC,kCAAkC,EAAE,CAAC,CAAC,CAAC;aAC/E;SACF;QAED,IAAI,CAAC,WAAW,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;SAChE;QAED,MAAM,QAAQ,GAAG,MAAM,IAAA,yBAAW,EAAC,UAAU,EAAE;YAC7C,WAAW;YACX,KAAK,EAAE,MAAA,KAAK,CAAC,KAAK,0CAAE,QAAQ,EAAE;YAC9B,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE;YAC5B,QAAQ;YACR,QAAQ;SACT,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,KAAK,KAAK,GAAG,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;SAC5D;QAED,OAAO,CAAC,IAAI,CAAC,IAAI,IAAA,kBAAU,EAAC,IAAI,CAAC,GAAG,EAAE,CAAC,+BAA+B,CAAC,CAAC;KACzE;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,KAAK,CAAC,IAAI,IAAA,kBAAU,EAAC,IAAI,CAAC,GAAG,EAAE,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;QAC3E,MAAM,KAAK,CAAC;KACb;AACH,CAAC,CAAC;AAzCW,QAAA,WAAW,eAyCtB","sourcesContent":["import { IOrder } from '@yuants/data-order';\nimport { formatTime } from '@yuants/utils';\nimport { ICredential, remendOrder } from '../../api/private-api';\n\nexport const modifyOrder = async (credential: ICredential, order: IOrder): Promise<void> => {\n console.info(`[${formatTime(Date.now())}] Modifying order ${order.order_id}`);\n\n try {\n // Parse comment for position_id and other parameters\n let position_id: string | undefined;\n let tp_order: any;\n let sl_order: any;\n\n if (order.comment) {\n try {\n const params = JSON.parse(order.comment);\n position_id = params.position_id;\n tp_order = params.tp_order;\n sl_order = params.sl_order;\n } catch (e) {\n console.warn(`[${formatTime(Date.now())}] Failed to parse order comment:`, e);\n }\n }\n\n if (!position_id) {\n throw new Error('position_id is required for modifying order');\n }\n\n const response = await remendOrder(credential, {\n position_id,\n price: order.price?.toString(),\n vol: order.volume.toString(),\n tp_order,\n sl_order,\n });\n\n if (response.errno !== '0') {\n throw new Error(`Failed to modify order: ${response.msg}`);\n }\n\n console.info(`[${formatTime(Date.now())}] Order modified successfully`);\n } catch (error) {\n console.error(`[${formatTime(Date.now())}] Error modifying order:`, error);\n throw error;\n }\n};\n"]}
1
+ {"version":3,"file":"modifyOrder.js","sourceRoot":"","sources":["../../../src/services/orders/modifyOrder.ts"],"names":[],"mappings":";;;AACA,yCAA2C;AAC3C,uDAAiE;AAE1D,MAAM,WAAW,GAAG,KAAK,EAAE,UAAuB,EAAE,KAAa,EAAiB,EAAE;;IACzF,OAAO,CAAC,IAAI,CAAC,IAAI,IAAA,kBAAU,EAAC,IAAI,CAAC,GAAG,EAAE,CAAC,qBAAqB,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAE9E,IAAI,CAAC;QACH,qDAAqD;QACrD,IAAI,WAA+B,CAAC;QACpC,IAAI,QAAa,CAAC;QAClB,IAAI,QAAa,CAAC;QAElB,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACzC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;gBACjC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;gBAC3B,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YAC7B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,IAAI,CAAC,IAAI,IAAA,kBAAU,EAAC,IAAI,CAAC,GAAG,EAAE,CAAC,kCAAkC,EAAE,CAAC,CAAC,CAAC;YAChF,CAAC;QACH,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAA,yBAAW,EAAC,UAAU,EAAE;YAC7C,WAAW;YACX,KAAK,EAAE,MAAA,KAAK,CAAC,KAAK,0CAAE,QAAQ,EAAE;YAC9B,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE;YAC5B,QAAQ;YACR,QAAQ;SACT,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,IAAI,IAAA,kBAAU,EAAC,IAAI,CAAC,GAAG,EAAE,CAAC,+BAA+B,CAAC,CAAC;IAC1E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,IAAI,IAAA,kBAAU,EAAC,IAAI,CAAC,GAAG,EAAE,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;QAC3E,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAzCW,QAAA,WAAW,eAyCtB","sourcesContent":["import { IOrder } from '@yuants/data-order';\nimport { formatTime } from '@yuants/utils';\nimport { ICredential, remendOrder } from '../../api/private-api';\n\nexport const modifyOrder = async (credential: ICredential, order: IOrder): Promise<void> => {\n console.info(`[${formatTime(Date.now())}] Modifying order ${order.order_id}`);\n\n try {\n // Parse comment for position_id and other parameters\n let position_id: string | undefined;\n let tp_order: any;\n let sl_order: any;\n\n if (order.comment) {\n try {\n const params = JSON.parse(order.comment);\n position_id = params.position_id;\n tp_order = params.tp_order;\n sl_order = params.sl_order;\n } catch (e) {\n console.warn(`[${formatTime(Date.now())}] Failed to parse order comment:`, e);\n }\n }\n\n if (!position_id) {\n throw new Error('position_id is required for modifying order');\n }\n\n const response = await remendOrder(credential, {\n position_id,\n price: order.price?.toString(),\n vol: order.volume.toString(),\n tp_order,\n sl_order,\n });\n\n if (response.errno !== '0') {\n throw new Error(`Failed to modify order: ${response.msg}`);\n }\n\n console.info(`[${formatTime(Date.now())}] Order modified successfully`);\n } catch (error) {\n console.error(`[${formatTime(Date.now())}] Error modifying order:`, error);\n throw error;\n }\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"submitOrder.d.ts","sourceRoot":"","sources":["../../../src/services/orders/submitOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAiC,MAAM,uBAAuB,CAAC;AAEnF,eAAO,MAAM,WAAW,eAAsB,WAAW,SAAS,MAAM,KAAG,QAAQ;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAsEtG,CAAC"}
1
+ {"version":3,"file":"submitOrder.d.ts","sourceRoot":"","sources":["../../../src/services/orders/submitOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAiC,MAAM,uBAAuB,CAAC;AAEnF,eAAO,MAAM,WAAW,GAAU,YAAY,WAAW,EAAE,OAAO,MAAM,KAAG,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAsEtG,CAAC"}