ccxt 4.4.30 → 4.4.32

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 (496) hide show
  1. package/README.md +9 -3
  2. package/dist/ccxt.browser.min.js +3 -3
  3. package/dist/cjs/ccxt.js +1 -1
  4. package/dist/cjs/src/ace.js +123 -123
  5. package/dist/cjs/src/alpaca.js +237 -237
  6. package/dist/cjs/src/ascendex.js +342 -341
  7. package/dist/cjs/src/bigone.js +242 -242
  8. package/dist/cjs/src/binance.js +1339 -1291
  9. package/dist/cjs/src/bingx.js +639 -639
  10. package/dist/cjs/src/bit2c.js +111 -111
  11. package/dist/cjs/src/bitbank.js +142 -142
  12. package/dist/cjs/src/bitbns.js +140 -140
  13. package/dist/cjs/src/bitfinex.js +231 -231
  14. package/dist/cjs/src/bitfinex2.js +403 -403
  15. package/dist/cjs/src/bitflyer.js +184 -184
  16. package/dist/cjs/src/bitget.js +848 -846
  17. package/dist/cjs/src/bithumb.js +125 -124
  18. package/dist/cjs/src/bitmart.js +525 -525
  19. package/dist/cjs/src/bitmex.js +317 -317
  20. package/dist/cjs/src/bitopro.js +221 -221
  21. package/dist/cjs/src/bitrue.js +315 -315
  22. package/dist/cjs/src/bitso.js +220 -220
  23. package/dist/cjs/src/bitstamp.js +251 -251
  24. package/dist/cjs/src/bitteam.js +183 -183
  25. package/dist/cjs/src/bitvavo.js +247 -251
  26. package/dist/cjs/src/bl3p.js +82 -82
  27. package/dist/cjs/src/blockchaincom.js +211 -211
  28. package/dist/cjs/src/blofin.js +332 -331
  29. package/dist/cjs/src/btcalpha.js +166 -166
  30. package/dist/cjs/src/btcbox.js +108 -108
  31. package/dist/cjs/src/btcmarkets.js +198 -198
  32. package/dist/cjs/src/btcturk.js +124 -124
  33. package/dist/cjs/src/bybit.js +906 -900
  34. package/dist/cjs/src/cex.js +227 -226
  35. package/dist/cjs/src/coinbase.js +481 -481
  36. package/dist/cjs/src/coinbaseexchange.js +274 -274
  37. package/dist/cjs/src/coinbaseinternational.js +304 -304
  38. package/dist/cjs/src/coincatch.js +650 -650
  39. package/dist/cjs/src/coincheck.js +113 -113
  40. package/dist/cjs/src/coinex.js +611 -601
  41. package/dist/cjs/src/coinlist.js +304 -303
  42. package/dist/cjs/src/coinmate.js +162 -161
  43. package/dist/cjs/src/coinmetro.js +187 -187
  44. package/dist/cjs/src/coinone.js +124 -123
  45. package/dist/cjs/src/coinsph.js +237 -237
  46. package/dist/cjs/src/coinspot.js +82 -82
  47. package/dist/cjs/src/cryptocom.js +342 -341
  48. package/dist/cjs/src/currencycom.js +225 -224
  49. package/dist/cjs/src/delta.js +320 -320
  50. package/dist/cjs/src/deribit.js +411 -408
  51. package/dist/cjs/src/digifinex.js +432 -431
  52. package/dist/cjs/src/exmo.js +328 -327
  53. package/dist/cjs/src/gate.js +830 -791
  54. package/dist/cjs/src/gemini.js +199 -198
  55. package/dist/cjs/src/hashkey.js +520 -517
  56. package/dist/cjs/src/hitbtc.js +465 -462
  57. package/dist/cjs/src/hollaex.js +253 -252
  58. package/dist/cjs/src/htx.js +791 -848
  59. package/dist/cjs/src/huobijp.js +219 -218
  60. package/dist/cjs/src/hyperliquid.js +421 -417
  61. package/dist/cjs/src/idex.js +238 -237
  62. package/dist/cjs/src/independentreserve.js +133 -132
  63. package/dist/cjs/src/indodax.js +177 -171
  64. package/dist/cjs/src/kraken.js +381 -377
  65. package/dist/cjs/src/krakenfutures.js +285 -279
  66. package/dist/cjs/src/kucoin.js +632 -622
  67. package/dist/cjs/src/kucoinfutures.js +533 -457
  68. package/dist/cjs/src/kuna.js +283 -282
  69. package/dist/cjs/src/latoken.js +211 -210
  70. package/dist/cjs/src/lbank.js +268 -267
  71. package/dist/cjs/src/luno.js +174 -173
  72. package/dist/cjs/src/lykke.js +172 -171
  73. package/dist/cjs/src/mercado.js +123 -122
  74. package/dist/cjs/src/mexc.js +650 -646
  75. package/dist/cjs/src/ndax.js +229 -228
  76. package/dist/cjs/src/novadax.js +230 -229
  77. package/dist/cjs/src/oceanex.js +187 -186
  78. package/dist/cjs/src/okcoin.js +286 -285
  79. package/dist/cjs/src/okx.js +909 -904
  80. package/dist/cjs/src/onetrading.js +218 -218
  81. package/dist/cjs/src/oxfun.js +335 -334
  82. package/dist/cjs/src/p2b.js +154 -154
  83. package/dist/cjs/src/paradex.js +249 -244
  84. package/dist/cjs/src/paymium.js +101 -101
  85. package/dist/cjs/src/phemex.js +388 -390
  86. package/dist/cjs/src/poloniex.js +270 -270
  87. package/dist/cjs/src/poloniexfutures.js +250 -250
  88. package/dist/cjs/src/pro/alpaca.js +64 -64
  89. package/dist/cjs/src/pro/ascendex.js +64 -64
  90. package/dist/cjs/src/pro/binance.js +546 -543
  91. package/dist/cjs/src/pro/bingx.js +116 -116
  92. package/dist/cjs/src/pro/bitfinex.js +42 -42
  93. package/dist/cjs/src/pro/bitfinex2.js +66 -66
  94. package/dist/cjs/src/pro/bitget.js +188 -181
  95. package/dist/cjs/src/pro/bithumb.js +40 -40
  96. package/dist/cjs/src/pro/bitmart.js +121 -119
  97. package/dist/cjs/src/pro/bitmex.js +135 -133
  98. package/dist/cjs/src/pro/bitopro.js +49 -49
  99. package/dist/cjs/src/pro/bitrue.js +19 -19
  100. package/dist/cjs/src/pro/bitstamp.js +29 -29
  101. package/dist/cjs/src/pro/bitvavo.js +299 -301
  102. package/dist/cjs/src/pro/blockchaincom.js +62 -62
  103. package/dist/cjs/src/pro/blofin.js +132 -130
  104. package/dist/cjs/src/pro/bybit.js +317 -313
  105. package/dist/cjs/src/pro/cex.js +168 -168
  106. package/dist/cjs/src/pro/coinbase.js +93 -91
  107. package/dist/cjs/src/pro/coinbaseexchange.js +95 -95
  108. package/dist/cjs/src/pro/coinbaseinternational.js +111 -111
  109. package/dist/cjs/src/pro/coincatch.js +150 -143
  110. package/dist/cjs/src/pro/coincheck.js +21 -21
  111. package/dist/cjs/src/pro/coinex.js +110 -110
  112. package/dist/cjs/src/pro/coinone.js +30 -30
  113. package/dist/cjs/src/pro/cryptocom.js +227 -227
  114. package/dist/cjs/src/pro/currencycom.js +45 -45
  115. package/dist/cjs/src/pro/deribit.js +127 -127
  116. package/dist/cjs/src/pro/exmo.js +66 -66
  117. package/dist/cjs/src/pro/gate.js +287 -283
  118. package/dist/cjs/src/pro/gemini.js +74 -74
  119. package/dist/cjs/src/pro/hashkey.js +87 -85
  120. package/dist/cjs/src/pro/hitbtc.js +190 -190
  121. package/dist/cjs/src/pro/hollaex.js +51 -51
  122. package/dist/cjs/src/pro/htx.js +96 -94
  123. package/dist/cjs/src/pro/huobijp.js +38 -38
  124. package/dist/cjs/src/pro/hyperliquid.js +151 -150
  125. package/dist/cjs/src/pro/idex.js +48 -48
  126. package/dist/cjs/src/pro/independentreserve.js +19 -19
  127. package/dist/cjs/src/pro/kraken.js +167 -167
  128. package/dist/cjs/src/pro/krakenfutures.js +137 -138
  129. package/dist/cjs/src/pro/kucoin.js +167 -168
  130. package/dist/cjs/src/pro/kucoinfutures.js +147 -147
  131. package/dist/cjs/src/pro/lbank.js +95 -95
  132. package/dist/cjs/src/pro/luno.js +21 -21
  133. package/dist/cjs/src/pro/mexc.js +102 -103
  134. package/dist/cjs/src/pro/ndax.js +42 -42
  135. package/dist/cjs/src/pro/okcoin.js +61 -61
  136. package/dist/cjs/src/pro/okx.js +332 -330
  137. package/dist/cjs/src/pro/onetrading.js +71 -71
  138. package/dist/cjs/src/pro/oxfun.js +193 -191
  139. package/dist/cjs/src/pro/p2b.js +77 -77
  140. package/dist/cjs/src/pro/paradex.js +39 -39
  141. package/dist/cjs/src/pro/phemex.js +94 -94
  142. package/dist/cjs/src/pro/poloniex.js +171 -171
  143. package/dist/cjs/src/pro/poloniexfutures.js +62 -62
  144. package/dist/cjs/src/pro/probit.js +63 -63
  145. package/dist/cjs/src/pro/upbit.js +80 -80
  146. package/dist/cjs/src/pro/vertex.js +65 -63
  147. package/dist/cjs/src/pro/wazirx.js +70 -70
  148. package/dist/cjs/src/pro/whitebit.js +83 -83
  149. package/dist/cjs/src/pro/woo.js +106 -104
  150. package/dist/cjs/src/pro/woofipro.js +105 -103
  151. package/dist/cjs/src/pro/xt.js +119 -119
  152. package/dist/cjs/src/probit.js +229 -229
  153. package/dist/cjs/src/timex.js +198 -197
  154. package/dist/cjs/src/tokocrypto.js +214 -213
  155. package/dist/cjs/src/tradeogre.js +92 -91
  156. package/dist/cjs/src/upbit.js +243 -242
  157. package/dist/cjs/src/vertex.js +258 -258
  158. package/dist/cjs/src/wavesexchange.js +176 -172
  159. package/dist/cjs/src/wazirx.js +168 -168
  160. package/dist/cjs/src/whitebit.js +361 -361
  161. package/dist/cjs/src/woo.js +571 -572
  162. package/dist/cjs/src/woofipro.js +392 -391
  163. package/dist/cjs/src/xt.js +436 -435
  164. package/dist/cjs/src/yobit.js +159 -158
  165. package/dist/cjs/src/zaif.js +103 -103
  166. package/dist/cjs/src/zonda.js +168 -168
  167. package/js/ccxt.d.ts +1 -1
  168. package/js/ccxt.js +1 -1
  169. package/js/src/ace.d.ts +123 -0
  170. package/js/src/ace.js +123 -123
  171. package/js/src/alpaca.d.ts +237 -0
  172. package/js/src/alpaca.js +237 -237
  173. package/js/src/ascendex.d.ts +339 -0
  174. package/js/src/ascendex.js +342 -341
  175. package/js/src/base/types.d.ts +1 -0
  176. package/js/src/bigone.d.ts +242 -0
  177. package/js/src/bigone.js +242 -242
  178. package/js/src/binance.d.ts +1306 -0
  179. package/js/src/binance.js +1339 -1291
  180. package/js/src/bingx.d.ts +639 -0
  181. package/js/src/bingx.js +639 -639
  182. package/js/src/bit2c.d.ts +111 -0
  183. package/js/src/bit2c.js +111 -111
  184. package/js/src/bitbank.d.ts +142 -0
  185. package/js/src/bitbank.js +142 -142
  186. package/js/src/bitbns.d.ts +140 -0
  187. package/js/src/bitbns.js +140 -140
  188. package/js/src/bitfinex.d.ts +231 -0
  189. package/js/src/bitfinex.js +231 -231
  190. package/js/src/bitfinex2.d.ts +403 -0
  191. package/js/src/bitfinex2.js +403 -403
  192. package/js/src/bitflyer.d.ts +184 -0
  193. package/js/src/bitflyer.js +184 -184
  194. package/js/src/bitget.d.ts +846 -0
  195. package/js/src/bitget.js +848 -846
  196. package/js/src/bithumb.d.ts +125 -0
  197. package/js/src/bithumb.js +125 -124
  198. package/js/src/bitmart.d.ts +525 -0
  199. package/js/src/bitmart.js +525 -525
  200. package/js/src/bitmex.d.ts +317 -0
  201. package/js/src/bitmex.js +317 -317
  202. package/js/src/bitopro.d.ts +221 -0
  203. package/js/src/bitopro.js +221 -221
  204. package/js/src/bitrue.d.ts +315 -0
  205. package/js/src/bitrue.js +315 -315
  206. package/js/src/bitso.d.ts +220 -0
  207. package/js/src/bitso.js +220 -220
  208. package/js/src/bitstamp.d.ts +251 -0
  209. package/js/src/bitstamp.js +251 -251
  210. package/js/src/bitteam.d.ts +183 -0
  211. package/js/src/bitteam.js +183 -183
  212. package/js/src/bitvavo.d.ts +247 -0
  213. package/js/src/bitvavo.js +247 -251
  214. package/js/src/bl3p.d.ts +82 -0
  215. package/js/src/bl3p.js +82 -82
  216. package/js/src/blockchaincom.d.ts +211 -0
  217. package/js/src/blockchaincom.js +211 -211
  218. package/js/src/blofin.d.ts +332 -0
  219. package/js/src/blofin.js +332 -331
  220. package/js/src/btcalpha.d.ts +166 -0
  221. package/js/src/btcalpha.js +166 -166
  222. package/js/src/btcbox.d.ts +108 -0
  223. package/js/src/btcbox.js +108 -108
  224. package/js/src/btcmarkets.d.ts +198 -0
  225. package/js/src/btcmarkets.js +198 -198
  226. package/js/src/btcturk.d.ts +124 -0
  227. package/js/src/btcturk.js +124 -124
  228. package/js/src/bybit.d.ts +906 -1
  229. package/js/src/bybit.js +906 -900
  230. package/js/src/cex.d.ts +227 -0
  231. package/js/src/cex.js +227 -226
  232. package/js/src/coinbase.d.ts +481 -0
  233. package/js/src/coinbase.js +481 -481
  234. package/js/src/coinbaseexchange.d.ts +274 -0
  235. package/js/src/coinbaseexchange.js +274 -274
  236. package/js/src/coinbaseinternational.d.ts +304 -0
  237. package/js/src/coinbaseinternational.js +304 -304
  238. package/js/src/coincatch.d.ts +646 -0
  239. package/js/src/coincatch.js +650 -650
  240. package/js/src/coincheck.d.ts +113 -0
  241. package/js/src/coincheck.js +113 -113
  242. package/js/src/coinex.d.ts +603 -0
  243. package/js/src/coinex.js +611 -601
  244. package/js/src/coinlist.d.ts +304 -0
  245. package/js/src/coinlist.js +304 -303
  246. package/js/src/coinmate.d.ts +162 -0
  247. package/js/src/coinmate.js +162 -161
  248. package/js/src/coinmetro.d.ts +187 -0
  249. package/js/src/coinmetro.js +187 -187
  250. package/js/src/coinone.d.ts +124 -0
  251. package/js/src/coinone.js +124 -123
  252. package/js/src/coinsph.d.ts +237 -0
  253. package/js/src/coinsph.js +237 -237
  254. package/js/src/coinspot.d.ts +82 -0
  255. package/js/src/coinspot.js +82 -82
  256. package/js/src/cryptocom.d.ts +342 -0
  257. package/js/src/cryptocom.js +342 -341
  258. package/js/src/currencycom.d.ts +225 -0
  259. package/js/src/currencycom.js +225 -224
  260. package/js/src/delta.d.ts +320 -0
  261. package/js/src/delta.js +320 -320
  262. package/js/src/deribit.d.ts +411 -0
  263. package/js/src/deribit.js +411 -408
  264. package/js/src/digifinex.d.ts +430 -0
  265. package/js/src/digifinex.js +432 -431
  266. package/js/src/exmo.d.ts +328 -0
  267. package/js/src/exmo.js +328 -327
  268. package/js/src/gate.d.ts +803 -1
  269. package/js/src/gate.js +830 -791
  270. package/js/src/gemini.d.ts +199 -0
  271. package/js/src/gemini.js +199 -198
  272. package/js/src/hashkey.d.ts +516 -0
  273. package/js/src/hashkey.js +520 -517
  274. package/js/src/hitbtc.d.ts +465 -0
  275. package/js/src/hitbtc.js +465 -462
  276. package/js/src/hollaex.d.ts +253 -0
  277. package/js/src/hollaex.js +253 -252
  278. package/js/src/htx.d.ts +765 -2
  279. package/js/src/htx.js +791 -848
  280. package/js/src/huobijp.d.ts +219 -0
  281. package/js/src/huobijp.js +219 -218
  282. package/js/src/hyperliquid.d.ts +419 -0
  283. package/js/src/hyperliquid.js +421 -417
  284. package/js/src/idex.d.ts +238 -0
  285. package/js/src/idex.js +238 -237
  286. package/js/src/independentreserve.d.ts +133 -0
  287. package/js/src/independentreserve.js +133 -132
  288. package/js/src/indodax.d.ts +171 -0
  289. package/js/src/indodax.js +177 -171
  290. package/js/src/kraken.d.ts +381 -0
  291. package/js/src/kraken.js +381 -377
  292. package/js/src/krakenfutures.d.ts +282 -0
  293. package/js/src/krakenfutures.js +285 -279
  294. package/js/src/kucoin.d.ts +613 -0
  295. package/js/src/kucoin.js +632 -622
  296. package/js/src/kucoinfutures.d.ts +441 -0
  297. package/js/src/kucoinfutures.js +533 -457
  298. package/js/src/kuna.d.ts +283 -0
  299. package/js/src/kuna.js +283 -282
  300. package/js/src/latoken.d.ts +211 -0
  301. package/js/src/latoken.js +211 -210
  302. package/js/src/lbank.d.ts +268 -0
  303. package/js/src/lbank.js +268 -267
  304. package/js/src/luno.d.ts +174 -0
  305. package/js/src/luno.js +174 -173
  306. package/js/src/lykke.d.ts +172 -0
  307. package/js/src/lykke.js +172 -171
  308. package/js/src/mercado.d.ts +123 -0
  309. package/js/src/mercado.js +123 -122
  310. package/js/src/mexc.d.ts +647 -0
  311. package/js/src/mexc.js +650 -646
  312. package/js/src/ndax.d.ts +229 -0
  313. package/js/src/ndax.js +229 -228
  314. package/js/src/novadax.d.ts +230 -0
  315. package/js/src/novadax.js +230 -229
  316. package/js/src/oceanex.d.ts +187 -0
  317. package/js/src/oceanex.js +187 -186
  318. package/js/src/okcoin.d.ts +286 -0
  319. package/js/src/okcoin.js +286 -285
  320. package/js/src/okx.d.ts +907 -0
  321. package/js/src/okx.js +909 -904
  322. package/js/src/onetrading.d.ts +218 -0
  323. package/js/src/onetrading.js +218 -218
  324. package/js/src/oxfun.d.ts +336 -3
  325. package/js/src/oxfun.js +335 -334
  326. package/js/src/p2b.d.ts +154 -0
  327. package/js/src/p2b.js +154 -154
  328. package/js/src/paradex.d.ts +241 -0
  329. package/js/src/paradex.js +249 -244
  330. package/js/src/paymium.d.ts +101 -0
  331. package/js/src/paymium.js +101 -101
  332. package/js/src/phemex.d.ts +366 -0
  333. package/js/src/phemex.js +388 -390
  334. package/js/src/poloniex.d.ts +270 -0
  335. package/js/src/poloniex.js +270 -270
  336. package/js/src/poloniexfutures.d.ts +250 -0
  337. package/js/src/poloniexfutures.js +250 -250
  338. package/js/src/pro/alpaca.d.ts +64 -0
  339. package/js/src/pro/alpaca.js +64 -64
  340. package/js/src/pro/ascendex.d.ts +64 -0
  341. package/js/src/pro/ascendex.js +64 -64
  342. package/js/src/pro/binance.d.ts +546 -0
  343. package/js/src/pro/binance.js +546 -543
  344. package/js/src/pro/bingx.d.ts +116 -0
  345. package/js/src/pro/bingx.js +116 -116
  346. package/js/src/pro/bitfinex.d.ts +42 -0
  347. package/js/src/pro/bitfinex.js +42 -42
  348. package/js/src/pro/bitfinex2.d.ts +66 -0
  349. package/js/src/pro/bitfinex2.js +66 -66
  350. package/js/src/pro/bitget.d.ts +187 -0
  351. package/js/src/pro/bitget.js +188 -181
  352. package/js/src/pro/bithumb.d.ts +40 -0
  353. package/js/src/pro/bithumb.js +40 -40
  354. package/js/src/pro/bitmart.d.ts +121 -0
  355. package/js/src/pro/bitmart.js +121 -119
  356. package/js/src/pro/bitmex.d.ts +135 -0
  357. package/js/src/pro/bitmex.js +135 -133
  358. package/js/src/pro/bitopro.d.ts +49 -0
  359. package/js/src/pro/bitopro.js +49 -49
  360. package/js/src/pro/bitrue.d.ts +19 -0
  361. package/js/src/pro/bitrue.js +19 -19
  362. package/js/src/pro/bitstamp.d.ts +29 -0
  363. package/js/src/pro/bitstamp.js +29 -29
  364. package/js/src/pro/bitvavo.d.ts +254 -1
  365. package/js/src/pro/bitvavo.js +299 -301
  366. package/js/src/pro/blockchaincom.d.ts +62 -0
  367. package/js/src/pro/blockchaincom.js +62 -62
  368. package/js/src/pro/blofin.d.ts +132 -0
  369. package/js/src/pro/blofin.js +132 -130
  370. package/js/src/pro/bybit.d.ts +317 -0
  371. package/js/src/pro/bybit.js +317 -313
  372. package/js/src/pro/cex.d.ts +168 -0
  373. package/js/src/pro/cex.js +168 -168
  374. package/js/src/pro/coinbase.d.ts +93 -0
  375. package/js/src/pro/coinbase.js +93 -91
  376. package/js/src/pro/coinbaseexchange.d.ts +95 -0
  377. package/js/src/pro/coinbaseexchange.js +95 -95
  378. package/js/src/pro/coinbaseinternational.d.ts +111 -0
  379. package/js/src/pro/coinbaseinternational.js +111 -111
  380. package/js/src/pro/coincatch.d.ts +150 -0
  381. package/js/src/pro/coincatch.js +150 -143
  382. package/js/src/pro/coincheck.d.ts +21 -0
  383. package/js/src/pro/coincheck.js +21 -21
  384. package/js/src/pro/coinex.d.ts +110 -0
  385. package/js/src/pro/coinex.js +110 -110
  386. package/js/src/pro/coinone.d.ts +30 -0
  387. package/js/src/pro/coinone.js +30 -30
  388. package/js/src/pro/cryptocom.d.ts +227 -0
  389. package/js/src/pro/cryptocom.js +227 -227
  390. package/js/src/pro/currencycom.d.ts +45 -0
  391. package/js/src/pro/currencycom.js +45 -45
  392. package/js/src/pro/deribit.d.ts +127 -0
  393. package/js/src/pro/deribit.js +127 -127
  394. package/js/src/pro/exmo.d.ts +66 -0
  395. package/js/src/pro/exmo.js +66 -66
  396. package/js/src/pro/gate.d.ts +287 -0
  397. package/js/src/pro/gate.js +287 -283
  398. package/js/src/pro/gemini.d.ts +74 -0
  399. package/js/src/pro/gemini.js +74 -74
  400. package/js/src/pro/hashkey.d.ts +87 -0
  401. package/js/src/pro/hashkey.js +87 -85
  402. package/js/src/pro/hitbtc.d.ts +190 -0
  403. package/js/src/pro/hitbtc.js +190 -190
  404. package/js/src/pro/hollaex.d.ts +51 -0
  405. package/js/src/pro/hollaex.js +51 -51
  406. package/js/src/pro/htx.d.ts +96 -0
  407. package/js/src/pro/htx.js +96 -94
  408. package/js/src/pro/huobijp.d.ts +38 -0
  409. package/js/src/pro/huobijp.js +38 -38
  410. package/js/src/pro/hyperliquid.d.ts +151 -0
  411. package/js/src/pro/hyperliquid.js +151 -150
  412. package/js/src/pro/idex.d.ts +48 -0
  413. package/js/src/pro/idex.js +48 -48
  414. package/js/src/pro/independentreserve.d.ts +19 -0
  415. package/js/src/pro/independentreserve.js +19 -19
  416. package/js/src/pro/kraken.d.ts +167 -0
  417. package/js/src/pro/kraken.js +167 -167
  418. package/js/src/pro/krakenfutures.d.ts +137 -0
  419. package/js/src/pro/krakenfutures.js +137 -138
  420. package/js/src/pro/kucoin.d.ts +167 -0
  421. package/js/src/pro/kucoin.js +167 -168
  422. package/js/src/pro/kucoinfutures.d.ts +147 -0
  423. package/js/src/pro/kucoinfutures.js +147 -147
  424. package/js/src/pro/lbank.d.ts +95 -0
  425. package/js/src/pro/lbank.js +95 -95
  426. package/js/src/pro/luno.d.ts +21 -0
  427. package/js/src/pro/luno.js +21 -21
  428. package/js/src/pro/mexc.d.ts +101 -0
  429. package/js/src/pro/mexc.js +102 -103
  430. package/js/src/pro/ndax.d.ts +42 -0
  431. package/js/src/pro/ndax.js +42 -42
  432. package/js/src/pro/okcoin.d.ts +61 -0
  433. package/js/src/pro/okcoin.js +61 -61
  434. package/js/src/pro/okx.d.ts +332 -0
  435. package/js/src/pro/okx.js +332 -330
  436. package/js/src/pro/onetrading.d.ts +71 -0
  437. package/js/src/pro/onetrading.js +71 -71
  438. package/js/src/pro/oxfun.d.ts +193 -0
  439. package/js/src/pro/oxfun.js +193 -191
  440. package/js/src/pro/p2b.d.ts +77 -0
  441. package/js/src/pro/p2b.js +77 -77
  442. package/js/src/pro/paradex.d.ts +39 -0
  443. package/js/src/pro/paradex.js +39 -39
  444. package/js/src/pro/phemex.d.ts +94 -0
  445. package/js/src/pro/phemex.js +94 -94
  446. package/js/src/pro/poloniex.d.ts +171 -0
  447. package/js/src/pro/poloniex.js +171 -171
  448. package/js/src/pro/poloniexfutures.d.ts +62 -0
  449. package/js/src/pro/poloniexfutures.js +62 -62
  450. package/js/src/pro/probit.d.ts +63 -0
  451. package/js/src/pro/probit.js +63 -63
  452. package/js/src/pro/upbit.d.ts +80 -0
  453. package/js/src/pro/upbit.js +80 -80
  454. package/js/src/pro/vertex.d.ts +65 -0
  455. package/js/src/pro/vertex.js +65 -63
  456. package/js/src/pro/wazirx.d.ts +70 -0
  457. package/js/src/pro/wazirx.js +70 -70
  458. package/js/src/pro/whitebit.d.ts +83 -0
  459. package/js/src/pro/whitebit.js +83 -83
  460. package/js/src/pro/woo.d.ts +106 -0
  461. package/js/src/pro/woo.js +106 -104
  462. package/js/src/pro/woofipro.d.ts +105 -0
  463. package/js/src/pro/woofipro.js +105 -103
  464. package/js/src/pro/xt.d.ts +119 -0
  465. package/js/src/pro/xt.js +119 -119
  466. package/js/src/probit.d.ts +229 -0
  467. package/js/src/probit.js +229 -229
  468. package/js/src/timex.d.ts +198 -0
  469. package/js/src/timex.js +198 -197
  470. package/js/src/tokocrypto.d.ts +214 -0
  471. package/js/src/tokocrypto.js +214 -213
  472. package/js/src/tradeogre.d.ts +92 -0
  473. package/js/src/tradeogre.js +92 -91
  474. package/js/src/upbit.d.ts +243 -0
  475. package/js/src/upbit.js +243 -242
  476. package/js/src/vertex.d.ts +258 -0
  477. package/js/src/vertex.js +258 -258
  478. package/js/src/wavesexchange.d.ts +176 -0
  479. package/js/src/wavesexchange.js +176 -172
  480. package/js/src/wazirx.d.ts +168 -0
  481. package/js/src/wazirx.js +168 -168
  482. package/js/src/whitebit.d.ts +361 -0
  483. package/js/src/whitebit.js +361 -361
  484. package/js/src/woo.d.ts +571 -0
  485. package/js/src/woo.js +571 -572
  486. package/js/src/woofipro.d.ts +392 -0
  487. package/js/src/woofipro.js +392 -391
  488. package/js/src/xt.d.ts +439 -4
  489. package/js/src/xt.js +436 -435
  490. package/js/src/yobit.d.ts +159 -0
  491. package/js/src/yobit.js +159 -158
  492. package/js/src/zaif.d.ts +103 -0
  493. package/js/src/zaif.js +103 -103
  494. package/js/src/zonda.d.ts +168 -0
  495. package/js/src/zonda.js +168 -168
  496. package/package.json +1 -1
@@ -362,15 +362,15 @@ export default class kucoinfutures extends kucoin {
362
362
  },
363
363
  });
364
364
  }
365
+ /**
366
+ * @method
367
+ * @name kucoinfutures#fetchStatus
368
+ * @description the latest known information on the availability of the exchange API
369
+ * @see https://www.kucoin.com/docs/rest/futures-trading/market-data/get-service-status
370
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
371
+ * @returns {object} a [status structure]{@link https://docs.ccxt.com/#/?id=exchange-status-structure}
372
+ */
365
373
  async fetchStatus(params = {}) {
366
- /**
367
- * @method
368
- * @name kucoinfutures#fetchStatus
369
- * @description the latest known information on the availability of the exchange API
370
- * @see https://www.kucoin.com/docs/rest/futures-trading/market-data/get-service-status
371
- * @param {object} [params] extra parameters specific to the exchange API endpoint
372
- * @returns {object} a [status structure]{@link https://docs.ccxt.com/#/?id=exchange-status-structure}
373
- */
374
374
  const response = await this.futuresPublicGetStatus(params);
375
375
  //
376
376
  // {
@@ -391,15 +391,15 @@ export default class kucoinfutures extends kucoin {
391
391
  'info': response,
392
392
  };
393
393
  }
394
+ /**
395
+ * @method
396
+ * @name kucoinfutures#fetchMarkets
397
+ * @description retrieves data on all markets for kucoinfutures
398
+ * @see https://www.kucoin.com/docs/rest/futures-trading/market-data/get-symbols-list
399
+ * @param {object} [params] extra parameters specific to the exchange api endpoint
400
+ * @returns {object[]} an array of objects representing market data
401
+ */
394
402
  async fetchMarkets(params = {}) {
395
- /**
396
- * @method
397
- * @name kucoinfutures#fetchMarkets
398
- * @description retrieves data on all markets for kucoinfutures
399
- * @see https://www.kucoin.com/docs/rest/futures-trading/market-data/get-symbols-list
400
- * @param {object} [params] extra parameters specific to the exchange api endpoint
401
- * @returns {object[]} an array of objects representing market data
402
- */
403
403
  const response = await this.futuresPublicGetContractsActive(params);
404
404
  //
405
405
  // {
@@ -556,15 +556,15 @@ export default class kucoinfutures extends kucoin {
556
556
  }
557
557
  return result;
558
558
  }
559
+ /**
560
+ * @method
561
+ * @name kucoinfutures#fetchTime
562
+ * @description fetches the current integer timestamp in milliseconds from the exchange server
563
+ * @see https://www.kucoin.com/docs/rest/futures-trading/market-data/get-server-time
564
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
565
+ * @returns {int} the current integer timestamp in milliseconds from the exchange server
566
+ */
559
567
  async fetchTime(params = {}) {
560
- /**
561
- * @method
562
- * @name kucoinfutures#fetchTime
563
- * @description fetches the current integer timestamp in milliseconds from the exchange server
564
- * @see https://www.kucoin.com/docs/rest/futures-trading/market-data/get-server-time
565
- * @param {object} [params] extra parameters specific to the exchange API endpoint
566
- * @returns {int} the current integer timestamp in milliseconds from the exchange server
567
- */
568
568
  const response = await this.futuresPublicGetTimestamp(params);
569
569
  //
570
570
  // {
@@ -574,20 +574,20 @@ export default class kucoinfutures extends kucoin {
574
574
  //
575
575
  return this.safeInteger(response, 'data');
576
576
  }
577
+ /**
578
+ * @method
579
+ * @name kucoinfutures#fetchOHLCV
580
+ * @description fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
581
+ * @see https://www.kucoin.com/docs/rest/futures-trading/market-data/get-klines
582
+ * @param {string} symbol unified symbol of the market to fetch OHLCV data for
583
+ * @param {string} timeframe the length of time each candle represents
584
+ * @param {int} [since] timestamp in ms of the earliest candle to fetch
585
+ * @param {int} [limit] the maximum amount of candles to fetch
586
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
587
+ * @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [availble parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
588
+ * @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
589
+ */
577
590
  async fetchOHLCV(symbol, timeframe = '1m', since = undefined, limit = undefined, params = {}) {
578
- /**
579
- * @method
580
- * @name kucoinfutures#fetchOHLCV
581
- * @description fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
582
- * @see https://www.kucoin.com/docs/rest/futures-trading/market-data/get-klines
583
- * @param {string} symbol unified symbol of the market to fetch OHLCV data for
584
- * @param {string} timeframe the length of time each candle represents
585
- * @param {int} [since] timestamp in ms of the earliest candle to fetch
586
- * @param {int} [limit] the maximum amount of candles to fetch
587
- * @param {object} [params] extra parameters specific to the exchange API endpoint
588
- * @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [availble parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
589
- * @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
590
- */
591
591
  await this.loadMarkets();
592
592
  let paginate = false;
593
593
  [paginate, params] = this.handleOptionAndParams(params, 'fetchOHLCV', 'paginate');
@@ -655,16 +655,16 @@ export default class kucoinfutures extends kucoin {
655
655
  this.safeNumber(ohlcv, 5),
656
656
  ];
657
657
  }
658
+ /**
659
+ * @method
660
+ * @name kucoinfutures#fetchDepositAddress
661
+ * @description fetch the deposit address for a currency associated with this account
662
+ * @see https://www.kucoin.com/docs/rest/funding/deposit/get-deposit-address
663
+ * @param {string} code unified currency code
664
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
665
+ * @returns {object} an [address structure]{@link https://docs.ccxt.com/#/?id=address-structure}
666
+ */
658
667
  async fetchDepositAddress(code, params = {}) {
659
- /**
660
- * @method
661
- * @name kucoinfutures#fetchDepositAddress
662
- * @description fetch the deposit address for a currency associated with this account
663
- * @see https://www.kucoin.com/docs/rest/funding/deposit/get-deposit-address
664
- * @param {string} code unified currency code
665
- * @param {object} [params] extra parameters specific to the exchange API endpoint
666
- * @returns {object} an [address structure]{@link https://docs.ccxt.com/#/?id=address-structure}
667
- */
668
668
  await this.loadMarkets();
669
669
  const currency = this.currency(code);
670
670
  const currencyId = currency['id'];
@@ -695,17 +695,17 @@ export default class kucoinfutures extends kucoin {
695
695
  'tag': this.safeString(data, 'memo'),
696
696
  };
697
697
  }
698
+ /**
699
+ * @method
700
+ * @name kucoinfutures#fetchOrderBook
701
+ * @description fetches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
702
+ * @see https://www.kucoin.com/docs/rest/futures-trading/market-data/get-part-order-book-level-2
703
+ * @param {string} symbol unified symbol of the market to fetch the order book for
704
+ * @param {int} [limit] the maximum amount of order book entries to return
705
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
706
+ * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
707
+ */
698
708
  async fetchOrderBook(symbol, limit = undefined, params = {}) {
699
- /**
700
- * @method
701
- * @name kucoinfutures#fetchOrderBook
702
- * @description fetches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
703
- * @see https://www.kucoin.com/docs/rest/futures-trading/market-data/get-part-order-book-level-2
704
- * @param {string} symbol unified symbol of the market to fetch the order book for
705
- * @param {int} [limit] the maximum amount of order book entries to return
706
- * @param {object} [params] extra parameters specific to the exchange API endpoint
707
- * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
708
- */
709
709
  await this.loadMarkets();
710
710
  const level = this.safeNumber(params, 'level');
711
711
  if (level !== 2 && level !== undefined) {
@@ -751,16 +751,16 @@ export default class kucoinfutures extends kucoin {
751
751
  orderbook['nonce'] = this.safeInteger(data, 'sequence');
752
752
  return orderbook;
753
753
  }
754
+ /**
755
+ * @method
756
+ * @name kucoinfutures#fetchTicker
757
+ * @description fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
758
+ * @see https://www.kucoin.com/docs/rest/futures-trading/market-data/get-ticker
759
+ * @param {string} symbol unified symbol of the market to fetch the ticker for
760
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
761
+ * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
762
+ */
754
763
  async fetchTicker(symbol, params = {}) {
755
- /**
756
- * @method
757
- * @name kucoinfutures#fetchTicker
758
- * @description fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
759
- * @see https://www.kucoin.com/docs/rest/futures-trading/market-data/get-ticker
760
- * @param {string} symbol unified symbol of the market to fetch the ticker for
761
- * @param {object} [params] extra parameters specific to the exchange API endpoint
762
- * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
763
- */
764
764
  await this.loadMarkets();
765
765
  const market = this.market(symbol);
766
766
  const request = {
@@ -787,16 +787,16 @@ export default class kucoinfutures extends kucoin {
787
787
  //
788
788
  return this.parseTicker(response['data'], market);
789
789
  }
790
+ /**
791
+ * @method
792
+ * @name kucoinfutures#fetchMarkPrice
793
+ * @description fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
794
+ * @see https://www.kucoin.com/docs/rest/futures-trading/market-data/get-current-mark-price
795
+ * @param {string} symbol unified symbol of the market to fetch the ticker for
796
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
797
+ * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
798
+ */
790
799
  async fetchMarkPrice(symbol, params = {}) {
791
- /**
792
- * @method
793
- * @name kucoinfutures#fetchMarkPrice
794
- * @description fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
795
- * @see https://www.kucoin.com/docs/rest/futures-trading/market-data/get-current-mark-price
796
- * @param {string} symbol unified symbol of the market to fetch the ticker for
797
- * @param {object} [params] extra parameters specific to the exchange API endpoint
798
- * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
799
- */
800
800
  await this.loadMarkets();
801
801
  const market = this.market(symbol);
802
802
  const request = {
@@ -806,17 +806,17 @@ export default class kucoinfutures extends kucoin {
806
806
  //
807
807
  return this.parseTicker(response['data'], market);
808
808
  }
809
+ /**
810
+ * @method
811
+ * @name kucoinfutures#fetchTickers
812
+ * @description fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
813
+ * @see https://www.kucoin.com/docs/rest/futures-trading/market-data/get-symbols-list
814
+ * @param {string[]} [symbols] unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
815
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
816
+ * @param {string} [params.method] the method to use, futuresPublicGetAllTickers or futuresPublicGetContractsActive
817
+ * @returns {object} a dictionary of [ticker structures]{@link https://docs.ccxt.com/#/?id=ticker-structure}
818
+ */
809
819
  async fetchTickers(symbols = undefined, params = {}) {
810
- /**
811
- * @method
812
- * @name kucoinfutures#fetchTickers
813
- * @description fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
814
- * @see https://www.kucoin.com/docs/rest/futures-trading/market-data/get-symbols-list
815
- * @param {string[]} [symbols] unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
816
- * @param {object} [params] extra parameters specific to the exchange API endpoint
817
- * @param {string} [params.method] the method to use, futuresPublicGetAllTickers or futuresPublicGetContractsActive
818
- * @returns {object} a dictionary of [ticker structures]{@link https://docs.ccxt.com/#/?id=ticker-structure}
819
- */
820
820
  await this.loadMarkets();
821
821
  symbols = this.marketSymbols(symbols);
822
822
  let method = undefined;
@@ -1010,32 +1010,32 @@ export default class kucoinfutures extends kucoin {
1010
1010
  'info': ticker,
1011
1011
  }, market);
1012
1012
  }
1013
+ /**
1014
+ * @method
1015
+ * @name kucoinfutures#fetchBidsAsks
1016
+ * @description fetches the bid and ask price and volume for multiple markets
1017
+ * @param {string[]} [symbols] unified symbols of the markets to fetch the bids and asks for, all markets are returned if not assigned
1018
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1019
+ * @returns {object} a dictionary of [ticker structures]{@link https://docs.ccxt.com/#/?id=ticker-structure}
1020
+ */
1013
1021
  async fetchBidsAsks(symbols = undefined, params = {}) {
1014
- /**
1015
- * @method
1016
- * @name kucoinfutures#fetchBidsAsks
1017
- * @description fetches the bid and ask price and volume for multiple markets
1018
- * @param {string[]} [symbols] unified symbols of the markets to fetch the bids and asks for, all markets are returned if not assigned
1019
- * @param {object} [params] extra parameters specific to the exchange API endpoint
1020
- * @returns {object} a dictionary of [ticker structures]{@link https://docs.ccxt.com/#/?id=ticker-structure}
1021
- */
1022
1022
  const request = {
1023
1023
  'method': 'futuresPublicGetAllTickers',
1024
1024
  };
1025
1025
  return await this.fetchTickers(symbols, this.extend(request, params));
1026
1026
  }
1027
+ /**
1028
+ * @method
1029
+ * @name kucoinfutures#fetchFundingHistory
1030
+ * @description fetch the history of funding payments paid and received on this account
1031
+ * @see https://www.kucoin.com/docs/rest/futures-trading/funding-fees/get-funding-history
1032
+ * @param {string} symbol unified market symbol
1033
+ * @param {int} [since] the earliest time in ms to fetch funding history for
1034
+ * @param {int} [limit] the maximum number of funding history structures to retrieve
1035
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1036
+ * @returns {object} a [funding history structure]{@link https://docs.ccxt.com/#/?id=funding-history-structure}
1037
+ */
1027
1038
  async fetchFundingHistory(symbol = undefined, since = undefined, limit = undefined, params = {}) {
1028
- /**
1029
- * @method
1030
- * @name kucoinfutures#fetchFundingHistory
1031
- * @description fetch the history of funding payments paid and received on this account
1032
- * @see https://www.kucoin.com/docs/rest/futures-trading/funding-fees/get-funding-history
1033
- * @param {string} symbol unified market symbol
1034
- * @param {int} [since] the earliest time in ms to fetch funding history for
1035
- * @param {int} [limit] the maximum number of funding history structures to retrieve
1036
- * @param {object} [params] extra parameters specific to the exchange API endpoint
1037
- * @returns {object} a [funding history structure]{@link https://docs.ccxt.com/#/?id=funding-history-structure}
1038
- */
1039
1039
  if (symbol === undefined) {
1040
1040
  throw new ArgumentsRequired(this.id + ' fetchFundingHistory() requires a symbol argument');
1041
1041
  }
@@ -1096,16 +1096,16 @@ export default class kucoinfutures extends kucoin {
1096
1096
  }
1097
1097
  return fees;
1098
1098
  }
1099
+ /**
1100
+ * @method
1101
+ * @name kucoinfutures#fetchPosition
1102
+ * @see https://docs.kucoin.com/futures/#get-position-details
1103
+ * @description fetch data on an open position
1104
+ * @param {string} symbol unified market symbol of the market the position is held in
1105
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1106
+ * @returns {object} a [position structure]{@link https://docs.ccxt.com/#/?id=position-structure}
1107
+ */
1099
1108
  async fetchPosition(symbol, params = {}) {
1100
- /**
1101
- * @method
1102
- * @name kucoinfutures#fetchPosition
1103
- * @see https://docs.kucoin.com/futures/#get-position-details
1104
- * @description fetch data on an open position
1105
- * @param {string} symbol unified market symbol of the market the position is held in
1106
- * @param {object} [params] extra parameters specific to the exchange API endpoint
1107
- * @returns {object} a [position structure]{@link https://docs.ccxt.com/#/?id=position-structure}
1108
- */
1109
1109
  await this.loadMarkets();
1110
1110
  const market = this.market(symbol);
1111
1111
  const request = {
@@ -1159,16 +1159,16 @@ export default class kucoinfutures extends kucoin {
1159
1159
  const data = this.safeDict(response, 'data', {});
1160
1160
  return this.parsePosition(data, market);
1161
1161
  }
1162
+ /**
1163
+ * @method
1164
+ * @name kucoinfutures#fetchPositions
1165
+ * @description fetch all open positions
1166
+ * @see https://docs.kucoin.com/futures/#get-position-list
1167
+ * @param {string[]|undefined} symbols list of unified market symbols
1168
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1169
+ * @returns {object[]} a list of [position structure]{@link https://docs.ccxt.com/#/?id=position-structure}
1170
+ */
1162
1171
  async fetchPositions(symbols = undefined, params = {}) {
1163
- /**
1164
- * @method
1165
- * @name kucoinfutures#fetchPositions
1166
- * @description fetch all open positions
1167
- * @see https://docs.kucoin.com/futures/#get-position-list
1168
- * @param {string[]|undefined} symbols list of unified market symbols
1169
- * @param {object} [params] extra parameters specific to the exchange API endpoint
1170
- * @returns {object[]} a list of [position structure]{@link https://docs.ccxt.com/#/?id=position-structure}
1171
- */
1172
1172
  await this.loadMarkets();
1173
1173
  const response = await this.futuresPrivateGetPositions(params);
1174
1174
  //
@@ -1220,18 +1220,20 @@ export default class kucoinfutures extends kucoin {
1220
1220
  const data = this.safeList(response, 'data');
1221
1221
  return this.parsePositions(data, symbols);
1222
1222
  }
1223
+ /**
1224
+ * @method
1225
+ * @name kucoinfutures#fetchPositionsHistory
1226
+ * @description fetches historical positions
1227
+ * @see https://www.kucoin.com/docs/rest/futures-trading/positions/get-positions-history
1228
+ * @param {string[]} [symbols] list of unified market symbols
1229
+ * @param {int} [since] the earliest time in ms to fetch position history for
1230
+ * @param {int} [limit] the maximum number of entries to retrieve
1231
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1232
+ * @param {int} [params.until] closing end time
1233
+ * @param {int} [params.pageId] page id
1234
+ * @returns {object[]} a list of [position structure]{@link https://docs.ccxt.com/#/?id=position-structure}
1235
+ */
1223
1236
  async fetchPositionsHistory(symbols = undefined, since = undefined, limit = undefined, params = {}) {
1224
- /**
1225
- * @method
1226
- * @name kucoinfutures#fetchPositionsHistory
1227
- * @description fetches historical positions
1228
- * @see https://www.kucoin.com/docs/rest/futures-trading/positions/get-positions-history
1229
- * @param {string[]} [symbols] list of unified market symbols
1230
- * @param {object} [params] extra parameters specific to the exchange API endpoint
1231
- * @param {int} [params.until] closing end time
1232
- * @param {int} [params.pageId] page id
1233
- * @returns {object[]} a list of [position structure]{@link https://docs.ccxt.com/#/?id=position-structure}
1234
- */
1235
1237
  await this.loadMarkets();
1236
1238
  if (limit === undefined) {
1237
1239
  limit = 200;
@@ -1423,38 +1425,39 @@ export default class kucoinfutures extends kucoin {
1423
1425
  'takeProfitPrice': undefined,
1424
1426
  });
1425
1427
  }
1428
+ /**
1429
+ * @method
1430
+ * @name kucoinfutures#createOrder
1431
+ * @description Create an order on the exchange
1432
+ * @see https://www.kucoin.com/docs/rest/futures-trading/orders/place-order
1433
+ * @see https://www.kucoin.com/docs/rest/futures-trading/orders/place-take-profit-and-stop-loss-order#http-request
1434
+ * @param {string} symbol Unified CCXT market symbol
1435
+ * @param {string} type 'limit' or 'market'
1436
+ * @param {string} side 'buy' or 'sell'
1437
+ * @param {float} amount the amount of currency to trade
1438
+ * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
1439
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1440
+ * @param {object} [params.takeProfit] *takeProfit object in params* containing the triggerPrice at which the attached take profit order will be triggered
1441
+ * @param {object} [params.stopLoss] *stopLoss object in params* containing the triggerPrice at which the attached stop loss order will be triggered
1442
+ * @param {float} [params.triggerPrice] The price a trigger order is triggered at
1443
+ * @param {float} [params.stopLossPrice] price to trigger stop-loss orders
1444
+ * @param {float} [params.takeProfitPrice] price to trigger take-profit orders
1445
+ * @param {bool} [params.reduceOnly] A mark to reduce the position size only. Set to false by default. Need to set the position size when reduceOnly is true.
1446
+ * @param {string} [params.timeInForce] GTC, GTT, IOC, or FOK, default is GTC, limit orders only
1447
+ * @param {string} [params.postOnly] Post only flag, invalid when timeInForce is IOC or FOK
1448
+ * @param {float} [params.cost] the cost of the order in units of USDT
1449
+ * ----------------- Exchange Specific Parameters -----------------
1450
+ * @param {float} [params.leverage] Leverage size of the order
1451
+ * @param {string} [params.clientOid] client order id, defaults to uuid if not passed
1452
+ * @param {string} [params.remark] remark for the order, length cannot exceed 100 utf8 characters
1453
+ * @param {string} [params.stop] 'up' or 'down', the direction the stopPrice is triggered from, requires stopPrice. down: Triggers when the price reaches or goes below the stopPrice. up: Triggers when the price reaches or goes above the stopPrice.
1454
+ * @param {string} [params.stopPriceType] TP, IP or MP, defaults to MP: Mark Price
1455
+ * @param {bool} [params.closeOrder] set to true to close position
1456
+ * @param {bool} [params.test] set to true to use the test order endpoint (does not submit order, use to validate params)
1457
+ * @param {bool} [params.forceHold] A mark to forcely hold the funds for an order, even though it's an order to reduce the position size. This helps the order stay on the order book and not get canceled when the position size changes. Set to false by default.
1458
+ * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
1459
+ */
1426
1460
  async createOrder(symbol, type, side, amount, price = undefined, params = {}) {
1427
- /**
1428
- * @method
1429
- * @name kucoinfutures#createOrder
1430
- * @description Create an order on the exchange
1431
- * @see https://docs.kucoin.com/futures/#place-an-order
1432
- * @see https://www.kucoin.com/docs/rest/futures-trading/orders/place-take-profit-and-stop-loss-order#http-request
1433
- * @param {string} symbol Unified CCXT market symbol
1434
- * @param {string} type 'limit' or 'market'
1435
- * @param {string} side 'buy' or 'sell'
1436
- * @param {float} amount the amount of currency to trade
1437
- * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
1438
- * @param {object} [params] extra parameters specific to the exchange API endpoint
1439
- * @param {object} [params.takeProfit] *takeProfit object in params* containing the triggerPrice at which the attached take profit order will be triggered
1440
- * @param {object} [params.stopLoss] *stopLoss object in params* containing the triggerPrice at which the attached stop loss order will be triggered
1441
- * @param {float} [params.triggerPrice] The price a trigger order is triggered at
1442
- * @param {float} [params.stopLossPrice] price to trigger stop-loss orders
1443
- * @param {float} [params.takeProfitPrice] price to trigger take-profit orders
1444
- * @param {bool} [params.reduceOnly] A mark to reduce the position size only. Set to false by default. Need to set the position size when reduceOnly is true.
1445
- * @param {string} [params.timeInForce] GTC, GTT, IOC, or FOK, default is GTC, limit orders only
1446
- * @param {string} [params.postOnly] Post only flag, invalid when timeInForce is IOC or FOK
1447
- * ----------------- Exchange Specific Parameters -----------------
1448
- * @param {float} [params.leverage] Leverage size of the order
1449
- * @param {string} [params.clientOid] client order id, defaults to uuid if not passed
1450
- * @param {string} [params.remark] remark for the order, length cannot exceed 100 utf8 characters
1451
- * @param {string} [params.stop] 'up' or 'down', the direction the stopPrice is triggered from, requires stopPrice. down: Triggers when the price reaches or goes below the stopPrice. up: Triggers when the price reaches or goes above the stopPrice.
1452
- * @param {string} [params.stopPriceType] TP, IP or MP, defaults to MP: Mark Price
1453
- * @param {bool} [params.closeOrder] set to true to close position
1454
- * @param {bool} [params.test] set to true to use the test order endpoint (does not submit order, use to validate params)
1455
- * @param {bool} [params.forceHold] A mark to forcely hold the funds for an order, even though it's an order to reduce the position size. This helps the order stay on the order book and not get canceled when the position size changes. Set to false by default.
1456
- * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
1457
- */
1458
1461
  await this.loadMarkets();
1459
1462
  const market = this.market(symbol);
1460
1463
  const testOrder = this.safeBool(params, 'test', false);
@@ -1484,16 +1487,16 @@ export default class kucoinfutures extends kucoin {
1484
1487
  const data = this.safeDict(response, 'data', {});
1485
1488
  return this.parseOrder(data, market);
1486
1489
  }
1490
+ /**
1491
+ * @method
1492
+ * @name kucoinfutures#createOrders
1493
+ * @description create a list of trade orders
1494
+ * @see https://www.kucoin.com/docs/rest/futures-trading/orders/place-multiple-orders
1495
+ * @param {Array} orders list of orders to create, each object should contain the parameters required by createOrder, namely symbol, type, side, amount, price and params
1496
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1497
+ * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
1498
+ */
1487
1499
  async createOrders(orders, params = {}) {
1488
- /**
1489
- * @method
1490
- * @name kucoinfutures#createOrders
1491
- * @description create a list of trade orders
1492
- * @see https://www.kucoin.com/docs/rest/futures-trading/orders/place-multiple-orders
1493
- * @param {Array} orders list of orders to create, each object should contain the parameters required by createOrder, namely symbol, type, side, amount, price and params
1494
- * @param {object} [params] extra parameters specific to the exchange API endpoint
1495
- * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
1496
- */
1497
1500
  await this.loadMarkets();
1498
1501
  const ordersRequests = [];
1499
1502
  for (let i = 0; i < orders.length; i++) {
@@ -1538,18 +1541,24 @@ export default class kucoinfutures extends kucoin {
1538
1541
  // required param, cannot be used twice
1539
1542
  const clientOrderId = this.safeString2(params, 'clientOid', 'clientOrderId', this.uuid());
1540
1543
  params = this.omit(params, ['clientOid', 'clientOrderId']);
1541
- if (amount < 1) {
1542
- throw new InvalidOrder(this.id + ' createOrder() minimum contract order amount is 1');
1543
- }
1544
- const preciseAmount = parseInt(this.amountToPrecision(symbol, amount));
1545
1544
  const request = {
1546
1545
  'clientOid': clientOrderId,
1547
1546
  'side': side,
1548
1547
  'symbol': market['id'],
1549
1548
  'type': type,
1550
- 'size': preciseAmount,
1551
1549
  'leverage': 1,
1552
1550
  };
1551
+ const cost = this.safeString(params, 'cost');
1552
+ params = this.omit(params, 'cost');
1553
+ if (cost !== undefined) {
1554
+ request['valueQty'] = this.costToPrecision(symbol, cost);
1555
+ }
1556
+ else {
1557
+ if (amount < 1) {
1558
+ throw new InvalidOrder(this.id + ' createOrder() minimum contract order amount is 1');
1559
+ }
1560
+ request['size'] = parseInt(this.amountToPrecision(symbol, amount));
1561
+ }
1553
1562
  const [triggerPrice, stopLossPrice, takeProfitPrice] = this.handleTriggerPrices(params);
1554
1563
  const stopLoss = this.safeDict(params, 'stopLoss');
1555
1564
  const takeProfit = this.safeDict(params, 'takeProfit');
@@ -1625,18 +1634,18 @@ export default class kucoinfutures extends kucoin {
1625
1634
  params = this.omit(params, ['timeInForce', 'stopPrice', 'triggerPrice', 'stopLossPrice', 'takeProfitPrice']); // Time in force only valid for limit orders, exchange error when gtc for market orders
1626
1635
  return this.extend(request, params);
1627
1636
  }
1637
+ /**
1638
+ * @method
1639
+ * @name kucoinfutures#cancelOrder
1640
+ * @description cancels an open order
1641
+ * @see https://www.kucoin.com/docs/rest/futures-trading/orders/cancel-futures-order-by-orderid
1642
+ * @param {string} id order id
1643
+ * @param {string} symbol unified symbol of the market the order was made in
1644
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1645
+ * @param {string} [params.clientOrderId] cancel order by client order id
1646
+ * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
1647
+ */
1628
1648
  async cancelOrder(id, symbol = undefined, params = {}) {
1629
- /**
1630
- * @method
1631
- * @name kucoinfutures#cancelOrder
1632
- * @description cancels an open order
1633
- * @see https://www.kucoin.com/docs/rest/futures-trading/orders/cancel-futures-order-by-orderid
1634
- * @param {string} id order id
1635
- * @param {string} symbol unified symbol of the market the order was made in
1636
- * @param {object} [params] extra parameters specific to the exchange API endpoint
1637
- * @param {string} [params.clientOrderId] cancel order by client order id
1638
- * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
1639
- */
1640
1649
  await this.loadMarkets();
1641
1650
  const clientOrderId = this.safeString2(params, 'clientOid', 'clientOrderId');
1642
1651
  params = this.omit(params, ['clientOrderId']);
@@ -1667,18 +1676,18 @@ export default class kucoinfutures extends kucoin {
1667
1676
  //
1668
1677
  return this.safeValue(response, 'data');
1669
1678
  }
1679
+ /**
1680
+ * @method
1681
+ * @name kucoinfutures#cancelOrders
1682
+ * @description cancel multiple orders
1683
+ * @see https://www.kucoin.com/docs/rest/futures-trading/orders/batch-cancel-orders
1684
+ * @param {string[]} ids order ids
1685
+ * @param {string} symbol unified symbol of the market the order was made in
1686
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1687
+ * @param {string[]} [params.clientOrderIds] client order ids
1688
+ * @returns {object} an list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
1689
+ */
1670
1690
  async cancelOrders(ids, symbol = undefined, params = {}) {
1671
- /**
1672
- * @method
1673
- * @name kucoinfutures#cancelOrders
1674
- * @description cancel multiple orders
1675
- * @see https://www.kucoin.com/docs/rest/futures-trading/orders/batch-cancel-orders
1676
- * @param {string[]} ids order ids
1677
- * @param {string} symbol unified symbol of the market the order was made in
1678
- * @param {object} [params] extra parameters specific to the exchange API endpoint
1679
- * @param {string[]} [params.clientOrderIds] client order ids
1680
- * @returns {object} an list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
1681
- */
1682
1691
  await this.loadMarkets();
1683
1692
  let market = undefined;
1684
1693
  if (symbol !== undefined) {
@@ -1728,18 +1737,18 @@ export default class kucoinfutures extends kucoin {
1728
1737
  const orders = this.safeList(response, 'data', []);
1729
1738
  return this.parseOrders(orders, market);
1730
1739
  }
1740
+ /**
1741
+ * @method
1742
+ * @name kucoinfutures#cancelAllOrders
1743
+ * @description cancel all open orders
1744
+ * @see https://www.kucoin.com/docs/rest/futures-trading/orders/cancel-multiple-futures-limit-orders
1745
+ * @see https://www.kucoin.com/docs/rest/futures-trading/orders/cancel-multiple-futures-stop-orders
1746
+ * @param {string} symbol unified market symbol, only orders in the market of this symbol are cancelled when symbol is not undefined
1747
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1748
+ * @param {object} [params.trigger] When true, all the trigger orders will be cancelled
1749
+ * @returns Response from the exchange
1750
+ */
1731
1751
  async cancelAllOrders(symbol = undefined, params = {}) {
1732
- /**
1733
- * @method
1734
- * @name kucoinfutures#cancelAllOrders
1735
- * @description cancel all open orders
1736
- * @see https://www.kucoin.com/docs/rest/futures-trading/orders/cancel-multiple-futures-limit-orders
1737
- * @see https://www.kucoin.com/docs/rest/futures-trading/orders/cancel-multiple-futures-stop-orders
1738
- * @param {string} symbol unified market symbol, only orders in the market of this symbol are cancelled when symbol is not undefined
1739
- * @param {object} [params] extra parameters specific to the exchange API endpoint
1740
- * @param {object} [params.trigger] When true, all the trigger orders will be cancelled
1741
- * @returns Response from the exchange
1742
- */
1743
1752
  await this.loadMarkets();
1744
1753
  const request = {};
1745
1754
  if (symbol !== undefined) {
@@ -1766,17 +1775,17 @@ export default class kucoinfutures extends kucoin {
1766
1775
  //
1767
1776
  return this.safeValue(response, 'data');
1768
1777
  }
1778
+ /**
1779
+ * @method
1780
+ * @name kucoinfutures#addMargin
1781
+ * @description add margin
1782
+ * @see https://www.kucoin.com/docs/rest/futures-trading/positions/add-margin-manually
1783
+ * @param {string} symbol unified market symbol
1784
+ * @param {float} amount amount of margin to add
1785
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1786
+ * @returns {object} a [margin structure]{@link https://docs.ccxt.com/#/?id=add-margin-structure}
1787
+ */
1769
1788
  async addMargin(symbol, amount, params = {}) {
1770
- /**
1771
- * @method
1772
- * @name kucoinfutures#addMargin
1773
- * @description add margin
1774
- * @see https://www.kucoin.com/docs/rest/futures-trading/positions/add-margin-manually
1775
- * @param {string} symbol unified market symbol
1776
- * @param {float} amount amount of margin to add
1777
- * @param {object} [params] extra parameters specific to the exchange API endpoint
1778
- * @returns {object} a [margin structure]{@link https://docs.ccxt.com/#/?id=add-margin-structure}
1779
- */
1780
1789
  await this.loadMarkets();
1781
1790
  const market = this.market(symbol);
1782
1791
  const uuid = this.uuid();
@@ -1907,25 +1916,25 @@ export default class kucoinfutures extends kucoin {
1907
1916
  'datetime': this.iso8601(timestamp),
1908
1917
  };
1909
1918
  }
1919
+ /**
1920
+ * @method
1921
+ * @name kucoinfutures#fetchOrdersByStatus
1922
+ * @description fetches a list of orders placed on the exchange
1923
+ * @see https://docs.kucoin.com/futures/#get-order-list
1924
+ * @see https://docs.kucoin.com/futures/#get-untriggered-stop-order-list
1925
+ * @param {string} status 'active' or 'closed', only 'active' is valid for stop orders
1926
+ * @param {string} symbol unified symbol for the market to retrieve orders from
1927
+ * @param {int} [since] timestamp in ms of the earliest order to retrieve
1928
+ * @param {int} [limit] The maximum number of orders to retrieve
1929
+ * @param {object} [params] exchange specific parameters
1930
+ * @param {bool} [params.trigger] set to true to retrieve untriggered stop orders
1931
+ * @param {int} [params.until] End time in ms
1932
+ * @param {string} [params.side] buy or sell
1933
+ * @param {string} [params.type] limit or market
1934
+ * @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [availble parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
1935
+ * @returns An [array of order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
1936
+ */
1910
1937
  async fetchOrdersByStatus(status, symbol = undefined, since = undefined, limit = undefined, params = {}) {
1911
- /**
1912
- * @method
1913
- * @name kucoinfutures#fetchOrdersByStatus
1914
- * @description fetches a list of orders placed on the exchange
1915
- * @see https://docs.kucoin.com/futures/#get-order-list
1916
- * @see https://docs.kucoin.com/futures/#get-untriggered-stop-order-list
1917
- * @param {string} status 'active' or 'closed', only 'active' is valid for stop orders
1918
- * @param {string} symbol unified symbol for the market to retrieve orders from
1919
- * @param {int} [since] timestamp in ms of the earliest order to retrieve
1920
- * @param {int} [limit] The maximum number of orders to retrieve
1921
- * @param {object} [params] exchange specific parameters
1922
- * @param {bool} [params.trigger] set to true to retrieve untriggered stop orders
1923
- * @param {int} [params.until] End time in ms
1924
- * @param {string} [params.side] buy or sell
1925
- * @param {string} [params.type] limit or market
1926
- * @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [availble parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
1927
- * @returns An [array of order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
1928
- */
1929
1938
  await this.loadMarkets();
1930
1939
  let paginate = false;
1931
1940
  [paginate, params] = this.handleOptionAndParams(params, 'fetchOrdersByStatus', 'paginate');
@@ -2021,22 +2030,22 @@ export default class kucoinfutures extends kucoin {
2021
2030
  const orders = this.safeList(responseData, 'items', []);
2022
2031
  return this.parseOrders(orders, market, since, limit);
2023
2032
  }
2033
+ /**
2034
+ * @method
2035
+ * @name kucoinfutures#fetchClosedOrders
2036
+ * @description fetches information on multiple closed orders made by the user
2037
+ * @see https://docs.kucoin.com/futures/#get-order-list
2038
+ * @param {string} symbol unified market symbol of the market orders were made in
2039
+ * @param {int} [since] the earliest time in ms to fetch orders for
2040
+ * @param {int} [limit] the maximum number of order structures to retrieve
2041
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
2042
+ * @param {int} [params.until] end time in ms
2043
+ * @param {string} [params.side] buy or sell
2044
+ * @param {string} [params.type] limit, or market
2045
+ * @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [availble parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
2046
+ * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
2047
+ */
2024
2048
  async fetchClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
2025
- /**
2026
- * @method
2027
- * @name kucoinfutures#fetchClosedOrders
2028
- * @description fetches information on multiple closed orders made by the user
2029
- * @see https://docs.kucoin.com/futures/#get-order-list
2030
- * @param {string} symbol unified market symbol of the market orders were made in
2031
- * @param {int} [since] the earliest time in ms to fetch orders for
2032
- * @param {int} [limit] the maximum number of order structures to retrieve
2033
- * @param {object} [params] extra parameters specific to the exchange API endpoint
2034
- * @param {int} [params.until] end time in ms
2035
- * @param {string} [params.side] buy or sell
2036
- * @param {string} [params.type] limit, or market
2037
- * @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [availble parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
2038
- * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
2039
- */
2040
2049
  await this.loadMarkets();
2041
2050
  let paginate = false;
2042
2051
  [paginate, params] = this.handleOptionAndParams(params, 'fetchClosedOrders', 'paginate');
@@ -2045,24 +2054,24 @@ export default class kucoinfutures extends kucoin {
2045
2054
  }
2046
2055
  return await this.fetchOrdersByStatus('done', symbol, since, limit, params);
2047
2056
  }
2057
+ /**
2058
+ * @method
2059
+ * @name kucoinfutures#fetchOpenOrders
2060
+ * @description fetches information on multiple open orders made by the user
2061
+ * @see https://docs.kucoin.com/futures/#get-order-list
2062
+ * @see https://docs.kucoin.com/futures/#get-untriggered-stop-order-list
2063
+ * @param {string} symbol unified market symbol of the market orders were made in
2064
+ * @param {int} [since] the earliest time in ms to fetch orders for
2065
+ * @param {int} [limit] the maximum number of order structures to retrieve
2066
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
2067
+ * @param {int} [params.until] end time in ms
2068
+ * @param {string} [params.side] buy or sell
2069
+ * @param {string} [params.type] limit, or market
2070
+ * @param {boolean} [params.trigger] set to true to retrieve untriggered stop orders
2071
+ * @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [availble parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
2072
+ * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
2073
+ */
2048
2074
  async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
2049
- /**
2050
- * @method
2051
- * @name kucoinfutures#fetchOpenOrders
2052
- * @description fetches information on multiple open orders made by the user
2053
- * @see https://docs.kucoin.com/futures/#get-order-list
2054
- * @see https://docs.kucoin.com/futures/#get-untriggered-stop-order-list
2055
- * @param {string} symbol unified market symbol of the market orders were made in
2056
- * @param {int} [since] the earliest time in ms to fetch orders for
2057
- * @param {int} [limit] the maximum number of order structures to retrieve
2058
- * @param {object} [params] extra parameters specific to the exchange API endpoint
2059
- * @param {int} [params.until] end time in ms
2060
- * @param {string} [params.side] buy or sell
2061
- * @param {string} [params.type] limit, or market
2062
- * @param {boolean} [params.trigger] set to true to retrieve untriggered stop orders
2063
- * @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [availble parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
2064
- * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
2065
- */
2066
2075
  await this.loadMarkets();
2067
2076
  let paginate = false;
2068
2077
  [paginate, params] = this.handleOptionAndParams(params, 'fetchOpenOrders', 'paginate');
@@ -2071,16 +2080,17 @@ export default class kucoinfutures extends kucoin {
2071
2080
  }
2072
2081
  return await this.fetchOrdersByStatus('open', symbol, since, limit, params);
2073
2082
  }
2083
+ /**
2084
+ * @method
2085
+ * @name kucoinfutures#fetchOrder
2086
+ * @description fetches information on an order made by the user
2087
+ * @see https://docs.kucoin.com/futures/#get-details-of-a-single-order
2088
+ * @param {string} id order id
2089
+ * @param {string} symbol unified symbol of the market the order was made in
2090
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
2091
+ * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
2092
+ */
2074
2093
  async fetchOrder(id = undefined, symbol = undefined, params = {}) {
2075
- /**
2076
- * @method
2077
- * @name kucoinfutures#fetchOrder
2078
- * @description fetches information on an order made by the user
2079
- * @see https://docs.kucoin.com/futures/#get-details-of-a-single-order
2080
- * @param {string} symbol unified symbol of the market the order was made in
2081
- * @param {object} [params] extra parameters specific to the exchange API endpoint
2082
- * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
2083
- */
2084
2094
  await this.loadMarkets();
2085
2095
  const request = {};
2086
2096
  let response = undefined;
@@ -2280,16 +2290,16 @@ export default class kucoinfutures extends kucoin {
2280
2290
  'trades': undefined,
2281
2291
  }, market);
2282
2292
  }
2293
+ /**
2294
+ * @method
2295
+ * @name kucoinfutures#fetchFundingRate
2296
+ * @description fetch the current funding rate
2297
+ * @see https://www.kucoin.com/docs/rest/futures-trading/funding-fees/get-current-funding-rate
2298
+ * @param {string} symbol unified market symbol
2299
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
2300
+ * @returns {object} a [funding rate structure]{@link https://docs.ccxt.com/#/?id=funding-rate-structure}
2301
+ */
2283
2302
  async fetchFundingRate(symbol, params = {}) {
2284
- /**
2285
- * @method
2286
- * @name kucoinfutures#fetchFundingRate
2287
- * @description fetch the current funding rate
2288
- * @see https://www.kucoin.com/docs/rest/futures-trading/funding-fees/get-current-funding-rate
2289
- * @param {string} symbol unified market symbol
2290
- * @param {object} [params] extra parameters specific to the exchange API endpoint
2291
- * @returns {object} a [funding rate structure]{@link https://docs.ccxt.com/#/?id=funding-rate-structure}
2292
- */
2293
2303
  await this.loadMarkets();
2294
2304
  const market = this.market(symbol);
2295
2305
  const request = {
@@ -2312,16 +2322,16 @@ export default class kucoinfutures extends kucoin {
2312
2322
  // the website displayes the previous funding rate as "funding rate"
2313
2323
  return this.parseFundingRate(data, market);
2314
2324
  }
2325
+ /**
2326
+ * @method
2327
+ * @name kucoinfutures#fetchFundingInterval
2328
+ * @description fetch the current funding rate interval
2329
+ * @see https://www.kucoin.com/docs/rest/futures-trading/funding-fees/get-current-funding-rate
2330
+ * @param {string} symbol unified market symbol
2331
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
2332
+ * @returns {object} a [funding rate structure]{@link https://docs.ccxt.com/#/?id=funding-rate-structure}
2333
+ */
2315
2334
  async fetchFundingInterval(symbol, params = {}) {
2316
- /**
2317
- * @method
2318
- * @name kucoinfutures#fetchFundingInterval
2319
- * @description fetch the current funding rate interval
2320
- * @see https://www.kucoin.com/docs/rest/futures-trading/funding-fees/get-current-funding-rate
2321
- * @param {string} symbol unified market symbol
2322
- * @param {object} [params] extra parameters specific to the exchange API endpoint
2323
- * @returns {object} a [funding rate structure]{@link https://docs.ccxt.com/#/?id=funding-rate-structure}
2324
- */
2325
2335
  return await this.fetchFundingRate(symbol, params);
2326
2336
  }
2327
2337
  parseFundingRate(data, market = undefined) {
@@ -2382,15 +2392,15 @@ export default class kucoinfutures extends kucoin {
2382
2392
  result[code] = account;
2383
2393
  return this.safeBalance(result);
2384
2394
  }
2395
+ /**
2396
+ * @method
2397
+ * @name kucoinfutures#fetchBalance
2398
+ * @description query for balance and get the amount of funds available for trading or funds locked in orders
2399
+ * @see https://www.kucoin.com/docs/rest/funding/funding-overview/get-account-detail-futures
2400
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
2401
+ * @returns {object} a [balance structure]{@link https://docs.ccxt.com/#/?id=balance-structure}
2402
+ */
2385
2403
  async fetchBalance(params = {}) {
2386
- /**
2387
- * @method
2388
- * @name kucoinfutures#fetchBalance
2389
- * @description query for balance and get the amount of funds available for trading or funds locked in orders
2390
- * @see https://www.kucoin.com/docs/rest/funding/funding-overview/get-account-detail-futures
2391
- * @param {object} [params] extra parameters specific to the exchange API endpoint
2392
- * @returns {object} a [balance structure]{@link https://docs.ccxt.com/#/?id=balance-structure}
2393
- */
2394
2404
  await this.loadMarkets();
2395
2405
  // only fetches one balance at a time
2396
2406
  let defaultCode = this.safeString(this.options, 'code');
@@ -2419,21 +2429,20 @@ export default class kucoinfutures extends kucoin {
2419
2429
  //
2420
2430
  return this.parseBalance(response);
2421
2431
  }
2432
+ /**
2433
+ * @method
2434
+ * @name kucoinfutures#transfer
2435
+ * @description transfer currency internally between wallets on the same account
2436
+ * @see https://www.kucoin.com/docs/rest/funding/transfer/transfer-to-main-or-trade-account
2437
+ * @see https://www.kucoin.com/docs/rest/funding/transfer/transfer-to-futures-account
2438
+ * @param {string} code unified currency code
2439
+ * @param {float} amount amount to transfer
2440
+ * @param {string} fromAccount account to transfer from
2441
+ * @param {string} toAccount account to transfer to
2442
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
2443
+ * @returns {object} a [transfer structure]{@link https://docs.ccxt.com/#/?id=transfer-structure}
2444
+ */
2422
2445
  async transfer(code, amount, fromAccount, toAccount, params = {}) {
2423
- /**
2424
- * @method
2425
- * @name kucoinfutures#transfer
2426
- * @description transfer currency internally between wallets on the same account
2427
- * @param {string} code unified currency code
2428
- * @param {float} amount amount to transfer
2429
- * @param {string} fromAccount account to transfer from
2430
- * @param {string} toAccount account to transfer to
2431
- * @param {object} [params] extra parameters specific to the exchange API endpoint
2432
- * @returns {object} a [transfer structure]{@link https://docs.ccxt.com/#/?id=transfer-structure}
2433
- */
2434
- if ((toAccount !== 'main' && toAccount !== 'funding') || (fromAccount !== 'futures' && fromAccount !== 'future' && fromAccount !== 'contract')) {
2435
- throw new BadRequest(this.id + ' transfer() only supports transfers from contract(future) account to main(funding) account');
2436
- }
2437
2446
  await this.loadMarkets();
2438
2447
  const currency = this.currency(code);
2439
2448
  const amountToPrecision = this.currencyToPrecision(code, amount);
@@ -2441,38 +2450,95 @@ export default class kucoinfutures extends kucoin {
2441
2450
  'currency': this.safeString(currency, 'id'),
2442
2451
  'amount': amountToPrecision,
2443
2452
  };
2444
- // transfer from usdm futures wallet to spot wallet
2445
- const response = await this.futuresPrivatePostTransferOut(this.extend(request, params));
2446
- //
2447
- // {
2448
- // "code": "200000",
2449
- // "data": {
2450
- // "applyId": "5bffb63303aa675e8bbe18f9" // Transfer-out request ID
2451
- // }
2452
- // }
2453
- //
2454
- const data = this.safeValue(response, 'data');
2453
+ const toAccountString = this.parseTransferType(toAccount);
2454
+ let response = undefined;
2455
+ if (toAccountString === 'TRADE' || toAccountString === 'MAIN') {
2456
+ request['recAccountType'] = toAccountString;
2457
+ response = await this.futuresPrivatePostTransferOut(this.extend(request, params));
2458
+ //
2459
+ // {
2460
+ // "code": "200000",
2461
+ // "data": {
2462
+ // "applyId": "6738754373ceee00011ec3f8",
2463
+ // "bizNo": "6738754373ceee00011ec3f7",
2464
+ // "payAccountType": "CONTRACT",
2465
+ // "payTag": "DEFAULT",
2466
+ // "remark": "",
2467
+ // "recAccountType": "MAIN",
2468
+ // "recTag": "DEFAULT",
2469
+ // "recRemark": "",
2470
+ // "recSystem": "KUCOIN",
2471
+ // "status": "PROCESSING",
2472
+ // "currency": "USDT",
2473
+ // "amount": "5",
2474
+ // "fee": "0",
2475
+ // "sn": 1519769124846692,
2476
+ // "reason": "",
2477
+ // "createdAt": 1731753283000,
2478
+ // "updatedAt": 1731753283000
2479
+ // }
2480
+ // }
2481
+ //
2482
+ }
2483
+ else if (toAccount === 'future' || toAccount === 'swap' || toAccount === 'contract') {
2484
+ request['payAccountType'] = this.parseTransferType(fromAccount);
2485
+ response = await this.futuresPrivatePostTransferIn(this.extend(request, params));
2486
+ //
2487
+ // {
2488
+ // "code": "200000",
2489
+ // "data": {
2490
+ // "applyId": "5bffb63303aa675e8bbe18f9" // Transfer-out request ID
2491
+ // }
2492
+ // }
2493
+ //
2494
+ }
2495
+ else {
2496
+ throw new BadRequest(this.id + ' transfer() only supports transfers between future/swap, spot and funding accounts');
2497
+ }
2498
+ const data = this.safeDict(response, 'data', {});
2455
2499
  return this.extend(this.parseTransfer(data, currency), {
2456
2500
  'amount': this.parseNumber(amountToPrecision),
2457
- 'fromAccount': 'future',
2458
- 'toAccount': 'spot',
2501
+ 'fromAccount': fromAccount,
2502
+ 'toAccount': toAccount,
2459
2503
  });
2460
2504
  }
2461
2505
  parseTransfer(transfer, currency = undefined) {
2462
2506
  //
2463
- // transfer
2507
+ // transfer to spot or funding account
2464
2508
  //
2465
2509
  // {
2466
2510
  // "applyId": "5bffb63303aa675e8bbe18f9" // Transfer-out request ID
2467
2511
  // }
2468
2512
  //
2513
+ // transfer to future account
2514
+ //
2515
+ // {
2516
+ // "applyId": "6738754373ceee00011ec3f8",
2517
+ // "bizNo": "6738754373ceee00011ec3f7",
2518
+ // "payAccountType": "CONTRACT",
2519
+ // "payTag": "DEFAULT",
2520
+ // "remark": "",
2521
+ // "recAccountType": "MAIN",
2522
+ // "recTag": "DEFAULT",
2523
+ // "recRemark": "",
2524
+ // "recSystem": "KUCOIN",
2525
+ // "status": "PROCESSING",
2526
+ // "currency": "USDT",
2527
+ // "amount": "5",
2528
+ // "fee": "0",
2529
+ // "sn": 1519769124846692,
2530
+ // "reason": "",
2531
+ // "createdAt": 1731753283000,
2532
+ // "updatedAt": 1731753283000
2533
+ // }
2534
+ //
2469
2535
  const timestamp = this.safeInteger(transfer, 'updatedAt');
2470
2536
  return {
2471
2537
  'id': this.safeString(transfer, 'applyId'),
2472
2538
  'timestamp': timestamp,
2473
2539
  'datetime': this.iso8601(timestamp),
2474
2540
  'currency': this.safeCurrencyCode(undefined, currency),
2475
- 'amount': undefined,
2541
+ 'amount': this.safeNumber(transfer, 'amount'),
2476
2542
  'fromAccount': undefined,
2477
2543
  'toAccount': undefined,
2478
2544
  'status': this.safeString(transfer, 'status'),
@@ -2485,20 +2551,27 @@ export default class kucoinfutures extends kucoin {
2485
2551
  };
2486
2552
  return this.safeString(statuses, status, status);
2487
2553
  }
2554
+ parseTransferType(transferType) {
2555
+ const transferTypes = {
2556
+ 'spot': 'TRADE',
2557
+ 'funding': 'MAIN',
2558
+ };
2559
+ return this.safeStringUpper(transferTypes, transferType, transferType);
2560
+ }
2561
+ /**
2562
+ * @method
2563
+ * @name kucoinfutures#fetchMyTrades
2564
+ * @see https://docs.kucoin.com/futures/#get-fills
2565
+ * @description fetch all trades made by the user
2566
+ * @param {string} symbol unified market symbol
2567
+ * @param {int} [since] the earliest time in ms to fetch trades for
2568
+ * @param {int} [limit] the maximum number of trades structures to retrieve
2569
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
2570
+ * @param {int} [params.until] End time in ms
2571
+ * @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [availble parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
2572
+ * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=trade-structure}
2573
+ */
2488
2574
  async fetchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
2489
- /**
2490
- * @method
2491
- * @name kucoinfutures#fetchMyTrades
2492
- * @see https://docs.kucoin.com/futures/#get-fills
2493
- * @description fetch all trades made by the user
2494
- * @param {string} symbol unified market symbol
2495
- * @param {int} [since] the earliest time in ms to fetch trades for
2496
- * @param {int} [limit] the maximum number of trades structures to retrieve
2497
- * @param {object} [params] extra parameters specific to the exchange API endpoint
2498
- * @param {int} [params.until] End time in ms
2499
- * @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [availble parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
2500
- * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=trade-structure}
2501
- */
2502
2575
  await this.loadMarkets();
2503
2576
  let paginate = false;
2504
2577
  [paginate, params] = this.handleOptionAndParams(params, 'fetchMyTrades', 'paginate');
@@ -2560,18 +2633,18 @@ export default class kucoinfutures extends kucoin {
2560
2633
  const trades = this.safeList(data, 'items', []);
2561
2634
  return this.parseTrades(trades, market, since, limit);
2562
2635
  }
2636
+ /**
2637
+ * @method
2638
+ * @name kucoinfutures#fetchTrades
2639
+ * @description get the list of most recent trades for a particular symbol
2640
+ * @see https://www.kucoin.com/docs/rest/futures-trading/market-data/get-transaction-history
2641
+ * @param {string} symbol unified symbol of the market to fetch trades for
2642
+ * @param {int} [since] timestamp in ms of the earliest trade to fetch
2643
+ * @param {int} [limit] the maximum amount of trades to fetch
2644
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
2645
+ * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=public-trades}
2646
+ */
2563
2647
  async fetchTrades(symbol, since = undefined, limit = undefined, params = {}) {
2564
- /**
2565
- * @method
2566
- * @name kucoinfutures#fetchTrades
2567
- * @description get the list of most recent trades for a particular symbol
2568
- * @see https://www.kucoin.com/docs/rest/futures-trading/market-data/get-transaction-history
2569
- * @param {string} symbol unified symbol of the market to fetch trades for
2570
- * @param {int} [since] timestamp in ms of the earliest trade to fetch
2571
- * @param {int} [limit] the maximum amount of trades to fetch
2572
- * @param {object} [params] extra parameters specific to the exchange API endpoint
2573
- * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=public-trades}
2574
- */
2575
2648
  await this.loadMarkets();
2576
2649
  const market = this.market(symbol);
2577
2650
  const request = {
@@ -2733,17 +2806,17 @@ export default class kucoinfutures extends kucoin {
2733
2806
  'fee': fee,
2734
2807
  }, market);
2735
2808
  }
2809
+ /**
2810
+ * @method
2811
+ * @name kucoinfutures#fetchDeposits
2812
+ * @description fetch all deposits made to an account
2813
+ * @param {string} code unified currency code
2814
+ * @param {int} [since] the earliest time in ms to fetch deposits for
2815
+ * @param {int} [limit] the maximum number of deposits structures to retrieve
2816
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
2817
+ * @returns {object[]} a list of [transaction structures]{@link https://docs.ccxt.com/#/?id=transaction-structure}
2818
+ */
2736
2819
  async fetchDeposits(code = undefined, since = undefined, limit = undefined, params = {}) {
2737
- /**
2738
- * @method
2739
- * @name kucoinfutures#fetchDeposits
2740
- * @description fetch all deposits made to an account
2741
- * @param {string} code unified currency code
2742
- * @param {int} [since] the earliest time in ms to fetch deposits for
2743
- * @param {int} [limit] the maximum number of deposits structures to retrieve
2744
- * @param {object} [params] extra parameters specific to the exchange API endpoint
2745
- * @returns {object[]} a list of [transaction structures]{@link https://docs.ccxt.com/#/?id=transaction-structure}
2746
- */
2747
2820
  await this.loadMarkets();
2748
2821
  const request = {};
2749
2822
  let currency = undefined;
@@ -2788,17 +2861,17 @@ export default class kucoinfutures extends kucoin {
2788
2861
  const responseData = response['data']['items'];
2789
2862
  return this.parseTransactions(responseData, currency, since, limit, { 'type': 'deposit' });
2790
2863
  }
2864
+ /**
2865
+ * @method
2866
+ * @name kucoinfutures#fetchWithdrawals
2867
+ * @description fetch all withdrawals made from an account
2868
+ * @param {string} code unified currency code
2869
+ * @param {int} [since] the earliest time in ms to fetch withdrawals for
2870
+ * @param {int} [limit] the maximum number of withdrawals structures to retrieve
2871
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
2872
+ * @returns {object[]} a list of [transaction structures]{@link https://docs.ccxt.com/#/?id=transaction-structure}
2873
+ */
2791
2874
  async fetchWithdrawals(code = undefined, since = undefined, limit = undefined, params = {}) {
2792
- /**
2793
- * @method
2794
- * @name kucoinfutures#fetchWithdrawals
2795
- * @description fetch all withdrawals made from an account
2796
- * @param {string} code unified currency code
2797
- * @param {int} [since] the earliest time in ms to fetch withdrawals for
2798
- * @param {int} [limit] the maximum number of withdrawals structures to retrieve
2799
- * @param {object} [params] extra parameters specific to the exchange API endpoint
2800
- * @returns {object[]} a list of [transaction structures]{@link https://docs.ccxt.com/#/?id=transaction-structure}
2801
- */
2802
2875
  await this.loadMarkets();
2803
2876
  const request = {};
2804
2877
  let currency = undefined;
@@ -2843,16 +2916,16 @@ export default class kucoinfutures extends kucoin {
2843
2916
  const responseData = response['data']['items'];
2844
2917
  return this.parseTransactions(responseData, currency, since, limit, { 'type': 'withdrawal' });
2845
2918
  }
2919
+ /**
2920
+ * @method
2921
+ * @name kucoinfutures#fetchMarketLeverageTiers
2922
+ * @description retrieve information on the maximum leverage, and maintenance margin for trades of varying trade sizes for a single market
2923
+ * @see https://www.kucoin.com/docs/rest/futures-trading/risk-limit/get-futures-risk-limit-level
2924
+ * @param {string} symbol unified market symbol
2925
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
2926
+ * @returns {object} a [leverage tiers structure]{@link https://docs.ccxt.com/#/?id=leverage-tiers-structure}
2927
+ */
2846
2928
  async fetchMarketLeverageTiers(symbol, params = {}) {
2847
- /**
2848
- * @method
2849
- * @name kucoinfutures#fetchMarketLeverageTiers
2850
- * @description retrieve information on the maximum leverage, and maintenance margin for trades of varying trade sizes for a single market
2851
- * @see https://www.kucoin.com/docs/rest/futures-trading/risk-limit/get-futures-risk-limit-level
2852
- * @param {string} symbol unified market symbol
2853
- * @param {object} [params] extra parameters specific to the exchange API endpoint
2854
- * @returns {object} a [leverage tiers structure]{@link https://docs.ccxt.com/#/?id=leverage-tiers-structure}
2855
- */
2856
2929
  await this.loadMarkets();
2857
2930
  const market = this.market(symbol);
2858
2931
  if (!market['contract']) {
@@ -2886,6 +2959,7 @@ export default class kucoinfutures extends kucoin {
2886
2959
  /**
2887
2960
  * @ignore
2888
2961
  * @method
2962
+ * @name kucoinfutures#parseMarketLeverageTiers
2889
2963
  * @param {object} info Exchange market response for 1 market
2890
2964
  * @param {object} market CCXT market
2891
2965
  */
@@ -2903,8 +2977,10 @@ export default class kucoinfutures extends kucoin {
2903
2977
  const tiers = [];
2904
2978
  for (let i = 0; i < info.length; i++) {
2905
2979
  const tier = info[i];
2980
+ const marketId = this.safeString(tier, 'symbol');
2906
2981
  tiers.push({
2907
2982
  'tier': this.safeNumber(tier, 'level'),
2983
+ 'symbol': this.safeSymbol(marketId, market, undefined, 'contract'),
2908
2984
  'currency': market['base'],
2909
2985
  'minNotional': this.safeNumber(tier, 'minRiskLimit'),
2910
2986
  'maxNotional': this.safeNumber(tier, 'maxRiskLimit'),
@@ -2915,19 +2991,19 @@ export default class kucoinfutures extends kucoin {
2915
2991
  }
2916
2992
  return tiers;
2917
2993
  }
2994
+ /**
2995
+ * @method
2996
+ * @name kucoinfutures#fetchFundingRateHistory
2997
+ * @see https://www.kucoin.com/docs/rest/futures-trading/funding-fees/get-public-funding-history#request-url
2998
+ * @description fetches historical funding rate prices
2999
+ * @param {string} symbol unified symbol of the market to fetch the funding rate history for
3000
+ * @param {int} [since] not used by kucuoinfutures
3001
+ * @param {int} [limit] the maximum amount of [funding rate structures]{@link https://docs.ccxt.com/#/?id=funding-rate-history-structure} to fetch
3002
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
3003
+ * @param {int} [params.until] end time in ms
3004
+ * @returns {object[]} a list of [funding rate structures]{@link https://docs.ccxt.com/#/?id=funding-rate-history-structure}
3005
+ */
2918
3006
  async fetchFundingRateHistory(symbol = undefined, since = undefined, limit = undefined, params = {}) {
2919
- /**
2920
- * @method
2921
- * @name kucoinfutures#fetchFundingRateHistory
2922
- * @see https://www.kucoin.com/docs/rest/futures-trading/funding-fees/get-public-funding-history#request-url
2923
- * @description fetches historical funding rate prices
2924
- * @param {string} symbol unified symbol of the market to fetch the funding rate history for
2925
- * @param {int} [since] not used by kucuoinfutures
2926
- * @param {int} [limit] the maximum amount of [funding rate structures]{@link https://docs.ccxt.com/#/?id=funding-rate-history-structure} to fetch
2927
- * @param {object} [params] extra parameters specific to the exchange API endpoint
2928
- * @param {int} [params.until] end time in ms
2929
- * @returns {object[]} a list of [funding rate structures]{@link https://docs.ccxt.com/#/?id=funding-rate-history-structure}
2930
- */
2931
3007
  if (symbol === undefined) {
2932
3008
  throw new ArgumentsRequired(this.id + ' fetchFundingRateHistory() requires a symbol argument');
2933
3009
  }
@@ -2979,18 +3055,18 @@ export default class kucoinfutures extends kucoin {
2979
3055
  'datetime': this.iso8601(timestamp),
2980
3056
  };
2981
3057
  }
3058
+ /**
3059
+ * @method
3060
+ * @name kucoinfutures#closePosition
3061
+ * @description closes open positions for a market
3062
+ * @see https://www.kucoin.com/docs/rest/futures-trading/orders/place-order
3063
+ * @param {string} symbol Unified CCXT market symbol
3064
+ * @param {string} side not used by kucoinfutures closePositions
3065
+ * @param {object} [params] extra parameters specific to the okx api endpoint
3066
+ * @param {string} [params.clientOrderId] client order id of the order
3067
+ * @returns {object[]} [A list of position structures]{@link https://docs.ccxt.com/#/?id=position-structure}
3068
+ */
2982
3069
  async closePosition(symbol, side = undefined, params = {}) {
2983
- /**
2984
- * @method
2985
- * @name kucoinfutures#closePosition
2986
- * @description closes open positions for a market
2987
- * @see https://www.kucoin.com/docs/rest/futures-trading/orders/place-order
2988
- * @param {string} symbol Unified CCXT market symbol
2989
- * @param {string} side not used by kucoinfutures closePositions
2990
- * @param {object} [params] extra parameters specific to the okx api endpoint
2991
- * @param {string} [params.clientOrderId] client order id of the order
2992
- * @returns {object[]} [A list of position structures]{@link https://docs.ccxt.com/#/?id=position-structure}
2993
- */
2994
3070
  await this.loadMarkets();
2995
3071
  const market = this.market(symbol);
2996
3072
  let clientOrderId = this.safeString(params, 'clientOrderId');
@@ -3014,16 +3090,16 @@ export default class kucoinfutures extends kucoin {
3014
3090
  }
3015
3091
  return this.parseOrder(response, market);
3016
3092
  }
3093
+ /**
3094
+ * @method
3095
+ * @name kucoinfutures#fetchTradingFee
3096
+ * @description fetch the trading fees for a market
3097
+ * @see https://www.kucoin.com/docs/rest/funding/trade-fee/trading-pair-actual-fee-futures
3098
+ * @param {string} symbol unified market symbol
3099
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
3100
+ * @returns {object} a [fee structure]{@link https://docs.ccxt.com/#/?id=fee-structure}
3101
+ */
3017
3102
  async fetchTradingFee(symbol, params = {}) {
3018
- /**
3019
- * @method
3020
- * @name kucoinfutures#fetchTradingFee
3021
- * @description fetch the trading fees for a market
3022
- * @see https://www.kucoin.com/docs/rest/funding/trade-fee/trading-pair-actual-fee-futures
3023
- * @param {string} symbol unified market symbol
3024
- * @param {object} [params] extra parameters specific to the exchange API endpoint
3025
- * @returns {object} a [fee structure]{@link https://docs.ccxt.com/#/?id=fee-structure}
3026
- */
3027
3103
  await this.loadMarkets();
3028
3104
  const market = this.market(symbol);
3029
3105
  const request = {
@@ -3052,16 +3128,16 @@ export default class kucoinfutures extends kucoin {
3052
3128
  'tierBased': true,
3053
3129
  };
3054
3130
  }
3131
+ /**
3132
+ * @method
3133
+ * @name kucoinfutures#fetchMarginMode
3134
+ * @description fetches the margin mode of a trading pair
3135
+ * @see https://www.kucoin.com/docs/rest/futures-trading/positions/get-margin-mode
3136
+ * @param {string} symbol unified symbol of the market to fetch the margin mode for
3137
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
3138
+ * @returns {object} a [margin mode structure]{@link https://docs.ccxt.com/#/?id=margin-mode-structure}
3139
+ */
3055
3140
  async fetchMarginMode(symbol, params = {}) {
3056
- /**
3057
- * @method
3058
- * @name kucoinfutures#fetchMarginMode
3059
- * @description fetches the margin mode of a trading pair
3060
- * @see https://www.kucoin.com/docs/rest/futures-trading/positions/get-margin-mode
3061
- * @param {string} symbol unified symbol of the market to fetch the margin mode for
3062
- * @param {object} [params] extra parameters specific to the exchange API endpoint
3063
- * @returns {object} a [margin mode structure]{@link https://docs.ccxt.com/#/?id=margin-mode-structure}
3064
- */
3065
3141
  await this.loadMarkets();
3066
3142
  const market = this.market(symbol);
3067
3143
  const request = {
@@ -3089,17 +3165,17 @@ export default class kucoinfutures extends kucoin {
3089
3165
  'marginMode': marginType,
3090
3166
  };
3091
3167
  }
3168
+ /**
3169
+ * @method
3170
+ * @name kucoinfutures#setMarginMode
3171
+ * @description set margin mode to 'cross' or 'isolated'
3172
+ * @see https://www.kucoin.com/docs/rest/futures-trading/positions/modify-margin-mode
3173
+ * @param {string} marginMode 'cross' or 'isolated'
3174
+ * @param {string} symbol unified market symbol
3175
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
3176
+ * @returns {object} response from the exchange
3177
+ */
3092
3178
  async setMarginMode(marginMode, symbol = undefined, params = {}) {
3093
- /**
3094
- * @method
3095
- * @name kucoinfutures#setMarginMode
3096
- * @description set margin mode to 'cross' or 'isolated'
3097
- * @see https://www.kucoin.com/docs/rest/futures-trading/positions/modify-margin-mode
3098
- * @param {string} marginMode 'cross' or 'isolated'
3099
- * @param {string} symbol unified market symbol
3100
- * @param {object} [params] extra parameters specific to the exchange API endpoint
3101
- * @returns {object} response from the exchange
3102
- */
3103
3179
  if (symbol === undefined) {
3104
3180
  throw new ArgumentsRequired(this.id + ' setMarginMode() requires a symbol argument');
3105
3181
  }
@@ -3123,16 +3199,16 @@ export default class kucoinfutures extends kucoin {
3123
3199
  const data = this.safeDict(response, 'data', {});
3124
3200
  return this.parseMarginMode(data, market);
3125
3201
  }
3202
+ /**
3203
+ * @method
3204
+ * @name kucoinfutures#fetchLeverage
3205
+ * @description fetch the set leverage for a market
3206
+ * @see https://www.kucoin.com/docs/rest/futures-trading/positions/get-cross-margin-leverage
3207
+ * @param {string} symbol unified market symbol
3208
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
3209
+ * @returns {object} a [leverage structure]{@link https://docs.ccxt.com/#/?id=leverage-structure}
3210
+ */
3126
3211
  async fetchLeverage(symbol, params = {}) {
3127
- /**
3128
- * @method
3129
- * @name kucoin#fetchLeverage
3130
- * @description fetch the set leverage for a market
3131
- * @see https://www.kucoin.com/docs/rest/futures-trading/positions/get-cross-margin-leverage
3132
- * @param {string} symbol unified market symbol
3133
- * @param {object} [params] extra parameters specific to the exchange API endpoint
3134
- * @returns {object} a [leverage structure]{@link https://docs.ccxt.com/#/?id=leverage-structure}
3135
- */
3136
3212
  let marginMode = undefined;
3137
3213
  [marginMode, params] = this.handleMarginModeAndParams(symbol, params);
3138
3214
  if (marginMode !== 'cross') {
@@ -3159,17 +3235,17 @@ export default class kucoinfutures extends kucoin {
3159
3235
  'marginMode': marginMode,
3160
3236
  });
3161
3237
  }
3238
+ /**
3239
+ * @method
3240
+ * @name kucoinfutures#setLeverage
3241
+ * @description set the level of leverage for a market
3242
+ * @see https://www.kucoin.com/docs/rest/futures-trading/positions/modify-cross-margin-leverage
3243
+ * @param {float} leverage the rate of leverage
3244
+ * @param {string} symbol unified market symbol
3245
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
3246
+ * @returns {object} response from the exchange
3247
+ */
3162
3248
  async setLeverage(leverage, symbol = undefined, params = {}) {
3163
- /**
3164
- * @method
3165
- * @name kucoinfutures#setLeverage
3166
- * @description set the level of leverage for a market
3167
- * @see https://www.kucoin.com/docs/rest/futures-trading/positions/modify-cross-margin-leverage
3168
- * @param {float} leverage the rate of leverage
3169
- * @param {string} symbol unified market symbol
3170
- * @param {object} [params] extra parameters specific to the exchange API endpoint
3171
- * @returns {object} response from the exchange
3172
- */
3173
3249
  let marginMode = undefined;
3174
3250
  [marginMode, params] = this.handleMarginModeAndParams(symbol, params);
3175
3251
  if (marginMode !== 'cross') {