ccxt 4.2.18 → 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 (426) hide show
  1. package/README.md +8 -8
  2. package/dist/ccxt.browser.js +34202 -33193
  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 +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/hitbtc.js +5 -4
  49. package/dist/cjs/src/pro/htx.js +6 -1
  50. package/dist/cjs/src/pro/kraken.js +1 -1
  51. package/dist/cjs/src/pro/krakenfutures.js +7 -1
  52. package/dist/cjs/src/pro/kucoin.js +46 -36
  53. package/dist/cjs/src/pro/kucoinfutures.js +45 -37
  54. package/dist/cjs/src/pro/lbank.js +881 -0
  55. package/dist/cjs/src/pro/okx.js +52 -2
  56. package/dist/cjs/{js/src/pro/bitpanda.js → src/pro/onetrading.js} +4 -7
  57. package/dist/cjs/src/pro/poloniex.js +2 -2
  58. package/dist/cjs/src/pro/poloniexfutures.js +43 -35
  59. package/dist/cjs/src/pro/woo.js +126 -0
  60. package/dist/cjs/src/probit.js +4 -2
  61. package/dist/cjs/src/upbit.js +12 -12
  62. package/dist/cjs/src/wavesexchange.js +1 -1
  63. package/dist/cjs/src/whitebit.js +1 -0
  64. package/dist/cjs/src/woo.js +56 -0
  65. package/js/ccxt.d.ts +11 -2
  66. package/js/ccxt.js +8 -2
  67. package/js/src/abstract/bitpanda.d.ts +4 -4
  68. package/js/src/abstract/bitstamp.d.ts +8 -0
  69. package/js/src/abstract/gate.d.ts +1 -0
  70. package/js/src/abstract/gateio.d.ts +1 -0
  71. package/js/src/abstract/htx.d.ts +3 -0
  72. package/js/src/abstract/huobi.d.ts +3 -0
  73. package/js/src/abstract/luno.d.ts +1 -0
  74. package/js/src/abstract/onetrading.d.ts +38 -0
  75. package/js/src/ascendex.js +2 -0
  76. package/js/src/bingx.js +1 -1
  77. package/js/src/bitget.js +22 -3
  78. package/js/src/bitpanda.d.ts +2 -72
  79. package/js/src/bitpanda.js +5 -1991
  80. package/js/src/bitstamp.js +8 -0
  81. package/js/src/deribit.js +11 -3
  82. package/js/src/gate.d.ts +1 -0
  83. package/js/src/gate.js +50 -110
  84. package/js/src/htx.js +3 -0
  85. package/js/src/kraken.d.ts +1 -0
  86. package/js/src/kraken.js +39 -38
  87. package/js/src/lbank.js +1 -0
  88. package/js/src/luno.d.ts +3 -1
  89. package/js/src/luno.js +84 -2
  90. package/js/src/mexc.js +1 -2
  91. package/js/src/onetrading.d.ts +74 -0
  92. package/js/src/onetrading.js +2003 -0
  93. package/js/src/poloniexfutures.js +1 -0
  94. package/js/src/pro/binance.js +6 -1
  95. package/js/src/pro/bitpanda.d.ts +2 -34
  96. package/js/src/pro/bitpanda.js +5 -1330
  97. package/js/src/pro/lbank.d.ts +29 -0
  98. package/js/src/pro/lbank.js +882 -0
  99. package/js/src/pro/onetrading.d.ts +36 -0
  100. package/js/src/pro/onetrading.js +1339 -0
  101. package/package.json +2 -2
  102. package/rollup.config.js +2 -0
  103. package/skip-tests.json +2 -1
  104. package/test-commonjs.cjs +25 -1
  105. package/dist/cjs/js/ccxt.js +0 -478
  106. package/dist/cjs/js/src/abstract/alpaca.js +0 -9
  107. package/dist/cjs/js/src/abstract/ascendex.js +0 -9
  108. package/dist/cjs/js/src/abstract/bigone.js +0 -9
  109. package/dist/cjs/js/src/abstract/binance.js +0 -9
  110. package/dist/cjs/js/src/abstract/bingx.js +0 -9
  111. package/dist/cjs/js/src/abstract/bit2c.js +0 -9
  112. package/dist/cjs/js/src/abstract/bitbank.js +0 -9
  113. package/dist/cjs/js/src/abstract/bitbns.js +0 -9
  114. package/dist/cjs/js/src/abstract/bitfinex.js +0 -9
  115. package/dist/cjs/js/src/abstract/bitfinex2.js +0 -9
  116. package/dist/cjs/js/src/abstract/bitflyer.js +0 -9
  117. package/dist/cjs/js/src/abstract/bitforex.js +0 -9
  118. package/dist/cjs/js/src/abstract/bitget.js +0 -9
  119. package/dist/cjs/js/src/abstract/bithumb.js +0 -9
  120. package/dist/cjs/js/src/abstract/bitmart.js +0 -9
  121. package/dist/cjs/js/src/abstract/bitmex.js +0 -9
  122. package/dist/cjs/js/src/abstract/bitopro.js +0 -9
  123. package/dist/cjs/js/src/abstract/bitpanda.js +0 -9
  124. package/dist/cjs/js/src/abstract/bitrue.js +0 -9
  125. package/dist/cjs/js/src/abstract/bitso.js +0 -9
  126. package/dist/cjs/js/src/abstract/bitstamp.js +0 -9
  127. package/dist/cjs/js/src/abstract/bitteam.js +0 -9
  128. package/dist/cjs/js/src/abstract/bitvavo.js +0 -9
  129. package/dist/cjs/js/src/abstract/bl3p.js +0 -9
  130. package/dist/cjs/js/src/abstract/blockchaincom.js +0 -9
  131. package/dist/cjs/js/src/abstract/btcalpha.js +0 -9
  132. package/dist/cjs/js/src/abstract/btcbox.js +0 -9
  133. package/dist/cjs/js/src/abstract/btcmarkets.js +0 -9
  134. package/dist/cjs/js/src/abstract/btcturk.js +0 -9
  135. package/dist/cjs/js/src/abstract/bybit.js +0 -9
  136. package/dist/cjs/js/src/abstract/cex.js +0 -9
  137. package/dist/cjs/js/src/abstract/coinbase.js +0 -9
  138. package/dist/cjs/js/src/abstract/coinbasepro.js +0 -9
  139. package/dist/cjs/js/src/abstract/coincheck.js +0 -9
  140. package/dist/cjs/js/src/abstract/coinex.js +0 -9
  141. package/dist/cjs/js/src/abstract/coinlist.js +0 -9
  142. package/dist/cjs/js/src/abstract/coinmate.js +0 -9
  143. package/dist/cjs/js/src/abstract/coinone.js +0 -9
  144. package/dist/cjs/js/src/abstract/coinsph.js +0 -9
  145. package/dist/cjs/js/src/abstract/coinspot.js +0 -9
  146. package/dist/cjs/js/src/abstract/cryptocom.js +0 -9
  147. package/dist/cjs/js/src/abstract/currencycom.js +0 -9
  148. package/dist/cjs/js/src/abstract/delta.js +0 -9
  149. package/dist/cjs/js/src/abstract/deribit.js +0 -9
  150. package/dist/cjs/js/src/abstract/digifinex.js +0 -9
  151. package/dist/cjs/js/src/abstract/exmo.js +0 -9
  152. package/dist/cjs/js/src/abstract/gate.js +0 -9
  153. package/dist/cjs/js/src/abstract/gemini.js +0 -9
  154. package/dist/cjs/js/src/abstract/hitbtc.js +0 -9
  155. package/dist/cjs/js/src/abstract/hollaex.js +0 -9
  156. package/dist/cjs/js/src/abstract/htx.js +0 -9
  157. package/dist/cjs/js/src/abstract/huobijp.js +0 -9
  158. package/dist/cjs/js/src/abstract/idex.js +0 -9
  159. package/dist/cjs/js/src/abstract/independentreserve.js +0 -9
  160. package/dist/cjs/js/src/abstract/indodax.js +0 -9
  161. package/dist/cjs/js/src/abstract/kraken.js +0 -9
  162. package/dist/cjs/js/src/abstract/krakenfutures.js +0 -9
  163. package/dist/cjs/js/src/abstract/kucoin.js +0 -9
  164. package/dist/cjs/js/src/abstract/kucoinfutures.js +0 -9
  165. package/dist/cjs/js/src/abstract/kuna.js +0 -9
  166. package/dist/cjs/js/src/abstract/latoken.js +0 -9
  167. package/dist/cjs/js/src/abstract/lbank.js +0 -9
  168. package/dist/cjs/js/src/abstract/luno.js +0 -9
  169. package/dist/cjs/js/src/abstract/lykke.js +0 -9
  170. package/dist/cjs/js/src/abstract/mercado.js +0 -9
  171. package/dist/cjs/js/src/abstract/mexc.js +0 -9
  172. package/dist/cjs/js/src/abstract/ndax.js +0 -9
  173. package/dist/cjs/js/src/abstract/novadax.js +0 -9
  174. package/dist/cjs/js/src/abstract/oceanex.js +0 -9
  175. package/dist/cjs/js/src/abstract/okcoin.js +0 -9
  176. package/dist/cjs/js/src/abstract/okx.js +0 -9
  177. package/dist/cjs/js/src/abstract/p2b.js +0 -9
  178. package/dist/cjs/js/src/abstract/paymium.js +0 -9
  179. package/dist/cjs/js/src/abstract/phemex.js +0 -9
  180. package/dist/cjs/js/src/abstract/poloniex.js +0 -9
  181. package/dist/cjs/js/src/abstract/poloniexfutures.js +0 -9
  182. package/dist/cjs/js/src/abstract/probit.js +0 -9
  183. package/dist/cjs/js/src/abstract/timex.js +0 -9
  184. package/dist/cjs/js/src/abstract/tokocrypto.js +0 -9
  185. package/dist/cjs/js/src/abstract/upbit.js +0 -9
  186. package/dist/cjs/js/src/abstract/wavesexchange.js +0 -9
  187. package/dist/cjs/js/src/abstract/wazirx.js +0 -9
  188. package/dist/cjs/js/src/abstract/whitebit.js +0 -9
  189. package/dist/cjs/js/src/abstract/woo.js +0 -9
  190. package/dist/cjs/js/src/abstract/yobit.js +0 -9
  191. package/dist/cjs/js/src/abstract/zaif.js +0 -9
  192. package/dist/cjs/js/src/abstract/zonda.js +0 -9
  193. package/dist/cjs/js/src/ace.js +0 -1058
  194. package/dist/cjs/js/src/alpaca.js +0 -1125
  195. package/dist/cjs/js/src/ascendex.js +0 -3365
  196. package/dist/cjs/js/src/base/Exchange.js +0 -5260
  197. package/dist/cjs/js/src/base/Precise.js +0 -263
  198. package/dist/cjs/js/src/base/errors.js +0 -299
  199. package/dist/cjs/js/src/base/functions/crypto.js +0 -78
  200. package/dist/cjs/js/src/base/functions/encode.js +0 -44
  201. package/dist/cjs/js/src/base/functions/generic.js +0 -193
  202. package/dist/cjs/js/src/base/functions/misc.js +0 -96
  203. package/dist/cjs/js/src/base/functions/number.js +0 -297
  204. package/dist/cjs/js/src/base/functions/platform.js +0 -28
  205. package/dist/cjs/js/src/base/functions/rsa.js +0 -34
  206. package/dist/cjs/js/src/base/functions/string.js +0 -48
  207. package/dist/cjs/js/src/base/functions/throttle.js +0 -66
  208. package/dist/cjs/js/src/base/functions/time.js +0 -187
  209. package/dist/cjs/js/src/base/functions/totp.js +0 -24
  210. package/dist/cjs/js/src/base/functions/type.js +0 -162
  211. package/dist/cjs/js/src/base/functions.js +0 -157
  212. package/dist/cjs/js/src/base/ws/Cache.js +0 -254
  213. package/dist/cjs/js/src/base/ws/Client.js +0 -299
  214. package/dist/cjs/js/src/base/ws/Future.js +0 -34
  215. package/dist/cjs/js/src/base/ws/OrderBook.js +0 -107
  216. package/dist/cjs/js/src/base/ws/OrderBookSide.js +0 -281
  217. package/dist/cjs/js/src/base/ws/WsClient.js +0 -69
  218. package/dist/cjs/js/src/bequant.js +0 -33
  219. package/dist/cjs/js/src/bigone.js +0 -2213
  220. package/dist/cjs/js/src/binance.js +0 -9851
  221. package/dist/cjs/js/src/binancecoinm.js +0 -45
  222. package/dist/cjs/js/src/binanceus.js +0 -92
  223. package/dist/cjs/js/src/binanceusdm.js +0 -58
  224. package/dist/cjs/js/src/bingx.js +0 -3872
  225. package/dist/cjs/js/src/bit2c.js +0 -916
  226. package/dist/cjs/js/src/bitbank.js +0 -1000
  227. package/dist/cjs/js/src/bitbay.js +0 -17
  228. package/dist/cjs/js/src/bitbns.js +0 -1220
  229. package/dist/cjs/js/src/bitcoincom.js +0 -17
  230. package/dist/cjs/js/src/bitfinex.js +0 -1670
  231. package/dist/cjs/js/src/bitfinex2.js +0 -2990
  232. package/dist/cjs/js/src/bitflyer.js +0 -1045
  233. package/dist/cjs/js/src/bitforex.js +0 -852
  234. package/dist/cjs/js/src/bitget.js +0 -8295
  235. package/dist/cjs/js/src/bithumb.js +0 -1090
  236. package/dist/cjs/js/src/bitmart.js +0 -4454
  237. package/dist/cjs/js/src/bitmex.js +0 -2881
  238. package/dist/cjs/js/src/bitopro.js +0 -1724
  239. package/dist/cjs/js/src/bitrue.js +0 -3253
  240. package/dist/cjs/js/src/bitso.js +0 -1753
  241. package/dist/cjs/js/src/bitstamp.js +0 -2188
  242. package/dist/cjs/js/src/bitteam.js +0 -2309
  243. package/dist/cjs/js/src/bitvavo.js +0 -1968
  244. package/dist/cjs/js/src/bl3p.js +0 -447
  245. package/dist/cjs/js/src/blockchaincom.js +0 -1160
  246. package/dist/cjs/js/src/btcalpha.js +0 -929
  247. package/dist/cjs/js/src/btcbox.js +0 -565
  248. package/dist/cjs/js/src/btcmarkets.js +0 -1237
  249. package/dist/cjs/js/src/btcturk.js +0 -929
  250. package/dist/cjs/js/src/bybit.js +0 -7624
  251. package/dist/cjs/js/src/cex.js +0 -1693
  252. package/dist/cjs/js/src/coinbase.js +0 -3424
  253. package/dist/cjs/js/src/coinbasepro.js +0 -1866
  254. package/dist/cjs/js/src/coincheck.js +0 -844
  255. package/dist/cjs/js/src/coinex.js +0 -5417
  256. package/dist/cjs/js/src/coinlist.js +0 -2337
  257. package/dist/cjs/js/src/coinmate.js +0 -989
  258. package/dist/cjs/js/src/coinone.js +0 -1185
  259. package/dist/cjs/js/src/coinsph.js +0 -1933
  260. package/dist/cjs/js/src/coinspot.js +0 -548
  261. package/dist/cjs/js/src/cryptocom.js +0 -3007
  262. package/dist/cjs/js/src/currencycom.js +0 -2015
  263. package/dist/cjs/js/src/delta.js +0 -3262
  264. package/dist/cjs/js/src/deribit.js +0 -3310
  265. package/dist/cjs/js/src/digifinex.js +0 -4307
  266. package/dist/cjs/js/src/exmo.js +0 -2645
  267. package/dist/cjs/js/src/fmfwio.js +0 -34
  268. package/dist/cjs/js/src/gate.js +0 -7077
  269. package/dist/cjs/js/src/gateio.js +0 -16
  270. package/dist/cjs/js/src/gemini.js +0 -1801
  271. package/dist/cjs/js/src/hitbtc.js +0 -3660
  272. package/dist/cjs/js/src/hitbtc3.js +0 -19
  273. package/dist/cjs/js/src/hollaex.js +0 -1882
  274. package/dist/cjs/js/src/htx.js +0 -9174
  275. package/dist/cjs/js/src/huobi.js +0 -16
  276. package/dist/cjs/js/src/huobijp.js +0 -1918
  277. package/dist/cjs/js/src/idex.js +0 -1770
  278. package/dist/cjs/js/src/independentreserve.js +0 -761
  279. package/dist/cjs/js/src/indodax.js +0 -1069
  280. package/dist/cjs/js/src/kraken.js +0 -2891
  281. package/dist/cjs/js/src/krakenfutures.js +0 -2407
  282. package/dist/cjs/js/src/kucoin.js +0 -4494
  283. package/dist/cjs/js/src/kucoinfutures.js +0 -2529
  284. package/dist/cjs/js/src/kuna.js +0 -1949
  285. package/dist/cjs/js/src/latoken.js +0 -1729
  286. package/dist/cjs/js/src/lbank.js +0 -2851
  287. package/dist/cjs/js/src/luno.js +0 -1044
  288. package/dist/cjs/js/src/lykke.js +0 -1303
  289. package/dist/cjs/js/src/mercado.js +0 -897
  290. package/dist/cjs/js/src/mexc.js +0 -5407
  291. package/dist/cjs/js/src/ndax.js +0 -2450
  292. package/dist/cjs/js/src/novadax.js +0 -1556
  293. package/dist/cjs/js/src/oceanex.js +0 -964
  294. package/dist/cjs/js/src/okcoin.js +0 -3115
  295. package/dist/cjs/js/src/okx.js +0 -7331
  296. package/dist/cjs/js/src/p2b.js +0 -1243
  297. package/dist/cjs/js/src/paymium.js +0 -597
  298. package/dist/cjs/js/src/phemex.js +0 -4725
  299. package/dist/cjs/js/src/poloniex.js +0 -2356
  300. package/dist/cjs/js/src/poloniexfutures.js +0 -1794
  301. package/dist/cjs/js/src/pro/alpaca.js +0 -714
  302. package/dist/cjs/js/src/pro/ascendex.js +0 -957
  303. package/dist/cjs/js/src/pro/bequant.js +0 -33
  304. package/dist/cjs/js/src/pro/binance.js +0 -2796
  305. package/dist/cjs/js/src/pro/binancecoinm.js +0 -23
  306. package/dist/cjs/js/src/pro/binanceus.js +0 -51
  307. package/dist/cjs/js/src/pro/binanceusdm.js +0 -32
  308. package/dist/cjs/js/src/pro/bingx.js +0 -944
  309. package/dist/cjs/js/src/pro/bitcoincom.js +0 -29
  310. package/dist/cjs/js/src/pro/bitfinex.js +0 -672
  311. package/dist/cjs/js/src/pro/bitfinex2.js +0 -1159
  312. package/dist/cjs/js/src/pro/bitget.js +0 -1733
  313. package/dist/cjs/js/src/pro/bitmart.js +0 -1486
  314. package/dist/cjs/js/src/pro/bitmex.js +0 -1576
  315. package/dist/cjs/js/src/pro/bitopro.js +0 -327
  316. package/dist/cjs/js/src/pro/bitrue.js +0 -462
  317. package/dist/cjs/js/src/pro/bitstamp.js +0 -547
  318. package/dist/cjs/js/src/pro/bitvavo.js +0 -704
  319. package/dist/cjs/js/src/pro/blockchaincom.js +0 -794
  320. package/dist/cjs/js/src/pro/bybit.js +0 -1843
  321. package/dist/cjs/js/src/pro/cex.js +0 -1510
  322. package/dist/cjs/js/src/pro/coinbase.js +0 -561
  323. package/dist/cjs/js/src/pro/coinbasepro.js +0 -968
  324. package/dist/cjs/js/src/pro/coinex.js +0 -1095
  325. package/dist/cjs/js/src/pro/cryptocom.js +0 -1020
  326. package/dist/cjs/js/src/pro/currencycom.js +0 -563
  327. package/dist/cjs/js/src/pro/deribit.js +0 -825
  328. package/dist/cjs/js/src/pro/exmo.js +0 -658
  329. package/dist/cjs/js/src/pro/gate.js +0 -1316
  330. package/dist/cjs/js/src/pro/gateio.js +0 -16
  331. package/dist/cjs/js/src/pro/gemini.js +0 -649
  332. package/dist/cjs/js/src/pro/hitbtc.js +0 -1294
  333. package/dist/cjs/js/src/pro/hollaex.js +0 -597
  334. package/dist/cjs/js/src/pro/htx.js +0 -2388
  335. package/dist/cjs/js/src/pro/huobi.js +0 -16
  336. package/dist/cjs/js/src/pro/huobijp.js +0 -606
  337. package/dist/cjs/js/src/pro/idex.js +0 -714
  338. package/dist/cjs/js/src/pro/independentreserve.js +0 -280
  339. package/dist/cjs/js/src/pro/kraken.js +0 -1364
  340. package/dist/cjs/js/src/pro/krakenfutures.js +0 -1506
  341. package/dist/cjs/js/src/pro/kucoin.js +0 -1062
  342. package/dist/cjs/js/src/pro/kucoinfutures.js +0 -989
  343. package/dist/cjs/js/src/pro/luno.js +0 -322
  344. package/dist/cjs/js/src/pro/mexc.js +0 -1170
  345. package/dist/cjs/js/src/pro/ndax.js +0 -545
  346. package/dist/cjs/js/src/pro/okcoin.js +0 -760
  347. package/dist/cjs/js/src/pro/okx.js +0 -1608
  348. package/dist/cjs/js/src/pro/phemex.js +0 -1511
  349. package/dist/cjs/js/src/pro/poloniex.js +0 -1253
  350. package/dist/cjs/js/src/pro/poloniexfutures.js +0 -1022
  351. package/dist/cjs/js/src/pro/probit.js +0 -586
  352. package/dist/cjs/js/src/pro/upbit.js +0 -234
  353. package/dist/cjs/js/src/pro/wazirx.js +0 -776
  354. package/dist/cjs/js/src/pro/whitebit.js +0 -927
  355. package/dist/cjs/js/src/pro/woo.js +0 -895
  356. package/dist/cjs/js/src/probit.js +0 -1867
  357. package/dist/cjs/js/src/static_dependencies/fflake/browser.js +0 -401
  358. package/dist/cjs/js/src/static_dependencies/jsencrypt/JSEncrypt.js +0 -195
  359. package/dist/cjs/js/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +0 -308
  360. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +0 -554
  361. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +0 -94
  362. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +0 -70
  363. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +0 -91
  364. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +0 -16
  365. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +0 -1760
  366. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +0 -52
  367. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +0 -81
  368. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +0 -376
  369. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/util.js +0 -70
  370. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +0 -1580
  371. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +0 -74
  372. package/dist/cjs/js/src/static_dependencies/noble-curves/_shortw_utils.js +0 -24
  373. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/curve.js +0 -158
  374. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/edwards.js +0 -429
  375. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +0 -176
  376. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/modular.js +0 -324
  377. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/montgomery.js +0 -163
  378. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/utils.js +0 -245
  379. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/weierstrass.js +0 -1018
  380. package/dist/cjs/js/src/static_dependencies/noble-curves/ed25519.js +0 -383
  381. package/dist/cjs/js/src/static_dependencies/noble-curves/secp256k1.js +0 -258
  382. package/dist/cjs/js/src/static_dependencies/noble-hashes/_assert.js +0 -53
  383. package/dist/cjs/js/src/static_dependencies/noble-hashes/_sha2.js +0 -120
  384. package/dist/cjs/js/src/static_dependencies/noble-hashes/_u64.js +0 -69
  385. package/dist/cjs/js/src/static_dependencies/noble-hashes/crypto.js +0 -7
  386. package/dist/cjs/js/src/static_dependencies/noble-hashes/hmac.js +0 -83
  387. package/dist/cjs/js/src/static_dependencies/noble-hashes/md5.js +0 -240
  388. package/dist/cjs/js/src/static_dependencies/noble-hashes/sha1.js +0 -91
  389. package/dist/cjs/js/src/static_dependencies/noble-hashes/sha256.js +0 -130
  390. package/dist/cjs/js/src/static_dependencies/noble-hashes/sha3.js +0 -214
  391. package/dist/cjs/js/src/static_dependencies/noble-hashes/sha512.js +0 -239
  392. package/dist/cjs/js/src/static_dependencies/noble-hashes/utils.js +0 -93
  393. package/dist/cjs/js/src/static_dependencies/node-fetch/body.js +0 -354
  394. package/dist/cjs/js/src/static_dependencies/node-fetch/errors/abort-error.js +0 -16
  395. package/dist/cjs/js/src/static_dependencies/node-fetch/errors/base.js +0 -20
  396. package/dist/cjs/js/src/static_dependencies/node-fetch/errors/fetch-error.js +0 -30
  397. package/dist/cjs/js/src/static_dependencies/node-fetch/headers.js +0 -239
  398. package/dist/cjs/js/src/static_dependencies/node-fetch/index.js +0 -372
  399. package/dist/cjs/js/src/static_dependencies/node-fetch/request.js +0 -273
  400. package/dist/cjs/js/src/static_dependencies/node-fetch/response.js +0 -139
  401. package/dist/cjs/js/src/static_dependencies/node-fetch/utils/get-search.js +0 -14
  402. package/dist/cjs/js/src/static_dependencies/node-fetch/utils/is-redirect.js +0 -16
  403. package/dist/cjs/js/src/static_dependencies/node-fetch/utils/is.js +0 -81
  404. package/dist/cjs/js/src/static_dependencies/node-fetch/utils/referrer.js +0 -292
  405. package/dist/cjs/js/src/static_dependencies/proxies/agent-base/index.js +0 -103
  406. package/dist/cjs/js/src/static_dependencies/proxies/http-proxy-agent/index.js +0 -140
  407. package/dist/cjs/js/src/static_dependencies/proxies/https-proxy-agent/index.js +0 -175
  408. package/dist/cjs/js/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +0 -95
  409. package/dist/cjs/js/src/static_dependencies/qs/index.cjs.js +0 -7
  410. package/dist/cjs/js/src/static_dependencies/scure-base/index.js +0 -383
  411. package/dist/cjs/js/src/timex.js +0 -1562
  412. package/dist/cjs/js/src/tokocrypto.js +0 -2542
  413. package/dist/cjs/js/src/upbit.js +0 -1844
  414. package/dist/cjs/js/src/wavesexchange.js +0 -2607
  415. package/dist/cjs/js/src/wazirx.js +0 -953
  416. package/dist/cjs/js/src/whitebit.js +0 -2310
  417. package/dist/cjs/js/src/woo.js +0 -2769
  418. package/dist/cjs/js/src/yobit.js +0 -1314
  419. package/dist/cjs/js/src/zaif.js +0 -736
  420. package/dist/cjs/js/src/zonda.js +0 -1883
  421. package/dist/cjs/src/abstract/bitpanda.js +0 -9
  422. package/test.ts +0 -0
  423. /package/dist/cjs/{js/src/abstract/ace.js → src/abstract/onetrading.js} +0 -0
  424. /package/dist/cjs/{js/src → src}/pro/coincheck.js +0 -0
  425. /package/dist/cjs/{js/src → src}/pro/coinone.js +0 -0
  426. /package/js/src/abstract/{bitpanda.js → onetrading.js} +0 -0
@@ -40,6 +40,7 @@ class deribit extends deribit$1 {
40
40
  'createStopLimitOrder': true,
41
41
  'createStopMarketOrder': true,
42
42
  'createStopOrder': true,
43
+ 'createTrailingAmountOrder': true,
43
44
  'editOrder': true,
44
45
  'fetchAccounts': true,
45
46
  'fetchBalance': true,
@@ -1682,6 +1683,10 @@ class deribit extends deribit$1 {
1682
1683
  const request = {
1683
1684
  'order_id': id,
1684
1685
  };
1686
+ let market = undefined;
1687
+ if (symbol !== undefined) {
1688
+ market = this.market(symbol);
1689
+ }
1685
1690
  const response = await this.privateGetGetOrderState(this.extend(request, params));
1686
1691
  //
1687
1692
  // {
@@ -1712,7 +1717,7 @@ class deribit extends deribit$1 {
1712
1717
  // }
1713
1718
  //
1714
1719
  const result = this.safeValue(response, 'result');
1715
- return this.parseOrder(result);
1720
+ return this.parseOrder(result, market);
1716
1721
  }
1717
1722
  async createOrder(symbol, type, side, amount, price = undefined, params = {}) {
1718
1723
  /**
@@ -2412,6 +2417,7 @@ class deribit extends deribit$1 {
2412
2417
  * @method
2413
2418
  * @name deribit#fetchPosition
2414
2419
  * @description fetch data on a single open contract trade position
2420
+ * @see https://docs.deribit.com/#private-get_position
2415
2421
  * @param {string} symbol unified market symbol of the market the position is held in, default is undefined
2416
2422
  * @param {object} [params] extra parameters specific to the exchange API endpoint
2417
2423
  * @returns {object} a [position structure]{@link https://docs.ccxt.com/#/?id=position-structure}
@@ -2456,11 +2462,14 @@ class deribit extends deribit$1 {
2456
2462
  * @method
2457
2463
  * @name deribit#fetchPositions
2458
2464
  * @description fetch all open positions
2465
+ * @see https://docs.deribit.com/#private-get_positions
2459
2466
  * @param {string[]|undefined} symbols list of unified market symbols
2460
2467
  * @param {object} [params] extra parameters specific to the exchange API endpoint
2468
+ * @param {string} [params.kind] market type filter for positions 'future', 'option', 'spot', 'future_combo' or 'option_combo'
2461
2469
  * @returns {object[]} a list of [position structure]{@link https://docs.ccxt.com/#/?id=position-structure}
2462
2470
  */
2463
2471
  await this.loadMarkets();
2472
+ let kind = this.safeString(params, 'kind');
2464
2473
  let code = undefined;
2465
2474
  if (symbols === undefined) {
2466
2475
  code = this.codeFromOptions('fetchPositions', params);
@@ -2476,14 +2485,18 @@ class deribit extends deribit$1 {
2476
2485
  throw new errors.BadRequest(this.id + ' fetchPositions() symbols argument cannot contain more than 1 symbol');
2477
2486
  }
2478
2487
  const market = this.market(symbols[0]);
2479
- code = market['base'];
2488
+ const settle = market['settle'];
2489
+ code = (settle !== undefined) ? settle : market['base'];
2490
+ kind = market['info']['kind'];
2480
2491
  }
2481
2492
  }
2482
2493
  const currency = this.currency(code);
2483
2494
  const request = {
2484
2495
  'currency': currency['id'],
2485
- // "kind" : "future", "option"
2486
2496
  };
2497
+ if (kind !== undefined) {
2498
+ request['kind'] = kind;
2499
+ }
2487
2500
  const response = await this.privateGetGetPositions(this.extend(request, params));
2488
2501
  //
2489
2502
  // {
@@ -2881,7 +2894,7 @@ class deribit extends deribit$1 {
2881
2894
  }
2882
2895
  const request = {
2883
2896
  'instrument_name': market['id'],
2884
- 'start_timestamp': since,
2897
+ 'start_timestamp': since - 1,
2885
2898
  'end_timestamp': time,
2886
2899
  };
2887
2900
  const response = await this.publicGetGetFundingRateHistory(this.extend(request, params));
@@ -89,8 +89,11 @@ class gate extends gate$1 {
89
89
  'createPostOnlyOrder': true,
90
90
  'createReduceOnlyOrder': true,
91
91
  'createStopLimitOrder': true,
92
+ 'createStopLossOrder': true,
92
93
  'createStopMarketOrder': false,
93
94
  'createStopOrder': true,
95
+ 'createTakeProfitOrder': true,
96
+ 'createTriggerOrder': true,
94
97
  'editOrder': true,
95
98
  'fetchBalance': true,
96
99
  'fetchBorrowRateHistories': false,
@@ -116,7 +119,7 @@ class gate extends gate$1 {
116
119
  'fetchLeverageTiers': true,
117
120
  'fetchLiquidations': true,
118
121
  'fetchMarginMode': false,
119
- 'fetchMarketLeverageTiers': 'emulated',
122
+ 'fetchMarketLeverageTiers': true,
120
123
  'fetchMarkets': true,
121
124
  'fetchMarkOHLCV': true,
122
125
  'fetchMyLiquidations': true,
@@ -413,6 +416,7 @@ class gate extends gate$1 {
413
416
  '{settle}/liquidates': 1,
414
417
  '{settle}/auto_deleverages': 1,
415
418
  '{settle}/fee': 1,
419
+ '{settle}/risk_limit_tiers': 1,
416
420
  '{settle}/price_orders': 1,
417
421
  '{settle}/price_orders/{order_id}': 1,
418
422
  },
@@ -427,6 +431,7 @@ class gate extends gate$1 {
427
431
  '{settle}/orders': 0.4,
428
432
  '{settle}/batch_orders': 0.4,
429
433
  '{settle}/countdown_cancel_all': 0.4,
434
+ '{settle}/batch_cancel_orders': 0.4,
430
435
  '{settle}/price_orders': 0.4,
431
436
  },
432
437
  'put': {
@@ -517,11 +522,21 @@ class gate extends gate$1 {
517
522
  'collateral/total_amount': 20 / 15,
518
523
  'collateral/ltv': 20 / 15,
519
524
  'collateral/currencies': 20 / 15,
525
+ 'multi_collateral/orders': 20 / 15,
526
+ 'multi_collateral/orders/{order_id}': 20 / 15,
527
+ 'multi_collateral/repay': 20 / 15,
528
+ 'multi_collateral/mortgage': 20 / 15,
529
+ 'multi_collateral/currency_quota': 20 / 15,
530
+ 'multi_collateral/currencies': 20 / 15,
531
+ 'multi_collateral/ltv': 20 / 15,
520
532
  },
521
533
  'post': {
522
534
  'collateral/orders': 20 / 15,
523
535
  'collateral/repay': 20 / 15,
524
536
  'collateral/collaterals': 20 / 15,
537
+ 'multi_collateral/orders': 20 / 15,
538
+ 'multi_collateral/repay': 20 / 15,
539
+ 'multi_collateral/mortgage': 20 / 15,
525
540
  },
526
541
  },
527
542
  'account': {
@@ -3109,7 +3124,7 @@ class gate extends gate$1 {
3109
3124
  request['to'] = this.parseToInt(until / 1000);
3110
3125
  }
3111
3126
  if (limit !== undefined) {
3112
- request['limit'] = limit; // default 100, max 1000
3127
+ request['limit'] = Math.min(limit, 1000); // default 100, max 1000
3113
3128
  }
3114
3129
  if (since !== undefined && (market['contract'])) {
3115
3130
  request['from'] = this.parseToInt(since / 1000);
@@ -3755,6 +3770,8 @@ class gate extends gate$1 {
3755
3770
  * @param {object} [params] extra parameters specific to the exchange API endpoint
3756
3771
  * @param {float} [params.stopPrice] The price at which a trigger order is triggered at
3757
3772
  * @param {string} [params.timeInForce] "GTC", "IOC", or "PO"
3773
+ * @param {float} [params.stopLossPrice] The price at which a stop loss order is triggered at
3774
+ * @param {float} [params.takeProfitPrice] The price at which a take profit order is triggered at
3758
3775
  * @param {string} [params.marginMode] 'cross' or 'isolated' - marginMode for margin trading if not provided this.options['defaultMarginMode'] is used
3759
3776
  * @param {int} [params.iceberg] Amount to display for the iceberg order, Null or 0 for normal orders, Set to -1 to hide the order completely
3760
3777
  * @param {string} [params.text] User defined information
@@ -5147,11 +5164,19 @@ class gate extends gate$1 {
5147
5164
  return this.parseTransfer(response, currency);
5148
5165
  }
5149
5166
  parseTransfer(transfer, currency = undefined) {
5150
- const timestamp = this.milliseconds();
5167
+ //
5168
+ // {
5169
+ // "currency": "BTC",
5170
+ // "from": "spot",
5171
+ // "to": "margin",
5172
+ // "amount": "1",
5173
+ // "currency_pair": "BTC_USDT"
5174
+ // }
5175
+ //
5151
5176
  return {
5152
5177
  'id': this.safeString(transfer, 'tx_id'),
5153
- 'timestamp': timestamp,
5154
- 'datetime': this.iso8601(timestamp),
5178
+ 'timestamp': undefined,
5179
+ 'datetime': undefined,
5155
5180
  'currency': this.safeCurrencyCode(undefined, currency),
5156
5181
  'amount': undefined,
5157
5182
  'fromAccount': undefined,
@@ -5241,29 +5266,35 @@ class gate extends gate$1 {
5241
5266
  // swap and future
5242
5267
  //
5243
5268
  // {
5244
- // "value": "12.475572",
5269
+ // "value": "4.60516",
5245
5270
  // "leverage": "0",
5246
5271
  // "mode": "single",
5247
5272
  // "realised_point": "0",
5248
5273
  // "contract": "BTC_USDT",
5249
- // "entry_price": "62422.6",
5250
- // "mark_price": "62377.86",
5274
+ // "entry_price": "46030.3",
5275
+ // "mark_price": "46051.6",
5251
5276
  // "history_point": "0",
5252
- // "realised_pnl": "-0.00624226",
5253
- // "close_order": null,
5254
- // "size": "2",
5255
- // "cross_leverage_limit": "25",
5256
- // "pending_orders": "0",
5257
- // "adl_ranking": "5",
5258
- // "maintenance_rate": "0.005",
5259
- // "unrealised_pnl": "-0.008948",
5260
- // "user": "663337",
5261
- // "leverage_max": "100",
5262
- // "history_pnl": "14.98868396636",
5277
+ // "realised_pnl": "-0.002301515",
5278
+ // "close_order": null,
5279
+ // "size": 1,
5280
+ // "cross_leverage_limit": "0",
5281
+ // "pending_orders": 0,
5282
+ // "adl_ranking": 5,
5283
+ // "maintenance_rate": "0.004",
5284
+ // "unrealised_pnl": "0.00213",
5285
+ // "user": 5691076,
5286
+ // "leverage_max": "125",
5287
+ // "history_pnl": "0",
5263
5288
  // "risk_limit": "1000000",
5264
- // "margin": "0.740721495056",
5265
- // "last_close_pnl": "-0.041996015",
5266
- // "liq_price": "59058.58"
5289
+ // "margin": "8.997698485",
5290
+ // "last_close_pnl": "0",
5291
+ // "liq_price": "0",
5292
+ // "update_time": 1705034246,
5293
+ // "update_id": 1,
5294
+ // "initial_margin": "0",
5295
+ // "maintenance_margin": "0",
5296
+ // "open_time": 1705034246,
5297
+ // "trade_max_size": "0"
5267
5298
  // }
5268
5299
  //
5269
5300
  // option
@@ -5314,14 +5345,14 @@ class gate extends gate$1 {
5314
5345
  const takerFee = '0.00075';
5315
5346
  const feePaid = Precise["default"].stringMul(takerFee, notional);
5316
5347
  const initialMarginString = Precise["default"].stringAdd(Precise["default"].stringDiv(notional, leverage), feePaid);
5317
- const timestamp = this.safeInteger(position, 'time_ms');
5348
+ const timestamp = this.safeTimestamp(position, 'open_time');
5318
5349
  return this.safePosition({
5319
5350
  'info': position,
5320
5351
  'id': undefined,
5321
5352
  'symbol': this.safeString(market, 'symbol'),
5322
- 'timestamp': undefined,
5323
- 'datetime': undefined,
5324
- 'lastUpdateTimestamp': timestamp,
5353
+ 'timestamp': timestamp,
5354
+ 'datetime': this.iso8601(timestamp),
5355
+ 'lastUpdateTimestamp': this.safeTimestamp(position, 'update_time'),
5325
5356
  'initialMargin': this.parseNumber(initialMarginString),
5326
5357
  'initialMarginPercentage': this.parseNumber(Precise["default"].stringDiv(initialMarginString, notional)),
5327
5358
  'maintenanceMargin': this.parseNumber(Precise["default"].stringMul(maintenanceRate, notional)),
@@ -5380,29 +5411,35 @@ class gate extends gate$1 {
5380
5411
  // swap and future
5381
5412
  //
5382
5413
  // {
5383
- // "value": "12.475572",
5414
+ // "value": "4.60516",
5384
5415
  // "leverage": "0",
5385
5416
  // "mode": "single",
5386
5417
  // "realised_point": "0",
5387
5418
  // "contract": "BTC_USDT",
5388
- // "entry_price": "62422.6",
5389
- // "mark_price": "62377.86",
5419
+ // "entry_price": "46030.3",
5420
+ // "mark_price": "46051.6",
5390
5421
  // "history_point": "0",
5391
- // "realised_pnl": "-0.00624226",
5392
- // "close_order": null,
5393
- // "size": "2",
5394
- // "cross_leverage_limit": "25",
5395
- // "pending_orders": "0",
5396
- // "adl_ranking": "5",
5397
- // "maintenance_rate": "0.005",
5398
- // "unrealised_pnl": "-0.008948",
5399
- // "user": "6693577",
5400
- // "leverage_max": "100",
5401
- // "history_pnl": "14.98868396636",
5422
+ // "realised_pnl": "-0.002301515",
5423
+ // "close_order": null,
5424
+ // "size": 1,
5425
+ // "cross_leverage_limit": "0",
5426
+ // "pending_orders": 0,
5427
+ // "adl_ranking": 5,
5428
+ // "maintenance_rate": "0.004",
5429
+ // "unrealised_pnl": "0.00213",
5430
+ // "user": 5691076,
5431
+ // "leverage_max": "125",
5432
+ // "history_pnl": "0",
5402
5433
  // "risk_limit": "1000000",
5403
- // "margin": "0.740721495056",
5404
- // "last_close_pnl": "-0.041996015",
5405
- // "liq_price": "59058.58"
5434
+ // "margin": "8.997698485",
5435
+ // "last_close_pnl": "0",
5436
+ // "liq_price": "0",
5437
+ // "update_time": 1705034246,
5438
+ // "update_id": 1,
5439
+ // "initial_margin": "0",
5440
+ // "maintenance_margin": "0",
5441
+ // "open_time": 1705034246,
5442
+ // "trade_max_size": "0"
5406
5443
  // }
5407
5444
  //
5408
5445
  // option
@@ -5482,29 +5519,35 @@ class gate extends gate$1 {
5482
5519
  //
5483
5520
  // [
5484
5521
  // {
5485
- // "value": "12.475572",
5522
+ // "value": "4.602828",
5486
5523
  // "leverage": "0",
5487
5524
  // "mode": "single",
5488
5525
  // "realised_point": "0",
5489
5526
  // "contract": "BTC_USDT",
5490
- // "entry_price": "62422.6",
5491
- // "mark_price": "62377.86",
5527
+ // "entry_price": "46030.3",
5528
+ // "mark_price": "46028.28",
5492
5529
  // "history_point": "0",
5493
- // "realised_pnl": "-0.00624226",
5494
- // "close_order": null,
5495
- // "size": "2",
5496
- // "cross_leverage_limit": "25",
5497
- // "pending_orders": "0",
5498
- // "adl_ranking": "5",
5499
- // "maintenance_rate": "0.005",
5500
- // "unrealised_pnl": "-0.008948",
5501
- // "user": "6693577",
5502
- // "leverage_max": "100",
5503
- // "history_pnl": "14.98868396636",
5530
+ // "realised_pnl": "-0.002301515",
5531
+ // "close_order": null,
5532
+ // "size": 1,
5533
+ // "cross_leverage_limit": "0",
5534
+ // "pending_orders": 0,
5535
+ // "adl_ranking": 5,
5536
+ // "maintenance_rate": "0.004",
5537
+ // "unrealised_pnl": "-0.000202",
5538
+ // "user": 5691076,
5539
+ // "leverage_max": "125",
5540
+ // "history_pnl": "0",
5504
5541
  // "risk_limit": "1000000",
5505
- // "margin": "0.740721495056",
5506
- // "last_close_pnl": "-0.041996015",
5507
- // "liq_price": "59058.58"
5542
+ // "margin": "8.997698485",
5543
+ // "last_close_pnl": "0",
5544
+ // "liq_price": "0",
5545
+ // "update_time": 1705034246,
5546
+ // "update_id": 1,
5547
+ // "initial_margin": "0",
5548
+ // "maintenance_margin": "0",
5549
+ // "open_time": 1705034246,
5550
+ // "trade_max_size": "0"
5508
5551
  // }
5509
5552
  // ]
5510
5553
  //
@@ -5654,125 +5697,64 @@ class gate extends gate$1 {
5654
5697
  //
5655
5698
  return this.parseLeverageTiers(response, symbols, 'name');
5656
5699
  }
5657
- parseMarketLeverageTiers(info, market = undefined) {
5700
+ async fetchMarketLeverageTiers(symbol, params = {}) {
5658
5701
  /**
5659
- * @ignore
5660
5702
  * @method
5661
- * @description https://www.gate.io/help/futures/perpetual/22162/instrctions-of-risk-limit
5662
- * @param {object} info Exchange market response for 1 market
5663
- * @param {object} market CCXT market
5703
+ * @name gate#fetchMarketLeverageTiers
5704
+ * @description retrieve information on the maximum leverage, and maintenance margin for trades of varying trade sizes for a single market
5705
+ * @see https://www.gate.io/docs/developers/apiv4/en/#list-risk-limit-tiers
5706
+ * @param {string} symbol unified market symbol
5707
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
5708
+ * @returns {object} a [leverage tiers structure]{@link https://docs.ccxt.com/#/?id=leverage-tiers-structure}
5664
5709
  */
5710
+ await this.loadMarkets();
5711
+ const market = this.market(symbol);
5712
+ const [type, query] = this.handleMarketTypeAndParams('fetchMarketLeverageTiers', market, params);
5713
+ const [request, requestParams] = this.prepareRequest(market, type, query);
5714
+ if (type !== 'future' && type !== 'swap') {
5715
+ throw new errors.BadRequest(this.id + ' fetchMarketLeverageTiers only supports swap and future');
5716
+ }
5717
+ const response = await this.privateFuturesGetSettleRiskLimitTiers(this.extend(request, requestParams));
5665
5718
  //
5666
- // Perpetual swap
5667
- //
5668
- // {
5669
- // "name": "BTC_USDT",
5670
- // "type": "direct",
5671
- // "quanto_multiplier": "0.0001",
5672
- // "ref_discount_rate": "0",
5673
- // "order_price_deviate": "0.5",
5674
- // "maintenance_rate": "0.005",
5675
- // "mark_type": "index",
5676
- // "last_price": "38026",
5677
- // "mark_price": "37985.6",
5678
- // "index_price": "37954.92",
5679
- // "funding_rate_indicative": "0.000219",
5680
- // "mark_price_round": "0.01",
5681
- // "funding_offset": 0,
5682
- // "in_delisting": false,
5683
- // "risk_limit_base": "1000000",
5684
- // "interest_rate": "0.0003",
5685
- // "order_price_round": "0.1",
5686
- // "order_size_min": 1,
5687
- // "ref_rebate_rate": "0.2",
5688
- // "funding_interval": 28800,
5689
- // "risk_limit_step": "1000000",
5690
- // "leverage_min": "1",
5691
- // "leverage_max": "100",
5692
- // "risk_limit_max": "8000000",
5693
- // "maker_fee_rate": "-0.00025",
5694
- // "taker_fee_rate": "0.00075",
5695
- // "funding_rate": "0.002053",
5696
- // "order_size_max": 1000000,
5697
- // "funding_next_apply": 1610035200,
5698
- // "short_users": 977,
5699
- // "config_change_time": 1609899548,
5700
- // "trade_size": 28530850594,
5701
- // "position_size": 5223816,
5702
- // "long_users": 455,
5703
- // "funding_impact_value": "60000",
5704
- // "orders_limit": 50,
5705
- // "trade_id": 10851092,
5706
- // "orderbook_id": 2129638396
5707
- // }
5719
+ // [
5720
+ // {
5721
+ // "maintenance_rate": "0.004",
5722
+ // "tier": 1,
5723
+ // "initial_rate": "0.008",
5724
+ // "leverage_max": "125",
5725
+ // "risk_limit": "1000000"
5726
+ // }
5727
+ // ]
5708
5728
  //
5709
- // Delivery Futures
5729
+ return this.parseMarketLeverageTiers(response, market);
5730
+ }
5731
+ parseMarketLeverageTiers(info, market = undefined) {
5710
5732
  //
5711
- // {
5712
- // "name": "BTC_USDT_20200814",
5713
- // "underlying": "BTC_USDT",
5714
- // "cycle": "WEEKLY",
5715
- // "type": "direct",
5716
- // "quanto_multiplier": "0.0001",
5717
- // "mark_type": "index",
5718
- // "last_price": "9017",
5719
- // "mark_price": "9019",
5720
- // "index_price": "9005.3",
5721
- // "basis_rate": "0.185095",
5722
- // "basis_value": "13.7",
5723
- // "basis_impact_value": "100000",
5724
- // "settle_price": "0",
5725
- // "settle_price_interval": 60,
5726
- // "settle_price_duration": 1800,
5727
- // "settle_fee_rate": "0.0015",
5728
- // "expire_time": 1593763200,
5729
- // "order_price_round": "0.1",
5730
- // "mark_price_round": "0.1",
5731
- // "leverage_min": "1",
5732
- // "leverage_max": "100",
5733
- // "maintenance_rate": "1000000",
5734
- // "risk_limit_base": "140.726652109199",
5735
- // "risk_limit_step": "1000000",
5736
- // "risk_limit_max": "8000000",
5737
- // "maker_fee_rate": "-0.00025",
5738
- // "taker_fee_rate": "0.00075",
5739
- // "ref_discount_rate": "0",
5740
- // "ref_rebate_rate": "0.2",
5741
- // "order_price_deviate": "0.5",
5742
- // "order_size_min": 1,
5743
- // "order_size_max": 1000000,
5744
- // "orders_limit": 50,
5745
- // "orderbook_id": 63,
5746
- // "trade_id": 26,
5747
- // "trade_size": 435,
5748
- // "position_size": 130,
5749
- // "config_change_time": 1593158867,
5750
- // "in_delisting": false
5751
- // }
5733
+ // [
5734
+ // {
5735
+ // "maintenance_rate": "0.004",
5736
+ // "tier": 1,
5737
+ // "initial_rate": "0.008",
5738
+ // "leverage_max": "125",
5739
+ // "risk_limit": "1000000"
5740
+ // }
5741
+ // ]
5752
5742
  //
5753
- const maintenanceMarginUnit = this.safeString(info, 'maintenance_rate'); // '0.005',
5754
- const leverageMax = this.safeString(info, 'leverage_max'); // '100',
5755
- const riskLimitStep = this.safeString(info, 'risk_limit_step'); // '1000000',
5756
- const riskLimitMax = this.safeString(info, 'risk_limit_max'); // '16000000',
5757
- const initialMarginUnit = Precise["default"].stringDiv('1', leverageMax);
5758
- let maintenanceMarginRate = maintenanceMarginUnit;
5759
- let initialMarginRatio = initialMarginUnit;
5760
- let floor = '0';
5743
+ let minNotional = 0;
5761
5744
  const tiers = [];
5762
- while (Precise["default"].stringLt(floor, riskLimitMax)) {
5763
- const cap = Precise["default"].stringAdd(floor, riskLimitStep);
5745
+ for (let i = 0; i < info.length; i++) {
5746
+ const item = info[i];
5747
+ const maxNotional = this.safeNumber(item, 'risk_limit');
5764
5748
  tiers.push({
5765
- 'tier': this.parseNumber(Precise["default"].stringDiv(cap, riskLimitStep)),
5766
- 'currency': this.safeString(market, 'settle'),
5767
- 'minNotional': this.parseNumber(floor),
5768
- 'maxNotional': this.parseNumber(cap),
5769
- 'maintenanceMarginRate': this.parseNumber(maintenanceMarginRate),
5770
- 'maxLeverage': this.parseNumber(Precise["default"].stringDiv('1', initialMarginRatio)),
5771
- 'info': info,
5749
+ 'tier': this.sum(i, 1),
5750
+ 'currency': market['base'],
5751
+ 'minNotional': minNotional,
5752
+ 'maxNotional': maxNotional,
5753
+ 'maintenanceMarginRate': this.safeNumber(item, 'maintenance_rate'),
5754
+ 'maxLeverage': this.safeNumber(item, 'leverage_max'),
5755
+ 'info': item,
5772
5756
  });
5773
- maintenanceMarginRate = Precise["default"].stringAdd(maintenanceMarginRate, maintenanceMarginUnit);
5774
- initialMarginRatio = Precise["default"].stringAdd(initialMarginRatio, initialMarginUnit);
5775
- floor = cap;
5757
+ minNotional = maxNotional;
5776
5758
  }
5777
5759
  return tiers;
5778
5760
  }
@@ -951,7 +951,7 @@ class gemini extends gemini$1 {
951
951
  'symbol': market['id'],
952
952
  };
953
953
  if (limit !== undefined) {
954
- request['limit_trades'] = limit;
954
+ request['limit_trades'] = Math.min(limit, 500);
955
955
  }
956
956
  if (since !== undefined) {
957
957
  request['timestamp'] = since;
@@ -2630,11 +2630,10 @@ class hitbtc extends hitbtc$1 {
2630
2630
  // "2db6ebab-fb26-4537-9ef8-1a689472d236"
2631
2631
  // ]
2632
2632
  //
2633
- const timestamp = this.milliseconds();
2634
2633
  return {
2635
2634
  'id': this.safeString(transfer, 0),
2636
- 'timestamp': timestamp,
2637
- 'datetime': this.iso8601(timestamp),
2635
+ 'timestamp': undefined,
2636
+ 'datetime': undefined,
2638
2637
  'currency': this.safeCurrencyCode(undefined, currency),
2639
2638
  'amount': undefined,
2640
2639
  'fromAccount': undefined,