ccxt 4.2.11 → 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 (375) hide show
  1. package/README.md +5 -5
  2. package/build.sh +2 -2
  3. package/dist/ccxt.browser.js +640 -261
  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/js/ccxt.d.ts +1 -1
  329. package/js/ccxt.js +1 -1
  330. package/js/src/abstract/bigone.d.ts +18 -0
  331. package/js/src/abstract/binance.d.ts +2 -0
  332. package/js/src/abstract/binancecoinm.d.ts +2 -0
  333. package/js/src/abstract/binanceus.d.ts +2 -0
  334. package/js/src/abstract/binanceusdm.d.ts +2 -0
  335. package/js/src/abstract/bybit.d.ts +1 -0
  336. package/js/src/abstract/gate.d.ts +11 -0
  337. package/js/src/abstract/gateio.d.ts +11 -0
  338. package/js/src/alpaca.js +18 -18
  339. package/js/src/base/Exchange.d.ts +5 -1
  340. package/js/src/base/Exchange.js +101 -12
  341. package/js/src/bigone.d.ts +1 -2
  342. package/js/src/bigone.js +340 -145
  343. package/js/src/binance.js +15 -8
  344. package/js/src/bingx.js +9 -2
  345. package/js/src/bitfinex.d.ts +2 -2
  346. package/js/src/bitfinex.js +2 -3
  347. package/js/src/bitget.js +21 -8
  348. package/js/src/bitmart.d.ts +2 -2
  349. package/js/src/bitmart.js +3 -3
  350. package/js/src/bitmex.js +1 -0
  351. package/js/src/bybit.js +2 -0
  352. package/js/src/coinlist.js +2 -3
  353. package/js/src/coinsph.js +2 -3
  354. package/js/src/deribit.js +1 -0
  355. package/js/src/gate.d.ts +4 -4
  356. package/js/src/gate.js +22 -3
  357. package/js/src/hitbtc.d.ts +4 -4
  358. package/js/src/hitbtc.js +2 -3
  359. package/js/src/htx.js +4 -7
  360. package/js/src/huobijp.js +2 -3
  361. package/js/src/kraken.js +1 -0
  362. package/js/src/mexc.js +2 -1
  363. package/js/src/okx.js +13 -3
  364. package/js/src/pro/binance.d.ts +2 -23
  365. package/js/src/pro/binance.js +58 -22
  366. package/js/src/pro/coinbase.d.ts +2 -2
  367. package/js/src/pro/coinbase.js +4 -1
  368. package/js/src/pro/coinbasepro.d.ts +2 -2
  369. package/js/src/pro/hitbtc.d.ts +2 -2
  370. package/js/src/pro/poloniex.d.ts +2 -2
  371. package/js/src/upbit.d.ts +3 -101
  372. package/js/src/upbit.js +12 -12
  373. package/js/src/woo.js +2 -0
  374. package/package.json +1 -1
  375. package/skip-tests.json +5 -0
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.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,
@@ -2420,6 +2422,7 @@ export default class bingx extends Exchange {
2420
2422
  'symbol': market['id'],
2421
2423
  };
2422
2424
  const clientOrderIds = this.safeValue(params, 'clientOrderIds');
2425
+ params = this.omit(params, 'clientOrderIds');
2423
2426
  let idsToParse = ids;
2424
2427
  const areClientOrderIds = (clientOrderIds !== undefined);
2425
2428
  if (areClientOrderIds) {
@@ -2438,8 +2441,12 @@ export default class bingx extends Exchange {
2438
2441
  response = await this.spotV1PrivatePostTradeCancelOrders(this.extend(request, params));
2439
2442
  }
2440
2443
  else {
2441
- const swapReqKey = areClientOrderIds ? 'ClientOrderIDList' : 'orderIdList';
2442
- request[swapReqKey] = parsedIds;
2444
+ if (areClientOrderIds) {
2445
+ request['clientOrderIDList'] = this.json(parsedIds);
2446
+ }
2447
+ else {
2448
+ request['orderIdList'] = parsedIds;
2449
+ }
2443
2450
  response = await this.swapV2PrivateDeleteTradeBatchOrders(this.extend(request, params));
2444
2451
  }
2445
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));
@@ -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,
@@ -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,
package/js/src/mexc.js CHANGED
@@ -1328,7 +1328,8 @@ export default class mexc extends Exchange {
1328
1328
  // ]
1329
1329
  // }
1330
1330
  //
1331
- orderbook = this.parseOrderBook(response, symbol);
1331
+ const spotTimestamp = this.safeInteger(response, 'timestamp');
1332
+ orderbook = this.parseOrderBook(response, symbol, spotTimestamp);
1332
1333
  orderbook['nonce'] = this.safeInteger(response, 'lastUpdateId');
1333
1334
  }
1334
1335
  else if (market['swap']) {
package/js/src/okx.js CHANGED
@@ -41,6 +41,7 @@ export default class okx extends Exchange {
41
41
  'createDepositAddress': false,
42
42
  'createMarketBuyOrderWithCost': true,
43
43
  'createMarketSellOrderWithCost': true,
44
+ 'createTrailingPercentOrder': true,
44
45
  'createOrder': true,
45
46
  'createOrders': true,
46
47
  'createPostOnlyOrder': true,
@@ -160,8 +161,7 @@ export default class okx extends Exchange {
160
161
  'referral': {
161
162
  // old reflink 0% discount https://www.okx.com/join/1888677
162
163
  // new reflink 20% discount https://www.okx.com/join/CCXT2023
163
- // okx + ccxt campaign reflink with 20% discount https://www.okx.com/activities/ccxt-trade-and-earn?channelid=CCXT2023
164
- 'url': 'https://www.okx.com/activities/ccxt-trade-and-earn?channelid=CCXT2023',
164
+ 'url': 'https://www.okx.com/join/CCXT2023',
165
165
  'discount': 0.2,
166
166
  },
167
167
  'test': {
@@ -1218,10 +1218,20 @@ export default class okx extends Exchange {
1218
1218
  for (let i = 0; i < data.length; i++) {
1219
1219
  const event = data[i];
1220
1220
  const state = this.safeString(event, 'state');
1221
+ update['eta'] = this.safeInteger(event, 'end');
1222
+ update['url'] = this.safeString(event, 'href');
1221
1223
  if (state === 'ongoing') {
1222
- update['eta'] = this.safeInteger(event, 'end');
1223
1224
  update['status'] = 'maintenance';
1224
1225
  }
1226
+ else if (state === 'scheduled') {
1227
+ update['status'] = 'ok';
1228
+ }
1229
+ else if (state === 'completed') {
1230
+ update['status'] = 'ok';
1231
+ }
1232
+ else if (state === 'canceled') {
1233
+ update['status'] = 'ok';
1234
+ }
1225
1235
  }
1226
1236
  return update;
1227
1237
  }
@@ -4,7 +4,7 @@ import Client from '../base/ws/Client.js';
4
4
  export default class binance extends binanceRest {
5
5
  describe(): any;
6
6
  requestId(url: any): any;
7
- stream(type: any, subscriptionHash: any): string;
7
+ stream(type: any, subscriptionHash: any, numSubscriptions?: number): string;
8
8
  watchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
9
9
  watchOrderBookForSymbols(symbols: string[], limit?: Int, params?: {}): Promise<OrderBook>;
10
10
  fetchOrderBookSnapshot(client: any, message: any, subscription: any): Promise<void>;
@@ -22,28 +22,7 @@ export default class binance extends binanceRest {
22
22
  handleOHLCV(client: Client, message: any): void;
23
23
  watchTicker(symbol: string, params?: {}): Promise<Ticker>;
24
24
  watchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
25
- parseWsTicker(message: any, marketType: any): {
26
- symbol: string;
27
- timestamp: any;
28
- datetime: string;
29
- high: number;
30
- low: number;
31
- bid: number;
32
- bidVolume: number;
33
- ask: number;
34
- askVolume: number;
35
- vwap: number;
36
- open: number;
37
- close: number;
38
- last: number;
39
- previousClose: number;
40
- change: number;
41
- percentage: number;
42
- average: any;
43
- baseVolume: number;
44
- quoteVolume: number;
45
- info: any;
46
- };
25
+ parseWsTicker(message: any, marketType: any): Ticker;
47
26
  handleTicker(client: Client, message: any): void;
48
27
  handleTickers(client: Client, message: any): void;
49
28
  signParams(params?: {}): any;