ccxt 4.5.59 → 4.5.60

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 (1030) hide show
  1. package/README.md +11 -11
  2. package/dist/ccxt.browser.min.js +3 -3
  3. package/dist/cjs/ccxt.js +1 -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 +8 -2
  101. package/dist/cjs/src/alpaca.js +2 -2
  102. package/dist/cjs/src/apex.js +33 -33
  103. package/dist/cjs/src/ascendex.js +5 -6
  104. package/dist/cjs/src/aster.js +20 -21
  105. package/dist/cjs/src/backpack.js +3 -3
  106. package/dist/cjs/src/base/Exchange.js +73 -22
  107. package/dist/cjs/src/base/Precise.js +6 -0
  108. package/dist/cjs/src/base/errors.js +6 -0
  109. package/dist/cjs/src/base/functions/crypto.js +1 -1
  110. package/dist/cjs/src/base/functions/encode.js +1 -1
  111. package/dist/cjs/src/base/functions/generic.js +1 -1
  112. package/dist/cjs/src/base/functions/io.js +1 -1
  113. package/dist/cjs/src/base/functions/misc.js +1 -0
  114. package/dist/cjs/src/base/functions/number.js +6 -0
  115. package/dist/cjs/src/base/functions/platform.js +6 -0
  116. package/dist/cjs/src/base/functions/rsa.js +1 -0
  117. package/dist/cjs/src/base/functions/string.js +6 -0
  118. package/dist/cjs/src/base/functions/throttle.js +1 -1
  119. package/dist/cjs/src/base/functions/time.js +6 -0
  120. package/dist/cjs/src/base/functions/totp.js +1 -0
  121. package/dist/cjs/src/base/functions/type.js +19 -13
  122. package/dist/cjs/src/base/functions.js +2 -2
  123. package/dist/cjs/src/base/ws/Cache.js +6 -2
  124. package/dist/cjs/src/base/ws/Client.js +1 -0
  125. package/dist/cjs/src/base/ws/Future.js +1 -1
  126. package/dist/cjs/src/base/ws/OrderBook.js +1 -1
  127. package/dist/cjs/src/base/ws/OrderBookSide.js +6 -0
  128. package/dist/cjs/src/base/ws/WsClient.js +1 -1
  129. package/dist/cjs/src/bequant.js +1 -1
  130. package/dist/cjs/src/bigone.js +5 -5
  131. package/dist/cjs/src/binance.js +64 -17
  132. package/dist/cjs/src/binancecoinm.js +1 -1
  133. package/dist/cjs/src/binanceus.js +1 -1
  134. package/dist/cjs/src/binanceusdm.js +1 -1
  135. package/dist/cjs/src/bingx.js +29 -29
  136. package/dist/cjs/src/bit2c.js +2 -2
  137. package/dist/cjs/src/bitbank.js +1 -1
  138. package/dist/cjs/src/bitbns.js +2 -1
  139. package/dist/cjs/src/bitfinex.js +9 -9
  140. package/dist/cjs/src/bitflyer.js +1 -1
  141. package/dist/cjs/src/bitget.js +10 -10
  142. package/dist/cjs/src/bithumb.js +2 -2
  143. package/dist/cjs/src/bitmart.js +4 -4
  144. package/dist/cjs/src/bitmex.js +76 -9
  145. package/dist/cjs/src/bitopro.js +1 -1
  146. package/dist/cjs/src/bitrue.js +17 -17
  147. package/dist/cjs/src/bitso.js +1 -1
  148. package/dist/cjs/src/bitstamp.js +9 -9
  149. package/dist/cjs/src/bitteam.js +4 -4
  150. package/dist/cjs/src/bittrade.js +1 -1
  151. package/dist/cjs/src/blockchaincom.js +6 -9
  152. package/dist/cjs/src/blofin.js +13 -14
  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 +1 -1
  156. package/dist/cjs/src/bullish.js +5 -3
  157. package/dist/cjs/src/bybit.js +51 -57
  158. package/dist/cjs/src/bybiteu.js +1 -1
  159. package/dist/cjs/src/bydfi.js +5 -5
  160. package/dist/cjs/src/cex.js +1 -1
  161. package/dist/cjs/src/coinbase.js +8 -8
  162. package/dist/cjs/src/coinbaseexchange.js +6 -1
  163. package/dist/cjs/src/coincheck.js +7 -3
  164. package/dist/cjs/src/coinex.js +10 -10
  165. package/dist/cjs/src/coinmate.js +2 -2
  166. package/dist/cjs/src/coinmetro.js +5 -5
  167. package/dist/cjs/src/coinone.js +1 -3
  168. package/dist/cjs/src/coinsph.js +1 -0
  169. package/dist/cjs/src/coinspot.js +30 -5
  170. package/dist/cjs/src/cryptocom.js +1 -1
  171. package/dist/cjs/src/cryptomus.js +9 -5
  172. package/dist/cjs/src/deepcoin.js +3 -3
  173. package/dist/cjs/src/delta.js +10 -10
  174. package/dist/cjs/src/deribit.js +4 -4
  175. package/dist/cjs/src/derive.js +15 -15
  176. package/dist/cjs/src/digifinex.js +7 -7
  177. package/dist/cjs/src/dydx.js +5 -5
  178. package/dist/cjs/src/exmo.js +19 -17
  179. package/dist/cjs/src/extended.js +3 -3
  180. package/dist/cjs/src/fmfwio.js +1 -1
  181. package/dist/cjs/src/foxbit.js +3 -3
  182. package/dist/cjs/src/gate.js +51 -52
  183. package/dist/cjs/src/gemini.js +1 -1
  184. package/dist/cjs/src/grvt.js +3 -3
  185. package/dist/cjs/src/hashkey.js +4 -4
  186. package/dist/cjs/src/hibachi.js +8 -8
  187. package/dist/cjs/src/hitbtc.js +19 -18
  188. package/dist/cjs/src/hollaex.js +1 -1
  189. package/dist/cjs/src/htx.js +336 -230
  190. package/dist/cjs/src/hyperliquid.js +7 -7
  191. package/dist/cjs/src/independentreserve.js +2 -2
  192. package/dist/cjs/src/indodax.js +5 -5
  193. package/dist/cjs/src/kraken.js +4 -3
  194. package/dist/cjs/src/krakenfutures.js +6 -6
  195. package/dist/cjs/src/kucoin.js +10 -9
  196. package/dist/cjs/src/kucoinfutures.js +5 -1
  197. package/dist/cjs/src/latoken.js +10 -10
  198. package/dist/cjs/src/lbank.js +11 -11
  199. package/dist/cjs/src/lighter.js +7 -7
  200. package/dist/cjs/src/luno.js +4 -4
  201. package/dist/cjs/src/mercado.js +1 -1
  202. package/dist/cjs/src/mexc.js +31 -27
  203. package/dist/cjs/src/modetrade.js +6 -6
  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 +36 -46
  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 +2 -2
  211. package/dist/cjs/src/pacifica.js +3 -3
  212. package/dist/cjs/src/paradex.js +4 -4
  213. package/dist/cjs/src/paymium.js +1 -1
  214. package/dist/cjs/src/phemex.js +24 -24
  215. package/dist/cjs/src/poloniex.js +3 -3
  216. package/dist/cjs/src/pro/alpaca.js +1 -1
  217. package/dist/cjs/src/pro/apex.js +1 -1
  218. package/dist/cjs/src/pro/ascendex.js +1 -1
  219. package/dist/cjs/src/pro/aster.js +1 -1
  220. package/dist/cjs/src/pro/backpack.js +2 -2
  221. package/dist/cjs/src/pro/bequant.js +1 -1
  222. package/dist/cjs/src/pro/binance.js +9 -9
  223. package/dist/cjs/src/pro/binancecoinm.js +1 -1
  224. package/dist/cjs/src/pro/binanceus.js +1 -1
  225. package/dist/cjs/src/pro/binanceusdm.js +1 -1
  226. package/dist/cjs/src/pro/bingx.js +13 -13
  227. package/dist/cjs/src/pro/bitfinex.js +9 -6
  228. package/dist/cjs/src/pro/bitget.js +1 -1
  229. package/dist/cjs/src/pro/bithumb.js +2 -2
  230. package/dist/cjs/src/pro/bitmart.js +9 -6
  231. package/dist/cjs/src/pro/bitmex.js +22 -2
  232. package/dist/cjs/src/pro/bitopro.js +1 -1
  233. package/dist/cjs/src/pro/bitrue.js +2 -2
  234. package/dist/cjs/src/pro/bitstamp.js +1 -1
  235. package/dist/cjs/src/pro/bitvavo.js +1 -1
  236. package/dist/cjs/src/pro/blockchaincom.js +1 -1
  237. package/dist/cjs/src/pro/blofin.js +10 -9
  238. package/dist/cjs/src/pro/bullish.js +1 -1
  239. package/dist/cjs/src/pro/bybit.js +32 -19
  240. package/dist/cjs/src/pro/bybiteu.js +1 -1
  241. package/dist/cjs/src/pro/bydfi.js +1 -1
  242. package/dist/cjs/src/pro/cex.js +1 -1
  243. package/dist/cjs/src/pro/coinbase.js +1 -1
  244. package/dist/cjs/src/pro/coinbaseexchange.js +4 -4
  245. package/dist/cjs/src/pro/coinbaseinternational.js +1 -1
  246. package/dist/cjs/src/pro/coincheck.js +1 -1
  247. package/dist/cjs/src/pro/coinex.js +1 -1
  248. package/dist/cjs/src/pro/coinone.js +1 -1
  249. package/dist/cjs/src/pro/cryptocom.js +1 -1
  250. package/dist/cjs/src/pro/deepcoin.js +9 -9
  251. package/dist/cjs/src/pro/deribit.js +1 -1
  252. package/dist/cjs/src/pro/derive.js +1 -1
  253. package/dist/cjs/src/pro/dydx.js +1 -1
  254. package/dist/cjs/src/pro/exmo.js +1 -1
  255. package/dist/cjs/src/pro/gate.js +1 -1
  256. package/dist/cjs/src/pro/gemini.js +2 -2
  257. package/dist/cjs/src/pro/grvt.js +7 -7
  258. package/dist/cjs/src/pro/hashkey.js +1 -1
  259. package/dist/cjs/src/pro/hitbtc.js +1 -1
  260. package/dist/cjs/src/pro/hollaex.js +1 -1
  261. package/dist/cjs/src/pro/htx.js +2 -2
  262. package/dist/cjs/src/pro/hyperliquid.js +43 -22
  263. package/dist/cjs/src/pro/independentreserve.js +1 -1
  264. package/dist/cjs/src/pro/kraken.js +13 -7
  265. package/dist/cjs/src/pro/krakenfutures.js +4 -4
  266. package/dist/cjs/src/pro/kucoin.js +3 -3
  267. package/dist/cjs/src/pro/kucoinfutures.js +1 -1
  268. package/dist/cjs/src/pro/lbank.js +1 -0
  269. package/dist/cjs/src/pro/lighter.js +1 -1
  270. package/dist/cjs/src/pro/luno.js +1 -1
  271. package/dist/cjs/src/pro/mexc.js +7 -7
  272. package/dist/cjs/src/pro/myokx.js +1 -1
  273. package/dist/cjs/src/pro/ndax.js +2 -2
  274. package/dist/cjs/src/pro/okx.js +1 -1
  275. package/dist/cjs/src/pro/okxus.js +1 -1
  276. package/dist/cjs/src/pro/onetrading.js +1 -1
  277. package/dist/cjs/src/pro/p2b.js +2 -2
  278. package/dist/cjs/src/pro/pacifica.js +1 -1
  279. package/dist/cjs/src/pro/paradex.js +1 -1
  280. package/dist/cjs/src/pro/phemex.js +1 -1
  281. package/dist/cjs/src/pro/poloniex.js +4 -4
  282. package/dist/cjs/src/pro/toobit.js +1 -1
  283. package/dist/cjs/src/pro/upbit.js +1 -1
  284. package/dist/cjs/src/pro/weex.js +1 -1
  285. package/dist/cjs/src/pro/whitebit.js +1 -1
  286. package/dist/cjs/src/pro/woo.js +1 -1
  287. package/dist/cjs/src/pro/xt.js +1 -1
  288. package/dist/cjs/src/protobuf/mexc/compiled.cjs.js +0 -1
  289. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/base/v1beta1/coin.js +1 -0
  290. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/crypto/multisig/v1beta1/multisig.js +1 -0
  291. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/crypto/secp256k1/keys.js +1 -0
  292. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/tx/signing/v1beta1/signing.js +1 -0
  293. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/tx/v1beta1/tx.js +1 -0
  294. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/accountplus/tx.js +1 -0
  295. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/clob_pair.js +1 -0
  296. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order.js +1 -0
  297. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order_removals.js +1 -0
  298. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/tx.js +1 -0
  299. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/transfer.js +1 -0
  300. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/tx.js +1 -0
  301. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/subaccount.js +1 -0
  302. package/dist/cjs/src/static_dependencies/dydx-v4-client/google/protobuf/any.js +1 -0
  303. package/dist/cjs/src/static_dependencies/dydx-v4-client/helpers.js +6 -0
  304. package/dist/cjs/src/static_dependencies/dydx-v4-client/onboarding.js +1 -0
  305. package/dist/cjs/src/static_dependencies/dydx-v4-client/registry.js +1 -0
  306. package/dist/cjs/src/static_dependencies/ethers/abi-coder.js +38 -59
  307. package/dist/cjs/src/static_dependencies/ethers/address/address.js +1 -2
  308. package/dist/cjs/src/static_dependencies/ethers/coders/abstract-coder.js +77 -92
  309. package/dist/cjs/src/static_dependencies/ethers/coders/address.js +1 -1
  310. package/dist/cjs/src/static_dependencies/ethers/coders/anonymous.js +1 -0
  311. package/dist/cjs/src/static_dependencies/ethers/coders/array.js +2 -2
  312. package/dist/cjs/src/static_dependencies/ethers/coders/boolean.js +1 -0
  313. package/dist/cjs/src/static_dependencies/ethers/coders/bytes.js +1 -1
  314. package/dist/cjs/src/static_dependencies/ethers/coders/fixed-bytes.js +2 -2
  315. package/dist/cjs/src/static_dependencies/ethers/coders/null.js +1 -0
  316. package/dist/cjs/src/static_dependencies/ethers/coders/number.js +2 -2
  317. package/dist/cjs/src/static_dependencies/ethers/coders/string.js +1 -0
  318. package/dist/cjs/src/static_dependencies/ethers/coders/tuple.js +1 -0
  319. package/dist/cjs/src/static_dependencies/ethers/fragments.js +96 -105
  320. package/dist/cjs/src/static_dependencies/ethers/hash/typed-data.js +53 -65
  321. package/dist/cjs/src/static_dependencies/ethers/index.js +1 -14
  322. package/dist/cjs/src/static_dependencies/ethers/interface.js +6 -0
  323. package/dist/cjs/src/static_dependencies/ethers/typed.js +7 -34
  324. package/dist/cjs/src/static_dependencies/ethers/utils/base58.js +1 -13
  325. package/dist/cjs/src/static_dependencies/ethers/utils/data.js +1 -6
  326. package/dist/cjs/src/static_dependencies/ethers/utils/errors.js +1 -9
  327. package/dist/cjs/src/static_dependencies/ethers/utils/events.js +6 -0
  328. package/dist/cjs/src/static_dependencies/ethers/utils/fixednumber.js +1 -11
  329. package/dist/cjs/src/static_dependencies/ethers/utils/index.js +1 -8
  330. package/dist/cjs/src/static_dependencies/ethers/utils/maths.js +1 -5
  331. package/dist/cjs/src/static_dependencies/ethers/utils/properties.js +6 -0
  332. package/dist/cjs/src/static_dependencies/ethers/utils/utf8.js +1 -8
  333. package/dist/cjs/src/static_dependencies/fflake/browser.js +1 -1
  334. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncrypt.js +2 -1
  335. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +1 -0
  336. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +1 -1
  337. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +6 -0
  338. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +6 -0
  339. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +6 -0
  340. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +1 -0
  341. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +1 -1
  342. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +6 -0
  343. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +1 -1
  344. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +1 -1
  345. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/util.js +6 -0
  346. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +1 -1
  347. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +6 -0
  348. package/dist/cjs/src/static_dependencies/messagepack/msgpack.js +6 -0
  349. package/dist/cjs/src/static_dependencies/node-fetch/body.js +1 -5
  350. package/dist/cjs/src/static_dependencies/node-fetch/errors/abort-error.js +1 -0
  351. package/dist/cjs/src/static_dependencies/node-fetch/errors/base.js +6 -0
  352. package/dist/cjs/src/static_dependencies/node-fetch/errors/fetch-error.js +1 -0
  353. package/dist/cjs/src/static_dependencies/node-fetch/headers.js +1 -5
  354. package/dist/cjs/src/static_dependencies/node-fetch/index.js +1 -7
  355. package/dist/cjs/src/static_dependencies/node-fetch/request.js +1 -7
  356. package/dist/cjs/src/static_dependencies/node-fetch/response.js +1 -5
  357. package/dist/cjs/src/static_dependencies/node-fetch/utils/get-search.js +6 -0
  358. package/dist/cjs/src/static_dependencies/node-fetch/utils/is-redirect.js +6 -0
  359. package/dist/cjs/src/static_dependencies/node-fetch/utils/is.js +6 -0
  360. package/dist/cjs/src/static_dependencies/node-fetch/utils/referrer.js +1 -0
  361. package/dist/cjs/src/static_dependencies/proxies/agent-base/index.js +1 -0
  362. package/dist/cjs/src/static_dependencies/proxies/http-proxy-agent/index.js +2 -1
  363. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/index.js +2 -1
  364. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +6 -0
  365. package/dist/cjs/src/static_dependencies/qs/formats.js +6 -0
  366. package/dist/cjs/src/static_dependencies/qs/index.js +1 -0
  367. package/dist/cjs/src/static_dependencies/qs/parse.js +1 -0
  368. package/dist/cjs/src/static_dependencies/qs/stringify.js +1 -0
  369. package/dist/cjs/src/static_dependencies/qs/utils.js +6 -0
  370. package/dist/cjs/src/static_dependencies/starknet/constants.js +1 -1
  371. package/dist/cjs/src/static_dependencies/starknet/types/calldata.js +6 -0
  372. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/abi.js +6 -0
  373. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/index.js +6 -0
  374. package/dist/cjs/src/static_dependencies/starknet/types/lib/index.js +6 -0
  375. package/dist/cjs/src/static_dependencies/starknet/types/typedData.js +6 -0
  376. package/dist/cjs/src/static_dependencies/starknet/utils/assert.js +6 -0
  377. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +1 -1
  378. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +2 -2
  379. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +2 -2
  380. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/byteArray.js +1 -0
  381. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/cairo.js +1 -0
  382. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +6 -0
  383. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +6 -0
  384. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +6 -0
  385. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/formatter.js +1 -0
  386. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/index.js +1 -1
  387. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/index.js +1 -0
  388. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +1 -0
  389. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +6 -0
  390. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +1 -0
  391. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/requestParser.js +1 -0
  392. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/responseParser.js +1 -0
  393. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/tuple.js +1 -1
  394. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/validate.js +1 -4
  395. package/dist/cjs/src/static_dependencies/starknet/utils/encode.js +1 -0
  396. package/dist/cjs/src/static_dependencies/starknet/utils/hash/classHash.js +1 -3
  397. package/dist/cjs/src/static_dependencies/starknet/utils/merkle.js +1 -0
  398. package/dist/cjs/src/static_dependencies/starknet/utils/num.js +1 -0
  399. package/dist/cjs/src/static_dependencies/starknet/utils/selector.js +1 -0
  400. package/dist/cjs/src/static_dependencies/starknet/utils/shortString.js +1 -0
  401. package/dist/cjs/src/static_dependencies/starknet/utils/typedData.js +1 -1
  402. package/dist/cjs/src/static_dependencies/watchable/src/unpromise.js +7 -1
  403. package/dist/cjs/src/static_dependencies/zklink/zklink-sdk-web.js +6 -0
  404. package/dist/cjs/src/tokocrypto.js +4 -4
  405. package/dist/cjs/src/toobit.js +2 -2
  406. package/dist/cjs/src/upbit.js +10 -7
  407. package/dist/cjs/src/weex.js +8 -8
  408. package/dist/cjs/src/whitebit.js +5 -5
  409. package/dist/cjs/src/woo.js +19 -15
  410. package/dist/cjs/src/woofipro.js +5 -5
  411. package/dist/cjs/src/xt.js +4 -3
  412. package/dist/cjs/src/zaif.js +1 -1
  413. package/dist/cjs/src/zebpay.js +5 -5
  414. package/js/ccxt.d.ts +3 -3
  415. package/js/ccxt.js +7 -1
  416. package/js/src/abstract/aftermath.js +6 -0
  417. package/js/src/abstract/alpaca.js +6 -0
  418. package/js/src/abstract/apex.js +6 -0
  419. package/js/src/abstract/ascendex.js +6 -0
  420. package/js/src/abstract/aster.js +6 -0
  421. package/js/src/abstract/backpack.js +6 -0
  422. package/js/src/abstract/bequant.js +6 -0
  423. package/js/src/abstract/bigone.js +6 -0
  424. package/js/src/abstract/binance.js +6 -0
  425. package/js/src/abstract/binancecoinm.js +6 -0
  426. package/js/src/abstract/binanceus.js +6 -0
  427. package/js/src/abstract/binanceusdm.js +6 -0
  428. package/js/src/abstract/bingx.js +6 -0
  429. package/js/src/abstract/bit2c.js +6 -0
  430. package/js/src/abstract/bitbank.js +6 -0
  431. package/js/src/abstract/bitbns.js +6 -0
  432. package/js/src/abstract/bitfinex.js +6 -0
  433. package/js/src/abstract/bitflyer.js +6 -0
  434. package/js/src/abstract/bitget.js +6 -0
  435. package/js/src/abstract/bithumb.js +6 -0
  436. package/js/src/abstract/bitmart.js +6 -0
  437. package/js/src/abstract/bitmex.js +6 -0
  438. package/js/src/abstract/bitopro.js +6 -0
  439. package/js/src/abstract/bitrue.js +6 -0
  440. package/js/src/abstract/bitso.js +6 -0
  441. package/js/src/abstract/bitstamp.js +6 -0
  442. package/js/src/abstract/bitteam.js +6 -0
  443. package/js/src/abstract/bittrade.js +6 -0
  444. package/js/src/abstract/bitvavo.js +6 -0
  445. package/js/src/abstract/blockchaincom.js +6 -0
  446. package/js/src/abstract/blofin.js +6 -0
  447. package/js/src/abstract/btcbox.js +6 -0
  448. package/js/src/abstract/btcmarkets.js +6 -0
  449. package/js/src/abstract/btcturk.js +6 -0
  450. package/js/src/abstract/bullish.js +6 -0
  451. package/js/src/abstract/bybit.js +6 -0
  452. package/js/src/abstract/bybiteu.js +6 -0
  453. package/js/src/abstract/bydfi.js +6 -0
  454. package/js/src/abstract/cex.js +6 -0
  455. package/js/src/abstract/coinbase.js +6 -0
  456. package/js/src/abstract/coinbaseexchange.d.ts +3 -0
  457. package/js/src/abstract/coinbaseexchange.js +6 -0
  458. package/js/src/abstract/coinbaseinternational.js +6 -0
  459. package/js/src/abstract/coincheck.js +6 -0
  460. package/js/src/abstract/coinex.js +6 -0
  461. package/js/src/abstract/coinmate.js +6 -0
  462. package/js/src/abstract/coinmetro.js +6 -0
  463. package/js/src/abstract/coinone.js +6 -0
  464. package/js/src/abstract/coinsph.js +6 -0
  465. package/js/src/abstract/coinspot.js +6 -0
  466. package/js/src/abstract/cryptocom.js +6 -0
  467. package/js/src/abstract/cryptomus.js +6 -0
  468. package/js/src/abstract/deepcoin.js +6 -0
  469. package/js/src/abstract/delta.js +6 -0
  470. package/js/src/abstract/deribit.js +6 -0
  471. package/js/src/abstract/derive.js +6 -0
  472. package/js/src/abstract/digifinex.js +6 -0
  473. package/js/src/abstract/dydx.js +6 -0
  474. package/js/src/abstract/exmo.js +6 -0
  475. package/js/src/abstract/extended.js +6 -0
  476. package/js/src/abstract/fmfwio.js +6 -0
  477. package/js/src/abstract/foxbit.js +6 -0
  478. package/js/src/abstract/gate.js +6 -0
  479. package/js/src/abstract/gemini.js +6 -0
  480. package/js/src/abstract/grvt.js +6 -0
  481. package/js/src/abstract/hashkey.js +6 -0
  482. package/js/src/abstract/hibachi.js +6 -0
  483. package/js/src/abstract/hitbtc.js +6 -0
  484. package/js/src/abstract/hollaex.js +6 -0
  485. package/js/src/abstract/htx.d.ts +20 -124
  486. package/js/src/abstract/htx.js +6 -0
  487. package/js/src/abstract/hyperliquid.js +6 -0
  488. package/js/src/abstract/independentreserve.js +6 -0
  489. package/js/src/abstract/indodax.js +6 -0
  490. package/js/src/abstract/kraken.js +6 -0
  491. package/js/src/abstract/krakenfutures.js +6 -0
  492. package/js/src/abstract/kucoin.js +6 -0
  493. package/js/src/abstract/kucoinfutures.js +6 -0
  494. package/js/src/abstract/latoken.js +6 -0
  495. package/js/src/abstract/lbank.js +6 -0
  496. package/js/src/abstract/lighter.js +6 -0
  497. package/js/src/abstract/luno.js +6 -0
  498. package/js/src/abstract/mercado.js +6 -0
  499. package/js/src/abstract/mexc.js +6 -0
  500. package/js/src/abstract/modetrade.js +6 -0
  501. package/js/src/abstract/myokx.js +6 -0
  502. package/js/src/abstract/ndax.js +6 -0
  503. package/js/src/abstract/novadax.js +6 -0
  504. package/js/src/abstract/okx.js +6 -0
  505. package/js/src/abstract/okxus.js +6 -0
  506. package/js/src/abstract/onetrading.js +6 -0
  507. package/js/src/abstract/p2b.js +6 -0
  508. package/js/src/abstract/pacifica.js +6 -0
  509. package/js/src/abstract/paradex.js +6 -0
  510. package/js/src/abstract/paymium.js +6 -0
  511. package/js/src/abstract/phemex.js +6 -0
  512. package/js/src/abstract/poloniex.js +6 -0
  513. package/js/src/abstract/tokocrypto.js +6 -0
  514. package/js/src/abstract/toobit.js +6 -0
  515. package/js/src/abstract/upbit.js +6 -0
  516. package/js/src/abstract/weex.js +6 -0
  517. package/js/src/abstract/whitebit.js +6 -0
  518. package/js/src/abstract/woo.js +6 -0
  519. package/js/src/abstract/woofipro.js +6 -0
  520. package/js/src/abstract/xt.js +6 -0
  521. package/js/src/abstract/zaif.js +6 -0
  522. package/js/src/abstract/zebpay.js +6 -0
  523. package/js/src/aftermath.d.ts +8 -4
  524. package/js/src/aftermath.js +13 -2
  525. package/js/src/alpaca.d.ts +4 -4
  526. package/js/src/alpaca.js +7 -1
  527. package/js/src/apex.d.ts +28 -28
  528. package/js/src/apex.js +38 -32
  529. package/js/src/ascendex.d.ts +3 -3
  530. package/js/src/ascendex.js +10 -5
  531. package/js/src/aster.d.ts +9 -9
  532. package/js/src/aster.js +25 -20
  533. package/js/src/backpack.d.ts +4 -4
  534. package/js/src/backpack.js +8 -2
  535. package/js/src/base/Exchange.d.ts +66 -53
  536. package/js/src/base/Exchange.js +80 -23
  537. package/js/src/base/Precise.js +6 -0
  538. package/js/src/base/errorHierarchy.js +6 -0
  539. package/js/src/base/errors.js +6 -0
  540. package/js/src/base/functions/crypto.js +6 -0
  541. package/js/src/base/functions/encode.js +6 -0
  542. package/js/src/base/functions/generic.js +8 -2
  543. package/js/src/base/functions/io.js +6 -0
  544. package/js/src/base/functions/misc.js +6 -0
  545. package/js/src/base/functions/number.js +6 -0
  546. package/js/src/base/functions/platform.js +6 -0
  547. package/js/src/base/functions/rsa.js +6 -0
  548. package/js/src/base/functions/string.js +6 -0
  549. package/js/src/base/functions/throttle.js +6 -0
  550. package/js/src/base/functions/time.js +6 -0
  551. package/js/src/base/functions/totp.js +6 -0
  552. package/js/src/base/functions/type.d.ts +13 -7
  553. package/js/src/base/functions/type.js +19 -13
  554. package/js/src/base/functions.js +6 -0
  555. package/js/src/base/types.d.ts +152 -149
  556. package/js/src/base/types.js +6 -0
  557. package/js/src/base/ws/Cache.d.ts +5 -4
  558. package/js/src/base/ws/Cache.js +6 -2
  559. package/js/src/base/ws/Client.js +6 -0
  560. package/js/src/base/ws/Future.js +6 -0
  561. package/js/src/base/ws/OrderBook.d.ts +3 -3
  562. package/js/src/base/ws/OrderBook.js +8 -2
  563. package/js/src/base/ws/OrderBookSide.js +6 -0
  564. package/js/src/base/ws/WsClient.js +6 -0
  565. package/js/src/base/ws/functions.d.ts +1 -0
  566. package/js/src/base/ws/functions.js +7 -1
  567. package/js/src/bequant.js +6 -0
  568. package/js/src/bigone.d.ts +4 -4
  569. package/js/src/bigone.js +10 -4
  570. package/js/src/binance.d.ts +13 -13
  571. package/js/src/binance.js +69 -16
  572. package/js/src/binancecoinm.js +6 -0
  573. package/js/src/binanceus.js +6 -0
  574. package/js/src/binanceusdm.js +6 -0
  575. package/js/src/bingx.d.ts +7 -7
  576. package/js/src/bingx.js +34 -28
  577. package/js/src/bit2c.d.ts +4 -4
  578. package/js/src/bit2c.js +7 -1
  579. package/js/src/bitbank.d.ts +3 -3
  580. package/js/src/bitbank.js +6 -0
  581. package/js/src/bitbns.d.ts +5 -5
  582. package/js/src/bitbns.js +7 -0
  583. package/js/src/bitfinex.d.ts +6 -6
  584. package/js/src/bitfinex.js +14 -8
  585. package/js/src/bitflyer.d.ts +4 -4
  586. package/js/src/bitflyer.js +6 -0
  587. package/js/src/bitget.d.ts +9 -9
  588. package/js/src/bitget.js +15 -9
  589. package/js/src/bithumb.d.ts +4 -4
  590. package/js/src/bithumb.js +7 -1
  591. package/js/src/bitmart.d.ts +6 -6
  592. package/js/src/bitmart.js +9 -3
  593. package/js/src/bitmex.d.ts +4 -4
  594. package/js/src/bitmex.js +81 -8
  595. package/js/src/bitopro.d.ts +4 -4
  596. package/js/src/bitopro.js +6 -0
  597. package/js/src/bitrue.d.ts +11 -11
  598. package/js/src/bitrue.js +22 -16
  599. package/js/src/bitso.d.ts +4 -4
  600. package/js/src/bitso.js +6 -0
  601. package/js/src/bitstamp.d.ts +4 -4
  602. package/js/src/bitstamp.js +14 -8
  603. package/js/src/bitteam.d.ts +4 -4
  604. package/js/src/bitteam.js +9 -3
  605. package/js/src/bittrade.d.ts +4 -4
  606. package/js/src/bittrade.js +6 -0
  607. package/js/src/bitvavo.d.ts +7 -7
  608. package/js/src/bitvavo.js +6 -0
  609. package/js/src/blockchaincom.d.ts +4 -4
  610. package/js/src/blockchaincom.js +11 -8
  611. package/js/src/blofin.d.ts +4 -4
  612. package/js/src/blofin.js +18 -13
  613. package/js/src/btcbox.d.ts +3 -3
  614. package/js/src/btcbox.js +6 -0
  615. package/js/src/btcmarkets.d.ts +5 -5
  616. package/js/src/btcmarkets.js +6 -0
  617. package/js/src/btcturk.d.ts +4 -4
  618. package/js/src/btcturk.js +6 -0
  619. package/js/src/bullish.d.ts +5 -5
  620. package/js/src/bullish.js +10 -2
  621. package/js/src/bybit.d.ts +8 -8
  622. package/js/src/bybit.js +56 -56
  623. package/js/src/bybiteu.js +6 -0
  624. package/js/src/bydfi.js +10 -4
  625. package/js/src/cex.d.ts +4 -4
  626. package/js/src/cex.js +6 -0
  627. package/js/src/coinbase.d.ts +4 -4
  628. package/js/src/coinbase.js +14 -8
  629. package/js/src/coinbaseexchange.d.ts +4 -4
  630. package/js/src/coinbaseexchange.js +12 -1
  631. package/js/src/coinbaseinternational.d.ts +7 -7
  632. package/js/src/coinbaseinternational.js +6 -0
  633. package/js/src/coincheck.d.ts +3 -3
  634. package/js/src/coincheck.js +12 -2
  635. package/js/src/coinex.d.ts +6 -6
  636. package/js/src/coinex.js +15 -9
  637. package/js/src/coinmate.d.ts +3 -3
  638. package/js/src/coinmate.js +7 -1
  639. package/js/src/coinmetro.d.ts +4 -4
  640. package/js/src/coinmetro.js +10 -4
  641. package/js/src/coinone.d.ts +4 -4
  642. package/js/src/coinone.js +6 -2
  643. package/js/src/coinsph.d.ts +4 -4
  644. package/js/src/coinsph.js +6 -0
  645. package/js/src/coinspot.d.ts +5 -4
  646. package/js/src/coinspot.js +36 -5
  647. package/js/src/cryptocom.d.ts +6 -6
  648. package/js/src/cryptocom.js +6 -0
  649. package/js/src/cryptomus.d.ts +6 -6
  650. package/js/src/cryptomus.js +14 -4
  651. package/js/src/deepcoin.d.ts +6 -12
  652. package/js/src/deepcoin.js +8 -2
  653. package/js/src/delta.d.ts +4 -4
  654. package/js/src/delta.js +15 -9
  655. package/js/src/deribit.d.ts +6 -6
  656. package/js/src/deribit.js +9 -3
  657. package/js/src/derive.d.ts +4 -4
  658. package/js/src/derive.js +20 -14
  659. package/js/src/digifinex.d.ts +5 -5
  660. package/js/src/digifinex.js +12 -6
  661. package/js/src/dydx.d.ts +4 -4
  662. package/js/src/dydx.js +10 -4
  663. package/js/src/exmo.d.ts +4 -4
  664. package/js/src/exmo.js +24 -16
  665. package/js/src/extended.d.ts +11 -11
  666. package/js/src/extended.js +8 -2
  667. package/js/src/fmfwio.js +6 -0
  668. package/js/src/foxbit.d.ts +4 -4
  669. package/js/src/foxbit.js +8 -2
  670. package/js/src/gate.d.ts +15 -28
  671. package/js/src/gate.js +56 -51
  672. package/js/src/gemini.d.ts +4 -4
  673. package/js/src/gemini.js +6 -0
  674. package/js/src/grvt.d.ts +5 -5
  675. package/js/src/grvt.js +8 -2
  676. package/js/src/hashkey.d.ts +3 -3
  677. package/js/src/hashkey.js +9 -3
  678. package/js/src/hibachi.d.ts +4 -4
  679. package/js/src/hibachi.js +13 -7
  680. package/js/src/hitbtc.d.ts +6 -6
  681. package/js/src/hitbtc.js +24 -18
  682. package/js/src/hollaex.d.ts +4 -4
  683. package/js/src/hollaex.js +6 -0
  684. package/js/src/htx.d.ts +38 -22
  685. package/js/src/htx.js +341 -229
  686. package/js/src/hyperliquid.d.ts +10 -10
  687. package/js/src/hyperliquid.js +12 -6
  688. package/js/src/independentreserve.d.ts +3 -3
  689. package/js/src/independentreserve.js +7 -1
  690. package/js/src/indodax.d.ts +4 -4
  691. package/js/src/indodax.js +10 -4
  692. package/js/src/kraken.d.ts +5 -5
  693. package/js/src/kraken.js +9 -2
  694. package/js/src/krakenfutures.d.ts +5 -5
  695. package/js/src/krakenfutures.js +11 -5
  696. package/js/src/kucoin.d.ts +7 -7
  697. package/js/src/kucoin.js +15 -8
  698. package/js/src/kucoinfutures.d.ts +4 -0
  699. package/js/src/kucoinfutures.js +10 -0
  700. package/js/src/latoken.d.ts +3 -3
  701. package/js/src/latoken.js +15 -9
  702. package/js/src/lbank.d.ts +9 -9
  703. package/js/src/lbank.js +16 -10
  704. package/js/src/lighter.d.ts +4 -4
  705. package/js/src/lighter.js +12 -6
  706. package/js/src/luno.d.ts +5 -5
  707. package/js/src/luno.js +9 -3
  708. package/js/src/mercado.d.ts +4 -4
  709. package/js/src/mercado.js +6 -0
  710. package/js/src/mexc.d.ts +14 -14
  711. package/js/src/mexc.js +36 -26
  712. package/js/src/modetrade.d.ts +4 -4
  713. package/js/src/modetrade.js +11 -5
  714. package/js/src/myokx.js +6 -0
  715. package/js/src/ndax.d.ts +4 -4
  716. package/js/src/ndax.js +6 -0
  717. package/js/src/novadax.d.ts +4 -4
  718. package/js/src/novadax.js +6 -0
  719. package/js/src/okx.d.ts +5 -5
  720. package/js/src/okx.js +41 -45
  721. package/js/src/okxus.js +6 -0
  722. package/js/src/onetrading.d.ts +6 -6
  723. package/js/src/onetrading.js +6 -0
  724. package/js/src/p2b.d.ts +4 -4
  725. package/js/src/p2b.js +7 -1
  726. package/js/src/pacifica.d.ts +6 -6
  727. package/js/src/pacifica.js +8 -2
  728. package/js/src/paradex.d.ts +4 -4
  729. package/js/src/paradex.js +9 -3
  730. package/js/src/paymium.d.ts +4 -4
  731. package/js/src/paymium.js +6 -0
  732. package/js/src/phemex.d.ts +6 -6
  733. package/js/src/phemex.js +30 -24
  734. package/js/src/poloniex.d.ts +4 -4
  735. package/js/src/poloniex.js +8 -2
  736. package/js/src/pro/aftermath.js +6 -0
  737. package/js/src/pro/alpaca.js +6 -0
  738. package/js/src/pro/apex.d.ts +1 -2
  739. package/js/src/pro/apex.js +6 -0
  740. package/js/src/pro/ascendex.d.ts +1 -1
  741. package/js/src/pro/ascendex.js +6 -0
  742. package/js/src/pro/aster.d.ts +6 -6
  743. package/js/src/pro/aster.js +6 -0
  744. package/js/src/pro/backpack.d.ts +3 -3
  745. package/js/src/pro/backpack.js +7 -1
  746. package/js/src/pro/bequant.js +6 -0
  747. package/js/src/pro/binance.d.ts +2 -2
  748. package/js/src/pro/binance.js +15 -9
  749. package/js/src/pro/binancecoinm.js +6 -0
  750. package/js/src/pro/binanceus.js +6 -0
  751. package/js/src/pro/binanceusdm.js +6 -0
  752. package/js/src/pro/bingx.d.ts +2 -2
  753. package/js/src/pro/bingx.js +18 -12
  754. package/js/src/pro/bitfinex.d.ts +4 -4
  755. package/js/src/pro/bitfinex.js +14 -5
  756. package/js/src/pro/bitget.d.ts +7 -7
  757. package/js/src/pro/bitget.js +6 -0
  758. package/js/src/pro/bithumb.d.ts +4 -4
  759. package/js/src/pro/bithumb.js +7 -1
  760. package/js/src/pro/bitmart.d.ts +2 -2
  761. package/js/src/pro/bitmart.js +14 -5
  762. package/js/src/pro/bitmex.js +27 -1
  763. package/js/src/pro/bitopro.js +7 -1
  764. package/js/src/pro/bitrue.d.ts +1 -1
  765. package/js/src/pro/bitrue.js +7 -1
  766. package/js/src/pro/bitstamp.d.ts +3 -3
  767. package/js/src/pro/bitstamp.js +6 -0
  768. package/js/src/pro/bittrade.js +6 -0
  769. package/js/src/pro/bitvavo.js +6 -0
  770. package/js/src/pro/blockchaincom.d.ts +4 -4
  771. package/js/src/pro/blockchaincom.js +6 -0
  772. package/js/src/pro/blofin.d.ts +3 -3
  773. package/js/src/pro/blofin.js +15 -8
  774. package/js/src/pro/bullish.d.ts +2 -2
  775. package/js/src/pro/bullish.js +6 -0
  776. package/js/src/pro/bybit.d.ts +6 -6
  777. package/js/src/pro/bybit.js +37 -18
  778. package/js/src/pro/bybiteu.js +6 -0
  779. package/js/src/pro/bydfi.js +6 -0
  780. package/js/src/pro/cex.d.ts +1 -1
  781. package/js/src/pro/cex.js +6 -0
  782. package/js/src/pro/coinbase.js +6 -0
  783. package/js/src/pro/coinbaseexchange.d.ts +4 -4
  784. package/js/src/pro/coinbaseexchange.js +9 -3
  785. package/js/src/pro/coinbaseinternational.js +6 -0
  786. package/js/src/pro/coincheck.js +6 -0
  787. package/js/src/pro/coinex.d.ts +6 -6
  788. package/js/src/pro/coinex.js +6 -0
  789. package/js/src/pro/coinone.d.ts +1 -1
  790. package/js/src/pro/coinone.js +6 -0
  791. package/js/src/pro/cryptocom.js +6 -0
  792. package/js/src/pro/deepcoin.d.ts +3 -3
  793. package/js/src/pro/deepcoin.js +14 -8
  794. package/js/src/pro/deribit.d.ts +3 -3
  795. package/js/src/pro/deribit.js +6 -0
  796. package/js/src/pro/derive.js +7 -1
  797. package/js/src/pro/dydx.js +6 -0
  798. package/js/src/pro/exmo.js +6 -0
  799. package/js/src/pro/extended.js +6 -0
  800. package/js/src/pro/gate.d.ts +1 -1
  801. package/js/src/pro/gate.js +6 -0
  802. package/js/src/pro/gemini.js +7 -1
  803. package/js/src/pro/grvt.d.ts +7 -7
  804. package/js/src/pro/grvt.js +12 -6
  805. package/js/src/pro/hashkey.d.ts +1 -1
  806. package/js/src/pro/hashkey.js +6 -0
  807. package/js/src/pro/hitbtc.js +6 -0
  808. package/js/src/pro/hollaex.js +6 -0
  809. package/js/src/pro/htx.d.ts +3 -3
  810. package/js/src/pro/htx.js +7 -1
  811. package/js/src/pro/hyperliquid.d.ts +4 -3
  812. package/js/src/pro/hyperliquid.js +49 -22
  813. package/js/src/pro/independentreserve.js +6 -0
  814. package/js/src/pro/kraken.js +18 -6
  815. package/js/src/pro/krakenfutures.js +9 -3
  816. package/js/src/pro/kucoin.d.ts +13 -13
  817. package/js/src/pro/kucoin.js +8 -2
  818. package/js/src/pro/kucoinfutures.js +6 -0
  819. package/js/src/pro/lbank.d.ts +1 -1
  820. package/js/src/pro/lbank.js +6 -0
  821. package/js/src/pro/lighter.d.ts +4 -4
  822. package/js/src/pro/lighter.js +6 -0
  823. package/js/src/pro/luno.js +6 -0
  824. package/js/src/pro/mexc.d.ts +7 -7
  825. package/js/src/pro/mexc.js +12 -6
  826. package/js/src/pro/modetrade.d.ts +1 -1
  827. package/js/src/pro/modetrade.js +6 -0
  828. package/js/src/pro/myokx.js +6 -0
  829. package/js/src/pro/ndax.js +7 -1
  830. package/js/src/pro/okx.d.ts +4 -4
  831. package/js/src/pro/okx.js +6 -0
  832. package/js/src/pro/okxus.js +6 -0
  833. package/js/src/pro/onetrading.js +6 -0
  834. package/js/src/pro/p2b.js +7 -1
  835. package/js/src/pro/pacifica.js +6 -0
  836. package/js/src/pro/paradex.js +6 -0
  837. package/js/src/pro/phemex.js +6 -0
  838. package/js/src/pro/poloniex.js +9 -3
  839. package/js/src/pro/toobit.js +6 -0
  840. package/js/src/pro/upbit.d.ts +3 -3
  841. package/js/src/pro/upbit.js +6 -0
  842. package/js/src/pro/weex.js +6 -0
  843. package/js/src/pro/whitebit.d.ts +3 -3
  844. package/js/src/pro/whitebit.js +6 -0
  845. package/js/src/pro/woo.d.ts +5 -5
  846. package/js/src/pro/woo.js +7 -1
  847. package/js/src/pro/woofipro.d.ts +6 -6
  848. package/js/src/pro/woofipro.js +6 -0
  849. package/js/src/pro/xt.js +6 -0
  850. package/js/src/protobuf/mexc/compiled.cjs +6 -0
  851. package/js/src/protobuf/mexc/compiled.d.cts +6 -0
  852. package/js/src/static_dependencies/dydx-v4-client/cosmos/base/v1beta1/coin.js +6 -0
  853. package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/multisig/keys.js +6 -0
  854. package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/multisig/v1beta1/multisig.js +6 -0
  855. package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/secp256k1/keys.js +6 -0
  856. package/js/src/static_dependencies/dydx-v4-client/cosmos/tx/signing/v1beta1/signing.js +6 -0
  857. package/js/src/static_dependencies/dydx-v4-client/cosmos/tx/v1beta1/tx.js +6 -0
  858. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/accountplus/tx.js +6 -0
  859. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/block_rate_limit_config.js +6 -0
  860. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/clob_pair.js +6 -0
  861. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/equity_tier_limit_config.js +6 -0
  862. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/finalize_block.js +6 -0
  863. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/liquidations.js +6 -0
  864. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/liquidations_config.js +6 -0
  865. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/matches.js +6 -0
  866. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order.js +6 -0
  867. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order_removals.js +6 -0
  868. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/tx.js +6 -0
  869. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/transfer.js +6 -0
  870. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/tx.js +6 -0
  871. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/asset_position.js +6 -0
  872. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/perpetual_position.js +6 -0
  873. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/subaccount.js +6 -0
  874. package/js/src/static_dependencies/dydx-v4-client/google/protobuf/any.js +6 -0
  875. package/js/src/static_dependencies/dydx-v4-client/helpers.js +6 -0
  876. package/js/src/static_dependencies/dydx-v4-client/long/index.cjs +6 -0
  877. package/js/src/static_dependencies/dydx-v4-client/long/index.d.cts +6 -0
  878. package/js/src/static_dependencies/dydx-v4-client/onboarding.js +6 -0
  879. package/js/src/static_dependencies/dydx-v4-client/registry.js +6 -0
  880. package/js/src/static_dependencies/ethers/abi-coder.js +43 -46
  881. package/js/src/static_dependencies/ethers/address/address.js +6 -0
  882. package/js/src/static_dependencies/ethers/address/checks.js +6 -0
  883. package/js/src/static_dependencies/ethers/address/contract-address.js +6 -0
  884. package/js/src/static_dependencies/ethers/address/index.js +6 -0
  885. package/js/src/static_dependencies/ethers/bytes32.js +6 -0
  886. package/js/src/static_dependencies/ethers/coders/abstract-coder.js +81 -90
  887. package/js/src/static_dependencies/ethers/coders/address.js +6 -0
  888. package/js/src/static_dependencies/ethers/coders/anonymous.js +6 -0
  889. package/js/src/static_dependencies/ethers/coders/array.js +6 -0
  890. package/js/src/static_dependencies/ethers/coders/boolean.js +6 -0
  891. package/js/src/static_dependencies/ethers/coders/bytes.js +6 -0
  892. package/js/src/static_dependencies/ethers/coders/fixed-bytes.js +6 -0
  893. package/js/src/static_dependencies/ethers/coders/null.js +6 -0
  894. package/js/src/static_dependencies/ethers/coders/number.js +6 -0
  895. package/js/src/static_dependencies/ethers/coders/string.js +6 -0
  896. package/js/src/static_dependencies/ethers/coders/tuple.js +6 -0
  897. package/js/src/static_dependencies/ethers/fragments.js +96 -104
  898. package/js/src/static_dependencies/ethers/hash/index.js +6 -0
  899. package/js/src/static_dependencies/ethers/hash/solidity.js +6 -0
  900. package/js/src/static_dependencies/ethers/hash/typed-data.js +58 -65
  901. package/js/src/static_dependencies/ethers/index.js +6 -0
  902. package/js/src/static_dependencies/ethers/interface.js +187 -191
  903. package/js/src/static_dependencies/ethers/typed.js +11 -18
  904. package/js/src/static_dependencies/ethers/utils/base58.js +6 -0
  905. package/js/src/static_dependencies/ethers/utils/base64-browser.js +6 -0
  906. package/js/src/static_dependencies/ethers/utils/base64.js +6 -0
  907. package/js/src/static_dependencies/ethers/utils/data.js +6 -0
  908. package/js/src/static_dependencies/ethers/utils/errors.js +6 -0
  909. package/js/src/static_dependencies/ethers/utils/events.js +10 -17
  910. package/js/src/static_dependencies/ethers/utils/fixednumber.js +99 -99
  911. package/js/src/static_dependencies/ethers/utils/index.js +6 -0
  912. package/js/src/static_dependencies/ethers/utils/maths.js +6 -0
  913. package/js/src/static_dependencies/ethers/utils/properties.js +6 -0
  914. package/js/src/static_dependencies/ethers/utils/rlp-decode.js +6 -0
  915. package/js/src/static_dependencies/ethers/utils/rlp-encode.js +6 -0
  916. package/js/src/static_dependencies/ethers/utils/rlp.js +6 -0
  917. package/js/src/static_dependencies/ethers/utils/units.js +6 -0
  918. package/js/src/static_dependencies/ethers/utils/utf8.js +6 -0
  919. package/js/src/static_dependencies/ethers/utils/uuid.js +6 -0
  920. package/js/src/static_dependencies/fflake/browser.js +6 -0
  921. package/js/src/static_dependencies/jsencrypt/JSEncrypt.js +7 -1
  922. package/js/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +6 -0
  923. package/js/src/static_dependencies/jsencrypt/index.js +6 -0
  924. package/js/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +6 -0
  925. package/js/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +6 -0
  926. package/js/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +6 -0
  927. package/js/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +6 -0
  928. package/js/src/static_dependencies/jsencrypt/lib/asn1js/oids.js +6 -0
  929. package/js/src/static_dependencies/jsencrypt/lib/jsbn/base64.d.ts +1 -1
  930. package/js/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +6 -0
  931. package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +6 -0
  932. package/js/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +6 -0
  933. package/js/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +6 -0
  934. package/js/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +6 -0
  935. package/js/src/static_dependencies/jsencrypt/lib/jsbn/util.js +6 -0
  936. package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +6 -0
  937. package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +6 -0
  938. package/js/src/static_dependencies/messagepack/msgpack.js +6 -0
  939. package/js/src/static_dependencies/node-fetch/body.js +6 -0
  940. package/js/src/static_dependencies/node-fetch/errors/abort-error.js +6 -0
  941. package/js/src/static_dependencies/node-fetch/errors/base.js +6 -0
  942. package/js/src/static_dependencies/node-fetch/errors/fetch-error.js +6 -0
  943. package/js/src/static_dependencies/node-fetch/headers.js +6 -0
  944. package/js/src/static_dependencies/node-fetch/index.d.ts +1 -1
  945. package/js/src/static_dependencies/node-fetch/index.js +6 -0
  946. package/js/src/static_dependencies/node-fetch/request.js +6 -0
  947. package/js/src/static_dependencies/node-fetch/response.js +6 -0
  948. package/js/src/static_dependencies/node-fetch/utils/get-search.js +6 -0
  949. package/js/src/static_dependencies/node-fetch/utils/is-redirect.js +6 -0
  950. package/js/src/static_dependencies/node-fetch/utils/is.js +6 -0
  951. package/js/src/static_dependencies/node-fetch/utils/referrer.js +6 -0
  952. package/js/src/static_dependencies/proxies/agent-base/helpers.js +6 -0
  953. package/js/src/static_dependencies/proxies/agent-base/index.js +6 -0
  954. package/js/src/static_dependencies/proxies/http-proxy-agent/index.js +7 -1
  955. package/js/src/static_dependencies/proxies/https-proxy-agent/index.js +7 -1
  956. package/js/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +6 -0
  957. package/js/src/static_dependencies/qs/formats.js +6 -0
  958. package/js/src/static_dependencies/qs/index.js +6 -0
  959. package/js/src/static_dependencies/qs/parse.js +6 -0
  960. package/js/src/static_dependencies/qs/stringify.js +6 -0
  961. package/js/src/static_dependencies/qs/utils.js +6 -0
  962. package/js/src/static_dependencies/starknet/constants.js +6 -0
  963. package/js/src/static_dependencies/starknet/index.js +6 -0
  964. package/js/src/static_dependencies/starknet/types/cairoEnum.js +6 -0
  965. package/js/src/static_dependencies/starknet/types/calldata.js +6 -0
  966. package/js/src/static_dependencies/starknet/types/index.js +6 -0
  967. package/js/src/static_dependencies/starknet/types/lib/contract/abi.js +6 -0
  968. package/js/src/static_dependencies/starknet/types/lib/contract/index.js +6 -0
  969. package/js/src/static_dependencies/starknet/types/lib/contract/legacy.js +6 -0
  970. package/js/src/static_dependencies/starknet/types/lib/contract/sierra.js +6 -0
  971. package/js/src/static_dependencies/starknet/types/lib/index.js +6 -0
  972. package/js/src/static_dependencies/starknet/types/typedData.js +6 -0
  973. package/js/src/static_dependencies/starknet/utils/address.js +6 -0
  974. package/js/src/static_dependencies/starknet/utils/assert.js +6 -0
  975. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +6 -0
  976. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +7 -1
  977. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +7 -1
  978. package/js/src/static_dependencies/starknet/utils/calldata/byteArray.js +6 -0
  979. package/js/src/static_dependencies/starknet/utils/calldata/cairo.js +6 -0
  980. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +6 -0
  981. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +6 -0
  982. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +6 -0
  983. package/js/src/static_dependencies/starknet/utils/calldata/enum/index.js +6 -0
  984. package/js/src/static_dependencies/starknet/utils/calldata/formatter.js +6 -0
  985. package/js/src/static_dependencies/starknet/utils/calldata/index.js +6 -0
  986. package/js/src/static_dependencies/starknet/utils/calldata/parser/index.js +6 -0
  987. package/js/src/static_dependencies/starknet/utils/calldata/parser/interface.js +6 -0
  988. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +6 -0
  989. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +6 -0
  990. package/js/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +6 -0
  991. package/js/src/static_dependencies/starknet/utils/calldata/requestParser.js +6 -0
  992. package/js/src/static_dependencies/starknet/utils/calldata/responseParser.js +6 -0
  993. package/js/src/static_dependencies/starknet/utils/calldata/tuple.js +6 -0
  994. package/js/src/static_dependencies/starknet/utils/calldata/validate.js +6 -0
  995. package/js/src/static_dependencies/starknet/utils/encode.js +6 -0
  996. package/js/src/static_dependencies/starknet/utils/hash/classHash.js +6 -0
  997. package/js/src/static_dependencies/starknet/utils/hash/index.js +6 -0
  998. package/js/src/static_dependencies/starknet/utils/merkle.js +6 -0
  999. package/js/src/static_dependencies/starknet/utils/num.js +6 -0
  1000. package/js/src/static_dependencies/starknet/utils/selector.js +6 -0
  1001. package/js/src/static_dependencies/starknet/utils/shortString.js +6 -0
  1002. package/js/src/static_dependencies/starknet/utils/starknetId.js +6 -0
  1003. package/js/src/static_dependencies/starknet/utils/typedData.js +6 -0
  1004. package/js/src/static_dependencies/starknet/utils/uint256.js +6 -0
  1005. package/js/src/static_dependencies/starknet/utils/url.js +6 -0
  1006. package/js/src/static_dependencies/watchable/src/index.js +6 -0
  1007. package/js/src/static_dependencies/watchable/src/types.js +6 -0
  1008. package/js/src/static_dependencies/watchable/src/unpromise.js +7 -1
  1009. package/js/src/static_dependencies/zklink/zklink-sdk-web.js +6 -0
  1010. package/js/src/tokocrypto.d.ts +3 -3
  1011. package/js/src/tokocrypto.js +9 -3
  1012. package/js/src/toobit.d.ts +4 -4
  1013. package/js/src/toobit.js +7 -1
  1014. package/js/src/upbit.d.ts +4 -4
  1015. package/js/src/upbit.js +15 -6
  1016. package/js/src/weex.d.ts +4 -4
  1017. package/js/src/weex.js +13 -7
  1018. package/js/src/whitebit.d.ts +5 -5
  1019. package/js/src/whitebit.js +10 -4
  1020. package/js/src/woo.d.ts +5 -5
  1021. package/js/src/woo.js +24 -14
  1022. package/js/src/woofipro.d.ts +5 -5
  1023. package/js/src/woofipro.js +10 -4
  1024. package/js/src/xt.d.ts +36 -36
  1025. package/js/src/xt.js +9 -2
  1026. package/js/src/zaif.d.ts +3 -3
  1027. package/js/src/zaif.js +6 -0
  1028. package/js/src/zebpay.d.ts +6 -6
  1029. package/js/src/zebpay.js +10 -4
  1030. package/package.json +9 -9
@@ -8,7 +8,7 @@ var errors = require('./base/errors.js');
8
8
  var Precise = require('./base/Precise.js');
9
9
  var number = require('./base/functions/number.js');
10
10
 
11
- // ---------------------------------------------------------------------------
11
+ // ----------------------------------------------------------------------------
12
12
  // ---------------------------------------------------------------------------
13
13
  /**
14
14
  * @class htx
@@ -126,7 +126,7 @@ class htx extends htx$1["default"] {
126
126
  'fetchTransactionFee': undefined,
127
127
  'fetchTransactionFees': undefined,
128
128
  'fetchTransactions': undefined,
129
- 'fetchTransfers': undefined,
129
+ 'fetchTransfers': true,
130
130
  'fetchWithdrawAddresses': true,
131
131
  'fetchWithdrawal': undefined,
132
132
  'fetchWithdrawals': true,
@@ -451,6 +451,8 @@ class htx extends htx$1["default"] {
451
451
  'v1/cross-margin/loan-orders': 1,
452
452
  'v1/cross-margin/accounts/balance': 1,
453
453
  'v2/account/repayment': 5,
454
+ // Universal Transfer
455
+ 'v5/account/universal_transfer_records': 4, // 5 requests per 2 seconds
454
456
  // Stable Coin Exchange
455
457
  'v1/stable-coin/quote': 1,
456
458
  'v1/stable_coin/exchange_rate': 1,
@@ -579,7 +581,7 @@ class htx extends htx$1["default"] {
579
581
  'swap-api/v3/swap_liquidation_orders': 1,
580
582
  'index/market/history/swap_estimated_rate_kline': 1,
581
583
  'index/market/history/swap_basis': 1,
582
- // Swap Market Data interface
584
+ // Linear Swap Market Data interface
583
585
  'linear-swap-api/v1/swap_contract_info': 1,
584
586
  'linear-swap-api/v1/swap_index': 1,
585
587
  'linear-swap-api/v1/swap_query_elements': 1,
@@ -593,7 +595,6 @@ class htx extends htx$1["default"] {
593
595
  'v2/linear-swap-ex/market/detail/batch_merged': 1,
594
596
  'linear-swap-ex/market/trade': 1,
595
597
  'linear-swap-ex/market/history/trade': 1,
596
- 'linear-swap-api/v1/swap_risk_info': 1,
597
598
  'swap-api/v1/linear-swap-api/v1/swap_insurance_fund': 1,
598
599
  'linear-swap-api/v1/swap_adjustfactor': 1,
599
600
  'linear-swap-api/v1/swap_cross_adjustfactor': 1,
@@ -601,11 +602,8 @@ class htx extends htx$1["default"] {
601
602
  'linear-swap-api/v1/swap_ladder_margin': 1,
602
603
  'linear-swap-api/v1/swap_cross_ladder_margin': 1,
603
604
  'linear-swap-api/v1/swap_api_state': 1,
604
- 'linear-swap-api/v1/swap_cross_transfer_state': 1,
605
- 'linear-swap-api/v1/swap_cross_trade_state': 1,
606
605
  'linear-swap-api/v1/swap_elite_account_ratio': 1,
607
606
  'linear-swap-api/v1/swap_elite_position_ratio': 1,
608
- 'linear-swap-api/v1/swap_liquidation_orders': 1,
609
607
  'linear-swap-api/v1/swap_settlement_records': 1,
610
608
  'linear-swap-api/v3/swap_liquidation_orders': 1,
611
609
  'index/market/history/linear_swap_premium_index_kline': 1,
@@ -631,15 +629,7 @@ class htx extends htx$1["default"] {
631
629
  // Swap Account Interface
632
630
  'swap-api/v1/swap_sub_auth_list': 1,
633
631
  'swap-api/v1/swap_api_trading_status': 1,
634
- // Swap Account Interface
635
- 'linear-swap-api/v1/swap_sub_auth_list': 1,
636
- 'linear-swap-api/v1/swap_api_trading_status': 1,
637
- 'linear-swap-api/v1/swap_cross_position_side': 1,
638
- 'linear-swap-api/v1/swap_position_side': 1,
639
- 'linear-swap-api/v3/unified_account_info': 1,
640
- 'linear-swap-api/v3/fix_position_margin_change_record': 1,
641
- 'linear-swap-api/v3/swap_unified_account_type': 1,
642
- 'linear-swap-api/v3/linear_swap_overview_account_info': 1,
632
+ // Linear Swap Interface
643
633
  'v5/account/asset_mode': 0.20834, // 48 requests per second = 1000ms / ( 100 * 0.20834)
644
634
  'v5/account/balance': 0.20834,
645
635
  'v5/account/bills': 0.20834,
@@ -777,49 +767,8 @@ class htx extends htx$1["default"] {
777
767
  'swap-api/v1/swap_track_cancelall': 1,
778
768
  'swap-api/v1/swap_track_openorders': 1,
779
769
  'swap-api/v1/swap_track_hisorders': 1,
780
- // Swap Account Interface
781
- 'linear-swap-api/v1/swap_lever_position_limit': 1,
782
- 'linear-swap-api/v1/swap_cross_lever_position_limit': 1,
783
- 'linear-swap-api/v1/swap_balance_valuation': 1,
784
- 'linear-swap-api/v1/swap_sub_auth': 1,
785
- 'linear-swap-api/v1/swap_sub_account_list': 1,
786
- 'linear-swap-api/v1/swap_cross_sub_account_list': 1,
787
- 'linear-swap-api/v1/swap_sub_account_info_list': 1,
788
- 'linear-swap-api/v1/swap_cross_sub_account_info_list': 1,
789
- 'linear-swap-api/v1/swap_sub_account_info': 1,
790
- 'linear-swap-api/v1/swap_cross_sub_account_info': 1,
791
- 'linear-swap-api/v1/swap_sub_position_info': 1,
792
- 'linear-swap-api/v1/swap_cross_sub_position_info': 1,
793
- 'linear-swap-api/v1/swap_financial_record': 1,
794
- 'linear-swap-api/v1/swap_financial_record_exact': 1,
795
- 'linear-swap-api/v1/swap_user_settlement_records': 1,
796
- 'linear-swap-api/v1/swap_cross_user_settlement_records': 1,
797
- 'linear-swap-api/v1/swap_available_level_rate': 1,
798
- 'linear-swap-api/v1/swap_cross_available_level_rate': 1,
799
- 'linear-swap-api/v1/swap_order_limit': 1,
800
- 'linear-swap-api/v1/swap_fee': 1,
801
- 'linear-swap-api/v1/swap_transfer_limit': 1,
802
- 'linear-swap-api/v1/swap_cross_transfer_limit': 1,
803
- 'linear-swap-api/v1/swap_position_limit': 1,
804
- 'linear-swap-api/v1/swap_cross_position_limit': 1,
805
- 'linear-swap-api/v1/swap_master_sub_transfer': 1,
806
- 'linear-swap-api/v1/swap_master_sub_transfer_record': 1,
807
- 'linear-swap-api/v1/swap_transfer_inner': 1,
808
- 'linear-swap-api/v3/swap_financial_record': 1,
809
- 'linear-swap-api/v3/swap_financial_record_exact': 1,
810
- // Swap Trade Interface
811
- 'linear-swap-api/v1/swap_cross_matchresults': 1,
812
- 'linear-swap-api/v1/swap_cross_matchresults_exact': 1,
813
- 'linear-swap-api/v1/linear-cancel-after': 1,
814
- 'linear-swap-api/v3/swap_cross_matchresults': 1,
815
- 'linear-swap-api/v3/swap_cross_matchresults_exact': 1,
816
- 'linear-swap-api/v3/fix_position_margin_change': 1,
817
- 'linear-swap-api/v3/swap_switch_account_type': 1,
818
- 'linear-swap-api/v3/linear_swap_fee_switch': 1,
819
- // Swap Strategy Order Interface
820
- 'linear-swap-api/v1/swap_relation_tpsl_order': 1,
821
- 'linear-swap-api/v1/swap_cross_relation_tpsl_order': 1,
822
- 'v5/account/asset_mode': 100, // 0.1 requests per second = 1000ms / ( 100 * 100)
770
+ // Linear Swap Interface
771
+ 'v5/account/asset_mode': 100, // 0.1 requests per second = 1000ms / (100 * 100)
823
772
  'v5/trade/order': 0.41679,
824
773
  'v5/trade/batch_orders': 0.41679,
825
774
  'v5/trade/cancel_order': 0.41679,
@@ -1166,6 +1115,9 @@ class htx extends htx$1["default"] {
1166
1115
  'grid-trading': 'grid-trading',
1167
1116
  'deposit-earning': 'deposit-earning',
1168
1117
  'otc-options': 'otc-options',
1118
+ 'linear-swap': 'swap',
1119
+ 'swap': 'swap',
1120
+ 'futures': 'future',
1169
1121
  },
1170
1122
  'typesByAccount': {
1171
1123
  'pro': 'spot',
@@ -2945,21 +2897,21 @@ class htx extends htx$1["default"] {
2945
2897
  request['start_time'] = since;
2946
2898
  }
2947
2899
  [request, params] = this.handleUntilOption('end_time', request, params);
2948
- if (market['linear']) {
2949
- request['contract_code'] = market['id'];
2900
+ if (this.safeBool(market, 'linear')) {
2901
+ request['contract_code'] = this.safeString(market, 'id');
2950
2902
  if (limit !== undefined) {
2951
2903
  request['limit'] = limit; // default 100, max 500
2952
2904
  }
2953
2905
  response = await this.contractPrivateGetV5TradeOrderDetails(this.extend(request, params));
2954
2906
  }
2955
- else if (market['inverse']) {
2907
+ else if (this.safeBool(market, 'inverse')) {
2956
2908
  if (limit !== undefined) {
2957
2909
  request['page_size'] = limit; // default 100, max 500
2958
2910
  }
2959
- request['contract'] = market['id'];
2911
+ request['contract'] = this.safeString(market, 'id');
2960
2912
  request['trade_type'] = 0; // 0 all, 1 open long, 2 open short, 3 close short, 4 close long, 5 liquidate long positions, 6 liquidate short positions
2961
2913
  if (marketType === 'future') {
2962
- request['symbol'] = market['settleId'];
2914
+ request['symbol'] = this.safeString(market, 'settleId');
2963
2915
  response = await this.contractPrivatePostApiV3ContractMatchresultsExact(this.extend(request, params));
2964
2916
  }
2965
2917
  else if (marketType === 'swap') {
@@ -3592,29 +3544,32 @@ class htx extends htx$1["default"] {
3592
3544
  * @description query for balance and get the amount of funds available for trading or funds locked in orders
3593
3545
  * @see https://huobiapi.github.io/docs/spot/v1/en/#get-account-balance-of-a-specific-account
3594
3546
  * @see https://www.htx.com/en-us/opend/newApiPages/?id=7ec4b429-7773-11ed-9966-0242ac110003
3595
- * @see https://www.htx.com/en-us/opend/newApiPages/?id=10000074-77b7-11ed-9966-0242ac110003
3596
3547
  * @see https://huobiapi.github.io/docs/dm/v1/en/#query-asset-valuation
3597
3548
  * @see https://huobiapi.github.io/docs/coin_margined_swap/v1/en/#query-user-s-account-information
3598
3549
  * @see https://www.htx.com/en-us/opend/newApiPages/?id=8cb89359-77b5-11ed-9966-19588469969
3599
3550
  * @param {object} [params] extra parameters specific to the exchange API endpoint
3600
- * @param {string} [params.subType] linear or future
3601
- * @param {bool} [params.uta] provide this parameter if you have a recent account with unified cross+isolated margin account
3551
+ * @param {string} [params.type] spot, margin, future or swap
3552
+ * @param {string} [params.subType] linear or inverse
3602
3553
  * @param {bool} [params.multiAssetMode] set to true if you are using multi-asset mode for USDT-margined contracts
3603
3554
  * @returns {object} a [balance structure]{@link https://docs.ccxt.com/?id=balance-structure}
3604
3555
  */
3605
3556
  async fetchBalance(params = {}) {
3606
3557
  await this.loadMarkets();
3558
+ let isUnifiedAccount = undefined;
3559
+ [isUnifiedAccount, params] = this.handleOptionAndParams2(params, 'fetchBalance', 'unified', 'uta', false);
3560
+ if (isUnifiedAccount) {
3561
+ throw new errors.NotSupported(this.id + ' fetchBalance() unified account has been deprecated on htx');
3562
+ }
3607
3563
  let type = undefined;
3608
3564
  [type, params] = this.handleMarketTypeAndParams('fetchBalance', undefined, params);
3609
3565
  let subType = undefined;
3610
- let isUnifiedAccount = undefined;
3611
3566
  let isMultiAssetMode = undefined;
3612
3567
  [subType, params] = this.handleOptionAndParams2(params, 'fetchBalance', 'defaultSubType', 'subType', 'linear');
3613
- [isUnifiedAccount, params] = this.handleOptionAndParams2(params, 'fetchBalance', 'unified', 'uta', false);
3614
3568
  [isMultiAssetMode, params] = this.handleOptionAndParams(params, 'fetchBalance', 'multiAssetMode', false);
3615
3569
  const request = {};
3616
3570
  const spot = (type === 'spot');
3617
3571
  const future = (type === 'future');
3572
+ const swap = (type === 'swap');
3618
3573
  const inverse = (subType === 'inverse');
3619
3574
  const linear = (subType === 'linear');
3620
3575
  let marginMode = undefined;
@@ -3623,7 +3578,7 @@ class htx extends htx$1["default"] {
3623
3578
  const cross = (marginMode === 'cross');
3624
3579
  const margin = (type === 'margin') || (spot && (cross || isolated));
3625
3580
  let response = undefined;
3626
- if (isMultiAssetMode) {
3581
+ if (isMultiAssetMode || (linear && (swap || future))) {
3627
3582
  response = await this.contractPrivateGetV5AccountBalance(this.extend(request, params));
3628
3583
  }
3629
3584
  else if (spot || margin) {
@@ -3642,12 +3597,6 @@ class htx extends htx$1["default"] {
3642
3597
  response = await this.spotPrivateGetV1AccountAccountsAccountIdBalance(this.extend(request, params));
3643
3598
  }
3644
3599
  }
3645
- else if (linear) {
3646
- response = await this.contractPrivateGetV5AccountBalance(this.extend(request, params));
3647
- }
3648
- else if (isUnifiedAccount) {
3649
- response = await this.contractPrivateGetLinearSwapApiV3UnifiedAccountInfo(this.extend(request, params));
3650
- }
3651
3600
  else if (inverse) {
3652
3601
  if (future) {
3653
3602
  response = await this.contractPrivatePostApiV1ContractAccountInfo(this.extend(request, params));
@@ -3800,14 +3749,15 @@ class htx extends htx$1["default"] {
3800
3749
  const finalResponse = response;
3801
3750
  let result = { 'info': finalResponse };
3802
3751
  const data = this.safeValue(response, 'data');
3803
- if (isMultiAssetMode) {
3752
+ if (isMultiAssetMode || (linear && (swap || future))) {
3804
3753
  const details = this.safeList(data, 'details', []);
3805
3754
  for (let i = 0; i < details.length; i++) {
3806
3755
  const balance = details[i];
3807
3756
  const currencyId = this.safeString(balance, 'currency');
3808
3757
  const code = this.safeCurrencyCode(currencyId);
3809
3758
  const account = this.account();
3810
- account['free'] = this.safeString(balance, 'withdraw_available');
3759
+ account['free'] = this.safeString(balance, 'available_margin');
3760
+ account['total'] = this.safeString(balance, 'equity');
3811
3761
  result[code] = account;
3812
3762
  }
3813
3763
  result = this.safeBalance(result);
@@ -3839,46 +3789,6 @@ class htx extends htx$1["default"] {
3839
3789
  result = this.safeBalance(result);
3840
3790
  }
3841
3791
  }
3842
- else if (linear) {
3843
- const details = this.safeList(data, 'details', []);
3844
- for (let i = 0; i < details.length; i++) {
3845
- const balance = details[i];
3846
- const currencyId = this.safeString(balance, 'currency');
3847
- const code = this.safeCurrencyCode(currencyId);
3848
- const account = this.account();
3849
- account['free'] = this.safeString(balance, 'withdraw_available');
3850
- result[code] = account;
3851
- }
3852
- result = this.safeBalance(result);
3853
- }
3854
- else if (isUnifiedAccount) {
3855
- for (let i = 0; i < data.length; i++) {
3856
- const entry = data[i];
3857
- const marginAsset = this.safeString(entry, 'margin_asset');
3858
- const currencyCode = this.safeCurrencyCode(marginAsset);
3859
- if (isolated) {
3860
- const isolated_swap = this.safeValue(entry, 'isolated_swap', {});
3861
- for (let j = 0; j < isolated_swap.length; j++) {
3862
- const balance = isolated_swap[j];
3863
- const marketId = this.safeString(balance, 'contract_code');
3864
- const subBalance = {
3865
- 'code': currencyCode,
3866
- 'free': this.safeNumber(balance, 'margin_available'),
3867
- };
3868
- const symbol = this.safeSymbol(marketId);
3869
- result[symbol] = subBalance;
3870
- result = this.safeBalance(result);
3871
- }
3872
- }
3873
- else {
3874
- const account = this.account();
3875
- account['free'] = this.safeString(entry, 'margin_static');
3876
- account['used'] = this.safeString(entry, 'margin_frozen');
3877
- result[currencyCode] = account;
3878
- result = this.safeBalance(result);
3879
- }
3880
- }
3881
- }
3882
3792
  else if (inverse) {
3883
3793
  for (let i = 0; i < data.length; i++) {
3884
3794
  const balance = data[i];
@@ -3973,7 +3883,7 @@ class htx extends htx$1["default"] {
3973
3883
  }
3974
3884
  params = this.omit(params, ['client_order_id', 'clientOrderId', 'algo_client_order_id']);
3975
3885
  }
3976
- if (market['linear']) {
3886
+ if (this.safeBool(market, 'linear')) {
3977
3887
  if (isAlgo) {
3978
3888
  if (trigger) {
3979
3889
  request['type'] = 'trigger';
@@ -3996,7 +3906,7 @@ class htx extends htx$1["default"] {
3996
3906
  if (symbol === undefined) {
3997
3907
  throw new errors.ArgumentsRequired(this.id + ' fetchOrder() requires a symbol argument');
3998
3908
  }
3999
- request['contract_code'] = market['id'];
3909
+ request['contract_code'] = this.safeString(market, 'id');
4000
3910
  let marginMode = undefined;
4001
3911
  [marginMode, params] = this.handleMarginModeAndParams('fetchOrder', params);
4002
3912
  marginMode = (marginMode === undefined) ? 'cross' : marginMode;
@@ -4004,13 +3914,13 @@ class htx extends htx$1["default"] {
4004
3914
  response = await this.contractPrivateGetV5TradeOrder(this.extend(request, params));
4005
3915
  }
4006
3916
  }
4007
- else if (market['inverse']) {
3917
+ else if (this.safeBool(market, 'inverse')) {
4008
3918
  if (marketType === 'future') {
4009
- request['symbol'] = market['settleId'];
3919
+ request['symbol'] = this.safeString(market, 'settleId');
4010
3920
  response = await this.contractPrivatePostApiV1ContractOrderInfo(this.extend(request, params));
4011
3921
  }
4012
3922
  else if (marketType === 'swap') {
4013
- request['contract_code'] = market['id'];
3923
+ request['contract_code'] = this.safeString(market, 'id');
4014
3924
  response = await this.contractPrivatePostSwapApiV1SwapOrderInfo(this.extend(request, params));
4015
3925
  }
4016
3926
  else {
@@ -4490,7 +4400,7 @@ class htx extends htx$1["default"] {
4490
4400
  throw new errors.ArgumentsRequired(this.id + ' fetchCanceledOrders() requires a symbol argument for ' + marketType + ' orders');
4491
4401
  }
4492
4402
  const request = {};
4493
- if (market['linear']) {
4403
+ if (this.safeBool(market, 'linear')) {
4494
4404
  const trigger = this.safeBool2(params, 'stop', 'trigger');
4495
4405
  const stopLossTakeProfit = this.safeValue(params, 'stopLossTakeProfit');
4496
4406
  const stopLoss = this.safeBool(params, 'stopLoss');
@@ -4581,7 +4491,7 @@ class htx extends htx$1["default"] {
4581
4491
  let response = undefined;
4582
4492
  if (marketType === 'spot') {
4583
4493
  if (symbol !== undefined) {
4584
- request['symbol'] = market['id'];
4494
+ request['symbol'] = this.safeString(market, 'id');
4585
4495
  }
4586
4496
  // todo replace with fetchAccountIdByType
4587
4497
  let accountId = this.safeString(params, 'account-id');
@@ -4608,7 +4518,7 @@ class htx extends htx$1["default"] {
4608
4518
  else {
4609
4519
  if (symbol !== undefined) {
4610
4520
  // throw new ArgumentsRequired (this.id + ' fetchOpenOrders() requires a symbol argument');
4611
- request['contract_code'] = market['id'];
4521
+ request['contract_code'] = this.safeString(market, 'id');
4612
4522
  }
4613
4523
  if (limit !== undefined) {
4614
4524
  if (isLinear) {
@@ -5925,19 +5835,19 @@ class htx extends htx$1["default"] {
5925
5835
  }
5926
5836
  const request = {};
5927
5837
  let response = undefined;
5928
- if (market['spot']) {
5838
+ if (this.safeBool(market, 'spot')) {
5929
5839
  response = await this.privatePostOrderBatchOrders(ordersRequests);
5930
5840
  }
5931
5841
  else {
5932
- if (market['linear']) {
5842
+ if (this.safeBool(market, 'linear')) {
5933
5843
  response = await this.contractPrivatePostV5TradeBatchOrders(ordersRequests);
5934
5844
  }
5935
- else if (market['inverse']) {
5845
+ else if (this.safeBool(market, 'inverse')) {
5936
5846
  request['orders_data'] = ordersRequests;
5937
- if (market['swap']) {
5847
+ if (this.safeBool(market, 'swap')) {
5938
5848
  response = await this.contractPrivatePostSwapApiV1SwapBatchorder(request);
5939
5849
  }
5940
- else if (market['future']) {
5850
+ else if (this.safeBool(market, 'future')) {
5941
5851
  response = await this.contractPrivatePostApiV1ContractBatchorder(request);
5942
5852
  }
5943
5853
  }
@@ -6007,7 +5917,7 @@ class htx extends htx$1["default"] {
6007
5917
  //
6008
5918
  //
6009
5919
  let result = undefined;
6010
- if (market['spot']) {
5920
+ if (this.safeBool(market, 'spot')) {
6011
5921
  result = this.safeValue(response, 'data', []);
6012
5922
  }
6013
5923
  else {
@@ -6094,16 +6004,16 @@ class htx extends htx$1["default"] {
6094
6004
  params = this.omit(params, ['client_order_id', 'clientOrderId']);
6095
6005
  }
6096
6006
  }
6097
- if (market['future']) {
6098
- request['symbol'] = market['settleId'];
6007
+ if (this.safeBool(market, 'future')) {
6008
+ request['symbol'] = this.safeString(market, 'settleId');
6099
6009
  }
6100
6010
  else {
6101
- request['contract_code'] = market['id'];
6011
+ request['contract_code'] = this.safeString(market, 'id');
6102
6012
  }
6103
6013
  if (isLinear) {
6104
6014
  if (trigger || stopLossTakeProfit || trailing) {
6105
6015
  const requestItem = {
6106
- 'contract_code': market['id'],
6016
+ 'contract_code': this.safeString(market, 'id'),
6107
6017
  };
6108
6018
  if (clientOrderId === undefined) {
6109
6019
  requestItem['algo_id'] = id;
@@ -6120,8 +6030,8 @@ class htx extends htx$1["default"] {
6120
6030
  response = await this.contractPrivatePostV5TradeCancelOrder(this.extend(request, params));
6121
6031
  }
6122
6032
  }
6123
- else if (market['inverse']) {
6124
- if (market['swap']) {
6033
+ else if (this.safeBool(market, 'inverse')) {
6034
+ if (this.safeBool(market, 'swap')) {
6125
6035
  if (trigger) {
6126
6036
  response = await this.contractPrivatePostSwapApiV1SwapTriggerCancel(this.extend(request, params));
6127
6037
  }
@@ -6135,7 +6045,7 @@ class htx extends htx$1["default"] {
6135
6045
  response = await this.contractPrivatePostSwapApiV1SwapCancel(this.extend(request, params));
6136
6046
  }
6137
6047
  }
6138
- else if (market['future']) {
6048
+ else if (this.safeBool(market, 'future')) {
6139
6049
  if (trigger) {
6140
6050
  response = await this.contractPrivatePostApiV1ContractTriggerCancel(this.extend(request, params));
6141
6051
  }
@@ -6282,7 +6192,7 @@ class htx extends htx$1["default"] {
6282
6192
  let clientOrderIds = this.safeValue2(params, 'client_order_id', 'clientOrderId');
6283
6193
  clientOrderIds = this.safeValue2(params, 'client_order_ids', 'clientOrderIds', clientOrderIds);
6284
6194
  params = this.omit(params, ['client_order_id', 'client_order_ids', 'clientOrderId', 'clientOrderIds']);
6285
- if (!market['linear']) {
6195
+ if (!this.safeBool(market, 'linear')) {
6286
6196
  if (clientOrderIds === undefined) {
6287
6197
  request['order_id'] = ids.join(',');
6288
6198
  }
@@ -6290,13 +6200,13 @@ class htx extends htx$1["default"] {
6290
6200
  request['client_order_id'] = clientOrderIds;
6291
6201
  }
6292
6202
  }
6293
- if (market['future']) {
6294
- request['symbol'] = market['settleId'];
6203
+ if (this.safeBool(market, 'future')) {
6204
+ request['symbol'] = this.safeString(market, 'settleId');
6295
6205
  }
6296
6206
  else {
6297
- request['contract_code'] = market['id'];
6207
+ request['contract_code'] = this.safeString(market, 'id');
6298
6208
  }
6299
- if (market['linear']) {
6209
+ if (this.safeBool(market, 'linear')) {
6300
6210
  if (clientOrderIds === undefined) {
6301
6211
  request['order_id'] = ids;
6302
6212
  }
@@ -6310,8 +6220,8 @@ class htx extends htx$1["default"] {
6310
6220
  }
6311
6221
  response = await this.contractPrivatePostV5TradeCancelBatchOrders(this.extend(request, params));
6312
6222
  }
6313
- else if (market['inverse']) {
6314
- if (market['swap']) {
6223
+ else if (this.safeBool(market, 'inverse')) {
6224
+ if (this.safeBool(market, 'swap')) {
6315
6225
  if (trigger) {
6316
6226
  response = await this.contractPrivatePostSwapApiV1SwapTriggerCancel(this.extend(request, params));
6317
6227
  }
@@ -6322,7 +6232,7 @@ class htx extends htx$1["default"] {
6322
6232
  response = await this.contractPrivatePostSwapApiV1SwapCancel(this.extend(request, params));
6323
6233
  }
6324
6234
  }
6325
- else if (market['future']) {
6235
+ else if (this.safeBool(market, 'future')) {
6326
6236
  if (trigger) {
6327
6237
  response = await this.contractPrivatePostApiV1ContractTriggerCancel(this.extend(request, params));
6328
6238
  }
@@ -6411,7 +6321,7 @@ class htx extends htx$1["default"] {
6411
6321
  // "ts": 1780822053167
6412
6322
  // }
6413
6323
  //
6414
- if (market['linear'] && !trigger && !stopLossTakeProfit) {
6324
+ if (this.safeBool(market, 'linear') && !trigger && !stopLossTakeProfit) {
6415
6325
  return this.parseCancelOrders(response);
6416
6326
  }
6417
6327
  const data = this.safeDict(response, 'data');
@@ -6544,7 +6454,7 @@ class htx extends htx$1["default"] {
6544
6454
  let response = undefined;
6545
6455
  if (marketType === 'spot') {
6546
6456
  if (symbol !== undefined) {
6547
- request['symbol'] = market['id'];
6457
+ request['symbol'] = this.safeString(market, 'id');
6548
6458
  }
6549
6459
  response = await this.spotPrivatePostV1OrderOrdersBatchCancelOpenOrders(this.extend(request, params));
6550
6460
  //
@@ -6568,15 +6478,15 @@ class htx extends htx$1["default"] {
6568
6478
  if (symbol === undefined) {
6569
6479
  throw new errors.ArgumentsRequired(this.id + ' cancelAllOrders() requires a symbol argument');
6570
6480
  }
6571
- if (market['future']) {
6572
- request['symbol'] = market['settleId'];
6481
+ if (this.safeBool(market, 'future')) {
6482
+ request['symbol'] = this.safeString(market, 'settleId');
6573
6483
  }
6574
- request['contract_code'] = market['id'];
6484
+ request['contract_code'] = this.safeString(market, 'id');
6575
6485
  const trigger = this.safeBool2(params, 'stop', 'trigger');
6576
6486
  const stopLossTakeProfit = this.safeValue(params, 'stopLossTakeProfit');
6577
6487
  const trailing = this.safeBool(params, 'trailing', false);
6578
6488
  params = this.omit(params, ['stop', 'stopLossTakeProfit', 'trailing', 'trigger']);
6579
- if (market['linear']) {
6489
+ if (this.safeBool(market, 'linear')) {
6580
6490
  response = await this.contractPrivatePostV5TradeCancelAllOrders(this.extend(request, params));
6581
6491
  //
6582
6492
  // {
@@ -6594,8 +6504,8 @@ class htx extends htx$1["default"] {
6594
6504
  // }
6595
6505
  //
6596
6506
  }
6597
- else if (market['inverse']) {
6598
- if (market['swap']) {
6507
+ else if (this.safeBool(market, 'inverse')) {
6508
+ if (this.safeBool(market, 'swap')) {
6599
6509
  if (trigger) {
6600
6510
  response = await this.contractPrivatePostSwapApiV1SwapTriggerCancelall(this.extend(request, params));
6601
6511
  }
@@ -6609,7 +6519,7 @@ class htx extends htx$1["default"] {
6609
6519
  response = await this.contractPrivatePostSwapApiV1SwapCancelall(this.extend(request, params));
6610
6520
  }
6611
6521
  }
6612
- else if (market['future']) {
6522
+ else if (this.safeBool(market, 'future')) {
6613
6523
  if (trigger) {
6614
6524
  response = await this.contractPrivatePostApiV1ContractTriggerCancelall(this.extend(request, params));
6615
6525
  }
@@ -6637,7 +6547,7 @@ class htx extends htx$1["default"] {
6637
6547
  // "ts": "1683435723755"
6638
6548
  // }
6639
6549
  //
6640
- if (market['linear'] && (!trigger && !trailing && !stopLossTakeProfit)) {
6550
+ if (this.safeBool(market, 'linear') && (!trigger && !trailing && !stopLossTakeProfit)) {
6641
6551
  return this.parseCancelOrders(response);
6642
6552
  }
6643
6553
  const data = this.safeDict(response, 'data');
@@ -7088,18 +6998,52 @@ class htx extends htx$1["default"] {
7088
6998
  // "status": "ok"
7089
6999
  // }
7090
7000
  //
7091
- const id = this.safeString(transfer, 'data');
7092
- const code = this.safeCurrencyCode(undefined, currency);
7001
+ // fetchTransfers
7002
+ //
7003
+ // {
7004
+ // "id": 12345,
7005
+ // "transfer_id": "12345",
7006
+ // "amount": "10",
7007
+ // "currency": "USDT",
7008
+ // "status": "success",
7009
+ // "from_account_type": "spot",
7010
+ // "to_account_type": "margin",
7011
+ // "from_asset_type": "",
7012
+ // "to_asset_type": "ETHUSDT",
7013
+ // "transfer_time": 1770357494000
7014
+ // }
7015
+ //
7016
+ const accountsById = this.safeDict(this.options, 'accountsById', {});
7017
+ const id = this.safeString2(transfer, 'transfer_id', 'data');
7018
+ const currencyId = this.safeString(transfer, 'currency');
7019
+ const code = this.safeCurrencyCode(currencyId, currency);
7020
+ const amount = this.safeNumber(transfer, 'amount');
7021
+ const timestamp = this.safeInteger(transfer, 'transfer_time');
7022
+ const fromAccountRaw = this.safeString(transfer, 'from_account_type');
7023
+ const toAccountRaw = this.safeString(transfer, 'to_account_type');
7024
+ const fromAccount = this.safeString(accountsById, fromAccountRaw, fromAccountRaw);
7025
+ const toAccount = this.safeString(accountsById, toAccountRaw, toAccountRaw);
7026
+ const statusRaw = this.safeString(transfer, 'status');
7027
+ let status = undefined;
7028
+ if (statusRaw === 'success') {
7029
+ status = 'ok';
7030
+ }
7031
+ else if (statusRaw === 'pending') {
7032
+ status = 'pending';
7033
+ }
7034
+ else if (statusRaw === 'failed') {
7035
+ status = 'failed';
7036
+ }
7093
7037
  return {
7094
7038
  'info': transfer,
7095
7039
  'id': id,
7096
- 'timestamp': undefined,
7097
- 'datetime': undefined,
7040
+ 'timestamp': timestamp,
7041
+ 'datetime': this.iso8601(timestamp),
7098
7042
  'currency': code,
7099
- 'amount': undefined,
7100
- 'fromAccount': undefined,
7101
- 'toAccount': undefined,
7102
- 'status': undefined,
7043
+ 'amount': amount,
7044
+ 'fromAccount': fromAccount,
7045
+ 'toAccount': toAccount,
7046
+ 'status': status,
7103
7047
  };
7104
7048
  }
7105
7049
  /**
@@ -7198,6 +7142,64 @@ class htx extends htx$1["default"] {
7198
7142
  //
7199
7143
  return this.parseTransfer(response, currency);
7200
7144
  }
7145
+ /**
7146
+ * @method
7147
+ * @name htx#fetchTransfers
7148
+ * @description fetch a history of internal transfers made on an account
7149
+ * @see https://www.huobi.com/en-us/opend/newApiPages/
7150
+ * @param {string} [code] unified currency code of the currency transferred
7151
+ * @param {int} [since] the earliest time in ms to fetch transfers for
7152
+ * @param {int} [limit] the maximum number of transfer structures to retrieve
7153
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
7154
+ * @param {string} [params.status] transfer status: 'success', 'pending', 'failed'
7155
+ * @param {int} [params.from] the starting ID for pagination
7156
+ * @param {string} [params.direct] pagination direction: 'prev' or 'next', default 'next'
7157
+ * @param {int} [params.until] the latest time in ms to fetch transfers for
7158
+ * @returns {object[]} a list of [transfer structures]{@link https://docs.ccxt.com/?id=transfer-structure}
7159
+ */
7160
+ async fetchTransfers(code = undefined, since = undefined, limit = undefined, params = {}) {
7161
+ await this.loadMarkets();
7162
+ let currency = undefined;
7163
+ const request = {};
7164
+ if (code !== undefined) {
7165
+ currency = this.currency(code);
7166
+ request['currency'] = currency['id'];
7167
+ }
7168
+ if (since !== undefined) {
7169
+ request['start_time'] = since;
7170
+ }
7171
+ const until = this.safeInteger(params, 'until');
7172
+ if (until !== undefined) {
7173
+ params = this.omit(params, 'until');
7174
+ request['end_time'] = until;
7175
+ }
7176
+ if (limit !== undefined) {
7177
+ request['limit'] = limit;
7178
+ }
7179
+ const response = await this.spotPrivateGetV5AccountUniversalTransferRecords(this.extend(request, params));
7180
+ //
7181
+ // {
7182
+ // "code": 200,
7183
+ // "message": "Success",
7184
+ // "data": [
7185
+ // {
7186
+ // "id": 12345,
7187
+ // "transfer_id": "12345",
7188
+ // "amount": "10",
7189
+ // "currency": "USDT",
7190
+ // "status": "success",
7191
+ // "from_account_type": "spot",
7192
+ // "to_account_type": "margin",
7193
+ // "from_asset_type": "",
7194
+ // "to_asset_type": "ETHUSDT",
7195
+ // "transfer_time": 1770357494000
7196
+ // }
7197
+ // ]
7198
+ // }
7199
+ //
7200
+ const data = this.safeList(response, 'data', []);
7201
+ return this.parseTransfers(data, currency, since, limit);
7202
+ }
7201
7203
  /**
7202
7204
  * @method
7203
7205
  * @name htx#fetchIsolatedBorrowRates
@@ -7931,63 +7933,66 @@ class htx extends htx$1["default"] {
7931
7933
  * @method
7932
7934
  * @name htx#fetchFundingHistory
7933
7935
  * @description fetch the history of funding payments paid and received on this account
7934
- * @see https://huobiapi.github.io/docs/usdt_swap/v1/en/#general-query-account-financial-records-via-multiple-fields-new // linear swaps
7935
- * @see https://huobiapi.github.io/docs/dm/v1/en/#query-financial-records-via-multiple-fields-new // coin-m futures
7936
- * @see https://huobiapi.github.io/docs/coin_margined_swap/v1/en/#query-financial-records-via-multiple-fields-new // coin-m swaps
7936
+ * @see https://www.htx.com/en-us/opend/newApiPages/?id=8cb89359-77b5-11ed-9966-19b930b8bee // linear swaps
7937
+ * @see https://huobiapi.github.io/docs/dm/v1/en/#query-financial-records-via-multiple-fields-new // coin-m futures
7938
+ * @see https://huobiapi.github.io/docs/coin_margined_swap/v1/en/#query-financial-records-via-multiple-fields-new // coin-m swaps
7937
7939
  * @param {string} symbol unified market symbol
7938
7940
  * @param {int} [since] the earliest time in ms to fetch funding history for
7939
7941
  * @param {int} [limit] the maximum number of funding history structures to retrieve
7940
7942
  * @param {object} [params] extra parameters specific to the exchange API endpoint
7943
+ * @param {int} [params.until] the latest time in ms to fetch entries for
7941
7944
  * @returns {object} a [funding history structure]{@link https://docs.ccxt.com/?id=funding-history-structure}
7942
7945
  */
7943
7946
  async fetchFundingHistory(symbol = undefined, since = undefined, limit = undefined, params = {}) {
7944
7947
  await this.loadMarkets();
7945
7948
  const market = this.market(symbol);
7946
- const [marketType, query] = this.handleMarketTypeAndParams('fetchFundingHistory', market, params);
7947
- const request = {
7949
+ let marketType = undefined;
7950
+ [marketType, params] = this.handleMarketTypeAndParams('fetchFundingHistory', market, params);
7951
+ let request = {
7948
7952
  'type': '30,31',
7949
7953
  };
7954
+ [request, params] = this.handleUntilOption('end_time', request, params);
7950
7955
  if (since !== undefined) {
7951
- request['start_date'] = since;
7956
+ if (market['linear']) {
7957
+ request['start_time'] = since;
7958
+ }
7959
+ else {
7960
+ request['start_date'] = since;
7961
+ }
7952
7962
  }
7953
7963
  let response = undefined;
7954
7964
  if (marketType === 'swap') {
7955
- request['contract'] = market['id'];
7956
7965
  if (market['linear']) {
7957
- //
7958
- // {
7959
- // "status": "ok",
7960
- // "data": {
7961
- // "financial_record": [
7962
- // {
7963
- // "id": "1320088022",
7964
- // "type": "30",
7965
- // "amount": "0.004732510000000000",
7966
- // "ts": "1641168019321",
7967
- // "contract_code": "BTC-USDT",
7968
- // "asset": "USDT",
7969
- // "margin_account": "BTC-USDT",
7970
- // "face_margin_account": ''
7971
- // },
7972
- // ],
7973
- // "remain_size": "0",
7974
- // "next_id": null
7975
- // },
7976
- // "ts": "1641189898425"
7977
- // }
7978
- //
7979
7966
  let marginMode = undefined;
7980
7967
  [marginMode, params] = this.handleMarginModeAndParams('fetchFundingHistory', params);
7981
7968
  marginMode = (marginMode === undefined) ? 'cross' : marginMode;
7982
- if (marginMode === 'isolated') {
7983
- request['mar_acct'] = market['id'];
7984
- }
7985
- else {
7986
- request['mar_acct'] = market['quoteId'];
7969
+ request['margin_mode'] = marginMode;
7970
+ request['contract_code'] = market['id'];
7971
+ if (limit !== undefined) {
7972
+ request['limit'] = limit;
7987
7973
  }
7988
- response = await this.contractPrivatePostLinearSwapApiV3SwapFinancialRecordExact(this.extend(request, query));
7974
+ response = await this.contractPrivateGetV5AccountBills(this.extend(request, params));
7975
+ //
7976
+ // {
7977
+ // "code": 200,
7978
+ // "message": "Success",
7979
+ // "data": [
7980
+ // {
7981
+ // "id": "2194774775",
7982
+ // "type": "30",
7983
+ // "currency": "USDT",
7984
+ // "amount": "0.000433432461821856",
7985
+ // "contract_code": "BTC-USDT",
7986
+ // "margin_mode": "cross",
7987
+ // "created_time": "1780963213165"
7988
+ // },
7989
+ // ],
7990
+ // "ts": 1781772448836
7991
+ // }
7992
+ //
7989
7993
  }
7990
7994
  else {
7995
+ request['contract'] = market['id'];
7991
7996
  //
7992
7997
  // {
7993
7998
  // "code": 200,
@@ -8008,12 +8013,12 @@ class htx extends htx$1["default"] {
8008
8013
  // "ts": 1604312615051
8009
8014
  // }
8010
8015
  //
8011
- response = await this.contractPrivatePostSwapApiV3SwapFinancialRecordExact(this.extend(request, query));
8016
+ response = await this.contractPrivatePostSwapApiV3SwapFinancialRecordExact(this.extend(request, params));
8012
8017
  }
8013
8018
  }
8014
8019
  else {
8015
8020
  request['symbol'] = market['id'];
8016
- response = await this.contractPrivatePostApiV3ContractFinancialRecordExact(this.extend(request, query));
8021
+ response = await this.contractPrivatePostApiV3ContractFinancialRecordExact(this.extend(request, params));
8017
8022
  }
8018
8023
  const data = this.safeList(response, 'data', []);
8019
8024
  return this.parseIncomes(data, market, since, limit);
@@ -8107,12 +8112,24 @@ class htx extends htx$1["default"] {
8107
8112
  // "contract_code": "BTC-USD"
8108
8113
  // }
8109
8114
  //
8115
+ // linear swap
8116
+ //
8117
+ // {
8118
+ // "id": "2194774775",
8119
+ // "type": "30",
8120
+ // "currency": "USDT",
8121
+ // "amount": "0.000433432461821856",
8122
+ // "contract_code": "BTC-USDT",
8123
+ // "margin_mode": "cross",
8124
+ // "created_time": "1780963213165"
8125
+ // }
8126
+ //
8110
8127
  const marketId = this.safeString(income, 'contract_code');
8111
8128
  const symbol = this.safeSymbol(marketId, market);
8112
8129
  const amount = this.safeNumber(income, 'amount');
8113
- const timestamp = this.safeInteger(income, 'ts');
8130
+ const timestamp = this.safeInteger2(income, 'ts', 'created_time');
8114
8131
  const id = this.safeString(income, 'id');
8115
- const currencyId = this.safeString2(income, 'symbol', 'asset');
8132
+ const currencyId = this.safeStringN(income, ['symbol', 'asset', 'currency']);
8116
8133
  const code = this.safeCurrencyCode(currencyId);
8117
8134
  return {
8118
8135
  'info': income,
@@ -9335,7 +9352,7 @@ class htx extends htx$1["default"] {
9335
9352
  * @description Fetches historical settlement records
9336
9353
  * @see https://huobiapi.github.io/docs/dm/v1/en/#query-historical-settlement-records-of-the-platform-interface
9337
9354
  * @see https://huobiapi.github.io/docs/coin_margined_swap/v1/en/#query-historical-settlement-records-of-the-platform-interface
9338
- * @see https://huobiapi.github.io/docs/usdt_swap/v1/en/#general-query-historical-settlement-records-of-the-platform-interface
9355
+ * @see https://www.htx.com/en-us/opend/newApiPages/?id=8cb89359-77b5-11ed-9966-19b931869f0
9339
9356
  * @param {string} symbol unified symbol of the market to fetch the settlement history for
9340
9357
  * @param {int} [since] timestamp in ms, value range = current time - 90 days,default = current time - 90 days
9341
9358
  * @param {int} [limit] page items, default 20, shall not exceed 50
@@ -9349,29 +9366,30 @@ class htx extends htx$1["default"] {
9349
9366
  if (symbol === undefined) {
9350
9367
  throw new errors.ArgumentsRequired(this.id + ' fetchSettlementHistory() requires a symbol argument');
9351
9368
  }
9352
- const until = this.safeInteger(params, 'until');
9353
- params = this.omit(params, ['until']);
9354
9369
  const market = this.market(symbol);
9355
- const request = {};
9370
+ let request = {};
9356
9371
  if (market['future']) {
9357
9372
  request['symbol'] = market['baseId'];
9358
9373
  }
9359
9374
  else {
9360
9375
  request['contract_code'] = market['id'];
9361
9376
  }
9362
- if (since !== undefined) {
9363
- request['start_at'] = since;
9364
- }
9365
9377
  if (limit !== undefined) {
9366
- request['page_size'] = limit;
9378
+ if (market['linear'] && market['swap']) {
9379
+ request['limit'] = limit;
9380
+ }
9381
+ else {
9382
+ request['page_size'] = limit;
9383
+ }
9367
9384
  }
9368
- if (until !== undefined) {
9369
- request['end_at'] = until;
9385
+ if (since !== undefined) {
9386
+ request['start_time'] = since;
9370
9387
  }
9388
+ [request, params] = this.handleUntilOption('end_time', request, params);
9371
9389
  let response = undefined;
9372
9390
  if (market['swap']) {
9373
9391
  if (market['linear']) {
9374
- response = await this.contractPublicGetLinearSwapApiV1SwapSettlementRecords(this.extend(request, params));
9392
+ response = await this.contractPublicGetV5MarketSettlementHistory(this.extend(request, params));
9375
9393
  }
9376
9394
  else {
9377
9395
  response = await this.contractPublicGetSwapApiV1SwapSettlementRecords(this.extend(request, params));
@@ -9381,7 +9399,7 @@ class htx extends htx$1["default"] {
9381
9399
  response = await this.contractPublicGetApiV1ContractSettlementRecords(this.extend(request, params));
9382
9400
  }
9383
9401
  //
9384
- // linear swap, coin-m swap
9402
+ // coin-m swap
9385
9403
  //
9386
9404
  // {
9387
9405
  // "status": "ok",
@@ -9432,6 +9450,28 @@ class htx extends htx$1["default"] {
9432
9450
  // }
9433
9451
  // }
9434
9452
  //
9453
+ // linear swap
9454
+ //
9455
+ // {
9456
+ // "code": 200,
9457
+ // "message": "Success",
9458
+ // "data": [
9459
+ // {
9460
+ // "id": "14900",
9461
+ // "contract_code": "BTC-USDT",
9462
+ // "settlement_time": "1781827200000",
9463
+ // "clawback_ratio": "0",
9464
+ // "settlement_price": "62933.747161774209291325"
9465
+ // },
9466
+ // ],
9467
+ // "ts": 1781853150623
9468
+ // }
9469
+ //
9470
+ if (market['linear']) {
9471
+ const dataLinear = this.safeList(response, 'data', []);
9472
+ const settlementsLinear = this.parseSettlements(dataLinear, market);
9473
+ return this.sortBy(settlementsLinear, 'timestamp');
9474
+ }
9435
9475
  const data = this.safeValue(response, 'data');
9436
9476
  const settlementRecord = this.safeValue(data, 'settlement_record');
9437
9477
  const settlements = this.parseSettlements(settlementRecord, market);
@@ -9557,7 +9597,7 @@ class htx extends htx$1["default"] {
9557
9597
  }
9558
9598
  parseSettlements(settlements, market) {
9559
9599
  //
9560
- // linear swap, coin-m swap, fetchSettlementHistory
9600
+ // coin-m swap, fetchSettlementHistory
9561
9601
  //
9562
9602
  // [
9563
9603
  // {
@@ -9592,11 +9632,27 @@ class htx extends htx$1["default"] {
9592
9632
  // },
9593
9633
  // ]
9594
9634
  //
9635
+ // linear swap fetchSettlementHistory
9636
+ //
9637
+ // [
9638
+ // {
9639
+ // "id": "14900",
9640
+ // "contract_code": "BTC-USDT",
9641
+ // "settlement_time": "1781827200000",
9642
+ // "clawback_ratio": "0",
9643
+ // "settlement_price": "62933.747161774209291325"
9644
+ // }
9645
+ // ]
9646
+ //
9595
9647
  const result = [];
9596
9648
  for (let i = 0; i < settlements.length; i++) {
9597
9649
  const settlement = settlements[i];
9598
9650
  const list = this.safeValue(settlement, 'list');
9599
- if (list !== undefined) {
9651
+ if (market['linear']) {
9652
+ const parsedSettlement = this.parseSettlement(settlement, market);
9653
+ result.push(parsedSettlement);
9654
+ }
9655
+ else if (list !== undefined) {
9600
9656
  const timestamp = this.safeInteger(settlement, 'settlement_time');
9601
9657
  const timestampDetails = {
9602
9658
  'timestamp': timestamp,
@@ -9616,7 +9672,7 @@ class htx extends htx$1["default"] {
9616
9672
  }
9617
9673
  parseSettlement(settlement, market) {
9618
9674
  //
9619
- // linear swap, coin-m swap, fetchSettlementHistory
9675
+ // coin-m swap, fetchSettlementHistory
9620
9676
  //
9621
9677
  // {
9622
9678
  // "symbol": "ADA",
@@ -9638,6 +9694,16 @@ class htx extends htx$1["default"] {
9638
9694
  // "settlement_type": "settlement"
9639
9695
  // }
9640
9696
  //
9697
+ // linear swap fetchSettlementHistory
9698
+ //
9699
+ // {
9700
+ // "id": "14900",
9701
+ // "contract_code": "BTC-USDT",
9702
+ // "settlement_time": "1781827200000",
9703
+ // "clawback_ratio": "0",
9704
+ // "settlement_price": "62933.747161774209291325"
9705
+ // }
9706
+ //
9641
9707
  const timestamp = this.safeInteger(settlement, 'settlement_time');
9642
9708
  const marketId = this.safeString(settlement, 'contract_code');
9643
9709
  return {
@@ -9652,7 +9718,7 @@ class htx extends htx$1["default"] {
9652
9718
  * @method
9653
9719
  * @name htx#fetchLiquidations
9654
9720
  * @description retrieves the public liquidations of a trading pair
9655
- * @see https://huobiapi.github.io/docs/usdt_swap/v1/en/#general-query-liquidation-orders-new
9721
+ * @see https://www.htx.com/en-us/opend/newApiPages/?id=8cb89359-77b5-11ed-9966-19b975edf5a
9656
9722
  * @see https://huobiapi.github.io/docs/coin_margined_swap/v1/en/#query-liquidation-orders-new
9657
9723
  * @see https://huobiapi.github.io/docs/dm/v1/en/#query-liquidation-order-information-new
9658
9724
  * @param {string} symbol unified CCXT market symbol
@@ -9660,27 +9726,53 @@ class htx extends htx$1["default"] {
9660
9726
  * @param {int} [limit] the maximum number of liquidation structures to retrieve
9661
9727
  * @param {object} [params] exchange specific parameters for the huobi api endpoint
9662
9728
  * @param {int} [params.until] timestamp in ms of the latest liquidation
9663
- * @param {int} [params.tradeType] default 0, linear swap 0: all liquidated orders, 5: liquidated longs; 6: liquidated shorts, inverse swap and future 0: filled liquidated orders, 5: liquidated close orders, 6: liquidated open orders
9729
+ * @param {int} [params.tradeType] *not supported for linear swap* default 0: filled liquidated orders, 5: liquidated close orders, 6: liquidated open orders
9664
9730
  * @returns {object} an array of [liquidation structures]{@link https://docs.ccxt.com/?id=liquidation-structure}
9665
9731
  */
9666
9732
  async fetchLiquidations(symbol, since = undefined, limit = undefined, params = {}) {
9667
9733
  await this.loadMarkets();
9668
9734
  const market = this.market(symbol);
9669
- const tradeType = this.safeInteger(params, 'trade_type', 0);
9670
- let request = {
9671
- 'trade_type': tradeType,
9672
- };
9735
+ const tradeType = this.safeInteger2(params, 'trade_type', 'tradeType', 0);
9736
+ let request = {};
9737
+ if (!market['linear']) {
9738
+ request['trade_type'] = tradeType;
9739
+ }
9740
+ params = this.omit(params, ['trade_type', 'tradeType']);
9673
9741
  if (since !== undefined) {
9674
9742
  request['start_time'] = since;
9675
9743
  }
9676
9744
  [request, params] = this.handleUntilOption('end_time', request, params);
9677
9745
  let response = undefined;
9678
9746
  if (market['swap']) {
9679
- request['contract'] = market['id'];
9680
9747
  if (market['linear']) {
9681
- response = await this.contractPublicGetLinearSwapApiV3SwapLiquidationOrders(this.extend(request, params));
9748
+ request['contract_code'] = market['id'];
9749
+ if (limit !== undefined) {
9750
+ request['limit'] = limit;
9751
+ }
9752
+ response = await this.contractPublicGetV5MarketLiquidationOrders(this.extend(request, params));
9753
+ //
9754
+ // {
9755
+ // "code": 200,
9756
+ // "message": "Success",
9757
+ // "data": [
9758
+ // {
9759
+ // "id": "150153038758",
9760
+ // "contract_code": "BTC-USDT",
9761
+ // "liquidation_time": "1781849094165",
9762
+ // "side": "buy",
9763
+ // "position_side": "short",
9764
+ // "volume": "2",
9765
+ // "amount": "2",
9766
+ // "bankrupt_price": "62978.5",
9767
+ // "trade_turnover": "125.957"
9768
+ // }
9769
+ // ],
9770
+ // "ts": 1781854869221
9771
+ // }
9772
+ //
9682
9773
  }
9683
9774
  else {
9775
+ request['contract'] = market['id'];
9684
9776
  response = await this.contractPublicGetSwapApiV3SwapLiquidationOrders(this.extend(request, params));
9685
9777
  }
9686
9778
  }
@@ -9734,15 +9826,29 @@ class htx extends htx$1["default"] {
9734
9826
  // "pair": "BTC-USDT"
9735
9827
  // }
9736
9828
  //
9829
+ // linear swap
9830
+ //
9831
+ // {
9832
+ // "id": "150153038758",
9833
+ // "contract_code": "BTC-USDT",
9834
+ // "liquidation_time": "1781849094165",
9835
+ // "side": "buy",
9836
+ // "position_side": "short",
9837
+ // "volume": "2",
9838
+ // "amount": "2",
9839
+ // "bankrupt_price": "62978.5",
9840
+ // "trade_turnover": "125.957"
9841
+ // }
9842
+ //
9737
9843
  const marketId = this.safeString(liquidation, 'contract_code');
9738
- const timestamp = this.safeInteger(liquidation, 'created_at');
9844
+ const timestamp = this.safeInteger2(liquidation, 'created_at', 'liquidation_time');
9739
9845
  return this.safeLiquidation({
9740
9846
  'info': liquidation,
9741
9847
  'symbol': this.safeSymbol(marketId, market),
9742
9848
  'contracts': this.safeNumber(liquidation, 'volume'),
9743
9849
  'contractSize': this.safeNumber(market, 'contractSize'),
9744
- 'price': this.safeNumber(liquidation, 'price'),
9745
- 'side': this.safeStringLower(liquidation, 'direction'),
9850
+ 'price': this.safeNumber2(liquidation, 'price', 'bankrupt_price'),
9851
+ 'side': this.safeStringLower2(liquidation, 'direction', 'side'),
9746
9852
  'baseValue': this.safeNumber(liquidation, 'amount'),
9747
9853
  'quoteValue': this.safeNumber(liquidation, 'trade_turnover'),
9748
9854
  'timestamp': timestamp,