ccxt 4.5.7 → 4.5.9

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 (944) hide show
  1. package/README.md +5 -8
  2. package/dist/ccxt.browser.min.js +3 -3
  3. package/dist/cjs/ccxt.js +2 -7
  4. package/dist/cjs/src/abstract/alpaca.js +1 -1
  5. package/dist/cjs/src/abstract/apex.js +1 -1
  6. package/dist/cjs/src/abstract/ascendex.js +1 -1
  7. package/dist/cjs/src/abstract/backpack.js +1 -1
  8. package/dist/cjs/src/abstract/bigone.js +1 -1
  9. package/dist/cjs/src/abstract/binance.js +1 -1
  10. package/dist/cjs/src/abstract/bingx.js +1 -1
  11. package/dist/cjs/src/abstract/bit2c.js +1 -1
  12. package/dist/cjs/src/abstract/bitbank.js +1 -1
  13. package/dist/cjs/src/abstract/bitbns.js +1 -1
  14. package/dist/cjs/src/abstract/bitfinex.js +1 -1
  15. package/dist/cjs/src/abstract/bitflyer.js +1 -1
  16. package/dist/cjs/src/abstract/bitget.js +1 -1
  17. package/dist/cjs/src/abstract/bithumb.js +1 -1
  18. package/dist/cjs/src/abstract/bitmart.js +1 -1
  19. package/dist/cjs/src/abstract/bitmex.js +1 -1
  20. package/dist/cjs/src/abstract/bitopro.js +1 -1
  21. package/dist/cjs/src/abstract/bitrue.js +1 -1
  22. package/dist/cjs/src/abstract/bitso.js +1 -1
  23. package/dist/cjs/src/abstract/bitstamp.js +1 -1
  24. package/dist/cjs/src/abstract/bitteam.js +1 -1
  25. package/dist/cjs/src/abstract/bittrade.js +1 -1
  26. package/dist/cjs/src/abstract/bitvavo.js +1 -1
  27. package/dist/cjs/src/abstract/blockchaincom.js +1 -1
  28. package/dist/cjs/src/abstract/blofin.js +1 -1
  29. package/dist/cjs/src/abstract/btcalpha.js +1 -1
  30. package/dist/cjs/src/abstract/btcbox.js +1 -1
  31. package/dist/cjs/src/abstract/btcmarkets.js +1 -1
  32. package/dist/cjs/src/abstract/btcturk.js +1 -1
  33. package/dist/cjs/src/abstract/bybit.js +1 -1
  34. package/dist/cjs/src/abstract/cex.js +1 -1
  35. package/dist/cjs/src/abstract/coinbase.js +1 -1
  36. package/dist/cjs/src/abstract/coinbaseexchange.js +1 -1
  37. package/dist/cjs/src/abstract/coinbaseinternational.js +1 -1
  38. package/dist/cjs/src/abstract/coincatch.js +1 -1
  39. package/dist/cjs/src/abstract/coincheck.js +1 -1
  40. package/dist/cjs/src/abstract/coinex.js +1 -1
  41. package/dist/cjs/src/abstract/coinmate.js +1 -1
  42. package/dist/cjs/src/abstract/coinmetro.js +1 -1
  43. package/dist/cjs/src/abstract/coinone.js +1 -1
  44. package/dist/cjs/src/abstract/coinsph.js +1 -1
  45. package/dist/cjs/src/abstract/coinspot.js +1 -1
  46. package/dist/cjs/src/abstract/cryptocom.js +1 -1
  47. package/dist/cjs/src/abstract/cryptomus.js +1 -1
  48. package/dist/cjs/src/abstract/defx.js +1 -1
  49. package/dist/cjs/src/abstract/delta.js +1 -1
  50. package/dist/cjs/src/abstract/deribit.js +1 -1
  51. package/dist/cjs/src/abstract/derive.js +1 -1
  52. package/dist/cjs/src/abstract/digifinex.js +1 -1
  53. package/dist/cjs/src/abstract/exmo.js +1 -1
  54. package/dist/cjs/src/abstract/foxbit.js +1 -1
  55. package/dist/cjs/src/abstract/gate.js +1 -1
  56. package/dist/cjs/src/abstract/gemini.js +1 -1
  57. package/dist/cjs/src/abstract/hashkey.js +1 -1
  58. package/dist/cjs/src/abstract/hibachi.js +1 -1
  59. package/dist/cjs/src/abstract/hitbtc.js +1 -1
  60. package/dist/cjs/src/abstract/hollaex.js +1 -1
  61. package/dist/cjs/src/abstract/htx.js +1 -1
  62. package/dist/cjs/src/abstract/hyperliquid.js +1 -1
  63. package/dist/cjs/src/abstract/independentreserve.js +1 -1
  64. package/dist/cjs/src/abstract/indodax.js +1 -1
  65. package/dist/cjs/src/abstract/kraken.js +1 -1
  66. package/dist/cjs/src/abstract/krakenfutures.js +1 -1
  67. package/dist/cjs/src/abstract/kucoin.js +1 -1
  68. package/dist/cjs/src/abstract/kucoinfutures.js +1 -1
  69. package/dist/cjs/src/abstract/latoken.js +1 -1
  70. package/dist/cjs/src/abstract/lbank.js +1 -1
  71. package/dist/cjs/src/abstract/luno.js +1 -1
  72. package/dist/cjs/src/abstract/mercado.js +1 -1
  73. package/dist/cjs/src/abstract/mexc.js +1 -1
  74. package/dist/cjs/src/abstract/modetrade.js +1 -1
  75. package/dist/cjs/src/abstract/ndax.js +1 -1
  76. package/dist/cjs/src/abstract/novadax.js +1 -1
  77. package/dist/cjs/src/abstract/oceanex.js +1 -1
  78. package/dist/cjs/src/abstract/okcoin.js +1 -1
  79. package/dist/cjs/src/abstract/okx.js +1 -1
  80. package/dist/cjs/src/abstract/onetrading.js +1 -1
  81. package/dist/cjs/src/abstract/oxfun.js +1 -1
  82. package/dist/cjs/src/abstract/p2b.js +1 -1
  83. package/dist/cjs/src/abstract/paradex.js +1 -1
  84. package/dist/cjs/src/abstract/paymium.js +1 -1
  85. package/dist/cjs/src/abstract/phemex.js +1 -1
  86. package/dist/cjs/src/abstract/poloniex.js +1 -1
  87. package/dist/cjs/src/abstract/probit.js +1 -1
  88. package/dist/cjs/src/abstract/timex.js +1 -1
  89. package/dist/cjs/src/abstract/tokocrypto.js +1 -1
  90. package/dist/cjs/src/abstract/toobit.js +1 -1
  91. package/dist/cjs/src/abstract/upbit.js +1 -1
  92. package/dist/cjs/src/abstract/wavesexchange.js +1 -1
  93. package/dist/cjs/src/abstract/whitebit.js +1 -1
  94. package/dist/cjs/src/abstract/woo.js +1 -1
  95. package/dist/cjs/src/abstract/woofipro.js +1 -1
  96. package/dist/cjs/src/abstract/xt.js +1 -1
  97. package/dist/cjs/src/abstract/yobit.js +1 -1
  98. package/dist/cjs/src/abstract/zaif.js +1 -1
  99. package/dist/cjs/src/abstract/zonda.js +1 -1
  100. package/dist/cjs/src/alpaca.js +1 -1
  101. package/dist/cjs/src/apex.js +1 -1
  102. package/dist/cjs/src/ascendex.js +1 -1
  103. package/dist/cjs/src/backpack.js +22 -4
  104. package/dist/cjs/src/base/Exchange.js +144 -28
  105. package/dist/cjs/src/base/Precise.js +6 -0
  106. package/dist/cjs/src/base/errors.js +6 -0
  107. package/dist/cjs/src/base/functions/crypto.js +1 -1
  108. package/dist/cjs/src/base/functions/encode.js +2 -2
  109. package/dist/cjs/src/base/functions/misc.js +1 -0
  110. package/dist/cjs/src/base/functions/number.js +6 -0
  111. package/dist/cjs/src/base/functions/platform.js +6 -0
  112. package/dist/cjs/src/base/functions/rsa.js +1 -0
  113. package/dist/cjs/src/base/functions/string.js +6 -0
  114. package/dist/cjs/src/base/functions/throttle.js +1 -1
  115. package/dist/cjs/src/base/functions/time.js +6 -0
  116. package/dist/cjs/src/base/functions/totp.js +1 -0
  117. package/dist/cjs/src/base/functions/type.js +6 -0
  118. package/dist/cjs/src/base/functions.js +1 -1
  119. package/dist/cjs/src/base/ws/Cache.js +6 -0
  120. package/dist/cjs/src/base/ws/Client.js +5 -0
  121. package/dist/cjs/src/base/ws/Future.js +1 -1
  122. package/dist/cjs/src/base/ws/OrderBook.js +1 -1
  123. package/dist/cjs/src/base/ws/OrderBookSide.js +6 -0
  124. package/dist/cjs/src/base/ws/WsClient.js +1 -1
  125. package/dist/cjs/src/bequant.js +1 -1
  126. package/dist/cjs/src/bigone.js +1 -1
  127. package/dist/cjs/src/binance.js +10 -9
  128. package/dist/cjs/src/binancecoinm.js +1 -1
  129. package/dist/cjs/src/binanceus.js +1 -1
  130. package/dist/cjs/src/binanceusdm.js +1 -1
  131. package/dist/cjs/src/bingx.js +1 -1
  132. package/dist/cjs/src/bit2c.js +1 -1
  133. package/dist/cjs/src/bitbank.js +1 -1
  134. package/dist/cjs/src/bitbns.js +2 -2
  135. package/dist/cjs/src/bitfinex.js +1 -1
  136. package/dist/cjs/src/bitflyer.js +1 -1
  137. package/dist/cjs/src/bitget.js +60 -73
  138. package/dist/cjs/src/bithumb.js +9 -1
  139. package/dist/cjs/src/bitmart.js +1 -1
  140. package/dist/cjs/src/bitmex.js +1 -1
  141. package/dist/cjs/src/bitopro.js +1 -1
  142. package/dist/cjs/src/bitrue.js +1 -1
  143. package/dist/cjs/src/bitso.js +1 -1
  144. package/dist/cjs/src/bitstamp.js +1 -1
  145. package/dist/cjs/src/bitteam.js +1 -1
  146. package/dist/cjs/src/bittrade.js +1 -1
  147. package/dist/cjs/src/bitvavo.js +17 -2
  148. package/dist/cjs/src/blockchaincom.js +1 -1
  149. package/dist/cjs/src/blofin.js +1 -1
  150. package/dist/cjs/src/btcalpha.js +1 -1
  151. package/dist/cjs/src/btcbox.js +1 -1
  152. package/dist/cjs/src/btcmarkets.js +1 -1
  153. package/dist/cjs/src/btcturk.js +1 -1
  154. package/dist/cjs/src/bybit.js +1 -1
  155. package/dist/cjs/src/cex.js +1 -1
  156. package/dist/cjs/src/coinbase.js +1 -1
  157. package/dist/cjs/src/coinbaseadvanced.js +1 -1
  158. package/dist/cjs/src/coinbaseexchange.js +15 -0
  159. package/dist/cjs/src/coincatch.js +1 -1
  160. package/dist/cjs/src/coincheck.js +1 -1
  161. package/dist/cjs/src/coinex.js +1 -1
  162. package/dist/cjs/src/coinmate.js +1 -1
  163. package/dist/cjs/src/coinmetro.js +1 -1
  164. package/dist/cjs/src/coinone.js +1 -1
  165. package/dist/cjs/src/coinsph.js +1 -0
  166. package/dist/cjs/src/coinspot.js +1 -1
  167. package/dist/cjs/src/cryptocom.js +1 -1
  168. package/dist/cjs/src/cryptomus.js +1 -1
  169. package/dist/cjs/src/defx.js +1 -1
  170. package/dist/cjs/src/delta.js +1 -1
  171. package/dist/cjs/src/deribit.js +1 -1
  172. package/dist/cjs/src/derive.js +1 -1
  173. package/dist/cjs/src/digifinex.js +1 -1
  174. package/dist/cjs/src/exmo.js +1 -1
  175. package/dist/cjs/src/fmfwio.js +1 -1
  176. package/dist/cjs/src/foxbit.js +1 -1
  177. package/dist/cjs/src/gate.js +1 -1
  178. package/dist/cjs/src/gateio.js +1 -1
  179. package/dist/cjs/src/gemini.js +1 -1
  180. package/dist/cjs/src/hashkey.js +1 -1
  181. package/dist/cjs/src/hibachi.js +4 -11
  182. package/dist/cjs/src/hitbtc.js +1 -0
  183. package/dist/cjs/src/hollaex.js +1 -1
  184. package/dist/cjs/src/htx.js +1 -1
  185. package/dist/cjs/src/huobi.js +1 -1
  186. package/dist/cjs/src/hyperliquid.js +39 -6
  187. package/dist/cjs/src/independentreserve.js +1 -1
  188. package/dist/cjs/src/indodax.js +1 -1
  189. package/dist/cjs/src/kraken.js +1 -1
  190. package/dist/cjs/src/krakenfutures.js +1 -1
  191. package/dist/cjs/src/kucoin.js +1 -1
  192. package/dist/cjs/src/kucoinfutures.js +1 -1
  193. package/dist/cjs/src/latoken.js +2 -1
  194. package/dist/cjs/src/lbank.js +5 -2
  195. package/dist/cjs/src/luno.js +1 -1
  196. package/dist/cjs/src/mercado.js +1 -1
  197. package/dist/cjs/src/mexc.js +1 -1
  198. package/dist/cjs/src/modetrade.js +1 -1
  199. package/dist/cjs/src/myokx.js +1 -1
  200. package/dist/cjs/src/ndax.js +1 -1
  201. package/dist/cjs/src/novadax.js +1 -1
  202. package/dist/cjs/src/oceanex.js +1 -1
  203. package/dist/cjs/src/okcoin.js +1 -1
  204. package/dist/cjs/src/okx.js +2 -2
  205. package/dist/cjs/src/okxus.js +1 -1
  206. package/dist/cjs/src/onetrading.js +1 -1
  207. package/dist/cjs/src/oxfun.js +14 -4
  208. package/dist/cjs/src/p2b.js +1 -1
  209. package/dist/cjs/src/paradex.js +1 -1
  210. package/dist/cjs/src/paymium.js +1 -1
  211. package/dist/cjs/src/phemex.js +15 -6
  212. package/dist/cjs/src/poloniex.js +1 -1
  213. package/dist/cjs/src/pro/alpaca.js +2 -2
  214. package/dist/cjs/src/pro/apex.js +5 -5
  215. package/dist/cjs/src/pro/ascendex.js +1 -1
  216. package/dist/cjs/src/pro/backpack.js +3 -3
  217. package/dist/cjs/src/pro/bequant.js +1 -1
  218. package/dist/cjs/src/pro/binance.js +2 -1
  219. package/dist/cjs/src/pro/binancecoinm.js +1 -1
  220. package/dist/cjs/src/pro/binanceus.js +1 -1
  221. package/dist/cjs/src/pro/binanceusdm.js +1 -1
  222. package/dist/cjs/src/pro/bingx.js +1 -1
  223. package/dist/cjs/src/pro/bitfinex.js +2 -2
  224. package/dist/cjs/src/pro/bitget.js +2 -2
  225. package/dist/cjs/src/pro/bithumb.js +1 -1
  226. package/dist/cjs/src/pro/bitmart.js +2 -2
  227. package/dist/cjs/src/pro/bitmex.js +2 -2
  228. package/dist/cjs/src/pro/bitrue.js +1 -1
  229. package/dist/cjs/src/pro/bitstamp.js +1 -1
  230. package/dist/cjs/src/pro/bitvavo.js +7 -7
  231. package/dist/cjs/src/pro/blockchaincom.js +2 -2
  232. package/dist/cjs/src/pro/blofin.js +1 -1
  233. package/dist/cjs/src/pro/bybit.js +3 -2
  234. package/dist/cjs/src/pro/cex.js +3 -3
  235. package/dist/cjs/src/pro/coinbase.js +1 -1
  236. package/dist/cjs/src/pro/coinbaseadvanced.js +1 -1
  237. package/dist/cjs/src/pro/coinbaseexchange.js +1 -1
  238. package/dist/cjs/src/pro/coinbaseinternational.js +1 -1
  239. package/dist/cjs/src/pro/coincatch.js +2 -2
  240. package/dist/cjs/src/pro/coincheck.js +1 -1
  241. package/dist/cjs/src/pro/coinex.js +10 -9
  242. package/dist/cjs/src/pro/coinone.js +1 -1
  243. package/dist/cjs/src/pro/cryptocom.js +2 -2
  244. package/dist/cjs/src/pro/defx.js +1 -1
  245. package/dist/cjs/src/pro/deribit.js +1 -1
  246. package/dist/cjs/src/pro/derive.js +1 -1
  247. package/dist/cjs/src/pro/exmo.js +1 -1
  248. package/dist/cjs/src/pro/gate.js +2 -2
  249. package/dist/cjs/src/pro/gateio.js +1 -1
  250. package/dist/cjs/src/pro/gemini.js +1 -1
  251. package/dist/cjs/src/pro/hashkey.js +1 -1
  252. package/dist/cjs/src/pro/hitbtc.js +2 -2
  253. package/dist/cjs/src/pro/hollaex.js +1 -1
  254. package/dist/cjs/src/pro/htx.js +156 -13
  255. package/dist/cjs/src/pro/huobi.js +1 -1
  256. package/dist/cjs/src/pro/hyperliquid.js +1 -1
  257. package/dist/cjs/src/pro/independentreserve.js +1 -1
  258. package/dist/cjs/src/pro/kraken.js +9 -9
  259. package/dist/cjs/src/pro/krakenfutures.js +2 -2
  260. package/dist/cjs/src/pro/kucoin.js +5 -5
  261. package/dist/cjs/src/pro/kucoinfutures.js +5 -5
  262. package/dist/cjs/src/pro/lbank.js +1 -0
  263. package/dist/cjs/src/pro/luno.js +1 -1
  264. package/dist/cjs/src/pro/mexc.js +7 -2
  265. package/dist/cjs/src/pro/modetrade.js +2 -2
  266. package/dist/cjs/src/pro/myokx.js +1 -1
  267. package/dist/cjs/src/pro/ndax.js +1 -1
  268. package/dist/cjs/src/pro/okcoin.js +1 -1
  269. package/dist/cjs/src/pro/okx.js +5 -3
  270. package/dist/cjs/src/pro/okxus.js +1 -1
  271. package/dist/cjs/src/pro/onetrading.js +2 -2
  272. package/dist/cjs/src/pro/oxfun.js +2 -2
  273. package/dist/cjs/src/pro/p2b.js +1 -1
  274. package/dist/cjs/src/pro/paradex.js +1 -1
  275. package/dist/cjs/src/pro/phemex.js +9 -7
  276. package/dist/cjs/src/pro/poloniex.js +1 -1
  277. package/dist/cjs/src/pro/probit.js +1 -1
  278. package/dist/cjs/src/pro/toobit.js +2 -2
  279. package/dist/cjs/src/pro/upbit.js +1 -1
  280. package/dist/cjs/src/pro/whitebit.js +2 -2
  281. package/dist/cjs/src/pro/woo.js +168 -6
  282. package/dist/cjs/src/pro/woofipro.js +2 -2
  283. package/dist/cjs/src/pro/xt.js +1 -1
  284. package/dist/cjs/src/probit.js +1 -1
  285. package/dist/cjs/src/protobuf/mexc/compiled.cjs.js +0 -2
  286. package/dist/cjs/src/static_dependencies/ethers/abi-coder.js +6 -0
  287. package/dist/cjs/src/static_dependencies/ethers/address/address.js +1 -1
  288. package/dist/cjs/src/static_dependencies/ethers/coders/abstract-coder.js +6 -0
  289. package/dist/cjs/src/static_dependencies/ethers/coders/address.js +1 -0
  290. package/dist/cjs/src/static_dependencies/ethers/coders/anonymous.js +1 -0
  291. package/dist/cjs/src/static_dependencies/ethers/coders/array.js +1 -0
  292. package/dist/cjs/src/static_dependencies/ethers/coders/boolean.js +1 -0
  293. package/dist/cjs/src/static_dependencies/ethers/coders/bytes.js +1 -0
  294. package/dist/cjs/src/static_dependencies/ethers/coders/fixed-bytes.js +1 -0
  295. package/dist/cjs/src/static_dependencies/ethers/coders/null.js +1 -0
  296. package/dist/cjs/src/static_dependencies/ethers/coders/number.js +1 -0
  297. package/dist/cjs/src/static_dependencies/ethers/coders/string.js +1 -0
  298. package/dist/cjs/src/static_dependencies/ethers/coders/tuple.js +1 -0
  299. package/dist/cjs/src/static_dependencies/ethers/fragments.js +6 -0
  300. package/dist/cjs/src/static_dependencies/ethers/hash/typed-data.js +6 -0
  301. package/dist/cjs/src/static_dependencies/ethers/index.js +1 -10
  302. package/dist/cjs/src/static_dependencies/ethers/interface.js +6 -0
  303. package/dist/cjs/src/static_dependencies/ethers/typed.js +6 -0
  304. package/dist/cjs/src/static_dependencies/ethers/utils/base58.js +1 -13
  305. package/dist/cjs/src/static_dependencies/ethers/utils/data.js +1 -6
  306. package/dist/cjs/src/static_dependencies/ethers/utils/errors.js +1 -9
  307. package/dist/cjs/src/static_dependencies/ethers/utils/events.js +6 -0
  308. package/dist/cjs/src/static_dependencies/ethers/utils/fixednumber.js +6 -0
  309. package/dist/cjs/src/static_dependencies/ethers/utils/index.js +1 -7
  310. package/dist/cjs/src/static_dependencies/ethers/utils/maths.js +1 -5
  311. package/dist/cjs/src/static_dependencies/ethers/utils/properties.js +6 -0
  312. package/dist/cjs/src/static_dependencies/ethers/utils/utf8.js +1 -8
  313. package/dist/cjs/src/static_dependencies/fflake/browser.js +1 -1
  314. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncrypt.js +1 -0
  315. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +1 -0
  316. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +1 -1
  317. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +6 -0
  318. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +6 -0
  319. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +6 -0
  320. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +1 -0
  321. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +1 -1
  322. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +6 -0
  323. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +1 -1
  324. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +1 -1
  325. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/util.js +6 -0
  326. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +1 -1
  327. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +6 -0
  328. package/dist/cjs/src/static_dependencies/messagepack/msgpack.js +6 -0
  329. package/dist/cjs/src/static_dependencies/noble-curves/_shortw_utils.js +1 -1
  330. package/dist/cjs/src/static_dependencies/noble-curves/abstract/curve.js +1 -1
  331. package/dist/cjs/src/static_dependencies/noble-curves/abstract/edwards.js +1 -1
  332. package/dist/cjs/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +1 -0
  333. package/dist/cjs/src/static_dependencies/noble-curves/abstract/modular.js +1 -1
  334. package/dist/cjs/src/static_dependencies/noble-curves/abstract/montgomery.js +1 -1
  335. package/dist/cjs/src/static_dependencies/noble-curves/abstract/poseidon.js +1 -1
  336. package/dist/cjs/src/static_dependencies/noble-curves/abstract/utils.js +6 -0
  337. package/dist/cjs/src/static_dependencies/noble-curves/abstract/weierstrass.js +1 -1
  338. package/dist/cjs/src/static_dependencies/noble-curves/ed25519.js +1 -1
  339. package/dist/cjs/src/static_dependencies/noble-curves/p256.js +1 -1
  340. package/dist/cjs/src/static_dependencies/noble-curves/secp256k1.js +1 -1
  341. package/dist/cjs/src/static_dependencies/noble-hashes/_assert.js +6 -0
  342. package/dist/cjs/src/static_dependencies/noble-hashes/_sha2.js +1 -0
  343. package/dist/cjs/src/static_dependencies/noble-hashes/_u64.js +6 -0
  344. package/dist/cjs/src/static_dependencies/noble-hashes/crypto.js +6 -0
  345. package/dist/cjs/src/static_dependencies/noble-hashes/hmac.js +1 -0
  346. package/dist/cjs/src/static_dependencies/noble-hashes/md5.js +1 -0
  347. package/dist/cjs/src/static_dependencies/noble-hashes/sha1.js +1 -0
  348. package/dist/cjs/src/static_dependencies/noble-hashes/sha256.js +1 -0
  349. package/dist/cjs/src/static_dependencies/noble-hashes/sha3.js +1 -0
  350. package/dist/cjs/src/static_dependencies/noble-hashes/sha512.js +1 -0
  351. package/dist/cjs/src/static_dependencies/noble-hashes/utils.js +1 -1
  352. package/dist/cjs/src/static_dependencies/node-fetch/body.js +1 -5
  353. package/dist/cjs/src/static_dependencies/node-fetch/errors/abort-error.js +1 -0
  354. package/dist/cjs/src/static_dependencies/node-fetch/errors/base.js +6 -0
  355. package/dist/cjs/src/static_dependencies/node-fetch/errors/fetch-error.js +1 -0
  356. package/dist/cjs/src/static_dependencies/node-fetch/headers.js +1 -5
  357. package/dist/cjs/src/static_dependencies/node-fetch/index.js +1 -7
  358. package/dist/cjs/src/static_dependencies/node-fetch/request.js +1 -7
  359. package/dist/cjs/src/static_dependencies/node-fetch/response.js +1 -5
  360. package/dist/cjs/src/static_dependencies/node-fetch/utils/get-search.js +6 -0
  361. package/dist/cjs/src/static_dependencies/node-fetch/utils/is-redirect.js +6 -0
  362. package/dist/cjs/src/static_dependencies/node-fetch/utils/is.js +6 -0
  363. package/dist/cjs/src/static_dependencies/node-fetch/utils/referrer.js +1 -0
  364. package/dist/cjs/src/static_dependencies/proxies/agent-base/index.js +1 -0
  365. package/dist/cjs/src/static_dependencies/proxies/http-proxy-agent/index.js +1 -0
  366. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/index.js +1 -0
  367. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +6 -0
  368. package/dist/cjs/src/static_dependencies/qs/formats.js +28 -0
  369. package/dist/cjs/src/static_dependencies/qs/index.js +25 -0
  370. package/{js/src/static_dependencies/qs/parse.cjs → dist/cjs/src/static_dependencies/qs/parse.js} +10 -3
  371. package/{js/src/static_dependencies/qs/stringify.cjs → dist/cjs/src/static_dependencies/qs/stringify.js} +13 -6
  372. package/dist/cjs/src/static_dependencies/qs/utils.js +197 -0
  373. package/dist/cjs/src/static_dependencies/scure-base/index.js +6 -0
  374. package/dist/cjs/src/static_dependencies/scure-starknet/index.js +1 -1
  375. package/dist/cjs/src/static_dependencies/starknet/constants.js +1 -1
  376. package/dist/cjs/src/static_dependencies/starknet/types/calldata.js +6 -0
  377. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/abi.js +6 -0
  378. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/index.js +6 -0
  379. package/dist/cjs/src/static_dependencies/starknet/types/lib/index.js +6 -0
  380. package/dist/cjs/src/static_dependencies/starknet/types/typedData.js +6 -0
  381. package/dist/cjs/src/static_dependencies/starknet/utils/assert.js +6 -0
  382. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +1 -1
  383. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +1 -1
  384. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +1 -1
  385. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/byteArray.js +1 -0
  386. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/cairo.js +1 -0
  387. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +6 -0
  388. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +6 -0
  389. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +6 -0
  390. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/formatter.js +1 -0
  391. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/index.js +1 -1
  392. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/index.js +1 -0
  393. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +1 -0
  394. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +6 -0
  395. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +1 -0
  396. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/requestParser.js +1 -0
  397. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/responseParser.js +1 -0
  398. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/tuple.js +1 -1
  399. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/validate.js +1 -4
  400. package/dist/cjs/src/static_dependencies/starknet/utils/encode.js +1 -0
  401. package/dist/cjs/src/static_dependencies/starknet/utils/hash/classHash.js +1 -3
  402. package/dist/cjs/src/static_dependencies/starknet/utils/merkle.js +1 -0
  403. package/dist/cjs/src/static_dependencies/starknet/utils/num.js +1 -0
  404. package/dist/cjs/src/static_dependencies/starknet/utils/selector.js +1 -0
  405. package/dist/cjs/src/static_dependencies/starknet/utils/shortString.js +1 -0
  406. package/dist/cjs/src/static_dependencies/starknet/utils/typedData.js +1 -1
  407. package/dist/cjs/src/static_dependencies/watchable/src/unpromise.js +6 -0
  408. package/dist/cjs/src/static_dependencies/zklink/zklink-sdk-web.js +5 -1
  409. package/dist/cjs/src/timex.js +1 -0
  410. package/dist/cjs/src/tokocrypto.js +1 -1
  411. package/dist/cjs/src/toobit.js +1 -1
  412. package/dist/cjs/src/upbit.js +86 -71
  413. package/dist/cjs/src/wavesexchange.js +1 -1
  414. package/dist/cjs/src/whitebit.js +576 -33
  415. package/dist/cjs/src/woo.js +1 -1
  416. package/dist/cjs/src/woofipro.js +1 -1
  417. package/dist/cjs/src/xt.js +1 -1
  418. package/dist/cjs/src/yobit.js +1 -1
  419. package/dist/cjs/src/zaif.js +1 -1
  420. package/dist/cjs/src/zonda.js +1 -1
  421. package/js/ccxt.d.ts +1 -1
  422. package/js/ccxt.js +7 -1
  423. package/js/src/abstract/alpaca.js +6 -0
  424. package/js/src/abstract/apex.js +6 -0
  425. package/js/src/abstract/ascendex.js +6 -0
  426. package/js/src/abstract/backpack.js +6 -0
  427. package/js/src/abstract/bequant.js +6 -0
  428. package/js/src/abstract/bigone.js +6 -0
  429. package/js/src/abstract/binance.js +6 -0
  430. package/js/src/abstract/binancecoinm.js +6 -0
  431. package/js/src/abstract/binanceus.js +6 -0
  432. package/js/src/abstract/binanceusdm.js +6 -0
  433. package/js/src/abstract/bingx.js +6 -0
  434. package/js/src/abstract/bit2c.js +6 -0
  435. package/js/src/abstract/bitbank.js +6 -0
  436. package/js/src/abstract/bitbns.js +6 -0
  437. package/js/src/abstract/bitfinex.js +6 -0
  438. package/js/src/abstract/bitflyer.js +6 -0
  439. package/js/src/abstract/bitget.js +6 -0
  440. package/js/src/abstract/bithumb.js +6 -0
  441. package/js/src/abstract/bitmart.js +6 -0
  442. package/js/src/abstract/bitmex.js +6 -0
  443. package/js/src/abstract/bitopro.js +6 -0
  444. package/js/src/abstract/bitrue.js +6 -0
  445. package/js/src/abstract/bitso.js +6 -0
  446. package/js/src/abstract/bitstamp.js +6 -0
  447. package/js/src/abstract/bitteam.js +6 -0
  448. package/js/src/abstract/bittrade.js +6 -0
  449. package/js/src/abstract/bitvavo.js +6 -0
  450. package/js/src/abstract/blockchaincom.js +6 -0
  451. package/js/src/abstract/blofin.js +6 -0
  452. package/js/src/abstract/btcalpha.js +6 -0
  453. package/js/src/abstract/btcbox.js +6 -0
  454. package/js/src/abstract/btcmarkets.js +6 -0
  455. package/js/src/abstract/btcturk.js +6 -0
  456. package/js/src/abstract/bybit.js +6 -0
  457. package/js/src/abstract/cex.js +6 -0
  458. package/js/src/abstract/coinbase.js +6 -0
  459. package/js/src/abstract/coinbaseadvanced.js +6 -0
  460. package/js/src/abstract/coinbaseexchange.d.ts +15 -0
  461. package/js/src/abstract/coinbaseexchange.js +6 -0
  462. package/js/src/abstract/coinbaseinternational.js +6 -0
  463. package/js/src/abstract/coincatch.js +6 -0
  464. package/js/src/abstract/coincheck.js +6 -0
  465. package/js/src/abstract/coinex.js +6 -0
  466. package/js/src/abstract/coinmate.js +6 -0
  467. package/js/src/abstract/coinmetro.js +6 -0
  468. package/js/src/abstract/coinone.js +6 -0
  469. package/js/src/abstract/coinsph.js +6 -0
  470. package/js/src/abstract/coinspot.js +6 -0
  471. package/js/src/abstract/cryptocom.js +6 -0
  472. package/js/src/abstract/cryptomus.js +6 -0
  473. package/js/src/abstract/defx.js +6 -0
  474. package/js/src/abstract/delta.js +6 -0
  475. package/js/src/abstract/deribit.js +6 -0
  476. package/js/src/abstract/derive.js +6 -0
  477. package/js/src/abstract/digifinex.js +6 -0
  478. package/js/src/abstract/exmo.js +6 -0
  479. package/js/src/abstract/fmfwio.js +6 -0
  480. package/js/src/abstract/foxbit.js +6 -0
  481. package/js/src/abstract/gate.js +6 -0
  482. package/js/src/abstract/gateio.js +6 -0
  483. package/js/src/abstract/gemini.js +6 -0
  484. package/js/src/abstract/hashkey.js +6 -0
  485. package/js/src/abstract/hibachi.js +6 -0
  486. package/js/src/abstract/hitbtc.js +6 -0
  487. package/js/src/abstract/hollaex.js +6 -0
  488. package/js/src/abstract/htx.js +6 -0
  489. package/js/src/abstract/huobi.js +6 -0
  490. package/js/src/abstract/hyperliquid.js +6 -0
  491. package/js/src/abstract/independentreserve.js +6 -0
  492. package/js/src/abstract/indodax.js +6 -0
  493. package/js/src/abstract/kraken.js +6 -0
  494. package/js/src/abstract/krakenfutures.js +6 -0
  495. package/js/src/abstract/kucoin.js +6 -0
  496. package/js/src/abstract/kucoinfutures.js +6 -0
  497. package/js/src/abstract/latoken.js +6 -0
  498. package/js/src/abstract/lbank.js +6 -0
  499. package/js/src/abstract/luno.js +6 -0
  500. package/js/src/abstract/mercado.js +6 -0
  501. package/js/src/abstract/mexc.js +6 -0
  502. package/js/src/abstract/modetrade.js +6 -0
  503. package/js/src/abstract/myokx.js +6 -0
  504. package/js/src/abstract/ndax.js +6 -0
  505. package/js/src/abstract/novadax.js +6 -0
  506. package/js/src/abstract/oceanex.js +6 -0
  507. package/js/src/abstract/okcoin.js +6 -0
  508. package/js/src/abstract/okx.js +6 -0
  509. package/js/src/abstract/okxus.js +6 -0
  510. package/js/src/abstract/onetrading.js +6 -0
  511. package/js/src/abstract/oxfun.js +6 -0
  512. package/js/src/abstract/p2b.js +6 -0
  513. package/js/src/abstract/paradex.js +6 -0
  514. package/js/src/abstract/paymium.js +6 -0
  515. package/js/src/abstract/phemex.js +6 -0
  516. package/js/src/abstract/poloniex.js +6 -0
  517. package/js/src/abstract/probit.js +6 -0
  518. package/js/src/abstract/timex.js +6 -0
  519. package/js/src/abstract/tokocrypto.js +6 -0
  520. package/js/src/abstract/toobit.js +6 -0
  521. package/js/src/abstract/upbit.d.ts +1 -0
  522. package/js/src/abstract/upbit.js +6 -0
  523. package/js/src/abstract/wavesexchange.js +6 -0
  524. package/js/src/abstract/whitebit.d.ts +1 -1
  525. package/js/src/abstract/whitebit.js +6 -0
  526. package/js/src/abstract/woo.js +6 -0
  527. package/js/src/abstract/woofipro.js +6 -0
  528. package/js/src/abstract/xt.js +6 -0
  529. package/js/src/abstract/yobit.js +6 -0
  530. package/js/src/abstract/zaif.js +6 -0
  531. package/js/src/abstract/zonda.js +6 -0
  532. package/js/src/alpaca.js +6 -0
  533. package/js/src/apex.js +6 -0
  534. package/js/src/ascendex.js +6 -0
  535. package/js/src/backpack.d.ts +1 -1
  536. package/js/src/backpack.js +27 -3
  537. package/js/src/base/Exchange.d.ts +13 -5
  538. package/js/src/base/Exchange.js +150 -28
  539. package/js/src/base/Precise.js +6 -0
  540. package/js/src/base/errorHierarchy.js +6 -0
  541. package/js/src/base/errors.js +6 -0
  542. package/js/src/base/functions/crypto.js +6 -0
  543. package/js/src/base/functions/encode.js +7 -1
  544. package/js/src/base/functions/generic.js +6 -0
  545. package/js/src/base/functions/misc.js +6 -0
  546. package/js/src/base/functions/number.js +6 -0
  547. package/js/src/base/functions/platform.js +6 -0
  548. package/js/src/base/functions/rsa.js +6 -0
  549. package/js/src/base/functions/string.js +6 -0
  550. package/js/src/base/functions/throttle.js +6 -0
  551. package/js/src/base/functions/time.js +6 -0
  552. package/js/src/base/functions/totp.js +6 -0
  553. package/js/src/base/functions/type.js +6 -0
  554. package/js/src/base/functions.js +6 -0
  555. package/js/src/base/types.js +6 -0
  556. package/js/src/base/ws/Cache.js +6 -0
  557. package/js/src/base/ws/Client.d.ts +1 -0
  558. package/js/src/base/ws/Client.js +10 -0
  559. package/js/src/base/ws/Future.js +6 -0
  560. package/js/src/base/ws/OrderBook.js +6 -0
  561. package/js/src/base/ws/OrderBookSide.js +6 -0
  562. package/js/src/base/ws/WsClient.js +6 -0
  563. package/js/src/base/ws/functions.js +6 -0
  564. package/js/src/bequant.js +6 -0
  565. package/js/src/bigone.js +6 -0
  566. package/js/src/binance.d.ts +1 -1
  567. package/js/src/binance.js +15 -8
  568. package/js/src/binancecoinm.js +6 -0
  569. package/js/src/binanceus.js +6 -0
  570. package/js/src/binanceusdm.js +6 -0
  571. package/js/src/bingx.js +6 -0
  572. package/js/src/bit2c.js +6 -0
  573. package/js/src/bitbank.js +6 -0
  574. package/js/src/bitbns.js +7 -1
  575. package/js/src/bitfinex.js +6 -0
  576. package/js/src/bitflyer.js +6 -0
  577. package/js/src/bitget.js +65 -72
  578. package/js/src/bithumb.js +14 -0
  579. package/js/src/bitmart.js +6 -0
  580. package/js/src/bitmex.js +6 -0
  581. package/js/src/bitopro.js +6 -0
  582. package/js/src/bitrue.js +6 -0
  583. package/js/src/bitso.js +6 -0
  584. package/js/src/bitstamp.js +6 -0
  585. package/js/src/bitteam.js +6 -0
  586. package/js/src/bittrade.js +6 -0
  587. package/js/src/bitvavo.d.ts +1 -1
  588. package/js/src/bitvavo.js +23 -2
  589. package/js/src/blockchaincom.js +6 -0
  590. package/js/src/blofin.js +6 -0
  591. package/js/src/btcalpha.js +6 -0
  592. package/js/src/btcbox.js +6 -0
  593. package/js/src/btcmarkets.js +6 -0
  594. package/js/src/btcturk.js +6 -0
  595. package/js/src/bybit.js +6 -0
  596. package/js/src/cex.js +6 -0
  597. package/js/src/coinbase.js +7 -1
  598. package/js/src/coinbaseadvanced.js +6 -0
  599. package/js/src/coinbaseexchange.js +21 -0
  600. package/js/src/coinbaseinternational.js +6 -0
  601. package/js/src/coincatch.js +6 -0
  602. package/js/src/coincheck.js +6 -0
  603. package/js/src/coinex.js +6 -0
  604. package/js/src/coinmate.js +6 -0
  605. package/js/src/coinmetro.js +6 -0
  606. package/js/src/coinone.js +6 -0
  607. package/js/src/coinsph.js +6 -0
  608. package/js/src/coinspot.js +6 -0
  609. package/js/src/cryptocom.js +6 -0
  610. package/js/src/cryptomus.js +6 -0
  611. package/js/src/defx.js +6 -0
  612. package/js/src/delta.js +6 -0
  613. package/js/src/deribit.js +6 -0
  614. package/js/src/derive.js +6 -0
  615. package/js/src/digifinex.js +6 -0
  616. package/js/src/exmo.js +6 -0
  617. package/js/src/fmfwio.js +6 -0
  618. package/js/src/foxbit.js +6 -0
  619. package/js/src/gate.js +6 -0
  620. package/js/src/gateio.js +6 -0
  621. package/js/src/gemini.js +6 -0
  622. package/js/src/hashkey.js +6 -0
  623. package/js/src/hibachi.d.ts +1 -9
  624. package/js/src/hibachi.js +9 -10
  625. package/js/src/hitbtc.js +6 -0
  626. package/js/src/hollaex.js +6 -0
  627. package/js/src/htx.js +6 -0
  628. package/js/src/huobi.js +6 -0
  629. package/js/src/hyperliquid.d.ts +2 -0
  630. package/js/src/hyperliquid.js +44 -5
  631. package/js/src/independentreserve.js +6 -0
  632. package/js/src/indodax.js +6 -0
  633. package/js/src/kraken.js +6 -0
  634. package/js/src/krakenfutures.js +6 -0
  635. package/js/src/kucoin.js +6 -0
  636. package/js/src/kucoinfutures.js +6 -0
  637. package/js/src/latoken.js +7 -0
  638. package/js/src/lbank.js +10 -1
  639. package/js/src/luno.js +6 -0
  640. package/js/src/mercado.js +6 -0
  641. package/js/src/mexc.js +6 -0
  642. package/js/src/modetrade.js +6 -0
  643. package/js/src/myokx.js +6 -0
  644. package/js/src/ndax.js +6 -0
  645. package/js/src/novadax.js +6 -0
  646. package/js/src/oceanex.js +6 -0
  647. package/js/src/okcoin.js +6 -0
  648. package/js/src/okx.js +7 -1
  649. package/js/src/okxus.js +6 -0
  650. package/js/src/onetrading.js +6 -0
  651. package/js/src/oxfun.d.ts +1 -1
  652. package/js/src/oxfun.js +19 -3
  653. package/js/src/p2b.js +6 -0
  654. package/js/src/paradex.js +6 -0
  655. package/js/src/paymium.js +6 -0
  656. package/js/src/phemex.js +21 -6
  657. package/js/src/poloniex.js +6 -0
  658. package/js/src/pro/alpaca.js +7 -1
  659. package/js/src/pro/apex.js +10 -4
  660. package/js/src/pro/ascendex.js +6 -0
  661. package/js/src/pro/backpack.js +8 -2
  662. package/js/src/pro/bequant.js +6 -0
  663. package/js/src/pro/binance.d.ts +1 -1
  664. package/js/src/pro/binance.js +8 -1
  665. package/js/src/pro/binancecoinm.js +6 -0
  666. package/js/src/pro/binanceus.js +6 -0
  667. package/js/src/pro/binanceusdm.js +6 -0
  668. package/js/src/pro/bingx.js +6 -0
  669. package/js/src/pro/bitfinex.js +7 -1
  670. package/js/src/pro/bitget.js +7 -1
  671. package/js/src/pro/bithumb.js +6 -0
  672. package/js/src/pro/bitmart.js +7 -1
  673. package/js/src/pro/bitmex.js +7 -1
  674. package/js/src/pro/bitopro.js +6 -0
  675. package/js/src/pro/bitrue.js +6 -0
  676. package/js/src/pro/bitstamp.js +6 -0
  677. package/js/src/pro/bittrade.js +6 -0
  678. package/js/src/pro/bitvavo.d.ts +3 -3
  679. package/js/src/pro/bitvavo.js +12 -6
  680. package/js/src/pro/blockchaincom.js +7 -1
  681. package/js/src/pro/blofin.js +6 -0
  682. package/js/src/pro/bybit.js +8 -1
  683. package/js/src/pro/cex.js +8 -2
  684. package/js/src/pro/coinbase.js +6 -0
  685. package/js/src/pro/coinbaseadvanced.js +6 -0
  686. package/js/src/pro/coinbaseexchange.js +6 -0
  687. package/js/src/pro/coinbaseinternational.js +6 -0
  688. package/js/src/pro/coincatch.js +7 -1
  689. package/js/src/pro/coincheck.js +6 -0
  690. package/js/src/pro/coinex.js +15 -8
  691. package/js/src/pro/coinone.js +6 -0
  692. package/js/src/pro/cryptocom.d.ts +1 -1
  693. package/js/src/pro/cryptocom.js +7 -1
  694. package/js/src/pro/defx.js +6 -0
  695. package/js/src/pro/deribit.js +6 -0
  696. package/js/src/pro/derive.js +7 -1
  697. package/js/src/pro/exmo.js +6 -0
  698. package/js/src/pro/gate.d.ts +1 -1
  699. package/js/src/pro/gate.js +7 -1
  700. package/js/src/pro/gateio.js +6 -0
  701. package/js/src/pro/gemini.js +6 -0
  702. package/js/src/pro/hashkey.js +6 -0
  703. package/js/src/pro/hitbtc.d.ts +1 -1
  704. package/js/src/pro/hitbtc.js +7 -1
  705. package/js/src/pro/hollaex.js +6 -0
  706. package/js/src/pro/htx.d.ts +53 -1
  707. package/js/src/pro/htx.js +161 -12
  708. package/js/src/pro/huobi.js +6 -0
  709. package/js/src/pro/hyperliquid.d.ts +1 -1
  710. package/js/src/pro/hyperliquid.js +6 -0
  711. package/js/src/pro/independentreserve.js +6 -0
  712. package/js/src/pro/kraken.d.ts +2 -2
  713. package/js/src/pro/kraken.js +14 -8
  714. package/js/src/pro/krakenfutures.js +7 -1
  715. package/js/src/pro/kucoin.js +10 -4
  716. package/js/src/pro/kucoinfutures.js +10 -4
  717. package/js/src/pro/lbank.js +6 -0
  718. package/js/src/pro/luno.js +6 -0
  719. package/js/src/pro/mexc.js +12 -1
  720. package/js/src/pro/modetrade.js +8 -2
  721. package/js/src/pro/myokx.js +6 -0
  722. package/js/src/pro/ndax.js +6 -0
  723. package/js/src/pro/okcoin.js +6 -0
  724. package/js/src/pro/okx.d.ts +2 -2
  725. package/js/src/pro/okx.js +10 -2
  726. package/js/src/pro/okxus.js +6 -0
  727. package/js/src/pro/onetrading.js +7 -1
  728. package/js/src/pro/oxfun.d.ts +1 -1
  729. package/js/src/pro/oxfun.js +7 -1
  730. package/js/src/pro/p2b.js +6 -0
  731. package/js/src/pro/paradex.js +6 -0
  732. package/js/src/pro/phemex.d.ts +3 -3
  733. package/js/src/pro/phemex.js +14 -6
  734. package/js/src/pro/poloniex.d.ts +2 -2
  735. package/js/src/pro/poloniex.js +6 -0
  736. package/js/src/pro/probit.js +6 -0
  737. package/js/src/pro/toobit.js +7 -1
  738. package/js/src/pro/upbit.js +6 -0
  739. package/js/src/pro/whitebit.js +7 -1
  740. package/js/src/pro/woo.d.ts +65 -1
  741. package/js/src/pro/woo.js +175 -7
  742. package/js/src/pro/woofipro.js +8 -2
  743. package/js/src/pro/xt.js +6 -0
  744. package/js/src/probit.js +6 -0
  745. package/js/src/protobuf/mexc/compiled.cjs +6 -0
  746. package/js/src/static_dependencies/ethers/abi-coder.js +6 -0
  747. package/js/src/static_dependencies/ethers/address/address.js +6 -0
  748. package/js/src/static_dependencies/ethers/address/checks.js +6 -0
  749. package/js/src/static_dependencies/ethers/address/contract-address.js +6 -0
  750. package/js/src/static_dependencies/ethers/address/index.js +6 -0
  751. package/js/src/static_dependencies/ethers/bytes32.js +6 -0
  752. package/js/src/static_dependencies/ethers/coders/abstract-coder.js +6 -0
  753. package/js/src/static_dependencies/ethers/coders/address.js +6 -0
  754. package/js/src/static_dependencies/ethers/coders/anonymous.js +6 -0
  755. package/js/src/static_dependencies/ethers/coders/array.js +6 -0
  756. package/js/src/static_dependencies/ethers/coders/boolean.js +6 -0
  757. package/js/src/static_dependencies/ethers/coders/bytes.js +6 -0
  758. package/js/src/static_dependencies/ethers/coders/fixed-bytes.js +6 -0
  759. package/js/src/static_dependencies/ethers/coders/null.js +6 -0
  760. package/js/src/static_dependencies/ethers/coders/number.js +6 -0
  761. package/js/src/static_dependencies/ethers/coders/string.js +6 -0
  762. package/js/src/static_dependencies/ethers/coders/tuple.js +6 -0
  763. package/js/src/static_dependencies/ethers/fragments.js +6 -0
  764. package/js/src/static_dependencies/ethers/hash/index.js +6 -0
  765. package/js/src/static_dependencies/ethers/hash/solidity.js +6 -0
  766. package/js/src/static_dependencies/ethers/hash/typed-data.js +6 -0
  767. package/js/src/static_dependencies/ethers/index.js +6 -0
  768. package/js/src/static_dependencies/ethers/interface.js +6 -0
  769. package/js/src/static_dependencies/ethers/typed.js +6 -0
  770. package/js/src/static_dependencies/ethers/utils/base58.js +6 -0
  771. package/js/src/static_dependencies/ethers/utils/base64-browser.js +6 -0
  772. package/js/src/static_dependencies/ethers/utils/base64.js +6 -0
  773. package/js/src/static_dependencies/ethers/utils/data.js +6 -0
  774. package/js/src/static_dependencies/ethers/utils/errors.js +6 -0
  775. package/js/src/static_dependencies/ethers/utils/events.js +6 -0
  776. package/js/src/static_dependencies/ethers/utils/fixednumber.js +6 -0
  777. package/js/src/static_dependencies/ethers/utils/index.js +6 -0
  778. package/js/src/static_dependencies/ethers/utils/maths.js +6 -0
  779. package/js/src/static_dependencies/ethers/utils/properties.js +6 -0
  780. package/js/src/static_dependencies/ethers/utils/rlp-decode.js +6 -0
  781. package/js/src/static_dependencies/ethers/utils/rlp-encode.js +6 -0
  782. package/js/src/static_dependencies/ethers/utils/rlp.js +6 -0
  783. package/js/src/static_dependencies/ethers/utils/units.js +6 -0
  784. package/js/src/static_dependencies/ethers/utils/utf8.js +6 -0
  785. package/js/src/static_dependencies/ethers/utils/uuid.js +6 -0
  786. package/js/src/static_dependencies/fflake/browser.js +6 -0
  787. package/js/src/static_dependencies/jsencrypt/JSEncrypt.js +6 -0
  788. package/js/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +6 -0
  789. package/js/src/static_dependencies/jsencrypt/index.js +6 -0
  790. package/js/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +6 -0
  791. package/js/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +6 -0
  792. package/js/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +6 -0
  793. package/js/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +6 -0
  794. package/js/src/static_dependencies/jsencrypt/lib/asn1js/oids.js +6 -0
  795. package/js/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +6 -0
  796. package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +6 -0
  797. package/js/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +6 -0
  798. package/js/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +6 -0
  799. package/js/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +6 -0
  800. package/js/src/static_dependencies/jsencrypt/lib/jsbn/util.js +6 -0
  801. package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +6 -0
  802. package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +6 -0
  803. package/js/src/static_dependencies/messagepack/msgpack.js +6 -0
  804. package/js/src/static_dependencies/noble-curves/_shortw_utils.js +6 -0
  805. package/js/src/static_dependencies/noble-curves/abstract/curve.js +6 -0
  806. package/js/src/static_dependencies/noble-curves/abstract/edwards.js +6 -0
  807. package/js/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +6 -0
  808. package/js/src/static_dependencies/noble-curves/abstract/modular.js +6 -0
  809. package/js/src/static_dependencies/noble-curves/abstract/montgomery.js +6 -0
  810. package/js/src/static_dependencies/noble-curves/abstract/poseidon.js +6 -0
  811. package/js/src/static_dependencies/noble-curves/abstract/utils.js +6 -0
  812. package/js/src/static_dependencies/noble-curves/abstract/weierstrass.js +6 -0
  813. package/js/src/static_dependencies/noble-curves/bn.js +6 -0
  814. package/js/src/static_dependencies/noble-curves/ed25519.js +6 -0
  815. package/js/src/static_dependencies/noble-curves/ed448.js +6 -0
  816. package/js/src/static_dependencies/noble-curves/index.js +6 -0
  817. package/js/src/static_dependencies/noble-curves/jubjub.js +6 -0
  818. package/js/src/static_dependencies/noble-curves/p256.js +6 -0
  819. package/js/src/static_dependencies/noble-curves/p384.js +6 -0
  820. package/js/src/static_dependencies/noble-curves/p521.js +6 -0
  821. package/js/src/static_dependencies/noble-curves/pasta.js +6 -0
  822. package/js/src/static_dependencies/noble-curves/secp256k1.js +6 -0
  823. package/js/src/static_dependencies/noble-hashes/_assert.js +6 -0
  824. package/js/src/static_dependencies/noble-hashes/_blake2.js +6 -0
  825. package/js/src/static_dependencies/noble-hashes/_sha2.js +6 -0
  826. package/js/src/static_dependencies/noble-hashes/_u64.js +6 -0
  827. package/js/src/static_dependencies/noble-hashes/argon2.js +6 -0
  828. package/js/src/static_dependencies/noble-hashes/blake2b.js +6 -0
  829. package/js/src/static_dependencies/noble-hashes/blake2s.js +6 -0
  830. package/js/src/static_dependencies/noble-hashes/blake3.js +6 -0
  831. package/js/src/static_dependencies/noble-hashes/crypto.js +6 -0
  832. package/js/src/static_dependencies/noble-hashes/cryptoNode.js +6 -0
  833. package/js/src/static_dependencies/noble-hashes/eskdf.js +6 -0
  834. package/js/src/static_dependencies/noble-hashes/hkdf.js +6 -0
  835. package/js/src/static_dependencies/noble-hashes/hmac.js +6 -0
  836. package/js/src/static_dependencies/noble-hashes/index.js +6 -0
  837. package/js/src/static_dependencies/noble-hashes/md5.js +6 -0
  838. package/js/src/static_dependencies/noble-hashes/pbkdf2.js +6 -0
  839. package/js/src/static_dependencies/noble-hashes/ripemd160.js +6 -0
  840. package/js/src/static_dependencies/noble-hashes/scrypt.js +6 -0
  841. package/js/src/static_dependencies/noble-hashes/sha1.js +6 -0
  842. package/js/src/static_dependencies/noble-hashes/sha256.js +6 -0
  843. package/js/src/static_dependencies/noble-hashes/sha3-addons.js +6 -0
  844. package/js/src/static_dependencies/noble-hashes/sha3.js +6 -0
  845. package/js/src/static_dependencies/noble-hashes/sha512.js +6 -0
  846. package/js/src/static_dependencies/noble-hashes/utils.js +6 -0
  847. package/js/src/static_dependencies/node-fetch/body.js +6 -0
  848. package/js/src/static_dependencies/node-fetch/errors/abort-error.js +6 -0
  849. package/js/src/static_dependencies/node-fetch/errors/base.js +6 -0
  850. package/js/src/static_dependencies/node-fetch/errors/fetch-error.js +6 -0
  851. package/js/src/static_dependencies/node-fetch/headers.js +6 -0
  852. package/js/src/static_dependencies/node-fetch/index.js +6 -0
  853. package/js/src/static_dependencies/node-fetch/request.js +6 -0
  854. package/js/src/static_dependencies/node-fetch/response.js +6 -0
  855. package/js/src/static_dependencies/node-fetch/utils/get-search.js +6 -0
  856. package/js/src/static_dependencies/node-fetch/utils/is-redirect.js +6 -0
  857. package/js/src/static_dependencies/node-fetch/utils/is.js +6 -0
  858. package/js/src/static_dependencies/node-fetch/utils/referrer.js +6 -0
  859. package/js/src/static_dependencies/proxies/agent-base/helpers.js +6 -0
  860. package/js/src/static_dependencies/proxies/agent-base/index.js +6 -0
  861. package/js/src/static_dependencies/proxies/http-proxy-agent/index.js +6 -0
  862. package/js/src/static_dependencies/proxies/https-proxy-agent/index.js +6 -0
  863. package/js/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +6 -0
  864. package/js/src/static_dependencies/qs/formats.d.ts +8 -0
  865. package/js/src/static_dependencies/qs/formats.js +21 -0
  866. package/js/src/static_dependencies/qs/index.d.ts +19 -0
  867. package/js/src/static_dependencies/qs/index.js +21 -0
  868. package/js/src/static_dependencies/qs/parse.d.ts +1 -0
  869. package/js/src/static_dependencies/qs/parse.js +207 -0
  870. package/js/src/static_dependencies/qs/stringify.d.ts +1 -0
  871. package/js/src/static_dependencies/qs/stringify.js +191 -0
  872. package/js/src/static_dependencies/qs/{utils.cjs → utils.js} +7 -12
  873. package/js/src/static_dependencies/scure-base/index.js +6 -0
  874. package/js/src/static_dependencies/scure-starknet/index.js +6 -0
  875. package/js/src/static_dependencies/starknet/constants.js +6 -0
  876. package/js/src/static_dependencies/starknet/index.js +6 -0
  877. package/js/src/static_dependencies/starknet/types/cairoEnum.js +6 -0
  878. package/js/src/static_dependencies/starknet/types/calldata.js +6 -0
  879. package/js/src/static_dependencies/starknet/types/index.js +6 -0
  880. package/js/src/static_dependencies/starknet/types/lib/contract/abi.js +6 -0
  881. package/js/src/static_dependencies/starknet/types/lib/contract/index.js +6 -0
  882. package/js/src/static_dependencies/starknet/types/lib/contract/legacy.js +6 -0
  883. package/js/src/static_dependencies/starknet/types/lib/contract/sierra.js +6 -0
  884. package/js/src/static_dependencies/starknet/types/lib/index.js +6 -0
  885. package/js/src/static_dependencies/starknet/types/typedData.js +6 -0
  886. package/js/src/static_dependencies/starknet/utils/address.js +6 -0
  887. package/js/src/static_dependencies/starknet/utils/assert.js +6 -0
  888. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +6 -0
  889. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +6 -0
  890. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +6 -0
  891. package/js/src/static_dependencies/starknet/utils/calldata/byteArray.js +6 -0
  892. package/js/src/static_dependencies/starknet/utils/calldata/cairo.js +6 -0
  893. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +6 -0
  894. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +6 -0
  895. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +6 -0
  896. package/js/src/static_dependencies/starknet/utils/calldata/enum/index.js +6 -0
  897. package/js/src/static_dependencies/starknet/utils/calldata/formatter.js +6 -0
  898. package/js/src/static_dependencies/starknet/utils/calldata/index.js +6 -0
  899. package/js/src/static_dependencies/starknet/utils/calldata/parser/index.js +6 -0
  900. package/js/src/static_dependencies/starknet/utils/calldata/parser/interface.js +6 -0
  901. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +6 -0
  902. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +6 -0
  903. package/js/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +6 -0
  904. package/js/src/static_dependencies/starknet/utils/calldata/requestParser.js +6 -0
  905. package/js/src/static_dependencies/starknet/utils/calldata/responseParser.js +6 -0
  906. package/js/src/static_dependencies/starknet/utils/calldata/tuple.js +6 -0
  907. package/js/src/static_dependencies/starknet/utils/calldata/validate.js +6 -0
  908. package/js/src/static_dependencies/starknet/utils/encode.js +6 -0
  909. package/js/src/static_dependencies/starknet/utils/hash/classHash.js +6 -0
  910. package/js/src/static_dependencies/starknet/utils/hash/index.js +6 -0
  911. package/js/src/static_dependencies/starknet/utils/merkle.js +6 -0
  912. package/js/src/static_dependencies/starknet/utils/num.js +6 -0
  913. package/js/src/static_dependencies/starknet/utils/selector.js +6 -0
  914. package/js/src/static_dependencies/starknet/utils/shortString.js +6 -0
  915. package/js/src/static_dependencies/starknet/utils/starknetId.js +6 -0
  916. package/js/src/static_dependencies/starknet/utils/typedData.js +6 -0
  917. package/js/src/static_dependencies/starknet/utils/uint256.js +6 -0
  918. package/js/src/static_dependencies/starknet/utils/url.js +6 -0
  919. package/js/src/static_dependencies/watchable/src/index.js +6 -0
  920. package/js/src/static_dependencies/watchable/src/types.js +6 -0
  921. package/js/src/static_dependencies/watchable/src/unpromise.js +6 -0
  922. package/js/src/static_dependencies/zklink/zklink-sdk-web.js +6 -0
  923. package/js/src/timex.js +6 -0
  924. package/js/src/tokocrypto.js +6 -0
  925. package/js/src/toobit.js +6 -0
  926. package/js/src/upbit.d.ts +5 -3
  927. package/js/src/upbit.js +91 -70
  928. package/js/src/wavesexchange.js +6 -0
  929. package/js/src/whitebit.d.ts +84 -1
  930. package/js/src/whitebit.js +581 -32
  931. package/js/src/woo.js +6 -0
  932. package/js/src/woofipro.js +6 -0
  933. package/js/src/xt.js +6 -0
  934. package/js/src/yobit.js +6 -0
  935. package/js/src/zaif.js +6 -0
  936. package/js/src/zonda.js +6 -0
  937. package/package.json +21 -10
  938. package/js/src/static_dependencies/qs/formats.cjs +0 -16
  939. package/js/src/static_dependencies/qs/formats.d.cts +0 -8
  940. package/js/src/static_dependencies/qs/index.cjs +0 -9
  941. package/js/src/static_dependencies/qs/index.d.cts +0 -4
  942. package/js/src/static_dependencies/qs/parse.d.cts +0 -2
  943. package/js/src/static_dependencies/qs/stringify.d.cts +0 -2
  944. /package/js/src/static_dependencies/qs/{utils.d.cts → utils.d.ts} +0 -0
@@ -423,7 +423,7 @@ class derive extends derive$1["default"] {
423
423
  const url = this.urls['api']['ws'];
424
424
  const client = this.client(url);
425
425
  const messageHash = 'authenticated';
426
- const future = client.future(messageHash);
426
+ const future = client.reusableFuture(messageHash);
427
427
  const authenticated = this.safeValue(client.subscriptions, messageHash);
428
428
  if (authenticated === undefined) {
429
429
  const requestId = this.requestId(url);
@@ -7,7 +7,7 @@ var errors = require('../base/errors.js');
7
7
  var Cache = require('../base/ws/Cache.js');
8
8
  var sha512 = require('../static_dependencies/noble-hashes/sha512.js');
9
9
 
10
- // ---------------------------------------------------------------------------
10
+ // ----------------------------------------------------------------------------
11
11
  // ---------------------------------------------------------------------------
12
12
  class exmo extends exmo$1["default"] {
13
13
  describe() {
@@ -8,7 +8,7 @@ var Cache = require('../base/ws/Cache.js');
8
8
  var sha512 = require('../static_dependencies/noble-hashes/sha512.js');
9
9
  var Precise = require('../base/Precise.js');
10
10
 
11
- // ---------------------------------------------------------------------------
11
+ // ----------------------------------------------------------------------------
12
12
  // ---------------------------------------------------------------------------
13
13
  class gate extends gate$1["default"] {
14
14
  describe() {
@@ -2025,7 +2025,7 @@ class gate extends gate$1["default"] {
2025
2025
  const channel = messageType + '.login';
2026
2026
  const client = this.client(url);
2027
2027
  const messageHash = 'authenticated';
2028
- const future = client.future(messageHash);
2028
+ const future = client.reusableFuture(messageHash);
2029
2029
  const authenticated = this.safeValue(client.subscriptions, messageHash);
2030
2030
  if (authenticated === undefined) {
2031
2031
  return await this.requestPrivate(url, {}, channel, messageHash);
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var gate = require('./gate.js');
6
6
 
7
- // ---------------------------------------------------------------------------
7
+ // ----------------------------------------------------------------------------
8
8
  // ---------------------------------------------------------------------------
9
9
  class gateio extends gate["default"] {
10
10
  describe() {
@@ -8,7 +8,7 @@ var errors = require('../base/errors.js');
8
8
  var sha512 = require('../static_dependencies/noble-hashes/sha512.js');
9
9
  var Precise = require('../base/Precise.js');
10
10
 
11
- // ---------------------------------------------------------------------------
11
+ // ----------------------------------------------------------------------------
12
12
  // ---------------------------------------------------------------------------
13
13
  class gemini extends gemini$1["default"] {
14
14
  describe() {
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var hashkey$1 = require('../hashkey.js');
6
6
  var Cache = require('../base/ws/Cache.js');
7
7
 
8
- // ---------------------------------------------------------------------------
8
+ // ----------------------------------------------------------------------------
9
9
  // ---------------------------------------------------------------------------
10
10
  class hashkey extends hashkey$1["default"] {
11
11
  describe() {
@@ -7,7 +7,7 @@ var Cache = require('../base/ws/Cache.js');
7
7
  var sha256 = require('../static_dependencies/noble-hashes/sha256.js');
8
8
  var errors = require('../base/errors.js');
9
9
 
10
- // ---------------------------------------------------------------------------
10
+ // ----------------------------------------------------------------------------
11
11
  // ---------------------------------------------------------------------------
12
12
  class hitbtc extends hitbtc$1["default"] {
13
13
  describe() {
@@ -87,7 +87,7 @@ class hitbtc extends hitbtc$1["default"] {
87
87
  const url = this.urls['api']['ws']['private'];
88
88
  const messageHash = 'authenticated';
89
89
  const client = this.client(url);
90
- const future = client.future(messageHash);
90
+ const future = client.reusableFuture(messageHash);
91
91
  const authenticated = this.safeValue(client.subscriptions, messageHash);
92
92
  if (authenticated === undefined) {
93
93
  const timestamp = this.milliseconds();
@@ -7,7 +7,7 @@ var errors = require('../base/errors.js');
7
7
  var Cache = require('../base/ws/Cache.js');
8
8
  var sha256 = require('../static_dependencies/noble-hashes/sha256.js');
9
9
 
10
- // ---------------------------------------------------------------------------
10
+ // ----------------------------------------------------------------------------
11
11
  // ---------------------------------------------------------------------------
12
12
  class hollaex extends hollaex$1["default"] {
13
13
  describe() {
@@ -7,7 +7,7 @@ var errors = require('../base/errors.js');
7
7
  var Cache = require('../base/ws/Cache.js');
8
8
  var sha256 = require('../static_dependencies/noble-hashes/sha256.js');
9
9
 
10
- // ---------------------------------------------------------------------------
10
+ // ----------------------------------------------------------------------------
11
11
  // ---------------------------------------------------------------------------
12
12
  class htx extends htx$1["default"] {
13
13
  describe() {
@@ -32,6 +32,10 @@ class htx extends htx$1["default"] {
32
32
  'watchMyTrades': true,
33
33
  'watchBalance': true,
34
34
  'watchOHLCV': true,
35
+ 'unwatchTicker': true,
36
+ 'unwatchOHLCV': true,
37
+ 'unwatchTrades': true,
38
+ 'unwatchOrderBook': true,
35
39
  },
36
40
  'urls': {
37
41
  'api': {
@@ -101,6 +105,7 @@ class htx extends htx$1["default"] {
101
105
  'watchOrderBook': {
102
106
  'maxRetries': 3,
103
107
  'checksum': true,
108
+ 'depth': 150, // 150 or 20
104
109
  },
105
110
  'ws': {
106
111
  'gunzip': true,
@@ -143,7 +148,7 @@ class htx extends htx$1["default"] {
143
148
  await this.loadMarkets();
144
149
  const market = this.market(symbol);
145
150
  symbol = market['symbol'];
146
- const options = this.safeValue(this.options, 'watchTicker', {});
151
+ const options = this.safeDict(this.options, 'watchTicker', {});
147
152
  const topic = this.safeString(options, 'name', 'market.{marketId}.detail');
148
153
  if (topic === 'market.{marketId}.ticker' && market['type'] !== 'spot') {
149
154
  throw new errors.BadRequest(this.id + ' watchTicker() with name market.{marketId}.ticker is only allowed for spot markets, use market.{marketId}.detail instead');
@@ -152,6 +157,28 @@ class htx extends htx$1["default"] {
152
157
  const url = this.getUrlByMarketType(market['type'], market['linear']);
153
158
  return await this.subscribePublic(url, symbol, messageHash, undefined, params);
154
159
  }
160
+ /**
161
+ * @method
162
+ * @name htx#unWatchTicker
163
+ * @description unWatches a price ticker, a statistical calculation with the information calculated over the past 24 hours for all markets of a specific list
164
+ * @see https://www.htx.com/en-us/opend/newApiPages/?id=7ec53561-7773-11ed-9966-0242ac110003
165
+ * @see https://www.htx.com/en-us/opend/newApiPages/?id=28c33ab2-77ae-11ed-9966-0242ac110003
166
+ * @param {string} symbol unified symbol of the market to fetch the ticker for
167
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
168
+ * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
169
+ */
170
+ async unWatchTicker(symbol, params = {}) {
171
+ await this.loadMarkets();
172
+ const market = this.market(symbol);
173
+ const topic = 'ticker';
174
+ const options = this.safeDict(this.options, 'watchTicker', {});
175
+ const channel = this.safeString(options, 'name', 'market.{marketId}.detail');
176
+ if (channel === 'market.{marketId}.ticker' && market['type'] !== 'spot') {
177
+ throw new errors.BadRequest(this.id + ' watchTicker() with name market.{marketId}.ticker is only allowed for spot markets, use market.{marketId}.detail instead');
178
+ }
179
+ const subMessageHash = this.implodeParams(channel, { 'marketId': market['id'] });
180
+ return await this.unsubscribePublic(market, subMessageHash, topic, params);
181
+ }
155
182
  handleTicker(client, message) {
156
183
  //
157
184
  // "market.btcusdt.detail"
@@ -224,6 +251,26 @@ class htx extends htx$1["default"] {
224
251
  }
225
252
  return this.filterBySinceLimit(trades, since, limit, 'timestamp', true);
226
253
  }
254
+ /**
255
+ * @method
256
+ * @name htx#unWatchTrades
257
+ * @description unWatches a price ticker, a statistical calculation with the information calculated over the past 24 hours for all markets of a specific list
258
+ * @see https://www.htx.com/en-us/opend/newApiPages/?id=7ec53b69-7773-11ed-9966-0242ac110003
259
+ * @see https://www.htx.com/en-us/opend/newApiPages/?id=28c33c21-77ae-11ed-9966-0242ac110003
260
+ * @see https://www.htx.com/en-us/opend/newApiPages/?id=28c33cfe-77ae-11ed-9966-0242ac110003
261
+ * @param {string} symbol unified symbol of the market to fetch the ticker for
262
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
263
+ * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
264
+ */
265
+ async unWatchTrades(symbol, params = {}) {
266
+ await this.loadMarkets();
267
+ const market = this.market(symbol);
268
+ const topic = 'trades';
269
+ const options = this.safeDict(this.options, 'watchTrades', {});
270
+ const channel = this.safeString(options, 'name', 'market.{marketId}.trade.detail');
271
+ const subMessageHash = this.implodeParams(channel, { 'marketId': market['id'] });
272
+ return await this.unsubscribePublic(market, subMessageHash, topic, params);
273
+ }
227
274
  handleTrades(client, message) {
228
275
  //
229
276
  // {
@@ -292,6 +339,28 @@ class htx extends htx$1["default"] {
292
339
  }
293
340
  return this.filterBySinceLimit(ohlcv, since, limit, 0, true);
294
341
  }
342
+ /**
343
+ * @method
344
+ * @name htx#unWatchOHLCV
345
+ * @description unWatches historical candlestick data containing the open, high, low, and close price, and the volume of a market
346
+ * @see https://www.htx.com/en-us/opend/newApiPages/?id=7ec53241-7773-11ed-9966-0242ac110003
347
+ * @see https://www.htx.com/en-us/opend/newApiPages/?id=28c3346a-77ae-11ed-9966-0242ac110003
348
+ * @see https://www.htx.com/en-us/opend/newApiPages/?id=28c33563-77ae-11ed-9966-0242ac110003
349
+ * @param {string} symbol unified symbol of the market
350
+ * @param {string} timeframe the length of time each candle represents
351
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
352
+ * @param {object} [params.timezone] if provided, kline intervals are interpreted in that timezone instead of UTC, example '+08:00'
353
+ * @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
354
+ */
355
+ async unWatchOHLCV(symbol, timeframe = '1m', params = {}) {
356
+ await this.loadMarkets();
357
+ const market = this.market(symbol);
358
+ const interval = this.safeString(this.timeframes, timeframe, timeframe);
359
+ const subMessageHash = 'market.' + market['id'] + '.kline.' + interval;
360
+ const topic = 'ohlcv';
361
+ params['symbolsAndTimeframes'] = [[market['symbol'], timeframe]];
362
+ return await this.unsubscribePublic(market, subMessageHash, topic, params);
363
+ }
295
364
  handleOHLCV(client, message) {
296
365
  //
297
366
  // {
@@ -349,18 +418,17 @@ class htx extends htx$1["default"] {
349
418
  // which means whenever there is an order book change at that level, it pushes an update;
350
419
  // 150-levels/400-level incremental MBP feed is based on the gap
351
420
  // between two snapshots at 100ms interval.
352
- if (limit === undefined) {
353
- limit = market['spot'] ? 150 : 20;
354
- }
355
- if (!this.inArray(limit, allowedLimits)) {
421
+ const options = this.safeDict(this.options, 'watchOrderBook', {});
422
+ const depth = this.safeInteger(options, 'depth', 150);
423
+ if (!this.inArray(depth, allowedLimits)) {
356
424
  throw new errors.ExchangeError(this.id + ' watchOrderBook market accepts limits of 20 and 150 only');
357
425
  }
358
426
  let messageHash = undefined;
359
427
  if (market['spot']) {
360
- messageHash = 'market.' + market['id'] + '.mbp.' + limit.toString();
428
+ messageHash = 'market.' + market['id'] + '.mbp.' + this.numberToString(depth);
361
429
  }
362
430
  else {
363
- messageHash = 'market.' + market['id'] + '.depth.size_' + limit.toString() + '.high_freq';
431
+ messageHash = 'market.' + market['id'] + '.depth.size_' + this.numberToString(depth) + '.high_freq';
364
432
  }
365
433
  const url = this.getUrlByMarketType(market['type'], market['linear'], false, true);
366
434
  let method = this.handleOrderBookSubscription;
@@ -372,6 +440,36 @@ class htx extends htx$1["default"] {
372
440
  const orderbook = await this.subscribePublic(url, symbol, messageHash, method, params);
373
441
  return orderbook.limit();
374
442
  }
443
+ /**
444
+ * @method
445
+ * @name htx#unWatchOrderBook
446
+ * @description unsubscribe from the orderbook channel
447
+ * @see https://huobiapi.github.io/docs/dm/v1/en/#subscribe-market-depth-data
448
+ * @see https://huobiapi.github.io/docs/coin_margined_swap/v1/en/#subscribe-incremental-market-depth-data
449
+ * @see https://huobiapi.github.io/docs/usdt_swap/v1/en/#general-subscribe-incremental-market-depth-data
450
+ * @param {string} symbol unified symbol of the market to fetch the order book for
451
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
452
+ * @param {int} [params.limit] orderbook limit, default is undefined
453
+ * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
454
+ */
455
+ async unWatchOrderBook(symbol, params = {}) {
456
+ await this.loadMarkets();
457
+ const market = this.market(symbol);
458
+ const topic = 'orderbook';
459
+ const options = this.safeDict(this.options, 'watchOrderBook', {});
460
+ const depth = this.safeInteger(options, 'depth', 150);
461
+ let subMessageHash = undefined;
462
+ if (market['spot']) {
463
+ subMessageHash = 'market.' + market['id'] + '.mbp.' + this.numberToString(depth);
464
+ }
465
+ else {
466
+ subMessageHash = 'market.' + market['id'] + '.depth.size_' + this.numberToString(depth) + '.high_freq';
467
+ }
468
+ if (!(market['spot'])) {
469
+ params['data_type'] = 'incremental';
470
+ }
471
+ return await this.unsubscribePublic(market, subMessageHash, topic, params);
472
+ }
375
473
  handleOrderBookSnapshot(client, message, subscription) {
376
474
  //
377
475
  // {
@@ -969,7 +1067,7 @@ class htx extends htx$1["default"] {
969
1067
  else {
970
1068
  // contract branch
971
1069
  parsedOrder = this.parseWsOrder(message, market);
972
- const rawTrades = this.safeList(message, 'trade', []);
1070
+ const rawTrades = this.safeValue(message, 'trade', []);
973
1071
  const tradesLength = rawTrades.length;
974
1072
  if (tradesLength > 0) {
975
1073
  const tradesObject = {
@@ -1708,20 +1806,41 @@ class htx extends htx$1["default"] {
1708
1806
  // "ts": 1583414229143
1709
1807
  // }
1710
1808
  //
1809
+ // unsubscribe
1810
+ // {
1811
+ // "id": "2",
1812
+ // "status": "ok",
1813
+ // "unsubbed": "market.BTC-USDT-251003.detail",
1814
+ // "ts": 1759329276980
1815
+ // }
1816
+ //
1711
1817
  const id = this.safeString(message, 'id');
1712
1818
  const subscriptionsById = this.indexBy(client.subscriptions, 'id');
1713
- const subscription = this.safeValue(subscriptionsById, id);
1819
+ const subscription = this.safeDict(subscriptionsById, id);
1714
1820
  if (subscription !== undefined) {
1715
1821
  const method = this.safeValue(subscription, 'method');
1716
1822
  if (method !== undefined) {
1717
1823
  method.call(this, client, message, subscription);
1718
- return;
1824
+ // return; commented out to clean up
1719
1825
  }
1720
1826
  // clean up
1721
1827
  if (id in client.subscriptions) {
1722
1828
  delete client.subscriptions[id];
1723
1829
  }
1724
1830
  }
1831
+ if ('unsubbed' in message) {
1832
+ this.handleUnSubscription(client, subscription);
1833
+ }
1834
+ }
1835
+ handleUnSubscription(client, subscription) {
1836
+ const messageHashes = this.safeList(subscription, 'messageHashes', []);
1837
+ const subMessageHashes = this.safeList(subscription, 'subMessageHashes', []);
1838
+ for (let i = 0; i < messageHashes.length; i++) {
1839
+ const unsubHash = messageHashes[i];
1840
+ const subHash = subMessageHashes[i];
1841
+ this.cleanUnsubscription(client, subHash, unsubHash);
1842
+ }
1843
+ this.cleanCache(subscription);
1725
1844
  }
1726
1845
  handleSystemStatus(client, message) {
1727
1846
  //
@@ -2305,6 +2424,30 @@ class htx extends htx$1["default"] {
2305
2424
  }
2306
2425
  return await this.watch(url, messageHash, this.extend(request, params), messageHash, subscription);
2307
2426
  }
2427
+ async unsubscribePublic(market, subMessageHash, topic, params = {}) {
2428
+ const requestId = this.requestId();
2429
+ const request = {
2430
+ 'unsub': subMessageHash,
2431
+ 'id': requestId,
2432
+ };
2433
+ const messageHash = 'unsubscribe::' + subMessageHash;
2434
+ const isFeed = (topic === 'orderbook');
2435
+ const url = this.getUrlByMarketType(market['type'], market['linear'], false, isFeed);
2436
+ const subscription = {
2437
+ 'unsubscribe': true,
2438
+ 'id': requestId,
2439
+ 'subMessageHashes': [subMessageHash],
2440
+ 'messageHashes': [messageHash],
2441
+ 'symbols': [market['symbol']],
2442
+ 'topic': topic,
2443
+ };
2444
+ const symbolsAndTimeframes = this.safeList(params, 'symbolsAndTimeframes');
2445
+ if (symbolsAndTimeframes !== undefined) {
2446
+ subscription['symbolsAndTimeframes'] = symbolsAndTimeframes;
2447
+ params = this.omit(params, 'symbolsAndTimeframes');
2448
+ }
2449
+ return await this.watch(url, messageHash, this.extend(request, params), messageHash, subscription);
2450
+ }
2308
2451
  async subscribePrivate(channel, messageHash, type, subtype, params = {}, subscriptionParams = {}) {
2309
2452
  const requestId = this.requestId();
2310
2453
  const subscription = {
@@ -2349,7 +2492,7 @@ class htx extends htx$1["default"] {
2349
2492
  const messageHash = 'auth';
2350
2493
  const relativePath = url.replace('wss://' + hostname, '');
2351
2494
  const client = this.client(url);
2352
- const future = client.future(messageHash);
2495
+ const future = client.reusableFuture(messageHash);
2353
2496
  const authenticated = this.safeValue(client.subscriptions, messageHash);
2354
2497
  if (authenticated === undefined) {
2355
2498
  const timestamp = this.ymdhms(this.milliseconds(), 'T');
@@ -2371,7 +2514,7 @@ class htx extends htx$1["default"] {
2371
2514
  };
2372
2515
  }
2373
2516
  signatureParams = this.keysort(signatureParams);
2374
- const auth = this.urlencode(signatureParams);
2517
+ const auth = this.urlencode(signatureParams, true); // true required in go
2375
2518
  const payload = ['GET', hostname, relativePath, auth].join("\n"); // eslint-disable-line quotes
2376
2519
  const signature = this.hmac(this.encode(payload), this.encode(this.secret), sha256.sha256, 'base64');
2377
2520
  let request = undefined;
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var htx = require('./htx.js');
6
6
 
7
- // ---------------------------------------------------------------------------
7
+ // ----------------------------------------------------------------------------
8
8
  // ---------------------------------------------------------------------------
9
9
  class huobi extends htx["default"] {
10
10
  describe() {
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var hyperliquid$1 = require('../hyperliquid.js');
6
6
  var Cache = require('../base/ws/Cache.js');
7
7
 
8
- // ---------------------------------------------------------------------------
8
+ // ----------------------------------------------------------------------------
9
9
  // ---------------------------------------------------------------------------
10
10
  class hyperliquid extends hyperliquid$1["default"] {
11
11
  describe() {
@@ -6,7 +6,7 @@ var independentreserve$1 = require('../independentreserve.js');
6
6
  var errors = require('../base/errors.js');
7
7
  var Cache = require('../base/ws/Cache.js');
8
8
 
9
- // ---------------------------------------------------------------------------
9
+ // ----------------------------------------------------------------------------
10
10
  // ---------------------------------------------------------------------------
11
11
  class independentreserve extends independentreserve$1["default"] {
12
12
  describe() {
@@ -7,7 +7,7 @@ var errors = require('../base/errors.js');
7
7
  var Cache = require('../base/ws/Cache.js');
8
8
  var Precise = require('../base/Precise.js');
9
9
 
10
- // ---------------------------------------------------------------------------
10
+ // ----------------------------------------------------------------------------
11
11
  // ---------------------------------------------------------------------------
12
12
  class kraken extends kraken$1["default"] {
13
13
  describe() {
@@ -298,7 +298,7 @@ class kraken extends kraken$1["default"] {
298
298
  const market = this.market(symbol);
299
299
  const url = this.urls['api']['ws']['privateV2'];
300
300
  const requestId = this.requestId();
301
- const messageHash = requestId;
301
+ const messageHash = this.numberToString(requestId);
302
302
  let request = {
303
303
  'method': 'add_order',
304
304
  'params': {
@@ -342,7 +342,7 @@ class kraken extends kraken$1["default"] {
342
342
  //
343
343
  const result = this.safeDict(message, 'result', {});
344
344
  const order = this.parseOrder(result);
345
- const messageHash = this.safeValue2(message, 'reqid', 'req_id');
345
+ const messageHash = this.safeString2(message, 'reqid', 'req_id');
346
346
  client.resolve(order, messageHash);
347
347
  }
348
348
  /**
@@ -364,7 +364,7 @@ class kraken extends kraken$1["default"] {
364
364
  const token = await this.authenticate();
365
365
  const url = this.urls['api']['ws']['privateV2'];
366
366
  const requestId = this.requestId();
367
- const messageHash = requestId;
367
+ const messageHash = this.numberToString(requestId);
368
368
  let request = {
369
369
  'method': 'amend_order',
370
370
  'params': {
@@ -395,7 +395,7 @@ class kraken extends kraken$1["default"] {
395
395
  const token = await this.authenticate();
396
396
  const url = this.urls['api']['ws']['privateV2'];
397
397
  const requestId = this.requestId();
398
- const messageHash = requestId;
398
+ const messageHash = this.numberToString(requestId);
399
399
  const request = {
400
400
  'method': 'cancel_order',
401
401
  'params': {
@@ -424,7 +424,7 @@ class kraken extends kraken$1["default"] {
424
424
  const token = await this.authenticate();
425
425
  const url = this.urls['api']['ws']['privateV2'];
426
426
  const requestId = this.requestId();
427
- const messageHash = requestId;
427
+ const messageHash = this.numberToString(requestId);
428
428
  const request = {
429
429
  'method': 'cancel_order',
430
430
  'params': {
@@ -448,7 +448,7 @@ class kraken extends kraken$1["default"] {
448
448
  // "time_out": "2023-09-21T14:36:57.437952Z"
449
449
  // }
450
450
  //
451
- const reqId = this.safeValue(message, 'req_id');
451
+ const reqId = this.safeString(message, 'req_id');
452
452
  client.resolve(message, reqId);
453
453
  }
454
454
  /**
@@ -468,7 +468,7 @@ class kraken extends kraken$1["default"] {
468
468
  const token = await this.authenticate();
469
469
  const url = this.urls['api']['ws']['privateV2'];
470
470
  const requestId = this.requestId();
471
- const messageHash = requestId;
471
+ const messageHash = this.numberToString(requestId);
472
472
  const request = {
473
473
  'method': 'cancel_all',
474
474
  'params': {
@@ -491,7 +491,7 @@ class kraken extends kraken$1["default"] {
491
491
  // "time_out": "2023-09-21T14:36:57.437952Z"
492
492
  // }
493
493
  //
494
- const reqId = this.safeValue(message, 'req_id');
494
+ const reqId = this.safeString(message, 'req_id');
495
495
  client.resolve(message, reqId);
496
496
  }
497
497
  handleTicker(client, message) {
@@ -9,7 +9,7 @@ var Precise = require('../base/Precise.js');
9
9
  var sha256 = require('../static_dependencies/noble-hashes/sha256.js');
10
10
  var sha512 = require('../static_dependencies/noble-hashes/sha512.js');
11
11
 
12
- // ---------------------------------------------------------------------------
12
+ // ----------------------------------------------------------------------------
13
13
  // ---------------------------------------------------------------------------
14
14
  class krakenfutures extends krakenfutures$1["default"] {
15
15
  describe() {
@@ -78,7 +78,7 @@ class krakenfutures extends krakenfutures$1["default"] {
78
78
  const url = this.urls['api']['ws'];
79
79
  const messageHash = 'challenge';
80
80
  const client = this.client(url);
81
- const future = client.future(messageHash);
81
+ const future = client.reusableFuture(messageHash);
82
82
  const authenticated = this.safeValue(client.subscriptions, messageHash);
83
83
  if (authenticated === undefined) {
84
84
  const request = {
@@ -6,7 +6,7 @@ var kucoin$1 = require('../kucoin.js');
6
6
  var errors = require('../base/errors.js');
7
7
  var Cache = require('../base/ws/Cache.js');
8
8
 
9
- // ---------------------------------------------------------------------------
9
+ // ----------------------------------------------------------------------------
10
10
  // ---------------------------------------------------------------------------
11
11
  class kucoin extends kucoin$1["default"] {
12
12
  describe() {
@@ -62,16 +62,16 @@ class kucoin extends kucoin$1["default"] {
62
62
  async negotiate(privateChannel, params = {}) {
63
63
  const connectId = privateChannel ? 'private' : 'public';
64
64
  const urls = this.safeValue(this.options, 'urls', {});
65
- const spawaned = this.safeValue(urls, connectId);
66
- if (spawaned !== undefined) {
67
- return await spawaned;
65
+ let future = this.safeValue(urls, connectId);
66
+ if (future !== undefined) {
67
+ return await future;
68
68
  }
69
69
  // we store an awaitable to the url
70
70
  // so that multiple calls don't asynchronously
71
71
  // fetch different urls and overwrite each other
72
72
  urls[connectId] = this.spawn(this.negotiateHelper, privateChannel, params);
73
73
  this.options['urls'] = urls;
74
- const future = urls[connectId];
74
+ future = urls[connectId];
75
75
  return await future;
76
76
  }
77
77
  async negotiateHelper(privateChannel, params = {}) {
@@ -6,7 +6,7 @@ var kucoinfutures$1 = require('../kucoinfutures.js');
6
6
  var errors = require('../base/errors.js');
7
7
  var Cache = require('../base/ws/Cache.js');
8
8
 
9
- // ---------------------------------------------------------------------------
9
+ // ----------------------------------------------------------------------------
10
10
  // ---------------------------------------------------------------------------
11
11
  class kucoinfutures extends kucoinfutures$1["default"] {
12
12
  describe() {
@@ -81,16 +81,16 @@ class kucoinfutures extends kucoinfutures$1["default"] {
81
81
  async negotiate(privateChannel, params = {}) {
82
82
  const connectId = privateChannel ? 'private' : 'public';
83
83
  const urls = this.safeValue(this.options, 'urls', {});
84
- const spawaned = this.safeValue(urls, connectId);
85
- if (spawaned !== undefined) {
86
- return await spawaned;
84
+ let future = this.safeValue(urls, connectId);
85
+ if (future !== undefined) {
86
+ return await future;
87
87
  }
88
88
  // we store an awaitable to the url
89
89
  // so that multiple calls don't asynchronously
90
90
  // fetch different urls and overwrite each other
91
91
  urls[connectId] = this.spawn(this.negotiateHelper, privateChannel, params); // we have to wait here otherwsie in c# will not work
92
92
  this.options['urls'] = urls;
93
- const future = urls[connectId];
93
+ future = urls[connectId];
94
94
  return await future;
95
95
  }
96
96
  async negotiateHelper(privateChannel, params = {}) {
@@ -6,6 +6,7 @@ var lbank$1 = require('../lbank.js');
6
6
  var errors = require('../base/errors.js');
7
7
  var Cache = require('../base/ws/Cache.js');
8
8
 
9
+ // ----------------------------------------------------------------------------
9
10
  // ---------------------------------------------------------------------------
10
11
  class lbank extends lbank$1["default"] {
11
12
  describe() {
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var luno$1 = require('../luno.js');
6
6
  var Cache = require('../base/ws/Cache.js');
7
7
 
8
- // ---------------------------------------------------------------------------
8
+ // ----------------------------------------------------------------------------
9
9
  // ---------------------------------------------------------------------------
10
10
  class luno extends luno$1["default"] {
11
11
  describe() {
@@ -7,7 +7,7 @@ var errors = require('../base/errors.js');
7
7
  var Cache = require('../base/ws/Cache.js');
8
8
  var sha256 = require('../static_dependencies/noble-hashes/sha256.js');
9
9
 
10
- // ---------------------------------------------------------------------------
10
+ // ----------------------------------------------------------------------------
11
11
  // ---------------------------------------------------------------------------
12
12
  class mexc extends mexc$1["default"] {
13
13
  describe() {
@@ -865,6 +865,7 @@ class mexc extends mexc$1["default"] {
865
865
  }
866
866
  const storedOrderBook = this.orderbooks[symbol];
867
867
  const nonce = this.safeInteger(storedOrderBook, 'nonce');
868
+ let shouldReturn = false;
868
869
  if (nonce === undefined) {
869
870
  const cacheLength = storedOrderBook.cache.length;
870
871
  const snapshotDelay = this.handleOption('watchOrderBook', 'snapshotDelay', 25);
@@ -883,7 +884,11 @@ class mexc extends mexc$1["default"] {
883
884
  catch (e) {
884
885
  delete client.subscriptions[messageHash];
885
886
  client.reject(e, messageHash);
886
- return;
887
+ // return;
888
+ shouldReturn = true;
889
+ }
890
+ if (shouldReturn) {
891
+ return; // go requirement
887
892
  }
888
893
  client.resolve(storedOrderBook, messageHash);
889
894
  }
@@ -79,7 +79,7 @@ class modetrade extends modetrade$1["default"] {
79
79
  async watchPublic(messageHash, message) {
80
80
  // the default id
81
81
  let id = 'OqdphuyCtYWxwzhxyLLjOWNdFP7sQt8RPWzmb5xY';
82
- if (this.accountId !== undefined) {
82
+ if (this.accountId !== undefined && this.accountId !== '') {
83
83
  id = this.accountId;
84
84
  }
85
85
  const url = this.urls['api']['ws']['public'] + '/' + id;
@@ -594,7 +594,7 @@ class modetrade extends modetrade$1["default"] {
594
594
  const client = this.client(url);
595
595
  const messageHash = 'authenticated';
596
596
  const event = 'auth';
597
- const future = client.future(messageHash);
597
+ const future = client.reusableFuture(messageHash);
598
598
  const authenticated = this.safeValue(client.subscriptions, messageHash);
599
599
  if (authenticated === undefined) {
600
600
  const ts = this.nonce().toString();