ccxt 4.4.99 → 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 (426) hide show
  1. package/README.md +4 -4
  2. package/dist/373.ccxt.browser.js +7630 -0
  3. package/dist/373.ccxt.browser.min.js +1 -0
  4. package/dist/ccxt.browser.min.js +8 -8
  5. package/dist/cjs/ccxt.js +288 -288
  6. package/dist/cjs/src/abstract/alpaca.js +3 -1
  7. package/dist/cjs/src/abstract/apex.js +3 -1
  8. package/dist/cjs/src/abstract/ascendex.js +3 -1
  9. package/dist/cjs/src/abstract/bigone.js +3 -1
  10. package/dist/cjs/src/abstract/binance.js +3 -1
  11. package/dist/cjs/src/abstract/bingx.js +3 -1
  12. package/dist/cjs/src/abstract/bit2c.js +3 -1
  13. package/dist/cjs/src/abstract/bitbank.js +3 -1
  14. package/dist/cjs/src/abstract/bitbns.js +3 -1
  15. package/dist/cjs/src/abstract/bitfinex.js +3 -1
  16. package/dist/cjs/src/abstract/bitflyer.js +3 -1
  17. package/dist/cjs/src/abstract/bitget.js +3 -1
  18. package/dist/cjs/src/abstract/bithumb.js +3 -1
  19. package/dist/cjs/src/abstract/bitmart.js +3 -1
  20. package/dist/cjs/src/abstract/bitmex.js +3 -1
  21. package/dist/cjs/src/abstract/bitopro.js +3 -1
  22. package/dist/cjs/src/abstract/bitrue.js +3 -1
  23. package/dist/cjs/src/abstract/bitso.js +3 -1
  24. package/dist/cjs/src/abstract/bitstamp.js +3 -1
  25. package/dist/cjs/src/abstract/bitteam.js +3 -1
  26. package/dist/cjs/src/abstract/bittrade.js +3 -1
  27. package/dist/cjs/src/abstract/bitvavo.js +3 -1
  28. package/dist/cjs/src/abstract/blockchaincom.js +3 -1
  29. package/dist/cjs/src/abstract/blofin.js +3 -1
  30. package/dist/cjs/src/abstract/btcalpha.js +3 -1
  31. package/dist/cjs/src/abstract/btcbox.js +3 -1
  32. package/dist/cjs/src/abstract/btcmarkets.js +3 -1
  33. package/dist/cjs/src/abstract/btcturk.js +3 -1
  34. package/dist/cjs/src/abstract/bybit.js +3 -1
  35. package/dist/cjs/src/abstract/cex.js +3 -1
  36. package/dist/cjs/src/abstract/coinbase.js +3 -1
  37. package/dist/cjs/src/abstract/coinbaseexchange.js +3 -1
  38. package/dist/cjs/src/abstract/coinbaseinternational.js +3 -1
  39. package/dist/cjs/src/abstract/coincatch.js +3 -1
  40. package/dist/cjs/src/abstract/coincheck.js +3 -1
  41. package/dist/cjs/src/abstract/coinex.js +3 -1
  42. package/dist/cjs/src/abstract/coinmate.js +3 -1
  43. package/dist/cjs/src/abstract/coinmetro.js +3 -1
  44. package/dist/cjs/src/abstract/coinone.js +3 -1
  45. package/dist/cjs/src/abstract/coinsph.js +3 -1
  46. package/dist/cjs/src/abstract/coinspot.js +3 -1
  47. package/dist/cjs/src/abstract/cryptocom.js +3 -1
  48. package/dist/cjs/src/abstract/cryptomus.js +3 -1
  49. package/dist/cjs/src/abstract/defx.js +3 -1
  50. package/dist/cjs/src/abstract/delta.js +3 -1
  51. package/dist/cjs/src/abstract/deribit.js +3 -1
  52. package/dist/cjs/src/abstract/derive.js +3 -1
  53. package/dist/cjs/src/abstract/digifinex.js +3 -1
  54. package/dist/cjs/src/abstract/ellipx.js +3 -1
  55. package/dist/cjs/src/abstract/exmo.js +3 -1
  56. package/dist/cjs/src/abstract/foxbit.js +3 -1
  57. package/dist/cjs/src/abstract/gate.js +3 -1
  58. package/dist/cjs/src/abstract/gemini.js +3 -1
  59. package/dist/cjs/src/abstract/hashkey.js +3 -1
  60. package/dist/cjs/src/abstract/hibachi.js +3 -1
  61. package/dist/cjs/src/abstract/hitbtc.js +3 -1
  62. package/dist/cjs/src/abstract/hollaex.js +3 -1
  63. package/dist/cjs/src/abstract/htx.js +3 -1
  64. package/dist/cjs/src/abstract/hyperliquid.js +3 -1
  65. package/dist/cjs/src/abstract/independentreserve.js +3 -1
  66. package/dist/cjs/src/abstract/indodax.js +3 -1
  67. package/dist/cjs/src/abstract/kraken.js +3 -1
  68. package/dist/cjs/src/abstract/krakenfutures.js +3 -1
  69. package/dist/cjs/src/abstract/kucoin.js +3 -1
  70. package/dist/cjs/src/abstract/kucoinfutures.js +4 -2
  71. package/dist/cjs/src/abstract/latoken.js +3 -1
  72. package/dist/cjs/src/abstract/lbank.js +3 -1
  73. package/dist/cjs/src/abstract/luno.js +3 -1
  74. package/dist/cjs/src/abstract/mercado.js +3 -1
  75. package/dist/cjs/src/abstract/mexc.js +3 -1
  76. package/dist/cjs/src/abstract/modetrade.js +3 -1
  77. package/dist/cjs/src/abstract/ndax.js +3 -1
  78. package/dist/cjs/src/abstract/novadax.js +3 -1
  79. package/dist/cjs/src/abstract/oceanex.js +3 -1
  80. package/dist/cjs/src/abstract/okcoin.js +3 -1
  81. package/dist/cjs/src/abstract/okx.js +3 -1
  82. package/dist/cjs/src/abstract/onetrading.js +3 -1
  83. package/dist/cjs/src/abstract/oxfun.js +3 -1
  84. package/dist/cjs/src/abstract/p2b.js +3 -1
  85. package/dist/cjs/src/abstract/paradex.js +3 -1
  86. package/dist/cjs/src/abstract/paymium.js +3 -1
  87. package/dist/cjs/src/abstract/phemex.js +3 -1
  88. package/dist/cjs/src/abstract/poloniex.js +3 -1
  89. package/dist/cjs/src/abstract/probit.js +3 -1
  90. package/dist/cjs/src/abstract/timex.js +3 -1
  91. package/dist/cjs/src/abstract/tokocrypto.js +3 -1
  92. package/dist/cjs/src/abstract/tradeogre.js +3 -1
  93. package/dist/cjs/src/abstract/upbit.js +3 -1
  94. package/dist/cjs/src/abstract/vertex.js +3 -1
  95. package/dist/cjs/src/abstract/wavesexchange.js +3 -1
  96. package/dist/cjs/src/abstract/whitebit.js +3 -1
  97. package/dist/cjs/src/abstract/woo.js +3 -1
  98. package/dist/cjs/src/abstract/woofipro.js +3 -1
  99. package/dist/cjs/src/abstract/xt.js +3 -1
  100. package/dist/cjs/src/abstract/yobit.js +3 -1
  101. package/dist/cjs/src/abstract/zaif.js +3 -1
  102. package/dist/cjs/src/abstract/zonda.js +3 -1
  103. package/dist/cjs/src/alpaca.js +4 -2
  104. package/dist/cjs/src/apex.js +4 -2
  105. package/dist/cjs/src/ascendex.js +4 -2
  106. package/dist/cjs/src/base/Exchange.js +51 -11
  107. package/dist/cjs/src/base/functions/encode.js +2 -2
  108. package/dist/cjs/src/base/ws/Client.js +8 -2
  109. package/dist/cjs/src/base/ws/WsClient.js +4 -2
  110. package/dist/cjs/src/bequant.js +4 -2
  111. package/dist/cjs/src/bigone.js +4 -2
  112. package/dist/cjs/src/binance.js +5 -2
  113. package/dist/cjs/src/binancecoinm.js +4 -2
  114. package/dist/cjs/src/binanceus.js +4 -2
  115. package/dist/cjs/src/binanceusdm.js +4 -2
  116. package/dist/cjs/src/bingx.js +36 -4
  117. package/dist/cjs/src/bit2c.js +4 -2
  118. package/dist/cjs/src/bitbank.js +4 -2
  119. package/dist/cjs/src/bitbns.js +4 -2
  120. package/dist/cjs/src/bitfinex.js +7 -2
  121. package/dist/cjs/src/bitflyer.js +4 -2
  122. package/dist/cjs/src/bitget.js +42 -16
  123. package/dist/cjs/src/bithumb.js +4 -2
  124. package/dist/cjs/src/bitmart.js +4 -2
  125. package/dist/cjs/src/bitmex.js +5 -2
  126. package/dist/cjs/src/bitopro.js +4 -2
  127. package/dist/cjs/src/bitrue.js +4 -2
  128. package/dist/cjs/src/bitso.js +4 -2
  129. package/dist/cjs/src/bitstamp.js +4 -2
  130. package/dist/cjs/src/bitteam.js +4 -2
  131. package/dist/cjs/src/bittrade.js +4 -2
  132. package/dist/cjs/src/bitvavo.js +4 -2
  133. package/dist/cjs/src/blockchaincom.js +4 -2
  134. package/dist/cjs/src/blofin.js +4 -2
  135. package/dist/cjs/src/btcalpha.js +4 -2
  136. package/dist/cjs/src/btcbox.js +4 -2
  137. package/dist/cjs/src/btcmarkets.js +4 -2
  138. package/dist/cjs/src/btcturk.js +4 -2
  139. package/dist/cjs/src/bybit.js +4 -2
  140. package/dist/cjs/src/cex.js +4 -2
  141. package/dist/cjs/src/coinbase.js +4 -2
  142. package/dist/cjs/src/coinbaseadvanced.js +4 -2
  143. package/dist/cjs/src/coinbaseexchange.js +4 -2
  144. package/dist/cjs/src/coinbaseinternational.js +4 -2
  145. package/dist/cjs/src/coincatch.js +4 -2
  146. package/dist/cjs/src/coincheck.js +4 -2
  147. package/dist/cjs/src/coinex.js +5 -3
  148. package/dist/cjs/src/coinmate.js +4 -2
  149. package/dist/cjs/src/coinmetro.js +4 -2
  150. package/dist/cjs/src/coinone.js +4 -2
  151. package/dist/cjs/src/coinsph.js +4 -2
  152. package/dist/cjs/src/coinspot.js +4 -2
  153. package/dist/cjs/src/cryptocom.js +4 -2
  154. package/dist/cjs/src/cryptomus.js +4 -2
  155. package/dist/cjs/src/defx.js +4 -2
  156. package/dist/cjs/src/delta.js +4 -2
  157. package/dist/cjs/src/deribit.js +4 -2
  158. package/dist/cjs/src/derive.js +4 -2
  159. package/dist/cjs/src/digifinex.js +4 -2
  160. package/dist/cjs/src/ellipx.js +4 -2
  161. package/dist/cjs/src/exmo.js +4 -2
  162. package/dist/cjs/src/fmfwio.js +4 -2
  163. package/dist/cjs/src/foxbit.js +7 -6
  164. package/dist/cjs/src/gate.js +25 -2
  165. package/dist/cjs/src/gateio.js +4 -2
  166. package/dist/cjs/src/gemini.js +4 -2
  167. package/dist/cjs/src/hashkey.js +4 -2
  168. package/dist/cjs/src/hibachi.js +4 -2
  169. package/dist/cjs/src/hitbtc.js +4 -2
  170. package/dist/cjs/src/hollaex.js +4 -2
  171. package/dist/cjs/src/htx.js +5 -2
  172. package/dist/cjs/src/huobi.js +4 -2
  173. package/dist/cjs/src/hyperliquid.js +83 -30
  174. package/dist/cjs/src/independentreserve.js +4 -2
  175. package/dist/cjs/src/indodax.js +4 -2
  176. package/dist/cjs/src/kraken.js +4 -2
  177. package/dist/cjs/src/krakenfutures.js +5 -2
  178. package/dist/cjs/src/kucoin.js +4 -2
  179. package/dist/cjs/src/kucoinfutures.js +5 -2
  180. package/dist/cjs/src/latoken.js +4 -2
  181. package/dist/cjs/src/lbank.js +5 -3
  182. package/dist/cjs/src/luno.js +4 -2
  183. package/dist/cjs/src/mercado.js +4 -2
  184. package/dist/cjs/src/mexc.js +11 -2
  185. package/dist/cjs/src/modetrade.js +100 -2
  186. package/dist/cjs/src/myokx.js +4 -2
  187. package/dist/cjs/src/ndax.js +4 -2
  188. package/dist/cjs/src/novadax.js +4 -2
  189. package/dist/cjs/src/oceanex.js +4 -2
  190. package/dist/cjs/src/okcoin.js +4 -2
  191. package/dist/cjs/src/okx.js +4 -2
  192. package/dist/cjs/src/okxus.js +4 -2
  193. package/dist/cjs/src/onetrading.js +37 -2
  194. package/dist/cjs/src/oxfun.js +4 -2
  195. package/dist/cjs/src/p2b.js +36 -2
  196. package/dist/cjs/src/paradex.js +5 -2
  197. package/dist/cjs/src/paymium.js +4 -2
  198. package/dist/cjs/src/phemex.js +4 -2
  199. package/dist/cjs/src/poloniex.js +4 -2
  200. package/dist/cjs/src/pro/alpaca.js +4 -2
  201. package/dist/cjs/src/pro/apex.js +4 -2
  202. package/dist/cjs/src/pro/ascendex.js +4 -2
  203. package/dist/cjs/src/pro/bequant.js +5 -3
  204. package/dist/cjs/src/pro/binance.js +6 -3
  205. package/dist/cjs/src/pro/binancecoinm.js +5 -3
  206. package/dist/cjs/src/pro/binanceus.js +5 -3
  207. package/dist/cjs/src/pro/binanceusdm.js +4 -2
  208. package/dist/cjs/src/pro/bingx.js +4 -2
  209. package/dist/cjs/src/pro/bitfinex.js +4 -2
  210. package/dist/cjs/src/pro/bitget.js +4 -2
  211. package/dist/cjs/src/pro/bithumb.js +4 -2
  212. package/dist/cjs/src/pro/bitmart.js +4 -2
  213. package/dist/cjs/src/pro/bitmex.js +4 -2
  214. package/dist/cjs/src/pro/bitopro.js +4 -2
  215. package/dist/cjs/src/pro/bitrue.js +4 -2
  216. package/dist/cjs/src/pro/bitstamp.js +4 -2
  217. package/dist/cjs/src/pro/bittrade.js +4 -2
  218. package/dist/cjs/src/pro/bitvavo.js +5 -3
  219. package/dist/cjs/src/pro/blockchaincom.js +4 -2
  220. package/dist/cjs/src/pro/blofin.js +4 -2
  221. package/dist/cjs/src/pro/bybit.js +5 -2
  222. package/dist/cjs/src/pro/cex.js +4 -2
  223. package/dist/cjs/src/pro/coinbase.js +4 -2
  224. package/dist/cjs/src/pro/coinbaseadvanced.js +4 -2
  225. package/dist/cjs/src/pro/coinbaseexchange.js +4 -2
  226. package/dist/cjs/src/pro/coinbaseinternational.js +4 -2
  227. package/dist/cjs/src/pro/coincatch.js +4 -2
  228. package/dist/cjs/src/pro/coincheck.js +4 -2
  229. package/dist/cjs/src/pro/coinex.js +5 -3
  230. package/dist/cjs/src/pro/coinone.js +4 -2
  231. package/dist/cjs/src/pro/cryptocom.js +4 -2
  232. package/dist/cjs/src/pro/defx.js +4 -2
  233. package/dist/cjs/src/pro/deribit.js +4 -2
  234. package/dist/cjs/src/pro/derive.js +4 -2
  235. package/dist/cjs/src/pro/exmo.js +4 -2
  236. package/dist/cjs/src/pro/gate.js +4 -2
  237. package/dist/cjs/src/pro/gateio.js +4 -2
  238. package/dist/cjs/src/pro/gemini.js +4 -2
  239. package/dist/cjs/src/pro/hashkey.js +4 -2
  240. package/dist/cjs/src/pro/hitbtc.js +4 -2
  241. package/dist/cjs/src/pro/hollaex.js +4 -2
  242. package/dist/cjs/src/pro/htx.js +4 -2
  243. package/dist/cjs/src/pro/huobi.js +4 -2
  244. package/dist/cjs/src/pro/hyperliquid.js +107 -14
  245. package/dist/cjs/src/pro/independentreserve.js +4 -2
  246. package/dist/cjs/src/pro/kraken.js +4 -2
  247. package/dist/cjs/src/pro/krakenfutures.js +4 -2
  248. package/dist/cjs/src/pro/kucoin.js +5 -3
  249. package/dist/cjs/src/pro/kucoinfutures.js +5 -3
  250. package/dist/cjs/src/pro/lbank.js +4 -2
  251. package/dist/cjs/src/pro/luno.js +4 -2
  252. package/dist/cjs/src/pro/mexc.js +342 -159
  253. package/dist/cjs/src/pro/modetrade.js +4 -2
  254. package/dist/cjs/src/pro/myokx.js +4 -2
  255. package/dist/cjs/src/pro/ndax.js +4 -2
  256. package/dist/cjs/src/pro/okcoin.js +4 -2
  257. package/dist/cjs/src/pro/okx.js +6 -3
  258. package/dist/cjs/src/pro/okxus.js +4 -2
  259. package/dist/cjs/src/pro/onetrading.js +4 -2
  260. package/dist/cjs/src/pro/oxfun.js +5 -3
  261. package/dist/cjs/src/pro/p2b.js +4 -2
  262. package/dist/cjs/src/pro/paradex.js +4 -2
  263. package/dist/cjs/src/pro/phemex.js +4 -2
  264. package/dist/cjs/src/pro/poloniex.js +4 -2
  265. package/dist/cjs/src/pro/probit.js +4 -2
  266. package/dist/cjs/src/pro/tradeogre.js +4 -2
  267. package/dist/cjs/src/pro/upbit.js +4 -2
  268. package/dist/cjs/src/pro/vertex.js +4 -2
  269. package/dist/cjs/src/pro/whitebit.js +4 -2
  270. package/dist/cjs/src/pro/woo.js +4 -2
  271. package/dist/cjs/src/pro/woofipro.js +4 -2
  272. package/dist/cjs/src/pro/xt.js +4 -2
  273. package/dist/cjs/src/probit.js +39 -2
  274. package/dist/cjs/src/protobuf/mexc/compiled.cjs.js +7180 -0
  275. package/dist/cjs/src/static_dependencies/ethers/abi-coder.js +1 -1
  276. package/dist/cjs/src/static_dependencies/ethers/coders/abstract-coder.js +2 -2
  277. package/dist/cjs/src/static_dependencies/ethers/fragments.js +2 -2
  278. package/dist/cjs/src/static_dependencies/ethers/hash/typed-data.js +2 -2
  279. package/dist/cjs/src/static_dependencies/ethers/interface.js +2 -2
  280. package/dist/cjs/src/static_dependencies/ethers/typed.js +2 -2
  281. package/dist/cjs/src/static_dependencies/ethers/utils/events.js +2 -2
  282. package/dist/cjs/src/static_dependencies/ethers/utils/fixednumber.js +2 -2
  283. package/dist/cjs/src/static_dependencies/node-fetch/index.js +7 -7
  284. package/dist/cjs/src/static_dependencies/node-fetch/response.js +3 -1
  285. package/dist/cjs/src/static_dependencies/qs/index.cjs.js +3 -1
  286. package/dist/cjs/src/static_dependencies/starknet/utils/assert.js +3 -1
  287. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/formatter.js +3 -1
  288. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/index.js +7 -7
  289. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +4 -2
  290. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/requestParser.js +1 -1
  291. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/responseParser.js +4 -2
  292. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/tuple.js +3 -1
  293. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/validate.js +28 -26
  294. package/dist/cjs/src/static_dependencies/starknet/utils/typedData.js +2 -2
  295. package/dist/cjs/src/timex.js +4 -2
  296. package/dist/cjs/src/tokocrypto.js +4 -2
  297. package/dist/cjs/src/tradeogre.js +4 -2
  298. package/dist/cjs/src/upbit.js +4 -2
  299. package/dist/cjs/src/vertex.js +4 -2
  300. package/dist/cjs/src/wavesexchange.js +4 -2
  301. package/dist/cjs/src/whitebit.js +4 -2
  302. package/dist/cjs/src/woo.js +4 -2
  303. package/dist/cjs/src/woofipro.js +100 -2
  304. package/dist/cjs/src/xt.js +4 -2
  305. package/dist/cjs/src/yobit.js +4 -2
  306. package/dist/cjs/src/zaif.js +4 -2
  307. package/dist/cjs/src/zonda.js +4 -2
  308. package/js/ccxt.d.ts +1 -1
  309. package/js/ccxt.js +1 -1
  310. package/js/src/abstract/bingx.d.ts +1 -0
  311. package/js/src/alpaca.d.ts +1 -1
  312. package/js/src/apex.d.ts +1 -1
  313. package/js/src/ascendex.d.ts +1 -1
  314. package/js/src/base/Exchange.d.ts +9 -7
  315. package/js/src/base/Exchange.js +50 -10
  316. package/js/src/base/types.d.ts +2 -1
  317. package/js/src/base/ws/Client.d.ts +1 -0
  318. package/js/src/base/ws/Client.js +5 -1
  319. package/js/src/bigone.d.ts +1 -1
  320. package/js/src/binance.d.ts +2 -2
  321. package/js/src/binance.js +1 -0
  322. package/js/src/bingx.d.ts +3 -2
  323. package/js/src/bingx.js +32 -2
  324. package/js/src/bitbank.d.ts +1 -1
  325. package/js/src/bitfinex.d.ts +1 -1
  326. package/js/src/bitfinex.js +3 -0
  327. package/js/src/bitflyer.d.ts +1 -1
  328. package/js/src/bitget.d.ts +4 -2
  329. package/js/src/bitget.js +38 -14
  330. package/js/src/bithumb.d.ts +1 -1
  331. package/js/src/bitmart.d.ts +2 -2
  332. package/js/src/bitmex.d.ts +2 -2
  333. package/js/src/bitmex.js +1 -0
  334. package/js/src/bitopro.d.ts +1 -1
  335. package/js/src/bitrue.d.ts +2 -2
  336. package/js/src/bitso.d.ts +1 -1
  337. package/js/src/bitstamp.d.ts +1 -1
  338. package/js/src/bittrade.d.ts +1 -1
  339. package/js/src/bitvavo.d.ts +1 -1
  340. package/js/src/blockchaincom.d.ts +1 -1
  341. package/js/src/blofin.d.ts +1 -1
  342. package/js/src/btcmarkets.d.ts +1 -1
  343. package/js/src/bybit.d.ts +2 -2
  344. package/js/src/coinbase.d.ts +1 -1
  345. package/js/src/coinbaseexchange.d.ts +1 -1
  346. package/js/src/coinbaseinternational.d.ts +1 -1
  347. package/js/src/coincatch.d.ts +2 -2
  348. package/js/src/coinex.d.ts +3 -3
  349. package/js/src/coinex.js +1 -1
  350. package/js/src/coinmate.d.ts +1 -1
  351. package/js/src/coinsph.d.ts +1 -1
  352. package/js/src/cryptocom.d.ts +1 -1
  353. package/js/src/defx.d.ts +2 -2
  354. package/js/src/delta.d.ts +1 -1
  355. package/js/src/deribit.d.ts +1 -1
  356. package/js/src/digifinex.d.ts +2 -2
  357. package/js/src/ellipx.d.ts +1 -1
  358. package/js/src/exmo.d.ts +1 -1
  359. package/js/src/foxbit.d.ts +1 -1
  360. package/js/src/foxbit.js +3 -3
  361. package/js/src/gate.d.ts +2 -2
  362. package/js/src/gate.js +21 -0
  363. package/js/src/gemini.d.ts +1 -1
  364. package/js/src/hashkey.d.ts +3 -3
  365. package/js/src/hibachi.d.ts +1 -1
  366. package/js/src/hitbtc.d.ts +2 -2
  367. package/js/src/hollaex.d.ts +1 -1
  368. package/js/src/htx.d.ts +3 -3
  369. package/js/src/htx.js +1 -0
  370. package/js/src/hyperliquid.d.ts +12 -2
  371. package/js/src/hyperliquid.js +79 -28
  372. package/js/src/independentreserve.d.ts +1 -1
  373. package/js/src/indodax.d.ts +1 -1
  374. package/js/src/kraken.d.ts +1 -1
  375. package/js/src/krakenfutures.d.ts +1 -1
  376. package/js/src/krakenfutures.js +1 -0
  377. package/js/src/kucoin.d.ts +2 -2
  378. package/js/src/kucoinfutures.d.ts +3 -2
  379. package/js/src/kucoinfutures.js +1 -0
  380. package/js/src/lbank.d.ts +1 -1
  381. package/js/src/lbank.js +1 -1
  382. package/js/src/mercado.d.ts +1 -1
  383. package/js/src/mexc.d.ts +2 -2
  384. package/js/src/mexc.js +7 -0
  385. package/js/src/modetrade.d.ts +26 -3
  386. package/js/src/modetrade.js +96 -0
  387. package/js/src/ndax.d.ts +1 -1
  388. package/js/src/novadax.d.ts +1 -1
  389. package/js/src/okcoin.d.ts +1 -1
  390. package/js/src/okx.d.ts +2 -2
  391. package/js/src/onetrading.js +33 -0
  392. package/js/src/oxfun.d.ts +1 -1
  393. package/js/src/p2b.js +32 -0
  394. package/js/src/paradex.d.ts +1 -1
  395. package/js/src/paradex.js +1 -0
  396. package/js/src/phemex.d.ts +2 -2
  397. package/js/src/poloniex.d.ts +2 -2
  398. package/js/src/pro/binance.js +2 -1
  399. package/js/src/pro/bitvavo.js +1 -1
  400. package/js/src/pro/bybit.js +1 -0
  401. package/js/src/pro/coinex.js +1 -1
  402. package/js/src/pro/hyperliquid.d.ts +26 -0
  403. package/js/src/pro/hyperliquid.js +103 -12
  404. package/js/src/pro/kucoin.js +1 -1
  405. package/js/src/pro/kucoinfutures.js +1 -1
  406. package/js/src/pro/mexc.d.ts +9 -6
  407. package/js/src/pro/mexc.js +338 -157
  408. package/js/src/pro/okx.js +2 -1
  409. package/js/src/pro/oxfun.js +1 -1
  410. package/js/src/probit.d.ts +1 -1
  411. package/js/src/probit.js +35 -0
  412. package/js/src/protobuf/mexc/compiled.cjs +7180 -0
  413. package/js/src/protobuf/mexc/compiled.d.cts +2 -0
  414. package/js/src/tokocrypto.d.ts +1 -1
  415. package/js/src/upbit.d.ts +1 -1
  416. package/js/src/vertex.d.ts +1 -1
  417. package/js/src/wavesexchange.d.ts +1 -1
  418. package/js/src/whitebit.d.ts +2 -2
  419. package/js/src/woo.d.ts +4 -4
  420. package/js/src/woofipro.d.ts +26 -3
  421. package/js/src/woofipro.js +96 -0
  422. package/js/src/xt.d.ts +3 -3
  423. package/js/src/yobit.d.ts +1 -1
  424. package/js/src/zaif.d.ts +1 -1
  425. package/js/src/zonda.d.ts +1 -1
  426. package/package.json +4 -3
@@ -1,5 +1,7 @@
1
1
  'use strict';
2
2
 
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
3
5
  var upbit$1 = require('./abstract/upbit.js');
4
6
  var errors = require('./base/errors.js');
5
7
  var Precise = require('./base/Precise.js');
@@ -14,7 +16,7 @@ var rsa = require('./base/functions/rsa.js');
14
16
  * @class upbit
15
17
  * @augments Exchange
16
18
  */
17
- class upbit extends upbit$1 {
19
+ class upbit extends upbit$1["default"] {
18
20
  describe() {
19
21
  return this.deepExtend(super.describe(), {
20
22
  'id': 'upbit',
@@ -2336,4 +2338,4 @@ class upbit extends upbit$1 {
2336
2338
  }
2337
2339
  }
2338
2340
 
2339
- module.exports = upbit;
2341
+ exports["default"] = upbit;
@@ -1,5 +1,7 @@
1
1
  'use strict';
2
2
 
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
3
5
  var vertex$1 = require('./abstract/vertex.js');
4
6
  var errors = require('./base/errors.js');
5
7
  var Precise = require('./base/Precise.js');
@@ -14,7 +16,7 @@ var crypto = require('./base/functions/crypto.js');
14
16
  * @class vertex
15
17
  * @augments Exchange
16
18
  */
17
- class vertex extends vertex$1 {
19
+ class vertex extends vertex$1["default"] {
18
20
  describe() {
19
21
  return this.deepExtend(super.describe(), {
20
22
  'id': 'vertex',
@@ -3142,4 +3144,4 @@ class vertex extends vertex$1 {
3142
3144
  }
3143
3145
  }
3144
3146
 
3145
- module.exports = vertex;
3147
+ exports["default"] = vertex;
@@ -1,5 +1,7 @@
1
1
  'use strict';
2
2
 
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
3
5
  var wavesexchange$1 = require('./abstract/wavesexchange.js');
4
6
  var errors = require('./base/errors.js');
5
7
  var Precise = require('./base/Precise.js');
@@ -12,7 +14,7 @@ var number = require('./base/functions/number.js');
12
14
  * @class wavesexchange
13
15
  * @augments Exchange
14
16
  */
15
- class wavesexchange extends wavesexchange$1 {
17
+ class wavesexchange extends wavesexchange$1["default"] {
16
18
  describe() {
17
19
  return this.deepExtend(super.describe(), {
18
20
  'id': 'wavesexchange',
@@ -2743,4 +2745,4 @@ class wavesexchange extends wavesexchange$1 {
2743
2745
  }
2744
2746
  }
2745
2747
 
2746
- module.exports = wavesexchange;
2748
+ exports["default"] = wavesexchange;
@@ -1,5 +1,7 @@
1
1
  'use strict';
2
2
 
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
3
5
  var whitebit$1 = require('./abstract/whitebit.js');
4
6
  var errors = require('./base/errors.js');
5
7
  var Precise = require('./base/Precise.js');
@@ -12,7 +14,7 @@ var sha512 = require('./static_dependencies/noble-hashes/sha512.js');
12
14
  * @class whitebit
13
15
  * @augments Exchange
14
16
  */
15
- class whitebit extends whitebit$1 {
17
+ class whitebit extends whitebit$1["default"] {
16
18
  describe() {
17
19
  return this.deepExtend(super.describe(), {
18
20
  'id': 'whitebit',
@@ -3432,4 +3434,4 @@ class whitebit extends whitebit$1 {
3432
3434
  }
3433
3435
  }
3434
3436
 
3435
- module.exports = whitebit;
3437
+ exports["default"] = whitebit;
@@ -1,5 +1,7 @@
1
1
  'use strict';
2
2
 
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
3
5
  var woo$1 = require('./abstract/woo.js');
4
6
  var errors = require('./base/errors.js');
5
7
  var Precise = require('./base/Precise.js');
@@ -12,7 +14,7 @@ var sha256 = require('./static_dependencies/noble-hashes/sha256.js');
12
14
  * @class woo
13
15
  * @augments Exchange
14
16
  */
15
- class woo extends woo$1 {
17
+ class woo extends woo$1["default"] {
16
18
  describe() {
17
19
  return this.deepExtend(super.describe(), {
18
20
  'id': 'woo',
@@ -4179,4 +4181,4 @@ class woo extends woo$1 {
4179
4181
  }
4180
4182
  }
4181
4183
 
4182
- module.exports = woo;
4184
+ exports["default"] = woo;
@@ -1,5 +1,7 @@
1
1
  'use strict';
2
2
 
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
3
5
  var woofipro$1 = require('./abstract/woofipro.js');
4
6
  var errors = require('./base/errors.js');
5
7
  var number = require('./base/functions/number.js');
@@ -15,7 +17,7 @@ var secp256k1 = require('./static_dependencies/noble-curves/secp256k1.js');
15
17
  * @class woofipro
16
18
  * @augments Exchange
17
19
  */
18
- class woofipro extends woofipro$1 {
20
+ class woofipro extends woofipro$1["default"] {
19
21
  describe() {
20
22
  return this.deepExtend(super.describe(), {
21
23
  'id': 'woofipro',
@@ -1041,6 +1043,102 @@ class woofipro extends woofipro$1 {
1041
1043
  const sorted = this.sortBy(rates, 'timestamp');
1042
1044
  return this.filterBySymbolSinceLimit(sorted, symbol, since, limit);
1043
1045
  }
1046
+ parseIncome(income, market = undefined) {
1047
+ //
1048
+ // {
1049
+ // "symbol": "PERP_ETH_USDC",
1050
+ // "funding_rate": 0.00046875,
1051
+ // "mark_price": 2100,
1052
+ // "funding_fee": 0.000016,
1053
+ // "payment_type": "Pay",
1054
+ // "status": "Accrued",
1055
+ // "created_time": 1682235722003,
1056
+ // "updated_time": 1682235722003
1057
+ // }
1058
+ //
1059
+ const marketId = this.safeString(income, 'symbol');
1060
+ const symbol = this.safeSymbol(marketId, market);
1061
+ let amount = this.safeString(income, 'funding_fee');
1062
+ const code = this.safeCurrencyCode('USDC');
1063
+ const timestamp = this.safeInteger(income, 'updated_time');
1064
+ const rate = this.safeNumber(income, 'funding_rate');
1065
+ const paymentType = this.safeString(income, 'payment_type');
1066
+ amount = (paymentType === 'Pay') ? Precise["default"].stringNeg(amount) : amount;
1067
+ return {
1068
+ 'info': income,
1069
+ 'symbol': symbol,
1070
+ 'code': code,
1071
+ 'timestamp': timestamp,
1072
+ 'datetime': this.iso8601(timestamp),
1073
+ 'id': undefined,
1074
+ 'amount': this.parseNumber(amount),
1075
+ 'rate': rate,
1076
+ };
1077
+ }
1078
+ /**
1079
+ * @method
1080
+ * @name woofipro#fetchFundingHistory
1081
+ * @description fetch the history of funding payments paid and received on this account
1082
+ * @see https://orderly.network/docs/build-on-omnichain/evm-api/restful-api/private/get-funding-fee-history
1083
+ * @param {string} [symbol] unified market symbol
1084
+ * @param {int} [since] the earliest time in ms to fetch funding history for
1085
+ * @param {int} [limit] the maximum number of funding history structures to retrieve
1086
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1087
+ * @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [availble parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
1088
+ * @returns {object} a [funding history structure]{@link https://docs.ccxt.com/#/?id=funding-history-structure}
1089
+ */
1090
+ async fetchFundingHistory(symbol = undefined, since = undefined, limit = undefined, params = {}) {
1091
+ await this.loadMarkets();
1092
+ let paginate = false;
1093
+ [paginate, params] = this.handleOptionAndParams(params, 'fetchFundingHistory', 'paginate');
1094
+ if (paginate) {
1095
+ return await this.fetchPaginatedCallIncremental('fetchFundingHistory', symbol, since, limit, params, 'page', 500);
1096
+ }
1097
+ const request = {};
1098
+ let market = undefined;
1099
+ if (symbol !== undefined) {
1100
+ market = this.market(symbol);
1101
+ request['symbol'] = market['id'];
1102
+ }
1103
+ if (since !== undefined) {
1104
+ request['start_t'] = since;
1105
+ }
1106
+ const until = this.safeInteger(params, 'until'); // unified in milliseconds
1107
+ params = this.omit(params, ['until']);
1108
+ if (until !== undefined) {
1109
+ request['end_t'] = until;
1110
+ }
1111
+ if (limit !== undefined) {
1112
+ request['size'] = Math.min(limit, 500);
1113
+ }
1114
+ const response = await this.v1PrivateGetFundingFeeHistory(this.extend(request, params));
1115
+ //
1116
+ // {
1117
+ // "success": true,
1118
+ // "timestamp": 1702989203989,
1119
+ // "data": {
1120
+ // "meta": {
1121
+ // "total": 9,
1122
+ // "records_per_page": 25,
1123
+ // "current_page": 1
1124
+ // },
1125
+ // "rows": [{
1126
+ // "symbol": "PERP_ETH_USDC",
1127
+ // "funding_rate": 0.00046875,
1128
+ // "mark_price": 2100,
1129
+ // "funding_fee": 0.000016,
1130
+ // "payment_type": "Pay",
1131
+ // "status": "Accrued",
1132
+ // "created_time": 1682235722003,
1133
+ // "updated_time": 1682235722003
1134
+ // }]
1135
+ // }
1136
+ // }
1137
+ //
1138
+ const data = this.safeDict(response, 'data', {});
1139
+ const rows = this.safeList(data, 'rows', []);
1140
+ return this.parseIncomes(rows, market, since, limit);
1141
+ }
1044
1142
  /**
1045
1143
  * @method
1046
1144
  * @name woofipro#fetchTradingFees
@@ -2841,4 +2939,4 @@ class woofipro extends woofipro$1 {
2841
2939
  }
2842
2940
  }
2843
2941
 
2844
- module.exports = woofipro;
2942
+ exports["default"] = woofipro;
@@ -1,5 +1,7 @@
1
1
  'use strict';
2
2
 
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
3
5
  var xt$1 = require('./abstract/xt.js');
4
6
  var Precise = require('./base/Precise.js');
5
7
  var number = require('./base/functions/number.js');
@@ -12,7 +14,7 @@ var sha256 = require('./static_dependencies/noble-hashes/sha256.js');
12
14
  * @class xt
13
15
  * @augments Exchange
14
16
  */
15
- class xt extends xt$1 {
17
+ class xt extends xt$1["default"] {
16
18
  describe() {
17
19
  return this.deepExtend(super.describe(), {
18
20
  'id': 'xt',
@@ -5180,4 +5182,4 @@ class xt extends xt$1 {
5180
5182
  }
5181
5183
  }
5182
5184
 
5183
- module.exports = xt;
5185
+ exports["default"] = xt;
@@ -1,5 +1,7 @@
1
1
  'use strict';
2
2
 
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
3
5
  var yobit$1 = require('./abstract/yobit.js');
4
6
  var errors = require('./base/errors.js');
5
7
  var Precise = require('./base/Precise.js');
@@ -12,7 +14,7 @@ var sha512 = require('./static_dependencies/noble-hashes/sha512.js');
12
14
  * @class yobit
13
15
  * @augments Exchange
14
16
  */
15
- class yobit extends yobit$1 {
17
+ class yobit extends yobit$1["default"] {
16
18
  describe() {
17
19
  return this.deepExtend(super.describe(), {
18
20
  'id': 'yobit',
@@ -1449,4 +1451,4 @@ class yobit extends yobit$1 {
1449
1451
  }
1450
1452
  }
1451
1453
 
1452
- module.exports = yobit;
1454
+ exports["default"] = yobit;
@@ -1,5 +1,7 @@
1
1
  'use strict';
2
2
 
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
3
5
  var zaif$1 = require('./abstract/zaif.js');
4
6
  var errors = require('./base/errors.js');
5
7
  var Precise = require('./base/Precise.js');
@@ -12,7 +14,7 @@ var sha512 = require('./static_dependencies/noble-hashes/sha512.js');
12
14
  * @class zaif
13
15
  * @augments Exchange
14
16
  */
15
- class zaif extends zaif$1 {
17
+ class zaif extends zaif$1["default"] {
16
18
  describe() {
17
19
  return this.deepExtend(super.describe(), {
18
20
  'id': 'zaif',
@@ -817,4 +819,4 @@ class zaif extends zaif$1 {
817
819
  }
818
820
  }
819
821
 
820
- module.exports = zaif;
822
+ exports["default"] = zaif;
@@ -1,5 +1,7 @@
1
1
  'use strict';
2
2
 
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
3
5
  var zonda$1 = require('./abstract/zonda.js');
4
6
  var errors = require('./base/errors.js');
5
7
  var number = require('./base/functions/number.js');
@@ -12,7 +14,7 @@ var sha512 = require('./static_dependencies/noble-hashes/sha512.js');
12
14
  * @class zonda
13
15
  * @augments Exchange
14
16
  */
15
- class zonda extends zonda$1 {
17
+ class zonda extends zonda$1["default"] {
16
18
  describe() {
17
19
  return this.deepExtend(super.describe(), {
18
20
  'id': 'zonda',
@@ -1980,4 +1982,4 @@ class zonda extends zonda$1 {
1980
1982
  }
1981
1983
  }
1982
1984
 
1983
- module.exports = zonda;
1985
+ exports["default"] = zonda;
package/js/ccxt.d.ts CHANGED
@@ -4,7 +4,7 @@ import * as functions from './src/base/functions.js';
4
4
  import * as errors from './src/base/errors.js';
5
5
  import type { Int, int, Str, Strings, Num, Bool, IndexType, OrderSide, OrderType, MarketType, SubType, Dict, NullableDict, List, NullableList, Fee, OHLCV, OHLCVC, implicitReturnType, Market, Currency, Dictionary, MinMax, FeeInterface, TradingFeeInterface, MarketInterface, Trade, Order, OrderBook, Ticker, Transaction, Tickers, CurrencyInterface, Balance, BalanceAccount, Account, PartialBalances, Balances, DepositAddress, WithdrawalResponse, FundingRate, FundingRates, Position, BorrowInterest, LeverageTier, LedgerEntry, DepositWithdrawFeeNetwork, DepositWithdrawFee, TransferEntry, CrossBorrowRate, IsolatedBorrowRate, FundingRateHistory, OpenInterest, Liquidation, OrderRequest, CancellationRequest, FundingHistory, MarketMarginModes, MarginMode, Greeks, Conversion, Option, LastPrice, Leverage, MarginModification, Leverages, LastPrices, Currencies, TradingFees, MarginModes, OptionChain, IsolatedBorrowRates, CrossBorrowRates, LeverageTiers, LongShortRatio, OrderBooks, OpenInterests, ConstructorArgs } from './src/base/types.js';
6
6
  import { BaseError, ExchangeError, AuthenticationError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, OperationRejected, NoChange, MarginModeAlreadySet, MarketClosed, ManualInteractionNeeded, RestrictedLocation, InsufficientFunds, InvalidAddress, AddressPending, InvalidOrder, OrderNotFound, OrderNotCached, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, ContractUnavailable, NotSupported, InvalidProxySettings, ExchangeClosedByUser, OperationFailed, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, ChecksumError, RequestTimeout, BadResponse, NullResponse, CancelPending, UnsubscribeError } from './src/base/errors.js';
7
- declare const version = "4.4.98";
7
+ declare const version = "4.4.99";
8
8
  import alpaca from './src/alpaca.js';
9
9
  import apex from './src/apex.js';
10
10
  import ascendex from './src/ascendex.js';
package/js/ccxt.js CHANGED
@@ -32,7 +32,7 @@ import * as errors from './src/base/errors.js';
32
32
  import { BaseError, ExchangeError, AuthenticationError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, OperationRejected, NoChange, MarginModeAlreadySet, MarketClosed, ManualInteractionNeeded, RestrictedLocation, InsufficientFunds, InvalidAddress, AddressPending, InvalidOrder, OrderNotFound, OrderNotCached, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, ContractUnavailable, NotSupported, InvalidProxySettings, ExchangeClosedByUser, OperationFailed, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, ChecksumError, RequestTimeout, BadResponse, NullResponse, CancelPending, UnsubscribeError } from './src/base/errors.js';
33
33
  //-----------------------------------------------------------------------------
34
34
  // this is updated by vss.js when building
35
- const version = '4.4.98';
35
+ const version = '4.4.99';
36
36
  Exchange.ccxtVersion = version;
37
37
  //-----------------------------------------------------------------------------
38
38
  import alpaca from './src/alpaca.js';
@@ -1,6 +1,7 @@
1
1
  import { implicitReturnType } from '../base/types.js';
2
2
  import { Exchange as _Exchange } from '../base/Exchange.js';
3
3
  interface Exchange {
4
+ fundV1PrivateGetAccountBalance(params?: {}): Promise<implicitReturnType>;
4
5
  spotV1PublicGetServerTime(params?: {}): Promise<implicitReturnType>;
5
6
  spotV1PublicGetCommonSymbols(params?: {}): Promise<implicitReturnType>;
6
7
  spotV1PublicGetMarketTrades(params?: {}): Promise<implicitReturnType>;
@@ -271,7 +271,7 @@ export default class alpaca extends Exchange {
271
271
  * @param {object} [params] extra parameters specific to the exchange API endpoint
272
272
  * @returns {object} a [transaction structure]{@link https://docs.ccxt.com/#/?id=transaction-structure}
273
273
  */
274
- withdraw(code: string, amount: number, address: string, tag?: any, params?: {}): Promise<Transaction>;
274
+ withdraw(code: string, amount: number, address: string, tag?: Str, params?: {}): Promise<Transaction>;
275
275
  fetchTransactionsHelper(type: any, code: any, since: any, limit: any, params: any): Promise<Transaction[]>;
276
276
  /**
277
277
  * @method
package/js/src/apex.d.ts CHANGED
@@ -311,7 +311,7 @@ export default class apex extends Exchange {
311
311
  * @param {object} [params] extra parameters specific to the exchange API endpoint
312
312
  * @returns {object} response from the exchange
313
313
  */
314
- setLeverage(leverage: Int, symbol?: Str, params?: {}): Promise<import("./base/types").Dictionary<any>>;
314
+ setLeverage(leverage: int, symbol?: Str, params?: {}): Promise<import("./base/types").Dictionary<any>>;
315
315
  /**
316
316
  * @method
317
317
  * @name apex#fetchPositions
@@ -323,7 +323,7 @@ export default class ascendex extends Exchange {
323
323
  * @param {object} [params] extra parameters specific to the exchange API endpoint
324
324
  * @returns {object} response from the exchange
325
325
  */
326
- setLeverage(leverage: Int, symbol?: Str, params?: {}): Promise<any>;
326
+ setLeverage(leverage: int, symbol?: Str, params?: {}): Promise<any>;
327
327
  /**
328
328
  * @method
329
329
  * @name ascendex#setMarginMode
@@ -332,6 +332,8 @@ export default class Exchange {
332
332
  setProxyAgents(httpProxy: any, httpsProxy: any, socksProxy: any): any;
333
333
  loadHttpProxyAgent(): Promise<any>;
334
334
  getHttpAgentIfNeeded(url: any): any;
335
+ isBinaryMessage(msg: any): boolean;
336
+ decodeProtoMsg(data: any): any;
335
337
  fetch(url: any, method?: string, headers?: any, body?: any): Promise<any>;
336
338
  parseJson(jsonString: any): any;
337
339
  getResponseHeaders(response: any): {};
@@ -498,9 +500,9 @@ export default class Exchange {
498
500
  watchFundingRates(symbols: string[], params?: {}): Promise<FundingRates>;
499
501
  watchFundingRatesForSymbols(symbols: string[], params?: {}): Promise<{}>;
500
502
  transfer(code: string, amount: number, fromAccount: string, toAccount: string, params?: {}): Promise<TransferEntry>;
501
- withdraw(code: string, amount: number, address: string, tag?: any, params?: {}): Promise<Transaction>;
503
+ withdraw(code: string, amount: number, address: string, tag?: Str, params?: {}): Promise<Transaction>;
502
504
  createDepositAddress(code: string, params?: {}): Promise<DepositAddress>;
503
- setLeverage(leverage: Int, symbol?: Str, params?: {}): Promise<{}>;
505
+ setLeverage(leverage: int, symbol?: Str, params?: {}): Promise<{}>;
504
506
  fetchLeverage(symbol: string, params?: {}): Promise<Leverage>;
505
507
  fetchLeverages(symbols?: Strings, params?: {}): Promise<Leverages>;
506
508
  setPositionMode(hedged: boolean, symbol?: Str, params?: {}): Promise<{}>;
@@ -730,10 +732,10 @@ export default class Exchange {
730
732
  fetchConvertTrade(id: string, code?: Str, params?: {}): Promise<Conversion>;
731
733
  fetchConvertTradeHistory(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Conversion[]>;
732
734
  fetchPositionMode(symbol?: Str, params?: {}): Promise<{}>;
733
- createTrailingAmountOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, trailingAmount?: any, trailingTriggerPrice?: any, params?: {}): Promise<Order>;
734
- createTrailingAmountOrderWs(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, trailingAmount?: any, trailingTriggerPrice?: any, params?: {}): Promise<Order>;
735
- createTrailingPercentOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, trailingPercent?: any, trailingTriggerPrice?: any, params?: {}): Promise<Order>;
736
- createTrailingPercentOrderWs(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, trailingPercent?: any, trailingTriggerPrice?: any, params?: {}): Promise<Order>;
735
+ createTrailingAmountOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, trailingAmount?: Num, trailingTriggerPrice?: Num, params?: {}): Promise<Order>;
736
+ createTrailingAmountOrderWs(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, trailingAmount?: Num, trailingTriggerPrice?: Num, params?: {}): Promise<Order>;
737
+ createTrailingPercentOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, trailingPercent?: Num, trailingTriggerPrice?: Num, params?: {}): Promise<Order>;
738
+ createTrailingPercentOrderWs(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, trailingPercent?: Num, trailingTriggerPrice?: Num, params?: {}): Promise<Order>;
737
739
  createMarketOrderWithCost(symbol: string, side: OrderSide, cost: number, params?: {}): Promise<Order>;
738
740
  createMarketBuyOrderWithCost(symbol: string, cost: number, params?: {}): Promise<Order>;
739
741
  createMarketSellOrderWithCost(symbol: string, cost: number, params?: {}): Promise<Order>;
@@ -866,7 +868,7 @@ export default class Exchange {
866
868
  parseOpenInterestsHistory(response: any, market?: any, since?: Int, limit?: Int): OpenInterest[];
867
869
  fetchFundingRate(symbol: string, params?: {}): Promise<FundingRate>;
868
870
  fetchFundingInterval(symbol: string, params?: {}): Promise<FundingRate>;
869
- fetchMarkOHLCV(symbol: any, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
871
+ fetchMarkOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
870
872
  fetchIndexOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
871
873
  fetchPremiumIndexOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
872
874
  handleTimeInForce(params?: {}): string;
@@ -23,6 +23,14 @@ import init, * as zklink from '../static_dependencies/zklink/zklink-sdk-web.js';
23
23
  import * as Starknet from '../static_dependencies/starknet/index.js';
24
24
  import { sha256 } from '../static_dependencies/noble-hashes/sha256.js';
25
25
  // ----------------------------------------------------------------------------
26
+ let protobufMexc = undefined;
27
+ (async () => {
28
+ try {
29
+ protobufMexc = await import('../protobuf/mexc/compiled.cjs');
30
+ }
31
+ catch { }
32
+ })();
33
+ //-----------------------------------------------------------------------------
26
34
  /**
27
35
  * @class Exchange
28
36
  */
@@ -517,17 +525,48 @@ export default class Exchange {
517
525
  return this.httpAgent;
518
526
  }
519
527
  getHttpAgentIfNeeded(url) {
520
- if (isNode) {
521
- // only for non-ssl proxy
522
- if (url.substring(0, 5) === 'ws://') {
523
- if (this.httpAgent === undefined) {
524
- throw new NotSupported(this.id + ' to use proxy with non-ssl ws:// urls, at first run `await exchange.loadHttpProxyAgent()` method');
525
- }
526
- return this.httpAgent;
527
- }
528
- }
528
+ // if (isNode) {
529
+ // // only for non-ssl proxy
530
+ // if (url.substring(0, 5) === 'ws://') {
531
+ // if (this.httpAgent === undefined) {
532
+ // throw new NotSupported (this.id + ' to use proxy with non-ssl ws:// urls, at first run `await exchange.loadHttpProxyAgent()` method');
533
+ // }
534
+ // return this.httpAgent;
535
+ // }
536
+ // }
529
537
  return undefined;
530
538
  }
539
+ isBinaryMessage(msg) {
540
+ return msg instanceof Uint8Array;
541
+ }
542
+ decodeProtoMsg(data) {
543
+ if (!protobufMexc) {
544
+ throw new NotSupported(this.id + ' requires protobuf to decode messages, please install it with `npm install protobufjs`');
545
+ }
546
+ if (data instanceof Uint8Array) {
547
+ const decoded = protobufMexc.default.PushDataV3ApiWrapper.decode(data);
548
+ const dict = decoded.toJSON();
549
+ // {
550
+ // "channel":"spot@public.kline.v3.api.pb@BTCUSDT@Min1",
551
+ // "symbol":"BTCUSDT",
552
+ // "symbolId":"2fb942154ef44a4ab2ef98c8afb6a4a7",
553
+ // "createTime":"1754737941062",
554
+ // "publicSpotKline":{
555
+ // "interval":"Min1",
556
+ // "windowStart":"1754737920",
557
+ // "openingPrice":"117317.31",
558
+ // "closingPrice":"117325.26",
559
+ // "highestPrice":"117341",
560
+ // "lowestPrice":"117317.3",
561
+ // "volume":"3.12599854",
562
+ // "amount":"366804.43",
563
+ // "windowEnd":"1754737980"
564
+ // }
565
+ // }
566
+ return dict;
567
+ }
568
+ return data;
569
+ }
531
570
  async fetch(url, method = 'GET', headers = undefined, body = undefined) {
532
571
  // load node-http(s) modules only on first call
533
572
  if (isNode) {
@@ -899,7 +938,8 @@ export default class Exchange {
899
938
  // add support for proxies
900
939
  'options': {
901
940
  'agent': finalAgent,
902
- }
941
+ },
942
+ 'decompressBinary': this.safeBool(this.options, 'decompressBinary', true),
903
943
  }, wsOptions);
904
944
  this.clients[url] = new WsClient(url, onMessage, onError, onClose, onConnected, options);
905
945
  }
@@ -5,7 +5,7 @@ export declare type Strings = string[] | undefined;
5
5
  export declare type Num = number | undefined;
6
6
  export declare type Bool = boolean | undefined;
7
7
  export declare type IndexType = number | string;
8
- export declare type OrderSide = 'buy' | 'sell' | string;
8
+ export declare type OrderSide = 'buy' | 'sell' | string | undefined;
9
9
  export declare type OrderType = 'limit' | 'market' | string;
10
10
  export declare type MarketType = 'spot' | 'margin' | 'swap' | 'future' | 'option' | 'delivery' | 'index';
11
11
  export declare type SubType = 'linear' | 'inverse' | undefined;
@@ -409,6 +409,7 @@ export interface Liquidation {
409
409
  price: number;
410
410
  baseValue?: number;
411
411
  quoteValue?: number;
412
+ side?: OrderSide;
412
413
  }
413
414
  export interface OrderRequest {
414
415
  symbol: string;
@@ -26,6 +26,7 @@ export default class Client {
26
26
  ping: any;
27
27
  subscriptions: Dictionary<any>;
28
28
  throttle: any;
29
+ decompressBinary: boolean;
29
30
  constructor(url: string, onMessageCallback: Function | undefined, onErrorCallback: Function | undefined, onCloseCallback: Function | undefined, onConnectedCallback: Function | undefined, config?: {});
30
31
  future(messageHash: string): any;
31
32
  resolve(result: any, messageHash: Str): any;
@@ -6,6 +6,7 @@ import { utf8 } from '../../static_dependencies/scure-base/index.js';
6
6
  export default class Client {
7
7
  constructor(url, onMessageCallback, onErrorCallback, onCloseCallback, onConnectedCallback, config = {}) {
8
8
  this.verbose = false;
9
+ this.decompressBinary = true;
9
10
  const defaults = {
10
11
  url,
11
12
  onMessageCallback,
@@ -269,11 +270,14 @@ export default class Client {
269
270
  message = utf8.encode(arrayBuffer);
270
271
  }
271
272
  else {
272
- message = message.toString();
273
+ if (this.decompressBinary) {
274
+ message = message.toString();
275
+ }
273
276
  }
274
277
  }
275
278
  try {
276
279
  if (isJsonEncodedObject(message)) {
280
+ message = message.toString();
277
281
  message = JSON.parse(message.replace(/:(\d{15,}),/g, ':"$1",'));
278
282
  }
279
283
  if (this.verbose) {
@@ -291,6 +291,6 @@ export default class bigone extends Exchange {
291
291
  * @param {object} [params] extra parameters specific to the exchange API endpoint
292
292
  * @returns {object} a [transaction structure]{@link https://docs.ccxt.com/#/?id=transaction-structure}
293
293
  */
294
- withdraw(code: string, amount: number, address: string, tag?: any, params?: {}): Promise<Transaction>;
294
+ withdraw(code: string, amount: number, address: string, tag?: Str, params?: {}): Promise<Transaction>;
295
295
  handleErrors(httpCode: int, reason: string, url: string, method: string, headers: Dict, body: string, response: any, requestHeaders: any, requestBody: any): any;
296
296
  }
@@ -814,7 +814,7 @@ export default class binance extends Exchange {
814
814
  * @param {object} [params] extra parameters specific to the exchange API endpoint
815
815
  * @returns {object} a [transaction structure]{@link https://docs.ccxt.com/#/?id=transaction-structure}
816
816
  */
817
- withdraw(code: string, amount: number, address: string, tag?: any, params?: {}): Promise<Transaction>;
817
+ withdraw(code: string, amount: number, address: string, tag?: Str, params?: {}): Promise<Transaction>;
818
818
  parseTradingFee(fee: Dict, market?: Market): TradingFeeInterface;
819
819
  /**
820
820
  * @method
@@ -1084,7 +1084,7 @@ export default class binance extends Exchange {
1084
1084
  * @param {boolean} [params.portfolioMargin] set to true if you would like to set the leverage for a trading pair in a portfolio margin account
1085
1085
  * @returns {object} response from the exchange
1086
1086
  */
1087
- setLeverage(leverage: Int, symbol?: Str, params?: {}): Promise<any>;
1087
+ setLeverage(leverage: int, symbol?: Str, params?: {}): Promise<any>;
1088
1088
  /**
1089
1089
  * @method
1090
1090
  * @name binance#setMarginMode
package/js/src/binance.js CHANGED
@@ -13353,6 +13353,7 @@ export default class binance extends Exchange {
13353
13353
  'contracts': this.safeNumber(liquidation, 'executedQty'),
13354
13354
  'contractSize': this.safeNumber(market, 'contractSize'),
13355
13355
  'price': this.safeNumber(liquidation, 'avgPrice'),
13356
+ 'side': this.safeStringLower(liquidation, 'side'),
13356
13357
  'baseValue': this.safeNumber(liquidation, 'cumBase'),
13357
13358
  'quoteValue': this.safeNumber(liquidation, 'cumQuote'),
13358
13359
  'timestamp': timestamp,
package/js/src/bingx.d.ts CHANGED
@@ -196,6 +196,7 @@ export default class bingx extends Exchange {
196
196
  * @see https://bingx-api.github.io/docs/#/en-us/cswap/trade-api.html#Query%20Account%20Assets
197
197
  * @param {object} [params] extra parameters specific to the exchange API endpoint
198
198
  * @param {boolean} [params.standard] whether to fetch standard contract balances
199
+ * @param {string} [params.type] the type of balance to fetch (spot, swap, funding) default is `spot`
199
200
  * @returns {object} a [balance structure]{@link https://docs.ccxt.com/#/?id=balance-structure}
200
201
  */
201
202
  fetchBalance(params?: {}): Promise<Balances>;
@@ -599,7 +600,7 @@ export default class bingx extends Exchange {
599
600
  * @param {string} [params.side] hedged: ['long' or 'short']. one way: ['both']
600
601
  * @returns {object} response from the exchange
601
602
  */
602
- setLeverage(leverage: Int, symbol?: Str, params?: {}): Promise<any>;
603
+ setLeverage(leverage: int, symbol?: Str, params?: {}): Promise<any>;
603
604
  /**
604
605
  * @method
605
606
  * @name bingx#fetchMyTrades
@@ -642,7 +643,7 @@ export default class bingx extends Exchange {
642
643
  * @param {int} [params.walletType] 1 fund account, 2 standard account, 3 perpetual account, 15 spot account
643
644
  * @returns {object} a [transaction structure]{@link https://docs.ccxt.com/#/?id=transaction-structure}
644
645
  */
645
- withdraw(code: string, amount: number, address: string, tag?: any, params?: {}): Promise<Transaction>;
646
+ withdraw(code: string, amount: number, address: string, tag?: Str, params?: {}): Promise<Transaction>;
646
647
  parseParams(params: any): any;
647
648
  /**
648
649
  * @method