@yuants/vendor-turboflow 1.1.1 → 1.2.1

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 (56) hide show
  1. package/.rush/temp/chunked-rush-logs/vendor-turboflow.build.chunks.jsonl +5 -5
  2. package/.rush/temp/operation/build/all.log +5 -5
  3. package/.rush/temp/operation/build/log-chunks.jsonl +5 -5
  4. package/.rush/temp/operation/build/state.json +1 -1
  5. package/.rush/temp/shrinkwrap-deps.json +1 -1
  6. package/CHANGELOG.json +34 -0
  7. package/CHANGELOG.md +15 -1
  8. package/README.md +134 -0
  9. package/lib/api/private-api.d.ts +3 -3
  10. package/lib/api/private-api.d.ts.map +1 -1
  11. package/lib/api/private-api.js +14 -16
  12. package/lib/api/private-api.js.map +1 -1
  13. package/lib/api/public-api.d.ts +31 -0
  14. package/lib/api/public-api.d.ts.map +1 -0
  15. package/lib/api/public-api.js +29 -0
  16. package/lib/api/public-api.js.map +1 -0
  17. package/lib/index.d.ts +1 -0
  18. package/lib/index.d.ts.map +1 -1
  19. package/lib/index.js +2 -0
  20. package/lib/index.js.map +1 -1
  21. package/lib/services/exchange.d.ts +2 -0
  22. package/lib/services/exchange.d.ts.map +1 -0
  23. package/lib/services/exchange.js +96 -0
  24. package/lib/services/exchange.js.map +1 -0
  25. package/lib/services/order-actions-with-credential.d.ts +2 -0
  26. package/lib/services/order-actions-with-credential.d.ts.map +1 -0
  27. package/lib/services/order-actions-with-credential.js +25 -0
  28. package/lib/services/order-actions-with-credential.js.map +1 -0
  29. package/lib/services/orders/cancelOrder.d.ts +4 -0
  30. package/lib/services/orders/cancelOrder.d.ts.map +1 -0
  31. package/lib/services/orders/cancelOrder.js +35 -0
  32. package/lib/services/orders/cancelOrder.js.map +1 -0
  33. package/lib/services/orders/listOrders.d.ts +7 -0
  34. package/lib/services/orders/listOrders.d.ts.map +1 -0
  35. package/lib/services/orders/listOrders.js +64 -0
  36. package/lib/services/orders/listOrders.js.map +1 -0
  37. package/lib/services/orders/modifyOrder.d.ts +4 -0
  38. package/lib/services/orders/modifyOrder.d.ts.map +1 -0
  39. package/lib/services/orders/modifyOrder.js +46 -0
  40. package/lib/services/orders/modifyOrder.js.map +1 -0
  41. package/lib/services/orders/submitOrder.d.ts +6 -0
  42. package/lib/services/orders/submitOrder.d.ts.map +1 -0
  43. package/lib/services/orders/submitOrder.js +63 -0
  44. package/lib/services/orders/submitOrder.js.map +1 -0
  45. package/package.json +5 -1
  46. package/rush-logs/vendor-turboflow.build.log +5 -5
  47. package/src/api/private-api.ts +28 -20
  48. package/src/api/public-api.ts +65 -0
  49. package/src/index.ts +1 -0
  50. package/src/services/exchange.ts +107 -0
  51. package/src/services/order-actions-with-credential.ts +30 -0
  52. package/src/services/orders/cancelOrder.ts +36 -0
  53. package/src/services/orders/listOrders.ts +67 -0
  54. package/src/services/orders/modifyOrder.ts +46 -0
  55. package/src/services/orders/submitOrder.ts +64 -0
  56. package/temp/package-deps.json +18 -6
@@ -9,15 +9,15 @@
9
9
  {"kind":"O","text":" ---- Pre-compile finished (0ms) ---- \n"}
10
10
  {"kind":"O","text":" ---- Compile started ---- \n"}
11
11
  {"kind":"O","text":"[typescript] Using TypeScript version 4.7.4\n"}
12
- {"kind":"O","text":" ---- Compile finished (3754ms) ---- \n"}
12
+ {"kind":"O","text":" ---- Compile finished (4541ms) ---- \n"}
13
13
  {"kind":"O","text":" ---- Bundle started ---- \n"}
14
- {"kind":"O","text":" ---- Bundle finished (1ms) ---- \n"}
14
+ {"kind":"O","text":" ---- Bundle finished (4ms) ---- \n"}
15
15
  {"kind":"O","text":" ---- Post-build started ---- \n"}
16
16
  {"kind":"O","text":" ---- Post-build finished (0ms) ---- \n"}
17
17
  {"kind":"O","text":" ---- Test started ---- \n"}
18
18
  {"kind":"O","text":" ---- Test finished (3ms) ---- \n"}
19
- {"kind":"O","text":"-------------------- Finished (4.113s) --------------------\n"}
20
- {"kind":"O","text":"Project: @yuants/vendor-turboflow@1.1.1\n"}
19
+ {"kind":"O","text":"-------------------- Finished (4.945s) --------------------\n"}
20
+ {"kind":"O","text":"Project: @yuants/vendor-turboflow@1.2.1\n"}
21
21
  {"kind":"O","text":"Heft version: 0.47.11\n"}
22
22
  {"kind":"O","text":"Node version: v22.14.0\n"}
23
- {"kind":"O","text":"2025-11-25T07:11:30.054Z no Dockerfile found, skip building docker image\n"}
23
+ {"kind":"O","text":"2025-11-26T13:18:18.308Z no Dockerfile found, skip building docker image\n"}
@@ -9,15 +9,15 @@ Starting test
9
9
  ---- Pre-compile finished (0ms) ----
10
10
  ---- Compile started ----
11
11
  [typescript] Using TypeScript version 4.7.4
12
- ---- Compile finished (3754ms) ----
12
+ ---- Compile finished (4541ms) ----
13
13
  ---- Bundle started ----
14
- ---- Bundle finished (1ms) ----
14
+ ---- Bundle finished (4ms) ----
15
15
  ---- Post-build started ----
16
16
  ---- Post-build finished (0ms) ----
17
17
  ---- Test started ----
18
18
  ---- Test finished (3ms) ----
19
- -------------------- Finished (4.113s) --------------------
20
- Project: @yuants/vendor-turboflow@1.1.1
19
+ -------------------- Finished (4.945s) --------------------
20
+ Project: @yuants/vendor-turboflow@1.2.1
21
21
  Heft version: 0.47.11
22
22
  Node version: v22.14.0
23
- 2025-11-25T07:11:30.054Z no Dockerfile found, skip building docker image
23
+ 2025-11-26T13:18:18.308Z no Dockerfile found, skip building docker image
@@ -9,15 +9,15 @@
9
9
  {"kind":"O","text":" ---- Pre-compile finished (0ms) ---- \n"}
10
10
  {"kind":"O","text":" ---- Compile started ---- \n"}
11
11
  {"kind":"O","text":"[typescript] Using TypeScript version 4.7.4\n"}
12
- {"kind":"O","text":" ---- Compile finished (3754ms) ---- \n"}
12
+ {"kind":"O","text":" ---- Compile finished (4541ms) ---- \n"}
13
13
  {"kind":"O","text":" ---- Bundle started ---- \n"}
14
- {"kind":"O","text":" ---- Bundle finished (1ms) ---- \n"}
14
+ {"kind":"O","text":" ---- Bundle finished (4ms) ---- \n"}
15
15
  {"kind":"O","text":" ---- Post-build started ---- \n"}
16
16
  {"kind":"O","text":" ---- Post-build finished (0ms) ---- \n"}
17
17
  {"kind":"O","text":" ---- Test started ---- \n"}
18
18
  {"kind":"O","text":" ---- Test finished (3ms) ---- \n"}
19
- {"kind":"O","text":"-------------------- Finished (4.113s) --------------------\n"}
20
- {"kind":"O","text":"Project: @yuants/vendor-turboflow@1.1.1\n"}
19
+ {"kind":"O","text":"-------------------- Finished (4.945s) --------------------\n"}
20
+ {"kind":"O","text":"Project: @yuants/vendor-turboflow@1.2.1\n"}
21
21
  {"kind":"O","text":"Heft version: 0.47.11\n"}
22
22
  {"kind":"O","text":"Node version: v22.14.0\n"}
23
- {"kind":"O","text":"2025-11-25T07:11:30.054Z no Dockerfile found, skip building docker image\n"}
23
+ {"kind":"O","text":"2025-11-26T13:18:18.308Z no Dockerfile found, skip building docker image\n"}
@@ -1,3 +1,3 @@
1
1
  {
2
- "nonCachedDurationMs": 5800.311637999999
2
+ "nonCachedDurationMs": 7288.786372999999
3
3
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "../../apps/vendor-turboflow": "../../apps/vendor-turboflow:UYuzw3mo4rSRWj24oWOgT4CO7jNqFTv20Aq/dbsgW9Q=:",
2
+ "../../apps/vendor-turboflow": "../../apps/vendor-turboflow:Q9PGB1AqpmUzP0fA1OmFKeLvdb/c2o20WmqqPYW2rKw=:",
3
3
  "/@aashutoshrathi/word-wrap/1.2.6": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==",
4
4
  "/@ampproject/remapping/2.2.1": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==",
5
5
  "/@babel/code-frame/7.22.13": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==",
package/CHANGELOG.json CHANGED
@@ -1,6 +1,40 @@
1
1
  {
2
2
  "name": "@yuants/vendor-turboflow",
3
3
  "entries": [
4
+ {
5
+ "version": "1.2.1",
6
+ "tag": "@yuants/vendor-turboflow_v1.2.1",
7
+ "date": "Wed, 26 Nov 2025 13:16:51 GMT",
8
+ "comments": {
9
+ "patch": [
10
+ {
11
+ "comment": "fix"
12
+ }
13
+ ],
14
+ "none": [
15
+ {
16
+ "comment": "Bump Version"
17
+ }
18
+ ]
19
+ }
20
+ },
21
+ {
22
+ "version": "1.2.0",
23
+ "tag": "@yuants/vendor-turboflow_v1.2.0",
24
+ "date": "Tue, 25 Nov 2025 11:53:28 GMT",
25
+ "comments": {
26
+ "minor": [
27
+ {
28
+ "comment": "fix account actions"
29
+ }
30
+ ],
31
+ "none": [
32
+ {
33
+ "comment": "Bump Version"
34
+ }
35
+ ]
36
+ }
37
+ },
4
38
  {
5
39
  "version": "1.1.1",
6
40
  "tag": "@yuants/vendor-turboflow_v1.1.1",
package/CHANGELOG.md CHANGED
@@ -1,6 +1,20 @@
1
1
  # Change Log - @yuants/vendor-turboflow
2
2
 
3
- This log was last generated on Tue, 25 Nov 2025 07:08:44 GMT and should not be manually modified.
3
+ This log was last generated on Wed, 26 Nov 2025 13:16:51 GMT and should not be manually modified.
4
+
5
+ ## 1.2.1
6
+ Wed, 26 Nov 2025 13:16:51 GMT
7
+
8
+ ### Patches
9
+
10
+ - fix
11
+
12
+ ## 1.2.0
13
+ Tue, 25 Nov 2025 11:53:28 GMT
14
+
15
+ ### Minor changes
16
+
17
+ - fix account actions
4
18
 
5
19
  ## 1.1.1
6
20
  Tue, 25 Nov 2025 07:08:44 GMT
package/README.md ADDED
@@ -0,0 +1,134 @@
1
+ # @yuants/vendor-turboflow
2
+
3
+ TurboFlow DEX vendor integration for Yuan trading system.
4
+
5
+ ## Overview
6
+
7
+ This package provides integration with TurboFlow DEX, implementing both account and order management services with credential-based authentication.
8
+
9
+ ## Features
10
+
11
+ - **Account Actions**: List accounts and retrieve account information including positions
12
+ - **Order Actions**: Submit, cancel, modify, and list orders
13
+ - **Credential-based Authentication**: Uses ED25519 private key for secure API access
14
+
15
+ ## Credentials
16
+
17
+ The TurboFlow vendor requires the following credential:
18
+
19
+ ```json
20
+ {
21
+ "private_key": "base58-encoded-ed25519-private-key"
22
+ }
23
+ ```
24
+
25
+ ## Account Actions
26
+
27
+ ### List Accounts
28
+
29
+ Lists all accounts associated with the credential.
30
+
31
+ **Returns**: Array of account objects with `account_id` in the format `turboflow/{account_id}`
32
+
33
+ ### Get Account Info
34
+
35
+ Retrieves detailed account information including:
36
+
37
+ - Asset balances
38
+ - Open positions with:
39
+ - Position ID
40
+ - Product ID (PERPETUAL market)
41
+ - Direction (LONG/SHORT)
42
+ - Volume and free volume
43
+ - Position price and closable price
44
+ - Floating profit
45
+ - Valuation and margin
46
+ - Additional metadata (pool_id, leverage, margin_type, etc.)
47
+
48
+ ## Order Actions
49
+
50
+ ### Submit Order
51
+
52
+ Submits a new order to TurboFlow.
53
+
54
+ **Parameters**:
55
+
56
+ - `order`: IOrder object containing:
57
+ - `product_id`: Product identifier
58
+ - `order_type`: LIMIT or MARKET
59
+ - `order_direction`: OPEN_LONG, CLOSE_SHORT, OPEN_SHORT, or CLOSE_LONG
60
+ - `volume`: Order size
61
+ - `price`: Order price (for limit orders)
62
+ - `comment`: JSON string with additional parameters (pool_id, coin_code, leverage, etc.)
63
+
64
+ **Returns**: Object with `order_id`
65
+
66
+ ### Cancel Order
67
+
68
+ Cancels an existing order.
69
+
70
+ **Parameters**:
71
+
72
+ - `order`: IOrder object with `order_id` and `product_id`
73
+
74
+ ### Modify Order
75
+
76
+ Modifies an existing order (position-based).
77
+
78
+ **Parameters**:
79
+
80
+ - `order`: IOrder object with:
81
+ - `order_id`
82
+ - `price`: New price
83
+ - `volume`: New volume
84
+ - `comment`: JSON string with `position_id` and optional `tp_order`/`sl_order`
85
+
86
+ ### List Orders
87
+
88
+ Lists all pending orders for an account.
89
+
90
+ **Returns**: Array of IOrder objects
91
+
92
+ ## Order Direction Mapping
93
+
94
+ TurboFlow uses numeric order_way values:
95
+
96
+ - `1`: Open Long (开多)
97
+ - `2`: Close Short (平空)
98
+ - `3`: Open Short (开空)
99
+ - `4`: Close Long (平多)
100
+
101
+ ## Usage
102
+
103
+ The vendor is automatically registered when the package is imported:
104
+
105
+ ```typescript
106
+ import '@yuants/vendor-turboflow';
107
+ ```
108
+
109
+ The services will be available through the Yuan terminal with datasource ID `TURBOFLOW`.
110
+
111
+ ## API Documentation
112
+
113
+ For detailed API documentation, refer to `TurboFlow_API_Key_认证接口文档.txt` in the `src/api` directory.
114
+
115
+ ## Development
116
+
117
+ ### Build
118
+
119
+ ```bash
120
+ rushx build
121
+ ```
122
+
123
+ ### Run
124
+
125
+ ```bash
126
+ rushx dev
127
+ ```
128
+
129
+ ## Dependencies
130
+
131
+ - `@yuants/data-account`: Account data management
132
+ - `@yuants/data-order`: Order data management
133
+ - `@yuants/protocol`: Yuan protocol definitions
134
+ - `@yuants/utils`: Utility functions including ED25519 signing
@@ -4,7 +4,7 @@ export interface ICredential {
4
4
  */
5
5
  private_key: string;
6
6
  }
7
- export declare const privateRequest: (credential: ICredential, method: string, path: string, params: any) => Promise<any>;
7
+ export declare const privateRequest: (credential: ICredential, method: string, path: string, params?: any) => Promise<any>;
8
8
  export declare const createPrivateApi: <T, K>(method: string, path: string) => (credential: ICredential, params: T) => Promise<K>;
9
9
  /**
10
10
  * 获取账户信息
@@ -81,7 +81,7 @@ export declare const submitOrder: (credential: ICredential, params: {
81
81
  order_way: 1 | 2 | 3 | 4;
82
82
  margin_type: 1 | 2;
83
83
  leverage: number;
84
- size: string;
84
+ vol: number;
85
85
  position_mode: 1 | 2 | 3;
86
86
  time_in_force: 'GTC' | 'IOC' | 'FOK';
87
87
  fee_mode: 1 | 2;
@@ -355,7 +355,7 @@ export declare const getPositionList: (credential: ICredential, params: {
355
355
  page_num: number;
356
356
  count: number;
357
357
  page_count: number;
358
- data: Array<{
358
+ data?: Array<{
359
359
  id: string;
360
360
  pool_id: number;
361
361
  pair_id: 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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"}
@@ -3,16 +3,24 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getPairShareFees = exports.getTradingConfigs = exports.getCollateralList = exports.getDecimalConfig = exports.getKline = exports.getPairPrice = exports.getPositionHistory = exports.getPositionList = exports.getCashTradeList = exports.getTradeList = exports.getOrderList = exports.getOrderConfigs = exports.simulateTransferMargin = exports.transferMargin = exports.quickOrder = exports.cancelOrder = exports.remendOrder = exports.submitOrder = exports.getAccountAssets = exports.getAccountInfo = exports.createPrivateApi = exports.privateRequest = void 0;
4
4
  const utils_1 = require("@yuants/utils");
5
5
  const BASE_URL = 'https://surfv2-api.surf.one';
6
- const privateRequest = async (credential, method, path, params) => {
6
+ const privateRequest = async (credential, method, path, params = {}) => {
7
7
  const url = new URL(BASE_URL);
8
8
  url.pathname = path;
9
+ if (method === 'GET') {
10
+ for (const [key, value] of Object.entries(params)) {
11
+ url.searchParams.set(key, `${value}`);
12
+ }
13
+ }
9
14
  const publicKey = (0, utils_1.fromPrivateKey)(credential.private_key).public_key;
10
15
  const publicKeyBinary = (0, utils_1.decodeBase58)(publicKey);
11
16
  const publicKeyHex = Buffer.from(publicKeyBinary).toString('hex');
12
17
  const privateKeyBinary = (0, utils_1.decodeBase58)(credential.private_key);
13
18
  const headers = {};
14
19
  const timestamp = Math.floor(Date.now() / 1000).toString();
15
- const data = `method=${method}&path=${path}&timestamp=${timestamp}&access-key=${publicKeyHex}`;
20
+ // 除了 host 之外的所有内容
21
+ const _path = url.pathname + url.search;
22
+ const data = `method=${method}&path=${_path}&timestamp=${timestamp}&access-key=${publicKeyHex}` +
23
+ (method === 'POST' ? `&body=${JSON.stringify(params)}` : '');
16
24
  const hashData = await (0, utils_1.HmacSHA256)(new TextEncoder().encode(data), publicKeyBinary);
17
25
  const signature = (0, utils_1.signMessageByEd25519)(hashData, privateKeyBinary);
18
26
  const signatureHex = Buffer.from(signature).toString('hex');
@@ -20,25 +28,15 @@ const privateRequest = async (credential, method, path, params) => {
20
28
  headers['TIMESTAMP'] = timestamp;
21
29
  headers['SIGN'] = signatureHex;
22
30
  headers['LANG'] = 'zh-cn';
23
- console.info(url.toString(), headers);
24
- if (method === 'GET') {
25
- for (const [key, value] of Object.entries(params)) {
26
- url.searchParams.set(key, `${value}`);
27
- }
28
- }
31
+ const body = method === 'POST' ? JSON.stringify(params) : undefined;
29
32
  const response = await fetch(url.toString(), {
30
33
  method,
31
34
  headers,
32
- body: method === 'POST' ? JSON.stringify(params) : undefined,
35
+ body,
33
36
  });
34
37
  const text = await response.text();
35
- try {
36
- const res = JSON.parse(text);
37
- return res;
38
- }
39
- catch (e) {
40
- throw `APIError: ${response.status} ${response.statusText} ${text}`;
41
- }
38
+ console.info(url.toString(), headers, text, params, body);
39
+ return (0, utils_1.scopeError)('TurboAPIError', { status: response.status, statusText: response.statusText, text }, () => JSON.parse(text));
42
40
  };
43
41
  exports.privateRequest = privateRequest;
44
42
  const createPrivateApi = (method, path) => (credential, params) => (0, exports.privateRequest)(credential, method, path, params);
@@ -1 +1 @@
1
- {"version":3,"file":"private-api.js","sourceRoot":"","sources":["../../src/api/private-api.ts"],"names":[],"mappings":"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","sourcesContent":["import { decodeBase58, fromPrivateKey, HmacSHA256, 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 privateRequest = async (credential: ICredential, method: string, path: string, params: any) => {\n const url = new URL(BASE_URL);\n url.pathname = path;\n\n const publicKey = fromPrivateKey(credential.private_key).public_key;\n const publicKeyBinary = decodeBase58(publicKey);\n const publicKeyHex = Buffer.from(publicKeyBinary).toString('hex');\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 const data = `method=${method}&path=${path}&timestamp=${timestamp}&access-key=${publicKeyHex}`;\n const hashData = await HmacSHA256(new TextEncoder().encode(data), publicKeyBinary);\n\n const signature = signMessageByEd25519(hashData, privateKeyBinary);\n const signatureHex = Buffer.from(signature).toString('hex');\n\n headers['API-KEY'] = publicKeyHex;\n headers['TIMESTAMP'] = timestamp;\n headers['SIGN'] = signatureHex;\n headers['LANG'] = 'zh-cn';\n\n console.info(url.toString(), headers);\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 headers,\n body: method === 'POST' ? JSON.stringify(params) : undefined,\n });\n\n const text = await response.text();\n\n try {\n const res = JSON.parse(text);\n return res;\n } catch (e) {\n throw `APIError: ${response.status} ${response.statusText} ${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 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":"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","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 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 url.searchParams.set(key, `${value}`);\n }\n }\n\n const publicKey = fromPrivateKey(credential.private_key).public_key;\n const publicKeyBinary = decodeBase58(publicKey);\n const publicKeyHex = Buffer.from(publicKeyBinary).toString('hex');\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 = Buffer.from(signature).toString('hex');\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(url.toString(), headers, text, params, body);\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 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"]}
@@ -0,0 +1,31 @@
1
+ export interface ICredential {
2
+ /**
3
+ * ED25519 Private KEY (base58)
4
+ */
5
+ private_key: string;
6
+ }
7
+ export declare const publicRequest: (method: string, path: string, params?: any) => Promise<any>;
8
+ export declare const createPublicApi: <T, K>(method: string, path: string) => (params: T) => Promise<K>;
9
+ /**
10
+ * 获取账户信息
11
+ */
12
+ export declare const getPoolPairList: (params: void) => Promise<{
13
+ errno: string;
14
+ msg: string;
15
+ data: {
16
+ pair_id: string;
17
+ base_token: string;
18
+ quote_token: string;
19
+ base_token_logo: string;
20
+ base_token_name: string;
21
+ volume_24h: string;
22
+ price: string;
23
+ c: string;
24
+ max_leverage: number;
25
+ avg_order_book_fee: string;
26
+ funding_fee_interval: number;
27
+ created_at: string;
28
+ tag_id_list: number[];
29
+ }[];
30
+ }>;
31
+ //# sourceMappingURL=public-api.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPoolPairList = exports.createPublicApi = exports.publicRequest = void 0;
4
+ const utils_1 = require("@yuants/utils");
5
+ const BASE_URL = 'https://surfv2-api.surf.one';
6
+ const publicRequest = async (method, path, params = {}) => {
7
+ const url = new URL(BASE_URL);
8
+ url.pathname = path;
9
+ if (method === 'GET') {
10
+ for (const [key, value] of Object.entries(params)) {
11
+ url.searchParams.set(key, `${value}`);
12
+ }
13
+ }
14
+ const response = await fetch(url.toString(), {
15
+ method,
16
+ body: method === 'POST' ? JSON.stringify(params) : undefined,
17
+ });
18
+ const text = await response.text();
19
+ console.info(url.toString(), text);
20
+ return (0, utils_1.scopeError)('TurboAPIError', { status: response.status, statusText: response.statusText, text }, () => JSON.parse(text));
21
+ };
22
+ exports.publicRequest = publicRequest;
23
+ const createPublicApi = (method, path) => (params) => (0, exports.publicRequest)(method, path, params);
24
+ exports.createPublicApi = createPublicApi;
25
+ /**
26
+ * 获取账户信息
27
+ */
28
+ exports.getPoolPairList = (0, exports.createPublicApi)('GET', '/pool/pair/list');
29
+ //# sourceMappingURL=public-api.js.map
@@ -0,0 +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"]}
package/lib/index.d.ts CHANGED
@@ -1 +1,2 @@
1
+ import './services/exchange';
1
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC"}
package/lib/index.js CHANGED
@@ -1,2 +1,4 @@
1
1
  "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ require("./services/exchange");
2
4
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"","sourcesContent":[""]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAAA,+BAA6B","sourcesContent":["import './services/exchange';\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=exchange.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exchange.d.ts","sourceRoot":"","sources":["../../src/services/exchange.ts"],"names":[],"mappings":""}