ccxt 4.4.99 → 4.5.0

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 (995) hide show
  1. package/README.md +4 -4
  2. package/dist/373.ccxt.browser.js +7630 -0
  3. package/dist/373.ccxt.browser.min.js +1 -0
  4. package/dist/ccxt.browser.min.js +8 -8
  5. package/dist/cjs/ccxt.js +288 -288
  6. package/dist/cjs/src/abstract/alpaca.js +4 -2
  7. package/dist/cjs/src/abstract/apex.js +4 -2
  8. package/dist/cjs/src/abstract/ascendex.js +4 -2
  9. package/dist/cjs/src/abstract/bigone.js +4 -2
  10. package/dist/cjs/src/abstract/binance.js +4 -2
  11. package/dist/cjs/src/abstract/bingx.js +4 -2
  12. package/dist/cjs/src/abstract/bit2c.js +4 -2
  13. package/dist/cjs/src/abstract/bitbank.js +4 -2
  14. package/dist/cjs/src/abstract/bitbns.js +4 -2
  15. package/dist/cjs/src/abstract/bitfinex.js +4 -2
  16. package/dist/cjs/src/abstract/bitflyer.js +4 -2
  17. package/dist/cjs/src/abstract/bitget.js +4 -2
  18. package/dist/cjs/src/abstract/bithumb.js +4 -2
  19. package/dist/cjs/src/abstract/bitmart.js +4 -2
  20. package/dist/cjs/src/abstract/bitmex.js +4 -2
  21. package/dist/cjs/src/abstract/bitopro.js +4 -2
  22. package/dist/cjs/src/abstract/bitrue.js +4 -2
  23. package/dist/cjs/src/abstract/bitso.js +4 -2
  24. package/dist/cjs/src/abstract/bitstamp.js +4 -2
  25. package/dist/cjs/src/abstract/bitteam.js +4 -2
  26. package/dist/cjs/src/abstract/bittrade.js +4 -2
  27. package/dist/cjs/src/abstract/bitvavo.js +4 -2
  28. package/dist/cjs/src/abstract/blockchaincom.js +4 -2
  29. package/dist/cjs/src/abstract/blofin.js +4 -2
  30. package/dist/cjs/src/abstract/btcalpha.js +4 -2
  31. package/dist/cjs/src/abstract/btcbox.js +4 -2
  32. package/dist/cjs/src/abstract/btcmarkets.js +4 -2
  33. package/dist/cjs/src/abstract/btcturk.js +4 -2
  34. package/dist/cjs/src/abstract/bybit.js +4 -2
  35. package/dist/cjs/src/abstract/cex.js +4 -2
  36. package/dist/cjs/src/abstract/coinbase.js +4 -2
  37. package/dist/cjs/src/abstract/coinbaseexchange.js +4 -2
  38. package/dist/cjs/src/abstract/coinbaseinternational.js +4 -2
  39. package/dist/cjs/src/abstract/coincatch.js +4 -2
  40. package/dist/cjs/src/abstract/coincheck.js +4 -2
  41. package/dist/cjs/src/abstract/coinex.js +4 -2
  42. package/dist/cjs/src/abstract/coinmate.js +4 -2
  43. package/dist/cjs/src/abstract/coinmetro.js +4 -2
  44. package/dist/cjs/src/abstract/coinone.js +4 -2
  45. package/dist/cjs/src/abstract/coinsph.js +4 -2
  46. package/dist/cjs/src/abstract/coinspot.js +4 -2
  47. package/dist/cjs/src/abstract/cryptocom.js +4 -2
  48. package/dist/cjs/src/abstract/cryptomus.js +4 -2
  49. package/dist/cjs/src/abstract/defx.js +4 -2
  50. package/dist/cjs/src/abstract/delta.js +4 -2
  51. package/dist/cjs/src/abstract/deribit.js +4 -2
  52. package/dist/cjs/src/abstract/derive.js +4 -2
  53. package/dist/cjs/src/abstract/digifinex.js +4 -2
  54. package/dist/cjs/src/abstract/ellipx.js +4 -2
  55. package/dist/cjs/src/abstract/exmo.js +4 -2
  56. package/dist/cjs/src/abstract/foxbit.js +4 -2
  57. package/dist/cjs/src/abstract/gate.js +4 -2
  58. package/dist/cjs/src/abstract/gemini.js +4 -2
  59. package/dist/cjs/src/abstract/hashkey.js +4 -2
  60. package/dist/cjs/src/abstract/hibachi.js +4 -2
  61. package/dist/cjs/src/abstract/hitbtc.js +4 -2
  62. package/dist/cjs/src/abstract/hollaex.js +4 -2
  63. package/dist/cjs/src/abstract/htx.js +4 -2
  64. package/dist/cjs/src/abstract/hyperliquid.js +4 -2
  65. package/dist/cjs/src/abstract/independentreserve.js +4 -2
  66. package/dist/cjs/src/abstract/indodax.js +4 -2
  67. package/dist/cjs/src/abstract/kraken.js +4 -2
  68. package/dist/cjs/src/abstract/krakenfutures.js +4 -2
  69. package/dist/cjs/src/abstract/kucoin.js +4 -2
  70. package/dist/cjs/src/abstract/kucoinfutures.js +5 -3
  71. package/dist/cjs/src/abstract/latoken.js +4 -2
  72. package/dist/cjs/src/abstract/lbank.js +4 -2
  73. package/dist/cjs/src/abstract/luno.js +4 -2
  74. package/dist/cjs/src/abstract/mercado.js +4 -2
  75. package/dist/cjs/src/abstract/mexc.js +4 -2
  76. package/dist/cjs/src/abstract/modetrade.js +4 -2
  77. package/dist/cjs/src/abstract/ndax.js +4 -2
  78. package/dist/cjs/src/abstract/novadax.js +4 -2
  79. package/dist/cjs/src/abstract/oceanex.js +4 -2
  80. package/dist/cjs/src/abstract/okcoin.js +4 -2
  81. package/dist/cjs/src/abstract/okx.js +4 -2
  82. package/dist/cjs/src/abstract/onetrading.js +4 -2
  83. package/dist/cjs/src/abstract/oxfun.js +4 -2
  84. package/dist/cjs/src/abstract/p2b.js +4 -2
  85. package/dist/cjs/src/abstract/paradex.js +4 -2
  86. package/dist/cjs/src/abstract/paymium.js +4 -2
  87. package/dist/cjs/src/abstract/phemex.js +4 -2
  88. package/dist/cjs/src/abstract/poloniex.js +4 -2
  89. package/dist/cjs/src/abstract/probit.js +4 -2
  90. package/dist/cjs/src/abstract/timex.js +4 -2
  91. package/dist/cjs/src/abstract/tokocrypto.js +4 -2
  92. package/dist/cjs/src/abstract/tradeogre.js +4 -2
  93. package/dist/cjs/src/abstract/upbit.js +4 -2
  94. package/dist/cjs/src/abstract/vertex.js +4 -2
  95. package/dist/cjs/src/abstract/wavesexchange.js +4 -2
  96. package/dist/cjs/src/abstract/whitebit.js +4 -2
  97. package/dist/cjs/src/abstract/woo.js +4 -2
  98. package/dist/cjs/src/abstract/woofipro.js +4 -2
  99. package/dist/cjs/src/abstract/xt.js +4 -2
  100. package/dist/cjs/src/abstract/yobit.js +4 -2
  101. package/dist/cjs/src/abstract/zaif.js +4 -2
  102. package/dist/cjs/src/abstract/zonda.js +4 -2
  103. package/dist/cjs/src/alpaca.js +5 -3
  104. package/dist/cjs/src/apex.js +5 -3
  105. package/dist/cjs/src/ascendex.js +5 -3
  106. package/dist/cjs/src/base/Exchange.js +42 -2
  107. package/dist/cjs/src/base/Precise.js +6 -0
  108. package/dist/cjs/src/base/errors.js +6 -0
  109. package/dist/cjs/src/base/functions/crypto.js +1 -1
  110. package/dist/cjs/src/base/functions/encode.js +3 -3
  111. package/dist/cjs/src/base/functions/misc.js +1 -0
  112. package/dist/cjs/src/base/functions/number.js +6 -0
  113. package/dist/cjs/src/base/functions/platform.js +6 -0
  114. package/dist/cjs/src/base/functions/rsa.js +1 -0
  115. package/dist/cjs/src/base/functions/string.js +6 -0
  116. package/dist/cjs/src/base/functions/throttle.js +1 -1
  117. package/dist/cjs/src/base/functions/time.js +6 -0
  118. package/dist/cjs/src/base/functions/totp.js +1 -0
  119. package/dist/cjs/src/base/functions/type.js +6 -0
  120. package/dist/cjs/src/base/functions.js +1 -1
  121. package/dist/cjs/src/base/ws/Cache.js +6 -0
  122. package/dist/cjs/src/base/ws/Client.js +9 -2
  123. package/dist/cjs/src/base/ws/Future.js +1 -1
  124. package/dist/cjs/src/base/ws/OrderBook.js +1 -1
  125. package/dist/cjs/src/base/ws/OrderBookSide.js +6 -0
  126. package/dist/cjs/src/base/ws/WsClient.js +5 -3
  127. package/dist/cjs/src/bequant.js +5 -3
  128. package/dist/cjs/src/bigone.js +5 -3
  129. package/dist/cjs/src/binance.js +6 -3
  130. package/dist/cjs/src/binancecoinm.js +5 -3
  131. package/dist/cjs/src/binanceus.js +5 -3
  132. package/dist/cjs/src/binanceusdm.js +5 -3
  133. package/dist/cjs/src/bingx.js +37 -5
  134. package/dist/cjs/src/bit2c.js +5 -3
  135. package/dist/cjs/src/bitbank.js +5 -3
  136. package/dist/cjs/src/bitbns.js +5 -3
  137. package/dist/cjs/src/bitfinex.js +8 -3
  138. package/dist/cjs/src/bitflyer.js +5 -3
  139. package/dist/cjs/src/bitget.js +43 -17
  140. package/dist/cjs/src/bithumb.js +5 -3
  141. package/dist/cjs/src/bitmart.js +5 -3
  142. package/dist/cjs/src/bitmex.js +6 -3
  143. package/dist/cjs/src/bitopro.js +5 -3
  144. package/dist/cjs/src/bitrue.js +5 -3
  145. package/dist/cjs/src/bitso.js +5 -3
  146. package/dist/cjs/src/bitstamp.js +5 -3
  147. package/dist/cjs/src/bitteam.js +5 -3
  148. package/dist/cjs/src/bittrade.js +5 -3
  149. package/dist/cjs/src/bitvavo.js +4 -2
  150. package/dist/cjs/src/blockchaincom.js +5 -3
  151. package/dist/cjs/src/blofin.js +5 -3
  152. package/dist/cjs/src/btcalpha.js +5 -3
  153. package/dist/cjs/src/btcbox.js +5 -3
  154. package/dist/cjs/src/btcmarkets.js +5 -3
  155. package/dist/cjs/src/btcturk.js +5 -3
  156. package/dist/cjs/src/bybit.js +5 -3
  157. package/dist/cjs/src/cex.js +5 -3
  158. package/dist/cjs/src/coinbase.js +4 -2
  159. package/dist/cjs/src/coinbaseadvanced.js +5 -3
  160. package/dist/cjs/src/coinbaseexchange.js +4 -2
  161. package/dist/cjs/src/coinbaseinternational.js +4 -2
  162. package/dist/cjs/src/coincatch.js +5 -3
  163. package/dist/cjs/src/coincheck.js +5 -3
  164. package/dist/cjs/src/coinex.js +6 -4
  165. package/dist/cjs/src/coinmate.js +5 -3
  166. package/dist/cjs/src/coinmetro.js +5 -3
  167. package/dist/cjs/src/coinone.js +5 -3
  168. package/dist/cjs/src/coinsph.js +5 -2
  169. package/dist/cjs/src/coinspot.js +5 -3
  170. package/dist/cjs/src/cryptocom.js +5 -3
  171. package/dist/cjs/src/cryptomus.js +5 -3
  172. package/dist/cjs/src/defx.js +5 -3
  173. package/dist/cjs/src/delta.js +5 -3
  174. package/dist/cjs/src/deribit.js +5 -3
  175. package/dist/cjs/src/derive.js +5 -3
  176. package/dist/cjs/src/digifinex.js +5 -3
  177. package/dist/cjs/src/ellipx.js +5 -3
  178. package/dist/cjs/src/exmo.js +5 -3
  179. package/dist/cjs/src/fmfwio.js +5 -3
  180. package/dist/cjs/src/foxbit.js +8 -7
  181. package/dist/cjs/src/gate.js +26 -3
  182. package/dist/cjs/src/gateio.js +5 -3
  183. package/dist/cjs/src/gemini.js +5 -3
  184. package/dist/cjs/src/hashkey.js +5 -3
  185. package/dist/cjs/src/hibachi.js +5 -3
  186. package/dist/cjs/src/hitbtc.js +5 -2
  187. package/dist/cjs/src/hollaex.js +5 -3
  188. package/dist/cjs/src/htx.js +6 -3
  189. package/dist/cjs/src/huobi.js +5 -3
  190. package/dist/cjs/src/hyperliquid.js +84 -31
  191. package/dist/cjs/src/independentreserve.js +5 -3
  192. package/dist/cjs/src/indodax.js +5 -3
  193. package/dist/cjs/src/kraken.js +5 -3
  194. package/dist/cjs/src/krakenfutures.js +6 -3
  195. package/dist/cjs/src/kucoin.js +5 -3
  196. package/dist/cjs/src/kucoinfutures.js +6 -3
  197. package/dist/cjs/src/latoken.js +5 -3
  198. package/dist/cjs/src/lbank.js +6 -4
  199. package/dist/cjs/src/luno.js +5 -3
  200. package/dist/cjs/src/mercado.js +5 -3
  201. package/dist/cjs/src/mexc.js +12 -3
  202. package/dist/cjs/src/modetrade.js +101 -3
  203. package/dist/cjs/src/myokx.js +5 -3
  204. package/dist/cjs/src/ndax.js +5 -3
  205. package/dist/cjs/src/novadax.js +5 -3
  206. package/dist/cjs/src/oceanex.js +5 -3
  207. package/dist/cjs/src/okcoin.js +5 -3
  208. package/dist/cjs/src/okx.js +5 -3
  209. package/dist/cjs/src/okxus.js +5 -3
  210. package/dist/cjs/src/onetrading.js +38 -3
  211. package/dist/cjs/src/oxfun.js +5 -3
  212. package/dist/cjs/src/p2b.js +37 -3
  213. package/dist/cjs/src/paradex.js +6 -3
  214. package/dist/cjs/src/paymium.js +5 -3
  215. package/dist/cjs/src/phemex.js +4 -2
  216. package/dist/cjs/src/poloniex.js +5 -3
  217. package/dist/cjs/src/pro/alpaca.js +5 -3
  218. package/dist/cjs/src/pro/apex.js +5 -3
  219. package/dist/cjs/src/pro/ascendex.js +5 -3
  220. package/dist/cjs/src/pro/bequant.js +6 -4
  221. package/dist/cjs/src/pro/binance.js +6 -3
  222. package/dist/cjs/src/pro/binancecoinm.js +6 -4
  223. package/dist/cjs/src/pro/binanceus.js +6 -4
  224. package/dist/cjs/src/pro/binanceusdm.js +5 -3
  225. package/dist/cjs/src/pro/bingx.js +5 -3
  226. package/dist/cjs/src/pro/bitfinex.js +5 -3
  227. package/dist/cjs/src/pro/bitget.js +5 -3
  228. package/dist/cjs/src/pro/bithumb.js +5 -3
  229. package/dist/cjs/src/pro/bitmart.js +5 -3
  230. package/dist/cjs/src/pro/bitmex.js +5 -3
  231. package/dist/cjs/src/pro/bitopro.js +4 -2
  232. package/dist/cjs/src/pro/bitrue.js +5 -3
  233. package/dist/cjs/src/pro/bitstamp.js +5 -3
  234. package/dist/cjs/src/pro/bittrade.js +4 -2
  235. package/dist/cjs/src/pro/bitvavo.js +6 -4
  236. package/dist/cjs/src/pro/blockchaincom.js +5 -3
  237. package/dist/cjs/src/pro/blofin.js +5 -3
  238. package/dist/cjs/src/pro/bybit.js +6 -3
  239. package/dist/cjs/src/pro/cex.js +5 -3
  240. package/dist/cjs/src/pro/coinbase.js +5 -3
  241. package/dist/cjs/src/pro/coinbaseadvanced.js +5 -3
  242. package/dist/cjs/src/pro/coinbaseexchange.js +5 -3
  243. package/dist/cjs/src/pro/coinbaseinternational.js +5 -3
  244. package/dist/cjs/src/pro/coincatch.js +5 -3
  245. package/dist/cjs/src/pro/coincheck.js +5 -3
  246. package/dist/cjs/src/pro/coinex.js +6 -4
  247. package/dist/cjs/src/pro/coinone.js +5 -3
  248. package/dist/cjs/src/pro/cryptocom.js +5 -3
  249. package/dist/cjs/src/pro/defx.js +5 -3
  250. package/dist/cjs/src/pro/deribit.js +5 -3
  251. package/dist/cjs/src/pro/derive.js +4 -2
  252. package/dist/cjs/src/pro/exmo.js +5 -3
  253. package/dist/cjs/src/pro/gate.js +5 -3
  254. package/dist/cjs/src/pro/gateio.js +5 -3
  255. package/dist/cjs/src/pro/gemini.js +5 -3
  256. package/dist/cjs/src/pro/hashkey.js +5 -3
  257. package/dist/cjs/src/pro/hitbtc.js +5 -3
  258. package/dist/cjs/src/pro/hollaex.js +5 -3
  259. package/dist/cjs/src/pro/htx.js +5 -3
  260. package/dist/cjs/src/pro/huobi.js +5 -3
  261. package/dist/cjs/src/pro/hyperliquid.js +108 -15
  262. package/dist/cjs/src/pro/independentreserve.js +5 -3
  263. package/dist/cjs/src/pro/kraken.js +5 -3
  264. package/dist/cjs/src/pro/krakenfutures.js +5 -3
  265. package/dist/cjs/src/pro/kucoin.js +6 -4
  266. package/dist/cjs/src/pro/kucoinfutures.js +6 -4
  267. package/dist/cjs/src/pro/lbank.js +5 -2
  268. package/dist/cjs/src/pro/luno.js +5 -3
  269. package/dist/cjs/src/pro/mexc.js +352 -170
  270. package/dist/cjs/src/pro/modetrade.js +4 -2
  271. package/dist/cjs/src/pro/myokx.js +5 -3
  272. package/dist/cjs/src/pro/ndax.js +5 -3
  273. package/dist/cjs/src/pro/okcoin.js +5 -3
  274. package/dist/cjs/src/pro/okx.js +7 -4
  275. package/dist/cjs/src/pro/okxus.js +5 -3
  276. package/dist/cjs/src/pro/onetrading.js +5 -3
  277. package/dist/cjs/src/pro/oxfun.js +6 -4
  278. package/dist/cjs/src/pro/p2b.js +5 -3
  279. package/dist/cjs/src/pro/paradex.js +5 -3
  280. package/dist/cjs/src/pro/phemex.js +5 -3
  281. package/dist/cjs/src/pro/poloniex.js +5 -3
  282. package/dist/cjs/src/pro/probit.js +5 -3
  283. package/dist/cjs/src/pro/tradeogre.js +5 -3
  284. package/dist/cjs/src/pro/upbit.js +5 -3
  285. package/dist/cjs/src/pro/vertex.js +4 -2
  286. package/dist/cjs/src/pro/whitebit.js +5 -3
  287. package/dist/cjs/src/pro/woo.js +4 -2
  288. package/dist/cjs/src/pro/woofipro.js +4 -2
  289. package/dist/cjs/src/pro/xt.js +5 -3
  290. package/dist/cjs/src/probit.js +40 -3
  291. package/dist/cjs/src/protobuf/mexc/compiled.cjs.js +7179 -0
  292. package/dist/cjs/src/static_dependencies/ethers/abi-coder.js +7 -1
  293. package/dist/cjs/src/static_dependencies/ethers/address/address.js +1 -1
  294. package/dist/cjs/src/static_dependencies/ethers/coders/abstract-coder.js +8 -2
  295. package/dist/cjs/src/static_dependencies/ethers/coders/address.js +1 -0
  296. package/dist/cjs/src/static_dependencies/ethers/coders/anonymous.js +1 -0
  297. package/dist/cjs/src/static_dependencies/ethers/coders/array.js +1 -0
  298. package/dist/cjs/src/static_dependencies/ethers/coders/boolean.js +1 -0
  299. package/dist/cjs/src/static_dependencies/ethers/coders/bytes.js +1 -0
  300. package/dist/cjs/src/static_dependencies/ethers/coders/fixed-bytes.js +1 -0
  301. package/dist/cjs/src/static_dependencies/ethers/coders/null.js +1 -0
  302. package/dist/cjs/src/static_dependencies/ethers/coders/number.js +1 -0
  303. package/dist/cjs/src/static_dependencies/ethers/coders/string.js +1 -0
  304. package/dist/cjs/src/static_dependencies/ethers/coders/tuple.js +1 -0
  305. package/dist/cjs/src/static_dependencies/ethers/fragments.js +8 -2
  306. package/dist/cjs/src/static_dependencies/ethers/hash/typed-data.js +8 -2
  307. package/dist/cjs/src/static_dependencies/ethers/index.js +1 -10
  308. package/dist/cjs/src/static_dependencies/ethers/interface.js +8 -2
  309. package/dist/cjs/src/static_dependencies/ethers/typed.js +8 -2
  310. package/dist/cjs/src/static_dependencies/ethers/utils/base58.js +1 -13
  311. package/dist/cjs/src/static_dependencies/ethers/utils/data.js +1 -6
  312. package/dist/cjs/src/static_dependencies/ethers/utils/errors.js +1 -9
  313. package/dist/cjs/src/static_dependencies/ethers/utils/events.js +8 -2
  314. package/dist/cjs/src/static_dependencies/ethers/utils/fixednumber.js +8 -2
  315. package/dist/cjs/src/static_dependencies/ethers/utils/index.js +1 -7
  316. package/dist/cjs/src/static_dependencies/ethers/utils/maths.js +1 -5
  317. package/dist/cjs/src/static_dependencies/ethers/utils/properties.js +6 -0
  318. package/dist/cjs/src/static_dependencies/ethers/utils/utf8.js +1 -8
  319. package/dist/cjs/src/static_dependencies/fflake/browser.js +1 -1
  320. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncrypt.js +1 -0
  321. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +1 -0
  322. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +1 -1
  323. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +6 -0
  324. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +6 -0
  325. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +6 -0
  326. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +1 -0
  327. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +1 -1
  328. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +6 -0
  329. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +1 -1
  330. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +1 -1
  331. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/util.js +6 -0
  332. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +1 -1
  333. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +6 -0
  334. package/dist/cjs/src/static_dependencies/messagepack/msgpack.js +6 -0
  335. package/dist/cjs/src/static_dependencies/noble-curves/_shortw_utils.js +1 -1
  336. package/dist/cjs/src/static_dependencies/noble-curves/abstract/curve.js +1 -1
  337. package/dist/cjs/src/static_dependencies/noble-curves/abstract/edwards.js +1 -1
  338. package/dist/cjs/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +1 -0
  339. package/dist/cjs/src/static_dependencies/noble-curves/abstract/modular.js +1 -1
  340. package/dist/cjs/src/static_dependencies/noble-curves/abstract/montgomery.js +1 -1
  341. package/dist/cjs/src/static_dependencies/noble-curves/abstract/poseidon.js +1 -1
  342. package/dist/cjs/src/static_dependencies/noble-curves/abstract/utils.js +6 -0
  343. package/dist/cjs/src/static_dependencies/noble-curves/abstract/weierstrass.js +1 -1
  344. package/dist/cjs/src/static_dependencies/noble-curves/ed25519.js +1 -1
  345. package/dist/cjs/src/static_dependencies/noble-curves/p256.js +1 -1
  346. package/dist/cjs/src/static_dependencies/noble-curves/secp256k1.js +1 -1
  347. package/dist/cjs/src/static_dependencies/noble-hashes/_assert.js +6 -0
  348. package/dist/cjs/src/static_dependencies/noble-hashes/_sha2.js +1 -0
  349. package/dist/cjs/src/static_dependencies/noble-hashes/_u64.js +6 -0
  350. package/dist/cjs/src/static_dependencies/noble-hashes/crypto.js +6 -0
  351. package/dist/cjs/src/static_dependencies/noble-hashes/hmac.js +1 -0
  352. package/dist/cjs/src/static_dependencies/noble-hashes/md5.js +1 -0
  353. package/dist/cjs/src/static_dependencies/noble-hashes/sha1.js +1 -0
  354. package/dist/cjs/src/static_dependencies/noble-hashes/sha256.js +1 -0
  355. package/dist/cjs/src/static_dependencies/noble-hashes/sha3.js +1 -0
  356. package/dist/cjs/src/static_dependencies/noble-hashes/sha512.js +1 -0
  357. package/dist/cjs/src/static_dependencies/noble-hashes/utils.js +1 -1
  358. package/dist/cjs/src/static_dependencies/node-fetch/body.js +1 -5
  359. package/dist/cjs/src/static_dependencies/node-fetch/errors/abort-error.js +1 -0
  360. package/dist/cjs/src/static_dependencies/node-fetch/errors/base.js +6 -0
  361. package/dist/cjs/src/static_dependencies/node-fetch/errors/fetch-error.js +1 -0
  362. package/dist/cjs/src/static_dependencies/node-fetch/headers.js +1 -5
  363. package/dist/cjs/src/static_dependencies/node-fetch/index.js +8 -14
  364. package/dist/cjs/src/static_dependencies/node-fetch/request.js +1 -7
  365. package/dist/cjs/src/static_dependencies/node-fetch/response.js +4 -6
  366. package/dist/cjs/src/static_dependencies/node-fetch/utils/get-search.js +6 -0
  367. package/dist/cjs/src/static_dependencies/node-fetch/utils/is-redirect.js +6 -0
  368. package/dist/cjs/src/static_dependencies/node-fetch/utils/is.js +6 -0
  369. package/dist/cjs/src/static_dependencies/node-fetch/utils/referrer.js +1 -0
  370. package/dist/cjs/src/static_dependencies/proxies/agent-base/index.js +1 -0
  371. package/dist/cjs/src/static_dependencies/proxies/http-proxy-agent/index.js +1 -0
  372. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/index.js +1 -0
  373. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +6 -0
  374. package/dist/cjs/src/static_dependencies/qs/index.cjs.js +3 -1
  375. package/dist/cjs/src/static_dependencies/scure-base/index.js +6 -0
  376. package/dist/cjs/src/static_dependencies/scure-starknet/index.js +1 -1
  377. package/dist/cjs/src/static_dependencies/starknet/constants.js +1 -1
  378. package/dist/cjs/src/static_dependencies/starknet/types/calldata.js +6 -0
  379. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/abi.js +6 -0
  380. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/index.js +6 -0
  381. package/dist/cjs/src/static_dependencies/starknet/types/lib/index.js +6 -0
  382. package/dist/cjs/src/static_dependencies/starknet/types/typedData.js +6 -0
  383. package/dist/cjs/src/static_dependencies/starknet/utils/assert.js +9 -1
  384. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +1 -1
  385. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +1 -1
  386. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +1 -1
  387. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/byteArray.js +1 -0
  388. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/cairo.js +1 -0
  389. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +6 -0
  390. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +6 -0
  391. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +6 -0
  392. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/formatter.js +4 -1
  393. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/index.js +8 -8
  394. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/index.js +1 -0
  395. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +1 -0
  396. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +6 -0
  397. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +5 -2
  398. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/requestParser.js +2 -1
  399. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/responseParser.js +5 -2
  400. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/tuple.js +4 -2
  401. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/validate.js +29 -30
  402. package/dist/cjs/src/static_dependencies/starknet/utils/encode.js +1 -0
  403. package/dist/cjs/src/static_dependencies/starknet/utils/hash/classHash.js +1 -3
  404. package/dist/cjs/src/static_dependencies/starknet/utils/merkle.js +1 -0
  405. package/dist/cjs/src/static_dependencies/starknet/utils/num.js +1 -0
  406. package/dist/cjs/src/static_dependencies/starknet/utils/selector.js +1 -0
  407. package/dist/cjs/src/static_dependencies/starknet/utils/shortString.js +1 -0
  408. package/dist/cjs/src/static_dependencies/starknet/utils/typedData.js +3 -3
  409. package/dist/cjs/src/static_dependencies/watchable/src/unpromise.js +6 -0
  410. package/dist/cjs/src/static_dependencies/zklink/zklink-sdk-web.js +6 -0
  411. package/dist/cjs/src/timex.js +5 -2
  412. package/dist/cjs/src/tokocrypto.js +5 -3
  413. package/dist/cjs/src/tradeogre.js +5 -3
  414. package/dist/cjs/src/upbit.js +5 -3
  415. package/dist/cjs/src/vertex.js +5 -3
  416. package/dist/cjs/src/wavesexchange.js +5 -3
  417. package/dist/cjs/src/whitebit.js +5 -3
  418. package/dist/cjs/src/woo.js +5 -3
  419. package/dist/cjs/src/woofipro.js +101 -3
  420. package/dist/cjs/src/xt.js +5 -3
  421. package/dist/cjs/src/yobit.js +5 -3
  422. package/dist/cjs/src/zaif.js +5 -3
  423. package/dist/cjs/src/zonda.js +5 -3
  424. package/js/ccxt.d.ts +1 -1
  425. package/js/ccxt.js +7 -1
  426. package/js/src/abstract/alpaca.js +6 -0
  427. package/js/src/abstract/apex.js +6 -0
  428. package/js/src/abstract/ascendex.js +6 -0
  429. package/js/src/abstract/bequant.js +6 -0
  430. package/js/src/abstract/bigone.js +6 -0
  431. package/js/src/abstract/binance.js +6 -0
  432. package/js/src/abstract/binancecoinm.js +6 -0
  433. package/js/src/abstract/binanceus.js +6 -0
  434. package/js/src/abstract/binanceusdm.js +6 -0
  435. package/js/src/abstract/bingx.d.ts +1 -0
  436. package/js/src/abstract/bingx.js +6 -0
  437. package/js/src/abstract/bit2c.js +6 -0
  438. package/js/src/abstract/bitbank.js +6 -0
  439. package/js/src/abstract/bitbns.js +6 -0
  440. package/js/src/abstract/bitfinex.js +6 -0
  441. package/js/src/abstract/bitflyer.js +6 -0
  442. package/js/src/abstract/bitget.js +6 -0
  443. package/js/src/abstract/bithumb.js +6 -0
  444. package/js/src/abstract/bitmart.js +6 -0
  445. package/js/src/abstract/bitmex.js +6 -0
  446. package/js/src/abstract/bitopro.js +6 -0
  447. package/js/src/abstract/bitrue.js +6 -0
  448. package/js/src/abstract/bitso.js +6 -0
  449. package/js/src/abstract/bitstamp.js +6 -0
  450. package/js/src/abstract/bitteam.js +6 -0
  451. package/js/src/abstract/bittrade.js +6 -0
  452. package/js/src/abstract/bitvavo.js +6 -0
  453. package/js/src/abstract/blockchaincom.js +6 -0
  454. package/js/src/abstract/blofin.js +6 -0
  455. package/js/src/abstract/btcalpha.js +6 -0
  456. package/js/src/abstract/btcbox.js +6 -0
  457. package/js/src/abstract/btcmarkets.js +6 -0
  458. package/js/src/abstract/btcturk.js +6 -0
  459. package/js/src/abstract/bybit.js +6 -0
  460. package/js/src/abstract/cex.js +6 -0
  461. package/js/src/abstract/coinbase.js +6 -0
  462. package/js/src/abstract/coinbaseadvanced.js +6 -0
  463. package/js/src/abstract/coinbaseexchange.js +6 -0
  464. package/js/src/abstract/coinbaseinternational.js +6 -0
  465. package/js/src/abstract/coincatch.js +6 -0
  466. package/js/src/abstract/coincheck.js +6 -0
  467. package/js/src/abstract/coinex.js +6 -0
  468. package/js/src/abstract/coinmate.js +6 -0
  469. package/js/src/abstract/coinmetro.js +6 -0
  470. package/js/src/abstract/coinone.js +6 -0
  471. package/js/src/abstract/coinsph.js +6 -0
  472. package/js/src/abstract/coinspot.js +6 -0
  473. package/js/src/abstract/cryptocom.js +6 -0
  474. package/js/src/abstract/cryptomus.js +6 -0
  475. package/js/src/abstract/defx.js +6 -0
  476. package/js/src/abstract/delta.js +6 -0
  477. package/js/src/abstract/deribit.js +6 -0
  478. package/js/src/abstract/derive.js +6 -0
  479. package/js/src/abstract/digifinex.js +6 -0
  480. package/js/src/abstract/ellipx.js +6 -0
  481. package/js/src/abstract/exmo.js +6 -0
  482. package/js/src/abstract/fmfwio.js +6 -0
  483. package/js/src/abstract/foxbit.js +6 -0
  484. package/js/src/abstract/gate.js +6 -0
  485. package/js/src/abstract/gateio.js +6 -0
  486. package/js/src/abstract/gemini.js +6 -0
  487. package/js/src/abstract/hashkey.js +6 -0
  488. package/js/src/abstract/hibachi.js +6 -0
  489. package/js/src/abstract/hitbtc.js +6 -0
  490. package/js/src/abstract/hollaex.js +6 -0
  491. package/js/src/abstract/htx.js +6 -0
  492. package/js/src/abstract/huobi.js +6 -0
  493. package/js/src/abstract/hyperliquid.js +6 -0
  494. package/js/src/abstract/independentreserve.js +6 -0
  495. package/js/src/abstract/indodax.js +6 -0
  496. package/js/src/abstract/kraken.js +6 -0
  497. package/js/src/abstract/krakenfutures.js +6 -0
  498. package/js/src/abstract/kucoin.js +6 -0
  499. package/js/src/abstract/kucoinfutures.js +6 -0
  500. package/js/src/abstract/latoken.js +6 -0
  501. package/js/src/abstract/lbank.js +6 -0
  502. package/js/src/abstract/luno.js +6 -0
  503. package/js/src/abstract/mercado.js +6 -0
  504. package/js/src/abstract/mexc.js +6 -0
  505. package/js/src/abstract/modetrade.js +6 -0
  506. package/js/src/abstract/myokx.js +6 -0
  507. package/js/src/abstract/ndax.js +6 -0
  508. package/js/src/abstract/novadax.js +6 -0
  509. package/js/src/abstract/oceanex.js +6 -0
  510. package/js/src/abstract/okcoin.js +6 -0
  511. package/js/src/abstract/okx.js +6 -0
  512. package/js/src/abstract/okxus.js +6 -0
  513. package/js/src/abstract/onetrading.js +6 -0
  514. package/js/src/abstract/oxfun.js +6 -0
  515. package/js/src/abstract/p2b.js +6 -0
  516. package/js/src/abstract/paradex.js +6 -0
  517. package/js/src/abstract/paymium.js +6 -0
  518. package/js/src/abstract/phemex.js +6 -0
  519. package/js/src/abstract/poloniex.js +6 -0
  520. package/js/src/abstract/probit.js +6 -0
  521. package/js/src/abstract/timex.js +6 -0
  522. package/js/src/abstract/tokocrypto.js +6 -0
  523. package/js/src/abstract/tradeogre.js +6 -0
  524. package/js/src/abstract/upbit.js +6 -0
  525. package/js/src/abstract/vertex.js +6 -0
  526. package/js/src/abstract/wavesexchange.js +6 -0
  527. package/js/src/abstract/whitebit.js +6 -0
  528. package/js/src/abstract/woo.js +6 -0
  529. package/js/src/abstract/woofipro.js +6 -0
  530. package/js/src/abstract/xt.js +6 -0
  531. package/js/src/abstract/yobit.js +6 -0
  532. package/js/src/abstract/zaif.js +6 -0
  533. package/js/src/abstract/zonda.js +6 -0
  534. package/js/src/alpaca.d.ts +1 -1
  535. package/js/src/alpaca.js +6 -0
  536. package/js/src/apex.d.ts +1 -1
  537. package/js/src/apex.js +6 -0
  538. package/js/src/ascendex.d.ts +1 -1
  539. package/js/src/ascendex.js +6 -0
  540. package/js/src/base/Exchange.d.ts +9 -7
  541. package/js/src/base/Exchange.js +47 -1
  542. package/js/src/base/Precise.js +6 -0
  543. package/js/src/base/errorHierarchy.js +6 -0
  544. package/js/src/base/errors.js +6 -0
  545. package/js/src/base/functions/crypto.js +6 -0
  546. package/js/src/base/functions/encode.js +6 -0
  547. package/js/src/base/functions/generic.js +6 -0
  548. package/js/src/base/functions/misc.js +6 -0
  549. package/js/src/base/functions/number.js +6 -0
  550. package/js/src/base/functions/platform.js +6 -0
  551. package/js/src/base/functions/rsa.js +6 -0
  552. package/js/src/base/functions/string.js +6 -0
  553. package/js/src/base/functions/throttle.js +6 -0
  554. package/js/src/base/functions/time.js +6 -0
  555. package/js/src/base/functions/totp.js +6 -0
  556. package/js/src/base/functions/type.js +6 -0
  557. package/js/src/base/functions.js +6 -0
  558. package/js/src/base/types.d.ts +2 -1
  559. package/js/src/base/types.js +6 -0
  560. package/js/src/base/ws/Cache.js +6 -0
  561. package/js/src/base/ws/Client.d.ts +1 -0
  562. package/js/src/base/ws/Client.js +11 -1
  563. package/js/src/base/ws/Future.js +6 -0
  564. package/js/src/base/ws/OrderBook.js +6 -0
  565. package/js/src/base/ws/OrderBookSide.js +6 -0
  566. package/js/src/base/ws/WsClient.js +6 -0
  567. package/js/src/base/ws/functions.js +6 -0
  568. package/js/src/bequant.js +6 -0
  569. package/js/src/bigone.d.ts +1 -1
  570. package/js/src/bigone.js +6 -0
  571. package/js/src/binance.d.ts +2 -2
  572. package/js/src/binance.js +7 -0
  573. package/js/src/binancecoinm.js +6 -0
  574. package/js/src/binanceus.js +6 -0
  575. package/js/src/binanceusdm.js +6 -0
  576. package/js/src/bingx.d.ts +3 -2
  577. package/js/src/bingx.js +38 -2
  578. package/js/src/bit2c.js +6 -0
  579. package/js/src/bitbank.d.ts +1 -1
  580. package/js/src/bitbank.js +6 -0
  581. package/js/src/bitbns.js +6 -0
  582. package/js/src/bitfinex.d.ts +1 -1
  583. package/js/src/bitfinex.js +9 -0
  584. package/js/src/bitflyer.d.ts +1 -1
  585. package/js/src/bitflyer.js +6 -0
  586. package/js/src/bitget.d.ts +4 -2
  587. package/js/src/bitget.js +44 -14
  588. package/js/src/bithumb.d.ts +1 -1
  589. package/js/src/bithumb.js +6 -0
  590. package/js/src/bitmart.d.ts +2 -2
  591. package/js/src/bitmart.js +6 -0
  592. package/js/src/bitmex.d.ts +2 -2
  593. package/js/src/bitmex.js +7 -0
  594. package/js/src/bitopro.d.ts +1 -1
  595. package/js/src/bitopro.js +6 -0
  596. package/js/src/bitrue.d.ts +2 -2
  597. package/js/src/bitrue.js +6 -0
  598. package/js/src/bitso.d.ts +1 -1
  599. package/js/src/bitso.js +6 -0
  600. package/js/src/bitstamp.d.ts +1 -1
  601. package/js/src/bitstamp.js +6 -0
  602. package/js/src/bitteam.js +6 -0
  603. package/js/src/bittrade.d.ts +1 -1
  604. package/js/src/bittrade.js +6 -0
  605. package/js/src/bitvavo.d.ts +1 -1
  606. package/js/src/bitvavo.js +6 -0
  607. package/js/src/blockchaincom.d.ts +1 -1
  608. package/js/src/blockchaincom.js +6 -0
  609. package/js/src/blofin.d.ts +1 -1
  610. package/js/src/blofin.js +6 -0
  611. package/js/src/btcalpha.js +6 -0
  612. package/js/src/btcbox.js +6 -0
  613. package/js/src/btcmarkets.d.ts +1 -1
  614. package/js/src/btcmarkets.js +6 -0
  615. package/js/src/btcturk.js +6 -0
  616. package/js/src/bybit.d.ts +2 -2
  617. package/js/src/bybit.js +6 -0
  618. package/js/src/cex.js +6 -0
  619. package/js/src/coinbase.d.ts +1 -1
  620. package/js/src/coinbase.js +6 -0
  621. package/js/src/coinbaseadvanced.js +6 -0
  622. package/js/src/coinbaseexchange.d.ts +1 -1
  623. package/js/src/coinbaseexchange.js +6 -0
  624. package/js/src/coinbaseinternational.d.ts +1 -1
  625. package/js/src/coinbaseinternational.js +6 -0
  626. package/js/src/coincatch.d.ts +2 -2
  627. package/js/src/coincatch.js +6 -0
  628. package/js/src/coincheck.js +6 -0
  629. package/js/src/coinex.d.ts +3 -3
  630. package/js/src/coinex.js +7 -1
  631. package/js/src/coinmate.d.ts +1 -1
  632. package/js/src/coinmate.js +6 -0
  633. package/js/src/coinmetro.js +6 -0
  634. package/js/src/coinone.js +6 -0
  635. package/js/src/coinsph.d.ts +1 -1
  636. package/js/src/coinsph.js +6 -0
  637. package/js/src/coinspot.js +6 -0
  638. package/js/src/cryptocom.d.ts +1 -1
  639. package/js/src/cryptocom.js +6 -0
  640. package/js/src/cryptomus.js +6 -0
  641. package/js/src/defx.d.ts +2 -2
  642. package/js/src/defx.js +6 -0
  643. package/js/src/delta.d.ts +1 -1
  644. package/js/src/delta.js +6 -0
  645. package/js/src/deribit.d.ts +1 -1
  646. package/js/src/deribit.js +6 -0
  647. package/js/src/derive.js +6 -0
  648. package/js/src/digifinex.d.ts +2 -2
  649. package/js/src/digifinex.js +6 -0
  650. package/js/src/ellipx.d.ts +1 -1
  651. package/js/src/ellipx.js +6 -0
  652. package/js/src/exmo.d.ts +1 -1
  653. package/js/src/exmo.js +6 -0
  654. package/js/src/fmfwio.js +6 -0
  655. package/js/src/foxbit.d.ts +1 -1
  656. package/js/src/foxbit.js +9 -3
  657. package/js/src/gate.d.ts +2 -2
  658. package/js/src/gate.js +27 -0
  659. package/js/src/gateio.js +6 -0
  660. package/js/src/gemini.d.ts +1 -1
  661. package/js/src/gemini.js +6 -0
  662. package/js/src/hashkey.d.ts +3 -3
  663. package/js/src/hashkey.js +6 -0
  664. package/js/src/hibachi.d.ts +1 -1
  665. package/js/src/hibachi.js +6 -0
  666. package/js/src/hitbtc.d.ts +2 -2
  667. package/js/src/hitbtc.js +6 -0
  668. package/js/src/hollaex.d.ts +1 -1
  669. package/js/src/hollaex.js +6 -0
  670. package/js/src/htx.d.ts +3 -3
  671. package/js/src/htx.js +7 -0
  672. package/js/src/huobi.js +6 -0
  673. package/js/src/hyperliquid.d.ts +12 -2
  674. package/js/src/hyperliquid.js +85 -28
  675. package/js/src/independentreserve.d.ts +1 -1
  676. package/js/src/independentreserve.js +6 -0
  677. package/js/src/indodax.d.ts +1 -1
  678. package/js/src/indodax.js +6 -0
  679. package/js/src/kraken.d.ts +1 -1
  680. package/js/src/kraken.js +6 -0
  681. package/js/src/krakenfutures.d.ts +1 -1
  682. package/js/src/krakenfutures.js +7 -0
  683. package/js/src/kucoin.d.ts +2 -2
  684. package/js/src/kucoin.js +6 -0
  685. package/js/src/kucoinfutures.d.ts +3 -2
  686. package/js/src/kucoinfutures.js +7 -0
  687. package/js/src/latoken.js +6 -0
  688. package/js/src/lbank.d.ts +1 -1
  689. package/js/src/lbank.js +7 -1
  690. package/js/src/luno.js +6 -0
  691. package/js/src/mercado.d.ts +1 -1
  692. package/js/src/mercado.js +6 -0
  693. package/js/src/mexc.d.ts +2 -2
  694. package/js/src/mexc.js +13 -0
  695. package/js/src/modetrade.d.ts +26 -3
  696. package/js/src/modetrade.js +102 -0
  697. package/js/src/myokx.js +6 -0
  698. package/js/src/ndax.d.ts +1 -1
  699. package/js/src/ndax.js +6 -0
  700. package/js/src/novadax.d.ts +1 -1
  701. package/js/src/novadax.js +6 -0
  702. package/js/src/oceanex.js +6 -0
  703. package/js/src/okcoin.d.ts +1 -1
  704. package/js/src/okcoin.js +6 -0
  705. package/js/src/okx.d.ts +2 -2
  706. package/js/src/okx.js +6 -0
  707. package/js/src/okxus.js +6 -0
  708. package/js/src/onetrading.js +39 -0
  709. package/js/src/oxfun.d.ts +1 -1
  710. package/js/src/oxfun.js +6 -0
  711. package/js/src/p2b.js +38 -0
  712. package/js/src/paradex.d.ts +1 -1
  713. package/js/src/paradex.js +7 -0
  714. package/js/src/paymium.js +6 -0
  715. package/js/src/phemex.d.ts +2 -2
  716. package/js/src/phemex.js +6 -0
  717. package/js/src/poloniex.d.ts +2 -2
  718. package/js/src/poloniex.js +6 -0
  719. package/js/src/pro/alpaca.js +6 -0
  720. package/js/src/pro/apex.js +6 -0
  721. package/js/src/pro/ascendex.js +6 -0
  722. package/js/src/pro/bequant.js +6 -0
  723. package/js/src/pro/binance.js +8 -1
  724. package/js/src/pro/binancecoinm.js +6 -0
  725. package/js/src/pro/binanceus.js +6 -0
  726. package/js/src/pro/binanceusdm.js +6 -0
  727. package/js/src/pro/bingx.js +6 -0
  728. package/js/src/pro/bitfinex.js +6 -0
  729. package/js/src/pro/bitget.js +6 -0
  730. package/js/src/pro/bithumb.js +6 -0
  731. package/js/src/pro/bitmart.js +6 -0
  732. package/js/src/pro/bitmex.js +6 -0
  733. package/js/src/pro/bitopro.js +6 -0
  734. package/js/src/pro/bitrue.js +6 -0
  735. package/js/src/pro/bitstamp.js +6 -0
  736. package/js/src/pro/bittrade.js +6 -0
  737. package/js/src/pro/bitvavo.js +7 -1
  738. package/js/src/pro/blockchaincom.js +6 -0
  739. package/js/src/pro/blofin.js +6 -0
  740. package/js/src/pro/bybit.js +7 -0
  741. package/js/src/pro/cex.js +6 -0
  742. package/js/src/pro/coinbase.js +6 -0
  743. package/js/src/pro/coinbaseadvanced.js +6 -0
  744. package/js/src/pro/coinbaseexchange.js +6 -0
  745. package/js/src/pro/coinbaseinternational.js +6 -0
  746. package/js/src/pro/coincatch.js +6 -0
  747. package/js/src/pro/coincheck.js +6 -0
  748. package/js/src/pro/coinex.js +7 -1
  749. package/js/src/pro/coinone.js +6 -0
  750. package/js/src/pro/cryptocom.js +6 -0
  751. package/js/src/pro/defx.js +6 -0
  752. package/js/src/pro/deribit.js +6 -0
  753. package/js/src/pro/derive.js +6 -0
  754. package/js/src/pro/exmo.js +6 -0
  755. package/js/src/pro/gate.js +6 -0
  756. package/js/src/pro/gateio.js +6 -0
  757. package/js/src/pro/gemini.js +6 -0
  758. package/js/src/pro/hashkey.js +6 -0
  759. package/js/src/pro/hitbtc.js +6 -0
  760. package/js/src/pro/hollaex.js +6 -0
  761. package/js/src/pro/htx.js +6 -0
  762. package/js/src/pro/huobi.js +6 -0
  763. package/js/src/pro/hyperliquid.d.ts +26 -0
  764. package/js/src/pro/hyperliquid.js +109 -12
  765. package/js/src/pro/independentreserve.js +6 -0
  766. package/js/src/pro/kraken.js +6 -0
  767. package/js/src/pro/krakenfutures.js +6 -0
  768. package/js/src/pro/kucoin.js +7 -1
  769. package/js/src/pro/kucoinfutures.js +7 -1
  770. package/js/src/pro/lbank.js +6 -0
  771. package/js/src/pro/luno.js +6 -0
  772. package/js/src/pro/mexc.d.ts +9 -6
  773. package/js/src/pro/mexc.js +353 -167
  774. package/js/src/pro/modetrade.js +6 -0
  775. package/js/src/pro/myokx.js +6 -0
  776. package/js/src/pro/ndax.js +6 -0
  777. package/js/src/pro/okcoin.js +6 -0
  778. package/js/src/pro/okx.js +8 -1
  779. package/js/src/pro/okxus.js +6 -0
  780. package/js/src/pro/onetrading.js +6 -0
  781. package/js/src/pro/oxfun.js +7 -1
  782. package/js/src/pro/p2b.js +6 -0
  783. package/js/src/pro/paradex.js +6 -0
  784. package/js/src/pro/phemex.js +6 -0
  785. package/js/src/pro/poloniex.js +6 -0
  786. package/js/src/pro/probit.js +6 -0
  787. package/js/src/pro/tradeogre.js +6 -0
  788. package/js/src/pro/upbit.js +6 -0
  789. package/js/src/pro/vertex.js +6 -0
  790. package/js/src/pro/whitebit.js +6 -0
  791. package/js/src/pro/woo.js +6 -0
  792. package/js/src/pro/woofipro.js +6 -0
  793. package/js/src/pro/xt.js +6 -0
  794. package/js/src/probit.d.ts +1 -1
  795. package/js/src/probit.js +41 -0
  796. package/js/src/protobuf/mexc/compiled.cjs +7186 -0
  797. package/js/src/protobuf/mexc/compiled.d.cts +2 -0
  798. package/js/src/static_dependencies/ethers/abi-coder.js +6 -0
  799. package/js/src/static_dependencies/ethers/address/address.js +6 -0
  800. package/js/src/static_dependencies/ethers/address/checks.js +6 -0
  801. package/js/src/static_dependencies/ethers/address/contract-address.js +6 -0
  802. package/js/src/static_dependencies/ethers/address/index.js +6 -0
  803. package/js/src/static_dependencies/ethers/bytes32.js +6 -0
  804. package/js/src/static_dependencies/ethers/coders/abstract-coder.js +6 -0
  805. package/js/src/static_dependencies/ethers/coders/address.js +6 -0
  806. package/js/src/static_dependencies/ethers/coders/anonymous.js +6 -0
  807. package/js/src/static_dependencies/ethers/coders/array.js +6 -0
  808. package/js/src/static_dependencies/ethers/coders/boolean.js +6 -0
  809. package/js/src/static_dependencies/ethers/coders/bytes.js +6 -0
  810. package/js/src/static_dependencies/ethers/coders/fixed-bytes.js +6 -0
  811. package/js/src/static_dependencies/ethers/coders/null.js +6 -0
  812. package/js/src/static_dependencies/ethers/coders/number.js +6 -0
  813. package/js/src/static_dependencies/ethers/coders/string.js +6 -0
  814. package/js/src/static_dependencies/ethers/coders/tuple.js +6 -0
  815. package/js/src/static_dependencies/ethers/fragments.js +6 -0
  816. package/js/src/static_dependencies/ethers/hash/index.js +6 -0
  817. package/js/src/static_dependencies/ethers/hash/solidity.js +6 -0
  818. package/js/src/static_dependencies/ethers/hash/typed-data.js +6 -0
  819. package/js/src/static_dependencies/ethers/index.js +6 -0
  820. package/js/src/static_dependencies/ethers/interface.js +6 -0
  821. package/js/src/static_dependencies/ethers/typed.js +6 -0
  822. package/js/src/static_dependencies/ethers/utils/base58.js +6 -0
  823. package/js/src/static_dependencies/ethers/utils/base64-browser.js +6 -0
  824. package/js/src/static_dependencies/ethers/utils/base64.js +6 -0
  825. package/js/src/static_dependencies/ethers/utils/data.js +6 -0
  826. package/js/src/static_dependencies/ethers/utils/errors.js +6 -0
  827. package/js/src/static_dependencies/ethers/utils/events.js +6 -0
  828. package/js/src/static_dependencies/ethers/utils/fixednumber.js +6 -0
  829. package/js/src/static_dependencies/ethers/utils/index.js +6 -0
  830. package/js/src/static_dependencies/ethers/utils/maths.js +6 -0
  831. package/js/src/static_dependencies/ethers/utils/properties.js +6 -0
  832. package/js/src/static_dependencies/ethers/utils/rlp-decode.js +6 -0
  833. package/js/src/static_dependencies/ethers/utils/rlp-encode.js +6 -0
  834. package/js/src/static_dependencies/ethers/utils/rlp.js +6 -0
  835. package/js/src/static_dependencies/ethers/utils/units.js +6 -0
  836. package/js/src/static_dependencies/ethers/utils/utf8.js +6 -0
  837. package/js/src/static_dependencies/ethers/utils/uuid.js +6 -0
  838. package/js/src/static_dependencies/fflake/browser.js +6 -0
  839. package/js/src/static_dependencies/jsencrypt/JSEncrypt.js +6 -0
  840. package/js/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +6 -0
  841. package/js/src/static_dependencies/jsencrypt/index.js +6 -0
  842. package/js/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +6 -0
  843. package/js/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +6 -0
  844. package/js/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +6 -0
  845. package/js/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +6 -0
  846. package/js/src/static_dependencies/jsencrypt/lib/asn1js/oids.js +6 -0
  847. package/js/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +6 -0
  848. package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +6 -0
  849. package/js/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +6 -0
  850. package/js/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +6 -0
  851. package/js/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +6 -0
  852. package/js/src/static_dependencies/jsencrypt/lib/jsbn/util.js +6 -0
  853. package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +6 -0
  854. package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +6 -0
  855. package/js/src/static_dependencies/messagepack/msgpack.js +6 -0
  856. package/js/src/static_dependencies/noble-curves/_shortw_utils.js +6 -0
  857. package/js/src/static_dependencies/noble-curves/abstract/curve.js +6 -0
  858. package/js/src/static_dependencies/noble-curves/abstract/edwards.js +6 -0
  859. package/js/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +6 -0
  860. package/js/src/static_dependencies/noble-curves/abstract/modular.js +6 -0
  861. package/js/src/static_dependencies/noble-curves/abstract/montgomery.js +6 -0
  862. package/js/src/static_dependencies/noble-curves/abstract/poseidon.js +6 -0
  863. package/js/src/static_dependencies/noble-curves/abstract/utils.js +6 -0
  864. package/js/src/static_dependencies/noble-curves/abstract/weierstrass.js +6 -0
  865. package/js/src/static_dependencies/noble-curves/bn.js +6 -0
  866. package/js/src/static_dependencies/noble-curves/ed25519.js +6 -0
  867. package/js/src/static_dependencies/noble-curves/ed448.js +6 -0
  868. package/js/src/static_dependencies/noble-curves/index.js +6 -0
  869. package/js/src/static_dependencies/noble-curves/jubjub.js +6 -0
  870. package/js/src/static_dependencies/noble-curves/p256.js +6 -0
  871. package/js/src/static_dependencies/noble-curves/p384.js +6 -0
  872. package/js/src/static_dependencies/noble-curves/p521.js +6 -0
  873. package/js/src/static_dependencies/noble-curves/pasta.js +6 -0
  874. package/js/src/static_dependencies/noble-curves/secp256k1.js +6 -0
  875. package/js/src/static_dependencies/noble-hashes/_assert.js +6 -0
  876. package/js/src/static_dependencies/noble-hashes/_blake2.js +6 -0
  877. package/js/src/static_dependencies/noble-hashes/_sha2.js +6 -0
  878. package/js/src/static_dependencies/noble-hashes/_u64.js +6 -0
  879. package/js/src/static_dependencies/noble-hashes/argon2.js +6 -0
  880. package/js/src/static_dependencies/noble-hashes/blake2b.js +6 -0
  881. package/js/src/static_dependencies/noble-hashes/blake2s.js +6 -0
  882. package/js/src/static_dependencies/noble-hashes/blake3.js +6 -0
  883. package/js/src/static_dependencies/noble-hashes/crypto.js +6 -0
  884. package/js/src/static_dependencies/noble-hashes/cryptoNode.js +6 -0
  885. package/js/src/static_dependencies/noble-hashes/eskdf.js +6 -0
  886. package/js/src/static_dependencies/noble-hashes/hkdf.js +6 -0
  887. package/js/src/static_dependencies/noble-hashes/hmac.js +6 -0
  888. package/js/src/static_dependencies/noble-hashes/index.js +6 -0
  889. package/js/src/static_dependencies/noble-hashes/md5.js +6 -0
  890. package/js/src/static_dependencies/noble-hashes/pbkdf2.js +6 -0
  891. package/js/src/static_dependencies/noble-hashes/ripemd160.js +6 -0
  892. package/js/src/static_dependencies/noble-hashes/scrypt.js +6 -0
  893. package/js/src/static_dependencies/noble-hashes/sha1.js +6 -0
  894. package/js/src/static_dependencies/noble-hashes/sha256.js +6 -0
  895. package/js/src/static_dependencies/noble-hashes/sha3-addons.js +6 -0
  896. package/js/src/static_dependencies/noble-hashes/sha3.js +6 -0
  897. package/js/src/static_dependencies/noble-hashes/sha512.js +6 -0
  898. package/js/src/static_dependencies/noble-hashes/utils.js +6 -0
  899. package/js/src/static_dependencies/node-fetch/body.js +6 -0
  900. package/js/src/static_dependencies/node-fetch/errors/abort-error.js +6 -0
  901. package/js/src/static_dependencies/node-fetch/errors/base.js +6 -0
  902. package/js/src/static_dependencies/node-fetch/errors/fetch-error.js +6 -0
  903. package/js/src/static_dependencies/node-fetch/headers.js +6 -0
  904. package/js/src/static_dependencies/node-fetch/index.js +6 -0
  905. package/js/src/static_dependencies/node-fetch/request.js +6 -0
  906. package/js/src/static_dependencies/node-fetch/response.js +6 -0
  907. package/js/src/static_dependencies/node-fetch/utils/get-search.js +6 -0
  908. package/js/src/static_dependencies/node-fetch/utils/is-redirect.js +6 -0
  909. package/js/src/static_dependencies/node-fetch/utils/is.js +6 -0
  910. package/js/src/static_dependencies/node-fetch/utils/referrer.js +6 -0
  911. package/js/src/static_dependencies/proxies/agent-base/helpers.js +6 -0
  912. package/js/src/static_dependencies/proxies/agent-base/index.js +6 -0
  913. package/js/src/static_dependencies/proxies/http-proxy-agent/index.js +6 -0
  914. package/js/src/static_dependencies/proxies/https-proxy-agent/index.js +6 -0
  915. package/js/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +6 -0
  916. package/js/src/static_dependencies/qs/formats.cjs +6 -0
  917. package/js/src/static_dependencies/qs/index.cjs +6 -0
  918. package/js/src/static_dependencies/qs/parse.cjs +6 -0
  919. package/js/src/static_dependencies/qs/stringify.cjs +6 -0
  920. package/js/src/static_dependencies/qs/utils.cjs +6 -0
  921. package/js/src/static_dependencies/scure-base/index.js +6 -0
  922. package/js/src/static_dependencies/scure-starknet/index.js +6 -0
  923. package/js/src/static_dependencies/starknet/constants.js +6 -0
  924. package/js/src/static_dependencies/starknet/index.js +6 -0
  925. package/js/src/static_dependencies/starknet/types/cairoEnum.js +6 -0
  926. package/js/src/static_dependencies/starknet/types/calldata.js +6 -0
  927. package/js/src/static_dependencies/starknet/types/index.js +6 -0
  928. package/js/src/static_dependencies/starknet/types/lib/contract/abi.js +6 -0
  929. package/js/src/static_dependencies/starknet/types/lib/contract/index.js +6 -0
  930. package/js/src/static_dependencies/starknet/types/lib/contract/legacy.js +6 -0
  931. package/js/src/static_dependencies/starknet/types/lib/contract/sierra.js +6 -0
  932. package/js/src/static_dependencies/starknet/types/lib/index.js +6 -0
  933. package/js/src/static_dependencies/starknet/types/typedData.js +6 -0
  934. package/js/src/static_dependencies/starknet/utils/address.js +6 -0
  935. package/js/src/static_dependencies/starknet/utils/assert.js +6 -0
  936. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +6 -0
  937. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +6 -0
  938. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +6 -0
  939. package/js/src/static_dependencies/starknet/utils/calldata/byteArray.js +6 -0
  940. package/js/src/static_dependencies/starknet/utils/calldata/cairo.js +6 -0
  941. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +6 -0
  942. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +6 -0
  943. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +6 -0
  944. package/js/src/static_dependencies/starknet/utils/calldata/enum/index.js +6 -0
  945. package/js/src/static_dependencies/starknet/utils/calldata/formatter.js +6 -0
  946. package/js/src/static_dependencies/starknet/utils/calldata/index.js +6 -0
  947. package/js/src/static_dependencies/starknet/utils/calldata/parser/index.js +6 -0
  948. package/js/src/static_dependencies/starknet/utils/calldata/parser/interface.js +6 -0
  949. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +6 -0
  950. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +6 -0
  951. package/js/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +6 -0
  952. package/js/src/static_dependencies/starknet/utils/calldata/requestParser.js +6 -0
  953. package/js/src/static_dependencies/starknet/utils/calldata/responseParser.js +6 -0
  954. package/js/src/static_dependencies/starknet/utils/calldata/tuple.js +6 -0
  955. package/js/src/static_dependencies/starknet/utils/calldata/validate.js +6 -0
  956. package/js/src/static_dependencies/starknet/utils/encode.js +6 -0
  957. package/js/src/static_dependencies/starknet/utils/hash/classHash.js +6 -0
  958. package/js/src/static_dependencies/starknet/utils/hash/index.js +6 -0
  959. package/js/src/static_dependencies/starknet/utils/merkle.js +6 -0
  960. package/js/src/static_dependencies/starknet/utils/num.js +6 -0
  961. package/js/src/static_dependencies/starknet/utils/selector.js +6 -0
  962. package/js/src/static_dependencies/starknet/utils/shortString.js +6 -0
  963. package/js/src/static_dependencies/starknet/utils/starknetId.js +6 -0
  964. package/js/src/static_dependencies/starknet/utils/typedData.js +6 -0
  965. package/js/src/static_dependencies/starknet/utils/uint256.js +6 -0
  966. package/js/src/static_dependencies/starknet/utils/url.js +6 -0
  967. package/js/src/static_dependencies/watchable/src/index.js +6 -0
  968. package/js/src/static_dependencies/watchable/src/types.js +6 -0
  969. package/js/src/static_dependencies/watchable/src/unpromise.js +6 -0
  970. package/js/src/static_dependencies/zklink/zklink-sdk-web.js +6 -0
  971. package/js/src/timex.js +6 -0
  972. package/js/src/tokocrypto.d.ts +1 -1
  973. package/js/src/tokocrypto.js +6 -0
  974. package/js/src/tradeogre.js +6 -0
  975. package/js/src/upbit.d.ts +1 -1
  976. package/js/src/upbit.js +6 -0
  977. package/js/src/vertex.d.ts +1 -1
  978. package/js/src/vertex.js +6 -0
  979. package/js/src/wavesexchange.d.ts +1 -1
  980. package/js/src/wavesexchange.js +6 -0
  981. package/js/src/whitebit.d.ts +2 -2
  982. package/js/src/whitebit.js +6 -0
  983. package/js/src/woo.d.ts +4 -4
  984. package/js/src/woo.js +6 -0
  985. package/js/src/woofipro.d.ts +26 -3
  986. package/js/src/woofipro.js +102 -0
  987. package/js/src/xt.d.ts +3 -3
  988. package/js/src/xt.js +6 -0
  989. package/js/src/yobit.d.ts +1 -1
  990. package/js/src/yobit.js +6 -0
  991. package/js/src/zaif.d.ts +1 -1
  992. package/js/src/zaif.js +6 -0
  993. package/js/src/zonda.d.ts +1 -1
  994. package/js/src/zonda.js +6 -0
  995. package/package.json +4 -3
@@ -1,13 +1,15 @@
1
1
  'use strict';
2
2
 
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
3
5
  var mexc$1 = require('../mexc.js');
4
6
  var errors = require('../base/errors.js');
5
7
  var Cache = require('../base/ws/Cache.js');
6
8
  var sha256 = require('../static_dependencies/noble-hashes/sha256.js');
7
9
 
10
+ // ----------------------------------------------------------------------------
8
11
  // ---------------------------------------------------------------------------
9
- // ---------------------------------------------------------------------------
10
- class mexc extends mexc$1 {
12
+ class mexc extends mexc$1["default"] {
11
13
  describe() {
12
14
  return this.deepExtend(super.describe(), {
13
15
  'has': {
@@ -41,13 +43,14 @@ class mexc extends mexc$1 {
41
43
  'urls': {
42
44
  'api': {
43
45
  'ws': {
44
- 'spot': 'wss://wbs.mexc.com/ws',
46
+ 'spot': 'wss://wbs-api.mexc.com/ws',
45
47
  'swap': 'wss://contract.mexc.com/edge',
46
48
  },
47
49
  },
48
50
  },
49
51
  'options': {
50
52
  'listenKeyRefreshRate': 1200000,
53
+ 'decompressBinary': false,
51
54
  // TODO add reset connection after #16754 is merged
52
55
  'timeframes': {
53
56
  '1m': 'Min1',
@@ -91,15 +94,7 @@ class mexc extends mexc$1 {
91
94
  const market = this.market(symbol);
92
95
  const messageHash = 'ticker:' + market['symbol'];
93
96
  if (market['spot']) {
94
- let miniTicker = false;
95
- [miniTicker, params] = this.handleOptionAndParams(params, 'watchTicker', 'miniTicker');
96
- let channel = undefined;
97
- if (miniTicker) {
98
- channel = 'spot@public.miniTicker.v3.api@' + market['id'] + '@UTC+8';
99
- }
100
- else {
101
- channel = 'spot@public.bookTicker.v3.api@' + market['id'];
102
- }
97
+ const channel = 'spot@public.aggre.bookTicker.v3.api.pb@100ms@' + market['id'];
103
98
  return await this.watchSpotPublic(channel, messageHash, params);
104
99
  }
105
100
  else {
@@ -179,9 +174,9 @@ class mexc extends mexc$1 {
179
174
  // }
180
175
  //
181
176
  this.handleBidAsk(client, message);
182
- const rawTicker = this.safeDict2(message, 'd', 'data');
177
+ const rawTicker = this.safeDictN(message, ['d', 'data', 'publicAggreBookTicker']);
183
178
  const marketId = this.safeString2(message, 's', 'symbol');
184
- const timestamp = this.safeInteger(message, 't');
179
+ const timestamp = this.safeInteger2(message, 't', 'sendtime');
185
180
  const market = this.safeMarket(marketId);
186
181
  const symbol = market['symbol'];
187
182
  let ticker = undefined;
@@ -224,34 +219,33 @@ class mexc extends mexc$1 {
224
219
  const url = (isSpot) ? this.urls['api']['ws']['spot'] : this.urls['api']['ws']['swap'];
225
220
  const request = {};
226
221
  if (isSpot) {
227
- let miniTicker = false;
228
- [miniTicker, params] = this.handleOptionAndParams(params, 'watchTickers', 'miniTicker');
229
- const topics = [];
230
- if (!miniTicker) {
231
- if (symbols === undefined) {
232
- throw new errors.ArgumentsRequired(this.id + ' watchTickers required symbols argument for the bookTicker channel');
233
- }
234
- const marketIds = this.marketIds(symbols);
235
- for (let i = 0; i < marketIds.length; i++) {
236
- const marketId = marketIds[i];
237
- messageHashes.push('ticker:' + symbols[i]);
238
- const channel = 'spot@public.bookTicker.v3.api@' + marketId;
239
- topics.push(channel);
240
- }
241
- }
242
- else {
243
- topics.push('spot@public.miniTickers.v3.api@UTC+8');
244
- if (symbols === undefined) {
245
- messageHashes.push('spot:ticker');
246
- }
247
- else {
248
- for (let i = 0; i < symbols.length; i++) {
249
- messageHashes.push('ticker:' + symbols[i]);
250
- }
251
- }
252
- }
253
- request['method'] = 'SUBSCRIPTION';
254
- request['params'] = topics;
222
+ throw new errors.NotSupported(this.id + ' watchTickers does not support spot markets');
223
+ // let miniTicker = false;
224
+ // [ miniTicker, params ] = this.handleOptionAndParams (params, 'watchTickers', 'miniTicker');
225
+ // const topics = [];
226
+ // if (!miniTicker) {
227
+ // if (symbols === undefined) {
228
+ // throw new ArgumentsRequired (this.id + ' watchTickers required symbols argument for the bookTicker channel');
229
+ // }
230
+ // const marketIds = this.marketIds (symbols);
231
+ // for (let i = 0; i < marketIds.length; i++) {
232
+ // const marketId = marketIds[i];
233
+ // messageHashes.push ('ticker:' + symbols[i]);
234
+ // const channel = 'spot@public.bookTicker.v3.api@' + marketId;
235
+ // topics.push (channel);
236
+ // }
237
+ // } else {
238
+ // topics.push ('spot@public.miniTickers.v3.api@UTC+8');
239
+ // if (symbols === undefined) {
240
+ // messageHashes.push ('spot:ticker');
241
+ // } else {
242
+ // for (let i = 0; i < symbols.length; i++) {
243
+ // messageHashes.push ('ticker:' + symbols[i]);
244
+ // }
245
+ // }
246
+ // }
247
+ // request['method'] = 'SUBSCRIPTION';
248
+ // request['params'] = topics;
255
249
  }
256
250
  else {
257
251
  request['method'] = 'sub.tickers';
@@ -356,6 +350,11 @@ class mexc extends mexc$1 {
356
350
  client.resolve(result, topic);
357
351
  }
358
352
  parseWsTicker(ticker, market = undefined) {
353
+ // protobuf ticker
354
+ // "bidprice": "93387.28", // Best bid price
355
+ // "bidquantity": "3.73485", // Best bid quantity
356
+ // "askprice": "93387.29", // Best ask price
357
+ // "askquantity": "7.669875" // Best ask quantity
359
358
  //
360
359
  // spot
361
360
  //
@@ -370,7 +369,7 @@ class mexc extends mexc$1 {
370
369
  //
371
370
  // {
372
371
  // "s": "BTCUSDT",
373
- // "p": "76522",
372
+ // "p": "76521",
374
373
  // "r": "0.0012",
375
374
  // "tr": "0.0012",
376
375
  // "h": "77196.3",
@@ -396,10 +395,10 @@ class mexc extends mexc$1 {
396
395
  'low': this.safeNumber(ticker, 'l'),
397
396
  'close': price,
398
397
  'last': price,
399
- 'bid': this.safeNumber(ticker, 'b'),
400
- 'bidVolume': this.safeNumber(ticker, 'B'),
401
- 'ask': this.safeNumber(ticker, 'a'),
402
- 'askVolume': this.safeNumber(ticker, 'A'),
398
+ 'bid': this.safeNumber2(ticker, 'b', 'bidPrice'),
399
+ 'bidVolume': this.safeNumber2(ticker, 'B', 'bidQuantity'),
400
+ 'ask': this.safeNumber2(ticker, 'a', 'askPrice'),
401
+ 'askVolume': this.safeNumber2(ticker, 'A', 'askQuantity'),
403
402
  'vwap': undefined,
404
403
  'previousClose': undefined,
405
404
  'change': undefined,
@@ -436,7 +435,7 @@ class mexc extends mexc$1 {
436
435
  for (let i = 0; i < symbols.length; i++) {
437
436
  if (isSpot) {
438
437
  const market = this.market(symbols[i]);
439
- topics.push('spot@public.bookTicker.v3.api@' + market['id']);
438
+ topics.push('spot@public.aggre.bookTicker.v3.api.pb@100ms@' + market['id']);
440
439
  }
441
440
  messageHashes.push('bidask:' + symbols[i]);
442
441
  }
@@ -544,7 +543,7 @@ class mexc extends mexc$1 {
544
543
  /**
545
544
  * @method
546
545
  * @name mexc#watchOHLCV
547
- * @see https://mexcdevelop.github.io/apidocs/spot_v3_en/#kline-streams
546
+ * @see https://www.mexc.com/api-docs/spot-v3/websocket-market-streams#trade-streams
548
547
  * @description watches historical candlestick data containing the open, high, low, and close price, and the volume of a market
549
548
  * @param {string} symbol unified symbol of the market to fetch OHLCV data for
550
549
  * @param {string} timeframe the length of time each candle represents
@@ -562,7 +561,7 @@ class mexc extends mexc$1 {
562
561
  const messageHash = 'candles:' + symbol + ':' + timeframe;
563
562
  let ohlcv = undefined;
564
563
  if (market['spot']) {
565
- const channel = 'spot@public.kline.v3.api@' + market['id'] + '@' + timeframeId;
564
+ const channel = 'spot@public.kline.v3.api.pb@' + market['id'] + '@' + timeframeId;
566
565
  ohlcv = await this.watchSpotPublic(channel, messageHash, params);
567
566
  }
568
567
  else {
@@ -624,17 +623,47 @@ class mexc extends mexc$1 {
624
623
  // "symbol": "BTC_USDT",
625
624
  // "ts": 1651230713067
626
625
  // }
626
+ // protobuf
627
+ // {
628
+ // "channel":"spot@public.kline.v3.api.pb@BTCUSDT@Min1",
629
+ // "symbol":"BTCUSDT",
630
+ // "symbolId":"2fb942154ef44a4ab2ef98c8afb6a4a7",
631
+ // "createTime":"1754737941062",
632
+ // "publicSpotKline":{
633
+ // "interval":"Min1",
634
+ // "windowStart":"1754737920",
635
+ // "openingPrice":"117317.31",
636
+ // "closingPrice":"117325.26",
637
+ // "highestPrice":"117341",
638
+ // "lowestPrice":"117317.3",
639
+ // "volume":"3.12599854",
640
+ // "amount":"366804.43",
641
+ // "windowEnd":"1754737980"
642
+ // }
643
+ // }
627
644
  //
628
- const d = this.safeValue2(message, 'd', 'data', {});
629
- const rawOhlcv = this.safeValue(d, 'k', d);
630
- const timeframeId = this.safeString2(rawOhlcv, 'i', 'interval');
631
- const timeframes = this.safeValue(this.options, 'timeframes', {});
632
- const timeframe = this.findTimeframe(timeframeId, timeframes);
633
- const marketId = this.safeString2(message, 's', 'symbol');
634
- const market = this.safeMarket(marketId);
635
- const symbol = market['symbol'];
645
+ let parsed = undefined;
646
+ let symbol = undefined;
647
+ let timeframe = undefined;
648
+ if ('publicSpotKline' in message) {
649
+ symbol = this.symbol(this.safeString(message, 'symbol'));
650
+ const data = this.safeDict(message, 'publicSpotKline', {});
651
+ const timeframeId = this.safeString(data, 'interval');
652
+ timeframe = this.findTimeframe(timeframeId, this.options['timeframes']);
653
+ parsed = this.parseWsOHLCV(data, this.safeMarket(symbol));
654
+ }
655
+ else {
656
+ const d = this.safeValue2(message, 'd', 'data', {});
657
+ const rawOhlcv = this.safeValue(d, 'k', d);
658
+ const timeframeId = this.safeString2(rawOhlcv, 'i', 'interval');
659
+ const timeframes = this.safeValue(this.options, 'timeframes', {});
660
+ timeframe = this.findTimeframe(timeframeId, timeframes);
661
+ const marketId = this.safeString2(message, 's', 'symbol');
662
+ const market = this.safeMarket(marketId);
663
+ symbol = market['symbol'];
664
+ parsed = this.parseWsOHLCV(rawOhlcv, market);
665
+ }
636
666
  const messageHash = 'candles:' + symbol + ':' + timeframe;
637
- const parsed = this.parseWsOHLCV(rawOhlcv, market);
638
667
  this.ohlcvs[symbol] = this.safeValue(this.ohlcvs, symbol, {});
639
668
  let stored = this.safeValue(this.ohlcvs[symbol], timeframe);
640
669
  if (stored === undefined) {
@@ -677,25 +706,37 @@ class mexc extends mexc$1 {
677
706
  // "rh": 27301.8,
678
707
  // "rl": 27301.8
679
708
  // }
709
+ // protobuf
710
+ //
711
+ // "interval":"Min1",
712
+ // "windowStart":"1754737920",
713
+ // "openingPrice":"117317.31",
714
+ // "closingPrice":"117325.26",
715
+ // "highestPrice":"117341",
716
+ // "lowestPrice":"117317.3",
717
+ // "volume":"3.12599854",
718
+ // "amount":"366804.43",
719
+ // "windowEnd":"1754737980"
680
720
  //
681
721
  return [
682
- this.safeTimestamp(ohlcv, 't'),
683
- this.safeNumber(ohlcv, 'o'),
684
- this.safeNumber(ohlcv, 'h'),
685
- this.safeNumber(ohlcv, 'l'),
686
- this.safeNumber(ohlcv, 'c'),
687
- this.safeNumber2(ohlcv, 'v', 'q'),
722
+ this.safeTimestamp2(ohlcv, 't', 'windowStart'),
723
+ this.safeNumber2(ohlcv, 'o', 'openingPrice'),
724
+ this.safeNumber2(ohlcv, 'h', 'highestPrice'),
725
+ this.safeNumber2(ohlcv, 'l', 'lowestPrice'),
726
+ this.safeNumber2(ohlcv, 'c', 'closingPrice'),
727
+ this.safeNumber2(ohlcv, 'v', 'volume'),
688
728
  ];
689
729
  }
690
730
  /**
691
731
  * @method
692
732
  * @name mexc#watchOrderBook
693
- * @see https://mexcdevelop.github.io/apidocs/spot_v3_en/#diff-depth-stream
733
+ * @see https://www.mexc.com/api-docs/spot-v3/websocket-market-streams#trade-streams
694
734
  * @see https://mexcdevelop.github.io/apidocs/contract_v1_en/#public-channels
695
735
  * @description watches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
696
736
  * @param {string} symbol unified symbol of the market to fetch the order book for
697
737
  * @param {int} [limit] the maximum amount of order book entries to return
698
738
  * @param {object} [params] extra parameters specific to the exchange API endpoint
739
+ * @param {string} [params.frequency] the frequency of the order book updates, default is '10ms', can be '100ms' or '10ms
699
740
  * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
700
741
  */
701
742
  async watchOrderBook(symbol, limit = undefined, params = {}) {
@@ -705,7 +746,9 @@ class mexc extends mexc$1 {
705
746
  const messageHash = 'orderbook:' + symbol;
706
747
  let orderbook = undefined;
707
748
  if (market['spot']) {
708
- const channel = 'spot@public.increase.depth.v3.api@' + market['id'];
749
+ let frequency = undefined;
750
+ [frequency, params] = this.handleOptionAndParams(params, 'watchOrderBook', 'frequency', '100ms');
751
+ const channel = 'spot@public.aggre.depth.v3.api.pb@' + frequency + '@' + market['id'];
709
752
  orderbook = await this.watchSpotPublic(channel, messageHash, params);
710
753
  }
711
754
  else {
@@ -731,13 +774,13 @@ class mexc extends mexc$1 {
731
774
  // return the first index of the cache that can be applied to the orderbook or -1 if not possible
732
775
  const nonce = this.safeInteger(orderbook, 'nonce');
733
776
  const firstDelta = this.safeValue(cache, 0);
734
- const firstDeltaNonce = this.safeInteger2(firstDelta, 'r', 'version');
777
+ const firstDeltaNonce = this.safeIntegerN(firstDelta, ['r', 'version', 'fromVersion']);
735
778
  if (nonce < firstDeltaNonce - 1) {
736
779
  return -1;
737
780
  }
738
781
  for (let i = 0; i < cache.length; i++) {
739
782
  const delta = cache[i];
740
- const deltaNonce = this.safeInteger2(delta, 'r', 'version');
783
+ const deltaNonce = this.safeIntegerN(delta, ['r', 'version', 'fromVersion']);
741
784
  if (deltaNonce >= nonce) {
742
785
  return i;
743
786
  }
@@ -787,8 +830,31 @@ class mexc extends mexc$1 {
787
830
  // "symbol":"BTC_USDT",
788
831
  // "ts":1651239652372
789
832
  // }
833
+ // protofbuf
834
+ // {
835
+ // "channel":"spot@public.aggre.depth.v3.api.pb@100ms@BTCUSDT",
836
+ // "symbol":"BTCUSDT",
837
+ // "sendTime":"1754741322152",
838
+ // "publicAggreDepths":{
839
+ // "asks":[
840
+ // {
841
+ // "price":"117145.49",
842
+ // "quantity":"0"
843
+ // }
844
+ // ],
845
+ // "bids":[
846
+ // {
847
+ // "price":"117053.41",
848
+ // "quantity":"1.86837271"
849
+ // }
850
+ // ],
851
+ // "eventType":"spot@public.aggre.depth.v3.api.pb@100ms",
852
+ // "fromVersion":"43296363236",
853
+ // "toVersion":"43296363255"
854
+ // }
855
+ // }
790
856
  //
791
- const data = this.safeValue2(message, 'd', 'data');
857
+ const data = this.safeDictN(message, ['d', 'data', 'publicAggreDepths']);
792
858
  const marketId = this.safeString2(message, 's', 'symbol');
793
859
  const symbol = this.safeSymbol(marketId);
794
860
  const messageHash = 'orderbook:' + symbol;
@@ -810,7 +876,7 @@ class mexc extends mexc$1 {
810
876
  }
811
877
  try {
812
878
  this.handleDelta(storedOrderBook, data);
813
- const timestamp = this.safeInteger2(message, 't', 'ts');
879
+ const timestamp = this.safeIntegerN(message, ['t', 'ts', 'sendTime']);
814
880
  storedOrderBook['timestamp'] = timestamp;
815
881
  storedOrderBook['datetime'] = this.iso8601(timestamp);
816
882
  }
@@ -833,15 +899,15 @@ class mexc extends mexc$1 {
833
899
  bookside.storeArray(bidask);
834
900
  }
835
901
  else {
836
- const price = this.safeFloat(bidask, 'p');
837
- const amount = this.safeFloat(bidask, 'v');
902
+ const price = this.safeFloat2(bidask, 'p', 'price');
903
+ const amount = this.safeFloat2(bidask, 'v', 'quantity');
838
904
  bookside.store(price, amount);
839
905
  }
840
906
  }
841
907
  }
842
908
  handleDelta(orderbook, delta) {
843
909
  const existingNonce = this.safeInteger(orderbook, 'nonce');
844
- const deltaNonce = this.safeInteger2(delta, 'r', 'version');
910
+ const deltaNonce = this.safeIntegerN(delta, ['r', 'version', 'fromVersion']);
845
911
  if (deltaNonce < existingNonce) {
846
912
  // even when doing < comparison, this happens: https://app.travis-ci.com/github/ccxt/ccxt/builds/269234741#L1809
847
913
  // so, we just skip old updates
@@ -858,7 +924,7 @@ class mexc extends mexc$1 {
858
924
  /**
859
925
  * @method
860
926
  * @name mexc#watchTrades
861
- * @see https://mexcdevelop.github.io/apidocs/spot_v3_en/#trade-streams
927
+ * @see https://www.mexc.com/api-docs/spot-v3/websocket-market-streams#trade-streams
862
928
  * @see https://mexcdevelop.github.io/apidocs/contract_v1_en/#public-channels
863
929
  * @description get the list of most recent trades for a particular symbol
864
930
  * @param {string} symbol unified symbol of the market to fetch trades for
@@ -874,7 +940,7 @@ class mexc extends mexc$1 {
874
940
  const messageHash = 'trades:' + symbol;
875
941
  let trades = undefined;
876
942
  if (market['spot']) {
877
- const channel = 'spot@public.deals.v3.api@' + market['id'];
943
+ const channel = 'spot@public.aggre.deals.v3.api.pb@100ms@' + market['id'];
878
944
  trades = await this.watchSpotPublic(channel, messageHash, params);
879
945
  }
880
946
  else {
@@ -890,6 +956,23 @@ class mexc extends mexc$1 {
890
956
  return this.filterBySinceLimit(trades, since, limit, 'timestamp', true);
891
957
  }
892
958
  handleTrades(client, message) {
959
+ // protobuf
960
+ // {
961
+ // "channel": "spot@public.aggre.deals.v3.api.pb@100ms@BTCUSDT",
962
+ // "publicdeals": {
963
+ // "dealsList": [
964
+ // {
965
+ // "price": "93220.00", // Trade price
966
+ // "quantity": "0.04438243", // Trade quantity
967
+ // "tradetype": 2, // Trade type (1: Buy, 2: Sell)
968
+ // "time": 1736409765051 // Trade time
969
+ // }
970
+ // ],
971
+ // "eventtype": "spot@public.aggre.deals.v3.api.pb@100ms" // Event type
972
+ // },
973
+ // "symbol": "BTCUSDT", // Trading pair
974
+ // "sendtime": 1736409765052 // Event time
975
+ // }
893
976
  //
894
977
  // {
895
978
  // "c": "spot@public.deals.v3.api@BTCUSDT",
@@ -931,8 +1014,8 @@ class mexc extends mexc$1 {
931
1014
  stored = new Cache.ArrayCache(limit);
932
1015
  this.trades[symbol] = stored;
933
1016
  }
934
- const d = this.safeValue2(message, 'd', 'data');
935
- const trades = this.safeValue(d, 'deals', [d]);
1017
+ const d = this.safeDictN(message, ['d', 'data', 'publicAggreDeals']);
1018
+ const trades = this.safeList2(d, 'deals', 'dealsList', [d]);
936
1019
  for (let j = 0; j < trades.length; j++) {
937
1020
  let parsedTrade = undefined;
938
1021
  if (market['spot']) {
@@ -948,7 +1031,7 @@ class mexc extends mexc$1 {
948
1031
  /**
949
1032
  * @method
950
1033
  * @name mexc#watchMyTrades
951
- * @see https://mexcdevelop.github.io/apidocs/spot_v3_en/#spot-account-deals
1034
+ * @see https://www.mexc.com/api-docs/spot-v3/websocket-user-data-streams#spot-account-deals
952
1035
  * @see https://mexcdevelop.github.io/apidocs/contract_v1_en/#private-channels
953
1036
  * @description watches information on multiple trades made by the user
954
1037
  * @param {string} symbol unified market symbol of the market trades were made in
@@ -970,7 +1053,7 @@ class mexc extends mexc$1 {
970
1053
  [type, params] = this.handleMarketTypeAndParams('watchMyTrades', market, params);
971
1054
  let trades = undefined;
972
1055
  if (type === 'spot') {
973
- const channel = 'spot@private.deals.v3.api';
1056
+ const channel = 'spot@private.deals.v3.api.pb';
974
1057
  trades = await this.watchSpotPrivate(channel, messageHash, params);
975
1058
  }
976
1059
  else {
@@ -999,11 +1082,27 @@ class mexc extends mexc$1 {
999
1082
  // "s": "BTCUSDT",
1000
1083
  // "t": 1678670940700
1001
1084
  // }
1085
+ // {
1086
+ // channel: "spot@private.deals.v3.api.pb",
1087
+ // symbol: "MXUSDT",
1088
+ // sendTime: 1736417034332,
1089
+ // privateDeals {
1090
+ // price: "3.6962",
1091
+ // quantity: "1",
1092
+ // amount: "3.6962",
1093
+ // tradeType: 2,
1094
+ // tradeId: "505979017439002624X1",
1095
+ // orderId: "C02__505979017439002624115",
1096
+ // feeAmount: "0.0003998377369698171",
1097
+ // feeCurrency: "MX",
1098
+ // time: 1736417034280
1099
+ // }
1100
+ // }
1002
1101
  //
1003
1102
  const messageHash = 'myTrades';
1004
- const data = this.safeValue2(message, 'd', 'data');
1103
+ const data = this.safeDictN(message, ['d', 'data', 'privateDeals']);
1005
1104
  const futuresMarketId = this.safeString(data, 'symbol');
1006
- const marketId = this.safeString(message, 's', futuresMarketId);
1105
+ const marketId = this.safeString2(message, 's', 'symbol', futuresMarketId);
1007
1106
  const market = this.safeMarket(marketId);
1008
1107
  const symbol = market['symbol'];
1009
1108
  let trade = undefined;
@@ -1026,7 +1125,7 @@ class mexc extends mexc$1 {
1026
1125
  }
1027
1126
  parseWsTrade(trade, market = undefined) {
1028
1127
  //
1029
- // public trade
1128
+ // public trade (protobuf)
1030
1129
  // {
1031
1130
  // "p": "20382.70",
1032
1131
  // "v": "0.043800",
@@ -1046,7 +1145,6 @@ class mexc extends mexc$1 {
1046
1145
  // "v": "5"
1047
1146
  // }
1048
1147
  //
1049
- //
1050
1148
  // d: {
1051
1149
  // p: '1.0005',
1052
1150
  // v: '5.71',
@@ -1061,23 +1159,37 @@ class mexc extends mexc$1 {
1061
1159
  // n: '0.005712855',
1062
1160
  // N: 'USDT'
1063
1161
  // }
1064
- let timestamp = this.safeInteger(trade, 'T');
1065
- let tradeId = this.safeString(trade, 't');
1162
+ // protobuf
1163
+ //
1164
+ // {
1165
+ // price: "3.6962",
1166
+ // quantity: "1",
1167
+ // amount: "3.6962",
1168
+ // tradeType: 2,
1169
+ // tradeId: "505979017439002624X1",
1170
+ // orderId: "C02__505979017439002624115",
1171
+ // feeAmount: "0.0003998377369698171",
1172
+ // feeCurrency: "MX",
1173
+ // time: 1736417034280
1174
+ // }
1175
+ //
1176
+ let timestamp = this.safeInteger2(trade, 'T', 'time');
1177
+ let tradeId = this.safeString2(trade, 't', 'tradeId');
1066
1178
  if (timestamp === undefined) {
1067
1179
  timestamp = this.safeInteger(trade, 't');
1068
1180
  tradeId = undefined;
1069
1181
  }
1070
- const priceString = this.safeString(trade, 'p');
1071
- const amountString = this.safeString(trade, 'v');
1072
- const rawSide = this.safeString(trade, 'S');
1182
+ const priceString = this.safeString2(trade, 'p', 'price');
1183
+ const amountString = this.safeString2(trade, 'v', 'quantity');
1184
+ const rawSide = this.safeString2(trade, 'S', 'tradeType');
1073
1185
  const side = (rawSide === '1') ? 'buy' : 'sell';
1074
1186
  const isMaker = this.safeInteger(trade, 'm');
1075
- const feeAmount = this.safeNumber(trade, 'n');
1076
- const feeCurrencyId = this.safeString(trade, 'N');
1187
+ const feeAmount = this.safeString2(trade, 'n', 'feeAmount');
1188
+ const feeCurrencyId = this.safeString2(trade, 'N', 'feeCurrency');
1077
1189
  return this.safeTrade({
1078
1190
  'info': trade,
1079
1191
  'id': tradeId,
1080
- 'order': this.safeString(trade, 'i'),
1192
+ 'order': this.safeString2(trade, 'i', 'orderId'),
1081
1193
  'timestamp': timestamp,
1082
1194
  'datetime': this.iso8601(timestamp),
1083
1195
  'symbol': this.safeSymbol(undefined, market),
@@ -1086,7 +1198,7 @@ class mexc extends mexc$1 {
1086
1198
  'takerOrMaker': (isMaker) ? 'maker' : 'taker',
1087
1199
  'price': priceString,
1088
1200
  'amount': amountString,
1089
- 'cost': undefined,
1201
+ 'cost': this.safeString(trade, 'amount'),
1090
1202
  'fee': {
1091
1203
  'cost': feeAmount,
1092
1204
  'currency': this.safeCurrencyCode(feeCurrencyId),
@@ -1096,7 +1208,7 @@ class mexc extends mexc$1 {
1096
1208
  /**
1097
1209
  * @method
1098
1210
  * @name mexc#watchOrders
1099
- * @see https://mexcdevelop.github.io/apidocs/spot_v3_en/#spot-account-orders
1211
+ * @see https://www.mexc.com/api-docs/spot-v3/websocket-user-data-streams#spot-account-orders
1100
1212
  * @see https://mexcdevelop.github.io/apidocs/spot_v3_en/#margin-account-orders
1101
1213
  * @description watches information on multiple orders made by the user
1102
1214
  * @param {string} symbol unified market symbol of the market orders were made in
@@ -1119,7 +1231,7 @@ class mexc extends mexc$1 {
1119
1231
  [type, params] = this.handleMarketTypeAndParams('watchOrders', market, params);
1120
1232
  let orders = undefined;
1121
1233
  if (type === 'spot') {
1122
- const channel = type + '@private.orders.v3.api';
1234
+ const channel = 'spot@private.orders.v3.api.pb';
1123
1235
  orders = await this.watchSpotPrivate(channel, messageHash, params);
1124
1236
  }
1125
1237
  else {
@@ -1195,11 +1307,18 @@ class mexc extends mexc$1 {
1195
1307
  // "s": "MXUSDT",
1196
1308
  // "t":1661938138193
1197
1309
  // }
1310
+ // protobuf
1311
+ // {
1312
+ // channel: "spot@private.orders.v3.api.pb",
1313
+ // symbol: "MXUSDT",
1314
+ // sendTime: 1736417034281,
1315
+ // privateOrders {}
1316
+ // }
1198
1317
  //
1199
1318
  const messageHash = 'orders';
1200
- const data = this.safeValue2(message, 'd', 'data');
1319
+ const data = this.safeDictN(message, ['d', 'data', 'privateOrders']);
1201
1320
  const futuresMarketId = this.safeString(data, 'symbol');
1202
- const marketId = this.safeString(message, 's', futuresMarketId);
1321
+ const marketId = this.safeString2(message, 's', 'symbol', futuresMarketId);
1203
1322
  const market = this.safeMarket(marketId);
1204
1323
  const symbol = market['symbol'];
1205
1324
  let parsed = undefined;
@@ -1270,11 +1389,28 @@ class mexc extends mexc$1 {
1270
1389
  // "s":1,
1271
1390
  // "i":"e03a5c7441e44ed899466a7140b71391",
1272
1391
  // }
1392
+ // protofbuf spot order
1393
+ // {
1394
+ // "id":"C02__583905164440776704043",
1395
+ // "price":"0.001053",
1396
+ // "quantity":"2000",
1397
+ // "amount":"0",
1398
+ // "avgPrice":"0.001007",
1399
+ // "orderType":5,
1400
+ // "tradeType":1,
1401
+ // "remainAmount":"0.092",
1402
+ // "remainQuantity":"0",
1403
+ // "lastDealQuantity":"2000",
1404
+ // "cumulativeQuantity":"2000",
1405
+ // "cumulativeAmount":"2.014",
1406
+ // "status":2,
1407
+ // "createTime":"1754996075502"
1408
+ // }
1273
1409
  //
1274
- const timestamp = this.safeInteger(order, 'O');
1275
- const side = this.safeString(order, 'S');
1276
- const status = this.safeString(order, 's');
1277
- const type = this.safeString(order, 'o');
1410
+ const timestamp = this.safeInteger(order, 'createTime');
1411
+ const side = this.safeString(order, 'tradeType');
1412
+ const status = this.safeString(order, 'status');
1413
+ const type = this.safeString(order, 'orderType');
1278
1414
  let fee = undefined;
1279
1415
  const feeCurrency = this.safeString(order, 'N');
1280
1416
  if (feeCurrency !== undefined) {
@@ -1284,8 +1420,8 @@ class mexc extends mexc$1 {
1284
1420
  };
1285
1421
  }
1286
1422
  return this.safeOrder({
1287
- 'id': this.safeString(order, 'i'),
1288
- 'clientOrderId': this.safeString(order, 'c'),
1423
+ 'id': this.safeString(order, 'id'),
1424
+ 'clientOrderId': this.safeString(order, 'clientOrderId'),
1289
1425
  'timestamp': timestamp,
1290
1426
  'datetime': this.iso8601(timestamp),
1291
1427
  'lastTradeTimestamp': undefined,
@@ -1294,14 +1430,14 @@ class mexc extends mexc$1 {
1294
1430
  'type': this.parseWsOrderType(type),
1295
1431
  'timeInForce': this.parseWsTimeInForce(type),
1296
1432
  'side': (side === '1') ? 'buy' : 'sell',
1297
- 'price': this.safeString(order, 'p'),
1433
+ 'price': this.safeString(order, 'price'),
1298
1434
  'stopPrice': undefined,
1299
- 'triggerPrice': this.safeNumber(order, 'P'),
1300
- 'average': this.safeString(order, 'ap'),
1301
- 'amount': this.safeString(order, 'v'),
1302
- 'cost': this.safeString(order, 'a'),
1303
- 'filled': this.safeString(order, 'cv'),
1304
- 'remaining': this.safeString(order, 'V'),
1435
+ 'triggerPrice': undefined,
1436
+ 'average': this.safeString(order, 'avgPrice'),
1437
+ 'amount': this.safeString(order, 'quantity'),
1438
+ 'cost': this.safeString(order, 'amount'),
1439
+ 'filled': this.safeString(order, 'cumulativeQuantity'),
1440
+ 'remaining': this.safeString(order, 'remainQuantity'),
1305
1441
  'fee': fee,
1306
1442
  'trades': undefined,
1307
1443
  'info': order,
@@ -1324,7 +1460,7 @@ class mexc extends mexc$1 {
1324
1460
  parseWsOrderType(type) {
1325
1461
  const types = {
1326
1462
  '1': 'limit',
1327
- '2': undefined,
1463
+ '2': 'limit',
1328
1464
  '3': undefined,
1329
1465
  '4': undefined,
1330
1466
  '5': 'market',
@@ -1346,7 +1482,7 @@ class mexc extends mexc$1 {
1346
1482
  /**
1347
1483
  * @method
1348
1484
  * @name mexc#watchBalance
1349
- * @see https://mexcdevelop.github.io/apidocs/spot_v3_en/#spot-account-upadte
1485
+ * @see https://www.mexc.com/api-docs/spot-v3/websocket-user-data-streams#spot-account-update
1350
1486
  * @description watch balance and get the amount of funds available for trading or funds locked in orders
1351
1487
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1352
1488
  * @returns {object} a [balance structure]{@link https://docs.ccxt.com/#/?id=balance-structure}
@@ -1357,7 +1493,7 @@ class mexc extends mexc$1 {
1357
1493
  [type, params] = this.handleMarketTypeAndParams('watchBalance', undefined, params);
1358
1494
  const messageHash = 'balance:' + type;
1359
1495
  if (type === 'spot') {
1360
- const channel = 'spot@private.account.v3.api';
1496
+ const channel = 'spot@private.account.v3.api.pb';
1361
1497
  return await this.watchSpotPrivate(channel, messageHash, params);
1362
1498
  }
1363
1499
  else {
@@ -1396,23 +1532,23 @@ class mexc extends mexc$1 {
1396
1532
  // "ts": 1680059188190
1397
1533
  // }
1398
1534
  //
1399
- const c = this.safeString(message, 'c');
1535
+ const c = this.safeString2(message, 'c', 'channel');
1400
1536
  const type = (c === undefined) ? 'swap' : 'spot';
1401
1537
  const messageHash = 'balance:' + type;
1402
- const data = this.safeValue2(message, 'd', 'data');
1538
+ const data = this.safeDictN(message, ['d', 'data', 'privateAccount']);
1403
1539
  const futuresTimestamp = this.safeInteger(message, 'ts');
1404
- const timestamp = this.safeInteger(data, 'c', futuresTimestamp);
1540
+ const timestamp = this.safeInteger2(data, 'c', 'time', futuresTimestamp);
1405
1541
  if (!(type in this.balance)) {
1406
1542
  this.balance[type] = {};
1407
1543
  }
1408
1544
  this.balance[type]['info'] = data;
1409
1545
  this.balance[type]['timestamp'] = timestamp;
1410
1546
  this.balance[type]['datetime'] = this.iso8601(timestamp);
1411
- const currencyId = this.safeString2(data, 'a', 'currency');
1547
+ const currencyId = this.safeStringN(data, ['a', 'currency', 'vcoinName']);
1412
1548
  const code = this.safeCurrencyCode(currencyId);
1413
1549
  const account = this.account();
1414
- account['free'] = this.safeString2(data, 'f', 'availableBalance');
1415
- account['used'] = this.safeString2(data, 'l', 'frozenBalance');
1550
+ account['total'] = this.safeStringN(data, ['f', 'availableBalance', 'balanceAmount']);
1551
+ account['used'] = this.safeStringN(data, ['l', 'frozenBalance', 'frozenAmount']);
1416
1552
  this.balance[type][code] = account;
1417
1553
  this.balance[type] = this.safeBalance(this.balance[type]);
1418
1554
  client.resolve(this.balance[type], messageHash);
@@ -1432,17 +1568,10 @@ class mexc extends mexc$1 {
1432
1568
  let url = undefined;
1433
1569
  let channel = undefined;
1434
1570
  if (market['spot']) {
1435
- let miniTicker = false;
1436
- [miniTicker, params] = this.handleOptionAndParams(params, 'watchTicker', 'miniTicker');
1437
- if (miniTicker) {
1438
- channel = 'spot@public.miniTicker.v3.api@' + market['id'] + '@UTC+8';
1439
- }
1440
- else {
1441
- channel = 'spot@public.bookTicker.v3.api@' + market['id'];
1442
- }
1571
+ channel = 'spot@public.aggre.bookTicker.v3.api.pb@100ms@' + market['id'];
1443
1572
  url = this.urls['api']['ws']['spot'];
1444
1573
  params['unsubscribed'] = true;
1445
- await this.watchSpotPublic(channel, messageHash, params);
1574
+ this.watchSpotPublic(channel, messageHash, params);
1446
1575
  }
1447
1576
  else {
1448
1577
  channel = 'unsub.ticker';
@@ -1450,7 +1579,7 @@ class mexc extends mexc$1 {
1450
1579
  'symbol': market['id'],
1451
1580
  };
1452
1581
  url = this.urls['api']['ws']['swap'];
1453
- await this.watchSwapPublic(channel, messageHash, requestParams, params);
1582
+ this.watchSwapPublic(channel, messageHash, requestParams, params);
1454
1583
  }
1455
1584
  const client = this.client(url);
1456
1585
  this.handleUnsubscriptions(client, [messageHash]);
@@ -1479,34 +1608,33 @@ class mexc extends mexc$1 {
1479
1608
  const url = (isSpot) ? this.urls['api']['ws']['spot'] : this.urls['api']['ws']['swap'];
1480
1609
  const request = {};
1481
1610
  if (isSpot) {
1482
- let miniTicker = false;
1483
- [miniTicker, params] = this.handleOptionAndParams(params, 'watchTickers', 'miniTicker');
1484
- const topics = [];
1485
- if (!miniTicker) {
1486
- if (symbols === undefined) {
1487
- throw new errors.ArgumentsRequired(this.id + ' watchTickers required symbols argument for the bookTicker channel');
1488
- }
1489
- const marketIds = this.marketIds(symbols);
1490
- for (let i = 0; i < marketIds.length; i++) {
1491
- const marketId = marketIds[i];
1492
- messageHashes.push('unsubscribe:ticker:' + symbols[i]);
1493
- const channel = 'spot@public.bookTicker.v3.api@' + marketId;
1494
- topics.push(channel);
1495
- }
1496
- }
1497
- else {
1498
- topics.push('spot@public.miniTickers.v3.api@UTC+8');
1499
- if (symbols === undefined) {
1500
- messageHashes.push('unsubscribe:spot:ticker');
1501
- }
1502
- else {
1503
- for (let i = 0; i < symbols.length; i++) {
1504
- messageHashes.push('unsubscribe:ticker:' + symbols[i]);
1505
- }
1506
- }
1507
- }
1508
- request['method'] = 'UNSUBSCRIPTION';
1509
- request['params'] = topics;
1611
+ throw new errors.NotSupported(this.id + ' watchTickers does not support spot markets');
1612
+ // let miniTicker = false;
1613
+ // [ miniTicker, params ] = this.handleOptionAndParams (params, 'watchTickers', 'miniTicker');
1614
+ // const topics = [];
1615
+ // if (!miniTicker) {
1616
+ // if (symbols === undefined) {
1617
+ // throw new ArgumentsRequired (this.id + ' watchTickers required symbols argument for the bookTicker channel');
1618
+ // }
1619
+ // const marketIds = this.marketIds (symbols);
1620
+ // for (let i = 0; i < marketIds.length; i++) {
1621
+ // const marketId = marketIds[i];
1622
+ // messageHashes.push ('unsubscribe:ticker:' + symbols[i]);
1623
+ // const channel = 'spot@public.bookTicker.v3.api@' + marketId;
1624
+ // topics.push (channel);
1625
+ // }
1626
+ // } else {
1627
+ // topics.push ('spot@public.miniTickers.v3.api@UTC+8');
1628
+ // if (symbols === undefined) {
1629
+ // messageHashes.push ('unsubscribe:spot:ticker');
1630
+ // } else {
1631
+ // for (let i = 0; i < symbols.length; i++) {
1632
+ // messageHashes.push ('unsubscribe:ticker:' + symbols[i]);
1633
+ // }
1634
+ // }
1635
+ // }
1636
+ // request['method'] = 'UNSUBSCRIPTION';
1637
+ // request['params'] = topics;
1510
1638
  }
1511
1639
  else {
1512
1640
  request['method'] = 'unsub.tickers';
@@ -1514,7 +1642,7 @@ class mexc extends mexc$1 {
1514
1642
  messageHashes.push('unsubscribe:ticker');
1515
1643
  }
1516
1644
  const client = this.client(url);
1517
- await this.watchMultiple(url, messageHashes, this.extend(request, params), messageHashes);
1645
+ this.watchMultiple(url, messageHashes, this.extend(request, params), messageHashes);
1518
1646
  this.handleUnsubscriptions(client, messageHashes);
1519
1647
  return undefined;
1520
1648
  }
@@ -1544,7 +1672,7 @@ class mexc extends mexc$1 {
1544
1672
  for (let i = 0; i < symbols.length; i++) {
1545
1673
  if (isSpot) {
1546
1674
  const market = this.market(symbols[i]);
1547
- topics.push('spot@public.bookTicker.v3.api@' + market['id']);
1675
+ topics.push('spot@public.aggre.bookTicker.v3.api.pb@100ms@' + market['id']);
1548
1676
  }
1549
1677
  messageHashes.push('unsubscribe:bidask:' + symbols[i]);
1550
1678
  }
@@ -1554,7 +1682,7 @@ class mexc extends mexc$1 {
1554
1682
  'params': topics,
1555
1683
  };
1556
1684
  const client = this.client(url);
1557
- await this.watchMultiple(url, messageHashes, this.extend(request, params), messageHashes);
1685
+ this.watchMultiple(url, messageHashes, this.extend(request, params), messageHashes);
1558
1686
  this.handleUnsubscriptions(client, messageHashes);
1559
1687
  return undefined;
1560
1688
  }
@@ -1578,9 +1706,9 @@ class mexc extends mexc$1 {
1578
1706
  let url = undefined;
1579
1707
  if (market['spot']) {
1580
1708
  url = this.urls['api']['ws']['spot'];
1581
- const channel = 'spot@public.kline.v3.api@' + market['id'] + '@' + timeframeId;
1709
+ const channel = 'spot@public.kline.v3.api.pb@' + market['id'] + '@' + timeframeId;
1582
1710
  params['unsubscribed'] = true;
1583
- await this.watchSpotPublic(channel, messageHash, params);
1711
+ this.watchSpotPublic(channel, messageHash, params);
1584
1712
  }
1585
1713
  else {
1586
1714
  url = this.urls['api']['ws']['swap'];
@@ -1589,7 +1717,7 @@ class mexc extends mexc$1 {
1589
1717
  'symbol': market['id'],
1590
1718
  'interval': timeframeId,
1591
1719
  };
1592
- await this.watchSwapPublic(channel, messageHash, requestParams, params);
1720
+ this.watchSwapPublic(channel, messageHash, requestParams, params);
1593
1721
  }
1594
1722
  const client = this.client(url);
1595
1723
  this.handleUnsubscriptions(client, [messageHash]);
@@ -1601,6 +1729,7 @@ class mexc extends mexc$1 {
1601
1729
  * @description unWatches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
1602
1730
  * @param {string} symbol unified array of symbols
1603
1731
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1732
+ * @param {string} [params.frequency] the frequency of the order book updates, default is '10ms', can be '100ms' or '10ms
1604
1733
  * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
1605
1734
  */
1606
1735
  async unWatchOrderBook(symbol, params = {}) {
@@ -1611,9 +1740,11 @@ class mexc extends mexc$1 {
1611
1740
  let url = undefined;
1612
1741
  if (market['spot']) {
1613
1742
  url = this.urls['api']['ws']['spot'];
1614
- const channel = 'spot@public.increase.depth.v3.api@' + market['id'];
1743
+ let frequency = undefined;
1744
+ [frequency, params] = this.handleOptionAndParams(params, 'watchOrderBook', 'frequency', '100ms');
1745
+ const channel = 'spot@public.aggre.depth.v3.api.pb@' + frequency + '@' + market['id'];
1615
1746
  params['unsubscribed'] = true;
1616
- await this.watchSpotPublic(channel, messageHash, params);
1747
+ this.watchSpotPublic(channel, messageHash, params);
1617
1748
  }
1618
1749
  else {
1619
1750
  url = this.urls['api']['ws']['swap'];
@@ -1621,7 +1752,7 @@ class mexc extends mexc$1 {
1621
1752
  const requestParams = {
1622
1753
  'symbol': market['id'],
1623
1754
  };
1624
- await this.watchSwapPublic(channel, messageHash, requestParams, params);
1755
+ this.watchSwapPublic(channel, messageHash, requestParams, params);
1625
1756
  }
1626
1757
  const client = this.client(url);
1627
1758
  this.handleUnsubscriptions(client, [messageHash]);
@@ -1644,9 +1775,9 @@ class mexc extends mexc$1 {
1644
1775
  let url = undefined;
1645
1776
  if (market['spot']) {
1646
1777
  url = this.urls['api']['ws']['spot'];
1647
- const channel = 'spot@public.deals.v3.api@' + market['id'];
1778
+ const channel = 'spot@public.aggre.deals.v3.api.pb@100ms@' + market['id'];
1648
1779
  params['unsubscribed'] = true;
1649
- await this.watchSpotPublic(channel, messageHash, params);
1780
+ this.watchSpotPublic(channel, messageHash, params);
1650
1781
  }
1651
1782
  else {
1652
1783
  url = this.urls['api']['ws']['swap'];
@@ -1654,7 +1785,7 @@ class mexc extends mexc$1 {
1654
1785
  const requestParams = {
1655
1786
  'symbol': market['id'],
1656
1787
  };
1657
- await this.watchSwapPublic(channel, messageHash, requestParams, params);
1788
+ this.watchSwapPublic(channel, messageHash, requestParams, params);
1658
1789
  }
1659
1790
  const client = this.client(url);
1660
1791
  this.handleUnsubscriptions(client, [messageHash]);
@@ -1767,6 +1898,7 @@ class mexc extends mexc$1 {
1767
1898
  const channel = this.safeString(parts, 1);
1768
1899
  const methods = {
1769
1900
  'public.increase.depth.v3.api': this.handleOrderBookSubscription,
1901
+ 'public.aggre.depth.v3.api.pb': this.handleOrderBookSubscription,
1770
1902
  };
1771
1903
  const method = this.safeValue(methods, channel);
1772
1904
  if (method !== undefined) {
@@ -1774,12 +1906,62 @@ class mexc extends mexc$1 {
1774
1906
  }
1775
1907
  }
1776
1908
  }
1909
+ handleProtobufMessage(client, message) {
1910
+ // protobuf message decoded
1911
+ // {
1912
+ // "channel":"spot@public.kline.v3.api.pb@BTCUSDT@Min1",
1913
+ // "symbol":"BTCUSDT",
1914
+ // "symbolId":"2fb942154ef44a4ab2ef98c8afb6a4a7",
1915
+ // "createTime":"1754737941062",
1916
+ // "publicSpotKline":{
1917
+ // "interval":"Min1",
1918
+ // "windowStart":"1754737920",
1919
+ // "openingPrice":"117317.31",
1920
+ // "closingPrice":"117325.26",
1921
+ // "highestPrice":"117341",
1922
+ // "lowestPrice":"117317.3",
1923
+ // "volume":"3.12599854",
1924
+ // "amount":"366804.43",
1925
+ // "windowEnd":"1754737980"
1926
+ // }
1927
+ // }
1928
+ const channel = this.safeString(message, 'channel');
1929
+ const channelParts = channel.split('@');
1930
+ const channelId = this.safeString(channelParts, 1);
1931
+ if (channelId === 'public.kline.v3.api.pb') {
1932
+ this.handleOHLCV(client, message);
1933
+ }
1934
+ else if (channelId === 'public.aggre.deals.v3.api.pb') {
1935
+ this.handleTrades(client, message);
1936
+ }
1937
+ else if (channelId === 'public.aggre.bookTicker.v3.api.pb') {
1938
+ this.handleTicker(client, message);
1939
+ }
1940
+ else if (channelId === 'public.aggre.depth.v3.api.pb') {
1941
+ this.handleOrderBook(client, message);
1942
+ }
1943
+ else if (channelId === 'private.account.v3.api.pb') {
1944
+ this.handleBalance(client, message);
1945
+ }
1946
+ else if (channelId === 'private.deals.v3.api.pb') {
1947
+ this.handleMyTrade(client, message);
1948
+ }
1949
+ else if (channelId === 'private.orders.v3.api.pb') {
1950
+ this.handleOrder(client, message);
1951
+ }
1952
+ return true;
1953
+ }
1777
1954
  handleMessage(client, message) {
1778
1955
  if (typeof message === 'string') {
1779
1956
  if (message === 'Invalid listen key') {
1780
1957
  const error = new errors.AuthenticationError(this.id + ' invalid listen key');
1781
1958
  client.reject(error);
1959
+ return;
1782
1960
  }
1961
+ }
1962
+ if (this.isBinaryMessage(message)) {
1963
+ message = this.decodeProtoMsg(message);
1964
+ this.handleProtobufMessage(client, message);
1783
1965
  return;
1784
1966
  }
1785
1967
  if ('msg' in message) {
@@ -1825,4 +2007,4 @@ class mexc extends mexc$1 {
1825
2007
  }
1826
2008
  }
1827
2009
 
1828
- module.exports = mexc;
2010
+ exports["default"] = mexc;