kucoin-api 0.0.2 → 1.0.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.
Files changed (199) hide show
  1. package/README.md +256 -40
  2. package/dist/cjs/FuturesClient.d.ts +246 -0
  3. package/dist/cjs/FuturesClient.js +261 -0
  4. package/dist/cjs/FuturesClient.js.map +1 -0
  5. package/dist/cjs/SpotClient.d.ts +692 -0
  6. package/dist/cjs/SpotClient.js +745 -0
  7. package/dist/cjs/SpotClient.js.map +1 -0
  8. package/dist/cjs/WebsocketClient.d.ts +77 -0
  9. package/dist/cjs/WebsocketClient.js +337 -0
  10. package/dist/cjs/WebsocketClient.js.map +1 -0
  11. package/dist/cjs/index.d.ts +22 -0
  12. package/dist/cjs/index.js +39 -0
  13. package/dist/cjs/index.js.map +1 -0
  14. package/dist/cjs/lib/BaseRestClient.d.ts +42 -0
  15. package/dist/cjs/lib/BaseRestClient.js +268 -0
  16. package/dist/cjs/lib/BaseRestClient.js.map +1 -0
  17. package/dist/cjs/lib/BaseWSClient.d.ts +168 -0
  18. package/dist/cjs/lib/BaseWSClient.js +622 -0
  19. package/dist/cjs/lib/BaseWSClient.js.map +1 -0
  20. package/dist/cjs/lib/misc-util.d.ts +1 -0
  21. package/dist/cjs/lib/misc-util.js +8 -0
  22. package/dist/cjs/lib/misc-util.js.map +1 -0
  23. package/dist/cjs/lib/requestUtils.d.ts +35 -0
  24. package/dist/cjs/lib/requestUtils.js +54 -0
  25. package/dist/cjs/lib/requestUtils.js.map +1 -0
  26. package/dist/cjs/lib/webCryptoAPI.d.ts +10 -0
  27. package/dist/cjs/lib/webCryptoAPI.js +57 -0
  28. package/dist/cjs/lib/webCryptoAPI.js.map +1 -0
  29. package/dist/cjs/lib/websocket/WsStore.d.ts +63 -0
  30. package/dist/cjs/lib/websocket/WsStore.js +254 -0
  31. package/dist/cjs/lib/websocket/WsStore.js.map +1 -0
  32. package/dist/cjs/lib/websocket/WsStore.types.d.ts +50 -0
  33. package/dist/cjs/lib/websocket/WsStore.types.js +14 -0
  34. package/dist/cjs/lib/websocket/WsStore.types.js.map +1 -0
  35. package/dist/cjs/lib/websocket/logger.d.ts +6 -0
  36. package/dist/cjs/lib/websocket/logger.js +16 -0
  37. package/dist/cjs/lib/websocket/logger.js.map +1 -0
  38. package/dist/cjs/lib/websocket/websocket-util.d.ts +30 -0
  39. package/dist/cjs/lib/websocket/websocket-util.js +19 -0
  40. package/dist/cjs/lib/websocket/websocket-util.js.map +1 -0
  41. package/dist/cjs/package.json +3 -0
  42. package/dist/cjs/types/request/futures.types.d.ts +183 -0
  43. package/dist/cjs/types/request/futures.types.js +7 -0
  44. package/dist/cjs/types/request/futures.types.js.map +1 -0
  45. package/dist/cjs/types/request/spot-account.d.ts +56 -0
  46. package/dist/cjs/types/request/spot-account.js +3 -0
  47. package/dist/cjs/types/request/spot-account.js.map +1 -0
  48. package/dist/cjs/types/request/spot-earn.d.ts +27 -0
  49. package/dist/cjs/types/request/spot-earn.js +8 -0
  50. package/dist/cjs/types/request/spot-earn.js.map +1 -0
  51. package/dist/cjs/types/request/spot-funding.d.ts +88 -0
  52. package/dist/cjs/types/request/spot-funding.js +10 -0
  53. package/dist/cjs/types/request/spot-funding.js.map +1 -0
  54. package/dist/cjs/types/request/spot-margin-trading.d.ts +169 -0
  55. package/dist/cjs/types/request/spot-margin-trading.js +10 -0
  56. package/dist/cjs/types/request/spot-margin-trading.js.map +1 -0
  57. package/dist/cjs/types/request/spot-trading.d.ts +214 -0
  58. package/dist/cjs/types/request/spot-trading.js +10 -0
  59. package/dist/cjs/types/request/spot-trading.js.map +1 -0
  60. package/dist/cjs/types/response/futures.types.d.ts +501 -0
  61. package/dist/cjs/types/response/futures.types.js +7 -0
  62. package/dist/cjs/types/response/futures.types.js.map +1 -0
  63. package/dist/cjs/types/response/shared.types.d.ts +9 -0
  64. package/dist/cjs/types/response/shared.types.js +3 -0
  65. package/dist/cjs/types/response/shared.types.js.map +1 -0
  66. package/dist/cjs/types/response/spot-account.d.ts +140 -0
  67. package/dist/cjs/types/response/spot-account.js +3 -0
  68. package/dist/cjs/types/response/spot-account.js.map +1 -0
  69. package/dist/cjs/types/response/spot-earn.d.ts +74 -0
  70. package/dist/cjs/types/response/spot-earn.js +8 -0
  71. package/dist/cjs/types/response/spot-earn.js.map +1 -0
  72. package/dist/cjs/types/response/spot-funding.d.ts +176 -0
  73. package/dist/cjs/types/response/spot-funding.js +10 -0
  74. package/dist/cjs/types/response/spot-funding.js.map +1 -0
  75. package/dist/cjs/types/response/spot-margin-trading.d.ts +257 -0
  76. package/dist/cjs/types/response/spot-margin-trading.js +10 -0
  77. package/dist/cjs/types/response/spot-margin-trading.js.map +1 -0
  78. package/dist/cjs/types/response/spot-trading.d.ts +388 -0
  79. package/dist/cjs/types/response/spot-trading.js +10 -0
  80. package/dist/cjs/types/response/spot-trading.js.map +1 -0
  81. package/dist/cjs/types/response/spot-vip.d.ts +38 -0
  82. package/dist/cjs/types/response/spot-vip.js +10 -0
  83. package/dist/cjs/types/response/spot-vip.js.map +1 -0
  84. package/dist/cjs/types/response/ws.d.ts +11 -0
  85. package/dist/cjs/types/response/ws.js +3 -0
  86. package/dist/cjs/types/response/ws.js.map +1 -0
  87. package/dist/cjs/types/websockets/client.d.ts +46 -0
  88. package/dist/cjs/types/websockets/client.js +3 -0
  89. package/dist/cjs/types/websockets/client.js.map +1 -0
  90. package/dist/cjs/types/websockets/events.d.ts +5 -0
  91. package/dist/cjs/types/websockets/events.js +3 -0
  92. package/dist/cjs/types/websockets/events.js.map +1 -0
  93. package/dist/cjs/types/websockets/requests.d.ts +8 -0
  94. package/dist/cjs/types/websockets/requests.js +3 -0
  95. package/dist/cjs/types/websockets/requests.js.map +1 -0
  96. package/dist/cjs/types/websockets/wsAPI.d.ts +9 -0
  97. package/dist/cjs/types/websockets/wsAPI.js +3 -0
  98. package/dist/cjs/types/websockets/wsAPI.js.map +1 -0
  99. package/dist/mjs/FuturesClient.d.ts +246 -0
  100. package/dist/mjs/FuturesClient.js +257 -0
  101. package/dist/mjs/FuturesClient.js.map +1 -0
  102. package/dist/mjs/SpotClient.d.ts +692 -0
  103. package/dist/mjs/SpotClient.js +741 -0
  104. package/dist/mjs/SpotClient.js.map +1 -0
  105. package/dist/mjs/WebsocketClient.d.ts +77 -0
  106. package/dist/mjs/WebsocketClient.js +333 -0
  107. package/dist/mjs/WebsocketClient.js.map +1 -0
  108. package/dist/mjs/index.d.ts +22 -0
  109. package/dist/mjs/index.js +23 -0
  110. package/dist/mjs/index.js.map +1 -0
  111. package/dist/mjs/lib/BaseRestClient.d.ts +42 -0
  112. package/dist/mjs/lib/BaseRestClient.js +261 -0
  113. package/dist/mjs/lib/BaseRestClient.js.map +1 -0
  114. package/dist/mjs/lib/BaseWSClient.d.ts +168 -0
  115. package/dist/mjs/lib/BaseWSClient.js +615 -0
  116. package/dist/mjs/lib/BaseWSClient.js.map +1 -0
  117. package/dist/mjs/lib/misc-util.d.ts +1 -0
  118. package/dist/mjs/lib/misc-util.js +4 -0
  119. package/dist/mjs/lib/misc-util.js.map +1 -0
  120. package/dist/mjs/lib/requestUtils.d.ts +35 -0
  121. package/dist/mjs/lib/requestUtils.js +49 -0
  122. package/dist/mjs/lib/requestUtils.js.map +1 -0
  123. package/dist/mjs/lib/webCryptoAPI.d.ts +10 -0
  124. package/dist/mjs/lib/webCryptoAPI.js +52 -0
  125. package/dist/mjs/lib/webCryptoAPI.js.map +1 -0
  126. package/dist/mjs/lib/websocket/WsStore.d.ts +63 -0
  127. package/dist/mjs/lib/websocket/WsStore.js +249 -0
  128. package/dist/mjs/lib/websocket/WsStore.js.map +1 -0
  129. package/dist/mjs/lib/websocket/WsStore.types.d.ts +50 -0
  130. package/dist/mjs/lib/websocket/WsStore.types.js +11 -0
  131. package/dist/mjs/lib/websocket/WsStore.types.js.map +1 -0
  132. package/dist/mjs/lib/websocket/logger.d.ts +6 -0
  133. package/dist/mjs/lib/websocket/logger.js +13 -0
  134. package/dist/mjs/lib/websocket/logger.js.map +1 -0
  135. package/dist/mjs/lib/websocket/websocket-util.d.ts +30 -0
  136. package/dist/mjs/lib/websocket/websocket-util.js +15 -0
  137. package/dist/mjs/lib/websocket/websocket-util.js.map +1 -0
  138. package/dist/mjs/package.json +3 -0
  139. package/dist/mjs/types/request/futures.types.d.ts +183 -0
  140. package/dist/mjs/types/request/futures.types.js +6 -0
  141. package/dist/mjs/types/request/futures.types.js.map +1 -0
  142. package/dist/mjs/types/request/spot-account.d.ts +56 -0
  143. package/dist/mjs/types/request/spot-account.js +2 -0
  144. package/dist/mjs/types/request/spot-account.js.map +1 -0
  145. package/dist/mjs/types/request/spot-earn.d.ts +27 -0
  146. package/dist/mjs/types/request/spot-earn.js +7 -0
  147. package/dist/mjs/types/request/spot-earn.js.map +1 -0
  148. package/dist/mjs/types/request/spot-funding.d.ts +88 -0
  149. package/dist/mjs/types/request/spot-funding.js +9 -0
  150. package/dist/mjs/types/request/spot-funding.js.map +1 -0
  151. package/dist/mjs/types/request/spot-margin-trading.d.ts +169 -0
  152. package/dist/mjs/types/request/spot-margin-trading.js +9 -0
  153. package/dist/mjs/types/request/spot-margin-trading.js.map +1 -0
  154. package/dist/mjs/types/request/spot-trading.d.ts +214 -0
  155. package/dist/mjs/types/request/spot-trading.js +9 -0
  156. package/dist/mjs/types/request/spot-trading.js.map +1 -0
  157. package/dist/mjs/types/response/futures.types.d.ts +501 -0
  158. package/dist/mjs/types/response/futures.types.js +6 -0
  159. package/dist/mjs/types/response/futures.types.js.map +1 -0
  160. package/dist/mjs/types/response/shared.types.d.ts +9 -0
  161. package/dist/mjs/types/response/shared.types.js +2 -0
  162. package/dist/mjs/types/response/shared.types.js.map +1 -0
  163. package/dist/mjs/types/response/spot-account.d.ts +140 -0
  164. package/dist/mjs/types/response/spot-account.js +2 -0
  165. package/dist/mjs/types/response/spot-account.js.map +1 -0
  166. package/dist/mjs/types/response/spot-earn.d.ts +74 -0
  167. package/dist/mjs/types/response/spot-earn.js +7 -0
  168. package/dist/mjs/types/response/spot-earn.js.map +1 -0
  169. package/dist/mjs/types/response/spot-funding.d.ts +176 -0
  170. package/dist/mjs/types/response/spot-funding.js +9 -0
  171. package/dist/mjs/types/response/spot-funding.js.map +1 -0
  172. package/dist/mjs/types/response/spot-margin-trading.d.ts +257 -0
  173. package/dist/mjs/types/response/spot-margin-trading.js +9 -0
  174. package/dist/mjs/types/response/spot-margin-trading.js.map +1 -0
  175. package/dist/mjs/types/response/spot-trading.d.ts +388 -0
  176. package/dist/mjs/types/response/spot-trading.js +9 -0
  177. package/dist/mjs/types/response/spot-trading.js.map +1 -0
  178. package/dist/mjs/types/response/spot-vip.d.ts +38 -0
  179. package/dist/mjs/types/response/spot-vip.js +9 -0
  180. package/dist/mjs/types/response/spot-vip.js.map +1 -0
  181. package/dist/mjs/types/response/ws.d.ts +11 -0
  182. package/dist/mjs/types/response/ws.js +2 -0
  183. package/dist/mjs/types/response/ws.js.map +1 -0
  184. package/dist/mjs/types/websockets/client.d.ts +46 -0
  185. package/dist/mjs/types/websockets/client.js +2 -0
  186. package/dist/mjs/types/websockets/client.js.map +1 -0
  187. package/dist/mjs/types/websockets/events.d.ts +5 -0
  188. package/dist/mjs/types/websockets/events.js +2 -0
  189. package/dist/mjs/types/websockets/events.js.map +1 -0
  190. package/dist/mjs/types/websockets/requests.d.ts +8 -0
  191. package/dist/mjs/types/websockets/requests.js +2 -0
  192. package/dist/mjs/types/websockets/requests.js.map +1 -0
  193. package/dist/mjs/types/websockets/wsAPI.d.ts +9 -0
  194. package/dist/mjs/types/websockets/wsAPI.js +2 -0
  195. package/dist/mjs/types/websockets/wsAPI.js.map +1 -0
  196. package/package.json +70 -14
  197. package/LICENSE +0 -21
  198. package/index.js +0 -192
  199. package/test.js +0 -122
@@ -0,0 +1,214 @@
1
+ /**
2
+ *
3
+ ***********
4
+ * Spot Trading
5
+ ***********
6
+ *
7
+ */
8
+ /**
9
+ *
10
+ * Market data
11
+ *
12
+ */
13
+ export interface GetSpotKlinesRequest {
14
+ symbol: string;
15
+ startAt?: number;
16
+ endAt?: number;
17
+ type: '1min' | '3min' | '5min' | '15min' | '30min' | '1hour' | '2hour' | '4hour' | '6hour' | '8hour' | '12hour' | '1day' | '1week' | '1month';
18
+ }
19
+ /**
20
+ *
21
+ * Spot HF trade
22
+ *
23
+ */
24
+ export interface SubmitHFOrderRequest {
25
+ clientOid?: string;
26
+ symbol: string;
27
+ type: 'limit' | 'market';
28
+ side: 'buy' | 'sell';
29
+ stp?: 'CN' | 'CO' | 'CB' | 'DC';
30
+ tags?: string;
31
+ remark?: string;
32
+ }
33
+ export interface SubmitMultipleHFOrdersRequest {
34
+ clientOid?: string;
35
+ symbol: string;
36
+ type: 'limit' | 'market';
37
+ timeInForce?: 'GTC' | 'GTT' | 'IOC' | 'FOK';
38
+ stp?: 'CN' | 'CO' | 'CB' | 'DC';
39
+ side: 'buy' | 'sell';
40
+ price: string;
41
+ size: string;
42
+ cancelAfter?: number;
43
+ postOnly?: boolean;
44
+ hidden?: boolean;
45
+ iceberg?: boolean;
46
+ visibleSize?: string;
47
+ tags?: string;
48
+ remark?: string;
49
+ }
50
+ export interface ModifyHFOrderRequest {
51
+ symbol: string;
52
+ clientOid?: string;
53
+ orderId?: string;
54
+ newPrice?: string;
55
+ newSize?: string;
56
+ }
57
+ export interface CancelSpecifiedNumberHFOrdersRequest {
58
+ orderId: string;
59
+ symbol: string;
60
+ cancelSize: string;
61
+ }
62
+ export interface GetHFCompletedOrdersRequest {
63
+ symbol: string;
64
+ side?: 'buy' | 'sell';
65
+ type?: 'limit' | 'market';
66
+ startAt?: number;
67
+ endAt?: number;
68
+ lastId?: number;
69
+ limit?: number;
70
+ }
71
+ export interface GetHFFilledListRequest {
72
+ orderId?: string;
73
+ symbol: string;
74
+ side?: 'buy' | 'sell';
75
+ type?: 'limit' | 'market';
76
+ startAt?: number;
77
+ endAt?: number;
78
+ lastId?: number;
79
+ limit?: number;
80
+ }
81
+ /**
82
+ *
83
+ * Orders
84
+ *
85
+ */
86
+ export interface SubmitOrderRequest {
87
+ clientOid: string;
88
+ side: 'buy' | 'sell';
89
+ symbol: string;
90
+ type?: 'limit' | 'market';
91
+ remark?: string;
92
+ stp?: 'CN' | 'CO' | 'CB' | 'DC';
93
+ tradeType?: 'TRADE' | 'MARGIN_TRADE';
94
+ price?: string;
95
+ size?: string;
96
+ timeInForce?: 'GTC' | 'GTT' | 'IOC' | 'FOK';
97
+ cancelAfter?: number;
98
+ postOnly?: boolean;
99
+ hidden?: boolean;
100
+ iceberg?: boolean;
101
+ visibleSize?: string;
102
+ funds?: string;
103
+ }
104
+ export interface SubmitMultipleOrdersRequest {
105
+ clientOid: string;
106
+ side: 'buy' | 'sell';
107
+ type?: 'limit';
108
+ remark?: string;
109
+ stop?: 'loss' | 'entry';
110
+ stopPrice?: string;
111
+ stp?: 'CN' | 'CO' | 'CB' | 'DC';
112
+ tradeType?: 'TRADE';
113
+ price: string;
114
+ size: string;
115
+ timeInForce?: 'GTC' | 'GTT' | 'IOC' | 'FOK';
116
+ cancelAfter?: number;
117
+ postOnly?: boolean;
118
+ hidden?: boolean;
119
+ iceberg?: boolean;
120
+ visibleSize?: string;
121
+ }
122
+ export interface CancelAllOrdersRequest {
123
+ symbol?: string;
124
+ tradeType?: 'TRADE' | 'MARGIN_TRADE' | 'MARGIN_ISOLATED_TRADE';
125
+ }
126
+ export interface GetOrderListRequest {
127
+ status?: 'active' | 'done';
128
+ symbol?: string;
129
+ side?: 'buy' | 'sell';
130
+ type?: 'limit' | 'market' | 'limit_stop' | 'market_stop';
131
+ tradeType?: 'TRADE' | 'MARGIN_TRADE' | 'MARGIN_ISOLATED_TRADE';
132
+ startAt?: number;
133
+ endAt?: number;
134
+ }
135
+ /**
136
+ *
137
+ * Fills
138
+ *
139
+ */
140
+ export interface GetFillsRequest {
141
+ orderId?: string;
142
+ symbol?: string;
143
+ side?: 'buy' | 'sell';
144
+ type?: 'limit' | 'market' | 'limit_stop' | 'market_stop';
145
+ startAt?: number;
146
+ endAt?: number;
147
+ tradeType: 'TRADE' | 'MARGIN_TRADE' | 'MARGIN_ISOLATED_TRADE';
148
+ }
149
+ /**
150
+ *
151
+ * Stop order
152
+ *
153
+ */
154
+ export interface SubmitStopOrderRequest {
155
+ clientOid: string;
156
+ side: 'buy' | 'sell';
157
+ symbol: string;
158
+ type?: 'limit' | 'market';
159
+ remark?: string;
160
+ stop?: 'loss' | 'entry';
161
+ stopPrice?: string;
162
+ stp?: 'CN' | 'CO' | 'CB' | 'DC';
163
+ tradeType?: 'TRADE' | 'MARGIN_TRADE' | 'MARGIN_ISOLATED_TRADE';
164
+ price?: string;
165
+ size?: string;
166
+ timeInForce?: 'GTC' | 'GTT' | 'IOC' | 'FOK';
167
+ cancelAfter?: number;
168
+ postOnly?: boolean;
169
+ hidden?: boolean;
170
+ iceberg?: boolean;
171
+ visibleSize?: string;
172
+ funds?: string;
173
+ }
174
+ export interface CancelStopOrdersRequest {
175
+ symbol?: string;
176
+ tradeType?: 'TRADE' | 'MARGIN_TRADE' | 'MARGIN_ISOLATED_TRADE';
177
+ orderIds?: string;
178
+ }
179
+ export interface GetStopOrdersListRequest {
180
+ symbol?: string;
181
+ side?: 'buy' | 'sell';
182
+ type?: 'limit' | 'market' | 'limit_stop' | 'market_stop';
183
+ tradeType?: 'TRADE' | 'MARGIN_TRADE' | 'MARGIN_ISOLATED_TRADE';
184
+ startAt?: number;
185
+ endAt?: number;
186
+ currentPage?: number;
187
+ orderIds?: string;
188
+ pageSize?: number;
189
+ stop?: 'stop' | 'oco';
190
+ }
191
+ /**
192
+ *
193
+ * OCO order
194
+ *
195
+ */
196
+ export interface SubmitOCOOrderRequest {
197
+ symbol: string;
198
+ side: 'buy' | 'sell';
199
+ price: string;
200
+ size: string;
201
+ stopPrice: string;
202
+ limitPrice: string;
203
+ tradeType?: 'TRADE';
204
+ clientOid: string;
205
+ remark?: string;
206
+ }
207
+ export interface GetOCOOrdersRequest {
208
+ pageSize: string;
209
+ currentPage: string;
210
+ symbol?: string;
211
+ startAt?: number;
212
+ endAt?: number;
213
+ orderIds?: string;
214
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ /**
3
+ *
4
+ ***********
5
+ * Spot Trading
6
+ ***********
7
+ *
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ //# sourceMappingURL=spot-trading.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spot-trading.js","sourceRoot":"","sources":["../../../../src/types/request/spot-trading.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG"}
@@ -0,0 +1,501 @@
1
+ /**
2
+ * REST - ACCOUNT - BASIC INFO
3
+ * Get Account Ledgers - Futures
4
+ */
5
+ export interface FuturesAccountTransaction {
6
+ time: number;
7
+ type: 'RealisedPNL' | 'Deposit' | 'Withdrawal' | 'TransferIn' | 'TransferOut';
8
+ amount: number;
9
+ fee: number | null;
10
+ accountEquity: number;
11
+ status: 'Completed' | 'Pending';
12
+ remark: string;
13
+ offset: number;
14
+ currency: string;
15
+ }
16
+ /**
17
+ * REST - ACCOUNT - SUBACCOUNT API
18
+ */
19
+ export interface SubAccountAPI {
20
+ apiKey: string;
21
+ createdAt: number;
22
+ ipWhitelist: string;
23
+ permission: string;
24
+ remark: string;
25
+ subName: string;
26
+ }
27
+ export type CreateSubAccountAPI = SubAccountAPI & {
28
+ apiSecret: string;
29
+ passphrase: string;
30
+ };
31
+ export interface UpdateSubAccountAPI {
32
+ apiKey: string;
33
+ ipWhitelist: string;
34
+ permission: string;
35
+ subName: string;
36
+ }
37
+ /**
38
+ * REST - FUNDING - FUNDING OVERVIEW
39
+ */
40
+ export interface AccountBalance {
41
+ accountEquity: number;
42
+ unrealisedPNL: number;
43
+ marginBalance: number;
44
+ positionMargin: number;
45
+ orderMargin: number;
46
+ frozenFunds: number;
47
+ availableBalance: number;
48
+ currency: string;
49
+ }
50
+ export interface AccountSummary {
51
+ accountEquityTotal: number;
52
+ unrealisedPNLTotal: number;
53
+ marginBalanceTotal: number;
54
+ positionMarginTotal: number;
55
+ orderMarginTotal: number;
56
+ frozenFundsTotal: number;
57
+ availableBalanceTotal: number;
58
+ currency: string;
59
+ }
60
+ export type SubBalance = AccountBalance & {
61
+ accountName: string;
62
+ };
63
+ /**
64
+ * REST - FUNDING - TRANSFER
65
+ */
66
+ export interface TransferDetail {
67
+ applyId: string;
68
+ bizNo: string;
69
+ payAccountType: string;
70
+ payTag: string;
71
+ remark: string;
72
+ recAccountType: string;
73
+ recTag: string;
74
+ recRemark: string;
75
+ recSystem: string;
76
+ status: string;
77
+ currency: string;
78
+ amount: string;
79
+ fee: string;
80
+ sn: number;
81
+ reason: string;
82
+ createdAt: number;
83
+ updatedAt: number;
84
+ }
85
+ interface TransferOutRequestRecord {
86
+ applyId: string;
87
+ currency: string;
88
+ recRemark: string;
89
+ recSystem: string;
90
+ status: string;
91
+ amount: string;
92
+ reason: string;
93
+ offset: number;
94
+ createdAt: number;
95
+ remark: string;
96
+ }
97
+ export interface FuturesTransferRecords {
98
+ currentPage: number;
99
+ pageSize: number;
100
+ totalNum: number;
101
+ totalPage: number;
102
+ items: TransferOutRequestRecord[];
103
+ }
104
+ /**
105
+ *
106
+ * Futures Market Data
107
+ *
108
+ */
109
+ export interface FuturesSymbolInfo {
110
+ symbol: string;
111
+ rootSymbol: string;
112
+ type: string;
113
+ firstOpenDate: number;
114
+ expireDate: number | null;
115
+ settleDate: number | null;
116
+ baseCurrency: string;
117
+ quoteCurrency: string;
118
+ settleCurrency: string;
119
+ maxOrderQty: number;
120
+ maxPrice: number;
121
+ lotSize: number;
122
+ tickSize: number;
123
+ indexPriceTickSize: number;
124
+ multiplier: number;
125
+ initialMargin: number;
126
+ maintainMargin: number;
127
+ maxRiskLimit: number;
128
+ minRiskLimit: number;
129
+ riskStep: number;
130
+ makerFeeRate: number;
131
+ takerFeeRate: number;
132
+ takerFixFee: number;
133
+ makerFixFee: number;
134
+ settlementFee: number | null;
135
+ isDeleverage: boolean;
136
+ isQuanto: boolean;
137
+ isInverse: boolean;
138
+ markMethod: string;
139
+ fairMethod: string;
140
+ fundingBaseSymbol: string;
141
+ fundingQuoteSymbol: string;
142
+ fundingRateSymbol: string;
143
+ indexSymbol: string;
144
+ settlementSymbol: string;
145
+ status: string;
146
+ fundingFeeRate: number;
147
+ predictedFundingFeeRate: number;
148
+ openInterest: string;
149
+ turnoverOf24h: number;
150
+ volumeOf24h: number;
151
+ markPrice: number;
152
+ indexPrice: number;
153
+ lastTradePrice: number;
154
+ nextFundingRateTime: number;
155
+ maxLeverage: number;
156
+ sourceExchanges: string[];
157
+ premiumsSymbol1M: string;
158
+ premiumsSymbol8H: string;
159
+ fundingBaseSymbol1M: string;
160
+ fundingQuoteSymbol1M: string;
161
+ lowPrice: number;
162
+ highPrice: number;
163
+ priceChgPct: number;
164
+ priceChg: number;
165
+ }
166
+ export interface TickerDetail {
167
+ sequence: number;
168
+ symbol: string;
169
+ side: string;
170
+ size: number;
171
+ price: string;
172
+ bestBidSize: number;
173
+ bestBidPrice: string;
174
+ bestAskSize: number;
175
+ bestAskPrice: string;
176
+ tradeId: string;
177
+ ts: number;
178
+ }
179
+ export interface MarketTradeDetail {
180
+ sequence: number;
181
+ tradeId: string;
182
+ takerOrderId: string;
183
+ makerOrderId: string;
184
+ price: string;
185
+ size: number;
186
+ side: string;
187
+ ts: number;
188
+ }
189
+ export interface FullOrderBookDetail {
190
+ symbol: string;
191
+ sequence: number;
192
+ asks: [string, number][];
193
+ bids: [string, number][];
194
+ ts: number;
195
+ }
196
+ export type FuturesKline = [
197
+ number,
198
+ number,
199
+ number,
200
+ number,
201
+ number,
202
+ number
203
+ ];
204
+ export interface InterestRateItem {
205
+ symbol: string;
206
+ granularity: number;
207
+ timePoint: number;
208
+ value: number;
209
+ }
210
+ export interface IndexListItem {
211
+ symbol: string;
212
+ granularity: number;
213
+ timePoint: number;
214
+ value: number;
215
+ decomposionList: {
216
+ exchange: string;
217
+ price: number;
218
+ weight: number;
219
+ }[];
220
+ }
221
+ export interface FuturesMarkPrice {
222
+ symbol: string;
223
+ granularity: number;
224
+ timePoint: number;
225
+ value: number;
226
+ indexPrice: number;
227
+ }
228
+ export interface PremiumIndexItem {
229
+ symbol: string;
230
+ granularity: number;
231
+ timePoint: number;
232
+ value: number;
233
+ }
234
+ /**
235
+ *
236
+ ***********
237
+ * Account
238
+ ***********
239
+ *
240
+ */
241
+ /**
242
+ *
243
+ * Orders
244
+ *
245
+ */
246
+ export interface FuturesOrder {
247
+ id: string;
248
+ symbol: string;
249
+ type: string;
250
+ side: string;
251
+ price: string;
252
+ size: number;
253
+ value: string;
254
+ dealValue: string;
255
+ dealSize: number;
256
+ stp: string;
257
+ stop: string;
258
+ stopPriceType: string;
259
+ stopTriggered: boolean;
260
+ stopPrice: string | null;
261
+ timeInForce: string;
262
+ postOnly: boolean;
263
+ hidden: boolean;
264
+ iceberg: boolean;
265
+ leverage: string;
266
+ forceHold: boolean;
267
+ closeOrder: boolean;
268
+ visibleSize: number | null;
269
+ clientOid: string;
270
+ remark: string | null;
271
+ tags: string | null;
272
+ isActive: boolean;
273
+ cancelExist: boolean;
274
+ createdAt: number;
275
+ updatedAt: number;
276
+ endAt: number;
277
+ orderTime: number;
278
+ settleCurrency: string;
279
+ status: string;
280
+ filledSize: number;
281
+ filledValue: string;
282
+ reduceOnly: boolean;
283
+ }
284
+ export interface SubmitMultipleOrdersFuturesResponse {
285
+ orderId: string;
286
+ clientOid: string;
287
+ symbol: string;
288
+ code: string;
289
+ msg: string;
290
+ }
291
+ export interface FuturesOrders {
292
+ currentPage: number;
293
+ pageSize: number;
294
+ totalNum: number;
295
+ totalPage: number;
296
+ items: FuturesOrder[];
297
+ }
298
+ /**
299
+ *
300
+ * Futures Fills
301
+ *
302
+ */
303
+ export interface FuturesFill {
304
+ symbol: string;
305
+ tradeId: string;
306
+ orderId: string;
307
+ side: string;
308
+ liquidity: string;
309
+ forceTaker: boolean;
310
+ price: string;
311
+ size: number;
312
+ value: string;
313
+ feeRate: string;
314
+ fixFee: string;
315
+ feeCurrency: string;
316
+ stop: string;
317
+ fee: string;
318
+ orderType: string;
319
+ tradeType: string;
320
+ createdAt: number;
321
+ settleCurrency: string;
322
+ openFeePay: string;
323
+ closeFeePay: string;
324
+ tradeTime: number;
325
+ }
326
+ export interface FuturesFills {
327
+ currentPage: number;
328
+ pageSize: number;
329
+ totalNum: number;
330
+ totalPage: number;
331
+ items: FuturesFill[];
332
+ }
333
+ export interface FuturesActiveOrder {
334
+ openOrderBuySize: number;
335
+ openOrderSellSize: number;
336
+ openOrderBuyCost: string;
337
+ openOrderSellCost: string;
338
+ settleCurrency: string;
339
+ }
340
+ /**
341
+ *
342
+ * Futures Positions
343
+ *
344
+ */
345
+ export interface MaxOpenSize {
346
+ symbol: string;
347
+ maxBuyOpenSize: number;
348
+ maxSellOpenSize: number;
349
+ }
350
+ export interface FuturesPosition {
351
+ id: string;
352
+ symbol: string;
353
+ autoDeposit: boolean;
354
+ maintMarginReq: number;
355
+ riskLimit: number;
356
+ realLeverage: number;
357
+ crossMode: boolean;
358
+ delevPercentage: number;
359
+ openingTimestamp: number;
360
+ currentTimestamp: number;
361
+ currentQty: number;
362
+ currentCost: number;
363
+ currentComm: number;
364
+ unrealisedCost: number;
365
+ realisedGrossCost: number;
366
+ realisedCost: number;
367
+ isOpen: boolean;
368
+ markPrice: number;
369
+ markValue: number;
370
+ posCost: number;
371
+ posCross: number;
372
+ posInit: number;
373
+ posComm: number;
374
+ posLoss: number;
375
+ posMargin: number;
376
+ posMaint: number;
377
+ maintMargin: number;
378
+ realisedGrossPnl: number;
379
+ realisedPnl: number;
380
+ unrealisedPnl: number;
381
+ unrealisedPnlPcnt: number;
382
+ unrealisedRoePcnt: number;
383
+ avgEntryPrice: number;
384
+ liquidationPrice: number;
385
+ bankruptPrice: number;
386
+ settleCurrency: string;
387
+ maintainMargin: number;
388
+ userId: number;
389
+ riskLimitLevel: number;
390
+ }
391
+ export interface AddMargin {
392
+ id: string;
393
+ symbol: string;
394
+ autoDeposit: boolean;
395
+ maintMarginReq: number;
396
+ riskLimit: number;
397
+ realLeverage: number;
398
+ crossMode: boolean;
399
+ delevPercentage: number;
400
+ openingTimestamp: number;
401
+ currentTimestamp: number;
402
+ currentQty: number;
403
+ currentCost: number;
404
+ currentComm: number;
405
+ unrealisedCost: number;
406
+ realisedGrossCost: number;
407
+ realisedCost: number;
408
+ isOpen: boolean;
409
+ markPrice: number;
410
+ markValue: number;
411
+ posCost: number;
412
+ posCross: number;
413
+ posInit: number;
414
+ posComm: number;
415
+ posLoss: number;
416
+ posMargin: number;
417
+ posMaint: number;
418
+ maintMargin: number;
419
+ realisedGrossPnl: number;
420
+ realisedPnl: number;
421
+ unrealisedPnl: number;
422
+ unrealisedPnlPcnt: number;
423
+ unrealisedRoePcnt: number;
424
+ avgEntryPrice: number;
425
+ liquidationPrice: number;
426
+ bankruptPrice: number;
427
+ settleCurrency: string;
428
+ userId: number;
429
+ }
430
+ /**
431
+ *
432
+ * Futures risk limit
433
+ *
434
+ */
435
+ export interface FuturesRiskLimit {
436
+ symbol: string;
437
+ level: number;
438
+ maxRiskLimit: number;
439
+ minRiskLimit: number;
440
+ maxLeverage: number;
441
+ initialMargin: number;
442
+ maintainMargin: number;
443
+ }
444
+ /**
445
+ *
446
+ * Futures funding fees
447
+ *
448
+ */
449
+ export interface FuturesCurrentFundingRate {
450
+ symbol: string;
451
+ granularity: number;
452
+ timePoint: number;
453
+ value: number;
454
+ predictedValue: number;
455
+ }
456
+ export interface FuturesHistoricFundingRate {
457
+ symbol: string;
458
+ timePoint: number;
459
+ fundingRate: number;
460
+ }
461
+ export interface FuturesAccountFundingRateHistory {
462
+ id: number;
463
+ symbol: string;
464
+ timePoint: number;
465
+ fundingRate: number;
466
+ markPrice: number;
467
+ positionQty: number;
468
+ positionCost: number;
469
+ funding: number;
470
+ settleCurrency: string;
471
+ }
472
+ export interface FuturesClosedPosition {
473
+ closeId: string;
474
+ positionId: string;
475
+ uid: number;
476
+ userId: string;
477
+ symbol: string;
478
+ settleCurrency: string;
479
+ leverage: string;
480
+ type: string;
481
+ side: string | null;
482
+ closeSize: number | null;
483
+ pnl: string;
484
+ realisedGrossCost: string;
485
+ withdrawPnl: string;
486
+ roe: number | null;
487
+ tradeFee: string;
488
+ fundingFee: string;
489
+ openTime: number;
490
+ closeTime: number;
491
+ openPrice: number | null;
492
+ closePrice: number | null;
493
+ }
494
+ export interface FuturesClosedPositions {
495
+ currentPage: number;
496
+ pageSize: number;
497
+ totalNum: number;
498
+ totalPage: number;
499
+ items: FuturesClosedPosition[];
500
+ }
501
+ export {};