ccxt 4.2.10 → 4.2.12

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 (383) hide show
  1. package/README.md +5 -5
  2. package/build.sh +4 -4
  3. package/dist/ccxt.browser.js +695 -282
  4. package/dist/ccxt.browser.min.js +3 -3
  5. package/dist/cjs/_virtual/agent.js +7 -0
  6. package/dist/cjs/_virtual/parse-proxy-response.js +7 -0
  7. package/dist/cjs/_virtual/promisify.js +7 -0
  8. package/dist/cjs/ccxt.js +1 -1
  9. package/dist/cjs/js/ccxt.js +474 -0
  10. package/dist/cjs/js/src/abstract/ace.js +9 -0
  11. package/dist/cjs/js/src/abstract/alpaca.js +9 -0
  12. package/dist/cjs/js/src/abstract/ascendex.js +9 -0
  13. package/dist/cjs/js/src/abstract/bigone.js +9 -0
  14. package/dist/cjs/js/src/abstract/binance.js +9 -0
  15. package/dist/cjs/js/src/abstract/bingx.js +9 -0
  16. package/dist/cjs/js/src/abstract/bit2c.js +9 -0
  17. package/dist/cjs/js/src/abstract/bitbank.js +9 -0
  18. package/dist/cjs/js/src/abstract/bitbns.js +9 -0
  19. package/dist/cjs/js/src/abstract/bitfinex.js +9 -0
  20. package/dist/cjs/js/src/abstract/bitfinex2.js +9 -0
  21. package/dist/cjs/js/src/abstract/bitflyer.js +9 -0
  22. package/dist/cjs/js/src/abstract/bitforex.js +9 -0
  23. package/dist/cjs/js/src/abstract/bitget.js +9 -0
  24. package/dist/cjs/js/src/abstract/bithumb.js +9 -0
  25. package/dist/cjs/js/src/abstract/bitmart.js +9 -0
  26. package/dist/cjs/js/src/abstract/bitmex.js +9 -0
  27. package/dist/cjs/js/src/abstract/bitopro.js +9 -0
  28. package/dist/cjs/js/src/abstract/bitpanda.js +9 -0
  29. package/dist/cjs/js/src/abstract/bitrue.js +9 -0
  30. package/dist/cjs/js/src/abstract/bitso.js +9 -0
  31. package/dist/cjs/js/src/abstract/bitstamp.js +9 -0
  32. package/dist/cjs/js/src/abstract/bitteam.js +9 -0
  33. package/dist/cjs/js/src/abstract/bitvavo.js +9 -0
  34. package/dist/cjs/js/src/abstract/bl3p.js +9 -0
  35. package/dist/cjs/js/src/abstract/blockchaincom.js +9 -0
  36. package/dist/cjs/js/src/abstract/btcalpha.js +9 -0
  37. package/dist/cjs/js/src/abstract/btcbox.js +9 -0
  38. package/dist/cjs/js/src/abstract/btcmarkets.js +9 -0
  39. package/dist/cjs/js/src/abstract/btcturk.js +9 -0
  40. package/dist/cjs/js/src/abstract/bybit.js +9 -0
  41. package/dist/cjs/js/src/abstract/cex.js +9 -0
  42. package/dist/cjs/js/src/abstract/coinbase.js +9 -0
  43. package/dist/cjs/js/src/abstract/coinbasepro.js +9 -0
  44. package/dist/cjs/js/src/abstract/coincheck.js +9 -0
  45. package/dist/cjs/js/src/abstract/coinex.js +9 -0
  46. package/dist/cjs/js/src/abstract/coinlist.js +9 -0
  47. package/dist/cjs/js/src/abstract/coinmate.js +9 -0
  48. package/dist/cjs/js/src/abstract/coinone.js +9 -0
  49. package/dist/cjs/js/src/abstract/coinsph.js +9 -0
  50. package/dist/cjs/js/src/abstract/coinspot.js +9 -0
  51. package/dist/cjs/js/src/abstract/cryptocom.js +9 -0
  52. package/dist/cjs/js/src/abstract/currencycom.js +9 -0
  53. package/dist/cjs/js/src/abstract/delta.js +9 -0
  54. package/dist/cjs/js/src/abstract/deribit.js +9 -0
  55. package/dist/cjs/js/src/abstract/digifinex.js +9 -0
  56. package/dist/cjs/js/src/abstract/exmo.js +9 -0
  57. package/dist/cjs/js/src/abstract/gate.js +9 -0
  58. package/dist/cjs/js/src/abstract/gemini.js +9 -0
  59. package/dist/cjs/js/src/abstract/hitbtc.js +9 -0
  60. package/dist/cjs/js/src/abstract/hollaex.js +9 -0
  61. package/dist/cjs/js/src/abstract/htx.js +9 -0
  62. package/dist/cjs/js/src/abstract/huobijp.js +9 -0
  63. package/dist/cjs/js/src/abstract/idex.js +9 -0
  64. package/dist/cjs/js/src/abstract/independentreserve.js +9 -0
  65. package/dist/cjs/js/src/abstract/indodax.js +9 -0
  66. package/dist/cjs/js/src/abstract/kraken.js +9 -0
  67. package/dist/cjs/js/src/abstract/krakenfutures.js +9 -0
  68. package/dist/cjs/js/src/abstract/kucoin.js +9 -0
  69. package/dist/cjs/js/src/abstract/kucoinfutures.js +9 -0
  70. package/dist/cjs/js/src/abstract/kuna.js +9 -0
  71. package/dist/cjs/js/src/abstract/latoken.js +9 -0
  72. package/dist/cjs/js/src/abstract/lbank.js +9 -0
  73. package/dist/cjs/js/src/abstract/luno.js +9 -0
  74. package/dist/cjs/js/src/abstract/lykke.js +9 -0
  75. package/dist/cjs/js/src/abstract/mercado.js +9 -0
  76. package/dist/cjs/js/src/abstract/mexc.js +9 -0
  77. package/dist/cjs/js/src/abstract/ndax.js +9 -0
  78. package/dist/cjs/js/src/abstract/novadax.js +9 -0
  79. package/dist/cjs/js/src/abstract/oceanex.js +9 -0
  80. package/dist/cjs/js/src/abstract/okcoin.js +9 -0
  81. package/dist/cjs/js/src/abstract/okx.js +9 -0
  82. package/dist/cjs/js/src/abstract/p2b.js +9 -0
  83. package/dist/cjs/js/src/abstract/paymium.js +9 -0
  84. package/dist/cjs/js/src/abstract/phemex.js +9 -0
  85. package/dist/cjs/js/src/abstract/poloniex.js +9 -0
  86. package/dist/cjs/js/src/abstract/poloniexfutures.js +9 -0
  87. package/dist/cjs/js/src/abstract/probit.js +9 -0
  88. package/dist/cjs/js/src/abstract/timex.js +9 -0
  89. package/dist/cjs/js/src/abstract/tokocrypto.js +9 -0
  90. package/dist/cjs/js/src/abstract/upbit.js +9 -0
  91. package/dist/cjs/js/src/abstract/wavesexchange.js +9 -0
  92. package/dist/cjs/js/src/abstract/wazirx.js +9 -0
  93. package/dist/cjs/js/src/abstract/whitebit.js +9 -0
  94. package/dist/cjs/js/src/abstract/woo.js +9 -0
  95. package/dist/cjs/js/src/abstract/yobit.js +9 -0
  96. package/dist/cjs/js/src/abstract/zaif.js +9 -0
  97. package/dist/cjs/js/src/abstract/zonda.js +9 -0
  98. package/dist/cjs/js/src/ace.js +1058 -0
  99. package/dist/cjs/js/src/alpaca.js +1125 -0
  100. package/dist/cjs/js/src/ascendex.js +3360 -0
  101. package/dist/cjs/js/src/base/Exchange.js +5110 -0
  102. package/dist/cjs/js/src/base/Precise.js +263 -0
  103. package/dist/cjs/js/src/base/errors.js +299 -0
  104. package/dist/cjs/js/src/base/functions/crypto.js +78 -0
  105. package/dist/cjs/js/src/base/functions/encode.js +44 -0
  106. package/dist/cjs/js/src/base/functions/generic.js +193 -0
  107. package/dist/cjs/js/src/base/functions/misc.js +96 -0
  108. package/dist/cjs/js/src/base/functions/number.js +297 -0
  109. package/dist/cjs/js/src/base/functions/platform.js +28 -0
  110. package/dist/cjs/js/src/base/functions/rsa.js +34 -0
  111. package/dist/cjs/js/src/base/functions/string.js +48 -0
  112. package/dist/cjs/js/src/base/functions/throttle.js +66 -0
  113. package/dist/cjs/js/src/base/functions/time.js +187 -0
  114. package/dist/cjs/js/src/base/functions/totp.js +24 -0
  115. package/dist/cjs/js/src/base/functions/type.js +162 -0
  116. package/dist/cjs/js/src/base/functions.js +157 -0
  117. package/dist/cjs/js/src/base/ws/Cache.js +254 -0
  118. package/dist/cjs/js/src/base/ws/Client.js +299 -0
  119. package/dist/cjs/js/src/base/ws/Future.js +34 -0
  120. package/dist/cjs/js/src/base/ws/OrderBook.js +107 -0
  121. package/dist/cjs/js/src/base/ws/OrderBookSide.js +281 -0
  122. package/dist/cjs/js/src/base/ws/WsClient.js +69 -0
  123. package/dist/cjs/js/src/bequant.js +33 -0
  124. package/dist/cjs/js/src/bigone.js +2142 -0
  125. package/dist/cjs/js/src/binance.js +9729 -0
  126. package/dist/cjs/js/src/binancecoinm.js +45 -0
  127. package/dist/cjs/js/src/binanceus.js +84 -0
  128. package/dist/cjs/js/src/binanceusdm.js +58 -0
  129. package/dist/cjs/js/src/bingx.js +3737 -0
  130. package/dist/cjs/js/src/bit2c.js +916 -0
  131. package/dist/cjs/js/src/bitbank.js +1000 -0
  132. package/dist/cjs/js/src/bitbay.js +17 -0
  133. package/dist/cjs/js/src/bitbns.js +1220 -0
  134. package/dist/cjs/js/src/bitcoincom.js +17 -0
  135. package/dist/cjs/js/src/bitfinex.js +1670 -0
  136. package/dist/cjs/js/src/bitfinex2.js +2990 -0
  137. package/dist/cjs/js/src/bitflyer.js +1045 -0
  138. package/dist/cjs/js/src/bitforex.js +852 -0
  139. package/dist/cjs/js/src/bitget.js +8284 -0
  140. package/dist/cjs/js/src/bithumb.js +1090 -0
  141. package/dist/cjs/js/src/bitmart.js +4454 -0
  142. package/dist/cjs/js/src/bitmex.js +2884 -0
  143. package/dist/cjs/js/src/bitopro.js +1724 -0
  144. package/dist/cjs/js/src/bitpanda.js +2002 -0
  145. package/dist/cjs/js/src/bitrue.js +3253 -0
  146. package/dist/cjs/js/src/bitso.js +1753 -0
  147. package/dist/cjs/js/src/bitstamp.js +2188 -0
  148. package/dist/cjs/js/src/bitteam.js +2309 -0
  149. package/dist/cjs/js/src/bitvavo.js +1968 -0
  150. package/dist/cjs/js/src/bl3p.js +447 -0
  151. package/dist/cjs/js/src/blockchaincom.js +1160 -0
  152. package/dist/cjs/js/src/btcalpha.js +929 -0
  153. package/dist/cjs/js/src/btcbox.js +565 -0
  154. package/dist/cjs/js/src/btcmarkets.js +1237 -0
  155. package/dist/cjs/js/src/btcturk.js +929 -0
  156. package/dist/cjs/js/src/bybit.js +7646 -0
  157. package/dist/cjs/js/src/cex.js +1693 -0
  158. package/dist/cjs/js/src/coinbase.js +3274 -0
  159. package/dist/cjs/js/src/coinbasepro.js +1866 -0
  160. package/dist/cjs/js/src/coincheck.js +843 -0
  161. package/dist/cjs/js/src/coinex.js +5414 -0
  162. package/dist/cjs/js/src/coinlist.js +2329 -0
  163. package/dist/cjs/js/src/coinmate.js +989 -0
  164. package/dist/cjs/js/src/coinone.js +1185 -0
  165. package/dist/cjs/js/src/coinsph.js +1933 -0
  166. package/dist/cjs/js/src/coinspot.js +548 -0
  167. package/dist/cjs/js/src/cryptocom.js +3007 -0
  168. package/dist/cjs/js/src/currencycom.js +2015 -0
  169. package/dist/cjs/js/src/delta.js +3256 -0
  170. package/dist/cjs/js/src/deribit.js +3306 -0
  171. package/dist/cjs/js/src/digifinex.js +4307 -0
  172. package/dist/cjs/js/src/exmo.js +2645 -0
  173. package/dist/cjs/js/src/fmfwio.js +34 -0
  174. package/dist/cjs/js/src/gate.js +7054 -0
  175. package/dist/cjs/js/src/gateio.js +16 -0
  176. package/dist/cjs/js/src/gemini.js +1801 -0
  177. package/dist/cjs/js/src/hitbtc.js +3660 -0
  178. package/dist/cjs/js/src/hitbtc3.js +19 -0
  179. package/dist/cjs/js/src/hollaex.js +1882 -0
  180. package/dist/cjs/js/src/htx.js +9024 -0
  181. package/dist/cjs/js/src/huobi.js +16 -0
  182. package/dist/cjs/js/src/huobijp.js +1918 -0
  183. package/dist/cjs/js/src/idex.js +1770 -0
  184. package/dist/cjs/js/src/independentreserve.js +759 -0
  185. package/dist/cjs/js/src/indodax.js +1069 -0
  186. package/dist/cjs/js/src/kraken.js +2861 -0
  187. package/dist/cjs/js/src/krakenfutures.js +2407 -0
  188. package/dist/cjs/js/src/kucoin.js +4489 -0
  189. package/dist/cjs/js/src/kucoinfutures.js +2475 -0
  190. package/dist/cjs/js/src/kuna.js +1949 -0
  191. package/dist/cjs/js/src/latoken.js +1729 -0
  192. package/dist/cjs/js/src/lbank.js +2825 -0
  193. package/dist/cjs/js/src/luno.js +1044 -0
  194. package/dist/cjs/js/src/lykke.js +1303 -0
  195. package/dist/cjs/js/src/mercado.js +897 -0
  196. package/dist/cjs/js/src/mexc.js +5407 -0
  197. package/dist/cjs/js/src/ndax.js +2450 -0
  198. package/dist/cjs/js/src/novadax.js +1556 -0
  199. package/dist/cjs/js/src/oceanex.js +964 -0
  200. package/dist/cjs/js/src/okcoin.js +3115 -0
  201. package/dist/cjs/js/src/okx.js +7329 -0
  202. package/dist/cjs/js/src/p2b.js +1243 -0
  203. package/dist/cjs/js/src/paymium.js +597 -0
  204. package/dist/cjs/js/src/phemex.js +4715 -0
  205. package/dist/cjs/js/src/poloniex.js +2356 -0
  206. package/dist/cjs/js/src/poloniexfutures.js +1794 -0
  207. package/dist/cjs/js/src/pro/alpaca.js +714 -0
  208. package/dist/cjs/js/src/pro/ascendex.js +957 -0
  209. package/dist/cjs/js/src/pro/bequant.js +33 -0
  210. package/dist/cjs/js/src/pro/binance.js +2796 -0
  211. package/dist/cjs/js/src/pro/binancecoinm.js +23 -0
  212. package/dist/cjs/js/src/pro/binanceus.js +51 -0
  213. package/dist/cjs/js/src/pro/binanceusdm.js +32 -0
  214. package/dist/cjs/js/src/pro/bingx.js +944 -0
  215. package/dist/cjs/js/src/pro/bitcoincom.js +29 -0
  216. package/dist/cjs/js/src/pro/bitfinex.js +672 -0
  217. package/dist/cjs/js/src/pro/bitfinex2.js +1159 -0
  218. package/dist/cjs/js/src/pro/bitget.js +1733 -0
  219. package/dist/cjs/js/src/pro/bitmart.js +1486 -0
  220. package/dist/cjs/js/src/pro/bitmex.js +1576 -0
  221. package/dist/cjs/js/src/pro/bitopro.js +327 -0
  222. package/dist/cjs/js/src/pro/bitpanda.js +1341 -0
  223. package/dist/cjs/js/src/pro/bitrue.js +462 -0
  224. package/dist/cjs/js/src/pro/bitstamp.js +547 -0
  225. package/dist/cjs/js/src/pro/bitvavo.js +704 -0
  226. package/dist/cjs/js/src/pro/blockchaincom.js +794 -0
  227. package/dist/cjs/js/src/pro/bybit.js +1843 -0
  228. package/dist/cjs/js/src/pro/cex.js +1510 -0
  229. package/dist/cjs/js/src/pro/coinbase.js +561 -0
  230. package/dist/cjs/js/src/pro/coinbasepro.js +968 -0
  231. package/dist/cjs/js/src/pro/coinex.js +1095 -0
  232. package/dist/cjs/js/src/pro/cryptocom.js +1020 -0
  233. package/dist/cjs/js/src/pro/currencycom.js +563 -0
  234. package/dist/cjs/js/src/pro/deribit.js +825 -0
  235. package/dist/cjs/js/src/pro/exmo.js +658 -0
  236. package/dist/cjs/js/src/pro/gate.js +1316 -0
  237. package/dist/cjs/js/src/pro/gateio.js +16 -0
  238. package/dist/cjs/js/src/pro/gemini.js +649 -0
  239. package/dist/cjs/js/src/pro/hitbtc.js +1293 -0
  240. package/dist/cjs/js/src/pro/hollaex.js +597 -0
  241. package/dist/cjs/js/src/pro/htx.js +2383 -0
  242. package/dist/cjs/js/src/pro/huobi.js +16 -0
  243. package/dist/cjs/js/src/pro/huobijp.js +606 -0
  244. package/dist/cjs/js/src/pro/idex.js +714 -0
  245. package/dist/cjs/js/src/pro/independentreserve.js +280 -0
  246. package/dist/cjs/js/src/pro/kraken.js +1364 -0
  247. package/dist/cjs/js/src/pro/krakenfutures.js +1500 -0
  248. package/dist/cjs/js/src/pro/kucoin.js +1052 -0
  249. package/dist/cjs/js/src/pro/kucoinfutures.js +981 -0
  250. package/dist/cjs/js/src/pro/luno.js +322 -0
  251. package/dist/cjs/js/src/pro/mexc.js +1170 -0
  252. package/dist/cjs/js/src/pro/ndax.js +545 -0
  253. package/dist/cjs/js/src/pro/okcoin.js +760 -0
  254. package/dist/cjs/js/src/pro/okx.js +1558 -0
  255. package/dist/cjs/js/src/pro/phemex.js +1511 -0
  256. package/dist/cjs/js/src/pro/poloniex.js +1253 -0
  257. package/dist/cjs/js/src/pro/poloniexfutures.js +1014 -0
  258. package/dist/cjs/js/src/pro/probit.js +586 -0
  259. package/dist/cjs/js/src/pro/upbit.js +234 -0
  260. package/dist/cjs/js/src/pro/wazirx.js +776 -0
  261. package/dist/cjs/js/src/pro/whitebit.js +927 -0
  262. package/dist/cjs/js/src/pro/woo.js +769 -0
  263. package/dist/cjs/js/src/probit.js +1865 -0
  264. package/dist/cjs/js/src/static_dependencies/fflake/browser.js +401 -0
  265. package/dist/cjs/js/src/static_dependencies/jsencrypt/JSEncrypt.js +195 -0
  266. package/dist/cjs/js/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +308 -0
  267. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +554 -0
  268. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +94 -0
  269. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +70 -0
  270. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +91 -0
  271. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +16 -0
  272. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +1760 -0
  273. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +52 -0
  274. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +81 -0
  275. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +376 -0
  276. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/util.js +70 -0
  277. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +1580 -0
  278. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +74 -0
  279. package/dist/cjs/js/src/static_dependencies/noble-curves/_shortw_utils.js +24 -0
  280. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/curve.js +158 -0
  281. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/edwards.js +429 -0
  282. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +176 -0
  283. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/modular.js +324 -0
  284. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/montgomery.js +163 -0
  285. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/utils.js +245 -0
  286. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/weierstrass.js +1018 -0
  287. package/dist/cjs/js/src/static_dependencies/noble-curves/ed25519.js +383 -0
  288. package/dist/cjs/js/src/static_dependencies/noble-curves/secp256k1.js +258 -0
  289. package/dist/cjs/js/src/static_dependencies/noble-hashes/_assert.js +53 -0
  290. package/dist/cjs/js/src/static_dependencies/noble-hashes/_sha2.js +120 -0
  291. package/dist/cjs/js/src/static_dependencies/noble-hashes/_u64.js +69 -0
  292. package/dist/cjs/js/src/static_dependencies/noble-hashes/crypto.js +7 -0
  293. package/dist/cjs/js/src/static_dependencies/noble-hashes/hmac.js +83 -0
  294. package/dist/cjs/js/src/static_dependencies/noble-hashes/md5.js +240 -0
  295. package/dist/cjs/js/src/static_dependencies/noble-hashes/sha1.js +91 -0
  296. package/dist/cjs/js/src/static_dependencies/noble-hashes/sha256.js +130 -0
  297. package/dist/cjs/js/src/static_dependencies/noble-hashes/sha3.js +214 -0
  298. package/dist/cjs/js/src/static_dependencies/noble-hashes/sha512.js +239 -0
  299. package/dist/cjs/js/src/static_dependencies/noble-hashes/utils.js +93 -0
  300. package/dist/cjs/js/src/static_dependencies/node-fetch/body.js +354 -0
  301. package/dist/cjs/js/src/static_dependencies/node-fetch/errors/abort-error.js +16 -0
  302. package/dist/cjs/js/src/static_dependencies/node-fetch/errors/base.js +20 -0
  303. package/dist/cjs/js/src/static_dependencies/node-fetch/errors/fetch-error.js +30 -0
  304. package/dist/cjs/js/src/static_dependencies/node-fetch/headers.js +239 -0
  305. package/dist/cjs/js/src/static_dependencies/node-fetch/index.js +372 -0
  306. package/dist/cjs/js/src/static_dependencies/node-fetch/request.js +273 -0
  307. package/dist/cjs/js/src/static_dependencies/node-fetch/response.js +139 -0
  308. package/dist/cjs/js/src/static_dependencies/node-fetch/utils/get-search.js +14 -0
  309. package/dist/cjs/js/src/static_dependencies/node-fetch/utils/is-redirect.js +16 -0
  310. package/dist/cjs/js/src/static_dependencies/node-fetch/utils/is.js +81 -0
  311. package/dist/cjs/js/src/static_dependencies/node-fetch/utils/referrer.js +292 -0
  312. package/dist/cjs/js/src/static_dependencies/proxies/agent-base/index.js +103 -0
  313. package/dist/cjs/js/src/static_dependencies/proxies/http-proxy-agent/index.js +140 -0
  314. package/dist/cjs/js/src/static_dependencies/proxies/https-proxy-agent/index.js +175 -0
  315. package/dist/cjs/js/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +95 -0
  316. package/dist/cjs/js/src/static_dependencies/qs/index.cjs.js +7 -0
  317. package/dist/cjs/js/src/static_dependencies/scure-base/index.js +383 -0
  318. package/dist/cjs/js/src/timex.js +1562 -0
  319. package/dist/cjs/js/src/tokocrypto.js +2542 -0
  320. package/dist/cjs/js/src/upbit.js +1844 -0
  321. package/dist/cjs/js/src/wavesexchange.js +2607 -0
  322. package/dist/cjs/js/src/wazirx.js +953 -0
  323. package/dist/cjs/js/src/whitebit.js +2309 -0
  324. package/dist/cjs/js/src/woo.js +2715 -0
  325. package/dist/cjs/js/src/yobit.js +1314 -0
  326. package/dist/cjs/js/src/zaif.js +736 -0
  327. package/dist/cjs/js/src/zonda.js +1883 -0
  328. package/dist/cjs/src/base/Exchange.js +11 -0
  329. package/dist/cjs/src/bingx.js +0 -10
  330. package/dist/cjs/src/bitget.js +14 -5
  331. package/dist/cjs/src/bybit.js +1 -1
  332. package/dist/cjs/src/kucoin.js +29 -5
  333. package/js/ccxt.d.ts +1 -1
  334. package/js/ccxt.js +1 -1
  335. package/js/src/abstract/bigone.d.ts +18 -0
  336. package/js/src/abstract/binance.d.ts +2 -0
  337. package/js/src/abstract/binancecoinm.d.ts +2 -0
  338. package/js/src/abstract/binanceus.d.ts +2 -0
  339. package/js/src/abstract/binanceusdm.d.ts +2 -0
  340. package/js/src/abstract/bybit.d.ts +1 -0
  341. package/js/src/abstract/gate.d.ts +11 -0
  342. package/js/src/abstract/gateio.d.ts +11 -0
  343. package/js/src/alpaca.js +18 -18
  344. package/js/src/base/Exchange.d.ts +6 -1
  345. package/js/src/base/Exchange.js +112 -12
  346. package/js/src/bigone.d.ts +1 -2
  347. package/js/src/bigone.js +340 -145
  348. package/js/src/binance.js +15 -8
  349. package/js/src/bingx.d.ts +0 -1
  350. package/js/src/bingx.js +9 -12
  351. package/js/src/bitfinex.d.ts +2 -2
  352. package/js/src/bitfinex.js +2 -3
  353. package/js/src/bitget.js +35 -13
  354. package/js/src/bitmart.d.ts +2 -2
  355. package/js/src/bitmart.js +3 -3
  356. package/js/src/bitmex.js +1 -0
  357. package/js/src/bybit.js +3 -1
  358. package/js/src/coinlist.js +2 -3
  359. package/js/src/coinsph.js +2 -3
  360. package/js/src/deribit.js +1 -0
  361. package/js/src/gate.d.ts +4 -4
  362. package/js/src/gate.js +22 -3
  363. package/js/src/hitbtc.d.ts +4 -4
  364. package/js/src/hitbtc.js +2 -3
  365. package/js/src/htx.js +4 -7
  366. package/js/src/huobijp.js +2 -3
  367. package/js/src/kraken.js +1 -0
  368. package/js/src/kucoin.js +29 -5
  369. package/js/src/mexc.js +2 -1
  370. package/js/src/okx.js +13 -3
  371. package/js/src/pro/binance.d.ts +2 -23
  372. package/js/src/pro/binance.js +58 -22
  373. package/js/src/pro/coinbase.d.ts +2 -2
  374. package/js/src/pro/coinbase.js +4 -1
  375. package/js/src/pro/coinbasepro.d.ts +2 -2
  376. package/js/src/pro/hitbtc.d.ts +2 -2
  377. package/js/src/pro/poloniex.d.ts +2 -2
  378. package/js/src/upbit.d.ts +3 -101
  379. package/js/src/upbit.js +12 -12
  380. package/js/src/woo.js +2 -0
  381. package/package.json +11 -11
  382. package/skip-tests.json +5 -0
  383. package/tests-manager.sh +2 -2
package/js/src/binance.js CHANGED
@@ -47,6 +47,7 @@ export default class binance extends Exchange {
47
47
  'createMarketBuyOrderWithCost': true,
48
48
  'createMarketOrderWithCost': true,
49
49
  'createMarketSellOrderWithCost': true,
50
+ 'createTrailingPercentOrder': true,
50
51
  'createOrder': true,
51
52
  'createOrders': true,
52
53
  'createPostOnlyOrder': true,
@@ -229,6 +230,7 @@ export default class binance extends Exchange {
229
230
  'asset/convert-transfer/queryByPage': 0.033335,
230
231
  'asset/wallet/balance': 6,
231
232
  'asset/custody/transfer-history': 6,
233
+ 'margin/borrow-repay': 1,
232
234
  'margin/loan': 1,
233
235
  'margin/repay': 1,
234
236
  'margin/account': 1,
@@ -480,6 +482,7 @@ export default class binance extends Exchange {
480
482
  'capital/withdraw/apply': 4.0002,
481
483
  'capital/contract/convertible-coins': 4.0002,
482
484
  'capital/deposit/credit-apply': 0.1,
485
+ 'margin/borrow-repay': 20.001,
483
486
  'margin/transfer': 4.0002,
484
487
  'margin/loan': 20.001,
485
488
  'margin/repay': 20.001,
@@ -9128,7 +9131,7 @@ export default class binance extends Exchange {
9128
9131
  * @method
9129
9132
  * @name binance#repayCrossMargin
9130
9133
  * @description repay borrowed margin and interest
9131
- * @see https://binance-docs.github.io/apidocs/spot/en/#margin-account-repay-margin
9134
+ * @see https://binance-docs.github.io/apidocs/spot/en/#margin-account-borrow-repay-margin
9132
9135
  * @param {string} code unified currency code of the currency to repay
9133
9136
  * @param {float} amount the amount to repay
9134
9137
  * @param {object} [params] extra parameters specific to the exchange API endpoint
@@ -9140,8 +9143,9 @@ export default class binance extends Exchange {
9140
9143
  'asset': currency['id'],
9141
9144
  'amount': this.currencyToPrecision(code, amount),
9142
9145
  'isIsolated': 'FALSE',
9146
+ 'type': 'REPAY',
9143
9147
  };
9144
- const response = await this.sapiPostMarginRepay(this.extend(request, params));
9148
+ const response = await this.sapiPostMarginBorrowRepay(this.extend(request, params));
9145
9149
  //
9146
9150
  // {
9147
9151
  // "tranId": 108988250265,
@@ -9155,7 +9159,7 @@ export default class binance extends Exchange {
9155
9159
  * @method
9156
9160
  * @name binance#repayIsolatedMargin
9157
9161
  * @description repay borrowed margin and interest
9158
- * @see https://binance-docs.github.io/apidocs/spot/en/#margin-account-repay-margin
9162
+ * @see https://binance-docs.github.io/apidocs/spot/en/#margin-account-borrow-repay-margin
9159
9163
  * @param {string} symbol unified market symbol, required for isolated margin
9160
9164
  * @param {string} code unified currency code of the currency to repay
9161
9165
  * @param {float} amount the amount to repay
@@ -9170,8 +9174,9 @@ export default class binance extends Exchange {
9170
9174
  'amount': this.currencyToPrecision(code, amount),
9171
9175
  'symbol': market['id'],
9172
9176
  'isIsolated': 'TRUE',
9177
+ 'type': 'REPAY',
9173
9178
  };
9174
- const response = await this.sapiPostMarginRepay(this.extend(request, params));
9179
+ const response = await this.sapiPostMarginBorrowRepay(this.extend(request, params));
9175
9180
  //
9176
9181
  // {
9177
9182
  // "tranId": 108988250265,
@@ -9185,7 +9190,7 @@ export default class binance extends Exchange {
9185
9190
  * @method
9186
9191
  * @name binance#borrowCrossMargin
9187
9192
  * @description create a loan to borrow margin
9188
- * @see https://binance-docs.github.io/apidocs/spot/en/#margin-account-borrow-margin
9193
+ * @see https://binance-docs.github.io/apidocs/spot/en/#margin-account-borrow-repay-margin
9189
9194
  * @param {string} code unified currency code of the currency to borrow
9190
9195
  * @param {float} amount the amount to borrow
9191
9196
  * @param {object} [params] extra parameters specific to the exchange API endpoint
@@ -9197,8 +9202,9 @@ export default class binance extends Exchange {
9197
9202
  'asset': currency['id'],
9198
9203
  'amount': this.currencyToPrecision(code, amount),
9199
9204
  'isIsolated': 'FALSE',
9205
+ 'type': 'BORROW',
9200
9206
  };
9201
- const response = await this.sapiPostMarginLoan(this.extend(request, params));
9207
+ const response = await this.sapiPostMarginBorrowRepay(this.extend(request, params));
9202
9208
  //
9203
9209
  // {
9204
9210
  // "tranId": 108988250265,
@@ -9212,7 +9218,7 @@ export default class binance extends Exchange {
9212
9218
  * @method
9213
9219
  * @name binance#borrowIsolatedMargin
9214
9220
  * @description create a loan to borrow margin
9215
- * @see https://binance-docs.github.io/apidocs/spot/en/#margin-account-borrow-margin
9221
+ * @see https://binance-docs.github.io/apidocs/spot/en/#margin-account-borrow-repay-margin
9216
9222
  * @param {string} symbol unified market symbol, required for isolated margin
9217
9223
  * @param {string} code unified currency code of the currency to borrow
9218
9224
  * @param {float} amount the amount to borrow
@@ -9227,8 +9233,9 @@ export default class binance extends Exchange {
9227
9233
  'amount': this.currencyToPrecision(code, amount),
9228
9234
  'symbol': market['id'],
9229
9235
  'isIsolated': 'TRUE',
9236
+ 'type': 'BORROW',
9230
9237
  };
9231
- const response = await this.sapiPostMarginLoan(this.extend(request, params));
9238
+ const response = await this.sapiPostMarginBorrowRepay(this.extend(request, params));
9232
9239
  //
9233
9240
  // {
9234
9241
  // "tranId": 108988250265,
package/js/src/bingx.d.ts CHANGED
@@ -66,7 +66,6 @@ export default class bingx extends Exchange {
66
66
  createMarketSellOrderWithCost(symbol: string, cost: any, params?: {}): Promise<Order>;
67
67
  createOrderRequest(symbol: string, type: OrderType, side: OrderSide, amount: any, price?: any, params?: {}): any;
68
68
  createOrder(symbol: string, type: OrderType, side: OrderSide, amount: any, price?: any, params?: {}): Promise<Order>;
69
- fixStringifiedJsonMembers(content: any): any;
70
69
  createOrders(orders: OrderRequest[], params?: {}): Promise<Order[]>;
71
70
  parseOrderSide(side: any): string;
72
71
  parseOrder(order: any, market?: Market): Order;
package/js/src/bingx.js CHANGED
@@ -39,6 +39,8 @@ export default class bingx extends Exchange {
39
39
  'createMarketSellOrderWithCost': true,
40
40
  'createOrder': true,
41
41
  'createOrders': true,
42
+ 'createTrailingAmountOrder': true,
43
+ 'createTrailingPercentOrder': true,
42
44
  'fetchBalance': true,
43
45
  'fetchClosedOrders': true,
44
46
  'fetchCurrencies': true,
@@ -1909,16 +1911,6 @@ export default class bingx extends Exchange {
1909
1911
  const order = this.safeValue(data, 'order', data);
1910
1912
  return this.parseOrder(order, market);
1911
1913
  }
1912
- fixStringifiedJsonMembers(content) {
1913
- // when stringified json has members with their values also stringified, like:
1914
- // '{"code":0, "data":{"order":{"orderId":1742968678528512345,"symbol":"BTC-USDT", "takeProfit":"{\"type\":\"TAKE_PROFIT\",\"stopPrice\":43320.1}","reduceOnly":false}}}'
1915
- // we can fix with below manipulations
1916
- // @ts-ignore
1917
- let modifiedContent = content.replaceAll('\\', '');
1918
- modifiedContent = modifiedContent.replaceAll('"{', '{');
1919
- modifiedContent = modifiedContent.replaceAll('}"', '}');
1920
- return modifiedContent;
1921
- }
1922
1914
  async createOrders(orders, params = {}) {
1923
1915
  /**
1924
1916
  * @method
@@ -2430,6 +2422,7 @@ export default class bingx extends Exchange {
2430
2422
  'symbol': market['id'],
2431
2423
  };
2432
2424
  const clientOrderIds = this.safeValue(params, 'clientOrderIds');
2425
+ params = this.omit(params, 'clientOrderIds');
2433
2426
  let idsToParse = ids;
2434
2427
  const areClientOrderIds = (clientOrderIds !== undefined);
2435
2428
  if (areClientOrderIds) {
@@ -2448,8 +2441,12 @@ export default class bingx extends Exchange {
2448
2441
  response = await this.spotV1PrivatePostTradeCancelOrders(this.extend(request, params));
2449
2442
  }
2450
2443
  else {
2451
- const swapReqKey = areClientOrderIds ? 'ClientOrderIDList' : 'orderIdList';
2452
- request[swapReqKey] = parsedIds;
2444
+ if (areClientOrderIds) {
2445
+ request['clientOrderIDList'] = this.json(parsedIds);
2446
+ }
2447
+ else {
2448
+ request['orderIdList'] = parsedIds;
2449
+ }
2453
2450
  response = await this.swapV2PrivateDeleteTradeBatchOrders(this.extend(request, params));
2454
2451
  }
2455
2452
  //
@@ -29,8 +29,8 @@ export default class bitfinex extends Exchange {
29
29
  parseTransfer(transfer: any, currency?: Currency): {
30
30
  info: any;
31
31
  id: any;
32
- timestamp: number;
33
- datetime: string;
32
+ timestamp: any;
33
+ datetime: any;
34
34
  currency: string;
35
35
  amount: any;
36
36
  fromAccount: any;
@@ -792,12 +792,11 @@ export default class bitfinex extends Exchange {
792
792
  // "message": "0.0001 Bitcoin transfered from Margin to Exchange"
793
793
  // }
794
794
  //
795
- const timestamp = this.milliseconds();
796
795
  return {
797
796
  'info': transfer,
798
797
  'id': undefined,
799
- 'timestamp': timestamp,
800
- 'datetime': this.iso8601(timestamp),
798
+ 'timestamp': undefined,
799
+ 'datetime': undefined,
801
800
  'currency': this.safeCurrencyCode(undefined, currency),
802
801
  'amount': undefined,
803
802
  'fromAccount': undefined,
package/js/src/bitget.js CHANGED
@@ -43,6 +43,7 @@ export default class bitget extends Exchange {
43
43
  'createMarketBuyOrderWithCost': true,
44
44
  'createMarketOrderWithCost': false,
45
45
  'createMarketSellOrderWithCost': false,
46
+ 'createTrailingPercentOrder': true,
46
47
  'createOrder': true,
47
48
  'createOrders': true,
48
49
  'createReduceOnlyOrder': false,
@@ -3276,26 +3277,38 @@ export default class bitget extends Exchange {
3276
3277
  'granularity': selectedTimeframe,
3277
3278
  };
3278
3279
  [request, params] = this.handleUntilOption('endTime', request, params);
3279
- if (since !== undefined) {
3280
- request['startTime'] = limit;
3281
- }
3282
3280
  if (limit !== undefined) {
3283
3281
  request['limit'] = limit;
3284
3282
  }
3285
3283
  const options = this.safeValue(this.options, 'fetchOHLCV', {});
3284
+ const spotOptions = this.safeValue(options, 'spot', {});
3285
+ const defaultSpotMethod = this.safeString(spotOptions, 'method', 'publicSpotGetV2SpotMarketCandles');
3286
+ const method = this.safeString(params, 'method', defaultSpotMethod);
3287
+ params = this.omit(params, 'method');
3288
+ if (method !== 'publicSpotGetV2SpotMarketHistoryCandles') {
3289
+ if (since !== undefined) {
3290
+ request['startTime'] = since;
3291
+ }
3292
+ }
3286
3293
  let response = undefined;
3287
3294
  if (market['spot']) {
3288
- const spotOptions = this.safeValue(options, 'spot', {});
3289
- const defaultSpotMethod = this.safeString(spotOptions, 'method', 'publicSpotGetV2SpotMarketCandles');
3290
- const method = this.safeString(params, 'method', defaultSpotMethod);
3291
- params = this.omit(params, 'method');
3292
3295
  if (method === 'publicSpotGetV2SpotMarketCandles') {
3293
3296
  response = await this.publicSpotGetV2SpotMarketCandles(this.extend(request, params));
3294
3297
  }
3295
3298
  else if (method === 'publicSpotGetV2SpotMarketHistoryCandles') {
3296
3299
  const until = this.safeInteger2(params, 'until', 'till');
3297
3300
  params = this.omit(params, ['until', 'till']);
3298
- if (until === undefined) {
3301
+ if (since !== undefined) {
3302
+ if (limit === undefined) {
3303
+ limit = 100; // exchange default
3304
+ }
3305
+ const duration = this.parseTimeframe(timeframe) * 1000;
3306
+ request['endTime'] = this.sum(since, duration * limit);
3307
+ }
3308
+ else if (until !== undefined) {
3309
+ request['endTime'] = until;
3310
+ }
3311
+ else {
3299
3312
  request['endTime'] = this.milliseconds();
3300
3313
  }
3301
3314
  response = await this.publicSpotGetV2SpotMarketHistoryCandles(this.extend(request, params));
@@ -4011,6 +4024,7 @@ export default class bitget extends Exchange {
4011
4024
  * @param {string} [params.trailingPercent] *swap and future only* the percent to trail away from the current market price, rate can not be greater than 10
4012
4025
  * @param {string} [params.trailingTriggerPrice] *swap and future only* the price to trigger a trailing stop order, default uses the price argument
4013
4026
  * @param {string} [params.triggerType] *swap and future only* 'fill_price', 'mark_price' or 'index_price'
4027
+ * @param {boolean} [params.oneWayMode] *swap and future only* required to set this to true in one_way_mode and you can leave this as undefined in hedge_mode, can adjust the mode using the setPositionMode() method
4014
4028
  * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
4015
4029
  */
4016
4030
  await this.loadMarkets();
@@ -4204,15 +4218,23 @@ export default class bitget extends Exchange {
4204
4218
  }
4205
4219
  const marginModeRequest = (marginMode === 'cross') ? 'crossed' : 'isolated';
4206
4220
  request['marginMode'] = marginModeRequest;
4221
+ const oneWayMode = this.safeValue(params, 'oneWayMode', false);
4222
+ params = this.omit(params, 'oneWayMode');
4207
4223
  let requestSide = side;
4208
4224
  if (reduceOnly) {
4209
- request['reduceOnly'] = 'YES';
4210
- request['tradeSide'] = 'Close';
4211
- // on bitget if the position is long the side is always buy, and if the position is short the side is always sell
4212
- requestSide = (side === 'buy') ? 'sell' : 'buy';
4225
+ if (oneWayMode) {
4226
+ request['reduceOnly'] = 'YES';
4227
+ }
4228
+ else {
4229
+ // on bitget hedge mode if the position is long the side is always buy, and if the position is short the side is always sell
4230
+ requestSide = (side === 'buy') ? 'sell' : 'buy';
4231
+ request['tradeSide'] = 'Close';
4232
+ }
4213
4233
  }
4214
4234
  else {
4215
- request['tradeSide'] = 'Open';
4235
+ if (!oneWayMode) {
4236
+ request['tradeSide'] = 'Open';
4237
+ }
4216
4238
  }
4217
4239
  request['side'] = requestSide;
4218
4240
  }
@@ -109,8 +109,8 @@ export default class bitmart extends Exchange {
109
109
  currency: string;
110
110
  amount: any;
111
111
  symbol: any;
112
- timestamp: number;
113
- datetime: string;
112
+ timestamp: any;
113
+ datetime: any;
114
114
  info: any;
115
115
  };
116
116
  fetchIsolatedBorrowRate(symbol: string, params?: {}): Promise<{
package/js/src/bitmart.js CHANGED
@@ -42,6 +42,7 @@ export default class bitmart extends Exchange {
42
42
  'createMarketBuyOrderWithCost': true,
43
43
  'createMarketOrderWithCost': false,
44
44
  'createMarketSellOrderWithCost': false,
45
+ 'createTrailingPercentOrder': true,
45
46
  'createOrder': true,
46
47
  'createPostOnlyOrder': true,
47
48
  'createStopLimitOrder': false,
@@ -3515,14 +3516,13 @@ export default class bitmart extends Exchange {
3515
3516
  // "repay_id": "2afcc16d99bd4707818c5a355dc89bed",
3516
3517
  // }
3517
3518
  //
3518
- const timestamp = this.milliseconds();
3519
3519
  return {
3520
3520
  'id': this.safeString2(info, 'borrow_id', 'repay_id'),
3521
3521
  'currency': this.safeCurrencyCode(undefined, currency),
3522
3522
  'amount': undefined,
3523
3523
  'symbol': undefined,
3524
- 'timestamp': timestamp,
3525
- 'datetime': this.iso8601(timestamp),
3524
+ 'timestamp': undefined,
3525
+ 'datetime': undefined,
3526
3526
  'info': info,
3527
3527
  };
3528
3528
  }
package/js/src/bitmex.js CHANGED
@@ -45,6 +45,7 @@ export default class bitmex extends Exchange {
45
45
  'closePosition': true,
46
46
  'createOrder': true,
47
47
  'createReduceOnlyOrder': true,
48
+ 'createTrailingAmountOrder': true,
48
49
  'editOrder': true,
49
50
  'fetchBalance': true,
50
51
  'fetchClosedOrders': true,
package/js/src/bybit.js CHANGED
@@ -42,6 +42,7 @@ export default class bybit extends Exchange {
42
42
  'closePosition': false,
43
43
  'createMarketBuyOrderWithCost': true,
44
44
  'createMarketSellOrderWithCost': false,
45
+ 'createTrailingAmountOrder': true,
45
46
  'createOrder': true,
46
47
  'createOrders': true,
47
48
  'createPostOnlyOrder': true,
@@ -295,6 +296,7 @@ export default class bybit extends Exchange {
295
296
  'v5/account/wallet-balance': 1,
296
297
  'v5/account/borrow-history': 1,
297
298
  'v5/account/set-collateral-switch': 5,
299
+ 'v5/account/set-collateral-switch-batch': 5,
298
300
  'v5/account/collateral-info': 1,
299
301
  'v5/asset/coin-greeks': 1,
300
302
  'v5/account/fee-rate': 10,
@@ -319,7 +321,7 @@ export default class bybit extends Exchange {
319
321
  'v5/asset/deposit/query-internal-record': 5,
320
322
  'v5/asset/deposit/query-address': 10,
321
323
  'v5/asset/deposit/query-sub-member-address': 10,
322
- 'v5/asset/coin/query-info': 25,
324
+ 'v5/asset/coin/query-info': 28,
323
325
  'v5/asset/withdraw/query-record': 10,
324
326
  'v5/asset/withdraw/withdrawable-amount': 5,
325
327
  // user
@@ -1112,11 +1112,10 @@ export default class coinlist extends Exchange {
1112
1112
  // "net_liquidation_value_usd": "string"
1113
1113
  // }
1114
1114
  //
1115
- const timestamp = this.milliseconds();
1116
1115
  const result = {
1117
1116
  'info': response,
1118
- 'timestamp': timestamp,
1119
- 'datetime': this.iso8601(timestamp),
1117
+ 'timestamp': undefined,
1118
+ 'datetime': undefined,
1120
1119
  };
1121
1120
  const totalBalances = this.safeValue(response, 'asset_balances', {});
1122
1121
  const usedBalances = this.safeValue(response, 'asset_holds', {});
package/js/src/coinsph.js CHANGED
@@ -1064,11 +1064,10 @@ export default class coinsph extends Exchange {
1064
1064
  }
1065
1065
  parseBalance(response) {
1066
1066
  const balances = this.safeValue(response, 'balances', []);
1067
- const timestamp = this.milliseconds();
1068
1067
  const result = {
1069
1068
  'info': response,
1070
- 'timestamp': timestamp,
1071
- 'datetime': this.iso8601(timestamp),
1069
+ 'timestamp': undefined,
1070
+ 'datetime': undefined,
1072
1071
  };
1073
1072
  for (let i = 0; i < balances.length; i++) {
1074
1073
  const balance = balances[i];
package/js/src/deribit.js CHANGED
@@ -39,6 +39,7 @@ export default class deribit extends Exchange {
39
39
  'cancelOrder': true,
40
40
  'cancelOrders': false,
41
41
  'createDepositAddress': true,
42
+ 'createTrailingAmountOrder': true,
42
43
  'createOrder': true,
43
44
  'createStopLimitOrder': true,
44
45
  'createStopMarketOrder': true,
package/js/src/gate.d.ts CHANGED
@@ -195,8 +195,8 @@ export default class gate extends Exchange {
195
195
  cancelAllOrders(symbol?: Str, params?: {}): Promise<Order[]>;
196
196
  transfer(code: string, amount: any, fromAccount: any, toAccount: any, params?: {}): Promise<{
197
197
  id: string;
198
- timestamp: number;
199
- datetime: string;
198
+ timestamp: any;
199
+ datetime: any;
200
200
  currency: string;
201
201
  amount: any;
202
202
  fromAccount: any;
@@ -206,8 +206,8 @@ export default class gate extends Exchange {
206
206
  }>;
207
207
  parseTransfer(transfer: any, currency?: Currency): {
208
208
  id: string;
209
- timestamp: number;
210
- datetime: string;
209
+ timestamp: any;
210
+ datetime: any;
211
211
  currency: string;
212
212
  amount: any;
213
213
  fromAccount: any;
package/js/src/gate.js CHANGED
@@ -430,6 +430,7 @@ export default class gate extends Exchange {
430
430
  '{settle}/orders': 0.4,
431
431
  '{settle}/batch_orders': 0.4,
432
432
  '{settle}/countdown_cancel_all': 0.4,
433
+ '{settle}/batch_cancel_orders': 0.4,
433
434
  '{settle}/price_orders': 0.4,
434
435
  },
435
436
  'put': {
@@ -520,11 +521,21 @@ export default class gate extends Exchange {
520
521
  'collateral/total_amount': 20 / 15,
521
522
  'collateral/ltv': 20 / 15,
522
523
  'collateral/currencies': 20 / 15,
524
+ 'multi_collateral/orders': 20 / 15,
525
+ 'multi_collateral/orders/{order_id}': 20 / 15,
526
+ 'multi_collateral/repay': 20 / 15,
527
+ 'multi_collateral/mortgage': 20 / 15,
528
+ 'multi_collateral/currency_quota': 20 / 15,
529
+ 'multi_collateral/currencies': 20 / 15,
530
+ 'multi_collateral/ltv': 20 / 15,
523
531
  },
524
532
  'post': {
525
533
  'collateral/orders': 20 / 15,
526
534
  'collateral/repay': 20 / 15,
527
535
  'collateral/collaterals': 20 / 15,
536
+ 'multi_collateral/orders': 20 / 15,
537
+ 'multi_collateral/repay': 20 / 15,
538
+ 'multi_collateral/mortgage': 20 / 15,
528
539
  },
529
540
  },
530
541
  'account': {
@@ -5150,11 +5161,19 @@ export default class gate extends Exchange {
5150
5161
  return this.parseTransfer(response, currency);
5151
5162
  }
5152
5163
  parseTransfer(transfer, currency = undefined) {
5153
- const timestamp = this.milliseconds();
5164
+ //
5165
+ // {
5166
+ // "currency": "BTC",
5167
+ // "from": "spot",
5168
+ // "to": "margin",
5169
+ // "amount": "1",
5170
+ // "currency_pair": "BTC_USDT"
5171
+ // }
5172
+ //
5154
5173
  return {
5155
5174
  'id': this.safeString(transfer, 'tx_id'),
5156
- 'timestamp': timestamp,
5157
- 'datetime': this.iso8601(timestamp),
5175
+ 'timestamp': undefined,
5176
+ 'datetime': undefined,
5158
5177
  'currency': this.safeCurrencyCode(undefined, currency),
5159
5178
  'amount': undefined,
5160
5179
  'fromAccount': undefined,
@@ -72,8 +72,8 @@ export default class hitbtc extends Exchange {
72
72
  fetchMarginMode(symbol?: Str, params?: {}): Promise<MarginMode>;
73
73
  transfer(code: string, amount: any, fromAccount: any, toAccount: any, params?: {}): Promise<{
74
74
  id: string;
75
- timestamp: number;
76
- datetime: string;
75
+ timestamp: any;
76
+ datetime: any;
77
77
  currency: string;
78
78
  amount: any;
79
79
  fromAccount: any;
@@ -83,8 +83,8 @@ export default class hitbtc extends Exchange {
83
83
  }>;
84
84
  parseTransfer(transfer: any, currency?: Currency): {
85
85
  id: string;
86
- timestamp: number;
87
- datetime: string;
86
+ timestamp: any;
87
+ datetime: any;
88
88
  currency: string;
89
89
  amount: any;
90
90
  fromAccount: any;
package/js/src/hitbtc.js CHANGED
@@ -2633,11 +2633,10 @@ export default class hitbtc extends Exchange {
2633
2633
  // "2db6ebab-fb26-4537-9ef8-1a689472d236"
2634
2634
  // ]
2635
2635
  //
2636
- const timestamp = this.milliseconds();
2637
2636
  return {
2638
2637
  'id': this.safeString(transfer, 0),
2639
- 'timestamp': timestamp,
2640
- 'datetime': this.iso8601(timestamp),
2638
+ 'timestamp': undefined,
2639
+ 'datetime': undefined,
2641
2640
  'currency': this.safeCurrencyCode(undefined, currency),
2642
2641
  'amount': undefined,
2643
2642
  'fromAccount': undefined,
package/js/src/htx.js CHANGED
@@ -44,6 +44,7 @@ export default class htx extends Exchange {
44
44
  'createMarketBuyOrderWithCost': true,
45
45
  'createMarketOrderWithCost': false,
46
46
  'createMarketSellOrderWithCost': false,
47
+ 'createTrailingPercentOrder': true,
47
48
  'createOrder': true,
48
49
  'createOrders': true,
49
50
  'createReduceOnlyOrder': false,
@@ -5183,15 +5184,11 @@ export default class htx extends Exchange {
5183
5184
  }
5184
5185
  }
5185
5186
  if (!isStopLossTriggerOrder && !isTakeProfitTriggerOrder) {
5186
- const leverRate = this.safeIntegerN(params, ['leverRate', 'lever_rate', 'leverage'], 1);
5187
5187
  const reduceOnly = this.safeValue2(params, 'reduceOnly', 'reduce_only', false);
5188
- const openOrClose = (reduceOnly) ? 'close' : 'open';
5189
- const offset = this.safeString(params, 'offset', openOrClose);
5190
- request['offset'] = offset;
5191
5188
  if (reduceOnly) {
5192
5189
  request['reduce_only'] = 1;
5193
5190
  }
5194
- request['lever_rate'] = leverRate;
5191
+ request['lever_rate'] = this.safeIntegerN(params, ['leverRate', 'lever_rate', 'leverage'], 1);
5195
5192
  if (!isTrailingPercentOrder) {
5196
5193
  request['order_price_type'] = type;
5197
5194
  }
@@ -5255,10 +5252,10 @@ export default class htx extends Exchange {
5255
5252
  response = await this.spotPrivatePostV1OrderOrdersPlace(spotRequest);
5256
5253
  }
5257
5254
  else {
5258
- const contractRequest = this.createContractOrderRequest(symbol, type, side, amount, price, params);
5255
+ let contractRequest = this.createContractOrderRequest(symbol, type, side, amount, price, params);
5259
5256
  if (market['linear']) {
5260
5257
  let marginMode = undefined;
5261
- [marginMode, params] = this.handleMarginModeAndParams('createOrder', params);
5258
+ [marginMode, contractRequest] = this.handleMarginModeAndParams('createOrder', contractRequest);
5262
5259
  marginMode = (marginMode === undefined) ? 'cross' : marginMode;
5263
5260
  if (marginMode === 'isolated') {
5264
5261
  if (isStop) {
package/js/src/huobijp.js CHANGED
@@ -1451,13 +1451,12 @@ export default class huobijp extends Exchange {
1451
1451
  }
1452
1452
  const method = this.options['createOrderMethod'];
1453
1453
  const response = await this[method](this.extend(request, params));
1454
- const timestamp = this.milliseconds();
1455
1454
  const id = this.safeString(response, 'data');
1456
1455
  return this.safeOrder({
1457
1456
  'info': response,
1458
1457
  'id': id,
1459
- 'timestamp': timestamp,
1460
- 'datetime': this.iso8601(timestamp),
1458
+ 'timestamp': undefined,
1459
+ 'datetime': undefined,
1461
1460
  'lastTradeTimestamp': undefined,
1462
1461
  'status': undefined,
1463
1462
  'symbol': symbol,
package/js/src/kraken.js CHANGED
@@ -41,6 +41,7 @@ export default class kraken extends Exchange {
41
41
  'createOrder': true,
42
42
  'createStopLimitOrder': true,
43
43
  'createStopMarketOrder': true,
44
+ 'createTrailingAmountOrder': true,
44
45
  'createStopOrder': true,
45
46
  'editOrder': true,
46
47
  'fetchBalance': true,