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,246 @@
1
+ import { AxiosRequestConfig } from 'axios';
2
+ import { BaseRestClient } from './lib/BaseRestClient.js';
3
+ import { RestClientOptions, RestClientType } from './lib/requestUtils.js';
4
+ import { AccountFillsRequest, CreateSubAPIRequest, DeleteSubAPIRequest, GetFundingHistoryRequest, GetFundingRatesRequest, GetInterestRatesRequest, GetKlinesRequest, GetOrdersRequest, GetStopOrdersRequest, GetSubAPIsRequest, GetTransactionsRequest, GetTransfersRequest, MaxOpenSizeRequest, Order, SubmitTransfer, UpdateSubAPIRequest } from './types/request/futures.types.js';
5
+ import { AccountBalance, AccountSummary, AddMargin, CreateSubAccountAPI, FullOrderBookDetail, FuturesAccountFundingRateHistory, FuturesAccountTransaction, FuturesActiveOrder, FuturesClosedPositions, FuturesCurrentFundingRate, FuturesFill, FuturesFills, FuturesHistoricFundingRate, FuturesKline, FuturesMarkPrice, FuturesOrder, FuturesOrders, FuturesPosition, FuturesRiskLimit, FuturesSymbolInfo, FuturesTransferRecords, IndexListItem, InterestRateItem, MarketTradeDetail, MaxOpenSize, PremiumIndexItem, SubAccountAPI, SubBalance, SubmitMultipleOrdersFuturesResponse, TickerDetail, TransferDetail, UpdateSubAccountAPI } from './types/response/futures.types.js';
6
+ import { APISuccessResponse } from './types/response/shared.types.js';
7
+ import { WsConnectionInfo } from './types/response/ws.js';
8
+ /**
9
+ *
10
+ */
11
+ export declare class FuturesClient extends BaseRestClient {
12
+ constructor(restClientOptions?: RestClientOptions, requestOptions?: AxiosRequestConfig);
13
+ getClientType(): RestClientType;
14
+ /**
15
+ *
16
+ * Misc Utility Methods
17
+ *
18
+ */
19
+ generateNewOrderID(): string;
20
+ getServerTime(): Promise<any>;
21
+ getServiceStatus(): Promise<any>;
22
+ /**
23
+ * REST - ACCOUNT - BASIC INFO
24
+ * Get Account Ledgers - Futures
25
+ */
26
+ getTransactions(params: GetTransactionsRequest): Promise<APISuccessResponse<{
27
+ hasMore: boolean;
28
+ dataList: FuturesAccountTransaction[];
29
+ }>>;
30
+ /**
31
+ * REST - ACCOUNT - SUBACCOUNT API
32
+ */
33
+ getSubAPIs(params: GetSubAPIsRequest): Promise<APISuccessResponse<SubAccountAPI[]>>;
34
+ createSubAPI(params: CreateSubAPIRequest): Promise<APISuccessResponse<CreateSubAccountAPI>>;
35
+ updateSubAPI(params: UpdateSubAPIRequest): Promise<APISuccessResponse<UpdateSubAccountAPI>>;
36
+ deleteSubAPI(params: DeleteSubAPIRequest): Promise<APISuccessResponse<{
37
+ subName: string;
38
+ apiKey: string;
39
+ }>>;
40
+ /**
41
+ * REST - FUNDING - FUNDING OVERVIEW
42
+ */
43
+ getBalance(params?: {
44
+ currency?: string;
45
+ }): Promise<APISuccessResponse<AccountBalance>>;
46
+ getSubBalances(params?: {
47
+ currency?: string;
48
+ }): Promise<APISuccessResponse<{
49
+ summary: AccountSummary;
50
+ accounts: SubBalance[];
51
+ }>>;
52
+ /**
53
+ * REST - FUNDING - TRANSFER
54
+ */
55
+ submitTransferOut(params: SubmitTransfer): Promise<Promise<APISuccessResponse<TransferDetail>>>;
56
+ submitTransferIn(params: SubmitTransfer): Promise<any>;
57
+ getTransfers(params: GetTransfersRequest): Promise<APISuccessResponse<FuturesTransferRecords>>;
58
+ /**
59
+ * REST - FUNDING - TRADE FEE
60
+ */
61
+ getTradingPairFee(params: {
62
+ symbols: string;
63
+ }): Promise<APISuccessResponse<{
64
+ symbol: string;
65
+ takerFeeRate: string;
66
+ makerFeeRate: string;
67
+ }>>;
68
+ /**
69
+ *
70
+ * REST - FUTURES TRADING - Market Data
71
+ *
72
+ */
73
+ getSymbols(): Promise<APISuccessResponse<FuturesSymbolInfo[]>>;
74
+ getSymbol(params: {
75
+ symbol: string;
76
+ }): Promise<APISuccessResponse<FuturesSymbolInfo>>;
77
+ getTicker(params: {
78
+ symbol: string;
79
+ }): Promise<APISuccessResponse<TickerDetail>>;
80
+ getTickers(): Promise<APISuccessResponse<TickerDetail[]>>;
81
+ getFullOrderBookLevel2(params: {
82
+ symbol: string;
83
+ }): Promise<APISuccessResponse<FullOrderBookDetail>>;
84
+ getPartOrderBookLevel2Depth20(params: {
85
+ symbol: string;
86
+ }): Promise<APISuccessResponse<FullOrderBookDetail>>;
87
+ getPartOrderBookLevel2Depth100(params: {
88
+ symbol: string;
89
+ }): Promise<APISuccessResponse<FullOrderBookDetail>>;
90
+ getMarketTrades(params: {
91
+ symbol: string;
92
+ }): Promise<APISuccessResponse<MarketTradeDetail>>;
93
+ getKlines(params: GetKlinesRequest): Promise<APISuccessResponse<FuturesKline[]>>;
94
+ getInterestRates(params: GetInterestRatesRequest): Promise<APISuccessResponse<{
95
+ dataList: InterestRateItem[];
96
+ hasMore: boolean;
97
+ }>>;
98
+ getIndex(params: GetInterestRatesRequest): Promise<APISuccessResponse<{
99
+ dataList: IndexListItem[];
100
+ hasMore: boolean;
101
+ }>>;
102
+ getMarkPrice(params: {
103
+ symbol: string;
104
+ }): Promise<APISuccessResponse<FuturesMarkPrice>>;
105
+ getPremiumIndex(params: GetInterestRatesRequest): Promise<APISuccessResponse<{
106
+ dataList: PremiumIndexItem[];
107
+ hasMore: boolean;
108
+ }>>;
109
+ get24HourTransactionVolume(): Promise<APISuccessResponse<{
110
+ turnoverOf24h: number;
111
+ }>>;
112
+ /**
113
+ *
114
+ * REST - FUTURES TRADING - Orders
115
+ *
116
+ */
117
+ submitOrder(params: Order): Promise<APISuccessResponse<{
118
+ orderId: string;
119
+ }>>;
120
+ submitNewOrderTest(): Promise<any>;
121
+ cancelOrderById(params: {
122
+ orderId: string;
123
+ }): Promise<APISuccessResponse<{
124
+ cancelledOrderIds: string[];
125
+ }>>;
126
+ cancelOrderByClientOid(params: {
127
+ clientOid: string;
128
+ }): Promise<APISuccessResponse<{
129
+ clientOid: string;
130
+ }>>;
131
+ submitMultipleOrders(params: Order[]): Promise<APISuccessResponse<SubmitMultipleOrdersFuturesResponse[]>>;
132
+ cancelAllOrders(params?: {
133
+ symbol?: string;
134
+ }): Promise<APISuccessResponse<{
135
+ cancelledOrderIds: string[];
136
+ }>>;
137
+ cancelAllStopOrders(params?: {
138
+ symbol?: string;
139
+ }): Promise<APISuccessResponse<{
140
+ cancelledOrderIds: string[];
141
+ }>>;
142
+ getOrders(params?: GetOrdersRequest): Promise<APISuccessResponse<FuturesOrders>>;
143
+ getStopOrders(params?: GetStopOrdersRequest): Promise<APISuccessResponse<FuturesOrders>>;
144
+ getRecentOrders(params?: {
145
+ symbol?: string;
146
+ }): Promise<APISuccessResponse<FuturesOrder[]>>;
147
+ getOrderByOrderId(params: {
148
+ orderId: string;
149
+ }): Promise<APISuccessResponse<FuturesOrder>>;
150
+ getOrderByClientOrderId(params: {
151
+ clientOid: string;
152
+ }): Promise<APISuccessResponse<FuturesOrder>>;
153
+ /**
154
+ *
155
+ * REST - FUTURES TRADING - Fills
156
+ *
157
+ */
158
+ /**
159
+ * Get a list of recent fills.
160
+ *
161
+ * If you need to get your recent trade history with low latency, please query endpoint Get List of Orders Completed in 24h.
162
+ * The requested data is not real-time.
163
+ */
164
+ getFills(params?: AccountFillsRequest): Promise<APISuccessResponse<FuturesFills>>;
165
+ /**
166
+ * Get a list of recent 1000 fills in the last 24 hours.
167
+ *
168
+ * If you need to get your recent traded order history with low latency, you may query this endpoint.
169
+ */
170
+ getRecentFills(params?: {
171
+ symbol?: string;
172
+ }): Promise<APISuccessResponse<FuturesFill[]>>;
173
+ getOpenOrderStatistics(params: {
174
+ symbol: string;
175
+ }): Promise<APISuccessResponse<FuturesActiveOrder>>;
176
+ /**
177
+ *
178
+ * REST - FUTURES TRADING - Positions
179
+ *
180
+ */
181
+ getMaxOpenSize(params: MaxOpenSizeRequest): Promise<APISuccessResponse<MaxOpenSize>>;
182
+ getPosition(params: {
183
+ symbol: string;
184
+ }): Promise<APISuccessResponse<FuturesPosition>>;
185
+ getPositions(params?: {
186
+ currency?: string;
187
+ }): Promise<APISuccessResponse<FuturesPosition[]>>;
188
+ getHistoryPositions(params?: {
189
+ symbol?: string;
190
+ from?: number;
191
+ to?: number;
192
+ limit?: number;
193
+ pageId?: number;
194
+ }): Promise<APISuccessResponse<FuturesClosedPositions>>;
195
+ updateAutoDepositStatus(params: {
196
+ symbol: string;
197
+ status: boolean;
198
+ }): Promise<APISuccessResponse<boolean>>;
199
+ getMaxWithdrawMargin(params: {
200
+ symbol: string;
201
+ }): Promise<APISuccessResponse<number>>;
202
+ withdrawMargin(params: {
203
+ symbol: string;
204
+ withdrawAmount: string;
205
+ }): Promise<APISuccessResponse<{
206
+ sybmol: string;
207
+ withdrawAmount: number;
208
+ }>>;
209
+ depositMargin(params: {
210
+ symbol: string;
211
+ margin: number;
212
+ bizNo: string;
213
+ }): Promise<APISuccessResponse<AddMargin>>;
214
+ /**
215
+ *
216
+ * REST - FUTURES TRADING - Risk limit
217
+ *
218
+ */
219
+ getRiskLimitLevel(params: {
220
+ symbol: string;
221
+ }): Promise<APISuccessResponse<FuturesRiskLimit[]>>;
222
+ updateRiskLimitLevel(params: {
223
+ symbol: string;
224
+ level: number;
225
+ }): Promise<any>;
226
+ /**
227
+ *
228
+ * REST - FUTURES TRADING - Funding fees
229
+ *
230
+ */
231
+ getFundingRate(params: {
232
+ symbol: string;
233
+ }): Promise<APISuccessResponse<FuturesCurrentFundingRate>>;
234
+ getFundingRates(params: GetFundingRatesRequest): Promise<APISuccessResponse<FuturesHistoricFundingRate[]>>;
235
+ getFundingHistory(params: GetFundingHistoryRequest): Promise<APISuccessResponse<{
236
+ dataList: FuturesAccountFundingRateHistory[];
237
+ hasMore: boolean;
238
+ }>>;
239
+ /**
240
+ *
241
+ * WebSockets
242
+ *
243
+ */
244
+ getPublicWSConnectionToken(): Promise<APISuccessResponse<WsConnectionInfo>>;
245
+ getPrivateWSConnectionToken(): Promise<APISuccessResponse<WsConnectionInfo>>;
246
+ }
@@ -0,0 +1,257 @@
1
+ import { nanoid } from 'nanoid';
2
+ import { BaseRestClient } from './lib/BaseRestClient.js';
3
+ import { REST_CLIENT_TYPE_ENUM, } from './lib/requestUtils.js';
4
+ /**
5
+ *
6
+ */
7
+ export class FuturesClient extends BaseRestClient {
8
+ constructor(restClientOptions = {}, requestOptions = {}) {
9
+ super(restClientOptions, requestOptions);
10
+ return this;
11
+ }
12
+ getClientType() {
13
+ return REST_CLIENT_TYPE_ENUM.futures;
14
+ }
15
+ /**
16
+ *
17
+ * Misc Utility Methods
18
+ *
19
+ */
20
+ generateNewOrderID() {
21
+ return nanoid(32);
22
+ }
23
+ getServerTime() {
24
+ return this.get('api/v1/timestamp');
25
+ }
26
+ getServiceStatus() {
27
+ return this.get('api/v1/status');
28
+ }
29
+ /**
30
+ * REST - ACCOUNT - BASIC INFO
31
+ * Get Account Ledgers - Futures
32
+ */
33
+ getTransactions(params) {
34
+ return this.getPrivate('api/v1/transaction-history', params);
35
+ }
36
+ /**
37
+ * REST - ACCOUNT - SUBACCOUNT API
38
+ */
39
+ getSubAPIs(params) {
40
+ return this.getPrivate('api/v1/sub/api-key', params);
41
+ }
42
+ createSubAPI(params) {
43
+ return this.postPrivate('api/v1/sub/api-key', params);
44
+ }
45
+ updateSubAPI(params) {
46
+ return this.postPrivate('api/v1/sub/api-key/update', params);
47
+ }
48
+ deleteSubAPI(params) {
49
+ return this.deletePrivate('api/v1/sub/api-key', params);
50
+ }
51
+ /**
52
+ * REST - FUNDING - FUNDING OVERVIEW
53
+ */
54
+ getBalance(params) {
55
+ return this.getPrivate('api/v1/account-overview', params);
56
+ }
57
+ getSubBalances(params) {
58
+ return this.getPrivate('api/v1/account-overview-all', params);
59
+ }
60
+ /**
61
+ * REST - FUNDING - TRANSFER
62
+ */
63
+ submitTransferOut(params) {
64
+ return this.postPrivate('api/v3/transfer-out', params);
65
+ }
66
+ submitTransferIn(params) {
67
+ return this.postPrivate('api/v1/transfer-in', params);
68
+ }
69
+ getTransfers(params) {
70
+ return this.getPrivate('api/v1/transfer-list', params);
71
+ }
72
+ /**
73
+ * REST - FUNDING - TRADE FEE
74
+ */
75
+ getTradingPairFee(params) {
76
+ return this.getPrivate('/api/v1/trade-fees', params);
77
+ }
78
+ /**
79
+ *
80
+ * REST - FUTURES TRADING - Market Data
81
+ *
82
+ */
83
+ getSymbols() {
84
+ return this.get('api/v1/contracts/active');
85
+ }
86
+ getSymbol(params) {
87
+ return this.get(`api/v1/contracts/${params.symbol}`);
88
+ }
89
+ getTicker(params) {
90
+ return this.get('api/v1/ticker', params);
91
+ }
92
+ getTickers() {
93
+ return this.get('api/v1/allTickers');
94
+ }
95
+ getFullOrderBookLevel2(params) {
96
+ return this.get('api/v1/level2/snapshot', params);
97
+ }
98
+ getPartOrderBookLevel2Depth20(params) {
99
+ return this.get('api/v1/level2/depth20', params);
100
+ }
101
+ getPartOrderBookLevel2Depth100(params) {
102
+ return this.get('api/v1/level2/depth100', params);
103
+ }
104
+ getMarketTrades(params) {
105
+ return this.get('api/v1/trade/history', params);
106
+ }
107
+ getKlines(params) {
108
+ return this.get('api/v1/kline/query', params);
109
+ }
110
+ getInterestRates(params) {
111
+ return this.get('api/v1/interest/query', params);
112
+ }
113
+ getIndex(params) {
114
+ return this.get('api/v1/index/query', params);
115
+ }
116
+ getMarkPrice(params) {
117
+ return this.get(`api/v1/mark-price/${params.symbol}/current`);
118
+ }
119
+ getPremiumIndex(params) {
120
+ return this.get('api/v1/premium/query', params);
121
+ }
122
+ get24HourTransactionVolume() {
123
+ return this.get('api/v1/trade-statistics');
124
+ }
125
+ /**
126
+ *
127
+ * REST - FUTURES TRADING - Orders
128
+ *
129
+ */
130
+ submitOrder(params) {
131
+ return this.postPrivate('api/v1/orders', params);
132
+ }
133
+ submitNewOrderTest() {
134
+ return this.postPrivate('api/v1/orders/test');
135
+ }
136
+ cancelOrderById(params) {
137
+ return this.deletePrivate(`api/v1/orders/${params.orderId}`);
138
+ }
139
+ cancelOrderByClientOid(params) {
140
+ return this.deletePrivate(`api/v1/orders/client-order/${params.clientOid}`);
141
+ }
142
+ submitMultipleOrders(params) {
143
+ return this.postPrivate('api/v1/orders/multi', params);
144
+ }
145
+ cancelAllOrders(params) {
146
+ return this.deletePrivate('api/v1/orders', params);
147
+ }
148
+ cancelAllStopOrders(params) {
149
+ return this.deletePrivate('api/v1/stopOrders', params);
150
+ }
151
+ getOrders(params) {
152
+ return this.getPrivate('api/v1/orders', params);
153
+ }
154
+ getStopOrders(params) {
155
+ return this.getPrivate('api/v1/stopOrders', params);
156
+ }
157
+ getRecentOrders(params) {
158
+ return this.getPrivate('api/v1/recentDoneOrders', params);
159
+ }
160
+ getOrderByOrderId(params) {
161
+ return this.getPrivate(`api/v1/orders/${params.orderId}`);
162
+ }
163
+ getOrderByClientOrderId(params) {
164
+ return this.getPrivate(`api/v1/orders/byClientOid`, params);
165
+ }
166
+ /**
167
+ *
168
+ * REST - FUTURES TRADING - Fills
169
+ *
170
+ */
171
+ /**
172
+ * Get a list of recent fills.
173
+ *
174
+ * If you need to get your recent trade history with low latency, please query endpoint Get List of Orders Completed in 24h.
175
+ * The requested data is not real-time.
176
+ */
177
+ getFills(params) {
178
+ return this.getPrivate('api/v1/fills', params);
179
+ }
180
+ /**
181
+ * Get a list of recent 1000 fills in the last 24 hours.
182
+ *
183
+ * If you need to get your recent traded order history with low latency, you may query this endpoint.
184
+ */
185
+ getRecentFills(params) {
186
+ return this.getPrivate('api/v1/recentFills', params);
187
+ }
188
+ getOpenOrderStatistics(params) {
189
+ return this.getPrivate('api/v1/openOrderStatistics', params);
190
+ }
191
+ /**
192
+ *
193
+ * REST - FUTURES TRADING - Positions
194
+ *
195
+ */
196
+ getMaxOpenSize(params) {
197
+ return this.getPrivate('api/v2/getMaxOpenSize', params);
198
+ }
199
+ getPosition(params) {
200
+ return this.getPrivate('api/v1/position', params);
201
+ }
202
+ getPositions(params) {
203
+ return this.getPrivate('api/v1/positions', params);
204
+ }
205
+ getHistoryPositions(params) {
206
+ return this.getPrivate('/api/v1/history-positions', params);
207
+ }
208
+ updateAutoDepositStatus(params) {
209
+ return this.postPrivate('api/v1/position/margin/auto-deposit-status', params);
210
+ }
211
+ getMaxWithdrawMargin(params) {
212
+ return this.getPrivate('api/v1/margin/maxWithdrawMargin', params);
213
+ }
214
+ withdrawMargin(params) {
215
+ return this.postPrivate('api/v1/margin/withdrawMargin', params);
216
+ }
217
+ depositMargin(params) {
218
+ return this.postPrivate('api/v1/position/margin/deposit-margin', params);
219
+ }
220
+ /**
221
+ *
222
+ * REST - FUTURES TRADING - Risk limit
223
+ *
224
+ */
225
+ getRiskLimitLevel(params) {
226
+ return this.getPrivate(`api/v1/contracts/risk-limit/${params.symbol}`);
227
+ }
228
+ updateRiskLimitLevel(params) {
229
+ return this.postPrivate('api/v1/position/risk-limit-level/change', params);
230
+ }
231
+ /**
232
+ *
233
+ * REST - FUTURES TRADING - Funding fees
234
+ *
235
+ */
236
+ getFundingRate(params) {
237
+ return this.get(`api/v1/funding-rate/${params.symbol}/current`);
238
+ }
239
+ getFundingRates(params) {
240
+ return this.get('api/v1/contract/funding-rates', params);
241
+ }
242
+ getFundingHistory(params) {
243
+ return this.getPrivate('api/v1/funding-history', params);
244
+ }
245
+ /**
246
+ *
247
+ * WebSockets
248
+ *
249
+ */
250
+ getPublicWSConnectionToken() {
251
+ return this.post('api/v1/bullet-public');
252
+ }
253
+ getPrivateWSConnectionToken() {
254
+ return this.postPrivate('api/v1/bullet-private');
255
+ }
256
+ }
257
+ //# sourceMappingURL=FuturesClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FuturesClient.js","sourceRoot":"","sources":["../../src/FuturesClient.ts"],"names":[],"mappings":"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"}