ccxt 4.4.46 → 4.4.48

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 (517) hide show
  1. package/README.md +3 -4
  2. package/dist/ccxt.browser.min.js +16 -16
  3. package/dist/cjs/ccxt.js +1 -1
  4. package/dist/cjs/src/abstract/ace.js +1 -1
  5. package/dist/cjs/src/abstract/alpaca.js +1 -1
  6. package/dist/cjs/src/abstract/ascendex.js +1 -1
  7. package/dist/cjs/src/abstract/bigone.js +1 -1
  8. package/dist/cjs/src/abstract/binance.js +1 -1
  9. package/dist/cjs/src/abstract/bingx.js +1 -1
  10. package/dist/cjs/src/abstract/bit2c.js +1 -1
  11. package/dist/cjs/src/abstract/bitbank.js +1 -1
  12. package/dist/cjs/src/abstract/bitbns.js +1 -1
  13. package/dist/cjs/src/abstract/bitfinex.js +1 -1
  14. package/dist/cjs/src/abstract/bitfinex1.js +1 -1
  15. package/dist/cjs/src/abstract/bitflyer.js +1 -1
  16. package/dist/cjs/src/abstract/bitget.js +1 -1
  17. package/dist/cjs/src/abstract/bithumb.js +1 -1
  18. package/dist/cjs/src/abstract/bitmart.js +1 -1
  19. package/dist/cjs/src/abstract/bitmex.js +1 -1
  20. package/dist/cjs/src/abstract/bitopro.js +1 -1
  21. package/dist/cjs/src/abstract/bitrue.js +1 -1
  22. package/dist/cjs/src/abstract/bitso.js +1 -1
  23. package/dist/cjs/src/abstract/bitstamp.js +1 -1
  24. package/dist/cjs/src/abstract/bitteam.js +1 -1
  25. package/dist/cjs/src/abstract/bitvavo.js +1 -1
  26. package/dist/cjs/src/abstract/bl3p.js +1 -1
  27. package/dist/cjs/src/abstract/blockchaincom.js +1 -1
  28. package/dist/cjs/src/abstract/blofin.js +1 -1
  29. package/dist/cjs/src/abstract/btcalpha.js +1 -1
  30. package/dist/cjs/src/abstract/btcbox.js +1 -1
  31. package/dist/cjs/src/abstract/btcmarkets.js +1 -1
  32. package/dist/cjs/src/abstract/btcturk.js +1 -1
  33. package/dist/cjs/src/abstract/bybit.js +1 -1
  34. package/dist/cjs/src/abstract/cex.js +1 -1
  35. package/dist/cjs/src/abstract/coinbase.js +1 -1
  36. package/dist/cjs/src/abstract/coinbaseexchange.js +1 -1
  37. package/dist/cjs/src/abstract/coinbaseinternational.js +1 -1
  38. package/dist/cjs/src/abstract/coincatch.js +1 -1
  39. package/dist/cjs/src/abstract/coincheck.js +1 -1
  40. package/dist/cjs/src/abstract/coinex.js +1 -1
  41. package/dist/cjs/src/abstract/coinlist.js +1 -1
  42. package/dist/cjs/src/abstract/coinmate.js +1 -1
  43. package/dist/cjs/src/abstract/coinmetro.js +1 -1
  44. package/dist/cjs/src/abstract/coinone.js +1 -1
  45. package/dist/cjs/src/abstract/coinsph.js +1 -1
  46. package/dist/cjs/src/abstract/coinspot.js +1 -1
  47. package/dist/cjs/src/abstract/cryptocom.js +1 -1
  48. package/dist/cjs/src/abstract/currencycom.js +1 -1
  49. package/dist/cjs/src/abstract/defx.js +1 -1
  50. package/dist/cjs/src/abstract/delta.js +1 -1
  51. package/dist/cjs/src/abstract/deribit.js +1 -1
  52. package/dist/cjs/src/abstract/digifinex.js +1 -1
  53. package/dist/cjs/src/abstract/ellipx.js +1 -1
  54. package/dist/cjs/src/abstract/exmo.js +1 -1
  55. package/dist/cjs/src/abstract/gate.js +1 -1
  56. package/dist/cjs/src/abstract/gemini.js +1 -1
  57. package/dist/cjs/src/abstract/hashkey.js +1 -1
  58. package/dist/cjs/src/abstract/hitbtc.js +1 -1
  59. package/dist/cjs/src/abstract/hollaex.js +1 -1
  60. package/dist/cjs/src/abstract/htx.js +1 -1
  61. package/dist/cjs/src/abstract/huobijp.js +1 -1
  62. package/dist/cjs/src/abstract/hyperliquid.js +1 -1
  63. package/dist/cjs/src/abstract/idex.js +1 -1
  64. package/dist/cjs/src/abstract/independentreserve.js +1 -1
  65. package/dist/cjs/src/abstract/indodax.js +1 -1
  66. package/dist/cjs/src/abstract/kraken.js +1 -1
  67. package/dist/cjs/src/abstract/krakenfutures.js +1 -1
  68. package/dist/cjs/src/abstract/kucoin.js +1 -1
  69. package/dist/cjs/src/abstract/kucoinfutures.js +1 -1
  70. package/dist/cjs/src/abstract/kuna.js +1 -1
  71. package/dist/cjs/src/abstract/latoken.js +1 -1
  72. package/dist/cjs/src/abstract/lbank.js +1 -1
  73. package/dist/cjs/src/abstract/luno.js +1 -1
  74. package/dist/cjs/src/abstract/lykke.js +1 -1
  75. package/dist/cjs/src/abstract/mercado.js +1 -1
  76. package/dist/cjs/src/abstract/mexc.js +1 -1
  77. package/dist/cjs/src/abstract/ndax.js +1 -1
  78. package/dist/cjs/src/abstract/novadax.js +1 -1
  79. package/dist/cjs/src/abstract/oceanex.js +1 -1
  80. package/dist/cjs/src/abstract/okcoin.js +1 -1
  81. package/dist/cjs/src/abstract/okx.js +1 -1
  82. package/dist/cjs/src/abstract/onetrading.js +1 -1
  83. package/dist/cjs/src/abstract/oxfun.js +1 -1
  84. package/dist/cjs/src/abstract/p2b.js +1 -1
  85. package/dist/cjs/src/abstract/paradex.js +1 -1
  86. package/dist/cjs/src/abstract/paymium.js +1 -1
  87. package/dist/cjs/src/abstract/phemex.js +1 -1
  88. package/dist/cjs/src/abstract/poloniex.js +1 -1
  89. package/dist/cjs/src/abstract/poloniexfutures.js +1 -1
  90. package/dist/cjs/src/abstract/probit.js +1 -1
  91. package/dist/cjs/src/abstract/timex.js +1 -1
  92. package/dist/cjs/src/abstract/tokocrypto.js +1 -1
  93. package/dist/cjs/src/abstract/tradeogre.js +1 -1
  94. package/dist/cjs/src/abstract/upbit.js +1 -1
  95. package/dist/cjs/src/abstract/vertex.js +1 -1
  96. package/dist/cjs/src/abstract/wavesexchange.js +1 -1
  97. package/dist/cjs/src/abstract/wazirx.js +1 -1
  98. package/dist/cjs/src/abstract/whitebit.js +1 -1
  99. package/dist/cjs/src/abstract/woo.js +1 -1
  100. package/dist/cjs/src/abstract/woofipro.js +1 -1
  101. package/dist/cjs/src/abstract/xt.js +1 -1
  102. package/dist/cjs/src/abstract/yobit.js +1 -1
  103. package/dist/cjs/src/abstract/zaif.js +1 -1
  104. package/dist/cjs/src/abstract/zonda.js +1 -1
  105. package/dist/cjs/src/ace.js +60 -2
  106. package/dist/cjs/src/alpaca.js +81 -1
  107. package/dist/cjs/src/ascendex.js +96 -3
  108. package/dist/cjs/src/base/Exchange.js +16 -14
  109. package/dist/cjs/src/base/Precise.js +6 -0
  110. package/dist/cjs/src/base/errors.js +6 -0
  111. package/dist/cjs/src/base/functions/crypto.js +1 -1
  112. package/dist/cjs/src/base/functions/encode.js +1 -1
  113. package/dist/cjs/src/base/functions/misc.js +1 -0
  114. package/dist/cjs/src/base/functions/number.js +6 -0
  115. package/dist/cjs/src/base/functions/platform.js +6 -0
  116. package/dist/cjs/src/base/functions/rsa.js +1 -0
  117. package/dist/cjs/src/base/functions/string.js +6 -0
  118. package/dist/cjs/src/base/functions/throttle.js +1 -1
  119. package/dist/cjs/src/base/functions/time.js +6 -0
  120. package/dist/cjs/src/base/functions/totp.js +1 -0
  121. package/dist/cjs/src/base/functions/type.js +6 -0
  122. package/dist/cjs/src/base/functions.js +1 -1
  123. package/dist/cjs/src/base/ws/Cache.js +6 -0
  124. package/dist/cjs/src/base/ws/Client.js +1 -0
  125. package/dist/cjs/src/base/ws/Future.js +1 -1
  126. package/dist/cjs/src/base/ws/OrderBook.js +1 -1
  127. package/dist/cjs/src/base/ws/OrderBookSide.js +6 -0
  128. package/dist/cjs/src/base/ws/WsClient.js +1 -1
  129. package/dist/cjs/src/bequant.js +1 -1
  130. package/dist/cjs/src/bigone.js +117 -5
  131. package/dist/cjs/src/binance.js +22 -19
  132. package/dist/cjs/src/binancecoinm.js +1 -1
  133. package/dist/cjs/src/binanceus.js +11 -1
  134. package/dist/cjs/src/binanceusdm.js +1 -1
  135. package/dist/cjs/src/bingx.js +2 -3
  136. package/dist/cjs/src/bit2c.js +57 -1
  137. package/dist/cjs/src/bitbank.js +59 -1
  138. package/dist/cjs/src/bitbns.js +61 -1
  139. package/dist/cjs/src/bitcoincom.js +1 -1
  140. package/dist/cjs/src/bitfinex.js +3 -4
  141. package/dist/cjs/src/bitfinex1.js +12 -2
  142. package/dist/cjs/src/bitflyer.js +72 -1
  143. package/dist/cjs/src/bitget.js +6 -5
  144. package/dist/cjs/src/bithumb.js +55 -1
  145. package/dist/cjs/src/bitmart.js +8 -3
  146. package/dist/cjs/src/bitmex.js +7 -5
  147. package/dist/cjs/src/bitopro.js +75 -1
  148. package/dist/cjs/src/bitpanda.js +1 -1
  149. package/dist/cjs/src/bitrue.js +98 -18
  150. package/dist/cjs/src/bitso.js +60 -1
  151. package/dist/cjs/src/bitstamp.js +1 -1
  152. package/dist/cjs/src/bitteam.js +74 -1
  153. package/dist/cjs/src/bitvavo.js +68 -2
  154. package/dist/cjs/src/bl3p.js +43 -1
  155. package/dist/cjs/src/blockchaincom.js +67 -3
  156. package/dist/cjs/src/blofin.js +88 -2
  157. package/dist/cjs/src/btcalpha.js +74 -1
  158. package/dist/cjs/src/btcbox.js +59 -1
  159. package/dist/cjs/src/btcmarkets.js +74 -1
  160. package/dist/cjs/src/btcturk.js +62 -1
  161. package/dist/cjs/src/bybit.js +16 -5
  162. package/dist/cjs/src/cex.js +58 -1
  163. package/dist/cjs/src/coinbase.js +12 -2
  164. package/dist/cjs/src/coinbaseadvanced.js +1 -1
  165. package/dist/cjs/src/coinbaseexchange.js +76 -0
  166. package/dist/cjs/src/coincatch.js +87 -3
  167. package/dist/cjs/src/coincheck.js +53 -1
  168. package/dist/cjs/src/coinex.js +2 -3
  169. package/dist/cjs/src/coinlist.js +78 -0
  170. package/dist/cjs/src/coinmate.js +64 -1
  171. package/dist/cjs/src/coinmetro.js +69 -1
  172. package/dist/cjs/src/coinone.js +57 -1
  173. package/dist/cjs/src/coinsph.js +68 -1
  174. package/dist/cjs/src/coinspot.js +48 -1
  175. package/dist/cjs/src/cryptocom.js +1 -1
  176. package/dist/cjs/src/currencycom.js +73 -1
  177. package/dist/cjs/src/defx.js +94 -7
  178. package/dist/cjs/src/delta.js +85 -4
  179. package/dist/cjs/src/deribit.js +1 -1
  180. package/dist/cjs/src/digifinex.js +1 -1
  181. package/dist/cjs/src/ellipx.js +1 -1
  182. package/dist/cjs/src/exmo.js +1 -1
  183. package/dist/cjs/src/fmfwio.js +1 -1
  184. package/dist/cjs/src/gate.js +14 -5
  185. package/dist/cjs/src/gateio.js +1 -1
  186. package/dist/cjs/src/gemini.js +1 -1
  187. package/dist/cjs/src/hashkey.js +2 -3
  188. package/dist/cjs/src/hitbtc.js +1 -0
  189. package/dist/cjs/src/hollaex.js +2 -2
  190. package/dist/cjs/src/htx.js +13 -7
  191. package/dist/cjs/src/huobi.js +1 -1
  192. package/dist/cjs/src/huobijp.js +1 -1
  193. package/dist/cjs/src/hyperliquid.js +12 -6
  194. package/dist/cjs/src/idex.js +1 -1
  195. package/dist/cjs/src/independentreserve.js +61 -1
  196. package/dist/cjs/src/indodax.js +1 -1
  197. package/dist/cjs/src/kraken.js +2 -2
  198. package/dist/cjs/src/krakenfutures.js +8 -5
  199. package/dist/cjs/src/kucoin.js +1 -1
  200. package/dist/cjs/src/kucoinfutures.js +1 -1
  201. package/dist/cjs/src/kuna.js +1 -1
  202. package/dist/cjs/src/latoken.js +1 -1
  203. package/dist/cjs/src/lbank.js +2 -3
  204. package/dist/cjs/src/luno.js +1 -1
  205. package/dist/cjs/src/lykke.js +1 -1
  206. package/dist/cjs/src/mercado.js +1 -1
  207. package/dist/cjs/src/mexc.js +1 -1
  208. package/dist/cjs/src/myokx.js +1 -1
  209. package/dist/cjs/src/ndax.js +1 -1
  210. package/dist/cjs/src/novadax.js +1 -1
  211. package/dist/cjs/src/oceanex.js +1 -1
  212. package/dist/cjs/src/okcoin.js +1 -1
  213. package/dist/cjs/src/okx.js +23 -11
  214. package/dist/cjs/src/onetrading.js +1 -1
  215. package/dist/cjs/src/oxfun.js +2 -3
  216. package/dist/cjs/src/p2b.js +1 -1
  217. package/dist/cjs/src/paradex.js +6 -3
  218. package/dist/cjs/src/paymium.js +1 -1
  219. package/dist/cjs/src/phemex.js +103 -0
  220. package/dist/cjs/src/poloniex.js +62 -1
  221. package/dist/cjs/src/poloniexfutures.js +75 -1
  222. package/dist/cjs/src/pro/alpaca.js +1 -1
  223. package/dist/cjs/src/pro/ascendex.js +1 -1
  224. package/dist/cjs/src/pro/bequant.js +1 -1
  225. package/dist/cjs/src/pro/binancecoinm.js +1 -1
  226. package/dist/cjs/src/pro/binanceus.js +1 -1
  227. package/dist/cjs/src/pro/binanceusdm.js +1 -1
  228. package/dist/cjs/src/pro/bingx.js +4 -7
  229. package/dist/cjs/src/pro/bitcoincom.js +1 -1
  230. package/dist/cjs/src/pro/bitfinex.js +1 -1
  231. package/dist/cjs/src/pro/bitfinex1.js +1 -1
  232. package/dist/cjs/src/pro/bitget.js +3 -6
  233. package/dist/cjs/src/pro/bithumb.js +1 -1
  234. package/dist/cjs/src/pro/bitmart.js +1 -1
  235. package/dist/cjs/src/pro/bitmex.js +1 -1
  236. package/dist/cjs/src/pro/bitpanda.js +1 -1
  237. package/dist/cjs/src/pro/bitrue.js +1 -1
  238. package/dist/cjs/src/pro/bitstamp.js +1 -1
  239. package/dist/cjs/src/pro/bitvavo.js +1 -1
  240. package/dist/cjs/src/pro/blockchaincom.js +1 -1
  241. package/dist/cjs/src/pro/blofin.js +1 -1
  242. package/dist/cjs/src/pro/bybit.js +1 -1
  243. package/dist/cjs/src/pro/cex.js +1 -1
  244. package/dist/cjs/src/pro/coinbase.js +1 -1
  245. package/dist/cjs/src/pro/coinbaseadvanced.js +1 -1
  246. package/dist/cjs/src/pro/coinbaseexchange.js +1 -1
  247. package/dist/cjs/src/pro/coinbaseinternational.js +1 -1
  248. package/dist/cjs/src/pro/coincatch.js +1 -1
  249. package/dist/cjs/src/pro/coincheck.js +1 -1
  250. package/dist/cjs/src/pro/coinex.js +1 -1
  251. package/dist/cjs/src/pro/coinone.js +1 -1
  252. package/dist/cjs/src/pro/cryptocom.js +1 -1
  253. package/dist/cjs/src/pro/currencycom.js +1 -1
  254. package/dist/cjs/src/pro/defx.js +1 -1
  255. package/dist/cjs/src/pro/deribit.js +1 -1
  256. package/dist/cjs/src/pro/exmo.js +1 -1
  257. package/dist/cjs/src/pro/gate.js +1 -1
  258. package/dist/cjs/src/pro/gateio.js +1 -1
  259. package/dist/cjs/src/pro/gemini.js +1 -1
  260. package/dist/cjs/src/pro/hashkey.js +1 -1
  261. package/dist/cjs/src/pro/hitbtc.js +1 -1
  262. package/dist/cjs/src/pro/hollaex.js +1 -1
  263. package/dist/cjs/src/pro/htx.js +1 -1
  264. package/dist/cjs/src/pro/huobi.js +1 -1
  265. package/dist/cjs/src/pro/hyperliquid.js +1 -1
  266. package/dist/cjs/src/pro/idex.js +1 -1
  267. package/dist/cjs/src/pro/independentreserve.js +1 -1
  268. package/dist/cjs/src/pro/kraken.js +1 -1
  269. package/dist/cjs/src/pro/krakenfutures.js +1 -1
  270. package/dist/cjs/src/pro/kucoin.js +1 -1
  271. package/dist/cjs/src/pro/kucoinfutures.js +1 -1
  272. package/dist/cjs/src/pro/lbank.js +1 -0
  273. package/dist/cjs/src/pro/luno.js +1 -1
  274. package/dist/cjs/src/pro/mexc.js +1 -1
  275. package/dist/cjs/src/pro/myokx.js +1 -1
  276. package/dist/cjs/src/pro/ndax.js +1 -1
  277. package/dist/cjs/src/pro/okcoin.js +1 -1
  278. package/dist/cjs/src/pro/okx.js +1 -1
  279. package/dist/cjs/src/pro/onetrading.js +1 -1
  280. package/dist/cjs/src/pro/oxfun.js +1 -1
  281. package/dist/cjs/src/pro/p2b.js +1 -1
  282. package/dist/cjs/src/pro/paradex.js +1 -1
  283. package/dist/cjs/src/pro/phemex.js +1 -1
  284. package/dist/cjs/src/pro/poloniex.js +1 -1
  285. package/dist/cjs/src/pro/poloniexfutures.js +1 -1
  286. package/dist/cjs/src/pro/probit.js +1 -1
  287. package/dist/cjs/src/pro/upbit.js +1 -1
  288. package/dist/cjs/src/pro/wazirx.js +1 -1
  289. package/dist/cjs/src/pro/whitebit.js +1 -1
  290. package/dist/cjs/src/pro/xt.js +2 -2
  291. package/dist/cjs/src/probit.js +1 -1
  292. package/dist/cjs/src/static_dependencies/ethers/abi-coder.js +6 -0
  293. package/dist/cjs/src/static_dependencies/ethers/address/address.js +1 -1
  294. package/dist/cjs/src/static_dependencies/ethers/coders/abstract-coder.js +6 -0
  295. package/dist/cjs/src/static_dependencies/ethers/coders/address.js +1 -0
  296. package/dist/cjs/src/static_dependencies/ethers/coders/anonymous.js +1 -0
  297. package/dist/cjs/src/static_dependencies/ethers/coders/array.js +1 -0
  298. package/dist/cjs/src/static_dependencies/ethers/coders/boolean.js +1 -0
  299. package/dist/cjs/src/static_dependencies/ethers/coders/bytes.js +1 -0
  300. package/dist/cjs/src/static_dependencies/ethers/coders/fixed-bytes.js +1 -0
  301. package/dist/cjs/src/static_dependencies/ethers/coders/null.js +1 -0
  302. package/dist/cjs/src/static_dependencies/ethers/coders/number.js +1 -0
  303. package/dist/cjs/src/static_dependencies/ethers/coders/string.js +1 -0
  304. package/dist/cjs/src/static_dependencies/ethers/coders/tuple.js +1 -0
  305. package/dist/cjs/src/static_dependencies/ethers/fragments.js +6 -0
  306. package/dist/cjs/src/static_dependencies/ethers/hash/typed-data.js +6 -0
  307. package/dist/cjs/src/static_dependencies/ethers/index.js +1 -10
  308. package/dist/cjs/src/static_dependencies/ethers/interface.js +6 -0
  309. package/dist/cjs/src/static_dependencies/ethers/typed.js +6 -0
  310. package/dist/cjs/src/static_dependencies/ethers/utils/base58.js +1 -13
  311. package/dist/cjs/src/static_dependencies/ethers/utils/data.js +1 -6
  312. package/dist/cjs/src/static_dependencies/ethers/utils/errors.js +1 -9
  313. package/dist/cjs/src/static_dependencies/ethers/utils/events.js +6 -0
  314. package/dist/cjs/src/static_dependencies/ethers/utils/fixednumber.js +6 -0
  315. package/dist/cjs/src/static_dependencies/ethers/utils/index.js +1 -7
  316. package/dist/cjs/src/static_dependencies/ethers/utils/maths.js +1 -5
  317. package/dist/cjs/src/static_dependencies/ethers/utils/properties.js +6 -0
  318. package/dist/cjs/src/static_dependencies/ethers/utils/utf8.js +1 -8
  319. package/dist/cjs/src/static_dependencies/fflake/browser.js +1 -1
  320. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncrypt.js +1 -0
  321. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +1 -0
  322. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +1 -1
  323. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +6 -0
  324. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +6 -0
  325. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +6 -0
  326. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +1 -0
  327. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +1 -1
  328. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +6 -0
  329. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +1 -1
  330. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +1 -1
  331. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/util.js +6 -0
  332. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +1 -1
  333. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +6 -0
  334. package/dist/cjs/src/static_dependencies/messagepack/msgpack.js +6 -0
  335. package/dist/cjs/src/static_dependencies/noble-curves/_shortw_utils.js +1 -1
  336. package/dist/cjs/src/static_dependencies/noble-curves/abstract/curve.js +1 -1
  337. package/dist/cjs/src/static_dependencies/noble-curves/abstract/edwards.js +1 -1
  338. package/dist/cjs/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +1 -0
  339. package/dist/cjs/src/static_dependencies/noble-curves/abstract/modular.js +1 -1
  340. package/dist/cjs/src/static_dependencies/noble-curves/abstract/montgomery.js +1 -1
  341. package/dist/cjs/src/static_dependencies/noble-curves/abstract/poseidon.js +1 -1
  342. package/dist/cjs/src/static_dependencies/noble-curves/abstract/utils.js +6 -0
  343. package/dist/cjs/src/static_dependencies/noble-curves/abstract/weierstrass.js +1 -1
  344. package/dist/cjs/src/static_dependencies/noble-curves/ed25519.js +1 -1
  345. package/dist/cjs/src/static_dependencies/noble-curves/p256.js +1 -1
  346. package/dist/cjs/src/static_dependencies/noble-curves/secp256k1.js +1 -1
  347. package/dist/cjs/src/static_dependencies/noble-hashes/_assert.js +6 -0
  348. package/dist/cjs/src/static_dependencies/noble-hashes/_sha2.js +1 -0
  349. package/dist/cjs/src/static_dependencies/noble-hashes/_u64.js +6 -0
  350. package/dist/cjs/src/static_dependencies/noble-hashes/crypto.js +6 -0
  351. package/dist/cjs/src/static_dependencies/noble-hashes/hmac.js +1 -0
  352. package/dist/cjs/src/static_dependencies/noble-hashes/md5.js +1 -0
  353. package/dist/cjs/src/static_dependencies/noble-hashes/sha1.js +1 -0
  354. package/dist/cjs/src/static_dependencies/noble-hashes/sha256.js +1 -0
  355. package/dist/cjs/src/static_dependencies/noble-hashes/sha3.js +1 -0
  356. package/dist/cjs/src/static_dependencies/noble-hashes/sha512.js +1 -0
  357. package/dist/cjs/src/static_dependencies/noble-hashes/utils.js +1 -1
  358. package/dist/cjs/src/static_dependencies/node-fetch/body.js +1 -5
  359. package/dist/cjs/src/static_dependencies/node-fetch/errors/abort-error.js +1 -0
  360. package/dist/cjs/src/static_dependencies/node-fetch/errors/base.js +6 -0
  361. package/dist/cjs/src/static_dependencies/node-fetch/errors/fetch-error.js +1 -0
  362. package/dist/cjs/src/static_dependencies/node-fetch/headers.js +1 -5
  363. package/dist/cjs/src/static_dependencies/node-fetch/index.js +1 -7
  364. package/dist/cjs/src/static_dependencies/node-fetch/request.js +1 -7
  365. package/dist/cjs/src/static_dependencies/node-fetch/response.js +1 -5
  366. package/dist/cjs/src/static_dependencies/node-fetch/utils/get-search.js +6 -0
  367. package/dist/cjs/src/static_dependencies/node-fetch/utils/is-redirect.js +6 -0
  368. package/dist/cjs/src/static_dependencies/node-fetch/utils/is.js +6 -0
  369. package/dist/cjs/src/static_dependencies/node-fetch/utils/referrer.js +1 -0
  370. package/dist/cjs/src/static_dependencies/proxies/agent-base/index.js +1 -0
  371. package/dist/cjs/src/static_dependencies/proxies/http-proxy-agent/index.js +1 -0
  372. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/index.js +1 -0
  373. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +6 -0
  374. package/dist/cjs/src/static_dependencies/scure-base/index.js +6 -0
  375. package/dist/cjs/src/static_dependencies/scure-starknet/index.js +1 -1
  376. package/dist/cjs/src/static_dependencies/starknet/constants.js +1 -1
  377. package/dist/cjs/src/static_dependencies/starknet/types/calldata.js +6 -0
  378. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/abi.js +6 -0
  379. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/index.js +6 -0
  380. package/dist/cjs/src/static_dependencies/starknet/types/lib/index.js +6 -0
  381. package/dist/cjs/src/static_dependencies/starknet/types/typedData.js +6 -0
  382. package/dist/cjs/src/static_dependencies/starknet/utils/assert.js +6 -0
  383. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +1 -1
  384. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +1 -1
  385. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +1 -1
  386. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/byteArray.js +1 -0
  387. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/cairo.js +1 -0
  388. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +6 -0
  389. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +6 -0
  390. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +6 -0
  391. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/formatter.js +1 -0
  392. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/index.js +1 -1
  393. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/index.js +1 -0
  394. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +1 -0
  395. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +6 -0
  396. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +1 -0
  397. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/requestParser.js +1 -0
  398. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/responseParser.js +1 -0
  399. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/tuple.js +1 -1
  400. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/validate.js +1 -4
  401. package/dist/cjs/src/static_dependencies/starknet/utils/encode.js +1 -0
  402. package/dist/cjs/src/static_dependencies/starknet/utils/hash/classHash.js +1 -3
  403. package/dist/cjs/src/static_dependencies/starknet/utils/merkle.js +1 -0
  404. package/dist/cjs/src/static_dependencies/starknet/utils/num.js +1 -0
  405. package/dist/cjs/src/static_dependencies/starknet/utils/selector.js +1 -0
  406. package/dist/cjs/src/static_dependencies/starknet/utils/shortString.js +1 -0
  407. package/dist/cjs/src/static_dependencies/starknet/utils/typedData.js +1 -1
  408. package/dist/cjs/src/static_dependencies/watchable/src/unpromise.js +6 -0
  409. package/dist/cjs/src/timex.js +1 -0
  410. package/dist/cjs/src/tokocrypto.js +1 -1
  411. package/dist/cjs/src/tradeogre.js +1 -1
  412. package/dist/cjs/src/upbit.js +62 -1
  413. package/dist/cjs/src/vertex.js +1 -1
  414. package/dist/cjs/src/wavesexchange.js +1 -1
  415. package/dist/cjs/src/wazirx.js +1 -0
  416. package/dist/cjs/src/whitebit.js +3 -3
  417. package/dist/cjs/src/woo.js +8 -4
  418. package/dist/cjs/src/woofipro.js +2 -3
  419. package/dist/cjs/src/xt.js +1 -1
  420. package/dist/cjs/src/yobit.js +1 -1
  421. package/dist/cjs/src/zaif.js +1 -1
  422. package/dist/cjs/src/zonda.js +1 -1
  423. package/js/ccxt.d.ts +1 -1
  424. package/js/ccxt.js +1 -1
  425. package/js/src/abstract/binance.d.ts +1 -0
  426. package/js/src/abstract/binancecoinm.d.ts +1 -0
  427. package/js/src/abstract/binanceus.d.ts +1 -0
  428. package/js/src/abstract/binanceusdm.d.ts +1 -0
  429. package/js/src/abstract/bybit.d.ts +1 -0
  430. package/js/src/abstract/independentreserve.d.ts +6 -0
  431. package/js/src/ace.js +59 -1
  432. package/js/src/alpaca.js +80 -0
  433. package/js/src/ascendex.js +95 -2
  434. package/js/src/base/Exchange.d.ts +2 -2
  435. package/js/src/base/Exchange.js +16 -14
  436. package/js/src/bigone.d.ts +1 -0
  437. package/js/src/bigone.js +116 -4
  438. package/js/src/binance.d.ts +7 -0
  439. package/js/src/binance.js +21 -18
  440. package/js/src/binanceus.js +10 -0
  441. package/js/src/bingx.js +1 -2
  442. package/js/src/bit2c.js +56 -0
  443. package/js/src/bitbank.js +58 -0
  444. package/js/src/bitbns.js +60 -0
  445. package/js/src/bitfinex.js +2 -3
  446. package/js/src/bitfinex1.d.ts +2 -1
  447. package/js/src/bitfinex1.js +11 -1
  448. package/js/src/bitflyer.js +71 -0
  449. package/js/src/bitget.js +5 -4
  450. package/js/src/bithumb.js +54 -0
  451. package/js/src/bitmart.js +7 -2
  452. package/js/src/bitmex.js +6 -4
  453. package/js/src/bitopro.js +74 -0
  454. package/js/src/bitrue.d.ts +11 -16
  455. package/js/src/bitrue.js +97 -17
  456. package/js/src/bitso.js +59 -0
  457. package/js/src/bitteam.js +73 -0
  458. package/js/src/bitvavo.d.ts +3 -2
  459. package/js/src/bitvavo.js +68 -2
  460. package/js/src/bl3p.js +42 -0
  461. package/js/src/blockchaincom.js +66 -2
  462. package/js/src/blofin.js +87 -1
  463. package/js/src/btcalpha.js +73 -0
  464. package/js/src/btcbox.js +58 -0
  465. package/js/src/btcmarkets.js +73 -0
  466. package/js/src/btcturk.js +61 -0
  467. package/js/src/bybit.d.ts +1 -1
  468. package/js/src/bybit.js +15 -4
  469. package/js/src/cex.js +57 -0
  470. package/js/src/coinbase.d.ts +1 -0
  471. package/js/src/coinbase.js +12 -2
  472. package/js/src/coinbaseexchange.js +76 -0
  473. package/js/src/coincatch.d.ts +1 -2
  474. package/js/src/coincatch.js +86 -2
  475. package/js/src/coincheck.js +52 -0
  476. package/js/src/coinex.js +1 -2
  477. package/js/src/coinlist.js +77 -0
  478. package/js/src/coinmate.js +63 -0
  479. package/js/src/coinmetro.js +68 -0
  480. package/js/src/coinone.js +56 -0
  481. package/js/src/coinsph.d.ts +1 -1
  482. package/js/src/coinsph.js +67 -1
  483. package/js/src/coinspot.js +47 -0
  484. package/js/src/currencycom.js +72 -0
  485. package/js/src/defx.js +93 -6
  486. package/js/src/delta.js +84 -3
  487. package/js/src/gate.d.ts +1 -0
  488. package/js/src/gate.js +13 -4
  489. package/js/src/hashkey.js +1 -2
  490. package/js/src/hollaex.js +1 -1
  491. package/js/src/htx.d.ts +1 -0
  492. package/js/src/htx.js +12 -6
  493. package/js/src/hyperliquid.js +11 -5
  494. package/js/src/independentreserve.js +60 -0
  495. package/js/src/kraken.js +1 -1
  496. package/js/src/krakenfutures.js +7 -4
  497. package/js/src/lbank.js +1 -2
  498. package/js/src/okx.d.ts +1 -0
  499. package/js/src/okx.js +22 -10
  500. package/js/src/oxfun.js +1 -2
  501. package/js/src/paradex.js +5 -2
  502. package/js/src/phemex.js +103 -0
  503. package/js/src/poloniex.js +61 -0
  504. package/js/src/poloniexfutures.js +74 -0
  505. package/js/src/pro/bingx.js +3 -6
  506. package/js/src/pro/bitget.js +2 -5
  507. package/js/src/pro/xt.js +1 -1
  508. package/js/src/static_dependencies/qs/formats.d.cts +0 -6
  509. package/js/src/static_dependencies/qs/index.d.cts +0 -6
  510. package/js/src/static_dependencies/qs/parse.d.cts +0 -6
  511. package/js/src/static_dependencies/qs/stringify.d.cts +0 -6
  512. package/js/src/static_dependencies/qs/utils.d.cts +0 -6
  513. package/js/src/upbit.js +61 -0
  514. package/js/src/whitebit.js +2 -2
  515. package/js/src/woo.js +7 -3
  516. package/js/src/woofipro.js +1 -2
  517. package/package.json +12 -2
package/js/src/gate.d.ts CHANGED
@@ -801,6 +801,7 @@ export default class gate extends Exchange {
801
801
  */
802
802
  fetchBorrowInterest(code?: Str, symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<BorrowInterest[]>;
803
803
  parseBorrowInterest(info: Dict, market?: Market): BorrowInterest;
804
+ nonce(): number;
804
805
  sign(path: any, api?: any[], method?: string, params?: {}, headers?: any, body?: any): {
805
806
  url: any;
806
807
  method: string;
package/js/src/gate.js CHANGED
@@ -650,6 +650,8 @@ export default class gate extends Exchange {
650
650
  'X-Gate-Channel-Id': 'ccxt',
651
651
  },
652
652
  'options': {
653
+ 'timeDifference': 0,
654
+ 'adjustForTimeDifference': false,
653
655
  'sandboxMode': false,
654
656
  'unifiedAccount': undefined,
655
657
  'createOrder': {
@@ -1163,6 +1165,9 @@ export default class gate extends Exchange {
1163
1165
  * @returns {object[]} an array of objects representing market data
1164
1166
  */
1165
1167
  async fetchMarkets(params = {}) {
1168
+ if (this.options['adjustForTimeDifference']) {
1169
+ await this.loadTimeDifference();
1170
+ }
1166
1171
  const sandboxMode = this.safeBool(this.options, 'sandboxMode', false);
1167
1172
  let rawPromises = [
1168
1173
  this.fetchContractMarkets(params),
@@ -1997,8 +2002,7 @@ export default class gate extends Exchange {
1997
2002
  // }
1998
2003
  // ]
1999
2004
  //
2000
- const result = this.parseFundingRates(response);
2001
- return this.filterByArray(result, 'symbol', symbols);
2005
+ return this.parseFundingRates(response, symbols);
2002
2006
  }
2003
2007
  parseFundingRate(contract, market = undefined) {
2004
2008
  //
@@ -2429,7 +2433,8 @@ export default class gate extends Exchange {
2429
2433
  const chainKeys = Object.keys(withdrawFixOnChains);
2430
2434
  for (let i = 0; i < chainKeys.length; i++) {
2431
2435
  const chainKey = chainKeys[i];
2432
- result['networks'][chainKey] = {
2436
+ const networkCode = this.networkIdToCode(chainKey, this.safeString(fee, 'currency'));
2437
+ result['networks'][networkCode] = {
2433
2438
  'withdraw': {
2434
2439
  'fee': this.parseNumber(withdrawFixOnChains[chainKey]),
2435
2440
  'percentage': false,
@@ -6667,6 +6672,9 @@ export default class gate extends Exchange {
6667
6672
  'datetime': this.iso8601(timestamp),
6668
6673
  };
6669
6674
  }
6675
+ nonce() {
6676
+ return this.milliseconds() - this.options['timeDifference'];
6677
+ }
6670
6678
  sign(path, api = [], method = 'GET', params = {}, headers = undefined, body = undefined) {
6671
6679
  const authentication = api[0]; // public, private
6672
6680
  const type = api[1]; // spot, margin, future, delivery
@@ -6740,7 +6748,8 @@ export default class gate extends Exchange {
6740
6748
  }
6741
6749
  const bodyPayload = (body === undefined) ? '' : body;
6742
6750
  const bodySignature = this.hash(this.encode(bodyPayload), sha512);
6743
- const timestamp = this.seconds();
6751
+ const nonce = this.nonce();
6752
+ const timestamp = this.parseToInt(nonce / 1000);
6744
6753
  const timestampString = timestamp.toString();
6745
6754
  const signaturePath = '/api/' + this.version + entirePath;
6746
6755
  const payloadArray = [method.toUpperCase(), signaturePath, queryString, bodySignature, timestampString];
package/js/src/hashkey.js CHANGED
@@ -3765,8 +3765,7 @@ export default class hashkey extends Exchange {
3765
3765
  // { "symbol": "ETHUSDT-PERPETUAL", "rate": "0.0001", "nextSettleTime": "1722297600000" }
3766
3766
  // ]
3767
3767
  //
3768
- const fundingRates = this.parseFundingRates(response);
3769
- return this.filterByArray(fundingRates, 'symbol', symbols);
3768
+ return this.parseFundingRates(response, symbols);
3770
3769
  }
3771
3770
  parseFundingRate(contract, market = undefined) {
3772
3771
  //
package/js/src/hollaex.js CHANGED
@@ -349,7 +349,7 @@ export default class hollaex extends Exchange {
349
349
  // "verified":true,
350
350
  // "allow_deposit":true,
351
351
  // "allow_withdrawal":true,
352
- // "withdrawal_fee":0.0001,
352
+ // "withdrawal_fee":0.0002,
353
353
  // "min":0.001,
354
354
  // "max":100000,
355
355
  // "increment_unit":0.001,
package/js/src/htx.d.ts CHANGED
@@ -672,6 +672,7 @@ export default class htx extends Exchange {
672
672
  */
673
673
  fetchBorrowInterest(code?: Str, symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<BorrowInterest[]>;
674
674
  parseBorrowInterest(info: Dict, market?: Market): BorrowInterest;
675
+ nonce(): number;
675
676
  sign(path: any, api?: string, method?: string, params?: {}, headers?: any, body?: any): {
676
677
  url: string;
677
678
  method: string;
package/js/src/htx.js CHANGED
@@ -953,6 +953,8 @@ export default class htx extends Exchange {
953
953
  'inverse': true,
954
954
  },
955
955
  },
956
+ 'timeDifference': 0,
957
+ 'adjustForTimeDifference': false,
956
958
  'fetchOHLCV': {
957
959
  'useHistoricalEndpointForSpot': true,
958
960
  },
@@ -1771,6 +1773,9 @@ export default class htx extends Exchange {
1771
1773
  * @returns {object[]} an array of objects representing market data
1772
1774
  */
1773
1775
  async fetchMarkets(params = {}) {
1776
+ if (this.options['adjustForTimeDifference']) {
1777
+ await this.loadTimeDifference();
1778
+ }
1774
1779
  let types = undefined;
1775
1780
  [types, params] = this.handleOptionAndParams(params, 'fetchMarkets', 'types', {});
1776
1781
  let allMarkets = [];
@@ -7323,8 +7328,7 @@ export default class htx extends Exchange {
7323
7328
  // }
7324
7329
  //
7325
7330
  const data = this.safeValue(response, 'data', []);
7326
- const result = this.parseFundingRates(data);
7327
- return this.filterByArray(result, 'symbol', symbols);
7331
+ return this.parseFundingRates(data, symbols);
7328
7332
  }
7329
7333
  /**
7330
7334
  * @method
@@ -7452,6 +7456,9 @@ export default class htx extends Exchange {
7452
7456
  'datetime': this.iso8601(timestamp),
7453
7457
  };
7454
7458
  }
7459
+ nonce() {
7460
+ return this.milliseconds() - this.options['timeDifference'];
7461
+ }
7455
7462
  sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
7456
7463
  let url = '/';
7457
7464
  const query = this.omit(params, this.extractParams(path));
@@ -7466,7 +7473,7 @@ export default class htx extends Exchange {
7466
7473
  url += '/' + this.implodeParams(path, params);
7467
7474
  if (api === 'private' || api === 'v2Private') {
7468
7475
  this.checkRequiredCredentials();
7469
- const timestamp = this.ymdhms(this.milliseconds(), 'T');
7476
+ const timestamp = this.ymdhms(this.nonce(), 'T');
7470
7477
  let request = {
7471
7478
  'SignatureMethod': 'HmacSHA256',
7472
7479
  'SignatureVersion': '2',
@@ -7546,7 +7553,7 @@ export default class htx extends Exchange {
7546
7553
  }
7547
7554
  }
7548
7555
  }
7549
- const timestamp = this.ymdhms(this.milliseconds(), 'T');
7556
+ const timestamp = this.ymdhms(this.nonce(), 'T');
7550
7557
  let request = {
7551
7558
  'SignatureMethod': 'HmacSHA256',
7552
7559
  'SignatureVersion': '2',
@@ -8742,8 +8749,7 @@ export default class htx extends Exchange {
8742
8749
  //
8743
8750
  }
8744
8751
  const data = this.safeList(response, 'data', []);
8745
- const result = this.parseOpenInterests(data);
8746
- return this.filterByArray(result, 'symbol', symbols);
8752
+ return this.parseOpenInterests(data, symbols);
8747
8753
  }
8748
8754
  /**
8749
8755
  * @method
@@ -694,6 +694,11 @@ export default class hyperliquid extends Exchange {
694
694
  const price = this.safeNumber(market, 'markPx', 0);
695
695
  const pricePrecision = this.calculatePricePrecision(price, amountPrecision, 6);
696
696
  const pricePrecisionStr = this.numberToString(pricePrecision);
697
+ const isDelisted = this.safeBool(market, 'isDelisted');
698
+ let active = true;
699
+ if (isDelisted !== undefined) {
700
+ active = !isDelisted;
701
+ }
697
702
  return this.safeMarketStructure({
698
703
  'id': baseId,
699
704
  'symbol': symbol,
@@ -709,7 +714,7 @@ export default class hyperliquid extends Exchange {
709
714
  'swap': swap,
710
715
  'future': false,
711
716
  'option': false,
712
- 'active': true,
717
+ 'active': active,
713
718
  'contract': contract,
714
719
  'linear': true,
715
720
  'inverse': false,
@@ -971,8 +976,7 @@ export default class hyperliquid extends Exchange {
971
976
  const data = this.extend(this.safeDict(universe, i, {}), this.safeDict(assetCtxs, i, {}));
972
977
  result.push(data);
973
978
  }
974
- const funding_rates = this.parseFundingRates(result);
975
- return this.filterByArray(funding_rates, 'symbol', symbols);
979
+ return this.parseFundingRates(result, symbols);
976
980
  }
977
981
  parseFundingRate(info, market = undefined) {
978
982
  //
@@ -1917,6 +1921,9 @@ export default class hyperliquid extends Exchange {
1917
1921
  */
1918
1922
  async fetchFundingRateHistory(symbol = undefined, since = undefined, limit = undefined, params = {}) {
1919
1923
  await this.loadMarkets();
1924
+ if (symbol === undefined) {
1925
+ throw new ArgumentsRequired(this.id + ' fetchFundingRateHistory() requires a symbol argument');
1926
+ }
1920
1927
  const market = this.market(symbol);
1921
1928
  const request = {
1922
1929
  'type': 'fundingHistory',
@@ -3272,8 +3279,7 @@ export default class hyperliquid extends Exchange {
3272
3279
  await this.loadMarkets();
3273
3280
  symbols = this.marketSymbols(symbols);
3274
3281
  const swapMarkets = await this.fetchSwapMarkets();
3275
- const result = this.parseOpenInterests(swapMarkets);
3276
- return this.filterByArray(result, 'symbol', symbols);
3282
+ return this.parseOpenInterests(swapMarkets, symbols);
3277
3283
  }
3278
3284
  /**
3279
3285
  * @method
@@ -109,6 +109,9 @@ export default class independentreserve extends Exchange {
109
109
  'GetFxRates',
110
110
  'GetOrderMinimumVolumes',
111
111
  'GetCryptoWithdrawalFees',
112
+ 'GetCryptoWithdrawalFees2',
113
+ 'GetNetworks',
114
+ 'GetPrimaryCurrencyConfig2',
112
115
  ],
113
116
  },
114
117
  'private': {
@@ -121,7 +124,9 @@ export default class independentreserve extends Exchange {
121
124
  'GetTransactions',
122
125
  'GetFiatBankAccounts',
123
126
  'GetDigitalCurrencyDepositAddress',
127
+ 'GetDigitalCurrencyDepositAddress2',
124
128
  'GetDigitalCurrencyDepositAddresses',
129
+ 'GetDigitalCurrencyDepositAddresses2',
125
130
  'GetTrades',
126
131
  'GetBrokerageFees',
127
132
  'GetDigitalCurrencyWithdrawal',
@@ -132,6 +137,7 @@ export default class independentreserve extends Exchange {
132
137
  'RequestFiatWithdrawal',
133
138
  'WithdrawFiatCurrency',
134
139
  'WithdrawDigitalCurrency',
140
+ 'WithdrawCrypto',
135
141
  ],
136
142
  },
137
143
  },
@@ -147,6 +153,60 @@ export default class independentreserve extends Exchange {
147
153
  'PLA': 'PlayChip',
148
154
  },
149
155
  'precisionMode': TICK_SIZE,
156
+ 'options': {
157
+ 'defaultNetworks': {
158
+ 'USDT': 'Ethereum',
159
+ 'USDC': 'Ethereum',
160
+ 'BTC': 'Bitcoin',
161
+ 'BCH': 'BitcoinCash',
162
+ 'ETH': 'Ethereum',
163
+ 'LTC': 'Litecoin',
164
+ 'XRP': 'XrpLedger',
165
+ 'ZRX': 'Ethereum',
166
+ 'EOS': 'EosIo',
167
+ 'XLM': 'Stellar',
168
+ 'BAT': 'Ethereum',
169
+ 'ETC': 'EthereumClassic',
170
+ 'LINK': 'Ethereum',
171
+ 'MKR': 'Ethereum',
172
+ 'DAI': 'Ethereum',
173
+ 'COMP': 'Ethereum',
174
+ 'SNX': 'Ethereum',
175
+ 'YFI': 'Ethereum',
176
+ 'AAVE': 'Ethereum',
177
+ 'GRT': 'Ethereum',
178
+ 'DOT': 'Polkadot',
179
+ 'UNI': 'Ethereum',
180
+ 'ADA': 'Cardano',
181
+ 'MATIC': 'Ethereum',
182
+ 'DOGE': 'Dogecoin',
183
+ 'SOL': 'Solana',
184
+ 'MANA': 'Ethereum',
185
+ 'SAND': 'Ethereum',
186
+ 'SHIB': 'Ethereum',
187
+ 'TRX': 'Tron',
188
+ 'RENDER': 'Solana',
189
+ 'WIF': 'Solana',
190
+ 'RLUSD': 'Ethereum',
191
+ 'PEPE': 'Ethereum',
192
+ },
193
+ 'networks': {
194
+ 'BTC': 'Bitcoin',
195
+ 'ETH': 'Ethereum',
196
+ 'BCH': 'BitcoinCash',
197
+ 'LTC': 'Litecoin',
198
+ 'XRP': 'XrpLedger',
199
+ 'EOS': 'EosIo',
200
+ 'XLM': 'Stellar',
201
+ 'ETC': 'EthereumClassic',
202
+ 'BSV': 'BitcoinSV',
203
+ 'DOGE': 'Dogecoin',
204
+ 'DOT': 'Polkadot',
205
+ 'ADA': 'Cardano',
206
+ 'SOL': 'Solana',
207
+ 'TRX': 'Tron',
208
+ },
209
+ },
150
210
  });
151
211
  }
152
212
  /**
package/js/src/kraken.js CHANGED
@@ -695,7 +695,7 @@ export default class kraken extends Exchange {
695
695
  if (currencyId !== undefined) {
696
696
  if (currencyId.length > 3) {
697
697
  if ((currencyId.indexOf('X') === 0) || (currencyId.indexOf('Z') === 0)) {
698
- if (!(currencyId.indexOf('.') > 0)) {
698
+ if (!(currencyId.indexOf('.') > 0) && (currencyId !== 'ZEUS')) {
699
699
  currencyId = currencyId.slice(1);
700
700
  }
701
701
  }
@@ -2582,21 +2582,24 @@ export default class krakenfutures extends Exchange {
2582
2582
  const marketId = this.safeString(info, 'symbol');
2583
2583
  market = this.safeMarket(marketId, market);
2584
2584
  const tiers = [];
2585
+ if (marginLevels === undefined) {
2586
+ return tiers;
2587
+ }
2585
2588
  for (let i = 0; i < marginLevels.length; i++) {
2586
2589
  const tier = marginLevels[i];
2587
2590
  const initialMargin = this.safeString(tier, 'initialMargin');
2588
- const notionalFloor = this.safeNumber(tier, 'contracts');
2591
+ const minNotional = this.safeNumber(tier, 'numNonContractUnits');
2589
2592
  if (i !== 0) {
2590
2593
  const tiersLength = tiers.length;
2591
2594
  const previousTier = tiers[tiersLength - 1];
2592
- previousTier['notionalCap'] = notionalFloor;
2595
+ previousTier['maxNotional'] = minNotional;
2593
2596
  }
2594
2597
  tiers.push({
2595
2598
  'tier': this.sum(i, 1),
2596
2599
  'symbol': this.safeSymbol(marketId, market),
2597
2600
  'currency': market['quote'],
2598
- 'notionalFloor': notionalFloor,
2599
- 'notionalCap': undefined,
2601
+ 'minNotional': minNotional,
2602
+ 'maxNotional': undefined,
2600
2603
  'maintenanceMarginRate': this.safeNumber(tier, 'maintenanceMargin'),
2601
2604
  'maxLeverage': this.parseNumber(Precise.stringDiv('1', initialMargin)),
2602
2605
  'info': tier,
package/js/src/lbank.js CHANGED
@@ -1277,8 +1277,7 @@ export default class lbank extends Exchange {
1277
1277
  // "success": True,
1278
1278
  // }
1279
1279
  const data = this.safeList(response, 'data', []);
1280
- const result = this.parseFundingRates(data);
1281
- return this.filterByArray(result, 'symbol', symbols);
1280
+ return this.parseFundingRates(data, symbols);
1282
1281
  }
1283
1282
  /**
1284
1283
  * @method
package/js/src/okx.d.ts CHANGED
@@ -37,6 +37,7 @@ export default class okx extends Exchange {
37
37
  * @returns {object} a dictionary of [account structures]{@link https://docs.ccxt.com/#/?id=account-structure} indexed by the account type
38
38
  */
39
39
  fetchAccounts(params?: {}): Promise<Account[]>;
40
+ nonce(): number;
40
41
  /**
41
42
  * @method
42
43
  * @name okx#fetchMarkets
package/js/src/okx.js CHANGED
@@ -997,7 +997,7 @@ export default class okx extends Exchange {
997
997
  'BHP': 'BHP',
998
998
  'APT': 'Aptos',
999
999
  'ARBONE': 'Arbitrum One',
1000
- 'AVAXC': 'Avalanche C',
1000
+ 'AVAXC': 'Avalanche C-Chain',
1001
1001
  'AVAXX': 'Avalanche X-Chain',
1002
1002
  'ARK': 'ARK',
1003
1003
  'AR': 'Arweave',
@@ -1116,6 +1116,8 @@ export default class okx extends Exchange {
1116
1116
  'createOrder': 'privatePostTradeBatchOrders',
1117
1117
  'createMarketBuyOrderRequiresPrice': false,
1118
1118
  'fetchMarkets': ['spot', 'future', 'swap', 'option'],
1119
+ 'timeDifference': 0,
1120
+ 'adjustForTimeDifference': false,
1119
1121
  'defaultType': 'spot',
1120
1122
  // 'fetchBalance': {
1121
1123
  // 'type': 'spot', // 'funding', 'trading', 'spot'
@@ -1490,6 +1492,9 @@ export default class okx extends Exchange {
1490
1492
  }
1491
1493
  return result;
1492
1494
  }
1495
+ nonce() {
1496
+ return this.milliseconds() - this.options['timeDifference'];
1497
+ }
1493
1498
  /**
1494
1499
  * @method
1495
1500
  * @name okx#fetchMarkets
@@ -1499,6 +1504,9 @@ export default class okx extends Exchange {
1499
1504
  * @returns {object[]} an array of objects representing market data
1500
1505
  */
1501
1506
  async fetchMarkets(params = {}) {
1507
+ if (this.options['adjustForTimeDifference']) {
1508
+ await this.loadTimeDifference();
1509
+ }
1502
1510
  const types = this.safeList(this.options, 'fetchMarkets', []);
1503
1511
  let promises = [];
1504
1512
  let result = [];
@@ -1806,8 +1814,8 @@ export default class okx extends Exchange {
1806
1814
  currencyActive = (active) ? active : currencyActive;
1807
1815
  const networkId = this.safeString(chain, 'chain');
1808
1816
  if ((networkId !== undefined) && (networkId.indexOf('-') >= 0)) {
1809
- const parts = networkId.split('-');
1810
- const chainPart = this.safeString(parts, 1, networkId);
1817
+ const parts = networkId.split('-').slice(1);
1818
+ const chainPart = parts.join('-');
1811
1819
  const networkCode = this.networkIdToCode(chainPart, currency['code']);
1812
1820
  const precision = this.parsePrecision(this.safeString(chain, 'wdTickSz'));
1813
1821
  if (maxPrecision === undefined) {
@@ -2803,9 +2811,11 @@ export default class okx extends Exchange {
2803
2811
  if (!market['spot']) {
2804
2812
  throw new NotSupported(this.id + ' createMarketBuyOrderWithCost() supports spot markets only');
2805
2813
  }
2806
- params['createMarketBuyOrderRequiresPrice'] = false;
2807
- params['tgtCcy'] = 'quote_ccy';
2808
- return await this.createOrder(symbol, 'market', 'buy', cost, undefined, params);
2814
+ const req = {
2815
+ 'createMarketBuyOrderRequiresPrice': false,
2816
+ 'tgtCcy': 'quote_ccy',
2817
+ };
2818
+ return await this.createOrder(symbol, 'market', 'buy', cost, undefined, this.extend(req, params));
2809
2819
  }
2810
2820
  /**
2811
2821
  * @method
@@ -2823,9 +2833,11 @@ export default class okx extends Exchange {
2823
2833
  if (!market['spot']) {
2824
2834
  throw new NotSupported(this.id + ' createMarketSellOrderWithCost() supports spot markets only');
2825
2835
  }
2826
- params['createMarketBuyOrderRequiresPrice'] = false;
2827
- params['tgtCcy'] = 'quote_ccy';
2828
- return await this.createOrder(symbol, 'market', 'sell', cost, undefined, params);
2836
+ const req = {
2837
+ 'createMarketBuyOrderRequiresPrice': false,
2838
+ 'tgtCcy': 'quote_ccy',
2839
+ };
2840
+ return await this.createOrder(symbol, 'market', 'sell', cost, undefined, this.extend(req, params));
2829
2841
  }
2830
2842
  createOrderRequest(symbol, type, side, amount, price = undefined, params = {}) {
2831
2843
  const market = this.market(symbol);
@@ -6178,7 +6190,7 @@ export default class okx extends Exchange {
6178
6190
  }
6179
6191
  }
6180
6192
  }
6181
- const timestamp = this.iso8601(this.milliseconds());
6193
+ const timestamp = this.iso8601(this.nonce());
6182
6194
  headers = {
6183
6195
  'OK-ACCESS-KEY': this.apiKey,
6184
6196
  'OK-ACCESS-PASSPHRASE': this.password,
package/js/src/oxfun.js CHANGED
@@ -1033,8 +1033,7 @@ export default class oxfun extends Exchange {
1033
1033
  // }
1034
1034
  //
1035
1035
  const data = this.safeList(response, 'data', []);
1036
- const result = this.parseFundingRates(data);
1037
- return this.filterByArray(result, 'symbol', symbols);
1036
+ return this.parseFundingRates(data, symbols);
1038
1037
  }
1039
1038
  parseFundingRate(fundingRate, market = undefined) {
1040
1039
  //
package/js/src/paradex.js CHANGED
@@ -269,7 +269,9 @@ export default class paradex extends Exchange {
269
269
  '40111': AuthenticationError,
270
270
  '40112': PermissionDenied, // Geo IP blocked
271
271
  },
272
- 'broad': {},
272
+ 'broad': {
273
+ 'missing or malformed jwt': AuthenticationError,
274
+ },
273
275
  },
274
276
  'precisionMode': TICK_SIZE,
275
277
  'commonCurrencies': {},
@@ -1032,7 +1034,8 @@ export default class paradex extends Exchange {
1032
1034
  }
1033
1035
  }
1034
1036
  const account = await this.retrieveAccount();
1035
- const expires = now + 86400 * 7;
1037
+ // https://docs.paradex.trade/api-reference/general-information/authentication
1038
+ const expires = now + 180;
1036
1039
  const req = {
1037
1040
  'method': 'POST',
1038
1041
  'path': '/v1/auth',
package/js/src/phemex.js CHANGED
@@ -293,6 +293,109 @@ export default class phemex extends Exchange {
293
293
  'maker': this.parseNumber('0.001'),
294
294
  },
295
295
  },
296
+ 'features': {
297
+ 'default': {
298
+ 'sandbox': true,
299
+ 'createOrder': {
300
+ 'marginMode': false,
301
+ 'triggerPrice': true,
302
+ // todo
303
+ 'triggerPriceType': {
304
+ 'mark': true,
305
+ 'last': true,
306
+ 'index': true,
307
+ },
308
+ 'triggerDirection': false,
309
+ 'stopLossPrice': false,
310
+ 'takeProfitPrice': false,
311
+ 'attachedStopLossTakeProfit': undefined,
312
+ 'timeInForce': {
313
+ 'IOC': true,
314
+ 'FOK': true,
315
+ 'PO': true,
316
+ 'GTD': false,
317
+ },
318
+ 'hedged': false,
319
+ 'leverage': false,
320
+ 'marketBuyByCost': true,
321
+ 'marketBuyRequiresPrice': false,
322
+ 'selfTradePrevention': false,
323
+ 'trailing': false,
324
+ 'iceberg': false,
325
+ },
326
+ 'createOrders': undefined,
327
+ 'fetchMyTrades': {
328
+ 'marginMode': false,
329
+ 'limit': 200,
330
+ 'daysBack': 100000,
331
+ 'untilDays': 2, // todo implement
332
+ },
333
+ 'fetchOrder': {
334
+ 'marginMode': false,
335
+ 'trigger': false,
336
+ 'trailing': false,
337
+ },
338
+ 'fetchOpenOrders': {
339
+ 'marginMode': false,
340
+ 'limit': undefined,
341
+ 'trigger': false,
342
+ 'trailing': false,
343
+ },
344
+ 'fetchOrders': {
345
+ 'marginMode': false,
346
+ 'limit': undefined,
347
+ 'daysBack': undefined,
348
+ 'untilDays': undefined,
349
+ 'trigger': false,
350
+ 'trailing': false,
351
+ },
352
+ 'fetchClosedOrders': {
353
+ 'marginMode': false,
354
+ 'limit': 200,
355
+ 'daysBack': 100000,
356
+ 'daysBackCanceled': 100000,
357
+ 'untilDays': 2,
358
+ 'trigger': false,
359
+ 'trailing': false,
360
+ },
361
+ 'fetchOHLCV': {
362
+ 'limit': 1000,
363
+ },
364
+ },
365
+ 'spot': {
366
+ 'extends': 'default',
367
+ },
368
+ 'forDerivatives': {
369
+ 'extends': 'default',
370
+ 'createOrder': {
371
+ 'triggerDirection': true,
372
+ 'attachedStopLossTakeProfit': {
373
+ 'triggerPriceType': {
374
+ 'mark': true,
375
+ 'last': true,
376
+ 'index': true,
377
+ },
378
+ 'price': true,
379
+ },
380
+ 'hedged': true,
381
+ },
382
+ 'fetchOHLCV': {
383
+ 'limit': 2000,
384
+ },
385
+ },
386
+ 'swap': {
387
+ 'linear': {
388
+ 'extends': 'forDerivatives',
389
+ },
390
+ 'inverse': {
391
+ 'extends': 'forDerivatives',
392
+ },
393
+ },
394
+ 'future': {
395
+ 'linear': undefined,
396
+ 'inverse': undefined,
397
+ },
398
+ },
296
399
  'requiredCredentials': {
297
400
  'apiKey': true,
298
401
  'secret': true,
@@ -274,6 +274,67 @@ export default class poloniex extends Exchange {
274
274
  'futures': 'future',
275
275
  },
276
276
  },
277
+ 'features': {
278
+ 'default': {
279
+ 'sandbox': true,
280
+ 'createOrder': {
281
+ 'marginMode': true,
282
+ 'triggerPrice': true,
283
+ 'triggerPriceType': undefined,
284
+ 'triggerDirection': false,
285
+ 'stopLossPrice': false,
286
+ 'takeProfitPrice': false,
287
+ 'attachedStopLossTakeProfit': undefined,
288
+ 'timeInForce': {
289
+ 'IOC': true,
290
+ 'FOK': true,
291
+ 'PO': false,
292
+ 'GTD': false,
293
+ },
294
+ 'hedged': false,
295
+ 'leverage': false,
296
+ 'marketBuyByCost': true,
297
+ 'marketBuyRequiresPrice': false,
298
+ 'selfTradePrevention': true,
299
+ 'trailing': false,
300
+ 'iceberg': false,
301
+ },
302
+ 'createOrders': undefined,
303
+ 'fetchMyTrades': {
304
+ 'marginMode': false,
305
+ 'limit': 1000,
306
+ 'daysBack': 100000,
307
+ 'untilDays': 100000,
308
+ },
309
+ 'fetchOrder': {
310
+ 'marginMode': false,
311
+ 'trigger': false,
312
+ 'trailing': false,
313
+ },
314
+ 'fetchOpenOrders': {
315
+ 'marginMode': false,
316
+ 'limit': 2000,
317
+ 'trigger': false,
318
+ 'trailing': false,
319
+ },
320
+ 'fetchOrders': undefined,
321
+ 'fetchClosedOrders': undefined,
322
+ 'fetchOHLCV': {
323
+ 'limit': 500,
324
+ },
325
+ },
326
+ 'spot': {
327
+ 'extends': 'default',
328
+ },
329
+ 'swap': {
330
+ 'linear': undefined,
331
+ 'inverse': undefined,
332
+ },
333
+ 'future': {
334
+ 'linear': undefined,
335
+ 'inverse': undefined,
336
+ },
337
+ },
277
338
  'precisionMode': TICK_SIZE,
278
339
  'exceptions': {
279
340
  'exact': {