ccxt 4.5.36 → 4.5.37

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 (554) hide show
  1. package/README.md +3 -3
  2. package/dist/ccxt.browser.min.js +18 -20
  3. package/dist/cjs/ccxt.js +1 -1
  4. package/dist/cjs/src/base/Exchange.js +3 -0
  5. package/dist/cjs/src/bybit.js +1 -0
  6. package/dist/cjs/src/htx.js +67 -12
  7. package/dist/cjs/src/hyperliquid.js +245 -1
  8. package/dist/cjs/src/krakenfutures.js +5 -5
  9. package/dist/cjs/src/kucoin.js +43 -4
  10. package/dist/cjs/src/mexc.js +2 -2
  11. package/dist/cjs/src/whitebit.js +1 -1
  12. package/js/ccxt.d.ts +1 -1
  13. package/js/ccxt.js +1 -7
  14. package/js/src/abstract/alp.js +0 -6
  15. package/js/src/abstract/alpaca.js +0 -6
  16. package/js/src/abstract/apex.js +0 -6
  17. package/js/src/abstract/arkham.js +0 -6
  18. package/js/src/abstract/ascendex.js +0 -6
  19. package/js/src/abstract/aster.js +0 -6
  20. package/js/src/abstract/backpack.js +0 -6
  21. package/js/src/abstract/bequant.js +0 -6
  22. package/js/src/abstract/bigone.js +0 -6
  23. package/js/src/abstract/binance.js +0 -6
  24. package/js/src/abstract/binancecoinm.js +0 -6
  25. package/js/src/abstract/binanceus.js +0 -6
  26. package/js/src/abstract/binanceusdm.js +0 -6
  27. package/js/src/abstract/bingx.js +0 -6
  28. package/js/src/abstract/bit2c.js +0 -6
  29. package/js/src/abstract/bitbank.js +0 -6
  30. package/js/src/abstract/bitbns.js +0 -6
  31. package/js/src/abstract/bitfinex.js +0 -6
  32. package/js/src/abstract/bitflyer.js +0 -6
  33. package/js/src/abstract/bitget.js +0 -6
  34. package/js/src/abstract/bithumb.js +0 -6
  35. package/js/src/abstract/bitmart.js +0 -6
  36. package/js/src/abstract/bitmex.js +0 -6
  37. package/js/src/abstract/bitopro.js +0 -6
  38. package/js/src/abstract/bitrue.js +0 -6
  39. package/js/src/abstract/bitso.js +0 -6
  40. package/js/src/abstract/bitstamp.js +0 -6
  41. package/js/src/abstract/bitteam.js +0 -6
  42. package/js/src/abstract/bittrade.js +0 -6
  43. package/js/src/abstract/bitvavo.js +0 -6
  44. package/js/src/abstract/blockchaincom.js +0 -6
  45. package/js/src/abstract/blofin.js +0 -6
  46. package/js/src/abstract/btcbox.js +0 -6
  47. package/js/src/abstract/btcmarkets.js +0 -6
  48. package/js/src/abstract/btcturk.js +0 -6
  49. package/js/src/abstract/bullish.js +0 -6
  50. package/js/src/abstract/bybit.d.ts +1 -0
  51. package/js/src/abstract/bybit.js +0 -6
  52. package/js/src/abstract/bydfi.js +0 -6
  53. package/js/src/abstract/cex.js +0 -6
  54. package/js/src/abstract/coinbase.js +0 -6
  55. package/js/src/abstract/coinbaseadvanced.js +0 -6
  56. package/js/src/abstract/coinbaseexchange.js +0 -6
  57. package/js/src/abstract/coinbaseinternational.js +0 -6
  58. package/js/src/abstract/coincatch.js +0 -6
  59. package/js/src/abstract/coincheck.js +0 -6
  60. package/js/src/abstract/coinex.js +0 -6
  61. package/js/src/abstract/coinmate.js +0 -6
  62. package/js/src/abstract/coinmetro.js +0 -6
  63. package/js/src/abstract/coinone.js +0 -6
  64. package/js/src/abstract/coinsph.js +0 -6
  65. package/js/src/abstract/coinspot.js +0 -6
  66. package/js/src/abstract/cryptocom.js +0 -6
  67. package/js/src/abstract/cryptomus.js +0 -6
  68. package/js/src/abstract/deepcoin.js +0 -6
  69. package/js/src/abstract/defx.js +0 -6
  70. package/js/src/abstract/delta.js +0 -6
  71. package/js/src/abstract/deribit.js +0 -6
  72. package/js/src/abstract/derive.js +0 -6
  73. package/js/src/abstract/digifinex.js +0 -6
  74. package/js/src/abstract/dydx.js +0 -6
  75. package/js/src/abstract/exmo.js +0 -6
  76. package/js/src/abstract/fmfwio.js +0 -6
  77. package/js/src/abstract/foxbit.js +0 -6
  78. package/js/src/abstract/gate.js +0 -6
  79. package/js/src/abstract/gateio.js +0 -6
  80. package/js/src/abstract/gemini.js +0 -6
  81. package/js/src/abstract/hashkey.js +0 -6
  82. package/js/src/abstract/hibachi.js +0 -6
  83. package/js/src/abstract/hitbtc.js +0 -6
  84. package/js/src/abstract/hollaex.js +0 -6
  85. package/js/src/abstract/htx.js +0 -6
  86. package/js/src/abstract/huobi.js +0 -6
  87. package/js/src/abstract/hyperliquid.js +0 -6
  88. package/js/src/abstract/independentreserve.js +0 -6
  89. package/js/src/abstract/indodax.js +0 -6
  90. package/js/src/abstract/kraken.js +0 -6
  91. package/js/src/abstract/krakenfutures.js +0 -6
  92. package/js/src/abstract/kucoin.d.ts +33 -1
  93. package/js/src/abstract/kucoin.js +0 -6
  94. package/js/src/abstract/kucoinfutures.d.ts +33 -1
  95. package/js/src/abstract/kucoinfutures.js +0 -6
  96. package/js/src/abstract/latoken.js +0 -6
  97. package/js/src/abstract/lbank.js +0 -6
  98. package/js/src/abstract/luno.js +0 -6
  99. package/js/src/abstract/mercado.js +0 -6
  100. package/js/src/abstract/mexc.js +0 -6
  101. package/js/src/abstract/modetrade.js +0 -6
  102. package/js/src/abstract/myokx.js +0 -6
  103. package/js/src/abstract/ndax.js +0 -6
  104. package/js/src/abstract/novadax.js +0 -6
  105. package/js/src/abstract/okx.js +0 -6
  106. package/js/src/abstract/okxus.js +0 -6
  107. package/js/src/abstract/onetrading.js +0 -6
  108. package/js/src/abstract/oxfun.js +0 -6
  109. package/js/src/abstract/p2b.js +0 -6
  110. package/js/src/abstract/paradex.js +0 -6
  111. package/js/src/abstract/paymium.js +0 -6
  112. package/js/src/abstract/phemex.js +0 -6
  113. package/js/src/abstract/poloniex.js +0 -6
  114. package/js/src/abstract/probit.js +0 -6
  115. package/js/src/abstract/timex.js +0 -6
  116. package/js/src/abstract/tokocrypto.js +0 -6
  117. package/js/src/abstract/toobit.js +0 -6
  118. package/js/src/abstract/upbit.js +0 -6
  119. package/js/src/abstract/wavesexchange.js +0 -6
  120. package/js/src/abstract/whitebit.js +0 -6
  121. package/js/src/abstract/woo.js +0 -6
  122. package/js/src/abstract/woofipro.js +0 -6
  123. package/js/src/abstract/xt.js +0 -6
  124. package/js/src/abstract/yobit.js +0 -6
  125. package/js/src/abstract/zaif.js +0 -6
  126. package/js/src/abstract/zebpay.js +0 -6
  127. package/js/src/abstract/zonda.js +0 -6
  128. package/js/src/alp.js +0 -6
  129. package/js/src/alpaca.js +0 -6
  130. package/js/src/apex.js +0 -6
  131. package/js/src/arkham.js +0 -6
  132. package/js/src/ascendex.js +0 -6
  133. package/js/src/aster.js +0 -6
  134. package/js/src/backpack.js +0 -6
  135. package/js/src/base/Exchange.d.ts +3 -2
  136. package/js/src/base/Exchange.js +3 -6
  137. package/js/src/base/Precise.js +0 -6
  138. package/js/src/base/errorHierarchy.js +0 -6
  139. package/js/src/base/errors.js +0 -6
  140. package/js/src/base/functions/crypto.js +0 -6
  141. package/js/src/base/functions/encode.js +0 -6
  142. package/js/src/base/functions/generic.js +0 -6
  143. package/js/src/base/functions/misc.js +0 -6
  144. package/js/src/base/functions/number.js +0 -6
  145. package/js/src/base/functions/platform.js +0 -6
  146. package/js/src/base/functions/rsa.js +0 -6
  147. package/js/src/base/functions/string.js +0 -6
  148. package/js/src/base/functions/throttle.js +0 -6
  149. package/js/src/base/functions/time.js +0 -6
  150. package/js/src/base/functions/totp.js +0 -6
  151. package/js/src/base/functions/type.js +0 -6
  152. package/js/src/base/functions.js +0 -6
  153. package/js/src/base/types.js +0 -6
  154. package/js/src/base/ws/Cache.js +0 -6
  155. package/js/src/base/ws/Client.js +0 -6
  156. package/js/src/base/ws/Future.js +0 -6
  157. package/js/src/base/ws/OrderBook.js +0 -6
  158. package/js/src/base/ws/OrderBookSide.js +0 -6
  159. package/js/src/base/ws/WsClient.js +0 -6
  160. package/js/src/base/ws/functions.js +0 -6
  161. package/js/src/bequant.js +0 -6
  162. package/js/src/bigone.js +0 -6
  163. package/js/src/binance.js +0 -6
  164. package/js/src/binancecoinm.js +0 -6
  165. package/js/src/binanceus.js +0 -6
  166. package/js/src/binanceusdm.js +0 -6
  167. package/js/src/bingx.js +0 -6
  168. package/js/src/bit2c.js +0 -6
  169. package/js/src/bitbank.js +0 -6
  170. package/js/src/bitbns.js +0 -6
  171. package/js/src/bitfinex.js +0 -6
  172. package/js/src/bitflyer.js +0 -6
  173. package/js/src/bitget.js +0 -6
  174. package/js/src/bithumb.js +0 -6
  175. package/js/src/bitmart.js +0 -6
  176. package/js/src/bitmex.js +0 -6
  177. package/js/src/bitopro.js +0 -6
  178. package/js/src/bitrue.js +0 -6
  179. package/js/src/bitso.js +0 -6
  180. package/js/src/bitstamp.js +0 -6
  181. package/js/src/bitteam.js +0 -6
  182. package/js/src/bittrade.js +0 -6
  183. package/js/src/bitvavo.js +0 -6
  184. package/js/src/blockchaincom.js +0 -6
  185. package/js/src/blofin.js +0 -6
  186. package/js/src/btcbox.js +0 -6
  187. package/js/src/btcmarkets.js +0 -6
  188. package/js/src/btcturk.js +0 -6
  189. package/js/src/bullish.js +0 -6
  190. package/js/src/bybit.js +1 -6
  191. package/js/src/bydfi.js +0 -6
  192. package/js/src/cex.js +0 -6
  193. package/js/src/coinbase.js +0 -6
  194. package/js/src/coinbaseadvanced.js +0 -6
  195. package/js/src/coinbaseexchange.d.ts +1 -1
  196. package/js/src/coinbaseexchange.js +0 -6
  197. package/js/src/coinbaseinternational.js +0 -6
  198. package/js/src/coincatch.js +0 -6
  199. package/js/src/coincheck.js +0 -6
  200. package/js/src/coinex.js +0 -6
  201. package/js/src/coinmate.js +0 -6
  202. package/js/src/coinmetro.js +0 -6
  203. package/js/src/coinone.js +0 -6
  204. package/js/src/coinsph.js +0 -6
  205. package/js/src/coinspot.js +0 -6
  206. package/js/src/cryptocom.js +0 -6
  207. package/js/src/cryptomus.js +0 -6
  208. package/js/src/deepcoin.js +0 -6
  209. package/js/src/defx.js +0 -6
  210. package/js/src/delta.js +0 -6
  211. package/js/src/deribit.js +0 -6
  212. package/js/src/derive.js +0 -6
  213. package/js/src/digifinex.js +0 -6
  214. package/js/src/dydx.js +0 -6
  215. package/js/src/exmo.js +0 -6
  216. package/js/src/fmfwio.js +0 -6
  217. package/js/src/foxbit.js +0 -6
  218. package/js/src/gate.js +0 -6
  219. package/js/src/gateio.js +0 -6
  220. package/js/src/gemini.js +0 -6
  221. package/js/src/hashkey.js +0 -6
  222. package/js/src/hibachi.js +0 -6
  223. package/js/src/hitbtc.js +0 -6
  224. package/js/src/hollaex.js +0 -6
  225. package/js/src/htx.d.ts +5 -2
  226. package/js/src/htx.js +67 -18
  227. package/js/src/huobi.js +0 -6
  228. package/js/src/hyperliquid.d.ts +64 -0
  229. package/js/src/hyperliquid.js +246 -8
  230. package/js/src/independentreserve.js +0 -6
  231. package/js/src/indodax.js +0 -6
  232. package/js/src/kraken.js +0 -6
  233. package/js/src/krakenfutures.js +5 -11
  234. package/js/src/kucoin.js +43 -10
  235. package/js/src/kucoinfutures.js +0 -6
  236. package/js/src/latoken.js +0 -6
  237. package/js/src/lbank.js +0 -6
  238. package/js/src/luno.js +0 -6
  239. package/js/src/mercado.js +0 -6
  240. package/js/src/mexc.js +2 -8
  241. package/js/src/modetrade.js +0 -6
  242. package/js/src/myokx.js +0 -6
  243. package/js/src/ndax.js +0 -6
  244. package/js/src/novadax.js +0 -6
  245. package/js/src/okx.js +0 -6
  246. package/js/src/okxus.js +0 -6
  247. package/js/src/onetrading.js +0 -6
  248. package/js/src/oxfun.js +0 -6
  249. package/js/src/p2b.js +0 -6
  250. package/js/src/paradex.js +0 -6
  251. package/js/src/paymium.js +0 -6
  252. package/js/src/phemex.js +0 -6
  253. package/js/src/poloniex.js +0 -6
  254. package/js/src/pro/alpaca.js +0 -6
  255. package/js/src/pro/apex.js +0 -6
  256. package/js/src/pro/arkham.js +0 -6
  257. package/js/src/pro/ascendex.js +0 -6
  258. package/js/src/pro/aster.js +0 -6
  259. package/js/src/pro/backpack.js +0 -6
  260. package/js/src/pro/bequant.js +0 -6
  261. package/js/src/pro/binance.js +0 -6
  262. package/js/src/pro/binancecoinm.js +0 -6
  263. package/js/src/pro/binanceus.js +0 -6
  264. package/js/src/pro/binanceusdm.js +0 -6
  265. package/js/src/pro/bingx.js +0 -6
  266. package/js/src/pro/bitfinex.js +0 -6
  267. package/js/src/pro/bitget.js +0 -6
  268. package/js/src/pro/bithumb.js +0 -6
  269. package/js/src/pro/bitmart.js +0 -6
  270. package/js/src/pro/bitmex.js +0 -6
  271. package/js/src/pro/bitopro.js +0 -6
  272. package/js/src/pro/bitrue.js +0 -6
  273. package/js/src/pro/bitstamp.js +0 -6
  274. package/js/src/pro/bittrade.js +0 -6
  275. package/js/src/pro/bitvavo.js +0 -6
  276. package/js/src/pro/blockchaincom.js +0 -6
  277. package/js/src/pro/blofin.js +0 -6
  278. package/js/src/pro/bullish.js +0 -6
  279. package/js/src/pro/bybit.js +0 -6
  280. package/js/src/pro/bydfi.js +0 -6
  281. package/js/src/pro/cex.js +0 -6
  282. package/js/src/pro/coinbase.js +0 -6
  283. package/js/src/pro/coinbaseadvanced.js +0 -6
  284. package/js/src/pro/coinbaseexchange.js +0 -6
  285. package/js/src/pro/coinbaseinternational.js +0 -6
  286. package/js/src/pro/coincatch.js +0 -6
  287. package/js/src/pro/coincheck.js +0 -6
  288. package/js/src/pro/coinex.js +0 -6
  289. package/js/src/pro/coinone.js +0 -6
  290. package/js/src/pro/cryptocom.js +0 -6
  291. package/js/src/pro/deepcoin.js +0 -6
  292. package/js/src/pro/defx.js +0 -6
  293. package/js/src/pro/deribit.js +0 -6
  294. package/js/src/pro/derive.js +0 -6
  295. package/js/src/pro/dydx.js +0 -6
  296. package/js/src/pro/exmo.js +0 -6
  297. package/js/src/pro/gate.js +0 -6
  298. package/js/src/pro/gateio.js +0 -6
  299. package/js/src/pro/gemini.js +0 -6
  300. package/js/src/pro/hashkey.js +0 -6
  301. package/js/src/pro/hitbtc.js +0 -6
  302. package/js/src/pro/hollaex.js +0 -6
  303. package/js/src/pro/htx.js +0 -6
  304. package/js/src/pro/huobi.js +0 -6
  305. package/js/src/pro/hyperliquid.js +0 -6
  306. package/js/src/pro/independentreserve.js +0 -6
  307. package/js/src/pro/kraken.js +0 -6
  308. package/js/src/pro/krakenfutures.js +0 -6
  309. package/js/src/pro/kucoin.js +0 -6
  310. package/js/src/pro/kucoinfutures.js +0 -6
  311. package/js/src/pro/lbank.js +0 -6
  312. package/js/src/pro/luno.js +0 -6
  313. package/js/src/pro/mexc.js +0 -6
  314. package/js/src/pro/modetrade.js +0 -6
  315. package/js/src/pro/myokx.js +0 -6
  316. package/js/src/pro/ndax.js +0 -6
  317. package/js/src/pro/okx.js +0 -6
  318. package/js/src/pro/okxus.js +0 -6
  319. package/js/src/pro/onetrading.js +0 -6
  320. package/js/src/pro/oxfun.js +0 -6
  321. package/js/src/pro/p2b.js +0 -6
  322. package/js/src/pro/paradex.js +0 -6
  323. package/js/src/pro/phemex.js +0 -6
  324. package/js/src/pro/poloniex.js +0 -6
  325. package/js/src/pro/probit.js +0 -6
  326. package/js/src/pro/toobit.js +0 -6
  327. package/js/src/pro/upbit.js +0 -6
  328. package/js/src/pro/whitebit.js +0 -6
  329. package/js/src/pro/woo.js +0 -6
  330. package/js/src/pro/woofipro.js +0 -6
  331. package/js/src/pro/xt.js +0 -6
  332. package/js/src/probit.js +0 -6
  333. package/js/src/protobuf/mexc/compiled.cjs +0 -6
  334. package/js/src/static_dependencies/dydx-v4-client/cosmos/base/v1beta1/coin.js +0 -6
  335. package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/multisig/keys.js +0 -6
  336. package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/multisig/v1beta1/multisig.js +0 -6
  337. package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/secp256k1/keys.js +0 -6
  338. package/js/src/static_dependencies/dydx-v4-client/cosmos/tx/signing/v1beta1/signing.js +0 -6
  339. package/js/src/static_dependencies/dydx-v4-client/cosmos/tx/v1beta1/tx.js +0 -6
  340. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/accountplus/tx.js +0 -6
  341. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/block_rate_limit_config.js +0 -6
  342. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/clob_pair.js +0 -6
  343. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/equity_tier_limit_config.js +0 -6
  344. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/finalize_block.js +0 -6
  345. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/liquidations.js +0 -6
  346. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/liquidations_config.js +0 -6
  347. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/matches.js +0 -6
  348. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order.js +0 -6
  349. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order_removals.js +0 -6
  350. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/tx.js +0 -6
  351. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/transfer.js +0 -6
  352. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/tx.js +0 -6
  353. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/asset_position.js +0 -6
  354. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/perpetual_position.js +0 -6
  355. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/subaccount.js +0 -6
  356. package/js/src/static_dependencies/dydx-v4-client/google/protobuf/any.js +0 -6
  357. package/js/src/static_dependencies/dydx-v4-client/helpers.js +0 -6
  358. package/js/src/static_dependencies/dydx-v4-client/long/index.cjs +0 -6
  359. package/js/src/static_dependencies/dydx-v4-client/onboarding.js +0 -6
  360. package/js/src/static_dependencies/dydx-v4-client/registry.js +0 -6
  361. package/js/src/static_dependencies/ethers/abi-coder.js +0 -6
  362. package/js/src/static_dependencies/ethers/address/address.js +0 -6
  363. package/js/src/static_dependencies/ethers/address/checks.js +0 -6
  364. package/js/src/static_dependencies/ethers/address/contract-address.js +0 -6
  365. package/js/src/static_dependencies/ethers/address/index.js +0 -6
  366. package/js/src/static_dependencies/ethers/bytes32.js +0 -6
  367. package/js/src/static_dependencies/ethers/coders/abstract-coder.js +0 -6
  368. package/js/src/static_dependencies/ethers/coders/address.js +0 -6
  369. package/js/src/static_dependencies/ethers/coders/anonymous.js +0 -6
  370. package/js/src/static_dependencies/ethers/coders/array.js +0 -6
  371. package/js/src/static_dependencies/ethers/coders/boolean.js +0 -6
  372. package/js/src/static_dependencies/ethers/coders/bytes.js +0 -6
  373. package/js/src/static_dependencies/ethers/coders/fixed-bytes.js +0 -6
  374. package/js/src/static_dependencies/ethers/coders/null.js +0 -6
  375. package/js/src/static_dependencies/ethers/coders/number.js +0 -6
  376. package/js/src/static_dependencies/ethers/coders/string.js +0 -6
  377. package/js/src/static_dependencies/ethers/coders/tuple.js +0 -6
  378. package/js/src/static_dependencies/ethers/fragments.js +0 -6
  379. package/js/src/static_dependencies/ethers/hash/index.js +0 -6
  380. package/js/src/static_dependencies/ethers/hash/solidity.js +0 -6
  381. package/js/src/static_dependencies/ethers/hash/typed-data.js +0 -6
  382. package/js/src/static_dependencies/ethers/index.js +0 -6
  383. package/js/src/static_dependencies/ethers/interface.js +0 -6
  384. package/js/src/static_dependencies/ethers/typed.js +0 -6
  385. package/js/src/static_dependencies/ethers/utils/base58.js +0 -6
  386. package/js/src/static_dependencies/ethers/utils/base64-browser.js +0 -6
  387. package/js/src/static_dependencies/ethers/utils/base64.js +0 -6
  388. package/js/src/static_dependencies/ethers/utils/data.js +0 -6
  389. package/js/src/static_dependencies/ethers/utils/errors.js +0 -6
  390. package/js/src/static_dependencies/ethers/utils/events.js +0 -6
  391. package/js/src/static_dependencies/ethers/utils/fixednumber.js +0 -6
  392. package/js/src/static_dependencies/ethers/utils/index.js +0 -6
  393. package/js/src/static_dependencies/ethers/utils/maths.js +0 -6
  394. package/js/src/static_dependencies/ethers/utils/properties.js +0 -6
  395. package/js/src/static_dependencies/ethers/utils/rlp-decode.js +0 -6
  396. package/js/src/static_dependencies/ethers/utils/rlp-encode.js +0 -6
  397. package/js/src/static_dependencies/ethers/utils/rlp.js +0 -6
  398. package/js/src/static_dependencies/ethers/utils/units.js +0 -6
  399. package/js/src/static_dependencies/ethers/utils/utf8.js +0 -6
  400. package/js/src/static_dependencies/ethers/utils/uuid.js +0 -6
  401. package/js/src/static_dependencies/fflake/browser.d.ts +5 -5
  402. package/js/src/static_dependencies/fflake/browser.js +0 -6
  403. package/js/src/static_dependencies/jsencrypt/JSEncrypt.js +0 -6
  404. package/js/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +0 -6
  405. package/js/src/static_dependencies/jsencrypt/index.js +0 -6
  406. package/js/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +0 -6
  407. package/js/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +0 -6
  408. package/js/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +0 -6
  409. package/js/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +0 -6
  410. package/js/src/static_dependencies/jsencrypt/lib/asn1js/oids.js +0 -6
  411. package/js/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +0 -6
  412. package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.d.ts +1 -1
  413. package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +0 -6
  414. package/js/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +0 -6
  415. package/js/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +0 -6
  416. package/js/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +0 -6
  417. package/js/src/static_dependencies/jsencrypt/lib/jsbn/util.js +0 -6
  418. package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +0 -6
  419. package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +0 -6
  420. package/js/src/static_dependencies/messagepack/msgpack.js +0 -6
  421. package/js/src/static_dependencies/noble-curves/_shortw_utils.js +0 -6
  422. package/js/src/static_dependencies/noble-curves/abstract/curve.js +0 -6
  423. package/js/src/static_dependencies/noble-curves/abstract/edwards.js +0 -6
  424. package/js/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +0 -6
  425. package/js/src/static_dependencies/noble-curves/abstract/modular.js +0 -6
  426. package/js/src/static_dependencies/noble-curves/abstract/montgomery.js +0 -6
  427. package/js/src/static_dependencies/noble-curves/abstract/poseidon.js +0 -6
  428. package/js/src/static_dependencies/noble-curves/abstract/utils.js +0 -6
  429. package/js/src/static_dependencies/noble-curves/abstract/weierstrass.d.ts +1 -0
  430. package/js/src/static_dependencies/noble-curves/abstract/weierstrass.js +0 -6
  431. package/js/src/static_dependencies/noble-curves/bn.js +0 -6
  432. package/js/src/static_dependencies/noble-curves/ed25519.js +0 -6
  433. package/js/src/static_dependencies/noble-curves/ed448.js +0 -6
  434. package/js/src/static_dependencies/noble-curves/index.js +0 -6
  435. package/js/src/static_dependencies/noble-curves/jubjub.js +0 -6
  436. package/js/src/static_dependencies/noble-curves/p256.js +0 -6
  437. package/js/src/static_dependencies/noble-curves/p384.js +0 -6
  438. package/js/src/static_dependencies/noble-curves/p521.js +0 -6
  439. package/js/src/static_dependencies/noble-curves/pasta.js +0 -6
  440. package/js/src/static_dependencies/noble-curves/secp256k1.js +0 -6
  441. package/js/src/static_dependencies/noble-hashes/_assert.js +0 -6
  442. package/js/src/static_dependencies/noble-hashes/_blake2.js +0 -6
  443. package/js/src/static_dependencies/noble-hashes/_sha2.js +0 -6
  444. package/js/src/static_dependencies/noble-hashes/_u64.js +0 -6
  445. package/js/src/static_dependencies/noble-hashes/argon2.js +0 -6
  446. package/js/src/static_dependencies/noble-hashes/blake2b.js +0 -6
  447. package/js/src/static_dependencies/noble-hashes/blake2s.js +0 -6
  448. package/js/src/static_dependencies/noble-hashes/blake3.js +0 -6
  449. package/js/src/static_dependencies/noble-hashes/crypto.js +0 -6
  450. package/js/src/static_dependencies/noble-hashes/cryptoNode.js +0 -6
  451. package/js/src/static_dependencies/noble-hashes/eskdf.js +0 -6
  452. package/js/src/static_dependencies/noble-hashes/hkdf.js +0 -6
  453. package/js/src/static_dependencies/noble-hashes/hmac.js +0 -6
  454. package/js/src/static_dependencies/noble-hashes/index.js +0 -6
  455. package/js/src/static_dependencies/noble-hashes/md5.js +0 -6
  456. package/js/src/static_dependencies/noble-hashes/pbkdf2.js +0 -6
  457. package/js/src/static_dependencies/noble-hashes/ripemd160.js +0 -6
  458. package/js/src/static_dependencies/noble-hashes/scrypt.js +0 -6
  459. package/js/src/static_dependencies/noble-hashes/sha1.js +0 -6
  460. package/js/src/static_dependencies/noble-hashes/sha256.js +0 -6
  461. package/js/src/static_dependencies/noble-hashes/sha3-addons.js +0 -6
  462. package/js/src/static_dependencies/noble-hashes/sha3.js +0 -6
  463. package/js/src/static_dependencies/noble-hashes/sha512.js +0 -6
  464. package/js/src/static_dependencies/noble-hashes/utils.js +0 -6
  465. package/js/src/static_dependencies/node-fetch/body.js +0 -6
  466. package/js/src/static_dependencies/node-fetch/errors/abort-error.js +0 -6
  467. package/js/src/static_dependencies/node-fetch/errors/base.js +0 -6
  468. package/js/src/static_dependencies/node-fetch/errors/fetch-error.js +0 -6
  469. package/js/src/static_dependencies/node-fetch/headers.js +0 -6
  470. package/js/src/static_dependencies/node-fetch/index.js +0 -6
  471. package/js/src/static_dependencies/node-fetch/request.js +0 -6
  472. package/js/src/static_dependencies/node-fetch/response.js +0 -6
  473. package/js/src/static_dependencies/node-fetch/utils/get-search.js +0 -6
  474. package/js/src/static_dependencies/node-fetch/utils/is-redirect.js +0 -6
  475. package/js/src/static_dependencies/node-fetch/utils/is.js +0 -6
  476. package/js/src/static_dependencies/node-fetch/utils/referrer.js +0 -6
  477. package/js/src/static_dependencies/proxies/agent-base/helpers.js +0 -6
  478. package/js/src/static_dependencies/proxies/agent-base/index.js +0 -6
  479. package/js/src/static_dependencies/proxies/http-proxy-agent/index.js +0 -6
  480. package/js/src/static_dependencies/proxies/https-proxy-agent/index.js +0 -6
  481. package/js/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +0 -6
  482. package/js/src/static_dependencies/qs/formats.js +0 -6
  483. package/js/src/static_dependencies/qs/index.js +0 -6
  484. package/js/src/static_dependencies/qs/parse.js +0 -6
  485. package/js/src/static_dependencies/qs/stringify.js +0 -6
  486. package/js/src/static_dependencies/qs/utils.js +0 -6
  487. package/js/src/static_dependencies/scure-base/index.js +0 -6
  488. package/js/src/static_dependencies/scure-bip32/index.js +0 -6
  489. package/js/src/static_dependencies/scure-bip39/index.js +0 -6
  490. package/js/src/static_dependencies/scure-bip39/wordlists/english.js +0 -6
  491. package/js/src/static_dependencies/scure-starknet/index.js +0 -6
  492. package/js/src/static_dependencies/starknet/constants.js +0 -6
  493. package/js/src/static_dependencies/starknet/index.js +0 -6
  494. package/js/src/static_dependencies/starknet/types/cairoEnum.js +0 -6
  495. package/js/src/static_dependencies/starknet/types/calldata.js +0 -6
  496. package/js/src/static_dependencies/starknet/types/index.js +0 -6
  497. package/js/src/static_dependencies/starknet/types/lib/contract/abi.js +0 -6
  498. package/js/src/static_dependencies/starknet/types/lib/contract/index.js +0 -6
  499. package/js/src/static_dependencies/starknet/types/lib/contract/legacy.js +0 -6
  500. package/js/src/static_dependencies/starknet/types/lib/contract/sierra.js +0 -6
  501. package/js/src/static_dependencies/starknet/types/lib/index.js +0 -6
  502. package/js/src/static_dependencies/starknet/types/typedData.js +0 -6
  503. package/js/src/static_dependencies/starknet/utils/address.js +0 -6
  504. package/js/src/static_dependencies/starknet/utils/assert.js +0 -6
  505. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +0 -6
  506. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +0 -6
  507. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +0 -6
  508. package/js/src/static_dependencies/starknet/utils/calldata/byteArray.js +0 -6
  509. package/js/src/static_dependencies/starknet/utils/calldata/cairo.js +0 -6
  510. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +0 -6
  511. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +0 -6
  512. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +0 -6
  513. package/js/src/static_dependencies/starknet/utils/calldata/enum/index.js +0 -6
  514. package/js/src/static_dependencies/starknet/utils/calldata/formatter.js +0 -6
  515. package/js/src/static_dependencies/starknet/utils/calldata/index.js +0 -6
  516. package/js/src/static_dependencies/starknet/utils/calldata/parser/index.d.ts +1 -1
  517. package/js/src/static_dependencies/starknet/utils/calldata/parser/index.js +0 -6
  518. package/js/src/static_dependencies/starknet/utils/calldata/parser/interface.js +0 -6
  519. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +0 -6
  520. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +0 -6
  521. package/js/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +0 -6
  522. package/js/src/static_dependencies/starknet/utils/calldata/requestParser.js +0 -6
  523. package/js/src/static_dependencies/starknet/utils/calldata/responseParser.js +0 -6
  524. package/js/src/static_dependencies/starknet/utils/calldata/tuple.js +0 -6
  525. package/js/src/static_dependencies/starknet/utils/calldata/validate.js +0 -6
  526. package/js/src/static_dependencies/starknet/utils/encode.js +0 -6
  527. package/js/src/static_dependencies/starknet/utils/hash/classHash.js +0 -6
  528. package/js/src/static_dependencies/starknet/utils/hash/index.js +0 -6
  529. package/js/src/static_dependencies/starknet/utils/merkle.js +0 -6
  530. package/js/src/static_dependencies/starknet/utils/num.js +0 -6
  531. package/js/src/static_dependencies/starknet/utils/selector.js +0 -6
  532. package/js/src/static_dependencies/starknet/utils/shortString.js +0 -6
  533. package/js/src/static_dependencies/starknet/utils/starknetId.js +0 -6
  534. package/js/src/static_dependencies/starknet/utils/typedData.js +0 -6
  535. package/js/src/static_dependencies/starknet/utils/uint256.js +0 -6
  536. package/js/src/static_dependencies/starknet/utils/url.js +0 -6
  537. package/js/src/static_dependencies/watchable/src/index.js +0 -6
  538. package/js/src/static_dependencies/watchable/src/types.js +0 -6
  539. package/js/src/static_dependencies/watchable/src/unpromise.js +0 -6
  540. package/js/src/static_dependencies/zklink/zklink-sdk-web.js +0 -6
  541. package/js/src/timex.js +0 -6
  542. package/js/src/tokocrypto.js +0 -6
  543. package/js/src/toobit.js +0 -6
  544. package/js/src/upbit.js +0 -6
  545. package/js/src/wavesexchange.js +0 -6
  546. package/js/src/whitebit.js +1 -7
  547. package/js/src/woo.js +0 -6
  548. package/js/src/woofipro.js +0 -6
  549. package/js/src/xt.js +0 -6
  550. package/js/src/yobit.js +0 -6
  551. package/js/src/zaif.js +0 -6
  552. package/js/src/zebpay.js +0 -6
  553. package/js/src/zonda.js +0 -6
  554. package/package.json +1 -1
package/js/src/htx.d.ts CHANGED
@@ -283,6 +283,7 @@ export default class htx extends Exchange {
283
283
  /**
284
284
  * @method
285
285
  * @name htx#fetchBalance
286
+ * @description query for balance and get the amount of funds available for trading or funds locked in orders
286
287
  * @see https://huobiapi.github.io/docs/spot/v1/en/#get-account-balance-of-a-specific-account
287
288
  * @see https://www.htx.com/en-us/opend/newApiPages/?id=7ec4b429-7773-11ed-9966-0242ac110003
288
289
  * @see https://www.htx.com/en-us/opend/newApiPages/?id=10000074-77b7-11ed-9966-0242ac110003
@@ -290,9 +291,11 @@ export default class htx extends Exchange {
290
291
  * @see https://huobiapi.github.io/docs/coin_margined_swap/v1/en/#query-user-s-account-information
291
292
  * @see https://huobiapi.github.io/docs/usdt_swap/v1/en/#isolated-query-user-s-account-information
292
293
  * @see https://huobiapi.github.io/docs/usdt_swap/v1/en/#cross-query-user-39-s-account-information
293
- * @description query for balance and get the amount of funds available for trading or funds locked in orders
294
+ * @see https://www.htx.com/en-us/opend/newApiPages/?id=8cb89359-77b5-11ed-9966-19588469969
294
295
  * @param {object} [params] extra parameters specific to the exchange API endpoint
295
- * @param {bool} [params.unified] provide this parameter if you have a recent account with unified cross+isolated margin account
296
+ * @param {string} [params.subType] linear or future
297
+ * @param {bool} [params.uta] provide this parameter if you have a recent account with unified cross+isolated margin account
298
+ * @param {bool} [params.multiAssetMode] set to true if you are using multi-asset mode for USDT-margined contracts
296
299
  * @returns {object} a [balance structure]{@link https://docs.ccxt.com/?id=balance-structure}
297
300
  */
298
301
  fetchBalance(params?: {}): Promise<Balances>;
package/js/src/htx.js CHANGED
@@ -1,9 +1,3 @@
1
- // ----------------------------------------------------------------------------
2
-
3
- // PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
4
- // https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
- // EDIT THE CORRESPONDENT .ts FILE INSTEAD
6
-
7
1
  // ---------------------------------------------------------------------------
8
2
  import Exchange from './abstract/htx.js';
9
3
  import { AccountNotEnabled, ArgumentsRequired, AuthenticationError, ExchangeError, PermissionDenied, ExchangeNotAvailable, OnMaintenance, InvalidOrder, OrderNotFound, InsufficientFunds, BadSymbol, BadRequest, RateLimitExceeded, RequestTimeout, OperationFailed, NotSupported } from './base/errors.js';
@@ -3579,6 +3573,7 @@ export default class htx extends Exchange {
3579
3573
  /**
3580
3574
  * @method
3581
3575
  * @name htx#fetchBalance
3576
+ * @description query for balance and get the amount of funds available for trading or funds locked in orders
3582
3577
  * @see https://huobiapi.github.io/docs/spot/v1/en/#get-account-balance-of-a-specific-account
3583
3578
  * @see https://www.htx.com/en-us/opend/newApiPages/?id=7ec4b429-7773-11ed-9966-0242ac110003
3584
3579
  * @see https://www.htx.com/en-us/opend/newApiPages/?id=10000074-77b7-11ed-9966-0242ac110003
@@ -3586,34 +3581,38 @@ export default class htx extends Exchange {
3586
3581
  * @see https://huobiapi.github.io/docs/coin_margined_swap/v1/en/#query-user-s-account-information
3587
3582
  * @see https://huobiapi.github.io/docs/usdt_swap/v1/en/#isolated-query-user-s-account-information
3588
3583
  * @see https://huobiapi.github.io/docs/usdt_swap/v1/en/#cross-query-user-39-s-account-information
3589
- * @description query for balance and get the amount of funds available for trading or funds locked in orders
3584
+ * @see https://www.htx.com/en-us/opend/newApiPages/?id=8cb89359-77b5-11ed-9966-19588469969
3590
3585
  * @param {object} [params] extra parameters specific to the exchange API endpoint
3591
- * @param {bool} [params.unified] provide this parameter if you have a recent account with unified cross+isolated margin account
3586
+ * @param {string} [params.subType] linear or future
3587
+ * @param {bool} [params.uta] provide this parameter if you have a recent account with unified cross+isolated margin account
3588
+ * @param {bool} [params.multiAssetMode] set to true if you are using multi-asset mode for USDT-margined contracts
3592
3589
  * @returns {object} a [balance structure]{@link https://docs.ccxt.com/?id=balance-structure}
3593
3590
  */
3594
3591
  async fetchBalance(params = {}) {
3595
3592
  await this.loadMarkets();
3596
3593
  let type = undefined;
3597
3594
  [type, params] = this.handleMarketTypeAndParams('fetchBalance', undefined, params);
3598
- const options = this.safeValue(this.options, 'fetchBalance', {});
3599
- const isUnifiedAccount = this.safeValue2(params, 'isUnifiedAccount', 'unified', false);
3600
- params = this.omit(params, ['isUnifiedAccount', 'unified']);
3595
+ let subType = undefined;
3596
+ let isUnifiedAccount = undefined;
3597
+ let isMultiAssetMode = undefined;
3598
+ [subType, params] = this.handleOptionAndParams2(params, 'fetchBalance', 'defaultSubType', 'subType', 'linear');
3599
+ [isUnifiedAccount, params] = this.handleOptionAndParams2(params, 'fetchBalance', 'unified', 'uta', false);
3600
+ [isMultiAssetMode, params] = this.handleOptionAndParams(params, 'fetchBalance', 'multiAssetMode', false);
3601
3601
  const request = {};
3602
3602
  const spot = (type === 'spot');
3603
3603
  const future = (type === 'future');
3604
- const defaultSubType = this.safeString2(this.options, 'defaultSubType', 'subType', 'linear');
3605
- let subType = this.safeString2(options, 'defaultSubType', 'subType', defaultSubType);
3606
- subType = this.safeString2(params, 'defaultSubType', 'subType', subType);
3607
3604
  const inverse = (subType === 'inverse');
3608
3605
  const linear = (subType === 'linear');
3609
3606
  let marginMode = undefined;
3610
3607
  [marginMode, params] = this.handleMarginModeAndParams('fetchBalance', params);
3611
- params = this.omit(params, ['defaultSubType', 'subType']);
3612
3608
  const isolated = (marginMode === 'isolated');
3613
3609
  const cross = (marginMode === 'cross');
3614
3610
  const margin = (type === 'margin') || (spot && (cross || isolated));
3615
3611
  let response = undefined;
3616
- if (spot || margin) {
3612
+ if (isMultiAssetMode) {
3613
+ response = await this.contractPrivateGetV5AccountBalance(this.extend(request, params));
3614
+ }
3615
+ else if (spot || margin) {
3617
3616
  if (margin) {
3618
3617
  if (isolated) {
3619
3618
  response = await this.spotPrivateGetV1MarginAccountsBalance(this.extend(request, params));
@@ -3805,11 +3804,61 @@ export default class htx extends Exchange {
3805
3804
  // "ts": 1640915104870
3806
3805
  // }
3807
3806
  //
3808
- // TODO add balance parsing for linear swap
3807
+ // multi asset mode
3808
+ //
3809
+ // {
3810
+ // "code": 200,
3811
+ // "message": "Success",
3812
+ // "data": {
3813
+ // "state": "normal",
3814
+ // "equity": "174.216697577770536136",
3815
+ // "details": [
3816
+ // {
3817
+ // "currency": "USDT",
3818
+ // "equity": "174.216697577770536136",
3819
+ // "available": "174.216697577770536136",
3820
+ // "profit_unreal": "0",
3821
+ // "initial_margin": "0",
3822
+ // "maintenance_margin": "0",
3823
+ // "maintenance_margin_rate": "0",
3824
+ // "initial_margin_rate": "0",
3825
+ // "available_margin": "174.216697577770536136",
3826
+ // "voucher": "0",
3827
+ // "voucher_value": "0",
3828
+ // "withdraw_available": "174.216697577770536136",
3829
+ // "created_time": 1770293270932,
3830
+ // "updated_time": 1770293270932,
3831
+ // "isolated_equity": "0",
3832
+ // "isolated_profit_unreal": "0"
3833
+ // }
3834
+ // ],
3835
+ // "initial_margin": "0",
3836
+ // "maintenance_margin": "0",
3837
+ // "maintenance_margin_rate": "0",
3838
+ // "profit_unreal": "0",
3839
+ // "available_margin": "174.216697577770536136",
3840
+ // "voucher_value": "0",
3841
+ // "created_time": 1770293268881,
3842
+ // "updated_time": 1770293270932
3843
+ // },
3844
+ // "ts": 1770293281344
3845
+ // }
3809
3846
  //
3810
3847
  let result = { 'info': response };
3811
3848
  const data = this.safeValue(response, 'data');
3812
- if (spot || margin) {
3849
+ if (isMultiAssetMode) {
3850
+ const details = this.safeList(data, 'details', []);
3851
+ for (let i = 0; i < details.length; i++) {
3852
+ const balance = details[i];
3853
+ const currencyId = this.safeString(balance, 'currency');
3854
+ const code = this.safeCurrencyCode(currencyId);
3855
+ const account = this.account();
3856
+ account['free'] = this.safeString(balance, 'withdraw_available');
3857
+ result[code] = account;
3858
+ }
3859
+ result = this.safeBalance(result);
3860
+ }
3861
+ else if (spot || margin) {
3813
3862
  if (isolated) {
3814
3863
  for (let i = 0; i < data.length; i++) {
3815
3864
  const entry = data[i];
package/js/src/huobi.js CHANGED
@@ -1,9 +1,3 @@
1
- // ----------------------------------------------------------------------------
2
-
3
- // PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
4
- // https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
- // EDIT THE CORRESPONDENT .ts FILE INSTEAD
6
-
7
1
  // ---------------------------------------------------------------------------
8
2
  import htx from './htx.js';
9
3
  // ---------------------------------------------------------------------------
@@ -216,6 +216,11 @@ export default class hyperliquid extends Exchange {
216
216
  s: string;
217
217
  v: any;
218
218
  };
219
+ buildUserAbstractionSig(message: any): {
220
+ r: string;
221
+ s: string;
222
+ v: any;
223
+ };
219
224
  buildApproveBuilderFeeSig(message: any): {
220
225
  r: string;
221
226
  s: string;
@@ -225,7 +230,36 @@ export default class hyperliquid extends Exchange {
225
230
  approveBuilderFee(builder: string, maxFeeRate: string): Promise<any>;
226
231
  initializeClient(): Promise<boolean>;
227
232
  handleBuilderFeeApproval(): Promise<boolean>;
233
+ /**
234
+ * @method
235
+ * @name hyperliquid#setUserAbstraction
236
+ * @description set user abstraction mode
237
+ * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/exchange-endpoint#set-user-abstraction
238
+ * @param {string} abstraction one of the strings ["disabled", "unifiedAccount", "portfolioMargin"],
239
+ * @param {object} [params]
240
+ * @param {string} [params.type] 'userSetAbstraction' or 'agentSetAbstraction' default is 'userSetAbstraction'
241
+ * @returns dictionary response from the exchange
242
+ */
243
+ setUserAbstraction(abstraction: string, params?: {}): Promise<any>;
244
+ /**
245
+ * @method
246
+ * @name hyperliquid#enableUserDexAbstraction
247
+ * @description If set, actions on HIP-3 perps will automatically transfer collateral from validator-operated USDC perps balance for HIP-3 DEXs where USDC is the collateral token, and spot otherwise
248
+ * @param enabled
249
+ * @param params
250
+ * @param {string} [params.type] 'userDexAbstraction' or 'agentEnableDexAbstraction' default is 'userDexAbstraction'
251
+ * @returns dictionary response from the exchange
252
+ */
228
253
  enableUserDexAbstraction(enabled: boolean, params?: {}): Promise<any>;
254
+ /**
255
+ * @method
256
+ * @name hyperliquid#setAgentAbstraction
257
+ * @description set agent abstraction mode
258
+ * @param {string} abstraction one of the strings ["i", "u", "p"] where "i" is "disabled", "u" is "unifiedAccount", and "p" is "portfolioMargin"
259
+ * @param {object} [params]
260
+ * @returns dictionary response from the exchange
261
+ */
262
+ setAgentAbstraction(abstraction: string, params?: {}): Promise<any>;
229
263
  /**
230
264
  * @method
231
265
  * @name hyperliquid#createOrder
@@ -248,6 +282,22 @@ export default class hyperliquid extends Exchange {
248
282
  * @returns {object} an [order structure]{@link https://docs.ccxt.com/?id=order-structure}
249
283
  */
250
284
  createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
285
+ /**
286
+ * @method
287
+ * @name hyperliquid#createTwapOrder
288
+ * @description create a trade order that is executed as a TWAP order over a specified duration.
289
+ * @param {string} symbol unified symbol of the market to create an order in
290
+ * @param {string} side 'buy' or 'sell'
291
+ * @param {float} amount how much of currency you want to trade in units of base currency
292
+ * @param {int} duration the duration of the TWAP order in milliseconds
293
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
294
+ * @param {bool} [params.randomize] whether to randomize the time intervals of the TWAP order slices (default is false, meaning equal intervals)
295
+ * @param {bool} [params.reduceOnly] true or false whether the order is reduce-only
296
+ * @param {int} [params.expiresAfter] time in ms after which the twap order expires
297
+ * @param {string} [params.vaultAddress] the vault address for order
298
+ * @returns {object} an [order structure]{@link https://docs.ccxt.com/?id=order-structure}
299
+ */
300
+ createTwapOrder(symbol: string, side: OrderSide, amount: number, duration: number, params?: {}): Promise<Order>;
251
301
  /**
252
302
  * @method
253
303
  * @name hyperliquid#createOrders
@@ -272,6 +322,7 @@ export default class hyperliquid extends Exchange {
272
322
  * @param {string} [params.clientOrderId] client order id, (optional 128 bit hex string e.g. 0x1234567890abcdef1234567890abcdef)
273
323
  * @param {string} [params.vaultAddress] the vault address for order
274
324
  * @param {string} [params.subAccountAddress] sub account user address
325
+ * @param {boolean} [params.twap] whether the order to cancel is a twap order, (default is false)
275
326
  * @returns {object} An [order structure]{@link https://docs.ccxt.com/?id=order-structure}
276
327
  */
277
328
  cancelOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
@@ -290,6 +341,19 @@ export default class hyperliquid extends Exchange {
290
341
  * @returns {object} an list of [order structures]{@link https://docs.ccxt.com/?id=order-structure}
291
342
  */
292
343
  cancelOrders(ids: string[], symbol?: Str, params?: {}): Promise<Order[]>;
344
+ /**
345
+ * @method
346
+ * @name hyperliquid#cancelTwapOrder
347
+ * @description cancels a running twap order
348
+ * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/exchange-endpoint#cancel-a-twap-order
349
+ * @param {string} id order id
350
+ * @param {string} symbol unified symbol of the market the order was made in
351
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
352
+ * @param {int} [params.expiresAfter] time in ms after which the twap order expires
353
+ * @param {string} [params.vaultAddress] the vault address for order
354
+ * @returns {object} An [order structure]{@link https://docs.ccxt.com/?id=order-structure}
355
+ */
356
+ cancelTwapOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
293
357
  cancelOrdersRequest(ids: string[], symbol?: Str, params?: {}): Dict;
294
358
  /**
295
359
  * @method
@@ -1,12 +1,6 @@
1
- // ----------------------------------------------------------------------------
2
-
3
- // PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
4
- // https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
- // EDIT THE CORRESPONDENT .ts FILE INSTEAD
6
-
7
1
  // ---------------------------------------------------------------------------
8
2
  import Exchange from './abstract/hyperliquid.js';
9
- import { ExchangeError, ArgumentsRequired, NotSupported, InvalidOrder, OrderNotFound, BadRequest, InsufficientFunds } from './base/errors.js';
3
+ import { ExchangeError, ArgumentsRequired, NotSupported, InvalidOrder, OrderNotFound, BadRequest, InsufficientFunds, RateLimitExceeded } from './base/errors.js';
10
4
  import { Precise } from './base/Precise.js';
11
5
  import { ROUND, SIGNIFICANT_DIGITS, DECIMAL_PLACES, TICK_SIZE } from './base/functions/number.js';
12
6
  import { keccak_256 as keccak } from './static_dependencies/noble-hashes/sha3.js';
@@ -214,6 +208,9 @@ export default class hyperliquid extends Exchange {
214
208
  'Insufficient spot balance asset': InsufficientFunds,
215
209
  'Insufficient balance for withdrawal': InsufficientFunds,
216
210
  'Insufficient balance for token transfer': InsufficientFunds,
211
+ 'TWAP order value too small. Min is $1200, which is $10 per minute.': InvalidOrder,
212
+ 'TWAP was never placed, already canceled, or filled.': OrderNotFound,
213
+ 'Too many cumulative requests sent': RateLimitExceeded, // {"status":"err","response":"Too many cumulative requests sent (37986 > 10436) for cumulative volume traded $437.92. Place taker orders to free up 1 request per USDC traded."}
217
214
  },
218
215
  },
219
216
  'precisionMode': TICK_SIZE,
@@ -1709,6 +1706,17 @@ export default class hyperliquid extends Exchange {
1709
1706
  };
1710
1707
  return this.signUserSignedAction(messageTypes, message);
1711
1708
  }
1709
+ buildUserAbstractionSig(message) {
1710
+ const messageTypes = {
1711
+ 'HyperliquidTransaction:UserSetAbstraction': [
1712
+ { 'name': 'hyperliquidChain', 'type': 'string' },
1713
+ { 'name': 'user', 'type': 'address' },
1714
+ { 'name': 'abstraction', 'type': 'string' },
1715
+ { 'name': 'nonce', 'type': 'uint64' },
1716
+ ],
1717
+ };
1718
+ return this.signUserSignedAction(messageTypes, message);
1719
+ }
1712
1720
  buildApproveBuilderFeeSig(message) {
1713
1721
  const messageTypes = {
1714
1722
  'HyperliquidTransaction:ApproveBuilderFee': [
@@ -1809,11 +1817,70 @@ export default class hyperliquid extends Exchange {
1809
1817
  }
1810
1818
  return true;
1811
1819
  }
1820
+ /**
1821
+ * @method
1822
+ * @name hyperliquid#setUserAbstraction
1823
+ * @description set user abstraction mode
1824
+ * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/exchange-endpoint#set-user-abstraction
1825
+ * @param {string} abstraction one of the strings ["disabled", "unifiedAccount", "portfolioMargin"],
1826
+ * @param {object} [params]
1827
+ * @param {string} [params.type] 'userSetAbstraction' or 'agentSetAbstraction' default is 'userSetAbstraction'
1828
+ * @returns dictionary response from the exchange
1829
+ */
1830
+ async setUserAbstraction(abstraction, params = {}) {
1831
+ let userAddress = undefined;
1832
+ [userAddress, params] = this.handlePublicAddress('setUserAbstraction', params);
1833
+ const nonce = this.milliseconds();
1834
+ const isSandboxMode = this.safeBool(this.options, 'sandboxMode', false);
1835
+ const type = this.safeString(params, 'type', 'userSetAbstraction');
1836
+ params = this.omit(params, 'type');
1837
+ const payload = {
1838
+ 'hyperliquidChain': isSandboxMode ? 'Testnet' : 'Mainnet',
1839
+ 'user': userAddress,
1840
+ 'abstraction': abstraction,
1841
+ 'nonce': nonce,
1842
+ };
1843
+ const sig = this.buildUserAbstractionSig(payload);
1844
+ const action = {
1845
+ 'hyperliquidChain': payload['hyperliquidChain'],
1846
+ 'signatureChainId': '0x66eee',
1847
+ 'abstraction': payload['abstraction'],
1848
+ 'user': payload['user'],
1849
+ 'nonce': nonce,
1850
+ 'type': type,
1851
+ };
1852
+ const request = {
1853
+ 'action': action,
1854
+ 'nonce': nonce,
1855
+ 'signature': sig,
1856
+ 'vaultAddress': undefined,
1857
+ };
1858
+ //
1859
+ // {
1860
+ // "status": "ok",
1861
+ // "response": {
1862
+ // "type": "default"
1863
+ // }
1864
+ // }
1865
+ //
1866
+ return await this.privatePostExchange(request);
1867
+ }
1868
+ /**
1869
+ * @method
1870
+ * @name hyperliquid#enableUserDexAbstraction
1871
+ * @description If set, actions on HIP-3 perps will automatically transfer collateral from validator-operated USDC perps balance for HIP-3 DEXs where USDC is the collateral token, and spot otherwise
1872
+ * @param enabled
1873
+ * @param params
1874
+ * @param {string} [params.type] 'userDexAbstraction' or 'agentEnableDexAbstraction' default is 'userDexAbstraction'
1875
+ * @returns dictionary response from the exchange
1876
+ */
1812
1877
  async enableUserDexAbstraction(enabled, params = {}) {
1813
1878
  let userAddress = undefined;
1814
1879
  [userAddress, params] = this.handlePublicAddress('enableUserDexAbstraction', params);
1815
1880
  const nonce = this.milliseconds();
1816
1881
  const isSandboxMode = this.safeBool(this.options, 'sandboxMode', false);
1882
+ const type = this.safeString(params, 'type', 'userDexAbstraction');
1883
+ params = this.omit(params, 'type');
1817
1884
  const payload = {
1818
1885
  'hyperliquidChain': isSandboxMode ? 'Testnet' : 'Mainnet',
1819
1886
  'user': userAddress,
@@ -1827,7 +1894,7 @@ export default class hyperliquid extends Exchange {
1827
1894
  'enabled': payload['enabled'],
1828
1895
  'user': payload['user'],
1829
1896
  'nonce': nonce,
1830
- 'type': 'userDexAbstraction',
1897
+ 'type': type,
1831
1898
  };
1832
1899
  const request = {
1833
1900
  'action': action,
@@ -1845,6 +1912,29 @@ export default class hyperliquid extends Exchange {
1845
1912
  //
1846
1913
  return await this.privatePostExchange(request);
1847
1914
  }
1915
+ /**
1916
+ * @method
1917
+ * @name hyperliquid#setAgentAbstraction
1918
+ * @description set agent abstraction mode
1919
+ * @param {string} abstraction one of the strings ["i", "u", "p"] where "i" is "disabled", "u" is "unifiedAccount", and "p" is "portfolioMargin"
1920
+ * @param {object} [params]
1921
+ * @returns dictionary response from the exchange
1922
+ */
1923
+ async setAgentAbstraction(abstraction, params = {}) {
1924
+ const nonce = this.milliseconds();
1925
+ const request = {
1926
+ 'nonce': nonce,
1927
+ };
1928
+ const action = {
1929
+ 'type': 'agentSetAbstraction',
1930
+ 'abstraction': abstraction,
1931
+ };
1932
+ const signature = this.signL1Action(action, nonce);
1933
+ request['action'] = action;
1934
+ request['signature'] = signature;
1935
+ const response = await this.privatePostExchange(this.extend(request, params));
1936
+ return response;
1937
+ }
1848
1938
  /**
1849
1939
  * @method
1850
1940
  * @name hyperliquid#createOrder
@@ -1872,6 +1962,82 @@ export default class hyperliquid extends Exchange {
1872
1962
  const orders = await this.createOrders([order], globalParams);
1873
1963
  return orders[0];
1874
1964
  }
1965
+ /**
1966
+ * @method
1967
+ * @name hyperliquid#createTwapOrder
1968
+ * @description create a trade order that is executed as a TWAP order over a specified duration.
1969
+ * @param {string} symbol unified symbol of the market to create an order in
1970
+ * @param {string} side 'buy' or 'sell'
1971
+ * @param {float} amount how much of currency you want to trade in units of base currency
1972
+ * @param {int} duration the duration of the TWAP order in milliseconds
1973
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1974
+ * @param {bool} [params.randomize] whether to randomize the time intervals of the TWAP order slices (default is false, meaning equal intervals)
1975
+ * @param {bool} [params.reduceOnly] true or false whether the order is reduce-only
1976
+ * @param {int} [params.expiresAfter] time in ms after which the twap order expires
1977
+ * @param {string} [params.vaultAddress] the vault address for order
1978
+ * @returns {object} an [order structure]{@link https://docs.ccxt.com/?id=order-structure}
1979
+ */
1980
+ async createTwapOrder(symbol, side, amount, duration, params = {}) {
1981
+ await this.loadMarkets();
1982
+ await this.initializeClient();
1983
+ const market = this.market(symbol);
1984
+ const nonce = this.milliseconds();
1985
+ const isBuy = (side === 'BUY');
1986
+ let vaultAddress = undefined;
1987
+ const randomize = this.safeBool(params, 'randomize', false);
1988
+ params = this.omit(params, 'randomize');
1989
+ [vaultAddress, params] = this.handleOptionAndParams(params, 'createOrder', 'vaultAddress');
1990
+ vaultAddress = this.formatVaultAddress(vaultAddress);
1991
+ const durationMins = Math.floor(duration / 1000 / 60); // convert from ms to minutes
1992
+ const orderObj = {
1993
+ 'a': this.parseToInt(market['baseId']),
1994
+ 'b': isBuy,
1995
+ 's': this.amountToPrecision(symbol, amount),
1996
+ 'r': this.safeBool(params, 'reduceOnly', false),
1997
+ 'm': durationMins,
1998
+ 't': randomize,
1999
+ };
2000
+ const orderAction = {
2001
+ 'type': 'twapOrder',
2002
+ 'twap': orderObj,
2003
+ };
2004
+ const signature = this.signL1Action(orderAction, nonce, vaultAddress);
2005
+ const request = {
2006
+ 'action': orderAction,
2007
+ 'nonce': nonce,
2008
+ 'signature': signature,
2009
+ // 'vaultAddress': vaultAddress,
2010
+ };
2011
+ if (vaultAddress !== undefined) {
2012
+ params = this.omit(params, 'vaultAddress');
2013
+ request['vaultAddress'] = vaultAddress;
2014
+ }
2015
+ const expiresAfter = this.safeInteger(params, 'expiresAfter');
2016
+ if (expiresAfter !== undefined) {
2017
+ request['expiresAfter'] = expiresAfter;
2018
+ params = this.omit(params, 'expiresAfter');
2019
+ }
2020
+ const response = await this.privatePostExchange(request);
2021
+ // {
2022
+ // "status":"ok",
2023
+ // "response":{
2024
+ // "type":"twapOrder",
2025
+ // "data":{
2026
+ // "status": {
2027
+ // "running":{
2028
+ // "twapId":77738308
2029
+ // }
2030
+ // }
2031
+ // }
2032
+ // }
2033
+ // }
2034
+ const responseObj = this.safeDict(response, 'response', {});
2035
+ const data = this.safeDict(responseObj, 'data', {});
2036
+ const status = this.safeDict(data, 'status', {});
2037
+ const running = this.safeDict(status, 'running', {});
2038
+ const orderId = this.safeString(running, 'twapId');
2039
+ return this.parseOrder({ 'status': 'running', 'oid': orderId }, market);
2040
+ }
1875
2041
  /**
1876
2042
  * @method
1877
2043
  * @name hyperliquid#createOrders
@@ -2110,9 +2276,14 @@ export default class hyperliquid extends Exchange {
2110
2276
  * @param {string} [params.clientOrderId] client order id, (optional 128 bit hex string e.g. 0x1234567890abcdef1234567890abcdef)
2111
2277
  * @param {string} [params.vaultAddress] the vault address for order
2112
2278
  * @param {string} [params.subAccountAddress] sub account user address
2279
+ * @param {boolean} [params.twap] whether the order to cancel is a twap order, (default is false)
2113
2280
  * @returns {object} An [order structure]{@link https://docs.ccxt.com/?id=order-structure}
2114
2281
  */
2115
2282
  async cancelOrder(id, symbol = undefined, params = {}) {
2283
+ if (this.safeBool(params, 'twap', false)) {
2284
+ params = this.omit(params, 'twap');
2285
+ return await this.cancelTwapOrder(id, symbol, params);
2286
+ }
2116
2287
  const orders = await this.cancelOrders([id], symbol, params);
2117
2288
  return this.safeDict(orders, 0);
2118
2289
  }
@@ -2165,6 +2336,66 @@ export default class hyperliquid extends Exchange {
2165
2336
  }
2166
2337
  return orders;
2167
2338
  }
2339
+ /**
2340
+ * @method
2341
+ * @name hyperliquid#cancelTwapOrder
2342
+ * @description cancels a running twap order
2343
+ * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/exchange-endpoint#cancel-a-twap-order
2344
+ * @param {string} id order id
2345
+ * @param {string} symbol unified symbol of the market the order was made in
2346
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
2347
+ * @param {int} [params.expiresAfter] time in ms after which the twap order expires
2348
+ * @param {string} [params.vaultAddress] the vault address for order
2349
+ * @returns {object} An [order structure]{@link https://docs.ccxt.com/?id=order-structure}
2350
+ */
2351
+ async cancelTwapOrder(id, symbol = undefined, params = {}) {
2352
+ await this.loadMarkets();
2353
+ if (symbol === undefined) {
2354
+ throw new ArgumentsRequired(this.id + ' cancelTwapOrder() requires a symbol argument');
2355
+ }
2356
+ const market = this.market(symbol);
2357
+ let vaultAddress = undefined;
2358
+ [vaultAddress, params] = this.handleOptionAndParams(params, 'cancelTwapOrder', 'vaultAddress');
2359
+ vaultAddress = this.formatVaultAddress(vaultAddress);
2360
+ const action = {
2361
+ 'type': 'twapCancel',
2362
+ 'a': this.parseToInt(market['baseId']),
2363
+ 't': this.parseToNumeric(id),
2364
+ };
2365
+ const nonce = this.milliseconds();
2366
+ const signature = this.signL1Action(action, nonce, vaultAddress);
2367
+ const request = {
2368
+ 'action': action,
2369
+ 'nonce': nonce,
2370
+ 'signature': signature,
2371
+ // 'vaultAddress': vaultAddress,
2372
+ };
2373
+ if (vaultAddress !== undefined) {
2374
+ params = this.omit(params, 'vaultAddress');
2375
+ request['vaultAddress'] = vaultAddress;
2376
+ }
2377
+ const expiresAfter = this.safeInteger(params, 'expiresAfter');
2378
+ if (expiresAfter !== undefined) {
2379
+ request['expiresAfter'] = expiresAfter;
2380
+ params = this.omit(params, 'expiresAfter');
2381
+ }
2382
+ const response = await this.privatePostExchange(request);
2383
+ //
2384
+ // {
2385
+ // "status":"ok",
2386
+ // "response":{
2387
+ // "type":"twapCancel",
2388
+ // "data":{
2389
+ // "status": "success"
2390
+ // }
2391
+ // }
2392
+ // }
2393
+ //
2394
+ const responseObj = this.safeDict(response, 'response', {});
2395
+ const data = this.safeDict(responseObj, 'data', {});
2396
+ const status = this.safeString(data, 'status');
2397
+ return this.parseOrder({ 'status': status, 'oid': id }, market);
2398
+ }
2168
2399
  cancelOrdersRequest(ids, symbol = undefined, params = {}) {
2169
2400
  /**
2170
2401
  * @method
@@ -4445,6 +4676,13 @@ export default class hyperliquid extends Exchange {
4445
4676
  break;
4446
4677
  }
4447
4678
  }
4679
+ if ('status' in data) {
4680
+ const errorStatus = this.safeDict(data, 'status', {});
4681
+ const errorMsg = this.safeString(errorStatus, 'error');
4682
+ if (errorStatus !== undefined) {
4683
+ message = errorMsg;
4684
+ }
4685
+ }
4448
4686
  }
4449
4687
  const feedback = this.id + ' ' + body;
4450
4688
  const nonEmptyMessage = ((message !== undefined) && (message !== ''));
@@ -1,9 +1,3 @@
1
- // ----------------------------------------------------------------------------
2
-
3
- // PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
4
- // https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
- // EDIT THE CORRESPONDENT .ts FILE INSTEAD
6
-
7
1
  // ---------------------------------------------------------------------------
8
2
  import Exchange from './abstract/independentreserve.js';
9
3
  import { Precise } from './base/Precise.js';
package/js/src/indodax.js CHANGED
@@ -1,9 +1,3 @@
1
- // ----------------------------------------------------------------------------
2
-
3
- // PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
4
- // https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
- // EDIT THE CORRESPONDENT .ts FILE INSTEAD
6
-
7
1
  // ---------------------------------------------------------------------------
8
2
  import Exchange from './abstract/indodax.js';
9
3
  import { ExchangeError, ArgumentsRequired, InsufficientFunds, InvalidOrder, OrderNotFound, AuthenticationError, BadSymbol } from './base/errors.js';
package/js/src/kraken.js CHANGED
@@ -1,9 +1,3 @@
1
- // ----------------------------------------------------------------------------
2
-
3
- // PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
4
- // https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
- // EDIT THE CORRESPONDENT .ts FILE INSTEAD
6
-
7
1
  // ---------------------------------------------------------------------------
8
2
  import Exchange from './abstract/kraken.js';
9
3
  import { AccountSuspended, BadSymbol, BadRequest, ExchangeNotAvailable, ArgumentsRequired, PermissionDenied, AuthenticationError, ExchangeError, OrderNotFound, DDoSProtection, InvalidNonce, InsufficientFunds, CancelPending, InvalidOrder, InvalidAddress, RateLimitExceeded, OnMaintenance, NotSupported } from './base/errors.js';