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
@@ -5,7 +5,7 @@ var errors = require('./base/errors.js');
5
5
  var number = require('./base/functions/number.js');
6
6
  var sha512 = require('./static_dependencies/noble-hashes/sha512.js');
7
7
 
8
- // ---------------------------------------------------------------------------
8
+ // ----------------------------------------------------------------------------
9
9
  // ---------------------------------------------------------------------------
10
10
  /**
11
11
  * @class p2b
@@ -8,7 +8,7 @@ var crypto = require('./base/functions/crypto.js');
8
8
  var sha3 = require('./static_dependencies/noble-hashes/sha3.js');
9
9
  var secp256k1 = require('./static_dependencies/noble-curves/secp256k1.js');
10
10
 
11
- // ---------------------------------------------------------------------------
11
+ // ----------------------------------------------------------------------------
12
12
  // ---------------------------------------------------------------------------
13
13
  /**
14
14
  * @class paradex
@@ -1261,7 +1261,7 @@ class paradex extends paradex$1 {
1261
1261
  const cancelReason = this.safeString(order, 'cancel_reason');
1262
1262
  let status = this.safeString(order, 'status');
1263
1263
  if (cancelReason !== undefined) {
1264
- if (cancelReason === 'NOT_ENOUGH_MARGIN') {
1264
+ if (cancelReason === 'NOT_ENOUGH_MARGIN' || cancelReason === 'ORDER_EXCEEDS_POSITION_LIMIT') {
1265
1265
  status = 'rejected';
1266
1266
  }
1267
1267
  else {
@@ -1564,7 +1564,7 @@ class paradex extends paradex$1 {
1564
1564
  //
1565
1565
  // if success, no response...
1566
1566
  //
1567
- return response;
1567
+ return [this.safeOrder({ 'info': response })];
1568
1568
  }
1569
1569
  /**
1570
1570
  * @method
@@ -6,7 +6,7 @@ var Precise = require('./base/Precise.js');
6
6
  var number = require('./base/functions/number.js');
7
7
  var sha256 = require('./static_dependencies/noble-hashes/sha256.js');
8
8
 
9
- // ---------------------------------------------------------------------------
9
+ // ----------------------------------------------------------------------------
10
10
  // ---------------------------------------------------------------------------
11
11
  /**
12
12
  * @class paymium
@@ -265,6 +265,7 @@ class phemex extends phemex$1 {
265
265
  // swap
266
266
  'orders/replace': 1,
267
267
  'g-orders/replace': 1,
268
+ 'g-orders/create': 1,
268
269
  'positions/leverage': 5,
269
270
  'g-positions/leverage': 5,
270
271
  'g-positions/switch-pos-mode-sync': 5,
@@ -1219,7 +1220,8 @@ class phemex extends phemex$1 {
1219
1220
  // 'id': 123456789, // optional request id
1220
1221
  };
1221
1222
  let response = undefined;
1222
- if (market['linear'] && market['settle'] === 'USDT') {
1223
+ const isStableSettled = (market['settle'] === 'USDT') || (market['settle'] === 'USDC');
1224
+ if (market['linear'] && isStableSettled) {
1223
1225
  response = await this.v2GetMdV2Orderbook(this.extend(request, params));
1224
1226
  }
1225
1227
  else {
@@ -1363,7 +1365,8 @@ class phemex extends phemex$1 {
1363
1365
  };
1364
1366
  const until = this.safeInteger2(params, 'until', 'to');
1365
1367
  params = this.omit(params, ['until']);
1366
- const usesSpecialFromToEndpoint = ((market['linear'] || market['settle'] === 'USDT')) && ((since !== undefined) || (until !== undefined));
1368
+ const isStableSettled = (market['settle'] === 'USDT') || (market['settle'] === 'USDC');
1369
+ const usesSpecialFromToEndpoint = ((market['linear'] || isStableSettled)) && ((since !== undefined) || (until !== undefined));
1367
1370
  let maxLimit = 1000;
1368
1371
  if (usesSpecialFromToEndpoint) {
1369
1372
  maxLimit = 2000;
@@ -1373,7 +1376,7 @@ class phemex extends phemex$1 {
1373
1376
  }
1374
1377
  request['limit'] = Math.min(limit, maxLimit);
1375
1378
  let response = undefined;
1376
- if (market['linear'] || market['settle'] === 'USDT') {
1379
+ if (market['linear'] || isStableSettled) {
1377
1380
  if ((until !== undefined) || (since !== undefined)) {
1378
1381
  const candleDuration = this.parseTimeframe(timeframe);
1379
1382
  if (since !== undefined) {
@@ -1648,7 +1651,8 @@ class phemex extends phemex$1 {
1648
1651
  // 'id': 123456789, // optional request id
1649
1652
  };
1650
1653
  let response = undefined;
1651
- if (market['linear'] && market['settle'] === 'USDT') {
1654
+ const isStableSettled = (market['settle'] === 'USDT') || (market['settle'] === 'USDC');
1655
+ if (market['linear'] && isStableSettled) {
1652
1656
  response = await this.v2GetMdV2Trade(this.extend(request, params));
1653
1657
  }
1654
1658
  else {
@@ -1893,7 +1897,7 @@ class phemex extends phemex$1 {
1893
1897
  }
1894
1898
  id = this.safeString2(trade, 'execId', 'execID');
1895
1899
  orderId = this.safeString(trade, 'orderID');
1896
- if (market['settle'] === 'USDT') {
1900
+ if (market['settle'] === 'USDT' || market['settle'] === 'USDC') {
1897
1901
  const sideId = this.safeStringLower(trade, 'side');
1898
1902
  if ((sideId === 'buy') || (sideId === 'sell')) {
1899
1903
  side = sideId;
@@ -2668,6 +2672,7 @@ class phemex extends phemex$1 {
2668
2672
  const stopLossDefined = (stopLoss !== undefined);
2669
2673
  const takeProfit = this.safeValue(params, 'takeProfit');
2670
2674
  const takeProfitDefined = (takeProfit !== undefined);
2675
+ const isStableSettled = (market['settle'] === 'USDT') || (market['settle'] === 'USDC');
2671
2676
  if (clientOrderId === undefined) {
2672
2677
  const brokerId = this.safeString(this.options, 'brokerId', 'CCXT123456');
2673
2678
  if (brokerId !== undefined) {
@@ -2680,7 +2685,7 @@ class phemex extends phemex$1 {
2680
2685
  }
2681
2686
  const triggerPrice = this.safeStringN(params, ['stopPx', 'stopPrice', 'triggerPrice']);
2682
2687
  if (triggerPrice !== undefined) {
2683
- if (market['settle'] === 'USDT') {
2688
+ if (isStableSettled) {
2684
2689
  request['stopPxRp'] = this.priceToPrecision(symbol, triggerPrice);
2685
2690
  }
2686
2691
  else {
@@ -2747,7 +2752,7 @@ class phemex extends phemex$1 {
2747
2752
  }
2748
2753
  posSide = this.capitalize(posSide);
2749
2754
  request['posSide'] = posSide;
2750
- if (market['settle'] === 'USDT') {
2755
+ if (isStableSettled) {
2751
2756
  request['orderQtyRq'] = amount;
2752
2757
  }
2753
2758
  else {
@@ -2786,7 +2791,7 @@ class phemex extends phemex$1 {
2786
2791
  if (stopLossTriggerPrice === undefined) {
2787
2792
  throw new errors.InvalidOrder(this.id + ' createOrder() requires a trigger price in params["stopLoss"]["triggerPrice"] for a stop loss order');
2788
2793
  }
2789
- if (market['settle'] === 'USDT') {
2794
+ if (isStableSettled) {
2790
2795
  request['stopLossRp'] = this.priceToPrecision(symbol, stopLossTriggerPrice);
2791
2796
  }
2792
2797
  else {
@@ -2806,7 +2811,7 @@ class phemex extends phemex$1 {
2806
2811
  if (takeProfitTriggerPrice === undefined) {
2807
2812
  throw new errors.InvalidOrder(this.id + ' createOrder() requires a trigger price in params["takeProfit"]["triggerPrice"] for a take profit order');
2808
2813
  }
2809
- if (market['settle'] === 'USDT') {
2814
+ if (isStableSettled) {
2810
2815
  request['takeProfitRp'] = this.priceToPrecision(symbol, takeProfitTriggerPrice);
2811
2816
  }
2812
2817
  else {
@@ -2824,7 +2829,7 @@ class phemex extends phemex$1 {
2824
2829
  }
2825
2830
  }
2826
2831
  if ((type === 'Limit') || (type === 'StopLimit') || (type === 'LimitIfTouched')) {
2827
- if (market['settle'] === 'USDT') {
2832
+ if (isStableSettled) {
2828
2833
  request['priceRp'] = this.priceToPrecision(symbol, price);
2829
2834
  }
2830
2835
  else {
@@ -2834,7 +2839,7 @@ class phemex extends phemex$1 {
2834
2839
  }
2835
2840
  const takeProfitPrice = this.safeString(params, 'takeProfitPrice');
2836
2841
  if (takeProfitPrice !== undefined) {
2837
- if (market['settle'] === 'USDT') {
2842
+ if (isStableSettled) {
2838
2843
  request['takeProfitRp'] = this.priceToPrecision(symbol, takeProfitPrice);
2839
2844
  }
2840
2845
  else {
@@ -2844,7 +2849,7 @@ class phemex extends phemex$1 {
2844
2849
  }
2845
2850
  const stopLossPrice = this.safeString(params, 'stopLossPrice');
2846
2851
  if (stopLossPrice !== undefined) {
2847
- if (market['settle'] === 'USDT') {
2852
+ if (isStableSettled) {
2848
2853
  request['stopLossRp'] = this.priceToPrecision(symbol, stopLossPrice);
2849
2854
  }
2850
2855
  else {
@@ -2853,7 +2858,7 @@ class phemex extends phemex$1 {
2853
2858
  params = this.omit(params, 'stopLossPrice');
2854
2859
  }
2855
2860
  let response = undefined;
2856
- if (market['settle'] === 'USDT') {
2861
+ if (isStableSettled) {
2857
2862
  response = await this.privatePostGOrders(this.extend(request, params));
2858
2863
  }
2859
2864
  else if (market['contract']) {
@@ -2964,7 +2969,7 @@ class phemex extends phemex$1 {
2964
2969
  };
2965
2970
  const clientOrderId = this.safeString2(params, 'clientOrderId', 'clOrdID');
2966
2971
  params = this.omit(params, ['clientOrderId', 'clOrdID']);
2967
- const isUSDTSettled = (market['settle'] === 'USDT');
2972
+ const isStableSettled = (market['settle'] === 'USDT') || (market['settle'] === 'USDC');
2968
2973
  if (clientOrderId !== undefined) {
2969
2974
  request['clOrdID'] = clientOrderId;
2970
2975
  }
@@ -2972,7 +2977,7 @@ class phemex extends phemex$1 {
2972
2977
  request['orderID'] = id;
2973
2978
  }
2974
2979
  if (price !== undefined) {
2975
- if (isUSDTSettled) {
2980
+ if (isStableSettled) {
2976
2981
  request['priceRp'] = this.priceToPrecision(market['symbol'], price);
2977
2982
  }
2978
2983
  else {
@@ -2986,7 +2991,7 @@ class phemex extends phemex$1 {
2986
2991
  request['baseQtyEV'] = finalQty;
2987
2992
  }
2988
2993
  else if (amount !== undefined) {
2989
- if (isUSDTSettled) {
2994
+ if (isStableSettled) {
2990
2995
  request['orderQtyRq'] = this.amountToPrecision(market['symbol'], amount);
2991
2996
  }
2992
2997
  else {
@@ -2995,7 +3000,7 @@ class phemex extends phemex$1 {
2995
3000
  }
2996
3001
  const triggerPrice = this.safeStringN(params, ['triggerPrice', 'stopPx', 'stopPrice']);
2997
3002
  if (triggerPrice !== undefined) {
2998
- if (isUSDTSettled) {
3003
+ if (isStableSettled) {
2999
3004
  request['stopPxRp'] = this.priceToPrecision(symbol, triggerPrice);
3000
3005
  }
3001
3006
  else {
@@ -3004,7 +3009,7 @@ class phemex extends phemex$1 {
3004
3009
  }
3005
3010
  params = this.omit(params, ['triggerPrice', 'stopPx', 'stopPrice']);
3006
3011
  let response = undefined;
3007
- if (isUSDTSettled) {
3012
+ if (isStableSettled) {
3008
3013
  const posSide = this.safeString(params, 'posSide');
3009
3014
  if (posSide === undefined) {
3010
3015
  request['posSide'] = 'Merged';
@@ -3049,7 +3054,7 @@ class phemex extends phemex$1 {
3049
3054
  request['orderID'] = id;
3050
3055
  }
3051
3056
  let response = undefined;
3052
- if (market['settle'] === 'USDT') {
3057
+ if (market['settle'] === 'USDT' || market['settle'] === 'USDC') {
3053
3058
  const posSide = this.safeString(params, 'posSide');
3054
3059
  if (posSide === undefined) {
3055
3060
  request['posSide'] = 'Merged';
@@ -3091,7 +3096,7 @@ class phemex extends phemex$1 {
3091
3096
  request['untriggerred'] = trigger;
3092
3097
  }
3093
3098
  let response = undefined;
3094
- if (market['settle'] === 'USDT') {
3099
+ if (market['settle'] === 'USDT' || market['settle'] === 'USDC') {
3095
3100
  response = await this.privateDeleteGOrdersAll(this.extend(request, params));
3096
3101
  //
3097
3102
  // {
@@ -3157,7 +3162,7 @@ class phemex extends phemex$1 {
3157
3162
  request['orderID'] = id;
3158
3163
  }
3159
3164
  let response = undefined;
3160
- if (market['settle'] === 'USDT') {
3165
+ if (market['settle'] === 'USDT' || market['settle'] === 'USDC') {
3161
3166
  response = await this.privateGetApiDataGFuturesOrdersByOrderId(this.extend(request, params));
3162
3167
  }
3163
3168
  else if (market['spot']) {
@@ -3213,7 +3218,7 @@ class phemex extends phemex$1 {
3213
3218
  request['limit'] = limit;
3214
3219
  }
3215
3220
  let response = undefined;
3216
- if (market['settle'] === 'USDT') {
3221
+ if (market['settle'] === 'USDT' || market['settle'] === 'USDC') {
3217
3222
  request['currency'] = market['settle'];
3218
3223
  response = await this.privateGetExchangeOrderV2OrderList(this.extend(request, params));
3219
3224
  }
@@ -3252,7 +3257,7 @@ class phemex extends phemex$1 {
3252
3257
  };
3253
3258
  let response = undefined;
3254
3259
  try {
3255
- if (market['settle'] === 'USDT') {
3260
+ if (market['settle'] === 'USDT' || market['settle'] === 'USDC') {
3256
3261
  response = await this.privateGetGOrdersActiveList(this.extend(request, params));
3257
3262
  }
3258
3263
  else if (market['swap']) {
@@ -4117,8 +4122,8 @@ class phemex extends phemex$1 {
4117
4122
  request['limit'] = limit;
4118
4123
  }
4119
4124
  let response = undefined;
4120
- const isUsdt = market['settle'] === 'USDT';
4121
- if (isUsdt) {
4125
+ const isStableSettled = market['settle'] === 'USDT' || market['settle'] === 'USDC';
4126
+ if (isStableSettled) {
4122
4127
  response = await this.privateGetApiDataGFuturesFundingFees(this.extend(request, params));
4123
4128
  }
4124
4129
  else {
@@ -4171,8 +4176,8 @@ class phemex extends phemex$1 {
4171
4176
  return value;
4172
4177
  }
4173
4178
  // it was confirmed by phemex support, that USDT contracts use direct amounts in funding fees, while USD & INVERSE needs 'valueScale'
4174
- const isUsdt = market['settle'] === 'USDT';
4175
- if (!isUsdt) {
4179
+ const isStableSettled = market['settle'] === 'USDT' || market['settle'] === 'USDC';
4180
+ if (!isStableSettled) {
4176
4181
  const currency = this.safeCurrency(currencyCode);
4177
4182
  const scale = this.safeString(currency['info'], 'valueScale');
4178
4183
  const tickPrecision = this.parsePrecision(scale);
@@ -4371,8 +4376,8 @@ class phemex extends phemex$1 {
4371
4376
  }
4372
4377
  await this.loadMarkets();
4373
4378
  const market = this.market(symbol);
4374
- if (!market['swap'] || market['settle'] === 'USDT') {
4375
- throw new errors.BadSymbol(this.id + ' setMarginMode() supports swap (non USDT based) contracts only');
4379
+ if (!market['swap'] || market['settle'] === 'USDT' || market['settle'] === 'USDC') {
4380
+ throw new errors.BadSymbol(this.id + ' setMarginMode() supports swap (non USDT/USDC based) contracts only');
4376
4381
  }
4377
4382
  marginMode = marginMode.toLowerCase();
4378
4383
  if (marginMode !== 'isolated' && marginMode !== 'cross') {
@@ -4628,7 +4633,7 @@ class phemex extends phemex$1 {
4628
4633
  'symbol': market['id'],
4629
4634
  };
4630
4635
  let response = undefined;
4631
- if (market['settle'] === 'USDT') {
4636
+ if (market['settle'] === 'USDT' || market['settle'] === 'USDC') {
4632
4637
  if (!isHedged && longLeverageRr === undefined && shortLeverageRr === undefined) {
4633
4638
  request['leverageRr'] = leverage;
4634
4639
  }
@@ -4870,7 +4875,7 @@ class phemex extends phemex$1 {
4870
4875
  }
4871
4876
  await this.loadMarkets();
4872
4877
  const market = this.market(symbol);
4873
- const isUsdtSettled = market['settle'] === 'USDT';
4878
+ const isUsdtSettled = market['settle'] === 'USDT' || market['settle'] === 'USDC';
4874
4879
  if (!market['swap']) {
4875
4880
  throw new errors.BadRequest(this.id + ' fetchFundingRateHistory() supports swap contracts only');
4876
4881
  }
@@ -6,7 +6,7 @@ var Precise = require('./base/Precise.js');
6
6
  var number = require('./base/functions/number.js');
7
7
  var sha256 = require('./static_dependencies/noble-hashes/sha256.js');
8
8
 
9
- // ---------------------------------------------------------------------------
9
+ // ----------------------------------------------------------------------------
10
10
  // ---------------------------------------------------------------------------
11
11
  /**
12
12
  * @class poloniex
@@ -4,7 +4,7 @@ var alpaca$1 = require('../alpaca.js');
4
4
  var errors = require('../base/errors.js');
5
5
  var Cache = require('../base/ws/Cache.js');
6
6
 
7
- // ---------------------------------------------------------------------------
7
+ // ----------------------------------------------------------------------------
8
8
  // ---------------------------------------------------------------------------
9
9
  class alpaca extends alpaca$1 {
10
10
  describe() {
@@ -5,7 +5,7 @@ var Cache = require('../base/ws/Cache.js');
5
5
  var errors = require('../base/errors.js');
6
6
  var sha256 = require('../static_dependencies/noble-hashes/sha256.js');
7
7
 
8
- // ---------------------------------------------------------------------------
8
+ // ----------------------------------------------------------------------------
9
9
  // ---------------------------------------------------------------------------
10
10
  class apex extends apex$1 {
11
11
  describe() {
@@ -5,7 +5,7 @@ var errors = require('../base/errors.js');
5
5
  var Cache = require('../base/ws/Cache.js');
6
6
  var sha256 = require('../static_dependencies/noble-hashes/sha256.js');
7
7
 
8
- // ---------------------------------------------------------------------------
8
+ // ----------------------------------------------------------------------------
9
9
  // ---------------------------------------------------------------------------
10
10
  class ascendex extends ascendex$1 {
11
11
  describe() {
@@ -4,7 +4,7 @@ var hitbtc = require('./hitbtc.js');
4
4
  var hitbtc$1 = require('../hitbtc.js');
5
5
  var bequant$1 = require('../bequant.js');
6
6
 
7
- // ---------------------------------------------------------------------------
7
+ // ----------------------------------------------------------------------------
8
8
  // ---------------------------------------------------------------------------
9
9
  class bequant extends hitbtc {
10
10
  describe() {
@@ -3,7 +3,7 @@
3
3
  var binance = require('./binance.js');
4
4
  var binancecoinm$1 = require('../binancecoinm.js');
5
5
 
6
- // ---------------------------------------------------------------------------
6
+ // ----------------------------------------------------------------------------
7
7
  // ---------------------------------------------------------------------------
8
8
  class binancecoinm extends binance {
9
9
  describe() {
@@ -19,7 +19,9 @@ class binancecoinm extends binance {
19
19
  'doc': 'https://developers.binance.com/en',
20
20
  },
21
21
  'options': {
22
- 'fetchMarkets': ['inverse'],
22
+ 'fetchMarkets': {
23
+ 'types': ['inverse'],
24
+ },
23
25
  'defaultSubType': 'inverse',
24
26
  },
25
27
  });
@@ -3,7 +3,7 @@
3
3
  var binance = require('./binance.js');
4
4
  var binanceus$1 = require('../binanceus.js');
5
5
 
6
- // ---------------------------------------------------------------------------
6
+ // ----------------------------------------------------------------------------
7
7
  // ---------------------------------------------------------------------------
8
8
  class binanceus extends binance {
9
9
  describe() {
@@ -40,7 +40,9 @@ class binanceus extends binance {
40
40
  'fetchCurrencies': false,
41
41
  'quoteOrderQty': false,
42
42
  'defaultType': 'spot',
43
- 'fetchMarkets': ['spot'],
43
+ 'fetchMarkets': {
44
+ 'types': ['spot'],
45
+ },
44
46
  },
45
47
  });
46
48
  }
@@ -3,7 +3,7 @@
3
3
  var binance = require('./binance.js');
4
4
  var errors = require('../base/errors.js');
5
5
 
6
- // ---------------------------------------------------------------------------
6
+ // ----------------------------------------------------------------------------
7
7
  // ---------------------------------------------------------------------------
8
8
  class binanceusdm extends binance {
9
9
  describe() {
@@ -15,7 +15,9 @@ class binanceusdm extends binance {
15
15
  'doc': 'https://developers.binance.com/en',
16
16
  },
17
17
  'options': {
18
- 'fetchMarkets': ['linear'],
18
+ 'fetchMarkets': {
19
+ 'types': ['linear'],
20
+ },
19
21
  'defaultSubType': 'linear',
20
22
  },
21
23
  // https://binance-docs.github.io/apidocs/futures/en/#error-codes
@@ -4,7 +4,7 @@ var bingx$1 = require('../bingx.js');
4
4
  var errors = require('../base/errors.js');
5
5
  var Cache = require('../base/ws/Cache.js');
6
6
 
7
- // ---------------------------------------------------------------------------
7
+ // ----------------------------------------------------------------------------
8
8
  // ---------------------------------------------------------------------------
9
9
  class bingx extends bingx$1 {
10
10
  describe() {
@@ -6,7 +6,7 @@ var errors = require('../base/errors.js');
6
6
  var Cache = require('../base/ws/Cache.js');
7
7
  var sha512 = require('../static_dependencies/noble-hashes/sha512.js');
8
8
 
9
- // ---------------------------------------------------------------------------
9
+ // ----------------------------------------------------------------------------
10
10
  // ---------------------------------------------------------------------------
11
11
  class bitfinex extends bitfinex$1 {
12
12
  describe() {
@@ -6,7 +6,7 @@ var Precise = require('../base/Precise.js');
6
6
  var Cache = require('../base/ws/Cache.js');
7
7
  var sha256 = require('../static_dependencies/noble-hashes/sha256.js');
8
8
 
9
- // ---------------------------------------------------------------------------
9
+ // ----------------------------------------------------------------------------
10
10
  // ---------------------------------------------------------------------------
11
11
  /**
12
12
  * @class bitget
@@ -4,7 +4,7 @@ var bithumb$1 = require('../bithumb.js');
4
4
  var Cache = require('../base/ws/Cache.js');
5
5
  var errors = require('../base/errors.js');
6
6
 
7
- // ---------------------------------------------------------------------------
7
+ // ----------------------------------------------------------------------------
8
8
  // ---------------------------------------------------------------------------
9
9
  class bithumb extends bithumb$1 {
10
10
  describe() {
@@ -6,7 +6,7 @@ var Cache = require('../base/ws/Cache.js');
6
6
  var sha256 = require('../static_dependencies/noble-hashes/sha256.js');
7
7
  var OrderBookSide = require('../base/ws/OrderBookSide.js');
8
8
 
9
- // ---------------------------------------------------------------------------
9
+ // ----------------------------------------------------------------------------
10
10
  // ---------------------------------------------------------------------------
11
11
  class bitmart extends bitmart$1 {
12
12
  describe() {
@@ -5,7 +5,7 @@ var errors = require('../base/errors.js');
5
5
  var Cache = require('../base/ws/Cache.js');
6
6
  var sha256 = require('../static_dependencies/noble-hashes/sha256.js');
7
7
 
8
- // ---------------------------------------------------------------------------
8
+ // ----------------------------------------------------------------------------
9
9
  // ---------------------------------------------------------------------------
10
10
  class bitmex extends bitmex$1 {
11
11
  describe() {
@@ -3,7 +3,7 @@
3
3
  var bitrue$1 = require('../bitrue.js');
4
4
  var Cache = require('../base/ws/Cache.js');
5
5
 
6
- // ---------------------------------------------------------------------------
6
+ // ----------------------------------------------------------------------------
7
7
  // ---------------------------------------------------------------------------
8
8
  class bitrue extends bitrue$1 {
9
9
  describe() {
@@ -5,7 +5,7 @@ var errors = require('../base/errors.js');
5
5
  var Cache = require('../base/ws/Cache.js');
6
6
  var Precise = require('../base/Precise.js');
7
7
 
8
- // ---------------------------------------------------------------------------
8
+ // ----------------------------------------------------------------------------
9
9
  // ---------------------------------------------------------------------------
10
10
  class bitstamp extends bitstamp$1 {
11
11
  describe() {
@@ -5,7 +5,7 @@ var errors = require('../base/errors.js');
5
5
  var Cache = require('../base/ws/Cache.js');
6
6
  var sha256 = require('../static_dependencies/noble-hashes/sha256.js');
7
7
 
8
- // ---------------------------------------------------------------------------
8
+ // ----------------------------------------------------------------------------
9
9
  // ---------------------------------------------------------------------------
10
10
  class bitvavo extends bitvavo$1 {
11
11
  describe() {
@@ -4,7 +4,7 @@ var blockchaincom$1 = require('../blockchaincom.js');
4
4
  var errors = require('../base/errors.js');
5
5
  var Cache = require('../base/ws/Cache.js');
6
6
 
7
- // ---------------------------------------------------------------------------
7
+ // ----------------------------------------------------------------------------
8
8
  // ---------------------------------------------------------------------------
9
9
  class blockchaincom extends blockchaincom$1 {
10
10
  describe() {
@@ -5,7 +5,7 @@ var errors = require('../base/errors.js');
5
5
  var Cache = require('../base/ws/Cache.js');
6
6
  var sha256 = require('../static_dependencies/noble-hashes/sha256.js');
7
7
 
8
- // ---------------------------------------------------------------------------
8
+ // ----------------------------------------------------------------------------
9
9
  // ---------------------------------------------------------------------------
10
10
  class blofin extends blofin$1 {
11
11
  describe() {
@@ -5,7 +5,7 @@ var errors = require('../base/errors.js');
5
5
  var Cache = require('../base/ws/Cache.js');
6
6
  var sha256 = require('../static_dependencies/noble-hashes/sha256.js');
7
7
 
8
- // ---------------------------------------------------------------------------
8
+ // ----------------------------------------------------------------------------
9
9
  // ---------------------------------------------------------------------------
10
10
  class bybit extends bybit$1 {
11
11
  describe() {
@@ -38,6 +38,17 @@ class bybit extends bybit$1 {
38
38
  'watchTrades': true,
39
39
  'watchPositions': true,
40
40
  'watchTradesForSymbols': true,
41
+ 'unWatchTicker': true,
42
+ 'unWatchTickers': true,
43
+ 'unWatchOHLCV': true,
44
+ 'unWatchOHLCVForSymbols': true,
45
+ 'unWatchOrderBook': true,
46
+ 'unWatchOrderBookForSymbols': true,
47
+ 'unWatchTrades': true,
48
+ 'unWatchTradesForSymbols': true,
49
+ 'unWatchMyTrades': true,
50
+ 'unWatchOrders': true,
51
+ 'unWatchPositions': true,
41
52
  },
42
53
  'urls': {
43
54
  'api': {
@@ -1553,6 +1564,28 @@ class bybit extends bybit$1 {
1553
1564
  }
1554
1565
  client.resolve(newPositions, 'positions');
1555
1566
  }
1567
+ /**
1568
+ * @method
1569
+ * @name bybit#unWatchPositions
1570
+ * @description unWatches all open positions
1571
+ * @see https://bybit-exchange.github.io/docs/v5/websocket/private/position
1572
+ * @param {string[]} [symbols] list of unified market symbols
1573
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1574
+ * @returns {object} status of the unwatch request
1575
+ */
1576
+ async unWatchPositions(symbols = undefined, params = {}) {
1577
+ await this.loadMarkets();
1578
+ const method = 'watchPositions';
1579
+ const messageHash = 'unsubscribe:positions';
1580
+ const subHash = 'positions';
1581
+ if (!this.isEmpty(symbols)) {
1582
+ throw new errors.NotSupported(this.id + ' unWatchPositions() does not support a symbol parameter, you must unwatch all orders');
1583
+ }
1584
+ const url = await this.getUrlByMarketType(undefined, true, method, params);
1585
+ await this.authenticate(url);
1586
+ const topics = ['position'];
1587
+ return await this.unWatchTopics(url, 'positions', symbols, [messageHash], [subHash], topics, params);
1588
+ }
1556
1589
  /**
1557
1590
  * @method
1558
1591
  * @name bybit#watchLiquidations
@@ -6,7 +6,7 @@ var errors = require('../base/errors.js');
6
6
  var Precise = require('../base/Precise.js');
7
7
  var Cache = require('../base/ws/Cache.js');
8
8
 
9
- // ---------------------------------------------------------------------------
9
+ // ----------------------------------------------------------------------------
10
10
  // ---------------------------------------------------------------------------
11
11
  class cex extends cex$1 {
12
12
  describe() {
@@ -5,7 +5,7 @@ var errors = require('../base/errors.js');
5
5
  var Cache = require('../base/ws/Cache.js');
6
6
  var sha256 = require('../static_dependencies/noble-hashes/sha256.js');
7
7
 
8
- // ---------------------------------------------------------------------------
8
+ // ----------------------------------------------------------------------------
9
9
  // ---------------------------------------------------------------------------
10
10
  class coinbase extends coinbase$1 {
11
11
  describe() {
@@ -2,7 +2,7 @@
2
2
 
3
3
  var coinbase = require('./coinbase.js');
4
4
 
5
- // ---------------------------------------------------------------------------
5
+ // ----------------------------------------------------------------------------
6
6
  // ---------------------------------------------------------------------------
7
7
  class coinbaseadvanced extends coinbase {
8
8
  describe() {
@@ -5,7 +5,7 @@ var errors = require('../base/errors.js');
5
5
  var Cache = require('../base/ws/Cache.js');
6
6
  var sha256 = require('../static_dependencies/noble-hashes/sha256.js');
7
7
 
8
- // ---------------------------------------------------------------------------
8
+ // ----------------------------------------------------------------------------
9
9
  // ---------------------------------------------------------------------------
10
10
  class coinbaseexchange extends coinbaseexchange$1 {
11
11
  describe() {