ccxt 4.2.17 → 4.2.19

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 (439) hide show
  1. package/README.md +9 -9
  2. package/dist/ccxt.browser.js +48992 -47725
  3. package/dist/ccxt.browser.min.js +3 -3
  4. package/dist/cjs/ccxt.js +12 -1
  5. package/dist/cjs/src/alpaca.js +18 -18
  6. package/dist/cjs/src/ascendex.js +13 -6
  7. package/dist/cjs/src/base/Exchange.js +266 -27
  8. package/dist/cjs/src/bigone.js +434 -168
  9. package/dist/cjs/src/binance.js +163 -34
  10. package/dist/cjs/src/binanceus.js +8 -0
  11. package/dist/cjs/src/bingx.js +183 -41
  12. package/dist/cjs/src/bitfinex.js +2 -3
  13. package/dist/cjs/src/bitget.js +59 -16
  14. package/dist/cjs/src/bitmart.js +5 -5
  15. package/dist/cjs/src/bitmex.js +4 -6
  16. package/dist/cjs/src/bitpanda.js +5 -1991
  17. package/dist/cjs/src/bitstamp.js +8 -0
  18. package/dist/cjs/src/bybit.js +27 -47
  19. package/dist/cjs/src/coinbase.js +176 -26
  20. package/dist/cjs/src/coincheck.js +1 -0
  21. package/dist/cjs/src/coinex.js +3 -0
  22. package/dist/cjs/src/coinlist.js +13 -6
  23. package/dist/cjs/src/coinone.js +2 -2
  24. package/dist/cjs/src/coinsph.js +4 -5
  25. package/dist/cjs/src/delta.js +7 -1
  26. package/dist/cjs/src/deribit.js +17 -4
  27. package/dist/cjs/src/gate.js +151 -169
  28. package/dist/cjs/src/gemini.js +1 -1
  29. package/dist/cjs/src/hitbtc.js +2 -3
  30. package/dist/cjs/src/htx.js +157 -7
  31. package/dist/cjs/src/huobijp.js +2 -3
  32. package/dist/cjs/src/independentreserve.js +7 -5
  33. package/dist/cjs/src/kraken.js +86 -54
  34. package/dist/cjs/src/kucoin.js +5 -0
  35. package/dist/cjs/src/kucoinfutures.js +131 -77
  36. package/dist/cjs/src/lbank.js +60 -33
  37. package/dist/cjs/src/luno.js +84 -2
  38. package/dist/cjs/src/mexc.js +3 -3
  39. package/dist/cjs/src/oceanex.js +1 -1
  40. package/dist/cjs/src/okx.js +23 -11
  41. package/dist/cjs/{js/src/bitpanda.js → src/onetrading.js} +39 -39
  42. package/dist/cjs/src/phemex.js +37 -27
  43. package/dist/cjs/src/poloniexfutures.js +1 -0
  44. package/dist/cjs/src/pro/binance.js +66 -25
  45. package/dist/cjs/src/pro/bitget.js +1 -1
  46. package/dist/cjs/src/pro/bitpanda.js +5 -1330
  47. package/dist/cjs/src/pro/coinbase.js +4 -1
  48. package/dist/cjs/src/pro/coincheck.js +208 -0
  49. package/dist/cjs/src/pro/hitbtc.js +5 -4
  50. package/dist/cjs/src/pro/htx.js +6 -1
  51. package/dist/cjs/src/pro/kraken.js +1 -1
  52. package/dist/cjs/src/pro/krakenfutures.js +7 -1
  53. package/dist/cjs/src/pro/kucoin.js +46 -36
  54. package/dist/cjs/src/pro/kucoinfutures.js +45 -37
  55. package/dist/cjs/src/pro/lbank.js +881 -0
  56. package/dist/cjs/src/pro/okx.js +52 -2
  57. package/dist/cjs/{js/src/pro/bitpanda.js → src/pro/onetrading.js} +4 -7
  58. package/dist/cjs/src/pro/poloniex.js +2 -2
  59. package/dist/cjs/src/pro/poloniexfutures.js +43 -35
  60. package/dist/cjs/src/pro/woo.js +126 -0
  61. package/dist/cjs/src/probit.js +4 -2
  62. package/dist/cjs/src/upbit.js +12 -12
  63. package/dist/cjs/src/wavesexchange.js +1 -1
  64. package/dist/cjs/src/whitebit.js +1 -0
  65. package/dist/cjs/src/woo.js +56 -0
  66. package/js/ccxt.d.ts +14 -2
  67. package/js/ccxt.js +10 -2
  68. package/js/src/abstract/bitpanda.d.ts +4 -4
  69. package/js/src/abstract/bitstamp.d.ts +8 -0
  70. package/js/src/abstract/gate.d.ts +1 -0
  71. package/js/src/abstract/gateio.d.ts +1 -0
  72. package/js/src/abstract/htx.d.ts +3 -0
  73. package/js/src/abstract/huobi.d.ts +3 -0
  74. package/js/src/abstract/luno.d.ts +1 -0
  75. package/js/src/abstract/onetrading.d.ts +38 -0
  76. package/js/src/ascendex.js +2 -0
  77. package/js/src/base/Exchange.d.ts +2 -3
  78. package/js/src/base/Exchange.js +5 -2
  79. package/js/src/binance.js +7 -1
  80. package/js/src/bingx.d.ts +1 -0
  81. package/js/src/bingx.js +26 -0
  82. package/js/src/bitget.js +22 -3
  83. package/js/src/bitpanda.d.ts +2 -72
  84. package/js/src/bitpanda.js +5 -1991
  85. package/js/src/bitstamp.js +8 -0
  86. package/js/src/bybit.js +21 -47
  87. package/js/src/coincheck.js +1 -0
  88. package/js/src/deribit.js +16 -4
  89. package/js/src/gate.d.ts +1 -0
  90. package/js/src/gate.js +50 -110
  91. package/js/src/htx.js +3 -0
  92. package/js/src/kraken.d.ts +1 -0
  93. package/js/src/kraken.js +40 -39
  94. package/js/src/lbank.js +1 -0
  95. package/js/src/luno.d.ts +3 -1
  96. package/js/src/luno.js +84 -2
  97. package/js/src/mexc.js +1 -2
  98. package/js/src/onetrading.d.ts +74 -0
  99. package/js/src/onetrading.js +2003 -0
  100. package/js/src/poloniexfutures.js +1 -0
  101. package/js/src/pro/binance.js +7 -2
  102. package/js/src/pro/bitget.js +1 -1
  103. package/js/src/pro/bitpanda.d.ts +2 -34
  104. package/js/src/pro/bitpanda.js +5 -1330
  105. package/js/src/pro/coincheck.d.ts +12 -0
  106. package/js/src/pro/coincheck.js +209 -0
  107. package/js/src/pro/kucoin.js +43 -35
  108. package/js/src/pro/kucoinfutures.js +45 -37
  109. package/js/src/pro/lbank.d.ts +29 -0
  110. package/js/src/pro/lbank.js +882 -0
  111. package/js/src/pro/onetrading.d.ts +36 -0
  112. package/js/src/pro/onetrading.js +1339 -0
  113. package/js/src/pro/poloniexfutures.js +43 -35
  114. package/js/src/whitebit.js +1 -0
  115. package/package.json +2 -2
  116. package/rollup.config.js +2 -0
  117. package/skip-tests.json +14 -2
  118. package/test-commonjs.cjs +25 -1
  119. package/dist/cjs/js/ccxt.js +0 -476
  120. package/dist/cjs/js/src/abstract/alpaca.js +0 -9
  121. package/dist/cjs/js/src/abstract/ascendex.js +0 -9
  122. package/dist/cjs/js/src/abstract/bigone.js +0 -9
  123. package/dist/cjs/js/src/abstract/binance.js +0 -9
  124. package/dist/cjs/js/src/abstract/bingx.js +0 -9
  125. package/dist/cjs/js/src/abstract/bit2c.js +0 -9
  126. package/dist/cjs/js/src/abstract/bitbank.js +0 -9
  127. package/dist/cjs/js/src/abstract/bitbns.js +0 -9
  128. package/dist/cjs/js/src/abstract/bitfinex.js +0 -9
  129. package/dist/cjs/js/src/abstract/bitfinex2.js +0 -9
  130. package/dist/cjs/js/src/abstract/bitflyer.js +0 -9
  131. package/dist/cjs/js/src/abstract/bitforex.js +0 -9
  132. package/dist/cjs/js/src/abstract/bitget.js +0 -9
  133. package/dist/cjs/js/src/abstract/bithumb.js +0 -9
  134. package/dist/cjs/js/src/abstract/bitmart.js +0 -9
  135. package/dist/cjs/js/src/abstract/bitmex.js +0 -9
  136. package/dist/cjs/js/src/abstract/bitopro.js +0 -9
  137. package/dist/cjs/js/src/abstract/bitpanda.js +0 -9
  138. package/dist/cjs/js/src/abstract/bitrue.js +0 -9
  139. package/dist/cjs/js/src/abstract/bitso.js +0 -9
  140. package/dist/cjs/js/src/abstract/bitstamp.js +0 -9
  141. package/dist/cjs/js/src/abstract/bitteam.js +0 -9
  142. package/dist/cjs/js/src/abstract/bitvavo.js +0 -9
  143. package/dist/cjs/js/src/abstract/bl3p.js +0 -9
  144. package/dist/cjs/js/src/abstract/blockchaincom.js +0 -9
  145. package/dist/cjs/js/src/abstract/btcalpha.js +0 -9
  146. package/dist/cjs/js/src/abstract/btcbox.js +0 -9
  147. package/dist/cjs/js/src/abstract/btcmarkets.js +0 -9
  148. package/dist/cjs/js/src/abstract/btcturk.js +0 -9
  149. package/dist/cjs/js/src/abstract/bybit.js +0 -9
  150. package/dist/cjs/js/src/abstract/cex.js +0 -9
  151. package/dist/cjs/js/src/abstract/coinbase.js +0 -9
  152. package/dist/cjs/js/src/abstract/coinbasepro.js +0 -9
  153. package/dist/cjs/js/src/abstract/coincheck.js +0 -9
  154. package/dist/cjs/js/src/abstract/coinex.js +0 -9
  155. package/dist/cjs/js/src/abstract/coinlist.js +0 -9
  156. package/dist/cjs/js/src/abstract/coinmate.js +0 -9
  157. package/dist/cjs/js/src/abstract/coinone.js +0 -9
  158. package/dist/cjs/js/src/abstract/coinsph.js +0 -9
  159. package/dist/cjs/js/src/abstract/coinspot.js +0 -9
  160. package/dist/cjs/js/src/abstract/cryptocom.js +0 -9
  161. package/dist/cjs/js/src/abstract/currencycom.js +0 -9
  162. package/dist/cjs/js/src/abstract/delta.js +0 -9
  163. package/dist/cjs/js/src/abstract/deribit.js +0 -9
  164. package/dist/cjs/js/src/abstract/digifinex.js +0 -9
  165. package/dist/cjs/js/src/abstract/exmo.js +0 -9
  166. package/dist/cjs/js/src/abstract/gate.js +0 -9
  167. package/dist/cjs/js/src/abstract/gemini.js +0 -9
  168. package/dist/cjs/js/src/abstract/hitbtc.js +0 -9
  169. package/dist/cjs/js/src/abstract/hollaex.js +0 -9
  170. package/dist/cjs/js/src/abstract/htx.js +0 -9
  171. package/dist/cjs/js/src/abstract/huobijp.js +0 -9
  172. package/dist/cjs/js/src/abstract/idex.js +0 -9
  173. package/dist/cjs/js/src/abstract/independentreserve.js +0 -9
  174. package/dist/cjs/js/src/abstract/indodax.js +0 -9
  175. package/dist/cjs/js/src/abstract/kraken.js +0 -9
  176. package/dist/cjs/js/src/abstract/krakenfutures.js +0 -9
  177. package/dist/cjs/js/src/abstract/kucoin.js +0 -9
  178. package/dist/cjs/js/src/abstract/kucoinfutures.js +0 -9
  179. package/dist/cjs/js/src/abstract/kuna.js +0 -9
  180. package/dist/cjs/js/src/abstract/latoken.js +0 -9
  181. package/dist/cjs/js/src/abstract/lbank.js +0 -9
  182. package/dist/cjs/js/src/abstract/luno.js +0 -9
  183. package/dist/cjs/js/src/abstract/lykke.js +0 -9
  184. package/dist/cjs/js/src/abstract/mercado.js +0 -9
  185. package/dist/cjs/js/src/abstract/mexc.js +0 -9
  186. package/dist/cjs/js/src/abstract/ndax.js +0 -9
  187. package/dist/cjs/js/src/abstract/novadax.js +0 -9
  188. package/dist/cjs/js/src/abstract/oceanex.js +0 -9
  189. package/dist/cjs/js/src/abstract/okcoin.js +0 -9
  190. package/dist/cjs/js/src/abstract/okx.js +0 -9
  191. package/dist/cjs/js/src/abstract/p2b.js +0 -9
  192. package/dist/cjs/js/src/abstract/paymium.js +0 -9
  193. package/dist/cjs/js/src/abstract/phemex.js +0 -9
  194. package/dist/cjs/js/src/abstract/poloniex.js +0 -9
  195. package/dist/cjs/js/src/abstract/poloniexfutures.js +0 -9
  196. package/dist/cjs/js/src/abstract/probit.js +0 -9
  197. package/dist/cjs/js/src/abstract/timex.js +0 -9
  198. package/dist/cjs/js/src/abstract/tokocrypto.js +0 -9
  199. package/dist/cjs/js/src/abstract/upbit.js +0 -9
  200. package/dist/cjs/js/src/abstract/wavesexchange.js +0 -9
  201. package/dist/cjs/js/src/abstract/wazirx.js +0 -9
  202. package/dist/cjs/js/src/abstract/whitebit.js +0 -9
  203. package/dist/cjs/js/src/abstract/woo.js +0 -9
  204. package/dist/cjs/js/src/abstract/yobit.js +0 -9
  205. package/dist/cjs/js/src/abstract/zaif.js +0 -9
  206. package/dist/cjs/js/src/abstract/zonda.js +0 -9
  207. package/dist/cjs/js/src/ace.js +0 -1058
  208. package/dist/cjs/js/src/alpaca.js +0 -1125
  209. package/dist/cjs/js/src/ascendex.js +0 -3365
  210. package/dist/cjs/js/src/base/Exchange.js +0 -5257
  211. package/dist/cjs/js/src/base/Precise.js +0 -263
  212. package/dist/cjs/js/src/base/errors.js +0 -299
  213. package/dist/cjs/js/src/base/functions/crypto.js +0 -78
  214. package/dist/cjs/js/src/base/functions/encode.js +0 -44
  215. package/dist/cjs/js/src/base/functions/generic.js +0 -193
  216. package/dist/cjs/js/src/base/functions/misc.js +0 -96
  217. package/dist/cjs/js/src/base/functions/number.js +0 -297
  218. package/dist/cjs/js/src/base/functions/platform.js +0 -28
  219. package/dist/cjs/js/src/base/functions/rsa.js +0 -34
  220. package/dist/cjs/js/src/base/functions/string.js +0 -48
  221. package/dist/cjs/js/src/base/functions/throttle.js +0 -66
  222. package/dist/cjs/js/src/base/functions/time.js +0 -187
  223. package/dist/cjs/js/src/base/functions/totp.js +0 -24
  224. package/dist/cjs/js/src/base/functions/type.js +0 -162
  225. package/dist/cjs/js/src/base/functions.js +0 -157
  226. package/dist/cjs/js/src/base/ws/Cache.js +0 -254
  227. package/dist/cjs/js/src/base/ws/Client.js +0 -299
  228. package/dist/cjs/js/src/base/ws/Future.js +0 -34
  229. package/dist/cjs/js/src/base/ws/OrderBook.js +0 -107
  230. package/dist/cjs/js/src/base/ws/OrderBookSide.js +0 -281
  231. package/dist/cjs/js/src/base/ws/WsClient.js +0 -69
  232. package/dist/cjs/js/src/bequant.js +0 -33
  233. package/dist/cjs/js/src/bigone.js +0 -2213
  234. package/dist/cjs/js/src/binance.js +0 -9845
  235. package/dist/cjs/js/src/binancecoinm.js +0 -45
  236. package/dist/cjs/js/src/binanceus.js +0 -92
  237. package/dist/cjs/js/src/binanceusdm.js +0 -58
  238. package/dist/cjs/js/src/bingx.js +0 -3846
  239. package/dist/cjs/js/src/bit2c.js +0 -916
  240. package/dist/cjs/js/src/bitbank.js +0 -1000
  241. package/dist/cjs/js/src/bitbay.js +0 -17
  242. package/dist/cjs/js/src/bitbns.js +0 -1220
  243. package/dist/cjs/js/src/bitcoincom.js +0 -17
  244. package/dist/cjs/js/src/bitfinex.js +0 -1670
  245. package/dist/cjs/js/src/bitfinex2.js +0 -2990
  246. package/dist/cjs/js/src/bitflyer.js +0 -1045
  247. package/dist/cjs/js/src/bitforex.js +0 -852
  248. package/dist/cjs/js/src/bitget.js +0 -8295
  249. package/dist/cjs/js/src/bithumb.js +0 -1090
  250. package/dist/cjs/js/src/bitmart.js +0 -4454
  251. package/dist/cjs/js/src/bitmex.js +0 -2881
  252. package/dist/cjs/js/src/bitopro.js +0 -1724
  253. package/dist/cjs/js/src/bitrue.js +0 -3253
  254. package/dist/cjs/js/src/bitso.js +0 -1753
  255. package/dist/cjs/js/src/bitstamp.js +0 -2188
  256. package/dist/cjs/js/src/bitteam.js +0 -2309
  257. package/dist/cjs/js/src/bitvavo.js +0 -1968
  258. package/dist/cjs/js/src/bl3p.js +0 -447
  259. package/dist/cjs/js/src/blockchaincom.js +0 -1160
  260. package/dist/cjs/js/src/btcalpha.js +0 -929
  261. package/dist/cjs/js/src/btcbox.js +0 -565
  262. package/dist/cjs/js/src/btcmarkets.js +0 -1237
  263. package/dist/cjs/js/src/btcturk.js +0 -929
  264. package/dist/cjs/js/src/bybit.js +0 -7650
  265. package/dist/cjs/js/src/cex.js +0 -1693
  266. package/dist/cjs/js/src/coinbase.js +0 -3424
  267. package/dist/cjs/js/src/coinbasepro.js +0 -1866
  268. package/dist/cjs/js/src/coincheck.js +0 -843
  269. package/dist/cjs/js/src/coinex.js +0 -5417
  270. package/dist/cjs/js/src/coinlist.js +0 -2337
  271. package/dist/cjs/js/src/coinmate.js +0 -989
  272. package/dist/cjs/js/src/coinone.js +0 -1185
  273. package/dist/cjs/js/src/coinsph.js +0 -1933
  274. package/dist/cjs/js/src/coinspot.js +0 -548
  275. package/dist/cjs/js/src/cryptocom.js +0 -3007
  276. package/dist/cjs/js/src/currencycom.js +0 -2015
  277. package/dist/cjs/js/src/delta.js +0 -3262
  278. package/dist/cjs/js/src/deribit.js +0 -3306
  279. package/dist/cjs/js/src/digifinex.js +0 -4307
  280. package/dist/cjs/js/src/exmo.js +0 -2645
  281. package/dist/cjs/js/src/fmfwio.js +0 -34
  282. package/dist/cjs/js/src/gate.js +0 -7077
  283. package/dist/cjs/js/src/gateio.js +0 -16
  284. package/dist/cjs/js/src/gemini.js +0 -1801
  285. package/dist/cjs/js/src/hitbtc.js +0 -3660
  286. package/dist/cjs/js/src/hitbtc3.js +0 -19
  287. package/dist/cjs/js/src/hollaex.js +0 -1882
  288. package/dist/cjs/js/src/htx.js +0 -9174
  289. package/dist/cjs/js/src/huobi.js +0 -16
  290. package/dist/cjs/js/src/huobijp.js +0 -1918
  291. package/dist/cjs/js/src/idex.js +0 -1770
  292. package/dist/cjs/js/src/independentreserve.js +0 -761
  293. package/dist/cjs/js/src/indodax.js +0 -1069
  294. package/dist/cjs/js/src/kraken.js +0 -2891
  295. package/dist/cjs/js/src/krakenfutures.js +0 -2407
  296. package/dist/cjs/js/src/kucoin.js +0 -4494
  297. package/dist/cjs/js/src/kucoinfutures.js +0 -2529
  298. package/dist/cjs/js/src/kuna.js +0 -1949
  299. package/dist/cjs/js/src/latoken.js +0 -1729
  300. package/dist/cjs/js/src/lbank.js +0 -2851
  301. package/dist/cjs/js/src/luno.js +0 -1044
  302. package/dist/cjs/js/src/lykke.js +0 -1303
  303. package/dist/cjs/js/src/mercado.js +0 -897
  304. package/dist/cjs/js/src/mexc.js +0 -5407
  305. package/dist/cjs/js/src/ndax.js +0 -2450
  306. package/dist/cjs/js/src/novadax.js +0 -1556
  307. package/dist/cjs/js/src/oceanex.js +0 -964
  308. package/dist/cjs/js/src/okcoin.js +0 -3115
  309. package/dist/cjs/js/src/okx.js +0 -7331
  310. package/dist/cjs/js/src/p2b.js +0 -1243
  311. package/dist/cjs/js/src/paymium.js +0 -597
  312. package/dist/cjs/js/src/phemex.js +0 -4725
  313. package/dist/cjs/js/src/poloniex.js +0 -2356
  314. package/dist/cjs/js/src/poloniexfutures.js +0 -1794
  315. package/dist/cjs/js/src/pro/alpaca.js +0 -714
  316. package/dist/cjs/js/src/pro/ascendex.js +0 -957
  317. package/dist/cjs/js/src/pro/bequant.js +0 -33
  318. package/dist/cjs/js/src/pro/binance.js +0 -2796
  319. package/dist/cjs/js/src/pro/binancecoinm.js +0 -23
  320. package/dist/cjs/js/src/pro/binanceus.js +0 -51
  321. package/dist/cjs/js/src/pro/binanceusdm.js +0 -32
  322. package/dist/cjs/js/src/pro/bingx.js +0 -944
  323. package/dist/cjs/js/src/pro/bitcoincom.js +0 -29
  324. package/dist/cjs/js/src/pro/bitfinex.js +0 -672
  325. package/dist/cjs/js/src/pro/bitfinex2.js +0 -1159
  326. package/dist/cjs/js/src/pro/bitget.js +0 -1733
  327. package/dist/cjs/js/src/pro/bitmart.js +0 -1486
  328. package/dist/cjs/js/src/pro/bitmex.js +0 -1576
  329. package/dist/cjs/js/src/pro/bitopro.js +0 -327
  330. package/dist/cjs/js/src/pro/bitrue.js +0 -462
  331. package/dist/cjs/js/src/pro/bitstamp.js +0 -547
  332. package/dist/cjs/js/src/pro/bitvavo.js +0 -704
  333. package/dist/cjs/js/src/pro/blockchaincom.js +0 -794
  334. package/dist/cjs/js/src/pro/bybit.js +0 -1843
  335. package/dist/cjs/js/src/pro/cex.js +0 -1510
  336. package/dist/cjs/js/src/pro/coinbase.js +0 -561
  337. package/dist/cjs/js/src/pro/coinbasepro.js +0 -968
  338. package/dist/cjs/js/src/pro/coinex.js +0 -1095
  339. package/dist/cjs/js/src/pro/cryptocom.js +0 -1020
  340. package/dist/cjs/js/src/pro/currencycom.js +0 -563
  341. package/dist/cjs/js/src/pro/deribit.js +0 -825
  342. package/dist/cjs/js/src/pro/exmo.js +0 -658
  343. package/dist/cjs/js/src/pro/gate.js +0 -1316
  344. package/dist/cjs/js/src/pro/gateio.js +0 -16
  345. package/dist/cjs/js/src/pro/gemini.js +0 -649
  346. package/dist/cjs/js/src/pro/hitbtc.js +0 -1294
  347. package/dist/cjs/js/src/pro/hollaex.js +0 -597
  348. package/dist/cjs/js/src/pro/htx.js +0 -2388
  349. package/dist/cjs/js/src/pro/huobi.js +0 -16
  350. package/dist/cjs/js/src/pro/huobijp.js +0 -606
  351. package/dist/cjs/js/src/pro/idex.js +0 -714
  352. package/dist/cjs/js/src/pro/independentreserve.js +0 -280
  353. package/dist/cjs/js/src/pro/kraken.js +0 -1364
  354. package/dist/cjs/js/src/pro/krakenfutures.js +0 -1506
  355. package/dist/cjs/js/src/pro/kucoin.js +0 -1054
  356. package/dist/cjs/js/src/pro/kucoinfutures.js +0 -981
  357. package/dist/cjs/js/src/pro/luno.js +0 -322
  358. package/dist/cjs/js/src/pro/mexc.js +0 -1170
  359. package/dist/cjs/js/src/pro/ndax.js +0 -545
  360. package/dist/cjs/js/src/pro/okcoin.js +0 -760
  361. package/dist/cjs/js/src/pro/okx.js +0 -1608
  362. package/dist/cjs/js/src/pro/phemex.js +0 -1511
  363. package/dist/cjs/js/src/pro/poloniex.js +0 -1253
  364. package/dist/cjs/js/src/pro/poloniexfutures.js +0 -1014
  365. package/dist/cjs/js/src/pro/probit.js +0 -586
  366. package/dist/cjs/js/src/pro/upbit.js +0 -234
  367. package/dist/cjs/js/src/pro/wazirx.js +0 -776
  368. package/dist/cjs/js/src/pro/whitebit.js +0 -927
  369. package/dist/cjs/js/src/pro/woo.js +0 -895
  370. package/dist/cjs/js/src/probit.js +0 -1867
  371. package/dist/cjs/js/src/static_dependencies/fflake/browser.js +0 -401
  372. package/dist/cjs/js/src/static_dependencies/jsencrypt/JSEncrypt.js +0 -195
  373. package/dist/cjs/js/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +0 -308
  374. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +0 -554
  375. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +0 -94
  376. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +0 -70
  377. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +0 -91
  378. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +0 -16
  379. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +0 -1760
  380. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +0 -52
  381. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +0 -81
  382. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +0 -376
  383. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/util.js +0 -70
  384. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +0 -1580
  385. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +0 -74
  386. package/dist/cjs/js/src/static_dependencies/noble-curves/_shortw_utils.js +0 -24
  387. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/curve.js +0 -158
  388. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/edwards.js +0 -429
  389. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +0 -176
  390. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/modular.js +0 -324
  391. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/montgomery.js +0 -163
  392. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/utils.js +0 -245
  393. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/weierstrass.js +0 -1018
  394. package/dist/cjs/js/src/static_dependencies/noble-curves/ed25519.js +0 -383
  395. package/dist/cjs/js/src/static_dependencies/noble-curves/secp256k1.js +0 -258
  396. package/dist/cjs/js/src/static_dependencies/noble-hashes/_assert.js +0 -53
  397. package/dist/cjs/js/src/static_dependencies/noble-hashes/_sha2.js +0 -120
  398. package/dist/cjs/js/src/static_dependencies/noble-hashes/_u64.js +0 -69
  399. package/dist/cjs/js/src/static_dependencies/noble-hashes/crypto.js +0 -7
  400. package/dist/cjs/js/src/static_dependencies/noble-hashes/hmac.js +0 -83
  401. package/dist/cjs/js/src/static_dependencies/noble-hashes/md5.js +0 -240
  402. package/dist/cjs/js/src/static_dependencies/noble-hashes/sha1.js +0 -91
  403. package/dist/cjs/js/src/static_dependencies/noble-hashes/sha256.js +0 -130
  404. package/dist/cjs/js/src/static_dependencies/noble-hashes/sha3.js +0 -214
  405. package/dist/cjs/js/src/static_dependencies/noble-hashes/sha512.js +0 -239
  406. package/dist/cjs/js/src/static_dependencies/noble-hashes/utils.js +0 -93
  407. package/dist/cjs/js/src/static_dependencies/node-fetch/body.js +0 -354
  408. package/dist/cjs/js/src/static_dependencies/node-fetch/errors/abort-error.js +0 -16
  409. package/dist/cjs/js/src/static_dependencies/node-fetch/errors/base.js +0 -20
  410. package/dist/cjs/js/src/static_dependencies/node-fetch/errors/fetch-error.js +0 -30
  411. package/dist/cjs/js/src/static_dependencies/node-fetch/headers.js +0 -239
  412. package/dist/cjs/js/src/static_dependencies/node-fetch/index.js +0 -372
  413. package/dist/cjs/js/src/static_dependencies/node-fetch/request.js +0 -273
  414. package/dist/cjs/js/src/static_dependencies/node-fetch/response.js +0 -139
  415. package/dist/cjs/js/src/static_dependencies/node-fetch/utils/get-search.js +0 -14
  416. package/dist/cjs/js/src/static_dependencies/node-fetch/utils/is-redirect.js +0 -16
  417. package/dist/cjs/js/src/static_dependencies/node-fetch/utils/is.js +0 -81
  418. package/dist/cjs/js/src/static_dependencies/node-fetch/utils/referrer.js +0 -292
  419. package/dist/cjs/js/src/static_dependencies/proxies/agent-base/index.js +0 -103
  420. package/dist/cjs/js/src/static_dependencies/proxies/http-proxy-agent/index.js +0 -140
  421. package/dist/cjs/js/src/static_dependencies/proxies/https-proxy-agent/index.js +0 -175
  422. package/dist/cjs/js/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +0 -95
  423. package/dist/cjs/js/src/static_dependencies/qs/index.cjs.js +0 -7
  424. package/dist/cjs/js/src/static_dependencies/scure-base/index.js +0 -383
  425. package/dist/cjs/js/src/timex.js +0 -1562
  426. package/dist/cjs/js/src/tokocrypto.js +0 -2542
  427. package/dist/cjs/js/src/upbit.js +0 -1844
  428. package/dist/cjs/js/src/wavesexchange.js +0 -2607
  429. package/dist/cjs/js/src/wazirx.js +0 -953
  430. package/dist/cjs/js/src/whitebit.js +0 -2309
  431. package/dist/cjs/js/src/woo.js +0 -2769
  432. package/dist/cjs/js/src/yobit.js +0 -1314
  433. package/dist/cjs/js/src/zaif.js +0 -736
  434. package/dist/cjs/js/src/zonda.js +0 -1883
  435. package/dist/cjs/src/abstract/bitpanda.js +0 -9
  436. package/test.ts +0 -0
  437. /package/dist/cjs/{js/src/abstract/ace.js → src/abstract/onetrading.js} +0 -0
  438. /package/dist/cjs/{js/src → src}/pro/coinone.js +0 -0
  439. /package/js/src/abstract/{bitpanda.js → onetrading.js} +0 -0
@@ -343,6 +343,14 @@ export default class bitstamp extends Exchange {
343
343
  'earn/subscribe/': 1,
344
344
  'earn/subscriptions/setting/': 1,
345
345
  'earn/unsubscribe': 1,
346
+ 'wecan_withdrawal/': 1,
347
+ 'wecan_address/': 1,
348
+ 'trac_withdrawal/': 1,
349
+ 'trac_address/': 1,
350
+ 'eurcv_withdrawal/': 1,
351
+ 'eurcv_address/': 1,
352
+ 'pyusd_withdrawal/': 1,
353
+ 'pyusd_address/': 1,
346
354
  },
347
355
  },
348
356
  },
package/js/src/bybit.js CHANGED
@@ -3966,7 +3966,7 @@ export default class bybit extends Exchange {
3966
3966
  response = await this.privatePostOptionUsdcOpenapiPrivateV1ReplaceOrder(this.extend(request, params));
3967
3967
  }
3968
3968
  else {
3969
- const isStop = this.safeValue(params, 'stop', false);
3969
+ const isStop = this.safeValue2(params, 'stop', 'trigger', false);
3970
3970
  const triggerPrice = this.safeValue2(params, 'stopPrice', 'triggerPrice');
3971
3971
  const stopLossPrice = this.safeValue(params, 'stopLossPrice');
3972
3972
  const isStopLossOrder = stopLossPrice !== undefined;
@@ -4145,8 +4145,8 @@ export default class bybit extends Exchange {
4145
4145
  // 'orderLinkId': 'string', // one of order_id, stop_order_id or order_link_id is required
4146
4146
  // 'orderId': id,
4147
4147
  };
4148
- const isStop = this.safeValue(params, 'stop', false);
4149
- params = this.omit(params, ['stop']);
4148
+ const isStop = this.safeValue2(params, 'stop', 'trigger', false);
4149
+ params = this.omit(params, ['stop', 'trigger']);
4150
4150
  if (id !== undefined) { // The user can also use argument params["order_link_id"]
4151
4151
  request['orderId'] = id;
4152
4152
  }
@@ -4207,9 +4207,9 @@ export default class bybit extends Exchange {
4207
4207
  };
4208
4208
  if (market['spot']) {
4209
4209
  // only works for spot market
4210
- const isStop = this.safeValue(params, 'stop', false);
4211
- params = this.omit(params, ['stop']);
4212
- request['orderFilter'] = isStop ? 'tpslOrder' : 'Order';
4210
+ const isStop = this.safeValue2(params, 'stop', 'trigger', false);
4211
+ params = this.omit(params, ['stop', 'trigger']);
4212
+ request['orderFilter'] = isStop ? 'StopOrder' : 'Order';
4213
4213
  }
4214
4214
  if (id !== undefined) { // The user can also use argument params["orderLinkId"]
4215
4215
  request['orderId'] = id;
@@ -4256,14 +4256,14 @@ export default class bybit extends Exchange {
4256
4256
  response = await this.privatePostOptionUsdcOpenapiPrivateV1CancelAll(this.extend(request, params));
4257
4257
  }
4258
4258
  else {
4259
- const isStop = this.safeValue(params, 'stop', false);
4259
+ const isStop = this.safeValue2(params, 'stop', 'trigger', false);
4260
4260
  if (isStop) {
4261
4261
  request['orderFilter'] = 'StopOrder';
4262
4262
  }
4263
4263
  else {
4264
4264
  request['orderFilter'] = 'Order';
4265
4265
  }
4266
- params = this.omit(params, ['stop']);
4266
+ params = this.omit(params, ['stop', 'trigger']);
4267
4267
  response = await this.privatePostPerpetualUsdcOpenapiPrivateV1CancelAll(this.extend(request, params));
4268
4268
  }
4269
4269
  //
@@ -4330,10 +4330,10 @@ export default class bybit extends Exchange {
4330
4330
  request['settleCoin'] = this.safeString(params, 'settleCoin', defaultSettle);
4331
4331
  }
4332
4332
  }
4333
- const isStop = this.safeValue(params, 'stop', false);
4334
- params = this.omit(params, ['stop']);
4333
+ const isStop = this.safeValue2(params, 'stop', 'trigger', false);
4334
+ params = this.omit(params, ['stop', 'trigger']);
4335
4335
  if (isStop) {
4336
- request['orderFilter'] = 'tpslOrder';
4336
+ request['orderFilter'] = 'StopOrder';
4337
4337
  }
4338
4338
  const response = await this.privatePostV5OrderCancelAll(this.extend(request, params));
4339
4339
  //
@@ -4398,8 +4398,8 @@ export default class bybit extends Exchange {
4398
4398
  else {
4399
4399
  request['category'] = 'OPTION';
4400
4400
  }
4401
- const isStop = this.safeValue(params, 'stop', false);
4402
- params = this.omit(params, ['stop']);
4401
+ const isStop = this.safeValue2(params, 'stop', 'trigger', false);
4402
+ params = this.omit(params, ['stop', 'trigger']);
4403
4403
  if (isStop) {
4404
4404
  request['orderFilter'] = 'StopOrder';
4405
4405
  }
@@ -4501,12 +4501,7 @@ export default class bybit extends Exchange {
4501
4501
  const isStop = this.safeValueN(params, ['trigger', 'stop'], false);
4502
4502
  params = this.omit(params, ['trigger', 'stop']);
4503
4503
  if (isStop) {
4504
- if (type === 'spot') {
4505
- request['orderFilter'] = 'tpslOrder';
4506
- }
4507
- else {
4508
- request['orderFilter'] = 'StopOrder';
4509
- }
4504
+ request['orderFilter'] = 'StopOrder';
4510
4505
  }
4511
4506
  if (limit !== undefined) {
4512
4507
  request['limit'] = limit;
@@ -4665,7 +4660,7 @@ export default class bybit extends Exchange {
4665
4660
  * @param {int} [since] the earliest time in ms to fetch open orders for
4666
4661
  * @param {int} [limit] the maximum number of open orders structures to retrieve
4667
4662
  * @param {object} [params] extra parameters specific to the exchange API endpoint
4668
- * @param {boolean} [params.stop] true if stop order
4663
+ * @param {boolean} [params.stop] set to true for fetching open stop orders
4669
4664
  * @param {string} [params.type] market type, ['swap', 'option', 'spot']
4670
4665
  * @param {string} [params.subType] market subType, ['linear', 'inverse']
4671
4666
  * @param {string} [params.baseCoin] Base coin. Supports linear, inverse & option
@@ -4699,15 +4694,10 @@ export default class bybit extends Exchange {
4699
4694
  return await this.fetchUsdcOpenOrders(symbol, since, limit, params);
4700
4695
  }
4701
4696
  request['category'] = type;
4702
- const isStop = this.safeValue(params, 'stop', false);
4703
- params = this.omit(params, ['stop']);
4697
+ const isStop = this.safeValue2(params, 'stop', 'trigger', false);
4698
+ params = this.omit(params, ['stop', 'trigger']);
4704
4699
  if (isStop) {
4705
- if (type === 'spot') {
4706
- request['orderFilter'] = 'tpslOrder';
4707
- }
4708
- else {
4709
- request['orderFilter'] = 'StopOrder';
4710
- }
4700
+ request['orderFilter'] = 'StopOrder';
4711
4701
  }
4712
4702
  if (limit !== undefined) {
4713
4703
  request['limit'] = limit;
@@ -4839,12 +4829,11 @@ export default class bybit extends Exchange {
4839
4829
  * @method
4840
4830
  * @name bybit#fetchMyTrades
4841
4831
  * @description fetch all trades made by the user
4842
- * @see https://bybit-exchange.github.io/docs/v5/position/execution
4832
+ * @see https://bybit-exchange.github.io/docs/api-explorer/v5/position/execution
4843
4833
  * @param {string} symbol unified market symbol
4844
4834
  * @param {int} [since] the earliest time in ms to fetch trades for
4845
4835
  * @param {int} [limit] the maximum number of trades structures to retrieve
4846
4836
  * @param {object} [params] extra parameters specific to the exchange API endpoint
4847
- * @param {boolean} [params.stop] true if stop order
4848
4837
  * @param {string} [params.type] market type, ['swap', 'option', 'spot']
4849
4838
  * @param {string} [params.subType] market subType, ['linear', 'inverse']
4850
4839
  * @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)
@@ -4858,7 +4847,7 @@ export default class bybit extends Exchange {
4858
4847
  }
4859
4848
  const [enableUnifiedMargin, enableUnifiedAccount] = await this.isUnifiedEnabled();
4860
4849
  const isUnifiedAccount = (enableUnifiedMargin || enableUnifiedAccount);
4861
- const request = {};
4850
+ let request = {};
4862
4851
  let market = undefined;
4863
4852
  let isUsdcSettled = false;
4864
4853
  if (symbol !== undefined) {
@@ -4872,28 +4861,13 @@ export default class bybit extends Exchange {
4872
4861
  return await this.fetchMyUsdcTrades(symbol, since, limit, params);
4873
4862
  }
4874
4863
  request['category'] = type;
4875
- const isStop = this.safeValue(params, 'stop', false);
4876
- params = this.omit(params, ['stop', 'type']);
4877
- if (isStop) {
4878
- if (type === 'spot') {
4879
- request['orderFilter'] = 'tpslOrder';
4880
- }
4881
- else {
4882
- request['orderFilter'] = 'StopOrder';
4883
- }
4884
- }
4885
4864
  if (limit !== undefined) {
4886
4865
  request['limit'] = limit;
4887
4866
  }
4888
4867
  if (since !== undefined) {
4889
4868
  request['startTime'] = since;
4890
4869
  }
4891
- const until = this.safeInteger2(params, 'until', 'till'); // unified in milliseconds
4892
- const endTime = this.safeInteger(params, 'endTime', until); // exchange-specific in milliseconds
4893
- params = this.omit(params, ['endTime', 'till', 'until']);
4894
- if (endTime !== undefined) {
4895
- request['endTime'] = endTime;
4896
- }
4870
+ [request, params] = this.handleUntilOption('endTime', request, params);
4897
4871
  const response = await this.privateGetV5ExecutionList(this.extend(request, params));
4898
4872
  //
4899
4873
  // {
@@ -68,6 +68,7 @@ export default class coincheck extends Exchange {
68
68
  'setLeverage': false,
69
69
  'setMarginMode': false,
70
70
  'setPositionMode': false,
71
+ 'ws': true,
71
72
  },
72
73
  'urls': {
73
74
  'logo': 'https://user-images.githubusercontent.com/51840849/87182088-1d6d6380-c2ec-11ea-9c64-8ab9f9b289f5.jpg',
package/js/src/deribit.js CHANGED
@@ -1686,6 +1686,10 @@ export default class deribit extends Exchange {
1686
1686
  const request = {
1687
1687
  'order_id': id,
1688
1688
  };
1689
+ let market = undefined;
1690
+ if (symbol !== undefined) {
1691
+ market = this.market(symbol);
1692
+ }
1689
1693
  const response = await this.privateGetGetOrderState(this.extend(request, params));
1690
1694
  //
1691
1695
  // {
@@ -1716,7 +1720,7 @@ export default class deribit extends Exchange {
1716
1720
  // }
1717
1721
  //
1718
1722
  const result = this.safeValue(response, 'result');
1719
- return this.parseOrder(result);
1723
+ return this.parseOrder(result, market);
1720
1724
  }
1721
1725
  async createOrder(symbol, type, side, amount, price = undefined, params = {}) {
1722
1726
  /**
@@ -2416,6 +2420,7 @@ export default class deribit extends Exchange {
2416
2420
  * @method
2417
2421
  * @name deribit#fetchPosition
2418
2422
  * @description fetch data on a single open contract trade position
2423
+ * @see https://docs.deribit.com/#private-get_position
2419
2424
  * @param {string} symbol unified market symbol of the market the position is held in, default is undefined
2420
2425
  * @param {object} [params] extra parameters specific to the exchange API endpoint
2421
2426
  * @returns {object} a [position structure]{@link https://docs.ccxt.com/#/?id=position-structure}
@@ -2460,11 +2465,14 @@ export default class deribit extends Exchange {
2460
2465
  * @method
2461
2466
  * @name deribit#fetchPositions
2462
2467
  * @description fetch all open positions
2468
+ * @see https://docs.deribit.com/#private-get_positions
2463
2469
  * @param {string[]|undefined} symbols list of unified market symbols
2464
2470
  * @param {object} [params] extra parameters specific to the exchange API endpoint
2471
+ * @param {string} [params.kind] market type filter for positions 'future', 'option', 'spot', 'future_combo' or 'option_combo'
2465
2472
  * @returns {object[]} a list of [position structure]{@link https://docs.ccxt.com/#/?id=position-structure}
2466
2473
  */
2467
2474
  await this.loadMarkets();
2475
+ let kind = this.safeString(params, 'kind');
2468
2476
  let code = undefined;
2469
2477
  if (symbols === undefined) {
2470
2478
  code = this.codeFromOptions('fetchPositions', params);
@@ -2480,14 +2488,18 @@ export default class deribit extends Exchange {
2480
2488
  throw new BadRequest(this.id + ' fetchPositions() symbols argument cannot contain more than 1 symbol');
2481
2489
  }
2482
2490
  const market = this.market(symbols[0]);
2483
- code = market['base'];
2491
+ const settle = market['settle'];
2492
+ code = (settle !== undefined) ? settle : market['base'];
2493
+ kind = market['info']['kind'];
2484
2494
  }
2485
2495
  }
2486
2496
  const currency = this.currency(code);
2487
2497
  const request = {
2488
2498
  'currency': currency['id'],
2489
- // "kind" : "future", "option"
2490
2499
  };
2500
+ if (kind !== undefined) {
2501
+ request['kind'] = kind;
2502
+ }
2491
2503
  const response = await this.privateGetGetPositions(this.extend(request, params));
2492
2504
  //
2493
2505
  // {
@@ -2885,7 +2897,7 @@ export default class deribit extends Exchange {
2885
2897
  }
2886
2898
  const request = {
2887
2899
  'instrument_name': market['id'],
2888
- 'start_timestamp': since,
2900
+ 'start_timestamp': since - 1,
2889
2901
  'end_timestamp': time,
2890
2902
  };
2891
2903
  const response = await this.publicGetGetFundingRateHistory(this.extend(request, params));
package/js/src/gate.d.ts CHANGED
@@ -220,6 +220,7 @@ export default class gate extends Exchange {
220
220
  fetchPosition(symbol: string, params?: {}): Promise<import("./base/types.js").Position>;
221
221
  fetchPositions(symbols?: Strings, params?: {}): Promise<import("./base/types.js").Position[]>;
222
222
  fetchLeverageTiers(symbols?: Strings, params?: {}): Promise<{}>;
223
+ fetchMarketLeverageTiers(symbol: string, params?: {}): Promise<any[]>;
223
224
  parseMarketLeverageTiers(info: any, market?: Market): any[];
224
225
  repayIsolatedMargin(symbol: string, code: string, amount: any, params?: {}): Promise<{
225
226
  id: number;
package/js/src/gate.js CHANGED
@@ -122,7 +122,7 @@ export default class gate extends Exchange {
122
122
  'fetchLeverageTiers': true,
123
123
  'fetchLiquidations': true,
124
124
  'fetchMarginMode': false,
125
- 'fetchMarketLeverageTiers': 'emulated',
125
+ 'fetchMarketLeverageTiers': true,
126
126
  'fetchMarkets': true,
127
127
  'fetchMarkOHLCV': true,
128
128
  'fetchMyLiquidations': true,
@@ -419,6 +419,7 @@ export default class gate extends Exchange {
419
419
  '{settle}/liquidates': 1,
420
420
  '{settle}/auto_deleverages': 1,
421
421
  '{settle}/fee': 1,
422
+ '{settle}/risk_limit_tiers': 1,
422
423
  '{settle}/price_orders': 1,
423
424
  '{settle}/price_orders/{order_id}': 1,
424
425
  },
@@ -5699,125 +5700,64 @@ export default class gate extends Exchange {
5699
5700
  //
5700
5701
  return this.parseLeverageTiers(response, symbols, 'name');
5701
5702
  }
5702
- parseMarketLeverageTiers(info, market = undefined) {
5703
+ async fetchMarketLeverageTiers(symbol, params = {}) {
5703
5704
  /**
5704
- * @ignore
5705
5705
  * @method
5706
- * @description https://www.gate.io/help/futures/perpetual/22162/instrctions-of-risk-limit
5707
- * @param {object} info Exchange market response for 1 market
5708
- * @param {object} market CCXT market
5706
+ * @name gate#fetchMarketLeverageTiers
5707
+ * @description retrieve information on the maximum leverage, and maintenance margin for trades of varying trade sizes for a single market
5708
+ * @see https://www.gate.io/docs/developers/apiv4/en/#list-risk-limit-tiers
5709
+ * @param {string} symbol unified market symbol
5710
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
5711
+ * @returns {object} a [leverage tiers structure]{@link https://docs.ccxt.com/#/?id=leverage-tiers-structure}
5709
5712
  */
5713
+ await this.loadMarkets();
5714
+ const market = this.market(symbol);
5715
+ const [type, query] = this.handleMarketTypeAndParams('fetchMarketLeverageTiers', market, params);
5716
+ const [request, requestParams] = this.prepareRequest(market, type, query);
5717
+ if (type !== 'future' && type !== 'swap') {
5718
+ throw new BadRequest(this.id + ' fetchMarketLeverageTiers only supports swap and future');
5719
+ }
5720
+ const response = await this.privateFuturesGetSettleRiskLimitTiers(this.extend(request, requestParams));
5710
5721
  //
5711
- // Perpetual swap
5712
- //
5713
- // {
5714
- // "name": "BTC_USDT",
5715
- // "type": "direct",
5716
- // "quanto_multiplier": "0.0001",
5717
- // "ref_discount_rate": "0",
5718
- // "order_price_deviate": "0.5",
5719
- // "maintenance_rate": "0.005",
5720
- // "mark_type": "index",
5721
- // "last_price": "38026",
5722
- // "mark_price": "37985.6",
5723
- // "index_price": "37954.92",
5724
- // "funding_rate_indicative": "0.000219",
5725
- // "mark_price_round": "0.01",
5726
- // "funding_offset": 0,
5727
- // "in_delisting": false,
5728
- // "risk_limit_base": "1000000",
5729
- // "interest_rate": "0.0003",
5730
- // "order_price_round": "0.1",
5731
- // "order_size_min": 1,
5732
- // "ref_rebate_rate": "0.2",
5733
- // "funding_interval": 28800,
5734
- // "risk_limit_step": "1000000",
5735
- // "leverage_min": "1",
5736
- // "leverage_max": "100",
5737
- // "risk_limit_max": "8000000",
5738
- // "maker_fee_rate": "-0.00025",
5739
- // "taker_fee_rate": "0.00075",
5740
- // "funding_rate": "0.002053",
5741
- // "order_size_max": 1000000,
5742
- // "funding_next_apply": 1610035200,
5743
- // "short_users": 977,
5744
- // "config_change_time": 1609899548,
5745
- // "trade_size": 28530850594,
5746
- // "position_size": 5223816,
5747
- // "long_users": 455,
5748
- // "funding_impact_value": "60000",
5749
- // "orders_limit": 50,
5750
- // "trade_id": 10851092,
5751
- // "orderbook_id": 2129638396
5752
- // }
5722
+ // [
5723
+ // {
5724
+ // "maintenance_rate": "0.004",
5725
+ // "tier": 1,
5726
+ // "initial_rate": "0.008",
5727
+ // "leverage_max": "125",
5728
+ // "risk_limit": "1000000"
5729
+ // }
5730
+ // ]
5753
5731
  //
5754
- // Delivery Futures
5732
+ return this.parseMarketLeverageTiers(response, market);
5733
+ }
5734
+ parseMarketLeverageTiers(info, market = undefined) {
5755
5735
  //
5756
- // {
5757
- // "name": "BTC_USDT_20200814",
5758
- // "underlying": "BTC_USDT",
5759
- // "cycle": "WEEKLY",
5760
- // "type": "direct",
5761
- // "quanto_multiplier": "0.0001",
5762
- // "mark_type": "index",
5763
- // "last_price": "9017",
5764
- // "mark_price": "9019",
5765
- // "index_price": "9005.3",
5766
- // "basis_rate": "0.185095",
5767
- // "basis_value": "13.7",
5768
- // "basis_impact_value": "100000",
5769
- // "settle_price": "0",
5770
- // "settle_price_interval": 60,
5771
- // "settle_price_duration": 1800,
5772
- // "settle_fee_rate": "0.0015",
5773
- // "expire_time": 1593763200,
5774
- // "order_price_round": "0.1",
5775
- // "mark_price_round": "0.1",
5776
- // "leverage_min": "1",
5777
- // "leverage_max": "100",
5778
- // "maintenance_rate": "1000000",
5779
- // "risk_limit_base": "140.726652109199",
5780
- // "risk_limit_step": "1000000",
5781
- // "risk_limit_max": "8000000",
5782
- // "maker_fee_rate": "-0.00025",
5783
- // "taker_fee_rate": "0.00075",
5784
- // "ref_discount_rate": "0",
5785
- // "ref_rebate_rate": "0.2",
5786
- // "order_price_deviate": "0.5",
5787
- // "order_size_min": 1,
5788
- // "order_size_max": 1000000,
5789
- // "orders_limit": 50,
5790
- // "orderbook_id": 63,
5791
- // "trade_id": 26,
5792
- // "trade_size": 435,
5793
- // "position_size": 130,
5794
- // "config_change_time": 1593158867,
5795
- // "in_delisting": false
5796
- // }
5736
+ // [
5737
+ // {
5738
+ // "maintenance_rate": "0.004",
5739
+ // "tier": 1,
5740
+ // "initial_rate": "0.008",
5741
+ // "leverage_max": "125",
5742
+ // "risk_limit": "1000000"
5743
+ // }
5744
+ // ]
5797
5745
  //
5798
- const maintenanceMarginUnit = this.safeString(info, 'maintenance_rate'); // '0.005',
5799
- const leverageMax = this.safeString(info, 'leverage_max'); // '100',
5800
- const riskLimitStep = this.safeString(info, 'risk_limit_step'); // '1000000',
5801
- const riskLimitMax = this.safeString(info, 'risk_limit_max'); // '16000000',
5802
- const initialMarginUnit = Precise.stringDiv('1', leverageMax);
5803
- let maintenanceMarginRate = maintenanceMarginUnit;
5804
- let initialMarginRatio = initialMarginUnit;
5805
- let floor = '0';
5746
+ let minNotional = 0;
5806
5747
  const tiers = [];
5807
- while (Precise.stringLt(floor, riskLimitMax)) {
5808
- const cap = Precise.stringAdd(floor, riskLimitStep);
5748
+ for (let i = 0; i < info.length; i++) {
5749
+ const item = info[i];
5750
+ const maxNotional = this.safeNumber(item, 'risk_limit');
5809
5751
  tiers.push({
5810
- 'tier': this.parseNumber(Precise.stringDiv(cap, riskLimitStep)),
5811
- 'currency': this.safeString(market, 'settle'),
5812
- 'minNotional': this.parseNumber(floor),
5813
- 'maxNotional': this.parseNumber(cap),
5814
- 'maintenanceMarginRate': this.parseNumber(maintenanceMarginRate),
5815
- 'maxLeverage': this.parseNumber(Precise.stringDiv('1', initialMarginRatio)),
5816
- 'info': info,
5752
+ 'tier': this.sum(i, 1),
5753
+ 'currency': market['base'],
5754
+ 'minNotional': minNotional,
5755
+ 'maxNotional': maxNotional,
5756
+ 'maintenanceMarginRate': this.safeNumber(item, 'maintenance_rate'),
5757
+ 'maxLeverage': this.safeNumber(item, 'leverage_max'),
5758
+ 'info': item,
5817
5759
  });
5818
- maintenanceMarginRate = Precise.stringAdd(maintenanceMarginRate, maintenanceMarginUnit);
5819
- initialMarginRatio = Precise.stringAdd(initialMarginRatio, initialMarginUnit);
5820
- floor = cap;
5760
+ minNotional = maxNotional;
5821
5761
  }
5822
5762
  return tiers;
5823
5763
  }
package/js/src/htx.js CHANGED
@@ -612,10 +612,13 @@ export default class htx extends Exchange {
612
612
  'private': {
613
613
  'get': {
614
614
  // Future Account Interface
615
+ 'api/v1/contract_sub_auth_list': 1,
615
616
  'api/v1/contract_api_trading_status': 1,
616
617
  // Swap Account Interface
618
+ 'swap-api/v1/swap_sub_auth_list': 1,
617
619
  'swap-api/v1/swap_api_trading_status': 1,
618
620
  // Swap Account Interface
621
+ 'linear-swap-api/v1/swap_sub_auth_list': 1,
619
622
  'linear-swap-api/v1/swap_api_trading_status': 1,
620
623
  'linear-swap-api/v1/swap_cross_position_side': 1,
621
624
  'linear-swap-api/v1/swap_position_side': 1,
@@ -3,6 +3,7 @@ import type { IndexType, Int, OrderSide, OrderType, OHLCV, Trade, Order, Balance
3
3
  /**
4
4
  * @class kraken
5
5
  * @augments Exchange
6
+ * @description Set rateLimit to 1000 if fully verified
6
7
  */
7
8
  export default class kraken extends Exchange {
8
9
  describe(): any;
package/js/src/kraken.js CHANGED
@@ -15,6 +15,7 @@ import { sha512 } from './static_dependencies/noble-hashes/sha512.js';
15
15
  /**
16
16
  * @class kraken
17
17
  * @augments Exchange
18
+ * @description Set rateLimit to 1000 if fully verified
18
19
  */
19
20
  export default class kraken extends Exchange {
20
21
  describe() {
@@ -23,7 +24,7 @@ export default class kraken extends Exchange {
23
24
  'name': 'Kraken',
24
25
  'countries': ['US'],
25
26
  'version': '0',
26
- 'rateLimit': 1000,
27
+ 'rateLimit': 3000,
27
28
  'certified': false,
28
29
  'pro': true,
29
30
  'has': {
@@ -106,7 +107,7 @@ export default class kraken extends Exchange {
106
107
  'zendesk': 'https://kraken.zendesk.com/api/v2/help_center/en-us/articles', // use the public zendesk api to receive article bodies and bypass new anti-spam protections
107
108
  },
108
109
  'www': 'https://www.kraken.com',
109
- 'doc': 'https://www.kraken.com/features/api',
110
+ 'doc': 'https://docs.kraken.com/rest/',
110
111
  'fees': 'https://www.kraken.com/en-us/features/fee-schedule',
111
112
  },
112
113
  'fees': {
@@ -169,48 +170,48 @@ export default class kraken extends Exchange {
169
170
  'post': {
170
171
  'AddOrder': 0,
171
172
  'AddOrderBatch': 0,
172
- 'AddExport': 3,
173
- 'Balance': 3,
174
- 'CancelAll': 3,
175
- 'CancelAllOrdersAfter': 3,
173
+ 'AddExport': 1,
174
+ 'Balance': 1,
175
+ 'CancelAll': 1,
176
+ 'CancelAllOrdersAfter': 1,
176
177
  'CancelOrder': 0,
177
178
  'CancelOrderBatch': 0,
178
- 'ClosedOrders': 6,
179
- 'DepositAddresses': 3,
180
- 'DepositMethods': 3,
181
- 'DepositStatus': 3,
179
+ 'ClosedOrders': 1,
180
+ 'DepositAddresses': 1,
181
+ 'DepositMethods': 1,
182
+ 'DepositStatus': 1,
182
183
  'EditOrder': 0,
183
- 'ExportStatus': 3,
184
- 'GetWebSocketsToken': 3,
185
- 'Ledgers': 6,
186
- 'OpenOrders': 3,
187
- 'OpenPositions': 3,
188
- 'QueryLedgers': 3,
189
- 'QueryOrders': 3,
190
- 'QueryTrades': 3,
191
- 'RetrieveExport': 3,
192
- 'RemoveExport': 3,
193
- 'BalanceEx': 3,
194
- 'TradeBalance': 3,
195
- 'TradesHistory': 6,
196
- 'TradeVolume': 3,
197
- 'Withdraw': 3,
198
- 'WithdrawCancel': 3,
199
- 'WithdrawInfo': 3,
200
- 'WithdrawMethods': 3,
201
- 'WithdrawAddresses': 3,
202
- 'WithdrawStatus': 3,
203
- 'WalletTransfer': 3,
184
+ 'ExportStatus': 1,
185
+ 'GetWebSocketsToken': 1,
186
+ 'Ledgers': 2,
187
+ 'OpenOrders': 1,
188
+ 'OpenPositions': 1,
189
+ 'QueryLedgers': 1,
190
+ 'QueryOrders': 1,
191
+ 'QueryTrades': 1,
192
+ 'RetrieveExport': 1,
193
+ 'RemoveExport': 1,
194
+ 'BalanceEx': 1,
195
+ 'TradeBalance': 1,
196
+ 'TradesHistory': 2,
197
+ 'TradeVolume': 1,
198
+ 'Withdraw': 1,
199
+ 'WithdrawCancel': 1,
200
+ 'WithdrawInfo': 1,
201
+ 'WithdrawMethods': 1,
202
+ 'WithdrawAddresses': 1,
203
+ 'WithdrawStatus': 1,
204
+ 'WalletTransfer': 1,
204
205
  // sub accounts
205
- 'CreateSubaccount': 3,
206
- 'AccountTransfer': 3,
206
+ 'CreateSubaccount': 1,
207
+ 'AccountTransfer': 1,
207
208
  // earn
208
- 'Earn/Allocate': 3,
209
- 'Earn/Deallocate': 3,
210
- 'Earn/AllocateStatus': 3,
211
- 'Earn/DeallocateStatus': 3,
212
- 'Earn/Strategies': 3,
213
- 'Earn/Allocations': 3,
209
+ 'Earn/Allocate': 1,
210
+ 'Earn/Deallocate': 1,
211
+ 'Earn/AllocateStatus': 1,
212
+ 'Earn/DeallocateStatus': 1,
213
+ 'Earn/Strategies': 1,
214
+ 'Earn/Allocations': 1,
214
215
  },
215
216
  },
216
217
  },
package/js/src/lbank.js CHANGED
@@ -27,6 +27,7 @@ export default class lbank extends Exchange {
27
27
  // 50 per second for making and cancelling orders 1000ms / 50 = 20
28
28
  // 20 per second for all other requests, cost = 50 / 20 = 2.5
29
29
  'rateLimit': 20,
30
+ 'pro': true,
30
31
  'has': {
31
32
  'CORS': false,
32
33
  'spot': true,
package/js/src/luno.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/luno.js';
2
- import type { Balances, Currency, Int, Market, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade } from './base/types.js';
2
+ import type { Balances, Currency, Int, Market, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, OHLCV } from './base/types.js';
3
3
  /**
4
4
  * @class luno
5
5
  * @augments Exchange
@@ -23,6 +23,8 @@ export default class luno extends Exchange {
23
23
  fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
24
24
  parseTrade(trade: any, market?: Market): Trade;
25
25
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
26
+ fetchOHLCV(symbol: any, timeframe?: string, since?: any, limit?: any, params?: {}): Promise<OHLCV[]>;
27
+ parseOHLCV(ohlcv: any, market?: Market): OHLCV;
26
28
  fetchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
27
29
  fetchTradingFee(symbol: string, params?: {}): Promise<{
28
30
  info: any;