ccxt 4.4.98 → 4.4.100

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