ccxt 4.2.18 → 4.2.20

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 (446) hide show
  1. package/README.md +100 -100
  2. package/dist/ccxt.browser.js +34240 -33297
  3. package/dist/ccxt.browser.min.js +2 -2
  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 +276 -27
  8. package/dist/cjs/src/bigone.js +434 -168
  9. package/dist/cjs/src/binance.js +165 -35
  10. package/dist/cjs/src/binanceus.js +25 -0
  11. package/dist/cjs/src/bingx.js +185 -42
  12. package/dist/cjs/src/bitfinex.js +2 -3
  13. package/dist/cjs/src/bitget.js +84 -47
  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/bitteam.js +1 -1
  19. package/dist/cjs/src/bybit.js +27 -75
  20. package/dist/cjs/src/coinbase.js +176 -26
  21. package/dist/cjs/src/coincheck.js +1 -0
  22. package/dist/cjs/src/coinex.js +3 -0
  23. package/dist/cjs/src/coinlist.js +13 -6
  24. package/dist/cjs/src/coinone.js +2 -2
  25. package/dist/cjs/src/coinsph.js +4 -5
  26. package/dist/cjs/src/delta.js +7 -19
  27. package/dist/cjs/src/deribit.js +17 -4
  28. package/dist/cjs/src/gate.js +151 -194
  29. package/dist/cjs/src/gemini.js +1 -1
  30. package/dist/cjs/src/hitbtc.js +2 -3
  31. package/dist/cjs/src/htx.js +157 -7
  32. package/dist/cjs/src/huobijp.js +2 -3
  33. package/dist/cjs/src/independentreserve.js +7 -5
  34. package/dist/cjs/src/kraken.js +86 -54
  35. package/dist/cjs/src/kucoin.js +5 -0
  36. package/dist/cjs/src/kucoinfutures.js +140 -86
  37. package/dist/cjs/src/lbank.js +60 -33
  38. package/dist/cjs/src/luno.js +84 -2
  39. package/dist/cjs/src/mexc.js +3 -3
  40. package/dist/cjs/src/oceanex.js +1 -1
  41. package/dist/cjs/src/okx.js +23 -29
  42. package/dist/cjs/{js/src/bitpanda.js → src/onetrading.js} +39 -39
  43. package/dist/cjs/src/phemex.js +37 -27
  44. package/dist/cjs/src/poloniexfutures.js +1 -0
  45. package/dist/cjs/src/pro/binance.js +66 -25
  46. package/dist/cjs/src/pro/bitget.js +1 -1
  47. package/dist/cjs/src/pro/bitpanda.js +5 -1330
  48. package/dist/cjs/src/pro/coinbase.js +4 -1
  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 +11 -2
  67. package/js/ccxt.js +8 -2
  68. package/js/src/abstract/binance.d.ts +1 -0
  69. package/js/src/abstract/binancecoinm.d.ts +1 -0
  70. package/js/src/abstract/binanceus.d.ts +1 -0
  71. package/js/src/abstract/binanceusdm.d.ts +1 -0
  72. package/js/src/abstract/bitpanda.d.ts +4 -4
  73. package/js/src/abstract/bitpanda.js +3 -3
  74. package/js/src/abstract/bitstamp.d.ts +8 -0
  75. package/js/src/abstract/gate.d.ts +1 -0
  76. package/js/src/abstract/gateio.d.ts +1 -0
  77. package/js/src/abstract/htx.d.ts +3 -0
  78. package/js/src/abstract/huobi.d.ts +3 -0
  79. package/js/src/abstract/luno.d.ts +1 -0
  80. package/js/src/abstract/onetrading.d.ts +38 -0
  81. package/js/src/abstract/onetrading.js +11 -0
  82. package/js/src/ascendex.js +2 -0
  83. package/js/src/base/Exchange.d.ts +3 -0
  84. package/js/src/base/Exchange.js +10 -0
  85. package/js/src/binance.js +2 -1
  86. package/js/src/binanceus.js +17 -0
  87. package/js/src/bingx.js +3 -2
  88. package/js/src/bitget.d.ts +1 -1
  89. package/js/src/bitget.js +47 -34
  90. package/js/src/bitpanda.d.ts +2 -72
  91. package/js/src/bitpanda.js +5 -1991
  92. package/js/src/bitstamp.js +8 -0
  93. package/js/src/bitteam.js +1 -1
  94. package/js/src/bybit.d.ts +0 -1
  95. package/js/src/bybit.js +1 -29
  96. package/js/src/delta.d.ts +0 -1
  97. package/js/src/delta.js +0 -18
  98. package/js/src/deribit.js +11 -3
  99. package/js/src/gate.d.ts +1 -1
  100. package/js/src/gate.js +50 -135
  101. package/js/src/htx.js +3 -0
  102. package/js/src/kraken.d.ts +1 -0
  103. package/js/src/kraken.js +39 -38
  104. package/js/src/kucoinfutures.d.ts +6 -6
  105. package/js/src/kucoinfutures.js +9 -9
  106. package/js/src/lbank.js +1 -0
  107. package/js/src/luno.d.ts +3 -1
  108. package/js/src/luno.js +84 -2
  109. package/js/src/mexc.js +1 -2
  110. package/js/src/okx.d.ts +0 -1
  111. package/js/src/okx.js +0 -18
  112. package/js/src/onetrading.d.ts +74 -0
  113. package/js/src/onetrading.js +2003 -0
  114. package/js/src/poloniexfutures.js +1 -0
  115. package/js/src/pro/binance.js +6 -1
  116. package/js/src/pro/bitpanda.d.ts +2 -34
  117. package/js/src/pro/bitpanda.js +5 -1330
  118. package/js/src/pro/lbank.d.ts +29 -0
  119. package/js/src/pro/lbank.js +882 -0
  120. package/js/src/pro/onetrading.d.ts +36 -0
  121. package/js/src/pro/onetrading.js +1339 -0
  122. package/package.json +2 -2
  123. package/rollup.config.js +2 -0
  124. package/skip-tests.json +4 -2
  125. package/test-commonjs.cjs +25 -1
  126. package/dist/cjs/js/ccxt.js +0 -478
  127. package/dist/cjs/js/src/abstract/alpaca.js +0 -9
  128. package/dist/cjs/js/src/abstract/ascendex.js +0 -9
  129. package/dist/cjs/js/src/abstract/bigone.js +0 -9
  130. package/dist/cjs/js/src/abstract/binance.js +0 -9
  131. package/dist/cjs/js/src/abstract/bingx.js +0 -9
  132. package/dist/cjs/js/src/abstract/bit2c.js +0 -9
  133. package/dist/cjs/js/src/abstract/bitbank.js +0 -9
  134. package/dist/cjs/js/src/abstract/bitbns.js +0 -9
  135. package/dist/cjs/js/src/abstract/bitfinex.js +0 -9
  136. package/dist/cjs/js/src/abstract/bitfinex2.js +0 -9
  137. package/dist/cjs/js/src/abstract/bitflyer.js +0 -9
  138. package/dist/cjs/js/src/abstract/bitforex.js +0 -9
  139. package/dist/cjs/js/src/abstract/bitget.js +0 -9
  140. package/dist/cjs/js/src/abstract/bithumb.js +0 -9
  141. package/dist/cjs/js/src/abstract/bitmart.js +0 -9
  142. package/dist/cjs/js/src/abstract/bitmex.js +0 -9
  143. package/dist/cjs/js/src/abstract/bitopro.js +0 -9
  144. package/dist/cjs/js/src/abstract/bitpanda.js +0 -9
  145. package/dist/cjs/js/src/abstract/bitrue.js +0 -9
  146. package/dist/cjs/js/src/abstract/bitso.js +0 -9
  147. package/dist/cjs/js/src/abstract/bitstamp.js +0 -9
  148. package/dist/cjs/js/src/abstract/bitteam.js +0 -9
  149. package/dist/cjs/js/src/abstract/bitvavo.js +0 -9
  150. package/dist/cjs/js/src/abstract/bl3p.js +0 -9
  151. package/dist/cjs/js/src/abstract/blockchaincom.js +0 -9
  152. package/dist/cjs/js/src/abstract/btcalpha.js +0 -9
  153. package/dist/cjs/js/src/abstract/btcbox.js +0 -9
  154. package/dist/cjs/js/src/abstract/btcmarkets.js +0 -9
  155. package/dist/cjs/js/src/abstract/btcturk.js +0 -9
  156. package/dist/cjs/js/src/abstract/bybit.js +0 -9
  157. package/dist/cjs/js/src/abstract/cex.js +0 -9
  158. package/dist/cjs/js/src/abstract/coinbase.js +0 -9
  159. package/dist/cjs/js/src/abstract/coinbasepro.js +0 -9
  160. package/dist/cjs/js/src/abstract/coincheck.js +0 -9
  161. package/dist/cjs/js/src/abstract/coinex.js +0 -9
  162. package/dist/cjs/js/src/abstract/coinlist.js +0 -9
  163. package/dist/cjs/js/src/abstract/coinmate.js +0 -9
  164. package/dist/cjs/js/src/abstract/coinone.js +0 -9
  165. package/dist/cjs/js/src/abstract/coinsph.js +0 -9
  166. package/dist/cjs/js/src/abstract/coinspot.js +0 -9
  167. package/dist/cjs/js/src/abstract/cryptocom.js +0 -9
  168. package/dist/cjs/js/src/abstract/currencycom.js +0 -9
  169. package/dist/cjs/js/src/abstract/delta.js +0 -9
  170. package/dist/cjs/js/src/abstract/deribit.js +0 -9
  171. package/dist/cjs/js/src/abstract/digifinex.js +0 -9
  172. package/dist/cjs/js/src/abstract/exmo.js +0 -9
  173. package/dist/cjs/js/src/abstract/gate.js +0 -9
  174. package/dist/cjs/js/src/abstract/gemini.js +0 -9
  175. package/dist/cjs/js/src/abstract/hitbtc.js +0 -9
  176. package/dist/cjs/js/src/abstract/hollaex.js +0 -9
  177. package/dist/cjs/js/src/abstract/htx.js +0 -9
  178. package/dist/cjs/js/src/abstract/huobijp.js +0 -9
  179. package/dist/cjs/js/src/abstract/idex.js +0 -9
  180. package/dist/cjs/js/src/abstract/independentreserve.js +0 -9
  181. package/dist/cjs/js/src/abstract/indodax.js +0 -9
  182. package/dist/cjs/js/src/abstract/kraken.js +0 -9
  183. package/dist/cjs/js/src/abstract/krakenfutures.js +0 -9
  184. package/dist/cjs/js/src/abstract/kucoin.js +0 -9
  185. package/dist/cjs/js/src/abstract/kucoinfutures.js +0 -9
  186. package/dist/cjs/js/src/abstract/kuna.js +0 -9
  187. package/dist/cjs/js/src/abstract/latoken.js +0 -9
  188. package/dist/cjs/js/src/abstract/lbank.js +0 -9
  189. package/dist/cjs/js/src/abstract/luno.js +0 -9
  190. package/dist/cjs/js/src/abstract/lykke.js +0 -9
  191. package/dist/cjs/js/src/abstract/mercado.js +0 -9
  192. package/dist/cjs/js/src/abstract/mexc.js +0 -9
  193. package/dist/cjs/js/src/abstract/ndax.js +0 -9
  194. package/dist/cjs/js/src/abstract/novadax.js +0 -9
  195. package/dist/cjs/js/src/abstract/oceanex.js +0 -9
  196. package/dist/cjs/js/src/abstract/okcoin.js +0 -9
  197. package/dist/cjs/js/src/abstract/okx.js +0 -9
  198. package/dist/cjs/js/src/abstract/p2b.js +0 -9
  199. package/dist/cjs/js/src/abstract/paymium.js +0 -9
  200. package/dist/cjs/js/src/abstract/phemex.js +0 -9
  201. package/dist/cjs/js/src/abstract/poloniex.js +0 -9
  202. package/dist/cjs/js/src/abstract/poloniexfutures.js +0 -9
  203. package/dist/cjs/js/src/abstract/probit.js +0 -9
  204. package/dist/cjs/js/src/abstract/timex.js +0 -9
  205. package/dist/cjs/js/src/abstract/tokocrypto.js +0 -9
  206. package/dist/cjs/js/src/abstract/upbit.js +0 -9
  207. package/dist/cjs/js/src/abstract/wavesexchange.js +0 -9
  208. package/dist/cjs/js/src/abstract/wazirx.js +0 -9
  209. package/dist/cjs/js/src/abstract/whitebit.js +0 -9
  210. package/dist/cjs/js/src/abstract/woo.js +0 -9
  211. package/dist/cjs/js/src/abstract/yobit.js +0 -9
  212. package/dist/cjs/js/src/abstract/zaif.js +0 -9
  213. package/dist/cjs/js/src/abstract/zonda.js +0 -9
  214. package/dist/cjs/js/src/ace.js +0 -1058
  215. package/dist/cjs/js/src/alpaca.js +0 -1125
  216. package/dist/cjs/js/src/ascendex.js +0 -3365
  217. package/dist/cjs/js/src/base/Exchange.js +0 -5260
  218. package/dist/cjs/js/src/base/Precise.js +0 -263
  219. package/dist/cjs/js/src/base/errors.js +0 -299
  220. package/dist/cjs/js/src/base/functions/crypto.js +0 -78
  221. package/dist/cjs/js/src/base/functions/encode.js +0 -44
  222. package/dist/cjs/js/src/base/functions/generic.js +0 -193
  223. package/dist/cjs/js/src/base/functions/misc.js +0 -96
  224. package/dist/cjs/js/src/base/functions/number.js +0 -297
  225. package/dist/cjs/js/src/base/functions/platform.js +0 -28
  226. package/dist/cjs/js/src/base/functions/rsa.js +0 -34
  227. package/dist/cjs/js/src/base/functions/string.js +0 -48
  228. package/dist/cjs/js/src/base/functions/throttle.js +0 -66
  229. package/dist/cjs/js/src/base/functions/time.js +0 -187
  230. package/dist/cjs/js/src/base/functions/totp.js +0 -24
  231. package/dist/cjs/js/src/base/functions/type.js +0 -162
  232. package/dist/cjs/js/src/base/functions.js +0 -157
  233. package/dist/cjs/js/src/base/ws/Cache.js +0 -254
  234. package/dist/cjs/js/src/base/ws/Client.js +0 -299
  235. package/dist/cjs/js/src/base/ws/Future.js +0 -34
  236. package/dist/cjs/js/src/base/ws/OrderBook.js +0 -107
  237. package/dist/cjs/js/src/base/ws/OrderBookSide.js +0 -281
  238. package/dist/cjs/js/src/base/ws/WsClient.js +0 -69
  239. package/dist/cjs/js/src/bequant.js +0 -33
  240. package/dist/cjs/js/src/bigone.js +0 -2213
  241. package/dist/cjs/js/src/binance.js +0 -9851
  242. package/dist/cjs/js/src/binancecoinm.js +0 -45
  243. package/dist/cjs/js/src/binanceus.js +0 -92
  244. package/dist/cjs/js/src/binanceusdm.js +0 -58
  245. package/dist/cjs/js/src/bingx.js +0 -3872
  246. package/dist/cjs/js/src/bit2c.js +0 -916
  247. package/dist/cjs/js/src/bitbank.js +0 -1000
  248. package/dist/cjs/js/src/bitbay.js +0 -17
  249. package/dist/cjs/js/src/bitbns.js +0 -1220
  250. package/dist/cjs/js/src/bitcoincom.js +0 -17
  251. package/dist/cjs/js/src/bitfinex.js +0 -1670
  252. package/dist/cjs/js/src/bitfinex2.js +0 -2990
  253. package/dist/cjs/js/src/bitflyer.js +0 -1045
  254. package/dist/cjs/js/src/bitforex.js +0 -852
  255. package/dist/cjs/js/src/bitget.js +0 -8295
  256. package/dist/cjs/js/src/bithumb.js +0 -1090
  257. package/dist/cjs/js/src/bitmart.js +0 -4454
  258. package/dist/cjs/js/src/bitmex.js +0 -2881
  259. package/dist/cjs/js/src/bitopro.js +0 -1724
  260. package/dist/cjs/js/src/bitrue.js +0 -3253
  261. package/dist/cjs/js/src/bitso.js +0 -1753
  262. package/dist/cjs/js/src/bitstamp.js +0 -2188
  263. package/dist/cjs/js/src/bitteam.js +0 -2309
  264. package/dist/cjs/js/src/bitvavo.js +0 -1968
  265. package/dist/cjs/js/src/bl3p.js +0 -447
  266. package/dist/cjs/js/src/blockchaincom.js +0 -1160
  267. package/dist/cjs/js/src/btcalpha.js +0 -929
  268. package/dist/cjs/js/src/btcbox.js +0 -565
  269. package/dist/cjs/js/src/btcmarkets.js +0 -1237
  270. package/dist/cjs/js/src/btcturk.js +0 -929
  271. package/dist/cjs/js/src/bybit.js +0 -7624
  272. package/dist/cjs/js/src/cex.js +0 -1693
  273. package/dist/cjs/js/src/coinbase.js +0 -3424
  274. package/dist/cjs/js/src/coinbasepro.js +0 -1866
  275. package/dist/cjs/js/src/coincheck.js +0 -844
  276. package/dist/cjs/js/src/coinex.js +0 -5417
  277. package/dist/cjs/js/src/coinlist.js +0 -2337
  278. package/dist/cjs/js/src/coinmate.js +0 -989
  279. package/dist/cjs/js/src/coinone.js +0 -1185
  280. package/dist/cjs/js/src/coinsph.js +0 -1933
  281. package/dist/cjs/js/src/coinspot.js +0 -548
  282. package/dist/cjs/js/src/cryptocom.js +0 -3007
  283. package/dist/cjs/js/src/currencycom.js +0 -2015
  284. package/dist/cjs/js/src/delta.js +0 -3262
  285. package/dist/cjs/js/src/deribit.js +0 -3310
  286. package/dist/cjs/js/src/digifinex.js +0 -4307
  287. package/dist/cjs/js/src/exmo.js +0 -2645
  288. package/dist/cjs/js/src/fmfwio.js +0 -34
  289. package/dist/cjs/js/src/gate.js +0 -7077
  290. package/dist/cjs/js/src/gateio.js +0 -16
  291. package/dist/cjs/js/src/gemini.js +0 -1801
  292. package/dist/cjs/js/src/hitbtc.js +0 -3660
  293. package/dist/cjs/js/src/hitbtc3.js +0 -19
  294. package/dist/cjs/js/src/hollaex.js +0 -1882
  295. package/dist/cjs/js/src/htx.js +0 -9174
  296. package/dist/cjs/js/src/huobi.js +0 -16
  297. package/dist/cjs/js/src/huobijp.js +0 -1918
  298. package/dist/cjs/js/src/idex.js +0 -1770
  299. package/dist/cjs/js/src/independentreserve.js +0 -761
  300. package/dist/cjs/js/src/indodax.js +0 -1069
  301. package/dist/cjs/js/src/kraken.js +0 -2891
  302. package/dist/cjs/js/src/krakenfutures.js +0 -2407
  303. package/dist/cjs/js/src/kucoin.js +0 -4494
  304. package/dist/cjs/js/src/kucoinfutures.js +0 -2529
  305. package/dist/cjs/js/src/kuna.js +0 -1949
  306. package/dist/cjs/js/src/latoken.js +0 -1729
  307. package/dist/cjs/js/src/lbank.js +0 -2851
  308. package/dist/cjs/js/src/luno.js +0 -1044
  309. package/dist/cjs/js/src/lykke.js +0 -1303
  310. package/dist/cjs/js/src/mercado.js +0 -897
  311. package/dist/cjs/js/src/mexc.js +0 -5407
  312. package/dist/cjs/js/src/ndax.js +0 -2450
  313. package/dist/cjs/js/src/novadax.js +0 -1556
  314. package/dist/cjs/js/src/oceanex.js +0 -964
  315. package/dist/cjs/js/src/okcoin.js +0 -3115
  316. package/dist/cjs/js/src/okx.js +0 -7331
  317. package/dist/cjs/js/src/p2b.js +0 -1243
  318. package/dist/cjs/js/src/paymium.js +0 -597
  319. package/dist/cjs/js/src/phemex.js +0 -4725
  320. package/dist/cjs/js/src/poloniex.js +0 -2356
  321. package/dist/cjs/js/src/poloniexfutures.js +0 -1794
  322. package/dist/cjs/js/src/pro/alpaca.js +0 -714
  323. package/dist/cjs/js/src/pro/ascendex.js +0 -957
  324. package/dist/cjs/js/src/pro/bequant.js +0 -33
  325. package/dist/cjs/js/src/pro/binance.js +0 -2796
  326. package/dist/cjs/js/src/pro/binancecoinm.js +0 -23
  327. package/dist/cjs/js/src/pro/binanceus.js +0 -51
  328. package/dist/cjs/js/src/pro/binanceusdm.js +0 -32
  329. package/dist/cjs/js/src/pro/bingx.js +0 -944
  330. package/dist/cjs/js/src/pro/bitcoincom.js +0 -29
  331. package/dist/cjs/js/src/pro/bitfinex.js +0 -672
  332. package/dist/cjs/js/src/pro/bitfinex2.js +0 -1159
  333. package/dist/cjs/js/src/pro/bitget.js +0 -1733
  334. package/dist/cjs/js/src/pro/bitmart.js +0 -1486
  335. package/dist/cjs/js/src/pro/bitmex.js +0 -1576
  336. package/dist/cjs/js/src/pro/bitopro.js +0 -327
  337. package/dist/cjs/js/src/pro/bitrue.js +0 -462
  338. package/dist/cjs/js/src/pro/bitstamp.js +0 -547
  339. package/dist/cjs/js/src/pro/bitvavo.js +0 -704
  340. package/dist/cjs/js/src/pro/blockchaincom.js +0 -794
  341. package/dist/cjs/js/src/pro/bybit.js +0 -1843
  342. package/dist/cjs/js/src/pro/cex.js +0 -1510
  343. package/dist/cjs/js/src/pro/coinbase.js +0 -561
  344. package/dist/cjs/js/src/pro/coinbasepro.js +0 -968
  345. package/dist/cjs/js/src/pro/coinex.js +0 -1095
  346. package/dist/cjs/js/src/pro/cryptocom.js +0 -1020
  347. package/dist/cjs/js/src/pro/currencycom.js +0 -563
  348. package/dist/cjs/js/src/pro/deribit.js +0 -825
  349. package/dist/cjs/js/src/pro/exmo.js +0 -658
  350. package/dist/cjs/js/src/pro/gate.js +0 -1316
  351. package/dist/cjs/js/src/pro/gateio.js +0 -16
  352. package/dist/cjs/js/src/pro/gemini.js +0 -649
  353. package/dist/cjs/js/src/pro/hitbtc.js +0 -1294
  354. package/dist/cjs/js/src/pro/hollaex.js +0 -597
  355. package/dist/cjs/js/src/pro/htx.js +0 -2388
  356. package/dist/cjs/js/src/pro/huobi.js +0 -16
  357. package/dist/cjs/js/src/pro/huobijp.js +0 -606
  358. package/dist/cjs/js/src/pro/idex.js +0 -714
  359. package/dist/cjs/js/src/pro/independentreserve.js +0 -280
  360. package/dist/cjs/js/src/pro/kraken.js +0 -1364
  361. package/dist/cjs/js/src/pro/krakenfutures.js +0 -1506
  362. package/dist/cjs/js/src/pro/kucoin.js +0 -1062
  363. package/dist/cjs/js/src/pro/kucoinfutures.js +0 -989
  364. package/dist/cjs/js/src/pro/luno.js +0 -322
  365. package/dist/cjs/js/src/pro/mexc.js +0 -1170
  366. package/dist/cjs/js/src/pro/ndax.js +0 -545
  367. package/dist/cjs/js/src/pro/okcoin.js +0 -760
  368. package/dist/cjs/js/src/pro/okx.js +0 -1608
  369. package/dist/cjs/js/src/pro/phemex.js +0 -1511
  370. package/dist/cjs/js/src/pro/poloniex.js +0 -1253
  371. package/dist/cjs/js/src/pro/poloniexfutures.js +0 -1022
  372. package/dist/cjs/js/src/pro/probit.js +0 -586
  373. package/dist/cjs/js/src/pro/upbit.js +0 -234
  374. package/dist/cjs/js/src/pro/wazirx.js +0 -776
  375. package/dist/cjs/js/src/pro/whitebit.js +0 -927
  376. package/dist/cjs/js/src/pro/woo.js +0 -895
  377. package/dist/cjs/js/src/probit.js +0 -1867
  378. package/dist/cjs/js/src/static_dependencies/fflake/browser.js +0 -401
  379. package/dist/cjs/js/src/static_dependencies/jsencrypt/JSEncrypt.js +0 -195
  380. package/dist/cjs/js/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +0 -308
  381. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +0 -554
  382. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +0 -94
  383. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +0 -70
  384. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +0 -91
  385. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +0 -16
  386. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +0 -1760
  387. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +0 -52
  388. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +0 -81
  389. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +0 -376
  390. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/util.js +0 -70
  391. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +0 -1580
  392. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +0 -74
  393. package/dist/cjs/js/src/static_dependencies/noble-curves/_shortw_utils.js +0 -24
  394. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/curve.js +0 -158
  395. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/edwards.js +0 -429
  396. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +0 -176
  397. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/modular.js +0 -324
  398. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/montgomery.js +0 -163
  399. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/utils.js +0 -245
  400. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/weierstrass.js +0 -1018
  401. package/dist/cjs/js/src/static_dependencies/noble-curves/ed25519.js +0 -383
  402. package/dist/cjs/js/src/static_dependencies/noble-curves/secp256k1.js +0 -258
  403. package/dist/cjs/js/src/static_dependencies/noble-hashes/_assert.js +0 -53
  404. package/dist/cjs/js/src/static_dependencies/noble-hashes/_sha2.js +0 -120
  405. package/dist/cjs/js/src/static_dependencies/noble-hashes/_u64.js +0 -69
  406. package/dist/cjs/js/src/static_dependencies/noble-hashes/crypto.js +0 -7
  407. package/dist/cjs/js/src/static_dependencies/noble-hashes/hmac.js +0 -83
  408. package/dist/cjs/js/src/static_dependencies/noble-hashes/md5.js +0 -240
  409. package/dist/cjs/js/src/static_dependencies/noble-hashes/sha1.js +0 -91
  410. package/dist/cjs/js/src/static_dependencies/noble-hashes/sha256.js +0 -130
  411. package/dist/cjs/js/src/static_dependencies/noble-hashes/sha3.js +0 -214
  412. package/dist/cjs/js/src/static_dependencies/noble-hashes/sha512.js +0 -239
  413. package/dist/cjs/js/src/static_dependencies/noble-hashes/utils.js +0 -93
  414. package/dist/cjs/js/src/static_dependencies/node-fetch/body.js +0 -354
  415. package/dist/cjs/js/src/static_dependencies/node-fetch/errors/abort-error.js +0 -16
  416. package/dist/cjs/js/src/static_dependencies/node-fetch/errors/base.js +0 -20
  417. package/dist/cjs/js/src/static_dependencies/node-fetch/errors/fetch-error.js +0 -30
  418. package/dist/cjs/js/src/static_dependencies/node-fetch/headers.js +0 -239
  419. package/dist/cjs/js/src/static_dependencies/node-fetch/index.js +0 -372
  420. package/dist/cjs/js/src/static_dependencies/node-fetch/request.js +0 -273
  421. package/dist/cjs/js/src/static_dependencies/node-fetch/response.js +0 -139
  422. package/dist/cjs/js/src/static_dependencies/node-fetch/utils/get-search.js +0 -14
  423. package/dist/cjs/js/src/static_dependencies/node-fetch/utils/is-redirect.js +0 -16
  424. package/dist/cjs/js/src/static_dependencies/node-fetch/utils/is.js +0 -81
  425. package/dist/cjs/js/src/static_dependencies/node-fetch/utils/referrer.js +0 -292
  426. package/dist/cjs/js/src/static_dependencies/proxies/agent-base/index.js +0 -103
  427. package/dist/cjs/js/src/static_dependencies/proxies/http-proxy-agent/index.js +0 -140
  428. package/dist/cjs/js/src/static_dependencies/proxies/https-proxy-agent/index.js +0 -175
  429. package/dist/cjs/js/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +0 -95
  430. package/dist/cjs/js/src/static_dependencies/qs/index.cjs.js +0 -7
  431. package/dist/cjs/js/src/static_dependencies/scure-base/index.js +0 -383
  432. package/dist/cjs/js/src/timex.js +0 -1562
  433. package/dist/cjs/js/src/tokocrypto.js +0 -2542
  434. package/dist/cjs/js/src/upbit.js +0 -1844
  435. package/dist/cjs/js/src/wavesexchange.js +0 -2607
  436. package/dist/cjs/js/src/wazirx.js +0 -953
  437. package/dist/cjs/js/src/whitebit.js +0 -2310
  438. package/dist/cjs/js/src/woo.js +0 -2769
  439. package/dist/cjs/js/src/yobit.js +0 -1314
  440. package/dist/cjs/js/src/zaif.js +0 -736
  441. package/dist/cjs/js/src/zonda.js +0 -1883
  442. package/dist/cjs/src/abstract/bitpanda.js +0 -9
  443. package/test.ts +0 -0
  444. /package/dist/cjs/{js/src/abstract/ace.js → src/abstract/onetrading.js} +0 -0
  445. /package/dist/cjs/{js/src → src}/pro/coincheck.js +0 -0
  446. /package/dist/cjs/{js/src → src}/pro/coinone.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/bitteam.js CHANGED
@@ -127,7 +127,7 @@ export default class bitteam extends Exchange {
127
127
  '1d': '1D',
128
128
  },
129
129
  'urls': {
130
- 'logo': 'https://private-user-images.githubusercontent.com/43336371/291263231-aa2e0d61-edba-44a8-b9bf-68797dc417bd.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTEiLCJleHAiOjE3MDMwOTE4NTYsIm5iZiI6MTcwMzA5MTU1NiwicGF0aCI6Ii80MzMzNjM3MS8yOTEyNjMyMzEtYWEyZTBkNjEtZWRiYS00NGE4LWI5YmYtNjg3OTdkYzQxN2JkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFJV05KWUFYNENTVkVINTNBJTJGMjAyMzEyMjAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjMxMjIwVDE2NTkxNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTVkOGE5YmY3ZDMzMWY4YzVjODYzYWJjNjE1MGFkNTRkNzVlMDJmNWE1ZTgwNGQ2NzVkMzkyZTFhOTc4OTNjMWQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.B-ySU5Uo6vz53-iDe08tTQmJH6QOzUA9Jcbj-kZc2wg',
130
+ 'logo': 'https://github.com/ccxt/ccxt/assets/43336371/cf71fe3d-b8b4-40f2-a906-907661b28793',
131
131
  'api': {
132
132
  'history': 'https://history.bit.team',
133
133
  'public': 'https://bit.team',
package/js/src/bybit.d.ts CHANGED
@@ -14,7 +14,6 @@ export default class bybit extends Exchange {
14
14
  convertExpireDateToMarketIdDate(date: any): any;
15
15
  convertMarketIdExpireDate(date: any): string;
16
16
  createExpiredOptionMarket(symbol: any): MarketInterface;
17
- market(symbol: any): any;
18
17
  safeMarket(marketId?: any, market?: any, delimiter?: any, marketType?: any): MarketInterface;
19
18
  getBybitType(method: any, market: any, params?: {}): any[];
20
19
  fetchTime(params?: {}): Promise<number>;
package/js/src/bybit.js CHANGED
@@ -7,7 +7,7 @@
7
7
  // ---------------------------------------------------------------------------
8
8
  import Exchange from './abstract/bybit.js';
9
9
  import { TICK_SIZE } from './base/functions/number.js';
10
- import { AuthenticationError, ExchangeError, ArgumentsRequired, PermissionDenied, InvalidOrder, OrderNotFound, InsufficientFunds, BadRequest, RateLimitExceeded, InvalidNonce, NotSupported, RequestTimeout, BadSymbol, MarginModeAlreadySet, NoChange } from './base/errors.js';
10
+ import { AuthenticationError, ExchangeError, ArgumentsRequired, PermissionDenied, InvalidOrder, OrderNotFound, InsufficientFunds, BadRequest, RateLimitExceeded, InvalidNonce, NotSupported, RequestTimeout, MarginModeAlreadySet, NoChange } from './base/errors.js';
11
11
  import { Precise } from './base/Precise.js';
12
12
  import { sha256 } from './static_dependencies/noble-hashes/sha256.js';
13
13
  import { rsa } from './base/functions/rsa.js';
@@ -1251,34 +1251,6 @@ export default class bybit extends Exchange {
1251
1251
  'info': undefined,
1252
1252
  };
1253
1253
  }
1254
- market(symbol) {
1255
- if (this.markets === undefined) {
1256
- throw new ExchangeError(this.id + ' markets not loaded');
1257
- }
1258
- if (typeof symbol === 'string') {
1259
- if (symbol in this.markets) {
1260
- return this.markets[symbol];
1261
- }
1262
- else if (symbol in this.markets_by_id) {
1263
- const markets = this.markets_by_id[symbol];
1264
- let defaultType = this.safeString2(this.options, 'defaultType', 'defaultSubType', 'spot');
1265
- if (defaultType === 'future') {
1266
- defaultType = 'contract';
1267
- }
1268
- for (let i = 0; i < markets.length; i++) {
1269
- const market = markets[i];
1270
- if (market[defaultType]) {
1271
- return market;
1272
- }
1273
- }
1274
- return markets[0];
1275
- }
1276
- else if ((symbol.indexOf('-C') > -1) || (symbol.indexOf('-P') > -1)) {
1277
- return this.createExpiredOptionMarket(symbol);
1278
- }
1279
- }
1280
- throw new BadSymbol(this.id + ' does not have market symbol ' + symbol);
1281
- }
1282
1254
  safeMarket(marketId = undefined, market = undefined, delimiter = undefined, marketType = undefined) {
1283
1255
  const isOption = (marketId !== undefined) && ((marketId.indexOf('-C') > -1) || (marketId.indexOf('-P') > -1));
1284
1256
  if (isOption && !(marketId in this.markets_by_id)) {
package/js/src/delta.d.ts CHANGED
@@ -8,7 +8,6 @@ export default class delta extends Exchange {
8
8
  describe(): any;
9
9
  convertExpireDate(date: any): string;
10
10
  createExpiredOptionMarket(symbol: any): MarketInterface;
11
- market(symbol: any): any;
12
11
  safeMarket(marketId?: any, market?: any, delimiter?: any, marketType?: any): MarketInterface;
13
12
  fetchTime(params?: {}): Promise<number>;
14
13
  fetchStatus(params?: {}): Promise<{
package/js/src/delta.js CHANGED
@@ -318,24 +318,6 @@ export default class delta extends Exchange {
318
318
  'info': undefined,
319
319
  };
320
320
  }
321
- market(symbol) {
322
- if (this.markets === undefined) {
323
- throw new ExchangeError(this.id + ' markets not loaded');
324
- }
325
- if (typeof symbol === 'string') {
326
- if (symbol in this.markets) {
327
- return this.markets[symbol];
328
- }
329
- else if (symbol in this.markets_by_id) {
330
- const markets = this.markets_by_id[symbol];
331
- return markets[0];
332
- }
333
- else if ((symbol.endsWith('-C')) || (symbol.endsWith('-P')) || (symbol.startsWith('C-')) || (symbol.startsWith('P-'))) {
334
- return this.createExpiredOptionMarket(symbol);
335
- }
336
- }
337
- throw new BadSymbol(this.id + ' does not have market symbol ' + symbol);
338
- }
339
321
  safeMarket(marketId = undefined, market = undefined, delimiter = undefined, marketType = undefined) {
340
322
  const isOption = (marketId !== undefined) && ((marketId.endsWith('-C')) || (marketId.endsWith('-P')) || (marketId.startsWith('C-')) || (marketId.startsWith('P-')));
341
323
  if (isOption && !(marketId in this.markets_by_id)) {
package/js/src/deribit.js CHANGED
@@ -2420,6 +2420,7 @@ export default class deribit extends Exchange {
2420
2420
  * @method
2421
2421
  * @name deribit#fetchPosition
2422
2422
  * @description fetch data on a single open contract trade position
2423
+ * @see https://docs.deribit.com/#private-get_position
2423
2424
  * @param {string} symbol unified market symbol of the market the position is held in, default is undefined
2424
2425
  * @param {object} [params] extra parameters specific to the exchange API endpoint
2425
2426
  * @returns {object} a [position structure]{@link https://docs.ccxt.com/#/?id=position-structure}
@@ -2464,11 +2465,14 @@ export default class deribit extends Exchange {
2464
2465
  * @method
2465
2466
  * @name deribit#fetchPositions
2466
2467
  * @description fetch all open positions
2468
+ * @see https://docs.deribit.com/#private-get_positions
2467
2469
  * @param {string[]|undefined} symbols list of unified market symbols
2468
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'
2469
2472
  * @returns {object[]} a list of [position structure]{@link https://docs.ccxt.com/#/?id=position-structure}
2470
2473
  */
2471
2474
  await this.loadMarkets();
2475
+ let kind = this.safeString(params, 'kind');
2472
2476
  let code = undefined;
2473
2477
  if (symbols === undefined) {
2474
2478
  code = this.codeFromOptions('fetchPositions', params);
@@ -2484,14 +2488,18 @@ export default class deribit extends Exchange {
2484
2488
  throw new BadRequest(this.id + ' fetchPositions() symbols argument cannot contain more than 1 symbol');
2485
2489
  }
2486
2490
  const market = this.market(symbols[0]);
2487
- code = market['base'];
2491
+ const settle = market['settle'];
2492
+ code = (settle !== undefined) ? settle : market['base'];
2493
+ kind = market['info']['kind'];
2488
2494
  }
2489
2495
  }
2490
2496
  const currency = this.currency(code);
2491
2497
  const request = {
2492
2498
  'currency': currency['id'],
2493
- // "kind" : "future", "option"
2494
2499
  };
2500
+ if (kind !== undefined) {
2501
+ request['kind'] = kind;
2502
+ }
2495
2503
  const response = await this.privateGetGetPositions(this.extend(request, params));
2496
2504
  //
2497
2505
  // {
@@ -2889,7 +2897,7 @@ export default class deribit extends Exchange {
2889
2897
  }
2890
2898
  const request = {
2891
2899
  'instrument_name': market['id'],
2892
- 'start_timestamp': since,
2900
+ 'start_timestamp': since - 1,
2893
2901
  'end_timestamp': time,
2894
2902
  };
2895
2903
  const response = await this.publicGetGetFundingRateHistory(this.extend(request, params));
package/js/src/gate.d.ts CHANGED
@@ -9,7 +9,6 @@ export default class gate extends Exchange {
9
9
  setSandboxMode(enable: any): void;
10
10
  convertExpireDate(date: any): string;
11
11
  createExpiredOptionMarket(symbol: any): MarketInterface;
12
- market(symbol: any): any;
13
12
  safeMarket(marketId?: any, market?: any, delimiter?: any, marketType?: any): MarketInterface;
14
13
  fetchMarkets(params?: {}): Promise<any>;
15
14
  fetchSpotMarkets(params?: {}): Promise<any[]>;
@@ -220,6 +219,7 @@ export default class gate extends Exchange {
220
219
  fetchPosition(symbol: string, params?: {}): Promise<import("./base/types.js").Position>;
221
220
  fetchPositions(symbols?: Strings, params?: {}): Promise<import("./base/types.js").Position[]>;
222
221
  fetchLeverageTiers(symbols?: Strings, params?: {}): Promise<{}>;
222
+ fetchMarketLeverageTiers(symbol: string, params?: {}): Promise<any[]>;
223
223
  parseMarketLeverageTiers(info: any, market?: Market): any[];
224
224
  repayIsolatedMargin(symbol: string, code: string, amount: any, params?: {}): Promise<{
225
225
  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
  },
@@ -935,31 +936,6 @@ export default class gate extends Exchange {
935
936
  'info': undefined,
936
937
  };
937
938
  }
938
- market(symbol) {
939
- if (this.markets === undefined) {
940
- throw new ExchangeError(this.id + ' markets not loaded');
941
- }
942
- if (typeof symbol === 'string') {
943
- if (symbol in this.markets) {
944
- return this.markets[symbol];
945
- }
946
- else if (symbol in this.markets_by_id) {
947
- const markets = this.markets_by_id[symbol];
948
- const defaultType = this.safeString2(this.options, 'defaultType', 'defaultSubType', 'spot');
949
- for (let i = 0; i < markets.length; i++) {
950
- const market = markets[i];
951
- if (market[defaultType]) {
952
- return market;
953
- }
954
- }
955
- return markets[0];
956
- }
957
- else if ((symbol.indexOf('-C') > -1) || (symbol.indexOf('-P') > -1)) {
958
- return this.createExpiredOptionMarket(symbol);
959
- }
960
- }
961
- throw new BadSymbol(this.id + ' does not have market symbol ' + symbol);
962
- }
963
939
  safeMarket(marketId = undefined, market = undefined, delimiter = undefined, marketType = undefined) {
964
940
  const isOption = (marketId !== undefined) && ((marketId.indexOf('-C') > -1) || (marketId.indexOf('-P') > -1));
965
941
  if (isOption && !(marketId in this.markets_by_id)) {
@@ -5699,125 +5675,64 @@ export default class gate extends Exchange {
5699
5675
  //
5700
5676
  return this.parseLeverageTiers(response, symbols, 'name');
5701
5677
  }
5702
- parseMarketLeverageTiers(info, market = undefined) {
5678
+ async fetchMarketLeverageTiers(symbol, params = {}) {
5703
5679
  /**
5704
- * @ignore
5705
5680
  * @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
5681
+ * @name gate#fetchMarketLeverageTiers
5682
+ * @description retrieve information on the maximum leverage, and maintenance margin for trades of varying trade sizes for a single market
5683
+ * @see https://www.gate.io/docs/developers/apiv4/en/#list-risk-limit-tiers
5684
+ * @param {string} symbol unified market symbol
5685
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
5686
+ * @returns {object} a [leverage tiers structure]{@link https://docs.ccxt.com/#/?id=leverage-tiers-structure}
5709
5687
  */
5688
+ await this.loadMarkets();
5689
+ const market = this.market(symbol);
5690
+ const [type, query] = this.handleMarketTypeAndParams('fetchMarketLeverageTiers', market, params);
5691
+ const [request, requestParams] = this.prepareRequest(market, type, query);
5692
+ if (type !== 'future' && type !== 'swap') {
5693
+ throw new BadRequest(this.id + ' fetchMarketLeverageTiers only supports swap and future');
5694
+ }
5695
+ const response = await this.privateFuturesGetSettleRiskLimitTiers(this.extend(request, requestParams));
5710
5696
  //
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
- // }
5697
+ // [
5698
+ // {
5699
+ // "maintenance_rate": "0.004",
5700
+ // "tier": 1,
5701
+ // "initial_rate": "0.008",
5702
+ // "leverage_max": "125",
5703
+ // "risk_limit": "1000000"
5704
+ // }
5705
+ // ]
5753
5706
  //
5754
- // Delivery Futures
5707
+ return this.parseMarketLeverageTiers(response, market);
5708
+ }
5709
+ parseMarketLeverageTiers(info, market = undefined) {
5755
5710
  //
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
- // }
5711
+ // [
5712
+ // {
5713
+ // "maintenance_rate": "0.004",
5714
+ // "tier": 1,
5715
+ // "initial_rate": "0.008",
5716
+ // "leverage_max": "125",
5717
+ // "risk_limit": "1000000"
5718
+ // }
5719
+ // ]
5797
5720
  //
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';
5721
+ let minNotional = 0;
5806
5722
  const tiers = [];
5807
- while (Precise.stringLt(floor, riskLimitMax)) {
5808
- const cap = Precise.stringAdd(floor, riskLimitStep);
5723
+ for (let i = 0; i < info.length; i++) {
5724
+ const item = info[i];
5725
+ const maxNotional = this.safeNumber(item, 'risk_limit');
5809
5726
  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,
5727
+ 'tier': this.sum(i, 1),
5728
+ 'currency': market['base'],
5729
+ 'minNotional': minNotional,
5730
+ 'maxNotional': maxNotional,
5731
+ 'maintenanceMarginRate': this.safeNumber(item, 'maintenance_rate'),
5732
+ 'maxLeverage': this.safeNumber(item, 'leverage_max'),
5733
+ 'info': item,
5817
5734
  });
5818
- maintenanceMarginRate = Precise.stringAdd(maintenanceMarginRate, maintenanceMarginUnit);
5819
- initialMarginRatio = Precise.stringAdd(initialMarginRatio, initialMarginUnit);
5820
- floor = cap;
5735
+ minNotional = maxNotional;
5821
5736
  }
5822
5737
  return tiers;
5823
5738
  }
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': {
@@ -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
  },
@@ -56,14 +56,14 @@ export default class kucoinfutures extends kucoin {
56
56
  timestamp: any;
57
57
  datetime: any;
58
58
  fundingRate: number;
59
- fundingTimestamp: any;
60
- fundingDatetime: any;
61
- nextFundingRate: any;
59
+ fundingTimestamp: number;
60
+ fundingDatetime: string;
61
+ nextFundingRate: number;
62
62
  nextFundingTimestamp: any;
63
63
  nextFundingDatetime: any;
64
- previousFundingRate: number;
65
- previousFundingTimestamp: number;
66
- previousFundingDatetime: string;
64
+ previousFundingRate: any;
65
+ previousFundingTimestamp: any;
66
+ previousFundingDatetime: any;
67
67
  }>;
68
68
  parseBalance(response: any): Balances;
69
69
  fetchBalance(params?: {}): Promise<Balances>;
@@ -1834,7 +1834,7 @@ export default class kucoinfutures extends kucoin {
1834
1834
  * @method
1835
1835
  * @name kucoinfutures#fetchFundingRate
1836
1836
  * @description fetch the current funding rate
1837
- * @see https://www.kucoin.com/docs/rest/futures-trading/market-data/get-current-funding-rate
1837
+ * @see https://www.kucoin.com/docs/rest/futures-trading/funding-fees/get-current-funding-rate
1838
1838
  * @param {string} symbol unified market symbol
1839
1839
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1840
1840
  * @returns {object} a [funding rate structure]{@link https://docs.ccxt.com/#/?id=funding-rate-structure}
@@ -1858,7 +1858,7 @@ export default class kucoinfutures extends kucoin {
1858
1858
  // }
1859
1859
  //
1860
1860
  const data = this.safeValue(response, 'data');
1861
- const fundingTimestamp = this.safeNumber(data, 'timePoint');
1861
+ const fundingTimestamp = this.safeInteger(data, 'timePoint');
1862
1862
  // the website displayes the previous funding rate as "funding rate"
1863
1863
  return {
1864
1864
  'info': data,
@@ -1869,15 +1869,15 @@ export default class kucoinfutures extends kucoin {
1869
1869
  'estimatedSettlePrice': undefined,
1870
1870
  'timestamp': undefined,
1871
1871
  'datetime': undefined,
1872
- 'fundingRate': this.safeNumber(data, 'predictedValue'),
1873
- 'fundingTimestamp': undefined,
1874
- 'fundingDatetime': undefined,
1875
- 'nextFundingRate': undefined,
1872
+ 'fundingRate': this.safeNumber(data, 'value'),
1873
+ 'fundingTimestamp': fundingTimestamp,
1874
+ 'fundingDatetime': this.iso8601(fundingTimestamp),
1875
+ 'nextFundingRate': this.safeNumber(data, 'predictedValue'),
1876
1876
  'nextFundingTimestamp': undefined,
1877
1877
  'nextFundingDatetime': undefined,
1878
- 'previousFundingRate': this.safeNumber(data, 'value'),
1879
- 'previousFundingTimestamp': fundingTimestamp,
1880
- 'previousFundingDatetime': this.iso8601(fundingTimestamp),
1878
+ 'previousFundingRate': undefined,
1879
+ 'previousFundingTimestamp': undefined,
1880
+ 'previousFundingDatetime': undefined,
1881
1881
  };
1882
1882
  }
1883
1883
  parseBalance(response) {
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;