@yuants/vendor-turboflow 1.1.0 → 1.2.0
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.
- package/.rush/temp/chunked-rush-logs/vendor-turboflow.build.chunks.jsonl +6 -6
- package/.rush/temp/operation/build/all.log +6 -6
- package/.rush/temp/operation/build/log-chunks.jsonl +6 -6
- package/.rush/temp/operation/build/state.json +1 -1
- package/.rush/temp/shrinkwrap-deps.json +1 -1
- package/CHANGELOG.json +37 -0
- package/CHANGELOG.md +13 -1
- package/README.md +134 -0
- package/lib/api/private-api.d.ts +2 -2
- package/lib/api/private-api.d.ts.map +1 -1
- package/lib/api/private-api.js +12 -15
- package/lib/api/private-api.js.map +1 -1
- package/lib/index.d.ts +2 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +4 -0
- package/lib/index.js.map +1 -1
- package/lib/services/account-actions-with-credential.d.ts +2 -0
- package/lib/services/account-actions-with-credential.d.ts.map +1 -0
- package/lib/services/account-actions-with-credential.js +60 -0
- package/lib/services/account-actions-with-credential.js.map +1 -0
- package/lib/services/order-actions-with-credential.d.ts +2 -0
- package/lib/services/order-actions-with-credential.d.ts.map +1 -0
- package/lib/services/order-actions-with-credential.js +25 -0
- package/lib/services/order-actions-with-credential.js.map +1 -0
- package/lib/services/orders/cancelOrder.d.ts +4 -0
- package/lib/services/orders/cancelOrder.d.ts.map +1 -0
- package/lib/services/orders/cancelOrder.js +42 -0
- package/lib/services/orders/cancelOrder.js.map +1 -0
- package/lib/services/orders/listOrders.d.ts +7 -0
- package/lib/services/orders/listOrders.d.ts.map +1 -0
- package/lib/services/orders/listOrders.js +78 -0
- package/lib/services/orders/listOrders.js.map +1 -0
- package/lib/services/orders/modifyOrder.d.ts +4 -0
- package/lib/services/orders/modifyOrder.d.ts.map +1 -0
- package/lib/services/orders/modifyOrder.js +46 -0
- package/lib/services/orders/modifyOrder.js.map +1 -0
- package/lib/services/orders/submitOrder.d.ts +6 -0
- package/lib/services/orders/submitOrder.d.ts.map +1 -0
- package/lib/services/orders/submitOrder.js +61 -0
- package/lib/services/orders/submitOrder.js.map +1 -0
- package/package.json +5 -3
- package/rush-logs/vendor-turboflow.build.log +6 -6
- package/src/api/private-api.ts +25 -18
- package/src/index.ts +3 -0
- package/src/services/account-actions-with-credential.ts +76 -0
- package/src/services/order-actions-with-credential.ts +30 -0
- package/src/services/orders/cancelOrder.ts +43 -0
- package/src/services/orders/listOrders.ts +84 -0
- package/src/services/orders/modifyOrder.ts +46 -0
- package/src/services/orders/submitOrder.ts +63 -0
- package/temp/package-deps.json +17 -8
|
@@ -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 (
|
|
12
|
+
{"kind":"O","text":" ---- Compile finished (3001ms) ---- \n"}
|
|
13
13
|
{"kind":"O","text":" ---- Bundle started ---- \n"}
|
|
14
|
-
{"kind":"O","text":" ---- Bundle finished (
|
|
14
|
+
{"kind":"O","text":" ---- Bundle finished (2ms) ---- \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
|
-
{"kind":"O","text":" ---- Test finished (
|
|
19
|
-
{"kind":"O","text":"-------------------- Finished (
|
|
20
|
-
{"kind":"O","text":"Project: @yuants/vendor-turboflow@1.
|
|
18
|
+
{"kind":"O","text":" ---- Test finished (2ms) ---- \n"}
|
|
19
|
+
{"kind":"O","text":"-------------------- Finished (3.313s) --------------------\n"}
|
|
20
|
+
{"kind":"O","text":"Project: @yuants/vendor-turboflow@1.2.0\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-
|
|
23
|
+
{"kind":"O","text":"2025-11-25T11:54:42.712Z 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 (
|
|
12
|
+
---- Compile finished (3001ms) ----
|
|
13
13
|
---- Bundle started ----
|
|
14
|
-
---- Bundle finished (
|
|
14
|
+
---- Bundle finished (2ms) ----
|
|
15
15
|
---- Post-build started ----
|
|
16
16
|
---- Post-build finished (0ms) ----
|
|
17
17
|
---- Test started ----
|
|
18
|
-
---- Test finished (
|
|
19
|
-
-------------------- Finished (
|
|
20
|
-
Project: @yuants/vendor-turboflow@1.
|
|
18
|
+
---- Test finished (2ms) ----
|
|
19
|
+
-------------------- Finished (3.313s) --------------------
|
|
20
|
+
Project: @yuants/vendor-turboflow@1.2.0
|
|
21
21
|
Heft version: 0.47.11
|
|
22
22
|
Node version: v22.14.0
|
|
23
|
-
2025-11-
|
|
23
|
+
2025-11-25T11:54:42.712Z 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 (
|
|
12
|
+
{"kind":"O","text":" ---- Compile finished (3001ms) ---- \n"}
|
|
13
13
|
{"kind":"O","text":" ---- Bundle started ---- \n"}
|
|
14
|
-
{"kind":"O","text":" ---- Bundle finished (
|
|
14
|
+
{"kind":"O","text":" ---- Bundle finished (2ms) ---- \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
|
-
{"kind":"O","text":" ---- Test finished (
|
|
19
|
-
{"kind":"O","text":"-------------------- Finished (
|
|
20
|
-
{"kind":"O","text":"Project: @yuants/vendor-turboflow@1.
|
|
18
|
+
{"kind":"O","text":" ---- Test finished (2ms) ---- \n"}
|
|
19
|
+
{"kind":"O","text":"-------------------- Finished (3.313s) --------------------\n"}
|
|
20
|
+
{"kind":"O","text":"Project: @yuants/vendor-turboflow@1.2.0\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-
|
|
23
|
+
{"kind":"O","text":"2025-11-25T11:54:42.712Z no Dockerfile found, skip building docker image\n"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"../../apps/vendor-turboflow": "../../apps/vendor-turboflow:
|
|
2
|
+
"../../apps/vendor-turboflow": "../../apps/vendor-turboflow:T86fyux3S3EQvD5Lnyd0lT389JKxuKPyH95d7oXembU=:",
|
|
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,43 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yuants/vendor-turboflow",
|
|
3
3
|
"entries": [
|
|
4
|
+
{
|
|
5
|
+
"version": "1.2.0",
|
|
6
|
+
"tag": "@yuants/vendor-turboflow_v1.2.0",
|
|
7
|
+
"date": "Tue, 25 Nov 2025 11:53:28 GMT",
|
|
8
|
+
"comments": {
|
|
9
|
+
"minor": [
|
|
10
|
+
{
|
|
11
|
+
"comment": "fix account actions"
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"none": [
|
|
15
|
+
{
|
|
16
|
+
"comment": "Bump Version"
|
|
17
|
+
}
|
|
18
|
+
]
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"version": "1.1.1",
|
|
23
|
+
"tag": "@yuants/vendor-turboflow_v1.1.1",
|
|
24
|
+
"date": "Tue, 25 Nov 2025 07:08:44 GMT",
|
|
25
|
+
"comments": {
|
|
26
|
+
"none": [
|
|
27
|
+
{
|
|
28
|
+
"comment": "Bump Version"
|
|
29
|
+
}
|
|
30
|
+
],
|
|
31
|
+
"dependency": [
|
|
32
|
+
{
|
|
33
|
+
"comment": "Updating dependency \"@yuants/protocol\" to `0.53.0`"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"comment": "Updating dependency \"@yuants/utils\" to `0.13.0`"
|
|
37
|
+
}
|
|
38
|
+
]
|
|
39
|
+
}
|
|
40
|
+
},
|
|
4
41
|
{
|
|
5
42
|
"version": "1.1.0",
|
|
6
43
|
"tag": "@yuants/vendor-turboflow_v1.1.0",
|
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
# Change Log - @yuants/vendor-turboflow
|
|
2
2
|
|
|
3
|
-
This log was last generated on
|
|
3
|
+
This log was last generated on Tue, 25 Nov 2025 11:53:28 GMT and should not be manually modified.
|
|
4
|
+
|
|
5
|
+
## 1.2.0
|
|
6
|
+
Tue, 25 Nov 2025 11:53:28 GMT
|
|
7
|
+
|
|
8
|
+
### Minor changes
|
|
9
|
+
|
|
10
|
+
- fix account actions
|
|
11
|
+
|
|
12
|
+
## 1.1.1
|
|
13
|
+
Tue, 25 Nov 2025 07:08:44 GMT
|
|
14
|
+
|
|
15
|
+
_Version update only_
|
|
4
16
|
|
|
5
17
|
## 1.1.0
|
|
6
18
|
Mon, 24 Nov 2025 11:58:37 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
|
package/lib/api/private-api.d.ts
CHANGED
|
@@ -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
|
|
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
|
* 获取账户信息
|
|
@@ -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
|
|
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":"AAEA,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAID,eAAO,MAAM,cAAc,eAAsB,WAAW,UAAU,MAAM,QAAQ,MAAM,UAAU,GAAG,iBA+CtG,CAAC;AAEF,eAAO,MAAM,gBAAgB,iBACZ,MAAM,QAAQ,MAAM,kBACtB,WAAW,0BAC0B,CAAC;AAErD;;GAEG;AACH,eAAO,MAAM,cAAc,eANZ,WAAW;WASf,MAAM;SACR,MAAM;UACL;QACJ,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;QACtB,KAAK,EAAE,MAAM,CAAC;QACd,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,OAAO,CAAC;QACnB,cAAc,EAAE,OAAO,CAAC;QACxB,UAAU,EAAE,OAAO,CAAC;QACpB,WAAW,EAAE,OAAO,CAAC;QACrB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,eAAe,EAAE,OAAO,CAAC;QACzB,eAAe,EAAE,OAAO,CAAC;QACzB,SAAS,EAAE;YACT,SAAS,EAAE,MAAM,CAAC;YAClB,WAAW,EAAE,MAAM,CAAC;SACrB,CAAC;QACF,WAAW,EAAE,MAAM,CAAC;QACpB,gBAAgB,EAAE,MAAM,CAAC;QACzB,iBAAiB,EAAE,OAAO,CAAC;QAC3B,iBAAiB,EAAE,MAAM,CAAC;QAC1B,iBAAiB,EAAE,OAAO,CAAC;QAC3B,UAAU,EAAE,MAAM,CAAC;KACpB;EAEoB,CAAC;AAE1B;;GAEG;AACH,eAAO,MAAM,gBAAgB,eA1Cd,WAAW;;;WA6Cf,MAAM;SACR,MAAM;UACL;QACJ,IAAI,EAAE,MAAM;YACV,YAAY,EAAE,MAAM,CAAC;YACrB,SAAS,EAAE,MAAM,CAAC;YAClB,iBAAiB,EAAE,MAAM,CAAC;YAC1B,cAAc,EAAE,MAAM,CAAC;YACvB,mBAAmB,EAAE,MAAM,CAAC;YAC5B,kBAAkB,EAAE,MAAM,CAAC;YAC3B,MAAM,EAAE,MAAM,CAAC;YACf,MAAM,EAAE,MAAM,CAAC;YACf,kBAAkB,EAAE,MAAM,CAAC;YAC3B,UAAU,EAAE,MAAM,CAAC;YACnB,WAAW,EAAE,MAAM,CAAC;YACpB,QAAQ,EAAE,MAAM,CAAC;YACjB,SAAS,EAAE,MAAM,CAAC;YAClB,aAAa,CAAC,EAAE;gBACd,KAAK,EAAE,MAAM,CAAC;gBACd,IAAI,EAAE,MAAM,CAAC;aACd,CAAC;YACF,IAAI,EAAE,MAAM,CAAC;SACd,CAAC,CAAC;KACJ;EAEsB,CAAC;AAE5B;;GAEG;AACH,eAAO,MAAM,WAAW,eA3ET,WAAW;gBA6EV,MAAM;aACT,MAAM;aACN,MAAM;eACJ,MAAM;gBACL,OAAO,GAAG,QAAQ,GAAG,YAAY,GAAG,aAAa;eAClD,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;iBACX,CAAC,GAAG,CAAC;cACR,MAAM;UACV,MAAM;mBACG,CAAC,GAAG,CAAC,GAAG,CAAC;mBACT,KAAK,GAAG,KAAK,GAAG,KAAK;cAC1B,CAAC,GAAG,CAAC;gBACH,CAAC,GAAG,CAAC;;;;WAKV,MAAM;SACR,MAAM;UACL;QACJ,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE;YACL,EAAE,EAAE,MAAM,CAAC;YACX,OAAO,EAAE,MAAM,CAAC;YAChB,OAAO,EAAE,MAAM,CAAC;YAChB,UAAU,EAAE,MAAM,CAAC;YACnB,YAAY,EAAE,MAAM,CAAC;SACtB,CAAC;KACH;EAE6B,CAAC;AAEnC;;GAEG;AACH,eAAO,MAAM,WAAW,eAjHT,WAAW;iBAmHT,MAAM;;;;oBAIL,MAAM;mBACP,OAAO;oBACN,MAAM;;;oBAGN,MAAM;mBACP,OAAO;oBACN,MAAM;;;WAIb,MAAM;SACR,MAAM;UACL;QACJ,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;KACpB;EAE6B,CAAC;AAEnC;;GAEG;AACH,eAAO,MAAM,WAAW,eA9IT,WAAW;aAgJb,MAAM;cACL,MAAM;aACP,MAAM;;WAGR,MAAM;SACR,MAAM;UACL,GAAG;EAEqB,CAAC;AAEnC;;GAEG;AACH,eAAO,MAAM,UAAU,eA9JR,WAAW;iBAgKT,MAAM;gBACP,SAAS;;WAGd,MAAM;SACR,MAAM;UACL,GAAG;EAEoB,CAAC;AAElC;;GAEG;AACH,eAAO,MAAM,cAAc,eA7KZ,WAAW;YA+Kd,MAAM;iBACD,MAAM;;WAGZ,MAAM;SACR,MAAM;UACL,GAAG;EAEuB,CAAC;AAErC;;GAEG;AACH,eAAO,MAAM,sBAAsB,eA5LpB,WAAW;iBA8LT,MAAM;YACX,MAAM;;WAGP,MAAM;SACR,MAAM;UACL;QACJ,cAAc,EAAE,MAAM,CAAC;QACvB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;KAClB;EAEuC,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,eAAe,eAhNb,WAAW;WAmNf,MAAM;SACR,MAAM;UACL;QACJ,cAAc,EAAE,MAAM,CAAC;QACvB,iBAAiB,EAAE,MAAM,CAAC;KAC3B;EAE6B,CAAC;AAEnC;;GAEG;AACH,eAAO,MAAM,YAAY,eA/NV,WAAW;;;;;WAsOf,MAAM;SACR,MAAM;UACL;QACJ,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM;YACV,EAAE,EAAE,MAAM,CAAC;YACX,OAAO,EAAE,MAAM,CAAC;YAChB,OAAO,EAAE,MAAM,CAAC;YAChB,SAAS,EAAE,MAAM,CAAC;YAClB,SAAS,EAAE,MAAM,CAAC;YAClB,KAAK,EAAE,MAAM,CAAC;YACd,IAAI,EAAE,MAAM,CAAC;YACb,GAAG,EAAE,MAAM,CAAC;YACZ,QAAQ,EAAE,MAAM,CAAC;YACjB,UAAU,EAAE,MAAM,CAAC;YACnB,SAAS,EAAE,MAAM,CAAC;YAClB,WAAW,EAAE,MAAM,CAAC;YACpB,SAAS,EAAE,OAAO,CAAC;YACnB,QAAQ,EAAE,MAAM,CAAC;YACjB,QAAQ,EAAE,MAAM,CAAC;YACjB,QAAQ,EAAE,MAAM,CAAC;YACjB,UAAU,EAAE,MAAM,CAAC;YACnB,WAAW,EAAE,MAAM,CAAC;YACpB,SAAS,EAAE,MAAM,CAAC;YAClB,QAAQ,EAAE,MAAM,CAAC;YACjB,QAAQ,EAAE,MAAM,CAAC;YACjB,YAAY,EAAE,MAAM,CAAC;YACrB,SAAS,EAAE,MAAM,CAAC;YAClB,WAAW,EAAE,MAAM,CAAC;YACpB,SAAS,EAAE,OAAO,CAAC;YACnB,QAAQ,EAAE,MAAM,CAAC;YACjB,QAAQ,EAAE,MAAM,CAAC;YACjB,UAAU,EAAE,MAAM,CAAC;YACnB,UAAU,EAAE,MAAM,CAAC;YACnB,UAAU,EAAE,MAAM,CAAC;SACpB,CAAC,CAAC;KACJ;EAE0B,CAAC;AAEhC;;GAEG;AACH,eAAO,MAAM,YAAY,eApRV,WAAW;;;;WA0Rf,MAAM;SACR,MAAM;UACL;QACJ,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM;YACV,EAAE,EAAE,MAAM,CAAC;YACX,OAAO,EAAE,MAAM,CAAC;YAChB,OAAO,EAAE,MAAM,CAAC;YAChB,MAAM,EAAE,MAAM,CAAC;YACf,SAAS,EAAE,MAAM,CAAC;YAClB,SAAS,EAAE,MAAM,CAAC;YAClB,SAAS,EAAE,MAAM,CAAC;YAClB,SAAS,EAAE,MAAM,CAAC;YAClB,UAAU,EAAE,MAAM,CAAC;YACnB,QAAQ,EAAE,MAAM,CAAC;YACjB,QAAQ,EAAE,MAAM,CAAC;YACjB,SAAS,EAAE,MAAM,CAAC;YAClB,UAAU,EAAE,MAAM,CAAC;YACnB,SAAS,EAAE,MAAM,CAAC;YAClB,WAAW,EAAE,MAAM,CAAC;YACpB,UAAU,EAAE,MAAM,CAAC;YACnB,eAAe,EAAE,MAAM,CAAC;YACxB,eAAe,EAAE,MAAM,CAAC;YACxB,UAAU,EAAE,MAAM,CAAC;YACnB,QAAQ,EAAE,MAAM,CAAC;YACjB,YAAY,EAAE,MAAM,CAAC;YACrB,WAAW,EAAE,MAAM,CAAC;YACpB,SAAS,EAAE,MAAM,CAAC;YAClB,SAAS,EAAE,MAAM,CAAC;YAClB,QAAQ,EAAE,MAAM,CAAC;YACjB,YAAY,EAAE,MAAM,CAAC;YACrB,QAAQ,EAAE,MAAM,CAAC;YACjB,WAAW,EAAE,MAAM,CAAC;YACpB,UAAU,EAAE,MAAM,CAAC;YACnB,aAAa,EAAE,MAAM,CAAC;YACtB,SAAS,EAAE,MAAM,CAAC;YAClB,UAAU,EAAE,MAAM,CAAC;YACnB,WAAW,EAAE,MAAM,CAAC;YACpB,WAAW,EAAE,MAAM,CAAC;YACpB,GAAG,EAAE,MAAM,CAAC;YACZ,SAAS,EAAE;gBACT,SAAS,EAAE,MAAM,CAAC;gBAClB,WAAW,EAAE,MAAM,CAAC;aACrB,CAAC;SACH,CAAC,CAAC;KACJ;EAE0B,CAAC;AAEhC;;GAEG;AACH,eAAO,MAAM,gBAAgB,eAjVd,WAAW;;;;WAuVf,MAAM;SACR,MAAM;UACL;QACJ,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM;YACV,EAAE,EAAE,MAAM,CAAC;YACX,OAAO,EAAE,MAAM,CAAC;YAChB,OAAO,EAAE,MAAM,CAAC;YAChB,SAAS,EAAE,MAAM,CAAC;YAClB,UAAU,EAAE,MAAM,CAAC;YACnB,MAAM,EAAE,MAAM,CAAC;YACf,SAAS,EAAE,MAAM,CAAC;YAClB,UAAU,EAAE,MAAM,CAAC;YACnB,gBAAgB,EAAE,MAAM,CAAC;YACzB,WAAW,EAAE,MAAM,CAAC;YACpB,MAAM,EAAE,MAAM,CAAC;YACf,IAAI,EAAE,MAAM,CAAC;YACb,QAAQ,EAAE,MAAM,CAAC;YACjB,eAAe,EAAE,MAAM,CAAC;YACxB,WAAW,EAAE,MAAM,CAAC;YACpB,QAAQ,EAAE,MAAM,CAAC;YACjB,SAAS,EAAE,MAAM,CAAC;YAClB,QAAQ,EAAE,MAAM,CAAC;YACjB,UAAU,EAAE,MAAM,CAAC;YACnB,MAAM,EAAE,MAAM,CAAC;YACf,SAAS,EAAE,MAAM,CAAC;YAClB,SAAS,EAAE,MAAM,CAAC;YAClB,SAAS,EAAE,MAAM,CAAC;YAClB,UAAU,EAAE,MAAM,CAAC;YACnB,MAAM,EAAE,MAAM,CAAC;YACf,iBAAiB,EAAE,MAAM,CAAC;YAC1B,UAAU,EAAE,MAAM,CAAC;SACpB,CAAC,CAAC;KACJ;EAE+B,CAAC;AAErC;;GAEG;AACH,eAAO,MAAM,eAAe,eAlYb,WAAW;;;;;WAyYf,MAAM;SACR,MAAM;UACL;QACJ,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM;YACV,EAAE,EAAE,MAAM,CAAC;YACX,OAAO,EAAE,MAAM,CAAC;YAChB,OAAO,EAAE,MAAM,CAAC;YAChB,MAAM,EAAE,MAAM,CAAC;YACf,SAAS,EAAE,MAAM,CAAC;YAClB,SAAS,EAAE,MAAM,CAAC;YAClB,SAAS,EAAE,MAAM,CAAC;YAClB,SAAS,EAAE,MAAM,CAAC;YAClB,IAAI,EAAE,MAAM,CAAC;YACb,SAAS,EAAE,MAAM,CAAC;YAClB,OAAO,EAAE,MAAM,CAAC;YAChB,QAAQ,EAAE,MAAM,CAAC;YACjB,WAAW,EAAE,MAAM,CAAC;YACpB,EAAE,EAAE,MAAM,CAAC;YACX,EAAE,EAAE,MAAM,CAAC;YACX,EAAE,EAAE,MAAM,CAAC;YACX,SAAS,EAAE,OAAO,CAAC;YACnB,QAAQ,EAAE,MAAM,CAAC;YACjB,QAAQ,EAAE,MAAM,CAAC;YACjB,SAAS,EAAE,MAAM,CAAC;YAClB,QAAQ,EAAE,MAAM,CAAC;YACjB,OAAO,EAAE,MAAM,CAAC;YAChB,QAAQ,EAAE,MAAM,CAAC;YACjB,OAAO,EAAE,MAAM,CAAC;YAChB,KAAK,EAAE,MAAM,CAAC;YACd,WAAW,EAAE,MAAM,CAAC;YACpB,MAAM,EAAE,MAAM,CAAC;YACf,QAAQ,MAAM,CAAC;YACf,UAAU,EAAE,MAAM,CAAC;YACnB,UAAU,EAAE,MAAM,CAAC;YACnB,UAAU,EAAE,MAAM,CAAC;YACnB,aAAa,EAAE,MAAM,CAAC;YACtB,UAAU,EAAE,MAAM,CAAC;YACnB,QAAQ,EAAE,MAAM,CAAC;YACjB,SAAS,EAAE,MAAM,CAAC;YAClB,aAAa,EAAE,MAAM,CAAC;YACtB,cAAc,EAAE,MAAM,CAAC;YACvB,YAAY,EAAE,MAAM,CAAC;YACrB,WAAW,EAAE,MAAM,CAAC;YACpB,YAAY,EAAE,MAAM,CAAC;YACrB,QAAQ,EAAE,MAAM,CAAC;YACjB,cAAc,CAAC,EAAE,MAAM,CAAC;YACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;YAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;YACtB,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;YAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;YACzB,aAAa,CAAC,EAAE,MAAM,CAAC;YACvB,aAAa,CAAC,EAAE,MAAM,CAAC;YACvB,YAAY,CAAC,EAAE,MAAM,CAAC;SACvB,CAAC,CAAC;KACJ;EAE6B,CAAC;AAEnC;;GAEG;AACH,eAAO,MAAM,kBAAkB,eA7chB,WAAW;;;;WAmdf,MAAM;SACR,MAAM;UACL;QACJ,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM;YACV,EAAE,EAAE,MAAM,CAAC;YACX,OAAO,EAAE,MAAM,CAAC;YAChB,OAAO,EAAE,MAAM,CAAC;YAChB,MAAM,EAAE,MAAM,CAAC;YACf,SAAS,EAAE,MAAM,CAAC;YAClB,SAAS,EAAE,MAAM,CAAC;YAClB,SAAS,EAAE,MAAM,CAAC;YAClB,SAAS,EAAE,MAAM,CAAC;YAClB,UAAU,EAAE,MAAM,CAAC;YACnB,IAAI,EAAE,MAAM,CAAC;YACb,QAAQ,EAAE,MAAM,CAAC;YACjB,WAAW,EAAE,MAAM,CAAC;YACpB,QAAQ,EAAE,MAAM,CAAC;YACjB,QAAQ,EAAE,MAAM,CAAC;YACjB,EAAE,EAAE,MAAM,CAAC;YACX,QAAQ,MAAM,CAAC;YACf,WAAW,EAAE,MAAM,CAAC;YACpB,eAAe,EAAE,MAAM,CAAC;YACxB,GAAG,EAAE,MAAM,CAAC;YACZ,WAAW,EAAE,MAAM,CAAC;YACpB,aAAa,EAAE,MAAM,CAAC;YACtB,UAAU,EAAE,MAAM,CAAC;YACnB,WAAW,EAAE,MAAM,CAAC;YACpB,SAAS,EAAE,MAAM,CAAC;YAClB,UAAU,EAAE,MAAM,CAAC;YACnB,UAAU,EAAE,MAAM,CAAC;YACnB,eAAe,EAAE,MAAM,CAAC;YACxB,eAAe,EAAE,MAAM,CAAC;YACxB,cAAc,EAAE,MAAM,CAAC;SACxB,CAAC,CAAC;KACJ;EAEgC,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,YAAY,eAhgBV,WAAW;oBAkgBN,MAAM;;WAGf,MAAM;SACR,MAAM;UACL;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,EAAE,EAAE,MAAM,CAAC;KACZ;EAEyB,CAAC;AAE/B;;GAEG;AACH,eAAO,MAAM,QAAQ,eAjhBN,WAAW;oBAmhBN,MAAM;iBACT,MAAM;;;;WAKZ,MAAM;SACR,MAAM;UACL,MAAM;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;KACX,CAAC;EAEmB,CAAC;AAE1B;;GAEG;AACH,eAAO,MAAM,gBAAgB,eAziBd,WAAW;WA4iBf,MAAM;SACR,MAAM;UACL,MAAM;QACV,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;EAEiC,CAAC;AAExC;;GAEG;AACH,eAAO,MAAM,iBAAiB,eA1jBf,WAAW;aA4jBb,MAAM;;WAGR,MAAM;SACR,MAAM;UACL,MAAM;QACV,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,gBAAgB,EAAE,MAAM,CAAC;QACzB,eAAe,EAAE,MAAM,CAAC;QACxB,sBAAsB,EAAE,MAAM,CAAC;KAChC,CAAC;EAE2B,CAAC;AAElC;;GAEG;AACH,eAAO,MAAM,iBAAiB,eAnlBf,WAAW;WAslBf,MAAM;SACR,MAAM;UACL;QACJ,iBAAiB,EAAE,GAAG,CAAC;QACvB,gBAAgB,EAAE,GAAG,CAAC;QACtB,aAAa,EAAE,MAAM;YACnB,GAAG,EAAE,MAAM,CAAC;YACZ,GAAG,EAAE,MAAM,CAAC;YACZ,QAAQ,EAAE,MAAM,CAAC;YACjB,QAAQ,EAAE,MAAM,CAAC;SAClB,CAAC,CAAC;QACH,qBAAqB,EAAE,OAAO,CAAC;QAC/B,mBAAmB,EAAE;YACnB,UAAU,EAAE,MAAM,CAAC;YACnB,QAAQ,EAAE,MAAM,CAAC;YACjB,YAAY,EAAE,MAAM;gBAClB,OAAO,EAAE,MAAM,CAAC;gBAChB,SAAS,EAAE,MAAM,CAAC;gBAClB,iBAAiB,EAAE,MAAM,CAAC;aAC3B,CAAC,CAAC;SACJ,CAAC;KACH;EAE8B,CAAC;AAEpC;;GAEG;AACH,eAAO,MAAM,gBAAgB,eAlnBd,WAAW;aAonBb,MAAM;eACJ,MAAM;WACV,MAAM;SACR,MAAM;cACD,MAAM;;WAGT,MAAM;SACR,MAAM;UACL;QACJ,IAAI,EAAE,MAAM;YACV,KAAK,EAAE,MAAM,CAAC;YACd,GAAG,EAAE,MAAM,CAAC;YACZ,KAAK,EAAE,MAAM,CAAC;YACd,SAAS,EAAE,MAAM,CAAC;YAClB,QAAQ,EAAE,MAAM,CAAC;SAClB,CAAC,CAAC;KACJ;EAE8B,CAAC"}
|
|
1
|
+
{"version":3,"file":"private-api.d.ts","sourceRoot":"","sources":["../../src/api/private-api.ts"],"names":[],"mappings":"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"}
|
package/lib/api/private-api.js
CHANGED
|
@@ -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
|
-
|
|
20
|
+
// 除了 host 之外的所有内容
|
|
21
|
+
const _path = url.pathname + url.search;
|
|
22
|
+
const data = `method=${method}&path=${_path}×tamp=${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,14 @@ 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
|
-
}
|
|
29
31
|
const response = await fetch(url.toString(), {
|
|
30
32
|
method,
|
|
31
33
|
headers,
|
|
32
34
|
body: method === 'POST' ? JSON.stringify(params) : undefined,
|
|
33
35
|
});
|
|
34
36
|
const text = await response.text();
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
return res;
|
|
38
|
-
}
|
|
39
|
-
catch (e) {
|
|
40
|
-
throw `APIError: ${response.status} ${response.statusText} ${text}`;
|
|
41
|
-
}
|
|
37
|
+
console.info(url.toString(), headers, text);
|
|
38
|
+
return (0, utils_1.scopeError)('TurboAPIError', { status: response.status, statusText: response.statusText, text }, () => JSON.parse(text));
|
|
42
39
|
};
|
|
43
40
|
exports.privateRequest = privateRequest;
|
|
44
41
|
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}×tamp=${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}×tamp=${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 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 console.info(url.toString(), headers, text);\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 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"]}
|
package/lib/index.d.ts
CHANGED
package/lib/index.d.ts.map
CHANGED
|
@@ -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":"AACA,OAAO,4CAA4C,CAAC;AACpD,OAAO,0CAA0C,CAAC"}
|
package/lib/index.js
CHANGED
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,kBAAkB;AAClB,sDAAoD;AACpD,oDAAkD","sourcesContent":["// Import services\nimport './services/account-actions-with-credential';\nimport './services/order-actions-with-credential';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account-actions-with-credential.d.ts","sourceRoot":"","sources":["../../src/services/account-actions-with-credential.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const data_account_1 = require("@yuants/data-account");
|
|
4
|
+
const protocol_1 = require("@yuants/protocol");
|
|
5
|
+
const utils_1 = require("@yuants/utils");
|
|
6
|
+
const private_api_1 = require("../api/private-api");
|
|
7
|
+
(0, data_account_1.provideAccountActionsWithCredential)(protocol_1.Terminal.fromNodeEnv(), 'TURBOFLOW', {
|
|
8
|
+
type: 'object',
|
|
9
|
+
required: ['private_key'],
|
|
10
|
+
properties: {
|
|
11
|
+
private_key: {
|
|
12
|
+
type: 'string',
|
|
13
|
+
description: 'ED25519 Private Key (base58 encoded)',
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
}, {
|
|
17
|
+
listAccounts: async (credential) => {
|
|
18
|
+
const accountInfo = await (0, private_api_1.getAccountInfo)(credential, undefined);
|
|
19
|
+
return (0, utils_1.scopeError)('ListAccountsError::TurboFlow', { error: accountInfo.errno, message: accountInfo.msg }, () => [
|
|
20
|
+
{
|
|
21
|
+
account_id: `turboflow/${accountInfo.data.account_id}`,
|
|
22
|
+
},
|
|
23
|
+
]);
|
|
24
|
+
},
|
|
25
|
+
getAccountInfo: async (credential, account_id) => {
|
|
26
|
+
const assetsResponse = await (0, private_api_1.getAccountAssets)(credential, {
|
|
27
|
+
fill_coin_sub_info: '1',
|
|
28
|
+
});
|
|
29
|
+
const assetPositions = assetsResponse.data.list.map((x) => (0, data_account_1.makeSpotPosition)({
|
|
30
|
+
position_id: x.coin_code,
|
|
31
|
+
product_id: (0, utils_1.encodePath)('SPOT', x.coin_name),
|
|
32
|
+
volume: parseFloat(x.available_balance),
|
|
33
|
+
free_volume: parseFloat(x.available_balance),
|
|
34
|
+
closable_price: 1,
|
|
35
|
+
}));
|
|
36
|
+
const positionsResponse = await (0, private_api_1.getPositionList)(credential, { status: 'Holding' });
|
|
37
|
+
const positions = (positionsResponse.data.data || []).map((position) => {
|
|
38
|
+
const side = position.side === 1 ? 'LONG' : 'SHORT';
|
|
39
|
+
const holdSize = parseFloat(position.hold_size);
|
|
40
|
+
const holdAv = parseFloat(position.hold_av);
|
|
41
|
+
const unpnl = parseFloat(position.unpnl);
|
|
42
|
+
const im = parseFloat(position.im);
|
|
43
|
+
return {
|
|
44
|
+
position_id: position.id,
|
|
45
|
+
datasource_id: 'TURBOFLOW',
|
|
46
|
+
product_id: (0, utils_1.encodePath)('PERP', position.symbol),
|
|
47
|
+
direction: side,
|
|
48
|
+
volume: holdSize,
|
|
49
|
+
free_volume: holdSize,
|
|
50
|
+
position_price: holdAv,
|
|
51
|
+
closable_price: holdAv,
|
|
52
|
+
floating_profit: unpnl,
|
|
53
|
+
valuation: holdSize * holdAv,
|
|
54
|
+
margin: im,
|
|
55
|
+
};
|
|
56
|
+
});
|
|
57
|
+
return [...assetPositions, ...positions];
|
|
58
|
+
},
|
|
59
|
+
});
|
|
60
|
+
//# sourceMappingURL=account-actions-with-credential.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account-actions-with-credential.js","sourceRoot":"","sources":["../../src/services/account-actions-with-credential.ts"],"names":[],"mappings":";;AAAA,uDAAwG;AACxG,+CAA4C;AAC5C,yCAAuD;AACvD,oDAAoG;AAEpG,IAAA,kDAAmC,EACjC,mBAAQ,CAAC,WAAW,EAAE,EACtB,WAAW,EACX;IACE,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,CAAC,aAAa,CAAC;IACzB,UAAU,EAAE;QACV,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,sCAAsC;SACpD;KACF;CACF,EACD;IACE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;QACjC,MAAM,WAAW,GAAG,MAAM,IAAA,4BAAc,EAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAEhE,OAAO,IAAA,kBAAU,EACf,8BAA8B,EAC9B,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,GAAG,EAAE,EACtD,GAAG,EAAE,CAAC;YACJ;gBACE,UAAU,EAAE,aAAa,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE;aACvD;SACF,CACF,CAAC;IACJ,CAAC;IAED,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE;QAC/C,MAAM,cAAc,GAAG,MAAM,IAAA,8BAAgB,EAAC,UAAU,EAAE;YACxD,kBAAkB,EAAE,GAAG;SACxB,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACxD,IAAA,+BAAgB,EAAC;YACf,WAAW,EAAE,CAAC,CAAC,SAAS;YACxB,UAAU,EAAE,IAAA,kBAAU,EAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC;YAC3C,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC;YACvC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC;YAC5C,cAAc,EAAE,CAAC;SAClB,CAAC,CACH,CAAC;QAEF,MAAM,iBAAiB,GAAG,MAAM,IAAA,6BAAe,EAAC,UAAU,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QAEnF,MAAM,SAAS,GAAgB,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YAClF,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;YACpD,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAChD,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACzC,MAAM,EAAE,GAAG,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAEnC,OAAO;gBACL,WAAW,EAAE,QAAQ,CAAC,EAAE;gBACxB,aAAa,EAAE,WAAW;gBAC1B,UAAU,EAAE,IAAA,kBAAU,EAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC;gBAC/C,SAAS,EAAE,IAAI;gBACf,MAAM,EAAE,QAAQ;gBAChB,WAAW,EAAE,QAAQ;gBACrB,cAAc,EAAE,MAAM;gBACtB,cAAc,EAAE,MAAM;gBACtB,eAAe,EAAE,KAAK;gBACtB,SAAS,EAAE,QAAQ,GAAG,MAAM;gBAC5B,MAAM,EAAE,EAAE;aACX,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,cAAc,EAAE,GAAG,SAAS,CAAC,CAAC;IAC3C,CAAC;CACF,CACF,CAAC","sourcesContent":["import { IPosition, makeSpotPosition, provideAccountActionsWithCredential } from '@yuants/data-account';\nimport { Terminal } from '@yuants/protocol';\nimport { encodePath, scopeError } from '@yuants/utils';\nimport { getAccountAssets, getAccountInfo, getPositionList, ICredential } from '../api/private-api';\n\nprovideAccountActionsWithCredential<ICredential>(\n Terminal.fromNodeEnv(),\n 'TURBOFLOW',\n {\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 {\n listAccounts: async (credential) => {\n const accountInfo = await getAccountInfo(credential, undefined);\n\n return scopeError(\n 'ListAccountsError::TurboFlow',\n { error: accountInfo.errno, message: accountInfo.msg },\n () => [\n {\n account_id: `turboflow/${accountInfo.data.account_id}`,\n },\n ],\n );\n },\n\n getAccountInfo: async (credential, account_id) => {\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('PERP', position.symbol),\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 },\n);\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"order-actions-with-credential.d.ts","sourceRoot":"","sources":["../../src/services/order-actions-with-credential.ts"],"names":[],"mappings":""}
|