ccxt 4.5.61 → 4.5.63

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 (867) hide show
  1. package/README.md +19 -17
  2. package/dist/ccxt.browser.min.js +4 -4
  3. package/dist/cjs/ccxt.js +6 -1
  4. package/dist/cjs/src/abstract/aftermath.js +1 -1
  5. package/dist/cjs/src/abstract/alpaca.js +1 -1
  6. package/dist/cjs/src/abstract/apex.js +1 -1
  7. package/dist/cjs/src/abstract/ascendex.js +1 -1
  8. package/dist/cjs/src/abstract/aster.js +1 -1
  9. package/dist/cjs/src/abstract/backpack.js +1 -1
  10. package/dist/cjs/src/abstract/bigone.js +1 -1
  11. package/dist/cjs/src/abstract/binance.js +1 -1
  12. package/dist/cjs/src/abstract/bingx.js +1 -1
  13. package/dist/cjs/src/abstract/bit2c.js +1 -1
  14. package/dist/cjs/src/abstract/bitbank.js +1 -1
  15. package/dist/cjs/src/abstract/bitbns.js +1 -1
  16. package/dist/cjs/src/abstract/bitfinex.js +1 -1
  17. package/dist/cjs/src/abstract/bitflyer.js +1 -1
  18. package/dist/cjs/src/abstract/bitget.js +1 -1
  19. package/dist/cjs/src/abstract/bithumb.js +1 -1
  20. package/dist/cjs/src/abstract/bitmart.js +1 -1
  21. package/dist/cjs/src/abstract/bitmex.js +1 -1
  22. package/dist/cjs/src/abstract/bitopro.js +1 -1
  23. package/dist/cjs/src/abstract/bitrue.js +1 -1
  24. package/dist/cjs/src/abstract/bitso.js +1 -1
  25. package/dist/cjs/src/abstract/bitstamp.js +1 -1
  26. package/dist/cjs/src/abstract/bitteam.js +1 -1
  27. package/dist/cjs/src/abstract/bittrade.js +1 -1
  28. package/dist/cjs/src/abstract/bitvavo.js +1 -1
  29. package/dist/cjs/src/abstract/blockchaincom.js +1 -1
  30. package/dist/cjs/src/abstract/blofin.js +1 -1
  31. package/dist/cjs/src/abstract/btcbox.js +1 -1
  32. package/dist/cjs/src/abstract/btcmarkets.js +1 -1
  33. package/dist/cjs/src/abstract/btcturk.js +1 -1
  34. package/dist/cjs/src/abstract/bullish.js +1 -1
  35. package/dist/cjs/src/abstract/bybit.js +1 -1
  36. package/dist/cjs/src/abstract/bydfi.js +1 -1
  37. package/dist/cjs/src/abstract/cex.js +1 -1
  38. package/dist/cjs/src/abstract/coinbase.js +1 -1
  39. package/dist/cjs/src/abstract/coinbaseexchange.js +1 -1
  40. package/dist/cjs/src/abstract/coinbaseinternational.js +1 -1
  41. package/dist/cjs/src/abstract/coincheck.js +1 -1
  42. package/dist/cjs/src/abstract/coinex.js +1 -1
  43. package/dist/cjs/src/abstract/coinmate.js +1 -1
  44. package/dist/cjs/src/abstract/coinmetro.js +1 -1
  45. package/dist/cjs/src/abstract/coinone.js +1 -1
  46. package/dist/cjs/src/abstract/coinsph.js +1 -1
  47. package/dist/cjs/src/abstract/coinspot.js +1 -1
  48. package/dist/cjs/src/abstract/cryptocom.js +1 -1
  49. package/dist/cjs/src/abstract/cryptomus.js +1 -1
  50. package/dist/cjs/src/abstract/deepcoin.js +1 -1
  51. package/dist/cjs/src/abstract/delta.js +1 -1
  52. package/dist/cjs/src/abstract/deribit.js +1 -1
  53. package/dist/cjs/src/abstract/derive.js +1 -1
  54. package/dist/cjs/src/abstract/digifinex.js +1 -1
  55. package/dist/cjs/src/abstract/dydx.js +1 -1
  56. package/dist/cjs/src/abstract/exmo.js +1 -1
  57. package/dist/cjs/src/abstract/extended.js +1 -1
  58. package/dist/cjs/src/abstract/foxbit.js +1 -1
  59. package/dist/cjs/src/abstract/gate.js +1 -1
  60. package/dist/cjs/src/abstract/gemini.js +1 -1
  61. package/dist/cjs/src/abstract/grvt.js +1 -1
  62. package/dist/cjs/src/abstract/hashkey.js +1 -1
  63. package/dist/cjs/src/abstract/hibachi.js +1 -1
  64. package/dist/cjs/src/abstract/hitbtc.js +1 -1
  65. package/dist/cjs/src/abstract/hollaex.js +1 -1
  66. package/dist/cjs/src/abstract/htx.js +1 -1
  67. package/dist/cjs/src/abstract/hyperliquid.js +1 -1
  68. package/dist/cjs/src/abstract/independentreserve.js +1 -1
  69. package/dist/cjs/src/abstract/indodax.js +1 -1
  70. package/dist/cjs/src/abstract/kraken.js +1 -1
  71. package/dist/cjs/src/abstract/krakenfutures.js +1 -1
  72. package/dist/cjs/src/abstract/kucoin.js +1 -1
  73. package/dist/cjs/src/abstract/latoken.js +1 -1
  74. package/dist/cjs/src/abstract/lbank.js +1 -1
  75. package/dist/cjs/src/abstract/lighter.js +1 -1
  76. package/dist/cjs/src/abstract/luno.js +1 -1
  77. package/dist/cjs/src/abstract/mercado.js +1 -1
  78. package/dist/cjs/src/abstract/mexc.js +1 -1
  79. package/dist/cjs/src/abstract/modetrade.js +1 -1
  80. package/dist/cjs/src/abstract/ndax.js +1 -1
  81. package/dist/cjs/src/abstract/novadax.js +1 -1
  82. package/dist/cjs/src/abstract/okx.js +1 -1
  83. package/dist/cjs/src/abstract/onetrading.js +1 -1
  84. package/dist/cjs/src/abstract/p2b.js +1 -1
  85. package/dist/cjs/src/abstract/pacifica.js +1 -1
  86. package/dist/cjs/src/abstract/paradex.js +1 -1
  87. package/dist/cjs/src/abstract/paymium.js +1 -1
  88. package/dist/cjs/src/abstract/phemex.js +1 -1
  89. package/dist/cjs/src/abstract/poloniex.js +1 -1
  90. package/dist/cjs/src/abstract/tokocrypto.js +1 -1
  91. package/dist/cjs/src/abstract/toobit.js +1 -1
  92. package/dist/cjs/src/abstract/upbit.js +1 -1
  93. package/dist/cjs/src/abstract/weex.js +1 -1
  94. package/dist/cjs/src/abstract/whitebit.js +1 -1
  95. package/dist/cjs/src/abstract/woo.js +1 -1
  96. package/dist/cjs/src/abstract/woofipro.js +1 -1
  97. package/dist/cjs/src/abstract/xt.js +1 -1
  98. package/dist/cjs/src/abstract/zaif.js +1 -1
  99. package/dist/cjs/src/abstract/zebpay.js +1 -1
  100. package/dist/cjs/src/aftermath.js +0 -1
  101. package/dist/cjs/src/alpaca.js +1 -1
  102. package/dist/cjs/src/apex.js +1 -1
  103. package/dist/cjs/src/ascendex.js +1 -1
  104. package/dist/cjs/src/aster.js +1 -1
  105. package/dist/cjs/src/backpack.js +1 -1
  106. package/dist/cjs/src/base/Exchange.js +1 -1
  107. package/dist/cjs/src/base/Precise.js +0 -6
  108. package/dist/cjs/src/base/errors.js +0 -6
  109. package/dist/cjs/src/base/functions/crypto.js +1 -1
  110. package/dist/cjs/src/base/functions/encode.js +1 -1
  111. package/dist/cjs/src/base/functions/io.js +1 -1
  112. package/dist/cjs/src/base/functions/misc.js +0 -1
  113. package/dist/cjs/src/base/functions/number.js +0 -6
  114. package/dist/cjs/src/base/functions/platform.js +0 -6
  115. package/dist/cjs/src/base/functions/rsa.js +0 -1
  116. package/dist/cjs/src/base/functions/string.js +0 -6
  117. package/dist/cjs/src/base/functions/throttle.js +1 -1
  118. package/dist/cjs/src/base/functions/time.js +0 -6
  119. package/dist/cjs/src/base/functions/totp.js +0 -1
  120. package/dist/cjs/src/base/functions/type.js +0 -6
  121. package/dist/cjs/src/base/functions.js +1 -1
  122. package/dist/cjs/src/base/ws/Cache.js +0 -6
  123. package/dist/cjs/src/base/ws/Client.js +0 -1
  124. package/dist/cjs/src/base/ws/Future.js +1 -1
  125. package/dist/cjs/src/base/ws/OrderBook.js +1 -1
  126. package/dist/cjs/src/base/ws/OrderBookSide.js +0 -6
  127. package/dist/cjs/src/base/ws/WsClient.js +1 -1
  128. package/dist/cjs/src/bequant.js +1 -1
  129. package/dist/cjs/src/bigone.js +1 -1
  130. package/dist/cjs/src/binance.js +41 -22
  131. package/dist/cjs/src/binancecoinm.js +1 -1
  132. package/dist/cjs/src/binanceus.js +1 -1
  133. package/dist/cjs/src/binanceusdm.js +1 -1
  134. package/dist/cjs/src/bingx.js +4 -4
  135. package/dist/cjs/src/bit2c.js +1 -1
  136. package/dist/cjs/src/bitbank.js +1 -1
  137. package/dist/cjs/src/bitbns.js +1 -1
  138. package/dist/cjs/src/bitfinex.js +1 -1
  139. package/dist/cjs/src/bitflyer.js +1 -1
  140. package/dist/cjs/src/bitget.js +1 -1
  141. package/dist/cjs/src/bithumb.js +1 -1
  142. package/dist/cjs/src/bitmart.js +1 -1
  143. package/dist/cjs/src/bitmex.js +2 -2
  144. package/dist/cjs/src/bitopro.js +1 -1
  145. package/dist/cjs/src/bitrue.js +1 -1
  146. package/dist/cjs/src/bitso.js +1 -1
  147. package/dist/cjs/src/bitstamp.js +1 -1
  148. package/dist/cjs/src/bitteam.js +1 -1
  149. package/dist/cjs/src/bittrade.js +1 -1
  150. package/dist/cjs/src/bitvavo.js +1 -1
  151. package/dist/cjs/src/blockchaincom.js +1 -1
  152. package/dist/cjs/src/blofin.js +1 -1
  153. package/dist/cjs/src/btcbox.js +1 -1
  154. package/dist/cjs/src/btcmarkets.js +1 -1
  155. package/dist/cjs/src/btcturk.js +2 -2
  156. package/dist/cjs/src/bullish.js +1 -1
  157. package/dist/cjs/src/bybit.js +115 -13
  158. package/dist/cjs/src/bybiteu.js +1 -1
  159. package/dist/cjs/src/bydfi.js +1 -1
  160. package/dist/cjs/src/cex.js +2 -1
  161. package/dist/cjs/src/coincheck.js +52 -1
  162. package/dist/cjs/src/coinex.js +1 -1
  163. package/dist/cjs/src/coinmate.js +1 -1
  164. package/dist/cjs/src/coinmetro.js +1 -1
  165. package/dist/cjs/src/coinone.js +1 -1
  166. package/dist/cjs/src/coinsph.js +35 -29
  167. package/dist/cjs/src/coinspot.js +1 -1
  168. package/dist/cjs/src/cryptocom.js +1 -1
  169. package/dist/cjs/src/cryptomus.js +1 -1
  170. package/dist/cjs/src/deepcoin.js +1 -1
  171. package/dist/cjs/src/delta.js +1 -1
  172. package/dist/cjs/src/deribit.js +1 -1
  173. package/dist/cjs/src/derive.js +1 -1
  174. package/dist/cjs/src/digifinex.js +1 -1
  175. package/dist/cjs/src/dydx.js +1 -1
  176. package/dist/cjs/src/exmo.js +1 -1
  177. package/dist/cjs/src/extended.js +3 -3
  178. package/dist/cjs/src/fmfwio.js +1 -1
  179. package/dist/cjs/src/foxbit.js +1 -1
  180. package/dist/cjs/src/gate.js +2 -2
  181. package/dist/cjs/src/gateeu.js +1 -1
  182. package/dist/cjs/src/gemini.js +1 -1
  183. package/dist/cjs/src/grvt.js +1 -1
  184. package/dist/cjs/src/hashkey.js +1 -1
  185. package/dist/cjs/src/hibachi.js +1 -1
  186. package/dist/cjs/src/hitbtc.js +0 -1
  187. package/dist/cjs/src/hollaex.js +1 -1
  188. package/dist/cjs/src/htx.js +1 -1
  189. package/dist/cjs/src/hyperliquid.js +13 -6
  190. package/dist/cjs/src/independentreserve.js +1 -1
  191. package/dist/cjs/src/indodax.js +1 -1
  192. package/dist/cjs/src/kraken.js +1 -1
  193. package/dist/cjs/src/krakenfutures.js +1 -1
  194. package/dist/cjs/src/kucoin.js +1 -1
  195. package/dist/cjs/src/kucoineu.js +32 -0
  196. package/dist/cjs/src/kucoinfutures.js +1 -1
  197. package/dist/cjs/src/latoken.js +1 -1
  198. package/dist/cjs/src/lbank.js +1 -1
  199. package/dist/cjs/src/lighter.js +1 -1
  200. package/dist/cjs/src/luno.js +1 -1
  201. package/dist/cjs/src/mercado.js +1 -1
  202. package/dist/cjs/src/mexc.js +1 -1
  203. package/dist/cjs/src/modetrade.js +1 -1
  204. package/dist/cjs/src/myokx.js +1 -1
  205. package/dist/cjs/src/ndax.js +1 -1
  206. package/dist/cjs/src/novadax.js +1 -1
  207. package/dist/cjs/src/okx.js +1 -1
  208. package/dist/cjs/src/okxus.js +1 -1
  209. package/dist/cjs/src/onetrading.js +1 -1
  210. package/dist/cjs/src/p2b.js +1 -1
  211. package/dist/cjs/src/pacifica.js +1 -1
  212. package/dist/cjs/src/paradex.js +1 -1
  213. package/dist/cjs/src/paymium.js +1 -1
  214. package/dist/cjs/src/poloniex.js +1 -1
  215. package/dist/cjs/src/pro/alpaca.js +1 -1
  216. package/dist/cjs/src/pro/apex.js +1 -1
  217. package/dist/cjs/src/pro/ascendex.js +1 -1
  218. package/dist/cjs/src/pro/aster.js +1 -1
  219. package/dist/cjs/src/pro/backpack.js +1 -1
  220. package/dist/cjs/src/pro/bequant.js +1 -1
  221. package/dist/cjs/src/pro/binancecoinm.js +1 -1
  222. package/dist/cjs/src/pro/binanceus.js +1 -1
  223. package/dist/cjs/src/pro/binanceusdm.js +1 -1
  224. package/dist/cjs/src/pro/bingx.js +1 -1
  225. package/dist/cjs/src/pro/bitfinex.js +1 -1
  226. package/dist/cjs/src/pro/bitget.js +1 -1
  227. package/dist/cjs/src/pro/bithumb.js +1 -1
  228. package/dist/cjs/src/pro/bitmart.js +1 -1
  229. package/dist/cjs/src/pro/bitmex.js +1 -1
  230. package/dist/cjs/src/pro/bitrue.js +1 -1
  231. package/dist/cjs/src/pro/bitstamp.js +1 -1
  232. package/dist/cjs/src/pro/bitvavo.js +1 -1
  233. package/dist/cjs/src/pro/blockchaincom.js +1 -1
  234. package/dist/cjs/src/pro/blofin.js +1 -1
  235. package/dist/cjs/src/pro/bullish.js +1 -1
  236. package/dist/cjs/src/pro/bybit.js +1 -1
  237. package/dist/cjs/src/pro/bybiteu.js +1 -1
  238. package/dist/cjs/src/pro/bydfi.js +1 -1
  239. package/dist/cjs/src/pro/cex.js +2 -2
  240. package/dist/cjs/src/pro/coinbase.js +1 -1
  241. package/dist/cjs/src/pro/coinbaseexchange.js +1 -1
  242. package/dist/cjs/src/pro/coinbaseinternational.js +1 -1
  243. package/dist/cjs/src/pro/coincheck.js +1 -1
  244. package/dist/cjs/src/pro/coinex.js +1 -1
  245. package/dist/cjs/src/pro/coinone.js +1 -1
  246. package/dist/cjs/src/pro/cryptocom.js +1 -1
  247. package/dist/cjs/src/pro/deepcoin.js +1 -1
  248. package/dist/cjs/src/pro/deribit.js +1 -1
  249. package/dist/cjs/src/pro/dydx.js +1 -1
  250. package/dist/cjs/src/pro/exmo.js +1 -1
  251. package/dist/cjs/src/pro/gate.js +1 -1
  252. package/dist/cjs/src/pro/gateeu.js +1 -1
  253. package/dist/cjs/src/pro/gemini.js +1 -1
  254. package/dist/cjs/src/pro/grvt.js +1 -1
  255. package/dist/cjs/src/pro/hashkey.js +1 -1
  256. package/dist/cjs/src/pro/hitbtc.js +1 -1
  257. package/dist/cjs/src/pro/hollaex.js +1 -1
  258. package/dist/cjs/src/pro/htx.js +439 -101
  259. package/dist/cjs/src/pro/hyperliquid.js +1 -1
  260. package/dist/cjs/src/pro/independentreserve.js +1 -1
  261. package/dist/cjs/src/pro/kraken.js +1 -1
  262. package/dist/cjs/src/pro/krakenfutures.js +1 -1
  263. package/dist/cjs/src/pro/kucoin.js +1 -1
  264. package/dist/cjs/src/pro/kucoineu.js +29 -0
  265. package/dist/cjs/src/pro/kucoinfutures.js +1 -1
  266. package/dist/cjs/src/pro/lbank.js +0 -1
  267. package/dist/cjs/src/pro/lighter.js +13 -4
  268. package/dist/cjs/src/pro/luno.js +1 -1
  269. package/dist/cjs/src/pro/mexc.js +1 -1
  270. package/dist/cjs/src/pro/myokx.js +1 -1
  271. package/dist/cjs/src/pro/ndax.js +1 -1
  272. package/dist/cjs/src/pro/okx.js +1 -1
  273. package/dist/cjs/src/pro/okxus.js +1 -1
  274. package/dist/cjs/src/pro/onetrading.js +1 -1
  275. package/dist/cjs/src/pro/p2b.js +1 -1
  276. package/dist/cjs/src/pro/pacifica.js +1 -1
  277. package/dist/cjs/src/pro/paradex.js +1 -1
  278. package/dist/cjs/src/pro/phemex.js +1 -1
  279. package/dist/cjs/src/pro/poloniex.js +1 -1
  280. package/dist/cjs/src/pro/toobit.js +1 -1
  281. package/dist/cjs/src/pro/upbit.js +1 -1
  282. package/dist/cjs/src/pro/weex.js +1 -1
  283. package/dist/cjs/src/pro/whitebit.js +1 -1
  284. package/dist/cjs/src/pro/xt.js +1 -1
  285. package/dist/cjs/src/protobuf/mexc/compiled.cjs.js +1 -0
  286. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/base/v1beta1/coin.js +0 -1
  287. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/crypto/multisig/v1beta1/multisig.js +0 -1
  288. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/crypto/secp256k1/keys.js +0 -1
  289. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/tx/signing/v1beta1/signing.js +0 -1
  290. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/tx/v1beta1/tx.js +0 -1
  291. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/accountplus/tx.js +0 -1
  292. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/clob_pair.js +0 -1
  293. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order.js +0 -1
  294. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order_removals.js +0 -1
  295. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/tx.js +0 -1
  296. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/transfer.js +0 -1
  297. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/tx.js +0 -1
  298. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/subaccount.js +0 -1
  299. package/dist/cjs/src/static_dependencies/dydx-v4-client/google/protobuf/any.js +0 -1
  300. package/dist/cjs/src/static_dependencies/dydx-v4-client/helpers.js +0 -6
  301. package/dist/cjs/src/static_dependencies/dydx-v4-client/onboarding.js +0 -1
  302. package/dist/cjs/src/static_dependencies/dydx-v4-client/registry.js +0 -1
  303. package/dist/cjs/src/static_dependencies/ethers/abi-coder.js +12 -1
  304. package/dist/cjs/src/static_dependencies/ethers/address/address.js +1 -1
  305. package/dist/cjs/src/static_dependencies/ethers/coders/abstract-coder.js +0 -1
  306. package/dist/cjs/src/static_dependencies/ethers/coders/address.js +0 -1
  307. package/dist/cjs/src/static_dependencies/ethers/coders/anonymous.js +0 -1
  308. package/dist/cjs/src/static_dependencies/ethers/coders/array.js +0 -1
  309. package/dist/cjs/src/static_dependencies/ethers/coders/boolean.js +0 -1
  310. package/dist/cjs/src/static_dependencies/ethers/coders/bytes.js +0 -1
  311. package/dist/cjs/src/static_dependencies/ethers/coders/fixed-bytes.js +0 -1
  312. package/dist/cjs/src/static_dependencies/ethers/coders/null.js +0 -1
  313. package/dist/cjs/src/static_dependencies/ethers/coders/number.js +0 -1
  314. package/dist/cjs/src/static_dependencies/ethers/coders/string.js +0 -1
  315. package/dist/cjs/src/static_dependencies/ethers/coders/tuple.js +0 -1
  316. package/dist/cjs/src/static_dependencies/ethers/fragments.js +0 -6
  317. package/dist/cjs/src/static_dependencies/ethers/hash/typed-data.js +1 -1
  318. package/dist/cjs/src/static_dependencies/ethers/index.js +10 -1
  319. package/dist/cjs/src/static_dependencies/ethers/typed.js +14 -1
  320. package/dist/cjs/src/static_dependencies/ethers/utils/base58.js +13 -1
  321. package/dist/cjs/src/static_dependencies/ethers/utils/data.js +6 -1
  322. package/dist/cjs/src/static_dependencies/ethers/utils/errors.js +9 -1
  323. package/dist/cjs/src/static_dependencies/ethers/utils/fixednumber.js +0 -1
  324. package/dist/cjs/src/static_dependencies/ethers/utils/index.js +7 -1
  325. package/dist/cjs/src/static_dependencies/ethers/utils/maths.js +5 -1
  326. package/dist/cjs/src/static_dependencies/ethers/utils/properties.js +0 -6
  327. package/dist/cjs/src/static_dependencies/ethers/utils/utf8.js +8 -1
  328. package/dist/cjs/src/static_dependencies/fflake/browser.js +1 -1
  329. package/dist/cjs/src/static_dependencies/messagepack/msgpack.js +0 -6
  330. package/dist/cjs/src/static_dependencies/node-fetch/body.js +5 -1
  331. package/dist/cjs/src/static_dependencies/node-fetch/errors/abort-error.js +0 -1
  332. package/dist/cjs/src/static_dependencies/node-fetch/errors/base.js +0 -6
  333. package/dist/cjs/src/static_dependencies/node-fetch/errors/fetch-error.js +0 -1
  334. package/dist/cjs/src/static_dependencies/node-fetch/headers.js +5 -1
  335. package/dist/cjs/src/static_dependencies/node-fetch/index.js +7 -1
  336. package/dist/cjs/src/static_dependencies/node-fetch/request.js +7 -1
  337. package/dist/cjs/src/static_dependencies/node-fetch/response.js +5 -1
  338. package/dist/cjs/src/static_dependencies/node-fetch/utils/get-search.js +0 -6
  339. package/dist/cjs/src/static_dependencies/node-fetch/utils/is-redirect.js +0 -6
  340. package/dist/cjs/src/static_dependencies/node-fetch/utils/is.js +0 -6
  341. package/dist/cjs/src/static_dependencies/node-fetch/utils/referrer.js +0 -1
  342. package/dist/cjs/src/static_dependencies/proxies/agent-base/index.js +0 -1
  343. package/dist/cjs/src/static_dependencies/proxies/http-proxy-agent/index.js +0 -1
  344. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/index.js +0 -1
  345. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +0 -6
  346. package/dist/cjs/src/static_dependencies/qs/formats.js +0 -6
  347. package/dist/cjs/src/static_dependencies/qs/index.js +0 -1
  348. package/dist/cjs/src/static_dependencies/qs/parse.js +0 -1
  349. package/dist/cjs/src/static_dependencies/qs/stringify.js +0 -1
  350. package/dist/cjs/src/static_dependencies/qs/utils.js +0 -6
  351. package/dist/cjs/src/static_dependencies/starknet/constants.js +1 -1
  352. package/dist/cjs/src/static_dependencies/starknet/types/calldata.js +0 -6
  353. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/abi.js +0 -6
  354. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/index.js +0 -6
  355. package/dist/cjs/src/static_dependencies/starknet/types/lib/index.js +0 -6
  356. package/dist/cjs/src/static_dependencies/starknet/types/typedData.js +0 -6
  357. package/dist/cjs/src/static_dependencies/starknet/utils/assert.js +0 -6
  358. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +1 -1
  359. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +1 -1
  360. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +1 -1
  361. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/byteArray.js +0 -1
  362. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/cairo.js +0 -1
  363. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +0 -6
  364. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +0 -6
  365. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +0 -6
  366. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/formatter.js +0 -1
  367. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/index.js +1 -1
  368. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/index.js +0 -1
  369. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +0 -1
  370. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +0 -6
  371. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +0 -1
  372. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/requestParser.js +0 -1
  373. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/responseParser.js +0 -1
  374. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/tuple.js +1 -1
  375. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/validate.js +4 -1
  376. package/dist/cjs/src/static_dependencies/starknet/utils/encode.js +0 -1
  377. package/dist/cjs/src/static_dependencies/starknet/utils/hash/classHash.js +3 -1
  378. package/dist/cjs/src/static_dependencies/starknet/utils/merkle.js +0 -1
  379. package/dist/cjs/src/static_dependencies/starknet/utils/num.js +0 -1
  380. package/dist/cjs/src/static_dependencies/starknet/utils/selector.js +0 -1
  381. package/dist/cjs/src/static_dependencies/starknet/utils/shortString.js +0 -1
  382. package/dist/cjs/src/static_dependencies/starknet/utils/typedData.js +1 -1
  383. package/dist/cjs/src/static_dependencies/watchable/src/unpromise.js +0 -6
  384. package/dist/cjs/src/static_dependencies/zklink/zklink-sdk-web.js +0 -6
  385. package/dist/cjs/src/tokocrypto.js +1 -1
  386. package/dist/cjs/src/toobit.js +1 -1
  387. package/dist/cjs/src/upbit.js +1 -1
  388. package/dist/cjs/src/weex.js +1 -1
  389. package/dist/cjs/src/whitebit.js +1 -1
  390. package/dist/cjs/src/woo.js +1 -1
  391. package/dist/cjs/src/woofipro.js +1 -1
  392. package/dist/cjs/src/xt.js +1 -1
  393. package/dist/cjs/src/zaif.js +1 -1
  394. package/dist/cjs/src/zebpay.js +1 -1
  395. package/js/ccxt.d.ts +8 -2
  396. package/js/ccxt.js +6 -8
  397. package/js/src/abstract/aftermath.js +0 -6
  398. package/js/src/abstract/alpaca.js +0 -6
  399. package/js/src/abstract/apex.js +0 -6
  400. package/js/src/abstract/ascendex.js +0 -6
  401. package/js/src/abstract/aster.js +0 -6
  402. package/js/src/abstract/backpack.js +0 -6
  403. package/js/src/abstract/bequant.js +0 -6
  404. package/js/src/abstract/bigone.js +0 -6
  405. package/js/src/abstract/binance.js +0 -6
  406. package/js/src/abstract/binancecoinm.js +0 -6
  407. package/js/src/abstract/binanceus.js +0 -6
  408. package/js/src/abstract/binanceusdm.js +0 -6
  409. package/js/src/abstract/bingx.js +0 -6
  410. package/js/src/abstract/bit2c.js +0 -6
  411. package/js/src/abstract/bitbank.js +0 -6
  412. package/js/src/abstract/bitbns.js +0 -6
  413. package/js/src/abstract/bitfinex.js +0 -6
  414. package/js/src/abstract/bitflyer.js +0 -6
  415. package/js/src/abstract/bitget.js +0 -6
  416. package/js/src/abstract/bithumb.js +0 -6
  417. package/js/src/abstract/bitmart.js +0 -6
  418. package/js/src/abstract/bitmex.js +0 -6
  419. package/js/src/abstract/bitopro.js +0 -6
  420. package/js/src/abstract/bitrue.js +0 -6
  421. package/js/src/abstract/bitso.js +0 -6
  422. package/js/src/abstract/bitstamp.js +0 -6
  423. package/js/src/abstract/bitteam.js +0 -6
  424. package/js/src/abstract/bittrade.js +0 -6
  425. package/js/src/abstract/bitvavo.js +0 -6
  426. package/js/src/abstract/blockchaincom.js +0 -6
  427. package/js/src/abstract/blofin.js +0 -6
  428. package/js/src/abstract/btcbox.js +0 -6
  429. package/js/src/abstract/btcmarkets.js +0 -6
  430. package/js/src/abstract/btcturk.js +0 -6
  431. package/js/src/abstract/bullish.js +0 -6
  432. package/js/src/abstract/bybit.js +0 -6
  433. package/js/src/abstract/bybiteu.js +0 -6
  434. package/js/src/abstract/bydfi.js +0 -6
  435. package/js/src/abstract/cex.js +0 -6
  436. package/js/src/abstract/coinbase.js +0 -6
  437. package/js/src/abstract/coinbaseexchange.js +0 -6
  438. package/js/src/abstract/coinbaseinternational.js +0 -6
  439. package/js/src/abstract/coincheck.js +0 -6
  440. package/js/src/abstract/coinex.js +0 -6
  441. package/js/src/abstract/coinmate.js +0 -6
  442. package/js/src/abstract/coinmetro.js +0 -6
  443. package/js/src/abstract/coinone.js +0 -6
  444. package/js/src/abstract/coinsph.js +0 -6
  445. package/js/src/abstract/coinspot.js +0 -6
  446. package/js/src/abstract/cryptocom.js +0 -6
  447. package/js/src/abstract/cryptomus.js +0 -6
  448. package/js/src/abstract/deepcoin.js +0 -6
  449. package/js/src/abstract/delta.js +0 -6
  450. package/js/src/abstract/deribit.js +0 -6
  451. package/js/src/abstract/derive.js +0 -6
  452. package/js/src/abstract/digifinex.js +0 -6
  453. package/js/src/abstract/dydx.js +0 -6
  454. package/js/src/abstract/exmo.js +0 -6
  455. package/js/src/abstract/extended.js +0 -6
  456. package/js/src/abstract/fmfwio.js +0 -6
  457. package/js/src/abstract/foxbit.js +0 -6
  458. package/js/src/abstract/gate.js +0 -6
  459. package/js/src/abstract/gateeu.js +0 -6
  460. package/js/src/abstract/gemini.js +0 -6
  461. package/js/src/abstract/grvt.js +0 -6
  462. package/js/src/abstract/hashkey.js +0 -6
  463. package/js/src/abstract/hibachi.js +0 -6
  464. package/js/src/abstract/hitbtc.js +0 -6
  465. package/js/src/abstract/hollaex.js +0 -6
  466. package/js/src/abstract/htx.js +0 -6
  467. package/js/src/abstract/hyperliquid.js +0 -6
  468. package/js/src/abstract/independentreserve.js +0 -6
  469. package/js/src/abstract/indodax.js +0 -6
  470. package/js/src/abstract/kraken.js +0 -6
  471. package/js/src/abstract/krakenfutures.js +0 -6
  472. package/js/src/abstract/kucoin.js +0 -6
  473. package/js/src/abstract/kucoineu.d.ts +356 -0
  474. package/js/src/abstract/kucoineu.js +11 -0
  475. package/js/src/abstract/kucoinfutures.js +0 -6
  476. package/js/src/abstract/latoken.js +0 -6
  477. package/js/src/abstract/lbank.js +0 -6
  478. package/js/src/abstract/lighter.js +0 -6
  479. package/js/src/abstract/luno.js +0 -6
  480. package/js/src/abstract/mercado.js +0 -6
  481. package/js/src/abstract/mexc.js +0 -6
  482. package/js/src/abstract/modetrade.js +0 -6
  483. package/js/src/abstract/myokx.js +0 -6
  484. package/js/src/abstract/ndax.js +0 -6
  485. package/js/src/abstract/novadax.js +0 -6
  486. package/js/src/abstract/okx.js +0 -6
  487. package/js/src/abstract/okxus.js +0 -6
  488. package/js/src/abstract/onetrading.js +0 -6
  489. package/js/src/abstract/p2b.js +0 -6
  490. package/js/src/abstract/pacifica.js +0 -6
  491. package/js/src/abstract/paradex.js +0 -6
  492. package/js/src/abstract/paymium.js +0 -6
  493. package/js/src/abstract/phemex.js +0 -6
  494. package/js/src/abstract/poloniex.js +0 -6
  495. package/js/src/abstract/tokocrypto.js +0 -6
  496. package/js/src/abstract/toobit.js +0 -6
  497. package/js/src/abstract/upbit.js +0 -6
  498. package/js/src/abstract/weex.js +0 -6
  499. package/js/src/abstract/whitebit.js +0 -6
  500. package/js/src/abstract/woo.js +0 -6
  501. package/js/src/abstract/woofipro.js +0 -6
  502. package/js/src/abstract/xt.js +0 -6
  503. package/js/src/abstract/zaif.js +0 -6
  504. package/js/src/abstract/zebpay.js +0 -6
  505. package/js/src/aftermath.js +0 -6
  506. package/js/src/alpaca.js +0 -6
  507. package/js/src/apex.js +0 -6
  508. package/js/src/ascendex.js +0 -6
  509. package/js/src/aster.js +0 -6
  510. package/js/src/backpack.js +0 -6
  511. package/js/src/base/Exchange.js +1 -7
  512. package/js/src/base/Precise.js +0 -6
  513. package/js/src/base/errorHierarchy.js +0 -6
  514. package/js/src/base/errors.js +0 -6
  515. package/js/src/base/functions/crypto.js +0 -6
  516. package/js/src/base/functions/encode.js +0 -6
  517. package/js/src/base/functions/generic.js +0 -6
  518. package/js/src/base/functions/io.js +0 -6
  519. package/js/src/base/functions/misc.js +0 -6
  520. package/js/src/base/functions/number.js +0 -6
  521. package/js/src/base/functions/platform.js +0 -6
  522. package/js/src/base/functions/rsa.js +0 -6
  523. package/js/src/base/functions/string.js +0 -6
  524. package/js/src/base/functions/throttle.js +0 -6
  525. package/js/src/base/functions/time.js +0 -6
  526. package/js/src/base/functions/totp.js +0 -6
  527. package/js/src/base/functions/type.js +0 -6
  528. package/js/src/base/functions.js +0 -6
  529. package/js/src/base/types.js +0 -6
  530. package/js/src/base/ws/Cache.js +0 -6
  531. package/js/src/base/ws/Client.js +0 -6
  532. package/js/src/base/ws/Future.js +0 -6
  533. package/js/src/base/ws/OrderBook.js +0 -6
  534. package/js/src/base/ws/OrderBookSide.js +0 -6
  535. package/js/src/base/ws/WsClient.js +0 -6
  536. package/js/src/base/ws/functions.js +0 -6
  537. package/js/src/bequant.js +0 -6
  538. package/js/src/bigone.js +0 -6
  539. package/js/src/binance.js +40 -27
  540. package/js/src/binancecoinm.js +0 -6
  541. package/js/src/binanceus.js +0 -6
  542. package/js/src/binanceusdm.js +0 -6
  543. package/js/src/bingx.js +3 -9
  544. package/js/src/bit2c.js +0 -6
  545. package/js/src/bitbank.js +0 -6
  546. package/js/src/bitbns.js +0 -6
  547. package/js/src/bitfinex.js +0 -6
  548. package/js/src/bitflyer.js +0 -6
  549. package/js/src/bitget.js +0 -6
  550. package/js/src/bithumb.js +0 -6
  551. package/js/src/bitmart.js +0 -6
  552. package/js/src/bitmex.js +1 -7
  553. package/js/src/bitopro.js +0 -6
  554. package/js/src/bitrue.js +0 -6
  555. package/js/src/bitso.js +0 -6
  556. package/js/src/bitstamp.js +0 -6
  557. package/js/src/bitteam.js +0 -6
  558. package/js/src/bittrade.js +0 -6
  559. package/js/src/bitvavo.js +1 -7
  560. package/js/src/blockchaincom.js +0 -6
  561. package/js/src/blofin.js +0 -6
  562. package/js/src/btcbox.js +0 -6
  563. package/js/src/btcmarkets.js +0 -6
  564. package/js/src/btcturk.js +1 -7
  565. package/js/src/bullish.js +0 -6
  566. package/js/src/bybit.d.ts +9 -0
  567. package/js/src/bybit.js +114 -18
  568. package/js/src/bybiteu.js +0 -6
  569. package/js/src/bydfi.js +0 -6
  570. package/js/src/cex.d.ts +1 -0
  571. package/js/src/cex.js +1 -6
  572. package/js/src/coinbase.js +0 -6
  573. package/js/src/coinbaseexchange.js +0 -6
  574. package/js/src/coinbaseinternational.js +0 -6
  575. package/js/src/coincheck.d.ts +9 -0
  576. package/js/src/coincheck.js +51 -6
  577. package/js/src/coinex.js +0 -6
  578. package/js/src/coinmate.js +0 -6
  579. package/js/src/coinmetro.js +0 -6
  580. package/js/src/coinone.js +0 -6
  581. package/js/src/coinsph.d.ts +27 -27
  582. package/js/src/coinsph.js +35 -34
  583. package/js/src/coinspot.js +0 -6
  584. package/js/src/cryptocom.js +0 -6
  585. package/js/src/cryptomus.js +0 -6
  586. package/js/src/deepcoin.js +0 -6
  587. package/js/src/delta.js +0 -6
  588. package/js/src/deribit.js +0 -6
  589. package/js/src/derive.js +0 -6
  590. package/js/src/digifinex.js +0 -6
  591. package/js/src/dydx.js +0 -6
  592. package/js/src/exmo.js +0 -6
  593. package/js/src/extended.js +2 -8
  594. package/js/src/fmfwio.js +0 -6
  595. package/js/src/foxbit.js +0 -6
  596. package/js/src/gate.js +1 -7
  597. package/js/src/gateeu.js +0 -6
  598. package/js/src/gemini.js +0 -6
  599. package/js/src/grvt.js +0 -6
  600. package/js/src/hashkey.js +0 -6
  601. package/js/src/hibachi.js +0 -6
  602. package/js/src/hitbtc.js +0 -6
  603. package/js/src/hollaex.js +0 -6
  604. package/js/src/htx.js +0 -6
  605. package/js/src/hyperliquid.js +12 -11
  606. package/js/src/independentreserve.js +0 -6
  607. package/js/src/indodax.js +0 -6
  608. package/js/src/kraken.js +0 -6
  609. package/js/src/krakenfutures.js +0 -6
  610. package/js/src/kucoin.js +0 -6
  611. package/js/src/kucoineu.d.ts +4 -0
  612. package/js/src/kucoineu.js +25 -0
  613. package/js/src/kucoinfutures.js +0 -6
  614. package/js/src/latoken.js +0 -6
  615. package/js/src/lbank.js +0 -6
  616. package/js/src/lighter.js +0 -6
  617. package/js/src/luno.js +0 -6
  618. package/js/src/mercado.js +0 -6
  619. package/js/src/mexc.js +0 -6
  620. package/js/src/modetrade.js +0 -6
  621. package/js/src/myokx.js +0 -6
  622. package/js/src/ndax.js +0 -6
  623. package/js/src/novadax.js +0 -6
  624. package/js/src/okx.js +0 -6
  625. package/js/src/okxus.js +0 -6
  626. package/js/src/onetrading.js +0 -6
  627. package/js/src/p2b.js +0 -6
  628. package/js/src/pacifica.js +0 -6
  629. package/js/src/paradex.js +0 -6
  630. package/js/src/paymium.js +0 -6
  631. package/js/src/phemex.js +0 -6
  632. package/js/src/poloniex.js +0 -6
  633. package/js/src/pro/aftermath.js +0 -6
  634. package/js/src/pro/alpaca.js +0 -6
  635. package/js/src/pro/apex.js +0 -6
  636. package/js/src/pro/ascendex.js +0 -6
  637. package/js/src/pro/aster.js +0 -6
  638. package/js/src/pro/backpack.js +0 -6
  639. package/js/src/pro/bequant.js +0 -6
  640. package/js/src/pro/binance.js +0 -6
  641. package/js/src/pro/binancecoinm.js +0 -6
  642. package/js/src/pro/binanceus.js +0 -6
  643. package/js/src/pro/binanceusdm.js +0 -6
  644. package/js/src/pro/bingx.js +0 -6
  645. package/js/src/pro/bitfinex.js +0 -6
  646. package/js/src/pro/bitget.js +0 -6
  647. package/js/src/pro/bithumb.js +0 -6
  648. package/js/src/pro/bitmart.js +0 -6
  649. package/js/src/pro/bitmex.js +0 -6
  650. package/js/src/pro/bitopro.js +0 -6
  651. package/js/src/pro/bitrue.js +0 -6
  652. package/js/src/pro/bitstamp.js +0 -6
  653. package/js/src/pro/bittrade.js +0 -6
  654. package/js/src/pro/bitvavo.js +0 -6
  655. package/js/src/pro/blockchaincom.js +0 -6
  656. package/js/src/pro/blofin.js +0 -6
  657. package/js/src/pro/bullish.js +0 -6
  658. package/js/src/pro/bybit.js +0 -6
  659. package/js/src/pro/bybiteu.js +0 -6
  660. package/js/src/pro/bydfi.js +0 -6
  661. package/js/src/pro/cex.d.ts +1 -1
  662. package/js/src/pro/cex.js +1 -7
  663. package/js/src/pro/coinbase.js +0 -6
  664. package/js/src/pro/coinbaseexchange.js +0 -6
  665. package/js/src/pro/coinbaseinternational.js +0 -6
  666. package/js/src/pro/coincheck.js +0 -6
  667. package/js/src/pro/coinex.js +0 -6
  668. package/js/src/pro/coinone.js +0 -6
  669. package/js/src/pro/cryptocom.js +0 -6
  670. package/js/src/pro/deepcoin.js +0 -6
  671. package/js/src/pro/deribit.js +0 -6
  672. package/js/src/pro/derive.js +0 -6
  673. package/js/src/pro/dydx.js +0 -6
  674. package/js/src/pro/exmo.js +0 -6
  675. package/js/src/pro/extended.js +0 -6
  676. package/js/src/pro/gate.js +0 -6
  677. package/js/src/pro/gateeu.js +0 -6
  678. package/js/src/pro/gemini.js +0 -6
  679. package/js/src/pro/grvt.js +0 -6
  680. package/js/src/pro/hashkey.js +0 -6
  681. package/js/src/pro/hitbtc.js +0 -6
  682. package/js/src/pro/hollaex.js +0 -6
  683. package/js/src/pro/htx.d.ts +7 -6
  684. package/js/src/pro/htx.js +438 -104
  685. package/js/src/pro/hyperliquid.js +0 -6
  686. package/js/src/pro/independentreserve.js +0 -6
  687. package/js/src/pro/kraken.js +0 -6
  688. package/js/src/pro/krakenfutures.js +0 -6
  689. package/js/src/pro/kucoin.js +0 -6
  690. package/js/src/pro/kucoineu.d.ts +4 -0
  691. package/js/src/pro/kucoineu.js +22 -0
  692. package/js/src/pro/kucoinfutures.js +0 -6
  693. package/js/src/pro/lbank.js +0 -6
  694. package/js/src/pro/lighter.js +12 -9
  695. package/js/src/pro/luno.js +0 -6
  696. package/js/src/pro/mexc.js +0 -6
  697. package/js/src/pro/modetrade.js +0 -6
  698. package/js/src/pro/myokx.js +0 -6
  699. package/js/src/pro/ndax.js +0 -6
  700. package/js/src/pro/okx.js +0 -6
  701. package/js/src/pro/okxus.js +0 -6
  702. package/js/src/pro/onetrading.js +0 -6
  703. package/js/src/pro/p2b.js +0 -6
  704. package/js/src/pro/pacifica.js +0 -6
  705. package/js/src/pro/paradex.js +0 -6
  706. package/js/src/pro/phemex.js +0 -6
  707. package/js/src/pro/poloniex.js +0 -6
  708. package/js/src/pro/toobit.js +0 -6
  709. package/js/src/pro/upbit.js +0 -6
  710. package/js/src/pro/weex.js +0 -6
  711. package/js/src/pro/whitebit.js +0 -6
  712. package/js/src/pro/woo.js +0 -6
  713. package/js/src/pro/woofipro.js +0 -6
  714. package/js/src/pro/xt.js +0 -6
  715. package/js/src/protobuf/mexc/compiled.cjs +0 -6
  716. package/js/src/protobuf/mexc/compiled.d.cts +0 -6
  717. package/js/src/static_dependencies/dydx-v4-client/cosmos/base/v1beta1/coin.js +0 -6
  718. package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/multisig/keys.js +0 -6
  719. package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/multisig/v1beta1/multisig.js +0 -6
  720. package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/secp256k1/keys.js +0 -6
  721. package/js/src/static_dependencies/dydx-v4-client/cosmos/tx/signing/v1beta1/signing.js +0 -6
  722. package/js/src/static_dependencies/dydx-v4-client/cosmos/tx/v1beta1/tx.js +0 -6
  723. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/accountplus/tx.js +0 -6
  724. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/block_rate_limit_config.js +0 -6
  725. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/clob_pair.js +0 -6
  726. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/equity_tier_limit_config.js +0 -6
  727. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/finalize_block.js +0 -6
  728. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/liquidations.js +0 -6
  729. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/liquidations_config.js +0 -6
  730. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/matches.js +0 -6
  731. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order.js +0 -6
  732. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order_removals.js +0 -6
  733. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/tx.js +0 -6
  734. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/transfer.js +0 -6
  735. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/tx.js +0 -6
  736. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/asset_position.js +0 -6
  737. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/perpetual_position.js +0 -6
  738. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/subaccount.js +0 -6
  739. package/js/src/static_dependencies/dydx-v4-client/google/protobuf/any.js +0 -6
  740. package/js/src/static_dependencies/dydx-v4-client/helpers.js +0 -6
  741. package/js/src/static_dependencies/dydx-v4-client/long/index.cjs +0 -6
  742. package/js/src/static_dependencies/dydx-v4-client/long/index.d.cts +0 -6
  743. package/js/src/static_dependencies/dydx-v4-client/onboarding.js +0 -6
  744. package/js/src/static_dependencies/dydx-v4-client/registry.js +0 -6
  745. package/js/src/static_dependencies/ethers/abi-coder.js +0 -6
  746. package/js/src/static_dependencies/ethers/address/address.js +0 -6
  747. package/js/src/static_dependencies/ethers/address/checks.js +0 -6
  748. package/js/src/static_dependencies/ethers/address/contract-address.js +0 -6
  749. package/js/src/static_dependencies/ethers/address/index.js +0 -6
  750. package/js/src/static_dependencies/ethers/bytes32.js +0 -6
  751. package/js/src/static_dependencies/ethers/coders/abstract-coder.js +0 -6
  752. package/js/src/static_dependencies/ethers/coders/address.js +0 -6
  753. package/js/src/static_dependencies/ethers/coders/anonymous.js +0 -6
  754. package/js/src/static_dependencies/ethers/coders/array.js +0 -6
  755. package/js/src/static_dependencies/ethers/coders/boolean.js +0 -6
  756. package/js/src/static_dependencies/ethers/coders/bytes.js +0 -6
  757. package/js/src/static_dependencies/ethers/coders/fixed-bytes.js +0 -6
  758. package/js/src/static_dependencies/ethers/coders/null.js +0 -6
  759. package/js/src/static_dependencies/ethers/coders/number.js +0 -6
  760. package/js/src/static_dependencies/ethers/coders/string.js +0 -6
  761. package/js/src/static_dependencies/ethers/coders/tuple.js +0 -6
  762. package/js/src/static_dependencies/ethers/fragments.js +0 -6
  763. package/js/src/static_dependencies/ethers/hash/index.js +0 -6
  764. package/js/src/static_dependencies/ethers/hash/solidity.js +0 -6
  765. package/js/src/static_dependencies/ethers/hash/typed-data.js +0 -6
  766. package/js/src/static_dependencies/ethers/index.js +0 -6
  767. package/js/src/static_dependencies/ethers/interface.js +0 -6
  768. package/js/src/static_dependencies/ethers/typed.js +0 -6
  769. package/js/src/static_dependencies/ethers/utils/base58.js +0 -6
  770. package/js/src/static_dependencies/ethers/utils/base64-browser.js +0 -6
  771. package/js/src/static_dependencies/ethers/utils/base64.js +0 -6
  772. package/js/src/static_dependencies/ethers/utils/data.js +0 -6
  773. package/js/src/static_dependencies/ethers/utils/errors.js +0 -6
  774. package/js/src/static_dependencies/ethers/utils/events.js +0 -6
  775. package/js/src/static_dependencies/ethers/utils/fixednumber.js +0 -6
  776. package/js/src/static_dependencies/ethers/utils/index.js +0 -6
  777. package/js/src/static_dependencies/ethers/utils/maths.js +0 -6
  778. package/js/src/static_dependencies/ethers/utils/properties.js +0 -6
  779. package/js/src/static_dependencies/ethers/utils/rlp-decode.js +0 -6
  780. package/js/src/static_dependencies/ethers/utils/rlp-encode.js +0 -6
  781. package/js/src/static_dependencies/ethers/utils/rlp.js +0 -6
  782. package/js/src/static_dependencies/ethers/utils/units.js +0 -6
  783. package/js/src/static_dependencies/ethers/utils/utf8.js +0 -6
  784. package/js/src/static_dependencies/ethers/utils/uuid.js +0 -6
  785. package/js/src/static_dependencies/fflake/browser.js +0 -6
  786. package/js/src/static_dependencies/messagepack/msgpack.js +0 -6
  787. package/js/src/static_dependencies/node-fetch/body.js +0 -6
  788. package/js/src/static_dependencies/node-fetch/errors/abort-error.js +0 -6
  789. package/js/src/static_dependencies/node-fetch/errors/base.js +0 -6
  790. package/js/src/static_dependencies/node-fetch/errors/fetch-error.js +0 -6
  791. package/js/src/static_dependencies/node-fetch/headers.js +0 -6
  792. package/js/src/static_dependencies/node-fetch/index.js +0 -6
  793. package/js/src/static_dependencies/node-fetch/request.js +0 -6
  794. package/js/src/static_dependencies/node-fetch/response.js +0 -6
  795. package/js/src/static_dependencies/node-fetch/utils/get-search.js +0 -6
  796. package/js/src/static_dependencies/node-fetch/utils/is-redirect.js +0 -6
  797. package/js/src/static_dependencies/node-fetch/utils/is.js +0 -6
  798. package/js/src/static_dependencies/node-fetch/utils/referrer.js +0 -6
  799. package/js/src/static_dependencies/proxies/agent-base/helpers.js +0 -6
  800. package/js/src/static_dependencies/proxies/agent-base/index.js +0 -6
  801. package/js/src/static_dependencies/proxies/http-proxy-agent/index.js +0 -6
  802. package/js/src/static_dependencies/proxies/https-proxy-agent/index.js +0 -6
  803. package/js/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +0 -6
  804. package/js/src/static_dependencies/qs/formats.js +0 -6
  805. package/js/src/static_dependencies/qs/index.js +0 -6
  806. package/js/src/static_dependencies/qs/parse.js +0 -6
  807. package/js/src/static_dependencies/qs/stringify.js +0 -6
  808. package/js/src/static_dependencies/qs/utils.js +0 -6
  809. package/js/src/static_dependencies/starknet/constants.js +0 -6
  810. package/js/src/static_dependencies/starknet/index.js +0 -6
  811. package/js/src/static_dependencies/starknet/types/cairoEnum.js +0 -6
  812. package/js/src/static_dependencies/starknet/types/calldata.js +0 -6
  813. package/js/src/static_dependencies/starknet/types/index.js +0 -6
  814. package/js/src/static_dependencies/starknet/types/lib/contract/abi.js +0 -6
  815. package/js/src/static_dependencies/starknet/types/lib/contract/index.js +0 -6
  816. package/js/src/static_dependencies/starknet/types/lib/contract/legacy.js +0 -6
  817. package/js/src/static_dependencies/starknet/types/lib/contract/sierra.js +0 -6
  818. package/js/src/static_dependencies/starknet/types/lib/index.js +0 -6
  819. package/js/src/static_dependencies/starknet/types/typedData.js +0 -6
  820. package/js/src/static_dependencies/starknet/utils/address.js +0 -6
  821. package/js/src/static_dependencies/starknet/utils/assert.js +0 -6
  822. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +0 -6
  823. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +0 -6
  824. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +0 -6
  825. package/js/src/static_dependencies/starknet/utils/calldata/byteArray.js +0 -6
  826. package/js/src/static_dependencies/starknet/utils/calldata/cairo.js +0 -6
  827. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +0 -6
  828. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +0 -6
  829. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +0 -6
  830. package/js/src/static_dependencies/starknet/utils/calldata/enum/index.js +0 -6
  831. package/js/src/static_dependencies/starknet/utils/calldata/formatter.js +0 -6
  832. package/js/src/static_dependencies/starknet/utils/calldata/index.js +0 -6
  833. package/js/src/static_dependencies/starknet/utils/calldata/parser/index.js +0 -6
  834. package/js/src/static_dependencies/starknet/utils/calldata/parser/interface.js +0 -6
  835. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +0 -6
  836. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +0 -6
  837. package/js/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +0 -6
  838. package/js/src/static_dependencies/starknet/utils/calldata/requestParser.js +0 -6
  839. package/js/src/static_dependencies/starknet/utils/calldata/responseParser.js +0 -6
  840. package/js/src/static_dependencies/starknet/utils/calldata/tuple.js +0 -6
  841. package/js/src/static_dependencies/starknet/utils/calldata/validate.js +0 -6
  842. package/js/src/static_dependencies/starknet/utils/encode.js +0 -6
  843. package/js/src/static_dependencies/starknet/utils/hash/classHash.js +0 -6
  844. package/js/src/static_dependencies/starknet/utils/hash/index.js +0 -6
  845. package/js/src/static_dependencies/starknet/utils/merkle.js +0 -6
  846. package/js/src/static_dependencies/starknet/utils/num.js +0 -6
  847. package/js/src/static_dependencies/starknet/utils/selector.js +0 -6
  848. package/js/src/static_dependencies/starknet/utils/shortString.js +0 -6
  849. package/js/src/static_dependencies/starknet/utils/starknetId.js +0 -6
  850. package/js/src/static_dependencies/starknet/utils/typedData.js +0 -6
  851. package/js/src/static_dependencies/starknet/utils/uint256.js +0 -6
  852. package/js/src/static_dependencies/starknet/utils/url.js +0 -6
  853. package/js/src/static_dependencies/watchable/src/index.js +0 -6
  854. package/js/src/static_dependencies/watchable/src/types.js +0 -6
  855. package/js/src/static_dependencies/watchable/src/unpromise.js +0 -6
  856. package/js/src/static_dependencies/zklink/zklink-sdk-web.js +0 -6
  857. package/js/src/tokocrypto.js +0 -6
  858. package/js/src/toobit.js +0 -6
  859. package/js/src/upbit.js +0 -6
  860. package/js/src/weex.js +0 -6
  861. package/js/src/whitebit.js +0 -6
  862. package/js/src/woo.js +0 -6
  863. package/js/src/woofipro.js +0 -6
  864. package/js/src/xt.js +0 -6
  865. package/js/src/zaif.js +0 -6
  866. package/js/src/zebpay.js +0 -6
  867. package/package.json +16 -10
package/js/src/pro/htx.js CHANGED
@@ -1,9 +1,3 @@
1
- // ----------------------------------------------------------------------------
2
-
3
- // PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
4
- // https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
- // EDIT THE CORRESPONDENT .ts FILE INSTEAD
6
-
7
1
  // ---------------------------------------------------------------------------
8
2
  import { sha256 } from '@noble/hashes/sha2.js';
9
3
  import htxRest from '../htx.js';
@@ -51,6 +45,7 @@ export default class htx extends htxRest {
51
45
  'linear': {
52
46
  'public': 'wss://api.hbdm.vn/linear-swap-ws',
53
47
  'private': 'wss://api.hbdm.vn/linear-swap-notification',
48
+ 'privateV5': 'wss://api.hbdm.vn/ws/v5/notification',
54
49
  },
55
50
  'inverse': {
56
51
  'public': 'wss://api.hbdm.vn/ws',
@@ -65,6 +60,7 @@ export default class htx extends htxRest {
65
60
  'linear': {
66
61
  'public': 'wss://api.hbdm.vn/linear-swap-ws',
67
62
  'private': 'wss://api.hbdm.vn/linear-swap-notification',
63
+ 'privateV5': 'wss://api.hbdm.vn/ws/v5/notification',
68
64
  },
69
65
  },
70
66
  },
@@ -79,6 +75,7 @@ export default class htx extends htxRest {
79
75
  'linear': {
80
76
  'public': 'wss://api.hbdm.vn/linear-swap-ws',
81
77
  'private': 'wss://api.hbdm.vn/linear-swap-notification',
78
+ 'privateV5': 'wss://api.hbdm.vn/ws/v5/notification',
82
79
  },
83
80
  'inverse': {
84
81
  'public': 'wss://api.hbdm.vn/ws',
@@ -89,6 +86,7 @@ export default class htx extends htxRest {
89
86
  'linear': {
90
87
  'public': 'wss://api.hbdm.vn/linear-swap-ws',
91
88
  'private': 'wss://api.hbdm.vn/linear-swap-notification',
89
+ 'privateV5': 'wss://api.hbdm.vn/ws/v5/notification',
92
90
  },
93
91
  'inverse': {
94
92
  'public': 'wss://api.hbdm.vn/swap-ws',
@@ -782,6 +780,7 @@ export default class htx extends htxRest {
782
780
  * @name htx#watchMyTrades
783
781
  * @description watches information on multiple trades made by the user
784
782
  * @see https://www.htx.com/en-us/opend/newApiPages/?id=7ec53dd5-7773-11ed-9966-0242ac110003
783
+ * @see https://www.htx.com/en-us/opend/newApiPages/?id=8cb89359-77b5-11ed-9966-195a35275ff
785
784
  * @param {string} symbol unified market symbol of the market trades were made in
786
785
  * @param {int} [since] the earliest time in ms to fetch trades for
787
786
  * @param {int} [limit] the maximum number of trade structures to retrieve
@@ -812,6 +811,10 @@ export default class htx extends htxRest {
812
811
  subType = this.safeString(params, 'subType', subType);
813
812
  params = this.omit(params, ['type', 'subType']);
814
813
  }
814
+ const linear = (subType === 'linear');
815
+ const swap = (type === 'swap');
816
+ const future = (type === 'future');
817
+ const isV5Linear = (linear && (swap || future));
815
818
  if (type === 'spot') {
816
819
  let mode = undefined;
817
820
  if (mode === undefined) {
@@ -822,6 +825,12 @@ export default class htx extends htxRest {
822
825
  messageHash = 'trade.clearing' + '#' + marketId + '#' + mode;
823
826
  channel = messageHash;
824
827
  }
828
+ else if (isV5Linear) {
829
+ const channelAndMessageHashAndParams = this.getV5LinearChannelAndMessageHash('trade', market, params);
830
+ channel = this.safeString(channelAndMessageHashAndParams, 0);
831
+ messageHash = this.safeString(channelAndMessageHashAndParams, 1);
832
+ params = this.safeValue(channelAndMessageHashAndParams, 2, {});
833
+ }
825
834
  else {
826
835
  const channelAndMessageHash = this.getOrderChannelAndMessageHash(type, subType, market, params);
827
836
  channel = this.safeString(channelAndMessageHash, 0);
@@ -830,7 +839,10 @@ export default class htx extends htxRest {
830
839
  // like symbol/margin/subtype/type variations
831
840
  messageHash = orderMessageHash + ':' + 'trade';
832
841
  }
833
- trades = await this.subscribePrivate(channel, messageHash, type, subType, params);
842
+ const subscriptionParams = {
843
+ 'isV5': isV5Linear,
844
+ };
845
+ trades = await this.subscribePrivate(channel, messageHash, type, subType, params, subscriptionParams);
834
846
  if (this.newUpdates) {
835
847
  limit = trades.getLimit(symbol, limit);
836
848
  }
@@ -881,11 +893,22 @@ export default class htx extends htxRest {
881
893
  }
882
894
  return [channel, messageHash];
883
895
  }
896
+ getV5LinearChannelAndMessageHash(topic, market = undefined, params = {}) {
897
+ const contractCode = (market !== undefined) ? market['id'] : this.safeString(params, 'contract_code', '*');
898
+ const channel = topic;
899
+ const messageHash = (contractCode === '*') ? topic : (topic + '.' + contractCode.toLowerCase());
900
+ params = this.omit(params, 'contract_code');
901
+ const requestParams = this.extend({
902
+ 'contract_code': contractCode,
903
+ }, params);
904
+ return [channel, messageHash, requestParams];
905
+ }
884
906
  /**
885
907
  * @method
886
908
  * @name htx#watchOrders
887
909
  * @description watches information on multiple orders made by the user
888
910
  * @see https://www.htx.com/en-us/opend/newApiPages/?id=7ec53c8f-7773-11ed-9966-0242ac110003
911
+ * @see https://www.htx.com/en-us/opend/newApiPages/?id=8cb89359-77b5-11ed-9966-195a208afe7
889
912
  * @param {string} symbol unified market symbol of the market orders were made in
890
913
  * @param {int} [since] the earliest time in ms to fetch orders for
891
914
  * @param {int} [limit] the maximum number of order structures to retrieve
@@ -912,18 +935,31 @@ export default class htx extends htxRest {
912
935
  subType = this.safeString(params, 'subType', subType);
913
936
  params = this.omit(params, ['type', 'subType']);
914
937
  }
938
+ const linear = (subType === 'linear');
939
+ const swap = (type === 'swap');
940
+ const future = (type === 'future');
941
+ const isV5Linear = (linear && (swap || future));
915
942
  let messageHash = undefined;
916
943
  let channel = undefined;
917
944
  if (type === 'spot') {
918
945
  messageHash = 'orders' + '#' + suffix;
919
946
  channel = messageHash;
920
947
  }
948
+ else if (isV5Linear) {
949
+ const channelAndMessageHashAndParams = this.getV5LinearChannelAndMessageHash('orders', market, params);
950
+ channel = this.safeString(channelAndMessageHashAndParams, 0);
951
+ messageHash = this.safeString(channelAndMessageHashAndParams, 1);
952
+ params = this.safeValue(channelAndMessageHashAndParams, 2, {});
953
+ }
921
954
  else {
922
955
  const channelAndMessageHash = this.getOrderChannelAndMessageHash(type, subType, market, params);
923
956
  channel = this.safeString(channelAndMessageHash, 0);
924
957
  messageHash = this.safeString(channelAndMessageHash, 1);
925
958
  }
926
- const orders = await this.subscribePrivate(channel, messageHash, type, subType, params);
959
+ const subscriptionParams = {
960
+ 'isV5': isV5Linear,
961
+ };
962
+ const orders = await this.subscribePrivate(channel, messageHash, type, subType, params, subscriptionParams);
927
963
  if (this.newUpdates) {
928
964
  limit = orders.getLimit(symbol, limit);
929
965
  }
@@ -1050,11 +1086,60 @@ export default class htx extends htxRest {
1050
1086
  // }
1051
1087
  //
1052
1088
  //
1089
+ // linear v5 watchOrders
1090
+ //
1091
+ // {
1092
+ // "op": "notify",
1093
+ // "topic": "orders",
1094
+ // "contract_code": "BTC-USDT",
1095
+ // "ts": 1782367563267,
1096
+ // "uid": "359305390",
1097
+ // "data": {
1098
+ // "side": "buy",
1099
+ // "type": "limit",
1100
+ // "price": "40000",
1101
+ // "volume": "1",
1102
+ // "state": "new",
1103
+ // "profit": "0",
1104
+ // "contract_code": "BTC-USDT",
1105
+ // "position_side": "both",
1106
+ // "price_match": null,
1107
+ // "order_id": "1519705236917489664",
1108
+ // "client_order_id": "1519705236917489664",
1109
+ // "margin_mode": "cross",
1110
+ // "lever_rate": 10,
1111
+ // "order_source": "api",
1112
+ // "reduce_only": false,
1113
+ // "time_in_force": "gtc",
1114
+ // "trade_avg_price": "0",
1115
+ // "trade_volume": "0",
1116
+ // "trade_turnover": "0",
1117
+ // "fee_currency": null,
1118
+ // "fee": "0",
1119
+ // "tp_trigger_price": "",
1120
+ // "tp_order_price": "",
1121
+ // "tp_type": "",
1122
+ // "tp_trigger_price_type": "",
1123
+ // "sl_trigger_price": "",
1124
+ // "sl_order_price": "",
1125
+ // "sl_type": "",
1126
+ // "sl_trigger_price_type": "",
1127
+ // "contract_type": "swap",
1128
+ // "cancel_reason": "",
1129
+ // "created_time": "1782367563239",
1130
+ // "updated_time": "1782367563239",
1131
+ // "self_match_prevent": "cancel_taker",
1132
+ // "amend_origin_volume": "",
1133
+ // "amend_source": "",
1134
+ // "amend_result": ""
1135
+ // }
1136
+ // }
1137
+ //
1053
1138
  const messageHash = this.safeString2(message, 'ch', 'topic');
1054
1139
  const data = this.safeValue(message, 'data');
1055
1140
  let marketId = this.safeString(message, 'contract_code');
1056
1141
  if (marketId === undefined) {
1057
- marketId = this.safeString(data, 'symbol');
1142
+ marketId = this.safeString2(data, 'contract_code', 'symbol');
1058
1143
  }
1059
1144
  const market = this.safeMarket(marketId);
1060
1145
  let parsedOrder = undefined;
@@ -1118,6 +1203,10 @@ export default class htx extends htxRest {
1118
1203
  const cachedOrders = this.orders;
1119
1204
  cachedOrders.append(parsedOrder);
1120
1205
  client.resolve(this.orders, messageHash);
1206
+ if ((messageHash === 'orders') && (marketId !== undefined)) {
1207
+ const specificMessageHash = messageHash + '.' + marketId.toLowerCase();
1208
+ client.resolve(this.orders, specificMessageHash);
1209
+ }
1121
1210
  // when we make a global subscription (for contracts only) our message hash can't have a symbol/currency attached
1122
1211
  // so we're removing it here
1123
1212
  let genericMessageHash = messageHash.replace('.' + market['lowercaseId'], '');
@@ -1239,22 +1328,64 @@ export default class htx extends htxRest {
1239
1328
  // "real_profit": 0
1240
1329
  // }
1241
1330
  //
1242
- const lastTradeTimestamp = this.safeInteger2(order, 'lastActTime', 'ts');
1243
- const created = this.safeInteger(order, 'orderCreateTime');
1331
+ // linear v5 watchOrders
1332
+ //
1333
+ // {
1334
+ // "side": "buy",
1335
+ // "type": "limit",
1336
+ // "price": "40000",
1337
+ // "volume": "1",
1338
+ // "state": "new",
1339
+ // "profit": "0",
1340
+ // "contract_code": "BTC-USDT",
1341
+ // "position_side": "both",
1342
+ // "price_match": null,
1343
+ // "order_id": "1519705236917489664",
1344
+ // "client_order_id": "1519705236917489664",
1345
+ // "margin_mode": "cross",
1346
+ // "lever_rate": 10,
1347
+ // "order_source": "api",
1348
+ // "reduce_only": false,
1349
+ // "time_in_force": "gtc",
1350
+ // "trade_avg_price": "0",
1351
+ // "trade_volume": "0",
1352
+ // "trade_turnover": "0",
1353
+ // "fee_currency": null,
1354
+ // "fee": "0",
1355
+ // "tp_trigger_price": "",
1356
+ // "tp_order_price": "",
1357
+ // "tp_type": "",
1358
+ // "tp_trigger_price_type": "",
1359
+ // "sl_trigger_price": "",
1360
+ // "sl_order_price": "",
1361
+ // "sl_type": "",
1362
+ // "sl_trigger_price_type": "",
1363
+ // "contract_type": "swap",
1364
+ // "cancel_reason": "",
1365
+ // "created_time": "1782367563239",
1366
+ // "updated_time": "1782367563239",
1367
+ // "self_match_prevent": "cancel_taker",
1368
+ // "amend_origin_volume": "",
1369
+ // "amend_source": "",
1370
+ // "amend_result": ""
1371
+ // }
1372
+ //
1373
+ const lastTradeTimestamp = this.safeIntegerN(order, ['lastActTime', 'updated_time', 'ts']);
1374
+ const created = this.safeInteger2(order, 'orderCreateTime', 'created_time');
1244
1375
  const marketId = this.safeString2(order, 'contract_code', 'symbol');
1245
1376
  market = this.safeMarket(marketId, market);
1246
1377
  const symbol = this.safeSymbol(marketId, market);
1247
1378
  const amount = this.safeString2(order, 'orderSize', 'volume');
1248
- const status = this.parseOrderStatus(this.safeString2(order, 'orderStatus', 'status'));
1379
+ const status = this.parseOrderStatus(this.safeStringN(order, ['orderStatus', 'state', 'status']));
1249
1380
  const id = this.safeString2(order, 'orderId', 'order_id');
1250
1381
  const clientOrderId = this.safeString2(order, 'clientOrderId', 'client_order_id');
1251
1382
  const price = this.safeString2(order, 'orderPrice', 'price');
1252
- const filled = this.safeString(order, 'execAmt');
1383
+ const filled = this.safeString2(order, 'execAmt', 'trade_volume');
1253
1384
  const typeSide = this.safeString(order, 'type');
1254
1385
  const feeCost = this.safeString(order, 'fee');
1255
1386
  let fee = undefined;
1256
1387
  if (feeCost !== undefined) {
1257
- const feeCurrencyId = this.safeString(order, 'fee_asset');
1388
+ const feeCurrencyId = this.safeString2(order, 'fee_asset', 'fee_currency');
1258
1389
  fee = {
1259
1390
  'cost': feeCost,
1260
1391
  'currency': this.safeCurrencyCode(feeCurrencyId),
@@ -1263,18 +1394,24 @@ export default class htx extends htxRest {
1263
1394
  const avgPrice = this.safeString(order, 'trade_avg_price');
1264
1395
  const rawTrades = this.safeValue(order, 'trade');
1265
1396
  let typeSideParts = [];
1397
+ let type = undefined;
1266
1398
  if (typeSide !== undefined) {
1267
- typeSideParts = typeSide.split('-');
1399
+ if (typeSide.indexOf('-') >= 0) {
1400
+ typeSideParts = typeSide.split('-');
1401
+ type = this.safeStringLower(typeSideParts, 1);
1402
+ }
1403
+ else {
1404
+ type = typeSide;
1405
+ }
1268
1406
  }
1269
- let type = this.safeStringLower(typeSideParts, 1);
1270
1407
  if (type === undefined) {
1271
1408
  type = this.safeString(order, 'order_price_type');
1272
1409
  }
1273
1410
  let side = this.safeStringLower(typeSideParts, 0);
1274
1411
  if (side === undefined) {
1275
- side = this.safeString(order, 'direction');
1412
+ side = this.safeString2(order, 'direction', 'side');
1276
1413
  }
1277
- const cost = this.safeString(order, 'orderValue');
1414
+ const cost = this.safeString2(order, 'orderValue', 'trade_turnover');
1278
1415
  return this.safeOrder({
1279
1416
  'info': order,
1280
1417
  'id': id,
@@ -1285,7 +1422,7 @@ export default class htx extends htxRest {
1285
1422
  'status': status,
1286
1423
  'symbol': symbol,
1287
1424
  'type': type,
1288
- 'timeInForce': undefined,
1425
+ 'timeInForce': this.safeStringUpper(order, 'time_in_force'),
1289
1426
  'postOnly': undefined,
1290
1427
  'side': side,
1291
1428
  'price': price,
@@ -1296,6 +1433,11 @@ export default class htx extends htxRest {
1296
1433
  'fee': fee,
1297
1434
  'average': avgPrice,
1298
1435
  'trades': rawTrades,
1436
+ 'reduceOnly': this.safeBool(order, 'reduce_only'),
1437
+ 'stopPrice': undefined,
1438
+ 'triggerPrice': undefined,
1439
+ 'takeProfitPrice': this.safeString2(order, 'tp_trigger_price', 'tp_order_price'),
1440
+ 'stopLossPrice': this.safeString2(order, 'sl_trigger_price', 'sl_order_price'),
1299
1441
  }, market);
1300
1442
  }
1301
1443
  parseOrderTrade(trade, market = undefined) {
@@ -1357,11 +1499,10 @@ export default class htx extends htxRest {
1357
1499
  /**
1358
1500
  * @method
1359
1501
  * @name htx#watchPositions
1360
- * @see https://www.huobi.com/en-in/opend/newApiPages/?id=8cb7de1c-77b5-11ed-9966-0242ac110003
1361
- * @see https://www.huobi.com/en-in/opend/newApiPages/?id=8cb7df0f-77b5-11ed-9966-0242ac110003
1502
+ * @description watch all open positions. Note: huobi has one channel for each marginMode and type
1362
1503
  * @see https://www.huobi.com/en-in/opend/newApiPages/?id=28c34a7d-77ae-11ed-9966-0242ac110003
1363
1504
  * @see https://www.huobi.com/en-in/opend/newApiPages/?id=5d5156b5-77b6-11ed-9966-0242ac110003
1364
- * @description watch all open positions. Note: huobi has one channel for each marginMode and type
1505
+ * @see https://www.htx.com/en-us/opend/newApiPages/?id=8cb89359-77b5-11ed-9966-195a35d6034
1365
1506
  * @param {string[]} [symbols] list of unified market symbols
1366
1507
  * @param {int} [since] timestamp in ms of the earliest position to fetch
1367
1508
  * @param {int} [limit] the maximum number of positions to fetch
@@ -1392,11 +1533,26 @@ export default class htx extends htxRest {
1392
1533
  symbols = this.marketSymbols(symbols);
1393
1534
  let marginMode = undefined;
1394
1535
  [marginMode, params] = this.handleMarginModeAndParams('watchPositions', params, 'cross');
1536
+ const linear = (subType === 'linear');
1537
+ const swap = (type === 'swap');
1538
+ const future = (type === 'future');
1539
+ const isV5Linear = (linear && (swap || future));
1395
1540
  const isLinear = (subType === 'linear');
1396
- const url = this.getUrlByMarketType(type, isLinear, true);
1541
+ const url = this.getUrlByMarketType(type, isLinear, true, false, isV5Linear);
1397
1542
  messageHash = marginMode + ':positions' + messageHash;
1398
- const channel = (marginMode === 'cross') ? 'positions_cross.*' : 'positions.*';
1399
- const newPositions = await this.subscribePrivate(channel, messageHash, type, subType, params);
1543
+ let channel = (marginMode === 'cross') ? 'positions_cross.*' : 'positions.*';
1544
+ if (isV5Linear) {
1545
+ const isOneMarket = (!this.isEmpty(symbols) && (symbols.length === 1));
1546
+ const v5Market = isOneMarket ? market : undefined;
1547
+ const channelAndMessageHashAndParams = this.getV5LinearChannelAndMessageHash('positions', v5Market, params);
1548
+ channel = this.safeString(channelAndMessageHashAndParams, 0);
1549
+ params = this.safeValue(channelAndMessageHashAndParams, 2, {});
1550
+ }
1551
+ const subscriptionParams = {
1552
+ 'isV5': isV5Linear,
1553
+ 'margin': marginMode,
1554
+ };
1555
+ const newPositions = await this.subscribePrivate(channel, messageHash, type, subType, params, subscriptionParams);
1400
1556
  if (this.newUpdates) {
1401
1557
  return newPositions;
1402
1558
  }
@@ -1438,9 +1594,53 @@ export default class htx extends htxRest {
1438
1594
  // ]
1439
1595
  // }
1440
1596
  //
1597
+ // watchPositions linear v5
1598
+ //
1599
+ // {
1600
+ // "op": "notify",
1601
+ // "topic": "positions",
1602
+ // "contract_code": "BTC-USDT",
1603
+ // "ts": 1782460576073,
1604
+ // "uid": "359305390",
1605
+ // "event": "snapshot",
1606
+ // "data": [
1607
+ // {
1608
+ // "contract_code": "BTC-USDT",
1609
+ // "symbol": "BTC",
1610
+ // "position_mode": "single_side",
1611
+ // "position_side": "both",
1612
+ // "direction": "buy",
1613
+ // "margin_mode": "cross",
1614
+ // "open_avg_price": "60547.9",
1615
+ // "volume": "1",
1616
+ // "available": "1",
1617
+ // "fee": "0.03632874",
1618
+ // "break_even_price": "60620.55748",
1619
+ // "total_trade_fee": "0.03632874",
1620
+ // "lever_rate": 10,
1621
+ // "adl_risk_percent": 4,
1622
+ // "liquidation_price": "-102094.847680676304309652",
1623
+ // "initial_margin": "6.05807",
1624
+ // "maintenance_margin": "0.20597438",
1625
+ // "profit_unreal": "0.0328",
1626
+ // "profit": "0",
1627
+ // "profit_rate": "0.0054",
1628
+ // "margin_rate": "0.0012",
1629
+ // "state": "normal",
1630
+ // "funding_fee": "0",
1631
+ // "mark_price": "60580.7",
1632
+ // "last_price": "60591.4",
1633
+ // "contract_type": "swap",
1634
+ // "version": 7,
1635
+ // "created_time": "1782460515119",
1636
+ // "updated_time": "1782460515119"
1637
+ // }
1638
+ // ]
1639
+ // }
1640
+ //
1441
1641
  const url = client.url;
1442
1642
  const topic = this.safeString(message, 'topic', '');
1443
- const marginMode = (topic === 'positions_cross') ? 'cross' : 'isolated';
1643
+ const defaultMarginMode = (topic === 'positions_cross') ? 'cross' : 'isolated';
1444
1644
  if (this.positions === undefined) {
1445
1645
  this.positions = {};
1446
1646
  }
@@ -1448,43 +1648,64 @@ export default class htx extends htxRest {
1448
1648
  if (clientPositions === undefined) {
1449
1649
  this.positions[url] = {};
1450
1650
  }
1451
- const clientMarginModePositions = this.safeValue(clientPositions, marginMode);
1452
- if (clientMarginModePositions === undefined) {
1453
- this.positions[url][marginMode] = new ArrayCacheBySymbolBySide();
1454
- }
1455
- const cache = this.positions[url][marginMode];
1456
1651
  const rawPositions = this.safeValue(message, 'data', []);
1652
+ if (this.isEmpty(rawPositions)) {
1653
+ const prefixes = ['cross:positions', 'isolated:positions'];
1654
+ for (let i = 0; i < prefixes.length; i++) {
1655
+ const messageHashes = this.findMessageHashes(client, prefixes[i]);
1656
+ for (let j = 0; j < messageHashes.length; j++) {
1657
+ client.resolve([], messageHashes[j]);
1658
+ }
1659
+ }
1660
+ return;
1661
+ }
1457
1662
  const newPositions = [];
1663
+ const positionsByMarginMode = {};
1458
1664
  const timestamp = this.safeInteger(message, 'ts');
1459
1665
  for (let i = 0; i < rawPositions.length; i++) {
1460
1666
  const rawPosition = rawPositions[i];
1461
1667
  const position = this.parsePosition(rawPosition);
1462
1668
  position['timestamp'] = timestamp;
1463
1669
  position['datetime'] = this.iso8601(timestamp);
1670
+ let marginMode = this.safeStringLower(position, 'marginMode', defaultMarginMode);
1671
+ if ((marginMode !== 'cross') && (marginMode !== 'isolated')) {
1672
+ marginMode = defaultMarginMode;
1673
+ }
1674
+ let cache = this.safeValue(this.positions[url], marginMode);
1675
+ if (cache === undefined) {
1676
+ cache = new ArrayCacheBySymbolBySide();
1677
+ this.positions[url][marginMode] = cache;
1678
+ }
1464
1679
  newPositions.push(position);
1680
+ positionsByMarginMode[marginMode] = this.safeValue(positionsByMarginMode, marginMode, []);
1681
+ positionsByMarginMode[marginMode].push(position);
1465
1682
  cache.append(position);
1466
1683
  }
1467
- const messageHashes = this.findMessageHashes(client, marginMode + ':positions::');
1468
- for (let i = 0; i < messageHashes.length; i++) {
1469
- const messageHash = messageHashes[i];
1470
- const parts = messageHash.split('::');
1471
- const symbolsString = parts[1];
1472
- const symbols = symbolsString.split(',');
1473
- const positions = this.filterByArray(newPositions, 'symbol', symbols, false);
1474
- if (!this.isEmpty(positions)) {
1475
- client.resolve(positions, messageHash);
1684
+ const marginModes = Object.keys(positionsByMarginMode);
1685
+ for (let i = 0; i < marginModes.length; i++) {
1686
+ const marginMode = marginModes[i];
1687
+ const marginModePositions = this.safeValue(positionsByMarginMode, marginMode, []);
1688
+ const messageHashes = this.findMessageHashes(client, marginMode + ':positions::');
1689
+ for (let j = 0; j < messageHashes.length; j++) {
1690
+ const messageHash = messageHashes[j];
1691
+ const parts = messageHash.split('::');
1692
+ const symbolsString = parts[1];
1693
+ const symbols = symbolsString.split(',');
1694
+ const positions = this.filterByArray(marginModePositions, 'symbol', symbols, false);
1695
+ if (!this.isEmpty(positions)) {
1696
+ client.resolve(positions, messageHash);
1697
+ }
1476
1698
  }
1699
+ client.resolve(marginModePositions, marginMode + ':positions');
1477
1700
  }
1478
- client.resolve(newPositions, marginMode + ':positions');
1479
1701
  }
1480
1702
  /**
1481
1703
  * @method
1482
1704
  * @name htx#watchBalance
1483
1705
  * @description watch balance and get the amount of funds available for trading or funds locked in orders
1484
1706
  * @see https://www.htx.com/en-us/opend/newApiPages/?id=7ec52e28-7773-11ed-9966-0242ac110003
1485
- * @see https://www.htx.com/en-us/opend/newApiPages/?id=10000084-77b7-11ed-9966-0242ac110003
1486
- * @see https://www.htx.com/en-us/opend/newApiPages/?id=8cb7dcca-77b5-11ed-9966-0242ac110003
1487
1707
  * @see https://www.htx.com/en-us/opend/newApiPages/?id=28c34995-77ae-11ed-9966-0242ac110003
1708
+ * @see https://www.htx.com/en-us/opend/newApiPages/?id=8cb89359-77b5-11ed-9966-195a6c94551
1488
1709
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1489
1710
  * @returns {object} a [balance structure]{@link https://docs.ccxt.com/?id=balance-structure}
1490
1711
  */
@@ -1499,12 +1720,22 @@ export default class htx extends htxRest {
1499
1720
  let messageHash = undefined;
1500
1721
  let channel = undefined;
1501
1722
  let marginMode = undefined;
1723
+ const linear = (subType === 'linear');
1724
+ const swap = (type === 'swap');
1725
+ const future = (type === 'future');
1726
+ const isV5Linear = (linear && (swap || future));
1502
1727
  if (type === 'spot') {
1503
1728
  let mode = this.safeString2(this.options, 'watchBalance', 'mode', '2');
1504
1729
  mode = this.safeString(params, 'mode', mode);
1505
1730
  messageHash = 'accounts.update' + '#' + mode;
1506
1731
  channel = messageHash;
1507
1732
  }
1733
+ else if (isV5Linear) {
1734
+ marginMode = this.safeString(params, 'margin', 'cross');
1735
+ params = this.omit(params, ['currency', 'symbol', 'margin']);
1736
+ channel = 'account';
1737
+ messageHash = 'account';
1738
+ }
1508
1739
  else {
1509
1740
  const symbol = this.safeString(params, 'symbol');
1510
1741
  const currency = this.safeString(params, 'currency');
@@ -1576,6 +1807,7 @@ export default class htx extends htxRest {
1576
1807
  'type': type,
1577
1808
  'subType': subType,
1578
1809
  'margin': marginMode,
1810
+ 'isV5': isV5Linear,
1579
1811
  };
1580
1812
  // we are differentiating the channel from the messageHash for global subscriptions (*)
1581
1813
  // because huobi returns a different topic than the topic sent. Example: we send
@@ -1628,47 +1860,47 @@ export default class htx extends htxRest {
1628
1860
  // "uid":"123456789"
1629
1861
  // }
1630
1862
  //
1631
- // usdt / linear future, swap
1863
+ // watchBalance linear v5
1632
1864
  //
1633
1865
  // {
1634
- // "op":"notify",
1635
- // "topic":"accounts.btc-usdt", // or "accounts" for global subscriptions
1636
- // "ts":1603711370689,
1637
- // "event":"order.open",
1638
- // "data":[
1639
- // {
1640
- // "margin_mode":"cross",
1641
- // "margin_account":"USDT",
1642
- // "margin_asset":"USDT",
1643
- // "margin_balance":30.959342395,
1644
- // "margin_static":30.959342395,
1645
- // "margin_position":0,
1646
- // "margin_frozen":10,
1647
- // "profit_real":0,
1648
- // "profit_unreal":0,
1649
- // "withdraw_available":20.959342395,
1650
- // "risk_rate":153.796711975,
1651
- // "position_mode":"dual_side",
1652
- // "contract_detail":[
1653
- // {
1654
- // "symbol":"LTC",
1655
- // "contract_code":"LTC-USDT",
1656
- // "margin_position":0,
1657
- // "margin_frozen":0,
1658
- // "margin_available":20.959342395,
1659
- // "profit_unreal":0,
1660
- // "liquidation_price":null,
1661
- // "lever_rate":1,
1662
- // "adjust_factor":0.01,
1663
- // "contract_type":"swap",
1664
- // "pair":"LTC-USDT",
1665
- // "business_type":"swap",
1666
- // "trade_partition":"USDT"
1667
- // },
1668
- // ],
1669
- // "futures_contract_detail":[],
1670
- // }
1671
- // ]
1866
+ // "op": "notify",
1867
+ // "topic": "account",
1868
+ // "contract_code": "",
1869
+ // "ts": 1782459963509,
1870
+ // "uid": "359305390",
1871
+ // "event": "snapshot",
1872
+ // "data": {
1873
+ // "equity": "0",
1874
+ // "state": "normal",
1875
+ // "details": [
1876
+ // {
1877
+ // "currency": "USDT",
1878
+ // "equity": "162.331953938562004875",
1879
+ // "available": "162.331953938562004875",
1880
+ // "profit_unreal": "0",
1881
+ // "initial_margin": "0",
1882
+ // "maintenance_margin": "0",
1883
+ // "maintenance_margin_rate": "0",
1884
+ // "initial_margin_rate": "0",
1885
+ // "voucher": "0",
1886
+ // "voucher_value": "0",
1887
+ // "created_time": "1770293270932",
1888
+ // "updated_time": "1780329743956",
1889
+ // "isolated_equity": "0",
1890
+ // "isolated_profit_unreal": "0",
1891
+ // "withdraw_available": "162.331953938562004875"
1892
+ // }
1893
+ // ],
1894
+ // "initial_margin": "0",
1895
+ // "maintenance_margin": "0",
1896
+ // "maintenance_margin_rate": "0",
1897
+ // "profit_unreal": "0",
1898
+ // "available_margin": "0",
1899
+ // "created_time": "1770293268881",
1900
+ // "updated_time": "1780329743956",
1901
+ // "version": 5659,
1902
+ // "voucher_value": "0"
1903
+ // }
1672
1904
  // }
1673
1905
  //
1674
1906
  // inverse future
@@ -1717,12 +1949,32 @@ export default class htx extends htxRest {
1717
1949
  }
1718
1950
  else {
1719
1951
  // contract balance
1952
+ const topic = this.safeString(message, 'topic');
1953
+ if (topic === 'account') {
1954
+ const accountData = this.safeDict(message, 'data', {});
1955
+ const details = this.safeList(accountData, 'details', []);
1956
+ const detailsLength = details.length;
1957
+ for (let i = 0; i < detailsLength; i++) {
1958
+ const detail = details[i];
1959
+ const currencyId = this.safeString(detail, 'currency');
1960
+ const code = this.safeCurrencyCode(currencyId);
1961
+ if (code === undefined) {
1962
+ continue;
1963
+ }
1964
+ const account = this.account();
1965
+ account['free'] = this.safeString(detail, 'withdraw_available');
1966
+ account['total'] = this.safeString(detail, 'equity');
1967
+ this.balance[code] = account;
1968
+ }
1969
+ this.balance = this.safeBalance(this.balance);
1970
+ client.resolve(this.balance, 'account');
1971
+ return;
1972
+ }
1720
1973
  const dataLength = data.length;
1721
1974
  if (dataLength === 0) {
1722
1975
  return;
1723
1976
  }
1724
1977
  const first = this.safeValue(data, 0, {});
1725
- const topic = this.safeString(message, 'topic');
1726
1978
  const splitTopic = topic.split('.');
1727
1979
  let messageHash = this.safeString(splitTopic, 0);
1728
1980
  let subscription = this.safeValue2(client.subscriptions, messageHash, messageHash + '.*');
@@ -2000,6 +2252,9 @@ export default class htx extends htxRest {
2000
2252
  if (topic.indexOf('orders') >= 0) {
2001
2253
  this.handleOrder(client, message);
2002
2254
  }
2255
+ if (topic.indexOf('trade') >= 0) {
2256
+ this.handleMyTrade(client, message);
2257
+ }
2003
2258
  if (topic.indexOf('account') >= 0) {
2004
2259
  this.handleBalance(client, message);
2005
2260
  }
@@ -2290,20 +2545,65 @@ export default class htx extends htxRest {
2290
2545
  // ],
2291
2546
  // }
2292
2547
  //
2548
+ // linear v5 watchMyTrades
2549
+ //
2550
+ // {
2551
+ // "op": "notify",
2552
+ // "topic": "trade",
2553
+ // "contract_code": "BTC-USDT",
2554
+ // "ts": 1782367694387,
2555
+ // "uid": "359305390",
2556
+ // "data": [
2557
+ // {
2558
+ // "direction": "buy",
2559
+ // "id": "100121555172810-1519705786942156810-1",
2560
+ // "contract_code": "BTC-USDT",
2561
+ // "contract_type": "swap",
2562
+ // "order_id": "1519705786942156810",
2563
+ // "trade_id": "155233460",
2564
+ // "position_side": "both",
2565
+ // "trade_volume": "1",
2566
+ // "trade_price": "61629",
2567
+ // "trade_turnover": "61.629",
2568
+ // "role": "taker",
2569
+ // "client_order_id": "1519705786942156810",
2570
+ // "created_time": "1782367694375",
2571
+ // "updated_time": "1782367694385"
2572
+ // }
2573
+ // ]
2574
+ // }
2575
+ //
2293
2576
  if (this.myTrades === undefined) {
2294
2577
  const limit = this.safeInteger(this.options, 'tradesLimit', 1000);
2295
2578
  this.myTrades = new ArrayCacheBySymbolById(limit);
2296
2579
  }
2297
2580
  const cachedTrades = this.myTrades;
2298
- const messageHash = this.safeString(message, 'ch');
2581
+ const messageHash = this.safeString2(message, 'ch', 'topic');
2299
2582
  if (messageHash !== undefined) {
2300
2583
  const data = this.safeValue(message, 'data');
2301
2584
  if (data !== undefined) {
2302
- const parsed = this.parseWsTrade(data);
2303
- const symbol = this.safeString(parsed, 'symbol');
2304
- if (symbol !== undefined) {
2305
- cachedTrades.append(parsed);
2306
- client.resolve(this.myTrades, messageHash);
2585
+ const contractCode = this.safeString(message, 'contract_code');
2586
+ const market = (contractCode !== undefined) ? this.safeMarket(contractCode) : undefined;
2587
+ if (Array.isArray(data)) {
2588
+ for (let i = 0; i < data.length; i++) {
2589
+ const parsed = this.parseWsTrade(data[i], market);
2590
+ const symbol = this.safeString(parsed, 'symbol');
2591
+ if (symbol !== undefined) {
2592
+ cachedTrades.append(parsed);
2593
+ }
2594
+ }
2595
+ }
2596
+ else {
2597
+ const parsed = this.parseWsTrade(data, market);
2598
+ const symbol = this.safeString(parsed, 'symbol');
2599
+ if (symbol !== undefined) {
2600
+ cachedTrades.append(parsed);
2601
+ }
2602
+ }
2603
+ client.resolve(this.myTrades, messageHash);
2604
+ if ((messageHash === 'trade') && (contractCode !== undefined)) {
2605
+ const specificMessageHash = messageHash + '.' + contractCode.toLowerCase();
2606
+ client.resolve(this.myTrades, specificMessageHash);
2307
2607
  }
2308
2608
  }
2309
2609
  else {
@@ -2361,31 +2661,54 @@ export default class htx extends htxRest {
2361
2661
  // "feeDeductType":""
2362
2662
  // }
2363
2663
  //
2364
- const symbol = this.safeSymbol(this.safeString(trade, 'symbol'));
2365
- const side = this.safeString2(trade, 'side', 'orderSide');
2366
- const tradeId = this.safeString(trade, 'tradeId');
2367
- const price = this.safeString(trade, 'tradePrice');
2368
- const amount = this.safeString(trade, 'tradeVolume');
2369
- const order = this.safeString(trade, 'orderId');
2370
- const timestamp = this.safeInteger(trade, 'tradeTime');
2371
- market = this.market(symbol);
2372
- const orderType = this.safeString(trade, 'orderType');
2664
+ // linear v5 watchMyTrades
2665
+ //
2666
+ // {
2667
+ // "direction": "buy",
2668
+ // "id": "100121555172810-1519705786942156810-1",
2669
+ // "contract_code": "BTC-USDT",
2670
+ // "contract_type": "swap",
2671
+ // "order_id": "1519705786942156810",
2672
+ // "trade_id": "155233460",
2673
+ // "position_side": "both",
2674
+ // "trade_volume": "1",
2675
+ // "trade_price": "61629",
2676
+ // "trade_turnover": "61.629",
2677
+ // "role": "taker",
2678
+ // "client_order_id": "1519705786942156810",
2679
+ // "created_time": "1782367694375",
2680
+ // "updated_time": "1782367694385"
2681
+ // }
2682
+ //
2683
+ const marketId = this.safeString2(trade, 'symbol', 'contract_code');
2684
+ market = this.safeMarket(marketId, market);
2685
+ const symbol = this.safeString(market, 'symbol');
2686
+ const side = this.safeStringN(trade, ['side', 'orderSide', 'direction']);
2687
+ const tradeId = this.safeStringN(trade, ['tradeId', 'trade_id', 'id']);
2688
+ const price = this.safeString2(trade, 'tradePrice', 'trade_price');
2689
+ const amount = this.safeString2(trade, 'tradeVolume', 'trade_volume');
2690
+ const order = this.safeString2(trade, 'orderId', 'order_id');
2691
+ const timestamp = this.safeIntegerN(trade, ['tradeTime', 'updated_time', 'created_time']);
2692
+ const orderType = this.safeString2(trade, 'orderType', 'type');
2373
2693
  const aggressor = this.safeValue(trade, 'aggressor');
2374
2694
  let takerOrMaker = undefined;
2375
2695
  if (aggressor !== undefined) {
2376
2696
  takerOrMaker = aggressor ? 'taker' : 'maker';
2377
2697
  }
2698
+ else {
2699
+ takerOrMaker = this.safeStringLower(trade, 'role');
2700
+ }
2378
2701
  let type = undefined;
2379
2702
  let orderTypeParts = [];
2380
2703
  if (orderType !== undefined) {
2381
2704
  orderTypeParts = orderType.split('-');
2382
- type = this.safeString(orderTypeParts, 1);
2705
+ type = this.safeString(orderTypeParts, 1, orderType);
2383
2706
  }
2384
2707
  let fee = undefined;
2385
- const feeCurrency = this.safeCurrencyCode(this.safeString(trade, 'feeCurrency'));
2708
+ const feeCurrency = this.safeCurrencyCode(this.safeStringN(trade, ['feeCurrency', 'fee_currency', 'fee_asset']));
2386
2709
  if (feeCurrency !== undefined) {
2387
2710
  fee = {
2388
- 'cost': this.safeString(trade, 'transactFee'),
2711
+ 'cost': this.safeStringN(trade, ['transactFee', 'fee', 'trade_fee']),
2389
2712
  'currency': feeCurrency,
2390
2713
  };
2391
2714
  }
@@ -2405,7 +2728,7 @@ export default class htx extends htxRest {
2405
2728
  'fee': fee,
2406
2729
  }, market);
2407
2730
  }
2408
- getUrlByMarketType(type, isLinear = true, isPrivate = false, isFeed = false) {
2731
+ getUrlByMarketType(type, isLinear = true, isPrivate = false, isFeed = false, isV5 = false) {
2409
2732
  const api = this.safeString(this.options, 'api', 'api');
2410
2733
  const hostname = { 'hostname': this.hostname };
2411
2734
  let hostnameURL = undefined;
@@ -2427,7 +2750,17 @@ export default class htx extends htxRest {
2427
2750
  else {
2428
2751
  const baseUrl = this.urls['api']['ws'][api][type];
2429
2752
  const subTypeUrl = isLinear ? baseUrl['linear'] : baseUrl['inverse'];
2430
- url = isPrivate ? subTypeUrl['private'] : subTypeUrl['public'];
2753
+ if (isPrivate) {
2754
+ if (isV5 && isLinear) {
2755
+ url = this.safeString(subTypeUrl, 'privateV5', subTypeUrl['private']);
2756
+ }
2757
+ else {
2758
+ url = subTypeUrl['private'];
2759
+ }
2760
+ }
2761
+ else {
2762
+ url = subTypeUrl['public'];
2763
+ }
2431
2764
  }
2432
2765
  return url;
2433
2766
  }
@@ -2495,7 +2828,8 @@ export default class htx extends htxRest {
2495
2828
  };
2496
2829
  }
2497
2830
  const isLinear = subtype === 'linear';
2498
- const url = this.getUrlByMarketType(type, isLinear, true);
2831
+ const isV5 = this.safeBool(subscriptionParams, 'isV5', false);
2832
+ const url = this.getUrlByMarketType(type, isLinear, true, false, isV5);
2499
2833
  const hostname = (type === 'spot') ? this.urls['hostnames']['spot'] : this.urls['hostnames']['contract'];
2500
2834
  const authParams = {
2501
2835
  'type': type,