ccxt 4.5.59 → 4.5.61

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