ccxt 4.4.95 → 4.4.97

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 (502) hide show
  1. package/README.md +18 -18
  2. package/dist/ccxt.browser.min.js +3 -3
  3. package/dist/cjs/ccxt.js +4 -1
  4. package/dist/cjs/src/abstract/alpaca.js +1 -1
  5. package/dist/cjs/src/abstract/apex.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/bitflyer.js +1 -1
  15. package/dist/cjs/src/abstract/bitget.js +1 -1
  16. package/dist/cjs/src/abstract/bithumb.js +1 -1
  17. package/dist/cjs/src/abstract/bitmart.js +1 -1
  18. package/dist/cjs/src/abstract/bitmex.js +1 -1
  19. package/dist/cjs/src/abstract/bitopro.js +1 -1
  20. package/dist/cjs/src/abstract/bitrue.js +1 -1
  21. package/dist/cjs/src/abstract/bitso.js +1 -1
  22. package/dist/cjs/src/abstract/bitstamp.js +1 -1
  23. package/dist/cjs/src/abstract/bitteam.js +1 -1
  24. package/dist/cjs/src/abstract/bittrade.js +1 -1
  25. package/dist/cjs/src/abstract/bitvavo.js +1 -1
  26. package/dist/cjs/src/abstract/blockchaincom.js +1 -1
  27. package/dist/cjs/src/abstract/blofin.js +1 -1
  28. package/dist/cjs/src/abstract/btcalpha.js +1 -1
  29. package/dist/cjs/src/abstract/btcbox.js +1 -1
  30. package/dist/cjs/src/abstract/btcmarkets.js +1 -1
  31. package/dist/cjs/src/abstract/btcturk.js +1 -1
  32. package/dist/cjs/src/abstract/bybit.js +1 -1
  33. package/dist/cjs/src/abstract/cex.js +1 -1
  34. package/dist/cjs/src/abstract/coinbase.js +1 -1
  35. package/dist/cjs/src/abstract/coinbaseexchange.js +1 -1
  36. package/dist/cjs/src/abstract/coinbaseinternational.js +1 -1
  37. package/dist/cjs/src/abstract/coincatch.js +1 -1
  38. package/dist/cjs/src/abstract/coincheck.js +1 -1
  39. package/dist/cjs/src/abstract/coinex.js +1 -1
  40. package/dist/cjs/src/abstract/coinmate.js +1 -1
  41. package/dist/cjs/src/abstract/coinmetro.js +1 -1
  42. package/dist/cjs/src/abstract/coinone.js +1 -1
  43. package/dist/cjs/src/abstract/coinsph.js +1 -1
  44. package/dist/cjs/src/abstract/coinspot.js +1 -1
  45. package/dist/cjs/src/abstract/cryptocom.js +1 -1
  46. package/dist/cjs/src/abstract/cryptomus.js +1 -1
  47. package/dist/cjs/src/abstract/defx.js +1 -1
  48. package/dist/cjs/src/abstract/delta.js +1 -1
  49. package/dist/cjs/src/abstract/deribit.js +1 -1
  50. package/dist/cjs/src/abstract/derive.js +1 -1
  51. package/dist/cjs/src/abstract/digifinex.js +1 -1
  52. package/dist/cjs/src/abstract/ellipx.js +1 -1
  53. package/dist/cjs/src/abstract/exmo.js +1 -1
  54. package/dist/cjs/src/abstract/foxbit.js +9 -0
  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/hyperliquid.js +1 -1
  62. package/dist/cjs/src/abstract/independentreserve.js +1 -1
  63. package/dist/cjs/src/abstract/indodax.js +1 -1
  64. package/dist/cjs/src/abstract/kraken.js +1 -1
  65. package/dist/cjs/src/abstract/krakenfutures.js +1 -1
  66. package/dist/cjs/src/abstract/kucoin.js +1 -1
  67. package/dist/cjs/src/abstract/kucoinfutures.js +1 -1
  68. package/dist/cjs/src/abstract/latoken.js +1 -1
  69. package/dist/cjs/src/abstract/lbank.js +1 -1
  70. package/dist/cjs/src/abstract/luno.js +1 -1
  71. package/dist/cjs/src/abstract/mercado.js +1 -1
  72. package/dist/cjs/src/abstract/mexc.js +1 -1
  73. package/dist/cjs/src/abstract/modetrade.js +1 -1
  74. package/dist/cjs/src/abstract/ndax.js +1 -1
  75. package/dist/cjs/src/abstract/novadax.js +1 -1
  76. package/dist/cjs/src/abstract/oceanex.js +1 -1
  77. package/dist/cjs/src/abstract/okcoin.js +1 -1
  78. package/dist/cjs/src/abstract/okx.js +1 -1
  79. package/dist/cjs/src/abstract/onetrading.js +1 -1
  80. package/dist/cjs/src/abstract/oxfun.js +1 -1
  81. package/dist/cjs/src/abstract/p2b.js +1 -1
  82. package/dist/cjs/src/abstract/paradex.js +1 -1
  83. package/dist/cjs/src/abstract/paymium.js +1 -1
  84. package/dist/cjs/src/abstract/phemex.js +1 -1
  85. package/dist/cjs/src/abstract/poloniex.js +1 -1
  86. package/dist/cjs/src/abstract/probit.js +1 -1
  87. package/dist/cjs/src/abstract/timex.js +1 -1
  88. package/dist/cjs/src/abstract/tokocrypto.js +1 -1
  89. package/dist/cjs/src/abstract/tradeogre.js +1 -1
  90. package/dist/cjs/src/abstract/upbit.js +1 -1
  91. package/dist/cjs/src/abstract/vertex.js +1 -1
  92. package/dist/cjs/src/abstract/wavesexchange.js +1 -1
  93. package/dist/cjs/src/abstract/whitebit.js +1 -1
  94. package/dist/cjs/src/abstract/woo.js +1 -1
  95. package/dist/cjs/src/abstract/woofipro.js +1 -1
  96. package/dist/cjs/src/abstract/xt.js +1 -1
  97. package/dist/cjs/src/abstract/yobit.js +1 -1
  98. package/dist/cjs/src/abstract/zaif.js +1 -1
  99. package/dist/cjs/src/abstract/zonda.js +1 -1
  100. package/dist/cjs/src/alpaca.js +1 -1
  101. package/dist/cjs/src/apex.js +3 -3
  102. package/dist/cjs/src/ascendex.js +4 -4
  103. package/dist/cjs/src/base/Exchange.js +69 -17
  104. package/dist/cjs/src/base/Precise.js +6 -0
  105. package/dist/cjs/src/base/errors.js +6 -0
  106. package/dist/cjs/src/base/functions/crypto.js +1 -1
  107. package/dist/cjs/src/base/functions/encode.js +1 -1
  108. package/dist/cjs/src/base/functions/misc.js +1 -0
  109. package/dist/cjs/src/base/functions/number.js +36 -9
  110. package/dist/cjs/src/base/functions/platform.js +6 -0
  111. package/dist/cjs/src/base/functions/rsa.js +1 -0
  112. package/dist/cjs/src/base/functions/string.js +6 -0
  113. package/dist/cjs/src/base/functions/throttle.js +1 -1
  114. package/dist/cjs/src/base/functions/time.js +6 -0
  115. package/dist/cjs/src/base/functions/totp.js +1 -0
  116. package/dist/cjs/src/base/functions/type.js +6 -0
  117. package/dist/cjs/src/base/functions.js +1 -1
  118. package/dist/cjs/src/base/ws/Cache.js +6 -0
  119. package/dist/cjs/src/base/ws/Client.js +1 -0
  120. package/dist/cjs/src/base/ws/Future.js +1 -1
  121. package/dist/cjs/src/base/ws/OrderBook.js +1 -1
  122. package/dist/cjs/src/base/ws/OrderBookSide.js +6 -0
  123. package/dist/cjs/src/base/ws/WsClient.js +1 -1
  124. package/dist/cjs/src/bequant.js +1 -1
  125. package/dist/cjs/src/bigone.js +1 -1
  126. package/dist/cjs/src/binance.js +96 -35
  127. package/dist/cjs/src/binancecoinm.js +6 -2
  128. package/dist/cjs/src/binanceus.js +4 -2
  129. package/dist/cjs/src/binanceusdm.js +4 -2
  130. package/dist/cjs/src/bingx.js +2 -2
  131. package/dist/cjs/src/bit2c.js +1 -1
  132. package/dist/cjs/src/bitbank.js +1 -1
  133. package/dist/cjs/src/bitbns.js +1 -1
  134. package/dist/cjs/src/bitfinex.js +1 -1
  135. package/dist/cjs/src/bitflyer.js +1 -1
  136. package/dist/cjs/src/bitget.js +32 -144
  137. package/dist/cjs/src/bithumb.js +1 -1
  138. package/dist/cjs/src/bitmart.js +3 -3
  139. package/dist/cjs/src/bitmex.js +1 -1
  140. package/dist/cjs/src/bitopro.js +1 -1
  141. package/dist/cjs/src/bitrue.js +16 -9
  142. package/dist/cjs/src/bitso.js +1 -1
  143. package/dist/cjs/src/bitstamp.js +1 -1
  144. package/dist/cjs/src/bitteam.js +1 -1
  145. package/dist/cjs/src/bittrade.js +1 -1
  146. package/dist/cjs/src/blockchaincom.js +1 -1
  147. package/dist/cjs/src/blofin.js +1 -1
  148. package/dist/cjs/src/btcalpha.js +1 -1
  149. package/dist/cjs/src/btcbox.js +1 -1
  150. package/dist/cjs/src/btcmarkets.js +1 -1
  151. package/dist/cjs/src/btcturk.js +1 -1
  152. package/dist/cjs/src/bybit.js +17 -6
  153. package/dist/cjs/src/cex.js +1 -1
  154. package/dist/cjs/src/coinbaseadvanced.js +1 -1
  155. package/dist/cjs/src/coinbaseexchange.js +4 -2
  156. package/dist/cjs/src/coincatch.js +1 -1
  157. package/dist/cjs/src/coincheck.js +1 -1
  158. package/dist/cjs/src/coinex.js +1 -1
  159. package/dist/cjs/src/coinmate.js +1 -1
  160. package/dist/cjs/src/coinmetro.js +1 -1
  161. package/dist/cjs/src/coinone.js +1 -1
  162. package/dist/cjs/src/coinsph.js +1 -0
  163. package/dist/cjs/src/coinspot.js +37 -2
  164. package/dist/cjs/src/cryptocom.js +79 -3
  165. package/dist/cjs/src/cryptomus.js +42 -2
  166. package/dist/cjs/src/defx.js +2 -2
  167. package/dist/cjs/src/delta.js +1 -1
  168. package/dist/cjs/src/deribit.js +1 -1
  169. package/dist/cjs/src/derive.js +2 -2
  170. package/dist/cjs/src/digifinex.js +1 -1
  171. package/dist/cjs/src/ellipx.js +41 -1
  172. package/dist/cjs/src/exmo.js +2 -2
  173. package/dist/cjs/src/fmfwio.js +1 -1
  174. package/dist/cjs/src/foxbit.js +2016 -0
  175. package/dist/cjs/src/gate.js +2 -3
  176. package/dist/cjs/src/gateio.js +1 -1
  177. package/dist/cjs/src/gemini.js +1 -1
  178. package/dist/cjs/src/hashkey.js +40 -1
  179. package/dist/cjs/src/hitbtc.js +1 -0
  180. package/dist/cjs/src/hollaex.js +1 -1
  181. package/dist/cjs/src/htx.js +1 -1
  182. package/dist/cjs/src/huobi.js +1 -1
  183. package/dist/cjs/src/hyperliquid.js +45 -30
  184. package/dist/cjs/src/independentreserve.js +36 -1
  185. package/dist/cjs/src/indodax.js +35 -1
  186. package/dist/cjs/src/kraken.js +1 -1
  187. package/dist/cjs/src/krakenfutures.js +1 -1
  188. package/dist/cjs/src/kucoin.js +4 -3
  189. package/dist/cjs/src/kucoinfutures.js +4 -3
  190. package/dist/cjs/src/latoken.js +43 -1
  191. package/dist/cjs/src/lbank.js +1 -1
  192. package/dist/cjs/src/luno.js +37 -1
  193. package/dist/cjs/src/mercado.js +35 -1
  194. package/dist/cjs/src/mexc.js +32 -39
  195. package/dist/cjs/src/modetrade.js +4 -4
  196. package/dist/cjs/src/myokx.js +1 -1
  197. package/dist/cjs/src/ndax.js +1 -1
  198. package/dist/cjs/src/novadax.js +1 -1
  199. package/dist/cjs/src/oceanex.js +1 -1
  200. package/dist/cjs/src/okcoin.js +2 -2
  201. package/dist/cjs/src/okx.js +13 -4
  202. package/dist/cjs/src/okxus.js +1 -1
  203. package/dist/cjs/src/onetrading.js +2 -2
  204. package/dist/cjs/src/oxfun.js +3 -2
  205. package/dist/cjs/src/p2b.js +1 -1
  206. package/dist/cjs/src/paradex.js +3 -3
  207. package/dist/cjs/src/paymium.js +1 -1
  208. package/dist/cjs/src/phemex.js +36 -31
  209. package/dist/cjs/src/poloniex.js +1 -1
  210. package/dist/cjs/src/pro/alpaca.js +1 -1
  211. package/dist/cjs/src/pro/apex.js +1 -1
  212. package/dist/cjs/src/pro/ascendex.js +1 -1
  213. package/dist/cjs/src/pro/bequant.js +1 -1
  214. package/dist/cjs/src/pro/binancecoinm.js +4 -2
  215. package/dist/cjs/src/pro/binanceus.js +4 -2
  216. package/dist/cjs/src/pro/binanceusdm.js +4 -2
  217. package/dist/cjs/src/pro/bingx.js +1 -1
  218. package/dist/cjs/src/pro/bitfinex.js +1 -1
  219. package/dist/cjs/src/pro/bitget.js +1 -1
  220. package/dist/cjs/src/pro/bithumb.js +1 -1
  221. package/dist/cjs/src/pro/bitmart.js +1 -1
  222. package/dist/cjs/src/pro/bitmex.js +1 -1
  223. package/dist/cjs/src/pro/bitrue.js +1 -1
  224. package/dist/cjs/src/pro/bitstamp.js +1 -1
  225. package/dist/cjs/src/pro/bitvavo.js +1 -1
  226. package/dist/cjs/src/pro/blockchaincom.js +1 -1
  227. package/dist/cjs/src/pro/blofin.js +1 -1
  228. package/dist/cjs/src/pro/bybit.js +34 -1
  229. package/dist/cjs/src/pro/cex.js +1 -1
  230. package/dist/cjs/src/pro/coinbase.js +1 -1
  231. package/dist/cjs/src/pro/coinbaseadvanced.js +1 -1
  232. package/dist/cjs/src/pro/coinbaseexchange.js +1 -1
  233. package/dist/cjs/src/pro/coinbaseinternational.js +1 -1
  234. package/dist/cjs/src/pro/coincatch.js +1 -1
  235. package/dist/cjs/src/pro/coincheck.js +1 -1
  236. package/dist/cjs/src/pro/coinex.js +1 -1
  237. package/dist/cjs/src/pro/coinone.js +1 -1
  238. package/dist/cjs/src/pro/cryptocom.js +1 -1
  239. package/dist/cjs/src/pro/defx.js +1 -1
  240. package/dist/cjs/src/pro/deribit.js +1 -1
  241. package/dist/cjs/src/pro/exmo.js +1 -1
  242. package/dist/cjs/src/pro/gate.js +1 -1
  243. package/dist/cjs/src/pro/gateio.js +1 -1
  244. package/dist/cjs/src/pro/gemini.js +1 -1
  245. package/dist/cjs/src/pro/hashkey.js +1 -1
  246. package/dist/cjs/src/pro/hitbtc.js +1 -1
  247. package/dist/cjs/src/pro/hollaex.js +1 -1
  248. package/dist/cjs/src/pro/htx.js +1 -1
  249. package/dist/cjs/src/pro/huobi.js +1 -1
  250. package/dist/cjs/src/pro/hyperliquid.js +1 -1
  251. package/dist/cjs/src/pro/independentreserve.js +1 -1
  252. package/dist/cjs/src/pro/kraken.js +1 -1
  253. package/dist/cjs/src/pro/krakenfutures.js +1 -1
  254. package/dist/cjs/src/pro/kucoin.js +1 -1
  255. package/dist/cjs/src/pro/kucoinfutures.js +1 -1
  256. package/dist/cjs/src/pro/lbank.js +1 -0
  257. package/dist/cjs/src/pro/luno.js +1 -1
  258. package/dist/cjs/src/pro/mexc.js +1 -1
  259. package/dist/cjs/src/pro/myokx.js +1 -1
  260. package/dist/cjs/src/pro/ndax.js +1 -1
  261. package/dist/cjs/src/pro/okcoin.js +1 -1
  262. package/dist/cjs/src/pro/okx.js +1 -1
  263. package/dist/cjs/src/pro/okxus.js +1 -1
  264. package/dist/cjs/src/pro/onetrading.js +1 -1
  265. package/dist/cjs/src/pro/oxfun.js +1 -1
  266. package/dist/cjs/src/pro/p2b.js +1 -1
  267. package/dist/cjs/src/pro/paradex.js +1 -1
  268. package/dist/cjs/src/pro/phemex.js +1 -1
  269. package/dist/cjs/src/pro/poloniex.js +1 -1
  270. package/dist/cjs/src/pro/probit.js +1 -1
  271. package/dist/cjs/src/pro/tradeogre.js +1 -1
  272. package/dist/cjs/src/pro/upbit.js +1 -1
  273. package/dist/cjs/src/pro/whitebit.js +1 -1
  274. package/dist/cjs/src/pro/xt.js +1 -1
  275. package/dist/cjs/src/probit.js +1 -1
  276. package/dist/cjs/src/static_dependencies/ethers/abi-coder.js +6 -0
  277. package/dist/cjs/src/static_dependencies/ethers/address/address.js +1 -1
  278. package/dist/cjs/src/static_dependencies/ethers/coders/abstract-coder.js +6 -0
  279. package/dist/cjs/src/static_dependencies/ethers/coders/address.js +1 -0
  280. package/dist/cjs/src/static_dependencies/ethers/coders/anonymous.js +1 -0
  281. package/dist/cjs/src/static_dependencies/ethers/coders/array.js +1 -0
  282. package/dist/cjs/src/static_dependencies/ethers/coders/boolean.js +1 -0
  283. package/dist/cjs/src/static_dependencies/ethers/coders/bytes.js +1 -0
  284. package/dist/cjs/src/static_dependencies/ethers/coders/fixed-bytes.js +1 -0
  285. package/dist/cjs/src/static_dependencies/ethers/coders/null.js +1 -0
  286. package/dist/cjs/src/static_dependencies/ethers/coders/number.js +1 -0
  287. package/dist/cjs/src/static_dependencies/ethers/coders/string.js +1 -0
  288. package/dist/cjs/src/static_dependencies/ethers/coders/tuple.js +1 -0
  289. package/dist/cjs/src/static_dependencies/ethers/fragments.js +6 -0
  290. package/dist/cjs/src/static_dependencies/ethers/hash/typed-data.js +6 -0
  291. package/dist/cjs/src/static_dependencies/ethers/index.js +1 -10
  292. package/dist/cjs/src/static_dependencies/ethers/interface.js +6 -0
  293. package/dist/cjs/src/static_dependencies/ethers/typed.js +6 -0
  294. package/dist/cjs/src/static_dependencies/ethers/utils/base58.js +1 -13
  295. package/dist/cjs/src/static_dependencies/ethers/utils/data.js +1 -6
  296. package/dist/cjs/src/static_dependencies/ethers/utils/errors.js +1 -9
  297. package/dist/cjs/src/static_dependencies/ethers/utils/events.js +6 -0
  298. package/dist/cjs/src/static_dependencies/ethers/utils/fixednumber.js +6 -0
  299. package/dist/cjs/src/static_dependencies/ethers/utils/index.js +1 -7
  300. package/dist/cjs/src/static_dependencies/ethers/utils/maths.js +1 -5
  301. package/dist/cjs/src/static_dependencies/ethers/utils/properties.js +6 -0
  302. package/dist/cjs/src/static_dependencies/ethers/utils/utf8.js +1 -8
  303. package/dist/cjs/src/static_dependencies/fflake/browser.js +1 -1
  304. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncrypt.js +1 -0
  305. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +1 -0
  306. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +1 -1
  307. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +6 -0
  308. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +6 -0
  309. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +6 -0
  310. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +1 -0
  311. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +1 -1
  312. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +6 -0
  313. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +1 -1
  314. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +1 -1
  315. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/util.js +6 -0
  316. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +1 -1
  317. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +6 -0
  318. package/dist/cjs/src/static_dependencies/messagepack/msgpack.js +6 -0
  319. package/dist/cjs/src/static_dependencies/noble-curves/_shortw_utils.js +1 -1
  320. package/dist/cjs/src/static_dependencies/noble-curves/abstract/curve.js +1 -1
  321. package/dist/cjs/src/static_dependencies/noble-curves/abstract/edwards.js +1 -1
  322. package/dist/cjs/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +1 -0
  323. package/dist/cjs/src/static_dependencies/noble-curves/abstract/modular.js +1 -1
  324. package/dist/cjs/src/static_dependencies/noble-curves/abstract/montgomery.js +1 -1
  325. package/dist/cjs/src/static_dependencies/noble-curves/abstract/poseidon.js +1 -1
  326. package/dist/cjs/src/static_dependencies/noble-curves/abstract/utils.js +6 -0
  327. package/dist/cjs/src/static_dependencies/noble-curves/abstract/weierstrass.js +1 -1
  328. package/dist/cjs/src/static_dependencies/noble-curves/ed25519.js +1 -1
  329. package/dist/cjs/src/static_dependencies/noble-curves/p256.js +1 -1
  330. package/dist/cjs/src/static_dependencies/noble-curves/secp256k1.js +1 -1
  331. package/dist/cjs/src/static_dependencies/noble-hashes/_assert.js +6 -0
  332. package/dist/cjs/src/static_dependencies/noble-hashes/_sha2.js +1 -0
  333. package/dist/cjs/src/static_dependencies/noble-hashes/_u64.js +6 -0
  334. package/dist/cjs/src/static_dependencies/noble-hashes/crypto.js +6 -0
  335. package/dist/cjs/src/static_dependencies/noble-hashes/hmac.js +1 -0
  336. package/dist/cjs/src/static_dependencies/noble-hashes/md5.js +1 -0
  337. package/dist/cjs/src/static_dependencies/noble-hashes/sha1.js +1 -0
  338. package/dist/cjs/src/static_dependencies/noble-hashes/sha256.js +1 -0
  339. package/dist/cjs/src/static_dependencies/noble-hashes/sha3.js +1 -0
  340. package/dist/cjs/src/static_dependencies/noble-hashes/sha512.js +1 -0
  341. package/dist/cjs/src/static_dependencies/noble-hashes/utils.js +1 -1
  342. package/dist/cjs/src/static_dependencies/node-fetch/body.js +1 -5
  343. package/dist/cjs/src/static_dependencies/node-fetch/errors/abort-error.js +1 -0
  344. package/dist/cjs/src/static_dependencies/node-fetch/errors/base.js +6 -0
  345. package/dist/cjs/src/static_dependencies/node-fetch/errors/fetch-error.js +1 -0
  346. package/dist/cjs/src/static_dependencies/node-fetch/headers.js +1 -5
  347. package/dist/cjs/src/static_dependencies/node-fetch/index.js +1 -7
  348. package/dist/cjs/src/static_dependencies/node-fetch/request.js +1 -7
  349. package/dist/cjs/src/static_dependencies/node-fetch/response.js +1 -5
  350. package/dist/cjs/src/static_dependencies/node-fetch/utils/get-search.js +6 -0
  351. package/dist/cjs/src/static_dependencies/node-fetch/utils/is-redirect.js +6 -0
  352. package/dist/cjs/src/static_dependencies/node-fetch/utils/is.js +6 -0
  353. package/dist/cjs/src/static_dependencies/node-fetch/utils/referrer.js +1 -0
  354. package/dist/cjs/src/static_dependencies/proxies/agent-base/index.js +1 -0
  355. package/dist/cjs/src/static_dependencies/proxies/http-proxy-agent/index.js +1 -0
  356. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/index.js +1 -0
  357. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +6 -0
  358. package/dist/cjs/src/static_dependencies/scure-base/index.js +6 -0
  359. package/dist/cjs/src/static_dependencies/scure-starknet/index.js +1 -1
  360. package/dist/cjs/src/static_dependencies/starknet/constants.js +1 -1
  361. package/dist/cjs/src/static_dependencies/starknet/types/calldata.js +6 -0
  362. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/abi.js +6 -0
  363. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/index.js +6 -0
  364. package/dist/cjs/src/static_dependencies/starknet/types/lib/index.js +6 -0
  365. package/dist/cjs/src/static_dependencies/starknet/types/typedData.js +6 -0
  366. package/dist/cjs/src/static_dependencies/starknet/utils/assert.js +6 -0
  367. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +1 -1
  368. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +1 -1
  369. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +1 -1
  370. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/byteArray.js +1 -0
  371. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/cairo.js +1 -0
  372. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +6 -0
  373. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +6 -0
  374. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +6 -0
  375. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/formatter.js +1 -0
  376. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/index.js +1 -1
  377. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/index.js +1 -0
  378. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +1 -0
  379. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +6 -0
  380. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +1 -0
  381. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/requestParser.js +1 -0
  382. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/responseParser.js +1 -0
  383. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/tuple.js +1 -1
  384. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/validate.js +1 -4
  385. package/dist/cjs/src/static_dependencies/starknet/utils/encode.js +1 -0
  386. package/dist/cjs/src/static_dependencies/starknet/utils/hash/classHash.js +1 -3
  387. package/dist/cjs/src/static_dependencies/starknet/utils/merkle.js +1 -0
  388. package/dist/cjs/src/static_dependencies/starknet/utils/num.js +1 -0
  389. package/dist/cjs/src/static_dependencies/starknet/utils/selector.js +1 -0
  390. package/dist/cjs/src/static_dependencies/starknet/utils/shortString.js +1 -0
  391. package/dist/cjs/src/static_dependencies/starknet/utils/typedData.js +1 -1
  392. package/dist/cjs/src/static_dependencies/watchable/src/unpromise.js +6 -0
  393. package/dist/cjs/src/static_dependencies/zklink/zklink-sdk-web.js +6 -0
  394. package/dist/cjs/src/timex.js +1 -0
  395. package/dist/cjs/src/tokocrypto.js +1 -1
  396. package/dist/cjs/src/tradeogre.js +1 -1
  397. package/dist/cjs/src/upbit.js +1 -1
  398. package/dist/cjs/src/vertex.js +4 -3
  399. package/dist/cjs/src/wavesexchange.js +1 -1
  400. package/dist/cjs/src/whitebit.js +1 -1
  401. package/dist/cjs/src/woo.js +9 -4
  402. package/dist/cjs/src/woofipro.js +3 -3
  403. package/dist/cjs/src/xt.js +1 -1
  404. package/dist/cjs/src/yobit.js +1 -1
  405. package/dist/cjs/src/zaif.js +1 -1
  406. package/dist/cjs/src/zonda.js +1 -1
  407. package/js/ccxt.d.ts +5 -2
  408. package/js/ccxt.js +4 -2
  409. package/js/src/abstract/binance.d.ts +3 -0
  410. package/js/src/abstract/binancecoinm.d.ts +3 -0
  411. package/js/src/abstract/binanceus.d.ts +3 -0
  412. package/js/src/abstract/binanceusdm.d.ts +3 -0
  413. package/js/src/abstract/foxbit.d.ts +29 -0
  414. package/js/src/abstract/foxbit.js +5 -0
  415. package/js/src/abstract/phemex.d.ts +1 -0
  416. package/js/src/apex.d.ts +2 -2
  417. package/js/src/apex.js +2 -2
  418. package/js/src/ascendex.d.ts +1 -1
  419. package/js/src/ascendex.js +3 -3
  420. package/js/src/base/Exchange.d.ts +20 -11
  421. package/js/src/base/Exchange.js +69 -17
  422. package/js/src/base/functions/number.js +30 -9
  423. package/js/src/binance.d.ts +1 -0
  424. package/js/src/binance.js +95 -34
  425. package/js/src/binancecoinm.js +5 -1
  426. package/js/src/binanceus.js +3 -1
  427. package/js/src/binanceusdm.js +3 -1
  428. package/js/src/bingx.js +1 -1
  429. package/js/src/bitget.js +31 -143
  430. package/js/src/bitmart.d.ts +2 -2
  431. package/js/src/bitmart.js +2 -2
  432. package/js/src/bitrue.js +15 -8
  433. package/js/src/bittrade.d.ts +1 -1
  434. package/js/src/blofin.d.ts +1 -1
  435. package/js/src/bybit.d.ts +1 -1
  436. package/js/src/bybit.js +16 -5
  437. package/js/src/coinbaseexchange.d.ts +3 -3
  438. package/js/src/coinbaseexchange.js +4 -2
  439. package/js/src/coinbaseinternational.d.ts +2 -2
  440. package/js/src/coinspot.d.ts +1 -1
  441. package/js/src/coinspot.js +36 -1
  442. package/js/src/cryptocom.d.ts +13 -2
  443. package/js/src/cryptocom.js +78 -2
  444. package/js/src/cryptomus.d.ts +1 -1
  445. package/js/src/cryptomus.js +41 -1
  446. package/js/src/defx.d.ts +2 -2
  447. package/js/src/defx.js +1 -1
  448. package/js/src/derive.d.ts +2 -2
  449. package/js/src/derive.js +1 -1
  450. package/js/src/digifinex.d.ts +1 -1
  451. package/js/src/ellipx.js +40 -0
  452. package/js/src/exmo.js +1 -1
  453. package/js/src/foxbit.d.ts +352 -0
  454. package/js/src/foxbit.js +2010 -0
  455. package/js/src/gate.js +1 -2
  456. package/js/src/hashkey.js +39 -0
  457. package/js/src/htx.d.ts +2 -2
  458. package/js/src/hyperliquid.d.ts +2 -2
  459. package/js/src/hyperliquid.js +44 -29
  460. package/js/src/independentreserve.js +35 -0
  461. package/js/src/indodax.js +34 -0
  462. package/js/src/krakenfutures.d.ts +1 -1
  463. package/js/src/kucoin.d.ts +1 -1
  464. package/js/src/kucoin.js +3 -2
  465. package/js/src/kucoinfutures.d.ts +3 -3
  466. package/js/src/kucoinfutures.js +3 -2
  467. package/js/src/latoken.js +42 -0
  468. package/js/src/luno.js +36 -0
  469. package/js/src/mercado.js +34 -0
  470. package/js/src/mexc.d.ts +1 -2
  471. package/js/src/mexc.js +31 -38
  472. package/js/src/modetrade.d.ts +2 -4
  473. package/js/src/modetrade.js +3 -3
  474. package/js/src/ndax.d.ts +1 -1
  475. package/js/src/okcoin.d.ts +1 -1
  476. package/js/src/okcoin.js +1 -1
  477. package/js/src/okx.d.ts +1 -1
  478. package/js/src/okx.js +12 -3
  479. package/js/src/onetrading.d.ts +1 -1
  480. package/js/src/onetrading.js +1 -1
  481. package/js/src/oxfun.d.ts +1 -1
  482. package/js/src/oxfun.js +2 -1
  483. package/js/src/paradex.d.ts +1 -1
  484. package/js/src/paradex.js +2 -2
  485. package/js/src/phemex.js +36 -31
  486. package/js/src/pro/binancecoinm.js +3 -1
  487. package/js/src/pro/binanceus.js +3 -1
  488. package/js/src/pro/binanceusdm.js +3 -1
  489. package/js/src/pro/bybit.d.ts +11 -1
  490. package/js/src/pro/bybit.js +33 -0
  491. package/js/src/static_dependencies/fflake/browser.d.ts +5 -5
  492. package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.d.ts +1 -1
  493. package/js/src/static_dependencies/noble-curves/abstract/weierstrass.d.ts +1 -0
  494. package/js/src/static_dependencies/starknet/utils/calldata/parser/index.d.ts +1 -1
  495. package/js/src/timex.d.ts +1 -1
  496. package/js/src/vertex.d.ts +2 -2
  497. package/js/src/vertex.js +3 -2
  498. package/js/src/woo.d.ts +1 -1
  499. package/js/src/woo.js +8 -3
  500. package/js/src/woofipro.d.ts +2 -4
  501. package/js/src/woofipro.js +2 -2
  502. package/package.json +1 -2
package/js/src/phemex.js CHANGED
@@ -262,6 +262,7 @@ export default class phemex extends Exchange {
262
262
  // swap
263
263
  'orders/replace': 1,
264
264
  'g-orders/replace': 1,
265
+ 'g-orders/create': 1,
265
266
  'positions/leverage': 5,
266
267
  'g-positions/leverage': 5,
267
268
  'g-positions/switch-pos-mode-sync': 5,
@@ -1216,7 +1217,8 @@ export default class phemex extends Exchange {
1216
1217
  // 'id': 123456789, // optional request id
1217
1218
  };
1218
1219
  let response = undefined;
1219
- if (market['linear'] && market['settle'] === 'USDT') {
1220
+ const isStableSettled = (market['settle'] === 'USDT') || (market['settle'] === 'USDC');
1221
+ if (market['linear'] && isStableSettled) {
1220
1222
  response = await this.v2GetMdV2Orderbook(this.extend(request, params));
1221
1223
  }
1222
1224
  else {
@@ -1360,7 +1362,8 @@ export default class phemex extends Exchange {
1360
1362
  };
1361
1363
  const until = this.safeInteger2(params, 'until', 'to');
1362
1364
  params = this.omit(params, ['until']);
1363
- const usesSpecialFromToEndpoint = ((market['linear'] || market['settle'] === 'USDT')) && ((since !== undefined) || (until !== undefined));
1365
+ const isStableSettled = (market['settle'] === 'USDT') || (market['settle'] === 'USDC');
1366
+ const usesSpecialFromToEndpoint = ((market['linear'] || isStableSettled)) && ((since !== undefined) || (until !== undefined));
1364
1367
  let maxLimit = 1000;
1365
1368
  if (usesSpecialFromToEndpoint) {
1366
1369
  maxLimit = 2000;
@@ -1370,7 +1373,7 @@ export default class phemex extends Exchange {
1370
1373
  }
1371
1374
  request['limit'] = Math.min(limit, maxLimit);
1372
1375
  let response = undefined;
1373
- if (market['linear'] || market['settle'] === 'USDT') {
1376
+ if (market['linear'] || isStableSettled) {
1374
1377
  if ((until !== undefined) || (since !== undefined)) {
1375
1378
  const candleDuration = this.parseTimeframe(timeframe);
1376
1379
  if (since !== undefined) {
@@ -1645,7 +1648,8 @@ export default class phemex extends Exchange {
1645
1648
  // 'id': 123456789, // optional request id
1646
1649
  };
1647
1650
  let response = undefined;
1648
- if (market['linear'] && market['settle'] === 'USDT') {
1651
+ const isStableSettled = (market['settle'] === 'USDT') || (market['settle'] === 'USDC');
1652
+ if (market['linear'] && isStableSettled) {
1649
1653
  response = await this.v2GetMdV2Trade(this.extend(request, params));
1650
1654
  }
1651
1655
  else {
@@ -1890,7 +1894,7 @@ export default class phemex extends Exchange {
1890
1894
  }
1891
1895
  id = this.safeString2(trade, 'execId', 'execID');
1892
1896
  orderId = this.safeString(trade, 'orderID');
1893
- if (market['settle'] === 'USDT') {
1897
+ if (market['settle'] === 'USDT' || market['settle'] === 'USDC') {
1894
1898
  const sideId = this.safeStringLower(trade, 'side');
1895
1899
  if ((sideId === 'buy') || (sideId === 'sell')) {
1896
1900
  side = sideId;
@@ -2665,6 +2669,7 @@ export default class phemex extends Exchange {
2665
2669
  const stopLossDefined = (stopLoss !== undefined);
2666
2670
  const takeProfit = this.safeValue(params, 'takeProfit');
2667
2671
  const takeProfitDefined = (takeProfit !== undefined);
2672
+ const isStableSettled = (market['settle'] === 'USDT') || (market['settle'] === 'USDC');
2668
2673
  if (clientOrderId === undefined) {
2669
2674
  const brokerId = this.safeString(this.options, 'brokerId', 'CCXT123456');
2670
2675
  if (brokerId !== undefined) {
@@ -2677,7 +2682,7 @@ export default class phemex extends Exchange {
2677
2682
  }
2678
2683
  const triggerPrice = this.safeStringN(params, ['stopPx', 'stopPrice', 'triggerPrice']);
2679
2684
  if (triggerPrice !== undefined) {
2680
- if (market['settle'] === 'USDT') {
2685
+ if (isStableSettled) {
2681
2686
  request['stopPxRp'] = this.priceToPrecision(symbol, triggerPrice);
2682
2687
  }
2683
2688
  else {
@@ -2744,7 +2749,7 @@ export default class phemex extends Exchange {
2744
2749
  }
2745
2750
  posSide = this.capitalize(posSide);
2746
2751
  request['posSide'] = posSide;
2747
- if (market['settle'] === 'USDT') {
2752
+ if (isStableSettled) {
2748
2753
  request['orderQtyRq'] = amount;
2749
2754
  }
2750
2755
  else {
@@ -2783,7 +2788,7 @@ export default class phemex extends Exchange {
2783
2788
  if (stopLossTriggerPrice === undefined) {
2784
2789
  throw new InvalidOrder(this.id + ' createOrder() requires a trigger price in params["stopLoss"]["triggerPrice"] for a stop loss order');
2785
2790
  }
2786
- if (market['settle'] === 'USDT') {
2791
+ if (isStableSettled) {
2787
2792
  request['stopLossRp'] = this.priceToPrecision(symbol, stopLossTriggerPrice);
2788
2793
  }
2789
2794
  else {
@@ -2803,7 +2808,7 @@ export default class phemex extends Exchange {
2803
2808
  if (takeProfitTriggerPrice === undefined) {
2804
2809
  throw new InvalidOrder(this.id + ' createOrder() requires a trigger price in params["takeProfit"]["triggerPrice"] for a take profit order');
2805
2810
  }
2806
- if (market['settle'] === 'USDT') {
2811
+ if (isStableSettled) {
2807
2812
  request['takeProfitRp'] = this.priceToPrecision(symbol, takeProfitTriggerPrice);
2808
2813
  }
2809
2814
  else {
@@ -2821,7 +2826,7 @@ export default class phemex extends Exchange {
2821
2826
  }
2822
2827
  }
2823
2828
  if ((type === 'Limit') || (type === 'StopLimit') || (type === 'LimitIfTouched')) {
2824
- if (market['settle'] === 'USDT') {
2829
+ if (isStableSettled) {
2825
2830
  request['priceRp'] = this.priceToPrecision(symbol, price);
2826
2831
  }
2827
2832
  else {
@@ -2831,7 +2836,7 @@ export default class phemex extends Exchange {
2831
2836
  }
2832
2837
  const takeProfitPrice = this.safeString(params, 'takeProfitPrice');
2833
2838
  if (takeProfitPrice !== undefined) {
2834
- if (market['settle'] === 'USDT') {
2839
+ if (isStableSettled) {
2835
2840
  request['takeProfitRp'] = this.priceToPrecision(symbol, takeProfitPrice);
2836
2841
  }
2837
2842
  else {
@@ -2841,7 +2846,7 @@ export default class phemex extends Exchange {
2841
2846
  }
2842
2847
  const stopLossPrice = this.safeString(params, 'stopLossPrice');
2843
2848
  if (stopLossPrice !== undefined) {
2844
- if (market['settle'] === 'USDT') {
2849
+ if (isStableSettled) {
2845
2850
  request['stopLossRp'] = this.priceToPrecision(symbol, stopLossPrice);
2846
2851
  }
2847
2852
  else {
@@ -2850,7 +2855,7 @@ export default class phemex extends Exchange {
2850
2855
  params = this.omit(params, 'stopLossPrice');
2851
2856
  }
2852
2857
  let response = undefined;
2853
- if (market['settle'] === 'USDT') {
2858
+ if (isStableSettled) {
2854
2859
  response = await this.privatePostGOrders(this.extend(request, params));
2855
2860
  }
2856
2861
  else if (market['contract']) {
@@ -2961,7 +2966,7 @@ export default class phemex extends Exchange {
2961
2966
  };
2962
2967
  const clientOrderId = this.safeString2(params, 'clientOrderId', 'clOrdID');
2963
2968
  params = this.omit(params, ['clientOrderId', 'clOrdID']);
2964
- const isUSDTSettled = (market['settle'] === 'USDT');
2969
+ const isStableSettled = (market['settle'] === 'USDT') || (market['settle'] === 'USDC');
2965
2970
  if (clientOrderId !== undefined) {
2966
2971
  request['clOrdID'] = clientOrderId;
2967
2972
  }
@@ -2969,7 +2974,7 @@ export default class phemex extends Exchange {
2969
2974
  request['orderID'] = id;
2970
2975
  }
2971
2976
  if (price !== undefined) {
2972
- if (isUSDTSettled) {
2977
+ if (isStableSettled) {
2973
2978
  request['priceRp'] = this.priceToPrecision(market['symbol'], price);
2974
2979
  }
2975
2980
  else {
@@ -2983,7 +2988,7 @@ export default class phemex extends Exchange {
2983
2988
  request['baseQtyEV'] = finalQty;
2984
2989
  }
2985
2990
  else if (amount !== undefined) {
2986
- if (isUSDTSettled) {
2991
+ if (isStableSettled) {
2987
2992
  request['orderQtyRq'] = this.amountToPrecision(market['symbol'], amount);
2988
2993
  }
2989
2994
  else {
@@ -2992,7 +2997,7 @@ export default class phemex extends Exchange {
2992
2997
  }
2993
2998
  const triggerPrice = this.safeStringN(params, ['triggerPrice', 'stopPx', 'stopPrice']);
2994
2999
  if (triggerPrice !== undefined) {
2995
- if (isUSDTSettled) {
3000
+ if (isStableSettled) {
2996
3001
  request['stopPxRp'] = this.priceToPrecision(symbol, triggerPrice);
2997
3002
  }
2998
3003
  else {
@@ -3001,7 +3006,7 @@ export default class phemex extends Exchange {
3001
3006
  }
3002
3007
  params = this.omit(params, ['triggerPrice', 'stopPx', 'stopPrice']);
3003
3008
  let response = undefined;
3004
- if (isUSDTSettled) {
3009
+ if (isStableSettled) {
3005
3010
  const posSide = this.safeString(params, 'posSide');
3006
3011
  if (posSide === undefined) {
3007
3012
  request['posSide'] = 'Merged';
@@ -3046,7 +3051,7 @@ export default class phemex extends Exchange {
3046
3051
  request['orderID'] = id;
3047
3052
  }
3048
3053
  let response = undefined;
3049
- if (market['settle'] === 'USDT') {
3054
+ if (market['settle'] === 'USDT' || market['settle'] === 'USDC') {
3050
3055
  const posSide = this.safeString(params, 'posSide');
3051
3056
  if (posSide === undefined) {
3052
3057
  request['posSide'] = 'Merged';
@@ -3088,7 +3093,7 @@ export default class phemex extends Exchange {
3088
3093
  request['untriggerred'] = trigger;
3089
3094
  }
3090
3095
  let response = undefined;
3091
- if (market['settle'] === 'USDT') {
3096
+ if (market['settle'] === 'USDT' || market['settle'] === 'USDC') {
3092
3097
  response = await this.privateDeleteGOrdersAll(this.extend(request, params));
3093
3098
  //
3094
3099
  // {
@@ -3154,7 +3159,7 @@ export default class phemex extends Exchange {
3154
3159
  request['orderID'] = id;
3155
3160
  }
3156
3161
  let response = undefined;
3157
- if (market['settle'] === 'USDT') {
3162
+ if (market['settle'] === 'USDT' || market['settle'] === 'USDC') {
3158
3163
  response = await this.privateGetApiDataGFuturesOrdersByOrderId(this.extend(request, params));
3159
3164
  }
3160
3165
  else if (market['spot']) {
@@ -3210,7 +3215,7 @@ export default class phemex extends Exchange {
3210
3215
  request['limit'] = limit;
3211
3216
  }
3212
3217
  let response = undefined;
3213
- if (market['settle'] === 'USDT') {
3218
+ if (market['settle'] === 'USDT' || market['settle'] === 'USDC') {
3214
3219
  request['currency'] = market['settle'];
3215
3220
  response = await this.privateGetExchangeOrderV2OrderList(this.extend(request, params));
3216
3221
  }
@@ -3249,7 +3254,7 @@ export default class phemex extends Exchange {
3249
3254
  };
3250
3255
  let response = undefined;
3251
3256
  try {
3252
- if (market['settle'] === 'USDT') {
3257
+ if (market['settle'] === 'USDT' || market['settle'] === 'USDC') {
3253
3258
  response = await this.privateGetGOrdersActiveList(this.extend(request, params));
3254
3259
  }
3255
3260
  else if (market['swap']) {
@@ -4114,8 +4119,8 @@ export default class phemex extends Exchange {
4114
4119
  request['limit'] = limit;
4115
4120
  }
4116
4121
  let response = undefined;
4117
- const isUsdt = market['settle'] === 'USDT';
4118
- if (isUsdt) {
4122
+ const isStableSettled = market['settle'] === 'USDT' || market['settle'] === 'USDC';
4123
+ if (isStableSettled) {
4119
4124
  response = await this.privateGetApiDataGFuturesFundingFees(this.extend(request, params));
4120
4125
  }
4121
4126
  else {
@@ -4168,8 +4173,8 @@ export default class phemex extends Exchange {
4168
4173
  return value;
4169
4174
  }
4170
4175
  // it was confirmed by phemex support, that USDT contracts use direct amounts in funding fees, while USD & INVERSE needs 'valueScale'
4171
- const isUsdt = market['settle'] === 'USDT';
4172
- if (!isUsdt) {
4176
+ const isStableSettled = market['settle'] === 'USDT' || market['settle'] === 'USDC';
4177
+ if (!isStableSettled) {
4173
4178
  const currency = this.safeCurrency(currencyCode);
4174
4179
  const scale = this.safeString(currency['info'], 'valueScale');
4175
4180
  const tickPrecision = this.parsePrecision(scale);
@@ -4368,8 +4373,8 @@ export default class phemex extends Exchange {
4368
4373
  }
4369
4374
  await this.loadMarkets();
4370
4375
  const market = this.market(symbol);
4371
- if (!market['swap'] || market['settle'] === 'USDT') {
4372
- throw new BadSymbol(this.id + ' setMarginMode() supports swap (non USDT based) contracts only');
4376
+ if (!market['swap'] || market['settle'] === 'USDT' || market['settle'] === 'USDC') {
4377
+ throw new BadSymbol(this.id + ' setMarginMode() supports swap (non USDT/USDC based) contracts only');
4373
4378
  }
4374
4379
  marginMode = marginMode.toLowerCase();
4375
4380
  if (marginMode !== 'isolated' && marginMode !== 'cross') {
@@ -4625,7 +4630,7 @@ export default class phemex extends Exchange {
4625
4630
  'symbol': market['id'],
4626
4631
  };
4627
4632
  let response = undefined;
4628
- if (market['settle'] === 'USDT') {
4633
+ if (market['settle'] === 'USDT' || market['settle'] === 'USDC') {
4629
4634
  if (!isHedged && longLeverageRr === undefined && shortLeverageRr === undefined) {
4630
4635
  request['leverageRr'] = leverage;
4631
4636
  }
@@ -4867,7 +4872,7 @@ export default class phemex extends Exchange {
4867
4872
  }
4868
4873
  await this.loadMarkets();
4869
4874
  const market = this.market(symbol);
4870
- const isUsdtSettled = market['settle'] === 'USDT';
4875
+ const isUsdtSettled = market['settle'] === 'USDT' || market['settle'] === 'USDC';
4871
4876
  if (!market['swap']) {
4872
4877
  throw new BadRequest(this.id + ' fetchFundingRateHistory() supports swap contracts only');
4873
4878
  }
@@ -16,7 +16,9 @@ export default class binancecoinm extends binance {
16
16
  'doc': 'https://developers.binance.com/en',
17
17
  },
18
18
  'options': {
19
- 'fetchMarkets': ['inverse'],
19
+ 'fetchMarkets': {
20
+ 'types': ['inverse'],
21
+ },
20
22
  'defaultSubType': 'inverse',
21
23
  },
22
24
  });
@@ -37,7 +37,9 @@ export default class binanceus extends binance {
37
37
  'fetchCurrencies': false,
38
38
  'quoteOrderQty': false,
39
39
  'defaultType': 'spot',
40
- 'fetchMarkets': ['spot'],
40
+ 'fetchMarkets': {
41
+ 'types': ['spot'],
42
+ },
41
43
  },
42
44
  });
43
45
  }
@@ -12,7 +12,9 @@ export default class binanceusdm extends binance {
12
12
  'doc': 'https://developers.binance.com/en',
13
13
  },
14
14
  'options': {
15
- 'fetchMarkets': ['linear'],
15
+ 'fetchMarkets': {
16
+ 'types': ['linear'],
17
+ },
16
18
  'defaultSubType': 'linear',
17
19
  },
18
20
  // https://binance-docs.github.io/apidocs/futures/en/#error-codes
@@ -320,6 +320,16 @@ export default class bybit extends bybitRest {
320
320
  setPositionsCache(client: Client, symbols?: Strings): void;
321
321
  loadPositionsSnapshot(client: any, messageHash: any): Promise<void>;
322
322
  handlePositions(client: any, message: any): void;
323
+ /**
324
+ * @method
325
+ * @name bybit#unWatchPositions
326
+ * @description unWatches all open positions
327
+ * @see https://bybit-exchange.github.io/docs/v5/websocket/private/position
328
+ * @param {string[]} [symbols] list of unified market symbols
329
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
330
+ * @returns {object} status of the unwatch request
331
+ */
332
+ unWatchPositions(symbols?: Strings, params?: {}): Promise<any>;
323
333
  /**
324
334
  * @method
325
335
  * @name bybit#watchLiquidations
@@ -372,7 +382,7 @@ export default class bybit extends bybitRest {
372
382
  handleBalance(client: Client, message: any): void;
373
383
  parseWsBalance(balance: any, accountType?: any): void;
374
384
  watchTopics(url: any, messageHashes: any, topics: any, params?: {}): Promise<any>;
375
- unWatchTopics(url: string, topic: string, symbols: string[], messageHashes: string[], subMessageHashes: string[], topics: any, params?: {}, subExtension?: {}): Promise<any>;
385
+ unWatchTopics(url: string, topic: string, symbols: Strings, messageHashes: string[], subMessageHashes: string[], topics: any, params?: {}, subExtension?: {}): Promise<any>;
376
386
  authenticate(url: any, params?: {}): Promise<any>;
377
387
  handleErrorMessage(client: Client, message: any): boolean;
378
388
  handleMessage(client: Client, message: any): void;
@@ -35,6 +35,17 @@ export default class bybit extends bybitRest {
35
35
  'watchTrades': true,
36
36
  'watchPositions': true,
37
37
  'watchTradesForSymbols': true,
38
+ 'unWatchTicker': true,
39
+ 'unWatchTickers': true,
40
+ 'unWatchOHLCV': true,
41
+ 'unWatchOHLCVForSymbols': true,
42
+ 'unWatchOrderBook': true,
43
+ 'unWatchOrderBookForSymbols': true,
44
+ 'unWatchTrades': true,
45
+ 'unWatchTradesForSymbols': true,
46
+ 'unWatchMyTrades': true,
47
+ 'unWatchOrders': true,
48
+ 'unWatchPositions': true,
38
49
  },
39
50
  'urls': {
40
51
  'api': {
@@ -1550,6 +1561,28 @@ export default class bybit extends bybitRest {
1550
1561
  }
1551
1562
  client.resolve(newPositions, 'positions');
1552
1563
  }
1564
+ /**
1565
+ * @method
1566
+ * @name bybit#unWatchPositions
1567
+ * @description unWatches all open positions
1568
+ * @see https://bybit-exchange.github.io/docs/v5/websocket/private/position
1569
+ * @param {string[]} [symbols] list of unified market symbols
1570
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1571
+ * @returns {object} status of the unwatch request
1572
+ */
1573
+ async unWatchPositions(symbols = undefined, params = {}) {
1574
+ await this.loadMarkets();
1575
+ const method = 'watchPositions';
1576
+ const messageHash = 'unsubscribe:positions';
1577
+ const subHash = 'positions';
1578
+ if (!this.isEmpty(symbols)) {
1579
+ throw new NotSupported(this.id + ' unWatchPositions() does not support a symbol parameter, you must unwatch all orders');
1580
+ }
1581
+ const url = await this.getUrlByMarketType(undefined, true, method, params);
1582
+ await this.authenticate(url);
1583
+ const topics = ['position'];
1584
+ return await this.unWatchTopics(url, 'positions', symbols, [messageHash], [subHash], topics, params);
1585
+ }
1553
1586
  /**
1554
1587
  * @method
1555
1588
  * @name bybit#watchLiquidations
@@ -5,7 +5,7 @@ export function deflate(data: any, opts: any, cb: any): () => void;
5
5
  * @param opts The compression options
6
6
  * @returns The deflated version of the data
7
7
  */
8
- export function deflateSync(data: any, opts: any): Uint8Array | Uint32Array | Uint16Array;
8
+ export function deflateSync(data: any, opts: any): Uint8Array | Uint16Array | Uint32Array;
9
9
  export function inflate(data: any, opts: any, cb: any): () => void;
10
10
  /**
11
11
  * Expands DEFLATE data with no wrapper
@@ -21,7 +21,7 @@ export function gzip(data: any, opts: any, cb: any): () => void;
21
21
  * @param opts The compression options
22
22
  * @returns The gzipped version of the data
23
23
  */
24
- export function gzipSync(data: any, opts: any): Uint8Array | Uint32Array | Uint16Array;
24
+ export function gzipSync(data: any, opts: any): Uint8Array | Uint16Array | Uint32Array;
25
25
  export function gunzip(data: any, opts: any, cb: any): () => void;
26
26
  /**
27
27
  * Expands GZIP data
@@ -37,7 +37,7 @@ export function zlib(data: any, opts: any, cb: any): () => void;
37
37
  * @param opts The compression options
38
38
  * @returns The zlib-compressed version of the data
39
39
  */
40
- export function zlibSync(data: any, opts: any): Uint8Array | Uint32Array | Uint16Array;
40
+ export function zlibSync(data: any, opts: any): Uint8Array | Uint16Array | Uint32Array;
41
41
  export function unzlib(data: any, opts: any, cb: any): () => void;
42
42
  /**
43
43
  * Expands Zlib data
@@ -61,7 +61,7 @@ export function decompressSync(data: any, out: any): any;
61
61
  * not need to be true unless decoding a binary string.
62
62
  * @returns The string encoded in UTF-8/Latin-1 binary
63
63
  */
64
- export function strToU8(str: any, latin1: any): Uint8Array | Uint32Array | Uint16Array;
64
+ export function strToU8(str: any, latin1: any): Uint8Array | Uint16Array | Uint32Array;
65
65
  /**
66
66
  * Converts a Uint8Array to a string
67
67
  * @param dat The data to decode to string
@@ -69,7 +69,7 @@ export function strToU8(str: any, latin1: any): Uint8Array | Uint32Array | Uint1
69
69
  * not need to be true unless encoding to binary string.
70
70
  * @returns The original UTF-8/Latin-1 string
71
71
  */
72
- export function strFromU8(dat: any, latin1: any): string | Uint8Array | Uint32Array | Uint16Array;
72
+ export function strFromU8(dat: any, latin1: any): string | Uint8Array | Uint16Array | Uint32Array;
73
73
  export function zip(data: any, opts: any, cb: any): () => void;
74
74
  /**
75
75
  * Synchronously creates a ZIP file. Prefer using `zip` for better performance
@@ -15,7 +15,7 @@ export declare class BigInteger {
15
15
  protected intValue(): number;
16
16
  protected byteValue(): number;
17
17
  protected shortValue(): number;
18
- protected signum(): 1 | 0 | -1;
18
+ protected signum(): 0 | 1 | -1;
19
19
  toByteArray(): number[];
20
20
  protected equals(a: BigInteger): boolean;
21
21
  protected min(a: BigInteger): BigInteger;
@@ -1,3 +1,4 @@
1
+ /// <reference types="node" />
1
2
  /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
2
3
  import * as mod from './modular.js';
3
4
  import * as ut from './utils.js';
@@ -1,5 +1,5 @@
1
1
  import { Abi, FunctionAbi, RawArgs } from '../../../types/index.js';
2
2
  import { AbiParserInterface } from './interface.js';
3
3
  export declare function createAbiParser(abi: Abi): AbiParserInterface;
4
- export declare function getAbiVersion(abi: Abi): 1 | 0 | 2;
4
+ export declare function getAbiVersion(abi: Abi): 0 | 1 | 2;
5
5
  export declare function isNoConstructorValid(method: string, argsCalldata: RawArgs, abiMethod?: FunctionAbi): boolean;
package/js/src/timex.d.ts CHANGED
@@ -150,7 +150,7 @@ export default class timex extends Exchange {
150
150
  * @param {object} [params] extra parameters specific to the exchange API endpoint
151
151
  * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
152
152
  */
153
- cancelOrder(id: string, symbol?: Str, params?: {}): Promise<import("./base/types.js").Dictionary<any>>;
153
+ cancelOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
154
154
  /**
155
155
  * @method
156
156
  * @name timex#cancelOrders
@@ -272,7 +272,7 @@ export default class vertex extends Exchange {
272
272
  * @param {boolean} [params.trigger] whether the order is a trigger/algo order
273
273
  * @returns {object} an list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
274
274
  */
275
- cancelAllOrders(symbol?: Str, params?: {}): Promise<any>;
275
+ cancelAllOrders(symbol?: Str, params?: {}): Promise<Order[]>;
276
276
  /**
277
277
  * @method
278
278
  * @name vertex#cancelOrder
@@ -284,7 +284,7 @@ export default class vertex extends Exchange {
284
284
  * @param {object} [params] extra parameters specific to the exchange API endpoint
285
285
  * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
286
286
  */
287
- cancelOrder(id: string, symbol?: Str, params?: {}): Promise<any>;
287
+ cancelOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
288
288
  /**
289
289
  * @method
290
290
  * @name vertex#cancelOrders
package/js/src/vertex.js CHANGED
@@ -2418,7 +2418,7 @@ export default class vertex extends Exchange {
2418
2418
  // }
2419
2419
  //
2420
2420
  }
2421
- return response;
2421
+ return [this.safeOrder({ 'info': response })];
2422
2422
  }
2423
2423
  /**
2424
2424
  * @method
@@ -2432,7 +2432,8 @@ export default class vertex extends Exchange {
2432
2432
  * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
2433
2433
  */
2434
2434
  async cancelOrder(id, symbol = undefined, params = {}) {
2435
- return await this.cancelOrders([id], symbol, params);
2435
+ const order = await this.cancelOrders([id], symbol, params);
2436
+ return this.safeOrder({ 'info': order });
2436
2437
  }
2437
2438
  /**
2438
2439
  * @method
package/js/src/woo.d.ts CHANGED
@@ -215,7 +215,7 @@ export default class woo extends Exchange {
215
215
  * @param {boolean} [params.trigger] whether the order is a trigger/algo order
216
216
  * @returns {object} an list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
217
217
  */
218
- cancelAllOrders(symbol?: Str, params?: {}): Promise<any>;
218
+ cancelAllOrders(symbol?: Str, params?: {}): Promise<Order[]>;
219
219
  /**
220
220
  * @method
221
221
  * @name woo#cancelAllOrdersAfter
package/js/src/woo.js CHANGED
@@ -689,7 +689,7 @@ export default class woo extends Exchange {
689
689
  'max': undefined,
690
690
  },
691
691
  },
692
- 'created': null,
692
+ 'created': undefined,
693
693
  'info': market,
694
694
  };
695
695
  }
@@ -1561,8 +1561,12 @@ export default class woo extends Exchange {
1561
1561
  const market = this.market(symbol);
1562
1562
  request['symbol'] = market['id'];
1563
1563
  }
1564
+ let response = undefined;
1564
1565
  if (trigger) {
1565
- return await this.v3PrivateDeleteTradeAlgoOrders(params);
1566
+ response = await this.v3PrivateDeleteTradeAlgoOrders(params);
1567
+ }
1568
+ else {
1569
+ response = await this.v3PrivateDeleteTradeOrders(this.extend(request, params));
1566
1570
  }
1567
1571
  //
1568
1572
  // {
@@ -1573,7 +1577,8 @@ export default class woo extends Exchange {
1573
1577
  // "timestamp": 1751941988134
1574
1578
  // }
1575
1579
  //
1576
- return await this.v3PrivateDeleteTradeOrders(this.extend(request, params));
1580
+ const data = this.safeDict(response, 'data', {});
1581
+ return [this.safeOrder({ 'info': data })];
1577
1582
  }
1578
1583
  /**
1579
1584
  * @method
@@ -217,7 +217,7 @@ export default class woofipro extends Exchange {
217
217
  * @param {string} [params.clientOrderId] a unique id for the order
218
218
  * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
219
219
  */
220
- cancelOrder(id: string, symbol?: Str, params?: {}): Promise<any>;
220
+ cancelOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
221
221
  /**
222
222
  * @method
223
223
  * @name woofipro#cancelOrders
@@ -242,9 +242,7 @@ export default class woofipro extends Exchange {
242
242
  * @param {boolean} [params.trigger] whether the order is a stop/algo order
243
243
  * @returns {object} an list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
244
244
  */
245
- cancelAllOrders(symbol?: Str, params?: {}): Promise<{
246
- info: any;
247
- }[]>;
245
+ cancelAllOrders(symbol?: Str, params?: {}): Promise<Order[]>;
248
246
  /**
249
247
  * @method
250
248
  * @name woofipro#fetchOrder
@@ -1815,9 +1815,9 @@ export default class woofipro extends Exchange {
1815
1815
  // }
1816
1816
  //
1817
1817
  return [
1818
- {
1818
+ this.safeOrder({
1819
1819
  'info': response,
1820
- },
1820
+ }),
1821
1821
  ];
1822
1822
  }
1823
1823
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ccxt",
3
- "version": "4.4.95",
3
+ "version": "4.4.97",
4
4
  "description": "A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading library with support for 100+ exchanges",
5
5
  "unpkg": "dist/ccxt.browser.min.js",
6
6
  "type": "module",
@@ -202,7 +202,6 @@
202
202
  "eslint-config-airbnb-base": "15.0.0",
203
203
  "eslint-plugin-import": "2.25.4",
204
204
  "eslint-plugin-jsdoc": "^46.9.0",
205
- "esmify": "^2.1.1",
206
205
  "https-proxy-agent": "^5.0.1",
207
206
  "jsdoc-to-markdown": "^8.0.0",
208
207
  "ololog": "^1.1.175",