ccxt 4.2.17 → 4.2.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (439) hide show
  1. package/README.md +9 -9
  2. package/dist/ccxt.browser.js +48992 -47725
  3. package/dist/ccxt.browser.min.js +3 -3
  4. package/dist/cjs/ccxt.js +12 -1
  5. package/dist/cjs/src/alpaca.js +18 -18
  6. package/dist/cjs/src/ascendex.js +13 -6
  7. package/dist/cjs/src/base/Exchange.js +266 -27
  8. package/dist/cjs/src/bigone.js +434 -168
  9. package/dist/cjs/src/binance.js +163 -34
  10. package/dist/cjs/src/binanceus.js +8 -0
  11. package/dist/cjs/src/bingx.js +183 -41
  12. package/dist/cjs/src/bitfinex.js +2 -3
  13. package/dist/cjs/src/bitget.js +59 -16
  14. package/dist/cjs/src/bitmart.js +5 -5
  15. package/dist/cjs/src/bitmex.js +4 -6
  16. package/dist/cjs/src/bitpanda.js +5 -1991
  17. package/dist/cjs/src/bitstamp.js +8 -0
  18. package/dist/cjs/src/bybit.js +27 -47
  19. package/dist/cjs/src/coinbase.js +176 -26
  20. package/dist/cjs/src/coincheck.js +1 -0
  21. package/dist/cjs/src/coinex.js +3 -0
  22. package/dist/cjs/src/coinlist.js +13 -6
  23. package/dist/cjs/src/coinone.js +2 -2
  24. package/dist/cjs/src/coinsph.js +4 -5
  25. package/dist/cjs/src/delta.js +7 -1
  26. package/dist/cjs/src/deribit.js +17 -4
  27. package/dist/cjs/src/gate.js +151 -169
  28. package/dist/cjs/src/gemini.js +1 -1
  29. package/dist/cjs/src/hitbtc.js +2 -3
  30. package/dist/cjs/src/htx.js +157 -7
  31. package/dist/cjs/src/huobijp.js +2 -3
  32. package/dist/cjs/src/independentreserve.js +7 -5
  33. package/dist/cjs/src/kraken.js +86 -54
  34. package/dist/cjs/src/kucoin.js +5 -0
  35. package/dist/cjs/src/kucoinfutures.js +131 -77
  36. package/dist/cjs/src/lbank.js +60 -33
  37. package/dist/cjs/src/luno.js +84 -2
  38. package/dist/cjs/src/mexc.js +3 -3
  39. package/dist/cjs/src/oceanex.js +1 -1
  40. package/dist/cjs/src/okx.js +23 -11
  41. package/dist/cjs/{js/src/bitpanda.js → src/onetrading.js} +39 -39
  42. package/dist/cjs/src/phemex.js +37 -27
  43. package/dist/cjs/src/poloniexfutures.js +1 -0
  44. package/dist/cjs/src/pro/binance.js +66 -25
  45. package/dist/cjs/src/pro/bitget.js +1 -1
  46. package/dist/cjs/src/pro/bitpanda.js +5 -1330
  47. package/dist/cjs/src/pro/coinbase.js +4 -1
  48. package/dist/cjs/src/pro/coincheck.js +208 -0
  49. package/dist/cjs/src/pro/hitbtc.js +5 -4
  50. package/dist/cjs/src/pro/htx.js +6 -1
  51. package/dist/cjs/src/pro/kraken.js +1 -1
  52. package/dist/cjs/src/pro/krakenfutures.js +7 -1
  53. package/dist/cjs/src/pro/kucoin.js +46 -36
  54. package/dist/cjs/src/pro/kucoinfutures.js +45 -37
  55. package/dist/cjs/src/pro/lbank.js +881 -0
  56. package/dist/cjs/src/pro/okx.js +52 -2
  57. package/dist/cjs/{js/src/pro/bitpanda.js → src/pro/onetrading.js} +4 -7
  58. package/dist/cjs/src/pro/poloniex.js +2 -2
  59. package/dist/cjs/src/pro/poloniexfutures.js +43 -35
  60. package/dist/cjs/src/pro/woo.js +126 -0
  61. package/dist/cjs/src/probit.js +4 -2
  62. package/dist/cjs/src/upbit.js +12 -12
  63. package/dist/cjs/src/wavesexchange.js +1 -1
  64. package/dist/cjs/src/whitebit.js +1 -0
  65. package/dist/cjs/src/woo.js +56 -0
  66. package/js/ccxt.d.ts +14 -2
  67. package/js/ccxt.js +10 -2
  68. package/js/src/abstract/bitpanda.d.ts +4 -4
  69. package/js/src/abstract/bitstamp.d.ts +8 -0
  70. package/js/src/abstract/gate.d.ts +1 -0
  71. package/js/src/abstract/gateio.d.ts +1 -0
  72. package/js/src/abstract/htx.d.ts +3 -0
  73. package/js/src/abstract/huobi.d.ts +3 -0
  74. package/js/src/abstract/luno.d.ts +1 -0
  75. package/js/src/abstract/onetrading.d.ts +38 -0
  76. package/js/src/ascendex.js +2 -0
  77. package/js/src/base/Exchange.d.ts +2 -3
  78. package/js/src/base/Exchange.js +5 -2
  79. package/js/src/binance.js +7 -1
  80. package/js/src/bingx.d.ts +1 -0
  81. package/js/src/bingx.js +26 -0
  82. package/js/src/bitget.js +22 -3
  83. package/js/src/bitpanda.d.ts +2 -72
  84. package/js/src/bitpanda.js +5 -1991
  85. package/js/src/bitstamp.js +8 -0
  86. package/js/src/bybit.js +21 -47
  87. package/js/src/coincheck.js +1 -0
  88. package/js/src/deribit.js +16 -4
  89. package/js/src/gate.d.ts +1 -0
  90. package/js/src/gate.js +50 -110
  91. package/js/src/htx.js +3 -0
  92. package/js/src/kraken.d.ts +1 -0
  93. package/js/src/kraken.js +40 -39
  94. package/js/src/lbank.js +1 -0
  95. package/js/src/luno.d.ts +3 -1
  96. package/js/src/luno.js +84 -2
  97. package/js/src/mexc.js +1 -2
  98. package/js/src/onetrading.d.ts +74 -0
  99. package/js/src/onetrading.js +2003 -0
  100. package/js/src/poloniexfutures.js +1 -0
  101. package/js/src/pro/binance.js +7 -2
  102. package/js/src/pro/bitget.js +1 -1
  103. package/js/src/pro/bitpanda.d.ts +2 -34
  104. package/js/src/pro/bitpanda.js +5 -1330
  105. package/js/src/pro/coincheck.d.ts +12 -0
  106. package/js/src/pro/coincheck.js +209 -0
  107. package/js/src/pro/kucoin.js +43 -35
  108. package/js/src/pro/kucoinfutures.js +45 -37
  109. package/js/src/pro/lbank.d.ts +29 -0
  110. package/js/src/pro/lbank.js +882 -0
  111. package/js/src/pro/onetrading.d.ts +36 -0
  112. package/js/src/pro/onetrading.js +1339 -0
  113. package/js/src/pro/poloniexfutures.js +43 -35
  114. package/js/src/whitebit.js +1 -0
  115. package/package.json +2 -2
  116. package/rollup.config.js +2 -0
  117. package/skip-tests.json +14 -2
  118. package/test-commonjs.cjs +25 -1
  119. package/dist/cjs/js/ccxt.js +0 -476
  120. package/dist/cjs/js/src/abstract/alpaca.js +0 -9
  121. package/dist/cjs/js/src/abstract/ascendex.js +0 -9
  122. package/dist/cjs/js/src/abstract/bigone.js +0 -9
  123. package/dist/cjs/js/src/abstract/binance.js +0 -9
  124. package/dist/cjs/js/src/abstract/bingx.js +0 -9
  125. package/dist/cjs/js/src/abstract/bit2c.js +0 -9
  126. package/dist/cjs/js/src/abstract/bitbank.js +0 -9
  127. package/dist/cjs/js/src/abstract/bitbns.js +0 -9
  128. package/dist/cjs/js/src/abstract/bitfinex.js +0 -9
  129. package/dist/cjs/js/src/abstract/bitfinex2.js +0 -9
  130. package/dist/cjs/js/src/abstract/bitflyer.js +0 -9
  131. package/dist/cjs/js/src/abstract/bitforex.js +0 -9
  132. package/dist/cjs/js/src/abstract/bitget.js +0 -9
  133. package/dist/cjs/js/src/abstract/bithumb.js +0 -9
  134. package/dist/cjs/js/src/abstract/bitmart.js +0 -9
  135. package/dist/cjs/js/src/abstract/bitmex.js +0 -9
  136. package/dist/cjs/js/src/abstract/bitopro.js +0 -9
  137. package/dist/cjs/js/src/abstract/bitpanda.js +0 -9
  138. package/dist/cjs/js/src/abstract/bitrue.js +0 -9
  139. package/dist/cjs/js/src/abstract/bitso.js +0 -9
  140. package/dist/cjs/js/src/abstract/bitstamp.js +0 -9
  141. package/dist/cjs/js/src/abstract/bitteam.js +0 -9
  142. package/dist/cjs/js/src/abstract/bitvavo.js +0 -9
  143. package/dist/cjs/js/src/abstract/bl3p.js +0 -9
  144. package/dist/cjs/js/src/abstract/blockchaincom.js +0 -9
  145. package/dist/cjs/js/src/abstract/btcalpha.js +0 -9
  146. package/dist/cjs/js/src/abstract/btcbox.js +0 -9
  147. package/dist/cjs/js/src/abstract/btcmarkets.js +0 -9
  148. package/dist/cjs/js/src/abstract/btcturk.js +0 -9
  149. package/dist/cjs/js/src/abstract/bybit.js +0 -9
  150. package/dist/cjs/js/src/abstract/cex.js +0 -9
  151. package/dist/cjs/js/src/abstract/coinbase.js +0 -9
  152. package/dist/cjs/js/src/abstract/coinbasepro.js +0 -9
  153. package/dist/cjs/js/src/abstract/coincheck.js +0 -9
  154. package/dist/cjs/js/src/abstract/coinex.js +0 -9
  155. package/dist/cjs/js/src/abstract/coinlist.js +0 -9
  156. package/dist/cjs/js/src/abstract/coinmate.js +0 -9
  157. package/dist/cjs/js/src/abstract/coinone.js +0 -9
  158. package/dist/cjs/js/src/abstract/coinsph.js +0 -9
  159. package/dist/cjs/js/src/abstract/coinspot.js +0 -9
  160. package/dist/cjs/js/src/abstract/cryptocom.js +0 -9
  161. package/dist/cjs/js/src/abstract/currencycom.js +0 -9
  162. package/dist/cjs/js/src/abstract/delta.js +0 -9
  163. package/dist/cjs/js/src/abstract/deribit.js +0 -9
  164. package/dist/cjs/js/src/abstract/digifinex.js +0 -9
  165. package/dist/cjs/js/src/abstract/exmo.js +0 -9
  166. package/dist/cjs/js/src/abstract/gate.js +0 -9
  167. package/dist/cjs/js/src/abstract/gemini.js +0 -9
  168. package/dist/cjs/js/src/abstract/hitbtc.js +0 -9
  169. package/dist/cjs/js/src/abstract/hollaex.js +0 -9
  170. package/dist/cjs/js/src/abstract/htx.js +0 -9
  171. package/dist/cjs/js/src/abstract/huobijp.js +0 -9
  172. package/dist/cjs/js/src/abstract/idex.js +0 -9
  173. package/dist/cjs/js/src/abstract/independentreserve.js +0 -9
  174. package/dist/cjs/js/src/abstract/indodax.js +0 -9
  175. package/dist/cjs/js/src/abstract/kraken.js +0 -9
  176. package/dist/cjs/js/src/abstract/krakenfutures.js +0 -9
  177. package/dist/cjs/js/src/abstract/kucoin.js +0 -9
  178. package/dist/cjs/js/src/abstract/kucoinfutures.js +0 -9
  179. package/dist/cjs/js/src/abstract/kuna.js +0 -9
  180. package/dist/cjs/js/src/abstract/latoken.js +0 -9
  181. package/dist/cjs/js/src/abstract/lbank.js +0 -9
  182. package/dist/cjs/js/src/abstract/luno.js +0 -9
  183. package/dist/cjs/js/src/abstract/lykke.js +0 -9
  184. package/dist/cjs/js/src/abstract/mercado.js +0 -9
  185. package/dist/cjs/js/src/abstract/mexc.js +0 -9
  186. package/dist/cjs/js/src/abstract/ndax.js +0 -9
  187. package/dist/cjs/js/src/abstract/novadax.js +0 -9
  188. package/dist/cjs/js/src/abstract/oceanex.js +0 -9
  189. package/dist/cjs/js/src/abstract/okcoin.js +0 -9
  190. package/dist/cjs/js/src/abstract/okx.js +0 -9
  191. package/dist/cjs/js/src/abstract/p2b.js +0 -9
  192. package/dist/cjs/js/src/abstract/paymium.js +0 -9
  193. package/dist/cjs/js/src/abstract/phemex.js +0 -9
  194. package/dist/cjs/js/src/abstract/poloniex.js +0 -9
  195. package/dist/cjs/js/src/abstract/poloniexfutures.js +0 -9
  196. package/dist/cjs/js/src/abstract/probit.js +0 -9
  197. package/dist/cjs/js/src/abstract/timex.js +0 -9
  198. package/dist/cjs/js/src/abstract/tokocrypto.js +0 -9
  199. package/dist/cjs/js/src/abstract/upbit.js +0 -9
  200. package/dist/cjs/js/src/abstract/wavesexchange.js +0 -9
  201. package/dist/cjs/js/src/abstract/wazirx.js +0 -9
  202. package/dist/cjs/js/src/abstract/whitebit.js +0 -9
  203. package/dist/cjs/js/src/abstract/woo.js +0 -9
  204. package/dist/cjs/js/src/abstract/yobit.js +0 -9
  205. package/dist/cjs/js/src/abstract/zaif.js +0 -9
  206. package/dist/cjs/js/src/abstract/zonda.js +0 -9
  207. package/dist/cjs/js/src/ace.js +0 -1058
  208. package/dist/cjs/js/src/alpaca.js +0 -1125
  209. package/dist/cjs/js/src/ascendex.js +0 -3365
  210. package/dist/cjs/js/src/base/Exchange.js +0 -5257
  211. package/dist/cjs/js/src/base/Precise.js +0 -263
  212. package/dist/cjs/js/src/base/errors.js +0 -299
  213. package/dist/cjs/js/src/base/functions/crypto.js +0 -78
  214. package/dist/cjs/js/src/base/functions/encode.js +0 -44
  215. package/dist/cjs/js/src/base/functions/generic.js +0 -193
  216. package/dist/cjs/js/src/base/functions/misc.js +0 -96
  217. package/dist/cjs/js/src/base/functions/number.js +0 -297
  218. package/dist/cjs/js/src/base/functions/platform.js +0 -28
  219. package/dist/cjs/js/src/base/functions/rsa.js +0 -34
  220. package/dist/cjs/js/src/base/functions/string.js +0 -48
  221. package/dist/cjs/js/src/base/functions/throttle.js +0 -66
  222. package/dist/cjs/js/src/base/functions/time.js +0 -187
  223. package/dist/cjs/js/src/base/functions/totp.js +0 -24
  224. package/dist/cjs/js/src/base/functions/type.js +0 -162
  225. package/dist/cjs/js/src/base/functions.js +0 -157
  226. package/dist/cjs/js/src/base/ws/Cache.js +0 -254
  227. package/dist/cjs/js/src/base/ws/Client.js +0 -299
  228. package/dist/cjs/js/src/base/ws/Future.js +0 -34
  229. package/dist/cjs/js/src/base/ws/OrderBook.js +0 -107
  230. package/dist/cjs/js/src/base/ws/OrderBookSide.js +0 -281
  231. package/dist/cjs/js/src/base/ws/WsClient.js +0 -69
  232. package/dist/cjs/js/src/bequant.js +0 -33
  233. package/dist/cjs/js/src/bigone.js +0 -2213
  234. package/dist/cjs/js/src/binance.js +0 -9845
  235. package/dist/cjs/js/src/binancecoinm.js +0 -45
  236. package/dist/cjs/js/src/binanceus.js +0 -92
  237. package/dist/cjs/js/src/binanceusdm.js +0 -58
  238. package/dist/cjs/js/src/bingx.js +0 -3846
  239. package/dist/cjs/js/src/bit2c.js +0 -916
  240. package/dist/cjs/js/src/bitbank.js +0 -1000
  241. package/dist/cjs/js/src/bitbay.js +0 -17
  242. package/dist/cjs/js/src/bitbns.js +0 -1220
  243. package/dist/cjs/js/src/bitcoincom.js +0 -17
  244. package/dist/cjs/js/src/bitfinex.js +0 -1670
  245. package/dist/cjs/js/src/bitfinex2.js +0 -2990
  246. package/dist/cjs/js/src/bitflyer.js +0 -1045
  247. package/dist/cjs/js/src/bitforex.js +0 -852
  248. package/dist/cjs/js/src/bitget.js +0 -8295
  249. package/dist/cjs/js/src/bithumb.js +0 -1090
  250. package/dist/cjs/js/src/bitmart.js +0 -4454
  251. package/dist/cjs/js/src/bitmex.js +0 -2881
  252. package/dist/cjs/js/src/bitopro.js +0 -1724
  253. package/dist/cjs/js/src/bitrue.js +0 -3253
  254. package/dist/cjs/js/src/bitso.js +0 -1753
  255. package/dist/cjs/js/src/bitstamp.js +0 -2188
  256. package/dist/cjs/js/src/bitteam.js +0 -2309
  257. package/dist/cjs/js/src/bitvavo.js +0 -1968
  258. package/dist/cjs/js/src/bl3p.js +0 -447
  259. package/dist/cjs/js/src/blockchaincom.js +0 -1160
  260. package/dist/cjs/js/src/btcalpha.js +0 -929
  261. package/dist/cjs/js/src/btcbox.js +0 -565
  262. package/dist/cjs/js/src/btcmarkets.js +0 -1237
  263. package/dist/cjs/js/src/btcturk.js +0 -929
  264. package/dist/cjs/js/src/bybit.js +0 -7650
  265. package/dist/cjs/js/src/cex.js +0 -1693
  266. package/dist/cjs/js/src/coinbase.js +0 -3424
  267. package/dist/cjs/js/src/coinbasepro.js +0 -1866
  268. package/dist/cjs/js/src/coincheck.js +0 -843
  269. package/dist/cjs/js/src/coinex.js +0 -5417
  270. package/dist/cjs/js/src/coinlist.js +0 -2337
  271. package/dist/cjs/js/src/coinmate.js +0 -989
  272. package/dist/cjs/js/src/coinone.js +0 -1185
  273. package/dist/cjs/js/src/coinsph.js +0 -1933
  274. package/dist/cjs/js/src/coinspot.js +0 -548
  275. package/dist/cjs/js/src/cryptocom.js +0 -3007
  276. package/dist/cjs/js/src/currencycom.js +0 -2015
  277. package/dist/cjs/js/src/delta.js +0 -3262
  278. package/dist/cjs/js/src/deribit.js +0 -3306
  279. package/dist/cjs/js/src/digifinex.js +0 -4307
  280. package/dist/cjs/js/src/exmo.js +0 -2645
  281. package/dist/cjs/js/src/fmfwio.js +0 -34
  282. package/dist/cjs/js/src/gate.js +0 -7077
  283. package/dist/cjs/js/src/gateio.js +0 -16
  284. package/dist/cjs/js/src/gemini.js +0 -1801
  285. package/dist/cjs/js/src/hitbtc.js +0 -3660
  286. package/dist/cjs/js/src/hitbtc3.js +0 -19
  287. package/dist/cjs/js/src/hollaex.js +0 -1882
  288. package/dist/cjs/js/src/htx.js +0 -9174
  289. package/dist/cjs/js/src/huobi.js +0 -16
  290. package/dist/cjs/js/src/huobijp.js +0 -1918
  291. package/dist/cjs/js/src/idex.js +0 -1770
  292. package/dist/cjs/js/src/independentreserve.js +0 -761
  293. package/dist/cjs/js/src/indodax.js +0 -1069
  294. package/dist/cjs/js/src/kraken.js +0 -2891
  295. package/dist/cjs/js/src/krakenfutures.js +0 -2407
  296. package/dist/cjs/js/src/kucoin.js +0 -4494
  297. package/dist/cjs/js/src/kucoinfutures.js +0 -2529
  298. package/dist/cjs/js/src/kuna.js +0 -1949
  299. package/dist/cjs/js/src/latoken.js +0 -1729
  300. package/dist/cjs/js/src/lbank.js +0 -2851
  301. package/dist/cjs/js/src/luno.js +0 -1044
  302. package/dist/cjs/js/src/lykke.js +0 -1303
  303. package/dist/cjs/js/src/mercado.js +0 -897
  304. package/dist/cjs/js/src/mexc.js +0 -5407
  305. package/dist/cjs/js/src/ndax.js +0 -2450
  306. package/dist/cjs/js/src/novadax.js +0 -1556
  307. package/dist/cjs/js/src/oceanex.js +0 -964
  308. package/dist/cjs/js/src/okcoin.js +0 -3115
  309. package/dist/cjs/js/src/okx.js +0 -7331
  310. package/dist/cjs/js/src/p2b.js +0 -1243
  311. package/dist/cjs/js/src/paymium.js +0 -597
  312. package/dist/cjs/js/src/phemex.js +0 -4725
  313. package/dist/cjs/js/src/poloniex.js +0 -2356
  314. package/dist/cjs/js/src/poloniexfutures.js +0 -1794
  315. package/dist/cjs/js/src/pro/alpaca.js +0 -714
  316. package/dist/cjs/js/src/pro/ascendex.js +0 -957
  317. package/dist/cjs/js/src/pro/bequant.js +0 -33
  318. package/dist/cjs/js/src/pro/binance.js +0 -2796
  319. package/dist/cjs/js/src/pro/binancecoinm.js +0 -23
  320. package/dist/cjs/js/src/pro/binanceus.js +0 -51
  321. package/dist/cjs/js/src/pro/binanceusdm.js +0 -32
  322. package/dist/cjs/js/src/pro/bingx.js +0 -944
  323. package/dist/cjs/js/src/pro/bitcoincom.js +0 -29
  324. package/dist/cjs/js/src/pro/bitfinex.js +0 -672
  325. package/dist/cjs/js/src/pro/bitfinex2.js +0 -1159
  326. package/dist/cjs/js/src/pro/bitget.js +0 -1733
  327. package/dist/cjs/js/src/pro/bitmart.js +0 -1486
  328. package/dist/cjs/js/src/pro/bitmex.js +0 -1576
  329. package/dist/cjs/js/src/pro/bitopro.js +0 -327
  330. package/dist/cjs/js/src/pro/bitrue.js +0 -462
  331. package/dist/cjs/js/src/pro/bitstamp.js +0 -547
  332. package/dist/cjs/js/src/pro/bitvavo.js +0 -704
  333. package/dist/cjs/js/src/pro/blockchaincom.js +0 -794
  334. package/dist/cjs/js/src/pro/bybit.js +0 -1843
  335. package/dist/cjs/js/src/pro/cex.js +0 -1510
  336. package/dist/cjs/js/src/pro/coinbase.js +0 -561
  337. package/dist/cjs/js/src/pro/coinbasepro.js +0 -968
  338. package/dist/cjs/js/src/pro/coinex.js +0 -1095
  339. package/dist/cjs/js/src/pro/cryptocom.js +0 -1020
  340. package/dist/cjs/js/src/pro/currencycom.js +0 -563
  341. package/dist/cjs/js/src/pro/deribit.js +0 -825
  342. package/dist/cjs/js/src/pro/exmo.js +0 -658
  343. package/dist/cjs/js/src/pro/gate.js +0 -1316
  344. package/dist/cjs/js/src/pro/gateio.js +0 -16
  345. package/dist/cjs/js/src/pro/gemini.js +0 -649
  346. package/dist/cjs/js/src/pro/hitbtc.js +0 -1294
  347. package/dist/cjs/js/src/pro/hollaex.js +0 -597
  348. package/dist/cjs/js/src/pro/htx.js +0 -2388
  349. package/dist/cjs/js/src/pro/huobi.js +0 -16
  350. package/dist/cjs/js/src/pro/huobijp.js +0 -606
  351. package/dist/cjs/js/src/pro/idex.js +0 -714
  352. package/dist/cjs/js/src/pro/independentreserve.js +0 -280
  353. package/dist/cjs/js/src/pro/kraken.js +0 -1364
  354. package/dist/cjs/js/src/pro/krakenfutures.js +0 -1506
  355. package/dist/cjs/js/src/pro/kucoin.js +0 -1054
  356. package/dist/cjs/js/src/pro/kucoinfutures.js +0 -981
  357. package/dist/cjs/js/src/pro/luno.js +0 -322
  358. package/dist/cjs/js/src/pro/mexc.js +0 -1170
  359. package/dist/cjs/js/src/pro/ndax.js +0 -545
  360. package/dist/cjs/js/src/pro/okcoin.js +0 -760
  361. package/dist/cjs/js/src/pro/okx.js +0 -1608
  362. package/dist/cjs/js/src/pro/phemex.js +0 -1511
  363. package/dist/cjs/js/src/pro/poloniex.js +0 -1253
  364. package/dist/cjs/js/src/pro/poloniexfutures.js +0 -1014
  365. package/dist/cjs/js/src/pro/probit.js +0 -586
  366. package/dist/cjs/js/src/pro/upbit.js +0 -234
  367. package/dist/cjs/js/src/pro/wazirx.js +0 -776
  368. package/dist/cjs/js/src/pro/whitebit.js +0 -927
  369. package/dist/cjs/js/src/pro/woo.js +0 -895
  370. package/dist/cjs/js/src/probit.js +0 -1867
  371. package/dist/cjs/js/src/static_dependencies/fflake/browser.js +0 -401
  372. package/dist/cjs/js/src/static_dependencies/jsencrypt/JSEncrypt.js +0 -195
  373. package/dist/cjs/js/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +0 -308
  374. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +0 -554
  375. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +0 -94
  376. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +0 -70
  377. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +0 -91
  378. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +0 -16
  379. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +0 -1760
  380. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +0 -52
  381. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +0 -81
  382. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +0 -376
  383. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/util.js +0 -70
  384. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +0 -1580
  385. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +0 -74
  386. package/dist/cjs/js/src/static_dependencies/noble-curves/_shortw_utils.js +0 -24
  387. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/curve.js +0 -158
  388. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/edwards.js +0 -429
  389. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +0 -176
  390. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/modular.js +0 -324
  391. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/montgomery.js +0 -163
  392. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/utils.js +0 -245
  393. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/weierstrass.js +0 -1018
  394. package/dist/cjs/js/src/static_dependencies/noble-curves/ed25519.js +0 -383
  395. package/dist/cjs/js/src/static_dependencies/noble-curves/secp256k1.js +0 -258
  396. package/dist/cjs/js/src/static_dependencies/noble-hashes/_assert.js +0 -53
  397. package/dist/cjs/js/src/static_dependencies/noble-hashes/_sha2.js +0 -120
  398. package/dist/cjs/js/src/static_dependencies/noble-hashes/_u64.js +0 -69
  399. package/dist/cjs/js/src/static_dependencies/noble-hashes/crypto.js +0 -7
  400. package/dist/cjs/js/src/static_dependencies/noble-hashes/hmac.js +0 -83
  401. package/dist/cjs/js/src/static_dependencies/noble-hashes/md5.js +0 -240
  402. package/dist/cjs/js/src/static_dependencies/noble-hashes/sha1.js +0 -91
  403. package/dist/cjs/js/src/static_dependencies/noble-hashes/sha256.js +0 -130
  404. package/dist/cjs/js/src/static_dependencies/noble-hashes/sha3.js +0 -214
  405. package/dist/cjs/js/src/static_dependencies/noble-hashes/sha512.js +0 -239
  406. package/dist/cjs/js/src/static_dependencies/noble-hashes/utils.js +0 -93
  407. package/dist/cjs/js/src/static_dependencies/node-fetch/body.js +0 -354
  408. package/dist/cjs/js/src/static_dependencies/node-fetch/errors/abort-error.js +0 -16
  409. package/dist/cjs/js/src/static_dependencies/node-fetch/errors/base.js +0 -20
  410. package/dist/cjs/js/src/static_dependencies/node-fetch/errors/fetch-error.js +0 -30
  411. package/dist/cjs/js/src/static_dependencies/node-fetch/headers.js +0 -239
  412. package/dist/cjs/js/src/static_dependencies/node-fetch/index.js +0 -372
  413. package/dist/cjs/js/src/static_dependencies/node-fetch/request.js +0 -273
  414. package/dist/cjs/js/src/static_dependencies/node-fetch/response.js +0 -139
  415. package/dist/cjs/js/src/static_dependencies/node-fetch/utils/get-search.js +0 -14
  416. package/dist/cjs/js/src/static_dependencies/node-fetch/utils/is-redirect.js +0 -16
  417. package/dist/cjs/js/src/static_dependencies/node-fetch/utils/is.js +0 -81
  418. package/dist/cjs/js/src/static_dependencies/node-fetch/utils/referrer.js +0 -292
  419. package/dist/cjs/js/src/static_dependencies/proxies/agent-base/index.js +0 -103
  420. package/dist/cjs/js/src/static_dependencies/proxies/http-proxy-agent/index.js +0 -140
  421. package/dist/cjs/js/src/static_dependencies/proxies/https-proxy-agent/index.js +0 -175
  422. package/dist/cjs/js/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +0 -95
  423. package/dist/cjs/js/src/static_dependencies/qs/index.cjs.js +0 -7
  424. package/dist/cjs/js/src/static_dependencies/scure-base/index.js +0 -383
  425. package/dist/cjs/js/src/timex.js +0 -1562
  426. package/dist/cjs/js/src/tokocrypto.js +0 -2542
  427. package/dist/cjs/js/src/upbit.js +0 -1844
  428. package/dist/cjs/js/src/wavesexchange.js +0 -2607
  429. package/dist/cjs/js/src/wazirx.js +0 -953
  430. package/dist/cjs/js/src/whitebit.js +0 -2309
  431. package/dist/cjs/js/src/woo.js +0 -2769
  432. package/dist/cjs/js/src/yobit.js +0 -1314
  433. package/dist/cjs/js/src/zaif.js +0 -736
  434. package/dist/cjs/js/src/zonda.js +0 -1883
  435. package/dist/cjs/src/abstract/bitpanda.js +0 -9
  436. package/test.ts +0 -0
  437. /package/dist/cjs/{js/src/abstract/ace.js → src/abstract/onetrading.js} +0 -0
  438. /package/dist/cjs/{js/src → src}/pro/coinone.js +0 -0
  439. /package/js/src/abstract/{bitpanda.js → onetrading.js} +0 -0
@@ -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,