ccxt 4.5.28 → 4.5.30

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 (522) hide show
  1. package/README.md +24 -7
  2. package/dist/ccxt.browser.min.js +7 -7
  3. package/dist/cjs/ccxt.js +6 -1
  4. package/dist/cjs/src/abstract/bydfi.js +11 -0
  5. package/dist/cjs/src/alpaca.js +21 -21
  6. package/dist/cjs/src/apex.js +20 -20
  7. package/dist/cjs/src/arkham.js +22 -22
  8. package/dist/cjs/src/ascendex.js +28 -28
  9. package/dist/cjs/src/backpack.js +22 -22
  10. package/dist/cjs/src/base/Exchange.js +48 -38
  11. package/dist/cjs/src/base/functions/throttle.js +54 -5
  12. package/dist/cjs/src/bigone.js +19 -19
  13. package/dist/cjs/src/binance.js +83 -82
  14. package/dist/cjs/src/bingx.js +47 -47
  15. package/dist/cjs/src/bit2c.js +11 -11
  16. package/dist/cjs/src/bitbank.js +49 -48
  17. package/dist/cjs/src/bitbns.js +13 -13
  18. package/dist/cjs/src/bitfinex.js +33 -33
  19. package/dist/cjs/src/bitflyer.js +17 -17
  20. package/dist/cjs/src/bitget.js +58 -57
  21. package/dist/cjs/src/bithumb.js +10 -10
  22. package/dist/cjs/src/bitmart.js +44 -44
  23. package/dist/cjs/src/bitmex.js +24 -24
  24. package/dist/cjs/src/bitopro.js +20 -20
  25. package/dist/cjs/src/bitrue.js +18 -18
  26. package/dist/cjs/src/bitso.js +20 -20
  27. package/dist/cjs/src/bitstamp.js +21 -21
  28. package/dist/cjs/src/bittrade.js +20 -20
  29. package/dist/cjs/src/bitvavo.js +19 -19
  30. package/dist/cjs/src/blockchaincom.js +20 -20
  31. package/dist/cjs/src/blofin.js +26 -26
  32. package/dist/cjs/src/btcalpha.js +35 -34
  33. package/dist/cjs/src/btcbox.js +10 -10
  34. package/dist/cjs/src/btcmarkets.js +16 -16
  35. package/dist/cjs/src/btcturk.js +10 -10
  36. package/dist/cjs/src/bullish.js +27 -27
  37. package/dist/cjs/src/bybit.js +69 -67
  38. package/dist/cjs/src/bydfi.js +2907 -0
  39. package/dist/cjs/src/cex.js +18 -18
  40. package/dist/cjs/src/coinbase.js +74 -41
  41. package/dist/cjs/src/coinbaseexchange.js +22 -22
  42. package/dist/cjs/src/coinbaseinternational.js +22 -22
  43. package/dist/cjs/src/coincatch.js +39 -39
  44. package/dist/cjs/src/coincheck.js +11 -11
  45. package/dist/cjs/src/coinex.js +48 -48
  46. package/dist/cjs/src/coinmate.js +14 -14
  47. package/dist/cjs/src/coinmetro.js +14 -14
  48. package/dist/cjs/src/coinone.js +11 -11
  49. package/dist/cjs/src/coinsph.js +20 -20
  50. package/dist/cjs/src/coinspot.js +8 -8
  51. package/dist/cjs/src/cryptocom.js +32 -32
  52. package/dist/cjs/src/cryptomus.js +9 -9
  53. package/dist/cjs/src/deepcoin.js +33 -33
  54. package/dist/cjs/src/defx.js +23 -23
  55. package/dist/cjs/src/delta.js +29 -29
  56. package/dist/cjs/src/deribit.js +36 -36
  57. package/dist/cjs/src/derive.js +19 -19
  58. package/dist/cjs/src/digifinex.js +36 -36
  59. package/dist/cjs/src/dydx.js +25 -25
  60. package/dist/cjs/src/exmo.js +29 -29
  61. package/dist/cjs/src/foxbit.js +23 -23
  62. package/dist/cjs/src/gate.js +60 -59
  63. package/dist/cjs/src/gemini.js +16 -16
  64. package/dist/cjs/src/hashkey.js +35 -35
  65. package/dist/cjs/src/hibachi.js +24 -24
  66. package/dist/cjs/src/hitbtc.js +38 -38
  67. package/dist/cjs/src/hollaex.js +22 -22
  68. package/dist/cjs/src/htx.js +50 -50
  69. package/dist/cjs/src/hyperliquid.js +86 -45
  70. package/dist/cjs/src/independentreserve.js +13 -13
  71. package/dist/cjs/src/indodax.js +14 -14
  72. package/dist/cjs/src/kraken.js +30 -30
  73. package/dist/cjs/src/krakenfutures.js +21 -21
  74. package/dist/cjs/src/kucoin.js +156 -48
  75. package/dist/cjs/src/kucoinfutures.js +42 -40
  76. package/dist/cjs/src/latoken.js +16 -16
  77. package/dist/cjs/src/lbank.js +23 -23
  78. package/dist/cjs/src/luno.js +17 -17
  79. package/dist/cjs/src/mercado.js +11 -11
  80. package/dist/cjs/src/mexc.js +47 -47
  81. package/dist/cjs/src/modetrade.js +37 -35
  82. package/dist/cjs/src/ndax.js +19 -19
  83. package/dist/cjs/src/novadax.js +19 -19
  84. package/dist/cjs/src/oceanex.js +16 -16
  85. package/dist/cjs/src/okx.js +83 -83
  86. package/dist/cjs/src/onetrading.js +34 -33
  87. package/dist/cjs/src/oxfun.js +25 -25
  88. package/dist/cjs/src/p2b.js +11 -11
  89. package/dist/cjs/src/paradex.js +54 -54
  90. package/dist/cjs/src/paymium.js +20 -21
  91. package/dist/cjs/src/phemex.js +35 -35
  92. package/dist/cjs/src/poloniex.js +27 -27
  93. package/dist/cjs/src/pro/alpaca.js +5 -5
  94. package/dist/cjs/src/pro/apex.js +13 -11
  95. package/dist/cjs/src/pro/arkham.js +5 -5
  96. package/dist/cjs/src/pro/ascendex.js +5 -5
  97. package/dist/cjs/src/pro/backpack.js +16 -16
  98. package/dist/cjs/src/pro/binance.js +45 -41
  99. package/dist/cjs/src/pro/bingx.js +14 -12
  100. package/dist/cjs/src/pro/bitfinex.js +8 -8
  101. package/dist/cjs/src/pro/bitget.js +12 -12
  102. package/dist/cjs/src/pro/bithumb.js +3 -3
  103. package/dist/cjs/src/pro/bitmart.js +393 -34
  104. package/dist/cjs/src/pro/bitmex.js +9 -9
  105. package/dist/cjs/src/pro/bitopro.js +5 -5
  106. package/dist/cjs/src/pro/bitrue.js +2 -2
  107. package/dist/cjs/src/pro/bitstamp.js +3 -3
  108. package/dist/cjs/src/pro/bittrade.js +3 -3
  109. package/dist/cjs/src/pro/bitvavo.js +19 -19
  110. package/dist/cjs/src/pro/blockchaincom.js +5 -5
  111. package/dist/cjs/src/pro/blofin.js +10 -10
  112. package/dist/cjs/src/pro/bullish.js +6 -6
  113. package/dist/cjs/src/pro/bybit.js +24 -22
  114. package/dist/cjs/src/pro/bydfi.js +1077 -0
  115. package/dist/cjs/src/pro/cex.js +13 -13
  116. package/dist/cjs/src/pro/coinbase.js +13 -13
  117. package/dist/cjs/src/pro/coinbaseexchange.js +10 -10
  118. package/dist/cjs/src/pro/coinbaseinternational.js +8 -8
  119. package/dist/cjs/src/pro/coincatch.js +10 -10
  120. package/dist/cjs/src/pro/coincheck.js +2 -2
  121. package/dist/cjs/src/pro/coinex.js +10 -10
  122. package/dist/cjs/src/pro/coinone.js +3 -3
  123. package/dist/cjs/src/pro/cryptocom.js +25 -23
  124. package/dist/cjs/src/pro/deepcoin.js +8 -8
  125. package/dist/cjs/src/pro/defx.js +15 -15
  126. package/dist/cjs/src/pro/deribit.js +10 -10
  127. package/dist/cjs/src/pro/derive.js +6 -6
  128. package/dist/cjs/src/pro/dydx.js +3 -3
  129. package/dist/cjs/src/pro/exmo.js +7 -7
  130. package/dist/cjs/src/pro/gate.js +26 -62
  131. package/dist/cjs/src/pro/gemini.js +6 -6
  132. package/dist/cjs/src/pro/hashkey.js +11 -9
  133. package/dist/cjs/src/pro/hitbtc.js +8 -8
  134. package/dist/cjs/src/pro/hollaex.js +5 -5
  135. package/dist/cjs/src/pro/htx.js +9 -9
  136. package/dist/cjs/src/pro/hyperliquid.js +103 -14
  137. package/dist/cjs/src/pro/independentreserve.js +2 -2
  138. package/dist/cjs/src/pro/kraken.js +15 -15
  139. package/dist/cjs/src/pro/krakenfutures.js +10 -10
  140. package/dist/cjs/src/pro/kucoin.js +15 -15
  141. package/dist/cjs/src/pro/kucoinfutures.js +18 -16
  142. package/dist/cjs/src/pro/lbank.js +5 -5
  143. package/dist/cjs/src/pro/luno.js +2 -2
  144. package/dist/cjs/src/pro/mexc.js +13 -13
  145. package/dist/cjs/src/pro/modetrade.js +13 -11
  146. package/dist/cjs/src/pro/ndax.js +3 -3
  147. package/dist/cjs/src/pro/okx.js +25 -25
  148. package/dist/cjs/src/pro/onetrading.js +6 -6
  149. package/dist/cjs/src/pro/oxfun.js +13 -13
  150. package/dist/cjs/src/pro/p2b.js +5 -5
  151. package/dist/cjs/src/pro/paradex.js +8 -8
  152. package/dist/cjs/src/pro/phemex.js +7 -7
  153. package/dist/cjs/src/pro/poloniex.js +8 -8
  154. package/dist/cjs/src/pro/probit.js +6 -6
  155. package/dist/cjs/src/pro/toobit.js +20 -16
  156. package/dist/cjs/src/pro/upbit.js +9 -9
  157. package/dist/cjs/src/pro/whitebit.js +7 -7
  158. package/dist/cjs/src/pro/woo.js +18 -16
  159. package/dist/cjs/src/pro/woofipro.js +25 -23
  160. package/dist/cjs/src/pro/xt.js +7 -5
  161. package/dist/cjs/src/probit.js +18 -18
  162. package/dist/cjs/src/static_dependencies/ethers/utils/index.js +11 -0
  163. package/dist/cjs/src/timex.js +16 -16
  164. package/dist/cjs/src/tokocrypto.js +17 -17
  165. package/dist/cjs/src/toobit.js +33 -30
  166. package/dist/cjs/src/upbit.js +23 -23
  167. package/dist/cjs/src/wavesexchange.js +86 -85
  168. package/dist/cjs/src/whitebit.js +44 -44
  169. package/dist/cjs/src/woo.js +51 -49
  170. package/dist/cjs/src/woofipro.js +104 -82
  171. package/dist/cjs/src/xt.js +17 -12
  172. package/dist/cjs/src/yobit.js +15 -15
  173. package/dist/cjs/src/zaif.js +38 -9
  174. package/dist/cjs/src/zebpay.js +35 -20
  175. package/dist/cjs/src/zonda.js +14 -14
  176. package/js/ccxt.d.ts +8 -2
  177. package/js/ccxt.js +6 -2
  178. package/js/src/abstract/bydfi.d.ts +52 -0
  179. package/js/src/abstract/bydfi.js +11 -0
  180. package/js/src/alpaca.d.ts +21 -21
  181. package/js/src/alpaca.js +21 -21
  182. package/js/src/apex.d.ts +20 -20
  183. package/js/src/apex.js +20 -20
  184. package/js/src/arkham.d.ts +22 -22
  185. package/js/src/arkham.js +22 -22
  186. package/js/src/ascendex.d.ts +28 -28
  187. package/js/src/ascendex.js +28 -28
  188. package/js/src/backpack.d.ts +21 -21
  189. package/js/src/backpack.js +22 -22
  190. package/js/src/base/Exchange.d.ts +6 -3
  191. package/js/src/base/Exchange.js +48 -38
  192. package/js/src/base/functions/throttle.d.ts +22 -0
  193. package/js/src/base/functions/throttle.js +54 -5
  194. package/js/src/bigone.d.ts +19 -19
  195. package/js/src/bigone.js +19 -19
  196. package/js/src/binance.d.ts +82 -82
  197. package/js/src/binance.js +83 -82
  198. package/js/src/bingx.d.ts +46 -46
  199. package/js/src/bingx.js +47 -47
  200. package/js/src/bit2c.d.ts +11 -11
  201. package/js/src/bit2c.js +11 -11
  202. package/js/src/bitbank.d.ts +12 -12
  203. package/js/src/bitbank.js +49 -48
  204. package/js/src/bitbns.d.ts +13 -13
  205. package/js/src/bitbns.js +13 -13
  206. package/js/src/bitfinex.d.ts +33 -33
  207. package/js/src/bitfinex.js +33 -33
  208. package/js/src/bitflyer.d.ts +17 -17
  209. package/js/src/bitflyer.js +17 -17
  210. package/js/src/bitget.d.ts +57 -57
  211. package/js/src/bitget.js +58 -57
  212. package/js/src/bithumb.d.ts +10 -10
  213. package/js/src/bithumb.js +10 -10
  214. package/js/src/bitmart.d.ts +42 -42
  215. package/js/src/bitmart.js +44 -44
  216. package/js/src/bitmex.d.ts +24 -24
  217. package/js/src/bitmex.js +24 -24
  218. package/js/src/bitopro.d.ts +20 -20
  219. package/js/src/bitopro.js +20 -20
  220. package/js/src/bitrue.d.ts +18 -18
  221. package/js/src/bitrue.js +18 -18
  222. package/js/src/bitso.d.ts +20 -20
  223. package/js/src/bitso.js +20 -20
  224. package/js/src/bitstamp.d.ts +21 -21
  225. package/js/src/bitstamp.js +21 -21
  226. package/js/src/bittrade.d.ts +20 -20
  227. package/js/src/bittrade.js +20 -20
  228. package/js/src/bitvavo.d.ts +19 -19
  229. package/js/src/bitvavo.js +19 -19
  230. package/js/src/blockchaincom.d.ts +20 -20
  231. package/js/src/blockchaincom.js +20 -20
  232. package/js/src/blofin.d.ts +26 -26
  233. package/js/src/blofin.js +26 -26
  234. package/js/src/btcalpha.d.ts +14 -14
  235. package/js/src/btcalpha.js +35 -34
  236. package/js/src/btcbox.d.ts +10 -10
  237. package/js/src/btcbox.js +10 -10
  238. package/js/src/btcmarkets.d.ts +16 -16
  239. package/js/src/btcmarkets.js +16 -16
  240. package/js/src/btcturk.d.ts +10 -10
  241. package/js/src/btcturk.js +10 -10
  242. package/js/src/bullish.d.ts +26 -26
  243. package/js/src/bullish.js +27 -27
  244. package/js/src/bybit.d.ts +66 -66
  245. package/js/src/bybit.js +69 -67
  246. package/js/src/bydfi.d.ts +472 -0
  247. package/js/src/bydfi.js +2905 -0
  248. package/js/src/cex.d.ts +18 -18
  249. package/js/src/cex.js +18 -18
  250. package/js/src/coinbase.d.ts +51 -40
  251. package/js/src/coinbase.js +74 -41
  252. package/js/src/coinbaseexchange.d.ts +22 -22
  253. package/js/src/coinbaseexchange.js +22 -22
  254. package/js/src/coinbaseinternational.d.ts +22 -22
  255. package/js/src/coinbaseinternational.js +22 -22
  256. package/js/src/coincatch.d.ts +39 -39
  257. package/js/src/coincatch.js +39 -39
  258. package/js/src/coincheck.d.ts +11 -11
  259. package/js/src/coincheck.js +11 -11
  260. package/js/src/coinex.d.ts +48 -48
  261. package/js/src/coinex.js +48 -48
  262. package/js/src/coinmate.d.ts +14 -14
  263. package/js/src/coinmate.js +14 -14
  264. package/js/src/coinmetro.d.ts +14 -14
  265. package/js/src/coinmetro.js +14 -14
  266. package/js/src/coinone.d.ts +11 -11
  267. package/js/src/coinone.js +11 -11
  268. package/js/src/coinsph.d.ts +20 -20
  269. package/js/src/coinsph.js +20 -20
  270. package/js/src/coinspot.d.ts +8 -8
  271. package/js/src/coinspot.js +8 -8
  272. package/js/src/cryptocom.d.ts +32 -32
  273. package/js/src/cryptocom.js +32 -32
  274. package/js/src/cryptomus.d.ts +9 -9
  275. package/js/src/cryptomus.js +9 -9
  276. package/js/src/deepcoin.d.ts +33 -33
  277. package/js/src/deepcoin.js +33 -33
  278. package/js/src/defx.d.ts +23 -23
  279. package/js/src/defx.js +23 -23
  280. package/js/src/delta.d.ts +29 -29
  281. package/js/src/delta.js +29 -29
  282. package/js/src/deribit.d.ts +36 -36
  283. package/js/src/deribit.js +36 -36
  284. package/js/src/derive.d.ts +19 -19
  285. package/js/src/derive.js +19 -19
  286. package/js/src/digifinex.d.ts +36 -36
  287. package/js/src/digifinex.js +36 -36
  288. package/js/src/dydx.d.ts +22 -22
  289. package/js/src/dydx.js +25 -25
  290. package/js/src/exmo.d.ts +29 -29
  291. package/js/src/exmo.js +29 -29
  292. package/js/src/foxbit.d.ts +23 -23
  293. package/js/src/foxbit.js +23 -23
  294. package/js/src/gate.d.ts +57 -57
  295. package/js/src/gate.js +60 -59
  296. package/js/src/gemini.d.ts +16 -16
  297. package/js/src/gemini.js +16 -16
  298. package/js/src/hashkey.d.ts +35 -35
  299. package/js/src/hashkey.js +35 -35
  300. package/js/src/hibachi.d.ts +24 -24
  301. package/js/src/hibachi.js +24 -24
  302. package/js/src/hitbtc.d.ts +38 -38
  303. package/js/src/hitbtc.js +38 -38
  304. package/js/src/hollaex.d.ts +22 -22
  305. package/js/src/hollaex.js +22 -22
  306. package/js/src/htx.d.ts +50 -50
  307. package/js/src/htx.js +50 -50
  308. package/js/src/hyperliquid.d.ts +46 -36
  309. package/js/src/hyperliquid.js +86 -45
  310. package/js/src/independentreserve.d.ts +13 -13
  311. package/js/src/independentreserve.js +13 -13
  312. package/js/src/indodax.d.ts +14 -14
  313. package/js/src/indodax.js +14 -14
  314. package/js/src/kraken.d.ts +30 -30
  315. package/js/src/kraken.js +30 -30
  316. package/js/src/krakenfutures.d.ts +21 -21
  317. package/js/src/krakenfutures.js +21 -21
  318. package/js/src/kucoin.d.ts +58 -44
  319. package/js/src/kucoin.js +156 -48
  320. package/js/src/kucoinfutures.d.ts +35 -35
  321. package/js/src/kucoinfutures.js +42 -40
  322. package/js/src/latoken.d.ts +16 -16
  323. package/js/src/latoken.js +16 -16
  324. package/js/src/lbank.d.ts +23 -23
  325. package/js/src/lbank.js +23 -23
  326. package/js/src/luno.d.ts +17 -17
  327. package/js/src/luno.js +17 -17
  328. package/js/src/mercado.d.ts +11 -11
  329. package/js/src/mercado.js +11 -11
  330. package/js/src/mexc.d.ts +47 -47
  331. package/js/src/mexc.js +47 -47
  332. package/js/src/modetrade.d.ts +31 -31
  333. package/js/src/modetrade.js +37 -35
  334. package/js/src/ndax.d.ts +19 -19
  335. package/js/src/ndax.js +19 -19
  336. package/js/src/novadax.d.ts +19 -19
  337. package/js/src/novadax.js +19 -19
  338. package/js/src/oceanex.d.ts +16 -16
  339. package/js/src/oceanex.js +16 -16
  340. package/js/src/okx.d.ts +74 -74
  341. package/js/src/okx.js +83 -83
  342. package/js/src/onetrading.d.ts +34 -33
  343. package/js/src/onetrading.js +34 -33
  344. package/js/src/oxfun.d.ts +25 -25
  345. package/js/src/oxfun.js +25 -25
  346. package/js/src/p2b.d.ts +11 -11
  347. package/js/src/p2b.js +11 -11
  348. package/js/src/paradex.d.ts +54 -54
  349. package/js/src/paradex.js +54 -54
  350. package/js/src/paymium.d.ts +20 -21
  351. package/js/src/paymium.js +20 -21
  352. package/js/src/phemex.d.ts +30 -30
  353. package/js/src/phemex.js +35 -35
  354. package/js/src/poloniex.d.ts +26 -26
  355. package/js/src/poloniex.js +27 -27
  356. package/js/src/pro/alpaca.d.ts +5 -5
  357. package/js/src/pro/alpaca.js +5 -5
  358. package/js/src/pro/apex.d.ts +8 -8
  359. package/js/src/pro/apex.js +13 -11
  360. package/js/src/pro/arkham.d.ts +5 -5
  361. package/js/src/pro/arkham.js +5 -5
  362. package/js/src/pro/ascendex.d.ts +5 -5
  363. package/js/src/pro/ascendex.js +5 -5
  364. package/js/src/pro/backpack.d.ts +16 -16
  365. package/js/src/pro/backpack.js +16 -16
  366. package/js/src/pro/binance.d.ts +35 -35
  367. package/js/src/pro/binance.js +45 -41
  368. package/js/src/pro/bingx.d.ts +9 -9
  369. package/js/src/pro/bingx.js +14 -12
  370. package/js/src/pro/bitfinex.d.ts +8 -8
  371. package/js/src/pro/bitfinex.js +8 -8
  372. package/js/src/pro/bitget.d.ts +12 -12
  373. package/js/src/pro/bitget.js +12 -12
  374. package/js/src/pro/bithumb.d.ts +3 -3
  375. package/js/src/pro/bithumb.js +3 -3
  376. package/js/src/pro/bitmart.d.ts +120 -9
  377. package/js/src/pro/bitmart.js +393 -34
  378. package/js/src/pro/bitmex.d.ts +9 -9
  379. package/js/src/pro/bitmex.js +9 -9
  380. package/js/src/pro/bitopro.d.ts +5 -5
  381. package/js/src/pro/bitopro.js +5 -5
  382. package/js/src/pro/bitrue.d.ts +2 -2
  383. package/js/src/pro/bitrue.js +2 -2
  384. package/js/src/pro/bitstamp.d.ts +3 -3
  385. package/js/src/pro/bitstamp.js +3 -3
  386. package/js/src/pro/bittrade.d.ts +3 -3
  387. package/js/src/pro/bittrade.js +3 -3
  388. package/js/src/pro/bitvavo.d.ts +19 -19
  389. package/js/src/pro/bitvavo.js +19 -19
  390. package/js/src/pro/blockchaincom.d.ts +5 -5
  391. package/js/src/pro/blockchaincom.js +5 -5
  392. package/js/src/pro/blofin.d.ts +10 -10
  393. package/js/src/pro/blofin.js +10 -10
  394. package/js/src/pro/bullish.d.ts +6 -6
  395. package/js/src/pro/bullish.js +6 -6
  396. package/js/src/pro/bybit.d.ts +19 -19
  397. package/js/src/pro/bybit.js +24 -22
  398. package/js/src/pro/bydfi.d.ts +206 -0
  399. package/js/src/pro/bydfi.js +1076 -0
  400. package/js/src/pro/cex.d.ts +13 -13
  401. package/js/src/pro/cex.js +13 -13
  402. package/js/src/pro/coinbase.d.ts +13 -13
  403. package/js/src/pro/coinbase.js +13 -13
  404. package/js/src/pro/coinbaseexchange.d.ts +10 -10
  405. package/js/src/pro/coinbaseexchange.js +10 -10
  406. package/js/src/pro/coinbaseinternational.d.ts +8 -8
  407. package/js/src/pro/coinbaseinternational.js +8 -8
  408. package/js/src/pro/coincatch.d.ts +10 -10
  409. package/js/src/pro/coincatch.js +10 -10
  410. package/js/src/pro/coincheck.d.ts +2 -2
  411. package/js/src/pro/coincheck.js +2 -2
  412. package/js/src/pro/coinex.d.ts +10 -10
  413. package/js/src/pro/coinex.js +10 -10
  414. package/js/src/pro/coinone.d.ts +3 -3
  415. package/js/src/pro/coinone.js +3 -3
  416. package/js/src/pro/cryptocom.d.ts +20 -20
  417. package/js/src/pro/cryptocom.js +25 -23
  418. package/js/src/pro/deepcoin.d.ts +8 -8
  419. package/js/src/pro/deepcoin.js +8 -8
  420. package/js/src/pro/defx.d.ts +15 -15
  421. package/js/src/pro/defx.js +15 -15
  422. package/js/src/pro/deribit.d.ts +10 -10
  423. package/js/src/pro/deribit.js +10 -10
  424. package/js/src/pro/derive.d.ts +6 -6
  425. package/js/src/pro/derive.js +6 -6
  426. package/js/src/pro/dydx.d.ts +3 -3
  427. package/js/src/pro/dydx.js +3 -3
  428. package/js/src/pro/exmo.d.ts +7 -7
  429. package/js/src/pro/exmo.js +7 -7
  430. package/js/src/pro/gate.d.ts +22 -23
  431. package/js/src/pro/gate.js +26 -62
  432. package/js/src/pro/gemini.d.ts +6 -6
  433. package/js/src/pro/gemini.js +6 -6
  434. package/js/src/pro/hashkey.d.ts +6 -6
  435. package/js/src/pro/hashkey.js +11 -9
  436. package/js/src/pro/hitbtc.d.ts +8 -8
  437. package/js/src/pro/hitbtc.js +8 -8
  438. package/js/src/pro/hollaex.d.ts +5 -5
  439. package/js/src/pro/hollaex.js +5 -5
  440. package/js/src/pro/htx.d.ts +9 -9
  441. package/js/src/pro/htx.js +9 -9
  442. package/js/src/pro/hyperliquid.d.ts +38 -14
  443. package/js/src/pro/hyperliquid.js +103 -14
  444. package/js/src/pro/independentreserve.d.ts +2 -2
  445. package/js/src/pro/independentreserve.js +2 -2
  446. package/js/src/pro/kraken.d.ts +15 -15
  447. package/js/src/pro/kraken.js +15 -15
  448. package/js/src/pro/krakenfutures.d.ts +10 -10
  449. package/js/src/pro/krakenfutures.js +10 -10
  450. package/js/src/pro/kucoin.d.ts +15 -15
  451. package/js/src/pro/kucoin.js +15 -15
  452. package/js/src/pro/kucoinfutures.d.ts +13 -13
  453. package/js/src/pro/kucoinfutures.js +18 -16
  454. package/js/src/pro/lbank.d.ts +5 -5
  455. package/js/src/pro/lbank.js +5 -5
  456. package/js/src/pro/luno.d.ts +2 -2
  457. package/js/src/pro/luno.js +2 -2
  458. package/js/src/pro/mexc.d.ts +13 -13
  459. package/js/src/pro/mexc.js +13 -13
  460. package/js/src/pro/modetrade.d.ts +8 -8
  461. package/js/src/pro/modetrade.js +13 -11
  462. package/js/src/pro/ndax.d.ts +3 -3
  463. package/js/src/pro/ndax.js +3 -3
  464. package/js/src/pro/okx.d.ts +25 -25
  465. package/js/src/pro/okx.js +25 -25
  466. package/js/src/pro/onetrading.d.ts +6 -6
  467. package/js/src/pro/onetrading.js +6 -6
  468. package/js/src/pro/oxfun.d.ts +13 -13
  469. package/js/src/pro/oxfun.js +13 -13
  470. package/js/src/pro/p2b.d.ts +5 -5
  471. package/js/src/pro/p2b.js +5 -5
  472. package/js/src/pro/paradex.d.ts +8 -8
  473. package/js/src/pro/paradex.js +8 -8
  474. package/js/src/pro/phemex.d.ts +7 -7
  475. package/js/src/pro/phemex.js +7 -7
  476. package/js/src/pro/poloniex.d.ts +8 -8
  477. package/js/src/pro/poloniex.js +8 -8
  478. package/js/src/pro/probit.d.ts +6 -6
  479. package/js/src/pro/probit.js +6 -6
  480. package/js/src/pro/toobit.d.ts +9 -9
  481. package/js/src/pro/toobit.js +20 -16
  482. package/js/src/pro/upbit.d.ts +9 -9
  483. package/js/src/pro/upbit.js +9 -9
  484. package/js/src/pro/whitebit.d.ts +7 -7
  485. package/js/src/pro/whitebit.js +7 -7
  486. package/js/src/pro/woo.d.ts +13 -13
  487. package/js/src/pro/woo.js +18 -16
  488. package/js/src/pro/woofipro.d.ts +20 -20
  489. package/js/src/pro/woofipro.js +25 -23
  490. package/js/src/pro/xt.d.ts +2 -2
  491. package/js/src/pro/xt.js +7 -5
  492. package/js/src/probit.d.ts +18 -18
  493. package/js/src/probit.js +18 -18
  494. package/js/src/static_dependencies/ethers/utils/index.d.ts +2 -1
  495. package/js/src/static_dependencies/ethers/utils/index.js +8 -1
  496. package/js/src/timex.d.ts +16 -16
  497. package/js/src/timex.js +16 -16
  498. package/js/src/tokocrypto.d.ts +17 -17
  499. package/js/src/tokocrypto.js +17 -17
  500. package/js/src/toobit.d.ts +27 -27
  501. package/js/src/toobit.js +33 -30
  502. package/js/src/upbit.d.ts +23 -23
  503. package/js/src/upbit.js +23 -23
  504. package/js/src/wavesexchange.d.ts +15 -15
  505. package/js/src/wavesexchange.js +86 -85
  506. package/js/src/whitebit.d.ts +44 -44
  507. package/js/src/whitebit.js +44 -44
  508. package/js/src/woo.d.ts +45 -45
  509. package/js/src/woo.js +51 -49
  510. package/js/src/woofipro.d.ts +77 -77
  511. package/js/src/woofipro.js +104 -82
  512. package/js/src/xt.d.ts +12 -12
  513. package/js/src/xt.js +17 -12
  514. package/js/src/yobit.d.ts +15 -15
  515. package/js/src/yobit.js +15 -15
  516. package/js/src/zaif.d.ts +9 -9
  517. package/js/src/zaif.js +38 -9
  518. package/js/src/zebpay.d.ts +20 -20
  519. package/js/src/zebpay.js +35 -20
  520. package/js/src/zonda.d.ts +14 -14
  521. package/js/src/zonda.js +14 -14
  522. package/package.json +1 -1
@@ -385,7 +385,7 @@ export default class hyperliquid extends Exchange {
385
385
  * @name hyperliquid#fetchStatus
386
386
  * @description the latest known information on the availability of the exchange API
387
387
  * @param {object} [params] extra parameters specific to the exchange API endpoint
388
- * @returns {object} a [status structure]{@link https://docs.ccxt.com/#/?id=exchange-status-structure}
388
+ * @returns {object} a [status structure]{@link https://docs.ccxt.com/?id=exchange-status-structure}
389
389
  */
390
390
  async fetchStatus(params = {}) {
391
391
  const request = {
@@ -579,17 +579,24 @@ export default class hyperliquid extends Exchange {
579
579
  let fetchDexesList = [];
580
580
  const options = this.safeDict(this.options, 'fetchMarkets', {});
581
581
  const hip3 = this.safeDict(options, 'hip3', {});
582
- const dexesProvided = this.safeList(hip3, 'dexes'); // let users provide their own list of dexes to load
582
+ const dexesProvided = this.safeList(hip3, 'dexes', []); // let users provide their own list of dexes to load
583
583
  const maxLimit = this.safeInteger(hip3, 'limit', 10);
584
- if (dexesProvided !== undefined) {
585
- const userProvidedDexesLength = dexesProvided.length;
584
+ const userProvidedDexesLength = dexesProvided.length;
585
+ if (userProvidedDexesLength > 0) {
586
586
  if (userProvidedDexesLength > 0) {
587
587
  fetchDexesList = dexesProvided;
588
588
  }
589
589
  }
590
590
  else {
591
+ const fetchDexesLength = fetchDexes.length;
591
592
  for (let i = 1; i < maxLimit; i++) {
593
+ if (i >= fetchDexesLength) {
594
+ break;
595
+ }
592
596
  const dex = this.safeDict(fetchDexes, i, {});
597
+ if (dex === undefined) {
598
+ continue;
599
+ }
593
600
  const dexName = this.safeString(dex, 'name');
594
601
  fetchDexesList.push(dexName);
595
602
  }
@@ -1068,7 +1075,7 @@ export default class hyperliquid extends Exchange {
1068
1075
  * @param {string} [params.marginMode] 'cross' or 'isolated', for margin trading, uses this.options.defaultMarginMode if not passed, defaults to undefined/None/null
1069
1076
  * @param {string} [params.dex] for hip3 markets, the dex name, eg: 'xyz'
1070
1077
  * @param {string} [params.subAccountAddress] sub account user address
1071
- * @returns {object} a [balance structure]{@link https://docs.ccxt.com/#/?id=balance-structure}
1078
+ * @returns {object} a [balance structure]{@link https://docs.ccxt.com/?id=balance-structure}
1072
1079
  */
1073
1080
  async fetchBalance(params = {}) {
1074
1081
  let userAddress = undefined;
@@ -1160,7 +1167,7 @@ export default class hyperliquid extends Exchange {
1160
1167
  * @param {string} symbol unified symbol of the market to fetch the order book for
1161
1168
  * @param {int} [limit] the maximum amount of order book entries to return
1162
1169
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1163
- * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
1170
+ * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/?id=order-book-structure} indexed by market symbols
1164
1171
  */
1165
1172
  async fetchOrderBook(symbol, limit = undefined, params = {}) {
1166
1173
  await this.loadMarkets();
@@ -1210,7 +1217,7 @@ export default class hyperliquid extends Exchange {
1210
1217
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1211
1218
  * @param {string} [params.type] 'spot' or 'swap', by default fetches both
1212
1219
  * @param {boolean} [params.hip3] set to true to fetch hip3 markets only
1213
- * @returns {object} a dictionary of [ticker structures]{@link https://docs.ccxt.com/#/?id=ticker-structure}
1220
+ * @returns {object} a dictionary of [ticker structures]{@link https://docs.ccxt.com/?id=ticker-structure}
1214
1221
  */
1215
1222
  async fetchTickers(symbols = undefined, params = {}) {
1216
1223
  await this.loadMarkets();
@@ -1491,7 +1498,7 @@ export default class hyperliquid extends Exchange {
1491
1498
  * @param {string} [params.address] wallet address that made trades
1492
1499
  * @param {string} [params.user] wallet address that made trades
1493
1500
  * @param {string} [params.subAccountAddress] sub account user address
1494
- * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=trade-structure}
1501
+ * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/?id=trade-structure}
1495
1502
  */
1496
1503
  async fetchTrades(symbol, since = undefined, limit = undefined, params = {}) {
1497
1504
  let userAddress = undefined;
@@ -1574,7 +1581,7 @@ export default class hyperliquid extends Exchange {
1574
1581
  'connectionId': hash,
1575
1582
  };
1576
1583
  }
1577
- actionHash(action, vaultAddress, nonce) {
1584
+ actionHash(action, vaultAddress, nonce, expiresAfter = undefined) {
1578
1585
  const dataBinary = this.packb(action);
1579
1586
  const dataHex = this.binaryToBase16(dataBinary);
1580
1587
  let data = dataHex;
@@ -1586,10 +1593,14 @@ export default class hyperliquid extends Exchange {
1586
1593
  data += '01';
1587
1594
  data += vaultAddress;
1588
1595
  }
1596
+ if (expiresAfter !== undefined) {
1597
+ data += '00';
1598
+ data += '00000' + this.intToBase16(expiresAfter);
1599
+ }
1589
1600
  return this.hash(this.base16ToBinary(data), keccak, 'binary');
1590
1601
  }
1591
- signL1Action(action, nonce, vaultAdress = undefined) {
1592
- const hash = this.actionHash(action, vaultAdress, nonce);
1602
+ signL1Action(action, nonce, vaultAdress = undefined, expiresAfter = undefined) {
1603
+ const hash = this.actionHash(action, vaultAdress, nonce, expiresAfter);
1593
1604
  const isTestnet = this.safeBool(this.options, 'sandboxMode', false);
1594
1605
  const phantomAgent = this.constructPhantomAgent(hash, isTestnet);
1595
1606
  // const data: Dict = {
@@ -1844,7 +1855,7 @@ export default class hyperliquid extends Exchange {
1844
1855
  * @param {string} [params.slippage] the slippage for market order
1845
1856
  * @param {string} [params.vaultAddress] the vault address for order
1846
1857
  * @param {string} [params.subAccountAddress] sub account user address
1847
- * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
1858
+ * @returns {object} an [order structure]{@link https://docs.ccxt.com/?id=order-structure}
1848
1859
  */
1849
1860
  async createOrder(symbol, type, side, amount, price = undefined, params = {}) {
1850
1861
  await this.loadMarkets();
@@ -1859,7 +1870,7 @@ export default class hyperliquid extends Exchange {
1859
1870
  * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/exchange-endpoint#place-an-order
1860
1871
  * @param {Array} orders list of orders to create, each object should contain the parameters required by createOrder, namely symbol, type, side, amount, price and params
1861
1872
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1862
- * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
1873
+ * @returns {object} an [order structure]{@link https://docs.ccxt.com/?id=order-structure}
1863
1874
  */
1864
1875
  async createOrders(orders, params = {}) {
1865
1876
  await this.loadMarkets();
@@ -1973,7 +1984,7 @@ export default class hyperliquid extends Exchange {
1973
1984
  * @description create a list of trade orders
1974
1985
  * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/exchange-endpoint#place-an-order
1975
1986
  * @param {Array} orders list of orders to create, each object should contain the parameters required by createOrder, namely symbol, type, side, amount, price and params
1976
- * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
1987
+ * @returns {object} an [order structure]{@link https://docs.ccxt.com/?id=order-structure}
1977
1988
  */
1978
1989
  this.checkRequiredCredentials();
1979
1990
  let defaultSlippage = this.safeString(this.options, 'defaultSlippage');
@@ -2015,11 +2026,12 @@ export default class hyperliquid extends Exchange {
2015
2026
  orderParams['slippage'] = slippage;
2016
2027
  const stopLoss = this.safeValue(orderParams, 'stopLoss');
2017
2028
  const takeProfit = this.safeValue(orderParams, 'takeProfit');
2018
- const isTrigger = (stopLoss || takeProfit);
2029
+ const hasStopLoss = (stopLoss !== undefined);
2030
+ const hasTakeProfit = (takeProfit !== undefined);
2019
2031
  orderParams = this.omit(orderParams, ['stopLoss', 'takeProfit']);
2020
2032
  const mainOrderObj = this.createOrderRequest(symbol, type, side, amount, price, orderParams);
2021
2033
  orderReq.push(mainOrderObj);
2022
- if (isTrigger) {
2034
+ if (hasStopLoss || hasTakeProfit) {
2023
2035
  // grouping opposed orders for sl/tp
2024
2036
  const stopLossOrderTriggerPrice = this.safeStringN(stopLoss, ['triggerPrice', 'stopPrice']);
2025
2037
  const stopLossOrderType = this.safeString(stopLoss, 'type', 'limit');
@@ -2036,14 +2048,14 @@ export default class hyperliquid extends Exchange {
2036
2048
  else {
2037
2049
  triggerOrderSide = 'buy';
2038
2050
  }
2039
- if (takeProfit !== undefined) {
2051
+ if (hasTakeProfit) {
2040
2052
  const orderObj = this.createOrderRequest(symbol, takeProfitOrderType, triggerOrderSide, amount, takeProfitOrderLimitPrice, this.extend(orderParams, {
2041
2053
  'takeProfitPrice': takeProfitOrderTriggerPrice,
2042
2054
  'reduceOnly': true,
2043
2055
  }));
2044
2056
  orderReq.push(orderObj);
2045
2057
  }
2046
- if (stopLoss !== undefined) {
2058
+ if (hasStopLoss) {
2047
2059
  const orderObj = this.createOrderRequest(symbol, stopLossOrderType, triggerOrderSide, amount, stopLossOrderLimitPrice, this.extend(orderParams, {
2048
2060
  'stopLossPrice': stopLossOrderTriggerPrice,
2049
2061
  'reduceOnly': true,
@@ -2089,7 +2101,7 @@ export default class hyperliquid extends Exchange {
2089
2101
  * @param {string} [params.clientOrderId] client order id, (optional 128 bit hex string e.g. 0x1234567890abcdef1234567890abcdef)
2090
2102
  * @param {string} [params.vaultAddress] the vault address for order
2091
2103
  * @param {string} [params.subAccountAddress] sub account user address
2092
- * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
2104
+ * @returns {object} An [order structure]{@link https://docs.ccxt.com/?id=order-structure}
2093
2105
  */
2094
2106
  async cancelOrder(id, symbol = undefined, params = {}) {
2095
2107
  const orders = await this.cancelOrders([id], symbol, params);
@@ -2107,7 +2119,7 @@ export default class hyperliquid extends Exchange {
2107
2119
  * @param {string|string[]} [params.clientOrderId] client order ids, (optional 128 bit hex string e.g. 0x1234567890abcdef1234567890abcdef)
2108
2120
  * @param {string} [params.vaultAddress] the vault address
2109
2121
  * @param {string} [params.subAccountAddress] sub account user address
2110
- * @returns {object} an list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
2122
+ * @returns {object} an list of [order structures]{@link https://docs.ccxt.com/?id=order-structure}
2111
2123
  */
2112
2124
  async cancelOrders(ids, symbol = undefined, params = {}) {
2113
2125
  this.checkRequiredCredentials();
@@ -2214,7 +2226,7 @@ export default class hyperliquid extends Exchange {
2214
2226
  * @param {object} [params] extra parameters specific to the exchange API endpoint
2215
2227
  * @param {string} [params.vaultAddress] the vault address
2216
2228
  * @param {string} [params.subAccountAddress] sub account user address
2217
- * @returns {object} an list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
2229
+ * @returns {object} an list of [order structures]{@link https://docs.ccxt.com/?id=order-structure}
2218
2230
  */
2219
2231
  async cancelOrdersForSymbols(orders, params = {}) {
2220
2232
  this.checkRequiredCredentials();
@@ -2466,7 +2478,7 @@ export default class hyperliquid extends Exchange {
2466
2478
  * @param {string} [params.clientOrderId] client order id, (optional 128 bit hex string e.g. 0x1234567890abcdef1234567890abcdef)
2467
2479
  * @param {string} [params.vaultAddress] the vault address for order
2468
2480
  * @param {string} [params.subAccountAddress] sub account user address
2469
- * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
2481
+ * @returns {object} an [order structure]{@link https://docs.ccxt.com/?id=order-structure}
2470
2482
  */
2471
2483
  async editOrder(id, symbol, type, side, amount = undefined, price = undefined, params = {}) {
2472
2484
  await this.loadMarkets();
@@ -2484,7 +2496,7 @@ export default class hyperliquid extends Exchange {
2484
2496
  * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/exchange-endpoint#modify-multiple-orders
2485
2497
  * @param {Array} orders list of orders to create, each object should contain the parameters required by createOrder, namely symbol, type, side, amount, price and params
2486
2498
  * @param {object} [params] extra parameters specific to the exchange API endpoint
2487
- * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
2499
+ * @returns {object} an [order structure]{@link https://docs.ccxt.com/?id=order-structure}
2488
2500
  */
2489
2501
  async editOrders(orders, params = {}) {
2490
2502
  await this.loadMarkets();
@@ -2578,10 +2590,10 @@ export default class hyperliquid extends Exchange {
2578
2590
  * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#retrieve-historical-funding-rates
2579
2591
  * @param {string} symbol unified symbol of the market to fetch the funding rate history for
2580
2592
  * @param {int} [since] timestamp in ms of the earliest funding rate to fetch
2581
- * @param {int} [limit] the maximum amount of [funding rate structures]{@link https://docs.ccxt.com/#/?id=funding-rate-history-structure} to fetch
2593
+ * @param {int} [limit] the maximum amount of [funding rate structures]{@link https://docs.ccxt.com/?id=funding-rate-history-structure} to fetch
2582
2594
  * @param {object} [params] extra parameters specific to the exchange API endpoint
2583
2595
  * @param {int} [params.until] timestamp in ms of the latest funding rate
2584
- * @returns {object[]} a list of [funding rate structures]{@link https://docs.ccxt.com/#/?id=funding-rate-history-structure}
2596
+ * @returns {object[]} a list of [funding rate structures]{@link https://docs.ccxt.com/?id=funding-rate-history-structure}
2585
2597
  */
2586
2598
  async fetchFundingRateHistory(symbol = undefined, since = undefined, limit = undefined, params = {}) {
2587
2599
  await this.loadMarkets();
@@ -2653,7 +2665,7 @@ export default class hyperliquid extends Exchange {
2653
2665
  * @param {string} [params.method] 'openOrders' or 'frontendOpenOrders' default is 'frontendOpenOrders'
2654
2666
  * @param {string} [params.subAccountAddress] sub account user address
2655
2667
  * @param {string} [params.dex] perp dex name. default is null
2656
- * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
2668
+ * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/?id=order-structure}
2657
2669
  */
2658
2670
  async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
2659
2671
  let userAddress = undefined;
@@ -2708,7 +2720,7 @@ export default class hyperliquid extends Exchange {
2708
2720
  * @param {int} [limit] the maximum number of open orders structures to retrieve
2709
2721
  * @param {object} [params] extra parameters specific to the exchange API endpoint
2710
2722
  * @param {string} [params.user] user address, will default to this.walletAddress if not provided
2711
- * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
2723
+ * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/?id=order-structure}
2712
2724
  */
2713
2725
  async fetchClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
2714
2726
  await this.loadMarkets();
@@ -2725,7 +2737,7 @@ export default class hyperliquid extends Exchange {
2725
2737
  * @param {int} [limit] the maximum number of open orders structures to retrieve
2726
2738
  * @param {object} [params] extra parameters specific to the exchange API endpoint
2727
2739
  * @param {string} [params.user] user address, will default to this.walletAddress if not provided
2728
- * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
2740
+ * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/?id=order-structure}
2729
2741
  */
2730
2742
  async fetchCanceledOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
2731
2743
  await this.loadMarkets();
@@ -2742,7 +2754,7 @@ export default class hyperliquid extends Exchange {
2742
2754
  * @param {int} [limit] the maximum number of open orders structures to retrieve
2743
2755
  * @param {object} [params] extra parameters specific to the exchange API endpoint
2744
2756
  * @param {string} [params.user] user address, will default to this.walletAddress if not provided
2745
- * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
2757
+ * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/?id=order-structure}
2746
2758
  */
2747
2759
  async fetchCanceledAndClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
2748
2760
  await this.loadMarkets();
@@ -2761,7 +2773,7 @@ export default class hyperliquid extends Exchange {
2761
2773
  * @param {string} [params.user] user address, will default to this.walletAddress if not provided
2762
2774
  * @param {string} [params.subAccountAddress] sub account user address
2763
2775
  * @param {string} [params.dex] perp dex name. default is null
2764
- * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
2776
+ * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/?id=order-structure}
2765
2777
  */
2766
2778
  async fetchOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
2767
2779
  let userAddress = undefined;
@@ -2807,7 +2819,7 @@ export default class hyperliquid extends Exchange {
2807
2819
  * @param {string} [params.clientOrderId] client order id, (optional 128 bit hex string e.g. 0x1234567890abcdef1234567890abcdef)
2808
2820
  * @param {string} [params.user] user address, will default to this.walletAddress if not provided
2809
2821
  * @param {string} [params.subAccountAddress] sub account user address
2810
- * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
2822
+ * @returns {object} An [order structure]{@link https://docs.ccxt.com/?id=order-structure}
2811
2823
  */
2812
2824
  async fetchOrder(id, symbol = undefined, params = {}) {
2813
2825
  let userAddress = undefined;
@@ -3060,7 +3072,7 @@ export default class hyperliquid extends Exchange {
3060
3072
  * @param {object} [params] extra parameters specific to the exchange API endpoint
3061
3073
  * @param {int} [params.until] timestamp in ms of the latest trade
3062
3074
  * @param {string} [params.subAccountAddress] sub account user address
3063
- * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=trade-structure}
3075
+ * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/?id=trade-structure}
3064
3076
  */
3065
3077
  async fetchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
3066
3078
  let userAddress = undefined;
@@ -3174,7 +3186,7 @@ export default class hyperliquid extends Exchange {
3174
3186
  * @param {string} symbol unified market symbol of the market the position is held in
3175
3187
  * @param {object} [params] extra parameters specific to the exchange API endpoint
3176
3188
  * @param {string} [params.user] user address, will default to this.walletAddress if not provided
3177
- * @returns {object} a [position structure]{@link https://docs.ccxt.com/#/?id=position-structure}
3189
+ * @returns {object} a [position structure]{@link https://docs.ccxt.com/?id=position-structure}
3178
3190
  */
3179
3191
  async fetchPosition(symbol, params = {}) {
3180
3192
  const positions = await this.fetchPositions([symbol], params);
@@ -3214,7 +3226,7 @@ export default class hyperliquid extends Exchange {
3214
3226
  * @param {string} [params.user] user address, will default to this.walletAddress if not provided
3215
3227
  * @param {string} [params.subAccountAddress] sub account user address
3216
3228
  * @param {string} [params.dex] perp dex name, eg: XYZ
3217
- * @returns {object[]} a list of [position structure]{@link https://docs.ccxt.com/#/?id=position-structure}
3229
+ * @returns {object[]} a list of [position structure]{@link https://docs.ccxt.com/?id=position-structure}
3218
3230
  */
3219
3231
  async fetchPositions(symbols = undefined, params = {}) {
3220
3232
  await this.loadMarkets();
@@ -3483,7 +3495,7 @@ export default class hyperliquid extends Exchange {
3483
3495
  * @param {object} [params] extra parameters specific to the exchange API endpoint
3484
3496
  * @param {string} [params.vaultAddress] the vault address
3485
3497
  * @param {string} [params.subAccountAddress] sub account user address
3486
- * @returns {object} a [margin structure]{@link https://docs.ccxt.com/#/?id=add-margin-structure}
3498
+ * @returns {object} a [margin structure]{@link https://docs.ccxt.com/?id=add-margin-structure}
3487
3499
  */
3488
3500
  async addMargin(symbol, amount, params = {}) {
3489
3501
  return await this.modifyMarginHelper(symbol, amount, 'add', params);
@@ -3498,7 +3510,7 @@ export default class hyperliquid extends Exchange {
3498
3510
  * @param {object} [params] extra parameters specific to the exchange API endpoint
3499
3511
  * @param {string} [params.vaultAddress] the vault address
3500
3512
  * @param {string} [params.subAccountAddress] sub account user address
3501
- * @returns {object} a [margin structure]{@link https://docs.ccxt.com/#/?id=reduce-margin-structure}
3513
+ * @returns {object} a [margin structure]{@link https://docs.ccxt.com/?id=reduce-margin-structure}
3502
3514
  */
3503
3515
  async reduceMargin(symbol, amount, params = {}) {
3504
3516
  return await this.modifyMarginHelper(symbol, amount, 'reduce', params);
@@ -3574,7 +3586,7 @@ export default class hyperliquid extends Exchange {
3574
3586
  * @param {string} toAccount account to transfer to *swap, spot or address*
3575
3587
  * @param {object} [params] extra parameters specific to the exchange API endpoint
3576
3588
  * @param {string} [params.vaultAddress] the vault address for order
3577
- * @returns {object} a [transfer structure]{@link https://docs.ccxt.com/#/?id=transfer-structure}
3589
+ * @returns {object} a [transfer structure]{@link https://docs.ccxt.com/?id=transfer-structure}
3578
3590
  */
3579
3591
  async transfer(code, amount, fromAccount, toAccount, params = {}) {
3580
3592
  this.checkRequiredCredentials();
@@ -3698,7 +3710,7 @@ export default class hyperliquid extends Exchange {
3698
3710
  * @param {string} tag
3699
3711
  * @param {object} [params] extra parameters specific to the exchange API endpoint
3700
3712
  * @param {string} [params.vaultAddress] vault address withdraw from
3701
- * @returns {object} a [transaction structure]{@link https://docs.ccxt.com/#/?id=transaction-structure}
3713
+ * @returns {object} a [transaction structure]{@link https://docs.ccxt.com/?id=transaction-structure}
3702
3714
  */
3703
3715
  async withdraw(code, amount, address, tag = undefined, params = {}) {
3704
3716
  this.checkRequiredCredentials();
@@ -3813,7 +3825,7 @@ export default class hyperliquid extends Exchange {
3813
3825
  * @param {object} [params] extra parameters specific to the exchange API endpoint
3814
3826
  * @param {string} [params.user] user address, will default to this.walletAddress if not provided
3815
3827
  * @param {string} [params.subAccountAddress] sub account user address
3816
- * @returns {object} a [fee structure]{@link https://docs.ccxt.com/#/?id=fee-structure}
3828
+ * @returns {object} a [fee structure]{@link https://docs.ccxt.com/?id=fee-structure}
3817
3829
  */
3818
3830
  async fetchTradingFee(symbol, params = {}) {
3819
3831
  await this.loadMarkets();
@@ -3922,7 +3934,7 @@ export default class hyperliquid extends Exchange {
3922
3934
  * @param {object} [params] extra parameters specific to the exchange API endpoint
3923
3935
  * @param {int} [params.until] timestamp in ms of the latest ledger entry
3924
3936
  * @param {string} [params.subAccountAddress] sub account user address
3925
- * @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger}
3937
+ * @returns {object} a [ledger structure]{@link https://docs.ccxt.com/?id=ledger}
3926
3938
  */
3927
3939
  async fetchLedger(code = undefined, since = undefined, limit = undefined, params = {}) {
3928
3940
  await this.loadMarkets();
@@ -4016,7 +4028,7 @@ export default class hyperliquid extends Exchange {
4016
4028
  * @param {int} [params.until] the latest time in ms to fetch withdrawals for
4017
4029
  * @param {string} [params.subAccountAddress] sub account user address
4018
4030
  * @param {string} [params.vaultAddress] vault address
4019
- * @returns {object[]} a list of [transaction structures]{@link https://docs.ccxt.com/#/?id=transaction-structure}
4031
+ * @returns {object[]} a list of [transaction structures]{@link https://docs.ccxt.com/?id=transaction-structure}
4020
4032
  */
4021
4033
  async fetchDeposits(code = undefined, since = undefined, limit = undefined, params = {}) {
4022
4034
  await this.loadMarkets();
@@ -4083,7 +4095,7 @@ export default class hyperliquid extends Exchange {
4083
4095
  * @param {int} [params.until] the latest time in ms to fetch withdrawals for
4084
4096
  * @param {string} [params.subAccountAddress] sub account user address
4085
4097
  * @param {string} [params.vaultAddress] vault address
4086
- * @returns {object[]} a list of [transaction structures]{@link https://docs.ccxt.com/#/?id=transaction-structure}
4098
+ * @returns {object[]} a list of [transaction structures]{@link https://docs.ccxt.com/?id=transaction-structure}
4087
4099
  */
4088
4100
  async fetchWithdrawals(code = undefined, since = undefined, limit = undefined, params = {}) {
4089
4101
  await this.loadMarkets();
@@ -4142,7 +4154,7 @@ export default class hyperliquid extends Exchange {
4142
4154
  * @description Retrieves the open interest for a list of symbols
4143
4155
  * @param {string[]} [symbols] Unified CCXT market symbol
4144
4156
  * @param {object} [params] exchange specific parameters
4145
- * @returns {object} an open interest structure{@link https://docs.ccxt.com/#/?id=open-interest-structure}
4157
+ * @returns {object} an open interest structure{@link https://docs.ccxt.com/?id=open-interest-structure}
4146
4158
  */
4147
4159
  async fetchOpenInterests(symbols = undefined, params = {}) {
4148
4160
  await this.loadMarkets();
@@ -4156,7 +4168,7 @@ export default class hyperliquid extends Exchange {
4156
4168
  * @description retrieves the open interest of a contract trading pair
4157
4169
  * @param {string} symbol unified CCXT market symbol
4158
4170
  * @param {object} [params] exchange specific parameters
4159
- * @returns {object} an [open interest structure]{@link https://docs.ccxt.com/#/?id=open-interest-structure}
4171
+ * @returns {object} an [open interest structure]{@link https://docs.ccxt.com/?id=open-interest-structure}
4160
4172
  */
4161
4173
  async fetchOpenInterest(symbol, params = {}) {
4162
4174
  symbol = this.symbol(symbol);
@@ -4207,7 +4219,7 @@ export default class hyperliquid extends Exchange {
4207
4219
  * @param {int} [limit] the maximum number of funding history structures to retrieve
4208
4220
  * @param {object} [params] extra parameters specific to the exchange API endpoint
4209
4221
  * @param {string} [params.subAccountAddress] sub account user address
4210
- * @returns {object} a [funding history structure]{@link https://docs.ccxt.com/#/?id=funding-history-structure}
4222
+ * @returns {object} a [funding history structure]{@link https://docs.ccxt.com/?id=funding-history-structure}
4211
4223
  */
4212
4224
  async fetchFundingHistory(symbol = undefined, since = undefined, limit = undefined, params = {}) {
4213
4225
  await this.loadMarkets();
@@ -4307,6 +4319,35 @@ export default class hyperliquid extends Exchange {
4307
4319
  const response = await this.privatePostExchange(this.extend(request, params));
4308
4320
  return response;
4309
4321
  }
4322
+ /**
4323
+ * @method
4324
+ * @name hyperliquid#createAccount
4325
+ * @description creates a sub-account under the main account
4326
+ * @param {string} name the name of the sub-account
4327
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
4328
+ * @param {int} [params.expiresAfter] time in ms after which the sub-account will expire
4329
+ * @returns {object} a response object
4330
+ */
4331
+ async createSubAccount(name, params = {}) {
4332
+ const nonce = this.milliseconds();
4333
+ const request = {
4334
+ 'nonce': nonce,
4335
+ };
4336
+ const action = {
4337
+ 'type': 'createSubAccount',
4338
+ 'name': name,
4339
+ };
4340
+ const expiresAfter = this.safeInteger(params, 'expiresAfter');
4341
+ if (expiresAfter !== undefined) {
4342
+ params = this.omit(params, 'expiresAfter');
4343
+ request['expiresAfter'] = expiresAfter;
4344
+ }
4345
+ const signature = this.signL1Action(action, nonce, undefined, expiresAfter);
4346
+ request['action'] = action;
4347
+ request['signature'] = signature;
4348
+ const response = await this.privatePostExchange(this.extend(request, params));
4349
+ return response;
4350
+ }
4310
4351
  extractTypeFromDelta(data = []) {
4311
4352
  const records = [];
4312
4353
  for (let i = 0; i < data.length; i++) {
@@ -20,7 +20,7 @@ export default class independentreserve extends Exchange {
20
20
  * @name independentreserve#fetchBalance
21
21
  * @description query for balance and get the amount of funds available for trading or funds locked in orders
22
22
  * @param {object} [params] extra parameters specific to the exchange API endpoint
23
- * @returns {object} a [balance structure]{@link https://docs.ccxt.com/#/?id=balance-structure}
23
+ * @returns {object} a [balance structure]{@link https://docs.ccxt.com/?id=balance-structure}
24
24
  */
25
25
  fetchBalance(params?: {}): Promise<Balances>;
26
26
  /**
@@ -30,7 +30,7 @@ export default class independentreserve extends Exchange {
30
30
  * @param {string} symbol unified symbol of the market to fetch the order book for
31
31
  * @param {int} [limit] the maximum amount of order book entries to return
32
32
  * @param {object} [params] extra parameters specific to the exchange API endpoint
33
- * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
33
+ * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/?id=order-book-structure} indexed by market symbols
34
34
  */
35
35
  fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
36
36
  parseTicker(ticker: Dict, market?: Market): Ticker;
@@ -40,7 +40,7 @@ export default class independentreserve extends Exchange {
40
40
  * @description fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
41
41
  * @param {string} symbol unified symbol of the market to fetch the ticker for
42
42
  * @param {object} [params] extra parameters specific to the exchange API endpoint
43
- * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
43
+ * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/?id=ticker-structure}
44
44
  */
45
45
  fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
46
46
  parseOrder(order: Dict, market?: Market): Order;
@@ -52,7 +52,7 @@ export default class independentreserve extends Exchange {
52
52
  * @param {string} id order id
53
53
  * @param {string} symbol unified symbol of the market the order was made in
54
54
  * @param {object} [params] extra parameters specific to the exchange API endpoint
55
- * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
55
+ * @returns {object} An [order structure]{@link https://docs.ccxt.com/?id=order-structure}
56
56
  */
57
57
  fetchOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
58
58
  /**
@@ -63,7 +63,7 @@ export default class independentreserve extends Exchange {
63
63
  * @param {int} [since] the earliest time in ms to fetch open orders for
64
64
  * @param {int} [limit] the maximum number of open orders structures to retrieve
65
65
  * @param {object} [params] extra parameters specific to the exchange API endpoint
66
- * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
66
+ * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/?id=order-structure}
67
67
  */
68
68
  fetchOpenOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
69
69
  /**
@@ -74,7 +74,7 @@ export default class independentreserve extends Exchange {
74
74
  * @param {int} [since] the earliest time in ms to fetch orders for
75
75
  * @param {int} [limit] the maximum number of order structures to retrieve
76
76
  * @param {object} [params] extra parameters specific to the exchange API endpoint
77
- * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
77
+ * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/?id=order-structure}
78
78
  */
79
79
  fetchClosedOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
80
80
  /**
@@ -85,7 +85,7 @@ export default class independentreserve extends Exchange {
85
85
  * @param {int} [since] the earliest time in ms to fetch trades for
86
86
  * @param {int} [limit] the maximum number of trades structures to retrieve
87
87
  * @param {object} [params] extra parameters specific to the exchange API endpoint
88
- * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=trade-structure}
88
+ * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/?id=trade-structure}
89
89
  */
90
90
  fetchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
91
91
  parseTrade(trade: Dict, market?: Market): Trade;
@@ -97,7 +97,7 @@ export default class independentreserve extends Exchange {
97
97
  * @param {int} [since] timestamp in ms of the earliest trade to fetch
98
98
  * @param {int} [limit] the maximum amount of trades to fetch
99
99
  * @param {object} [params] extra parameters specific to the exchange API endpoint
100
- * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=public-trades}
100
+ * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/?id=public-trades}
101
101
  */
102
102
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
103
103
  /**
@@ -105,7 +105,7 @@ export default class independentreserve extends Exchange {
105
105
  * @name independentreserve#fetchTradingFees
106
106
  * @description fetch the trading fees for multiple markets
107
107
  * @param {object} [params] extra parameters specific to the exchange API endpoint
108
- * @returns {object} a dictionary of [fee structures]{@link https://docs.ccxt.com/#/?id=fee-structure} indexed by market symbols
108
+ * @returns {object} a dictionary of [fee structures]{@link https://docs.ccxt.com/?id=fee-structure} indexed by market symbols
109
109
  */
110
110
  fetchTradingFees(params?: {}): Promise<TradingFees>;
111
111
  /**
@@ -118,7 +118,7 @@ export default class independentreserve extends Exchange {
118
118
  * @param {float} amount how much of currency you want to trade in units of base currency
119
119
  * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
120
120
  * @param {object} [params] extra parameters specific to the exchange API endpoint
121
- * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
121
+ * @returns {object} an [order structure]{@link https://docs.ccxt.com/?id=order-structure}
122
122
  */
123
123
  createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
124
124
  /**
@@ -129,7 +129,7 @@ export default class independentreserve extends Exchange {
129
129
  * @param {string} id order id
130
130
  * @param {string} symbol unified symbol of the market the order was made in
131
131
  * @param {object} [params] extra parameters specific to the exchange API endpoint
132
- * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
132
+ * @returns {object} An [order structure]{@link https://docs.ccxt.com/?id=order-structure}
133
133
  */
134
134
  cancelOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
135
135
  /**
@@ -139,7 +139,7 @@ export default class independentreserve extends Exchange {
139
139
  * @see https://www.independentreserve.com/features/api#GetDigitalCurrencyDepositAddress
140
140
  * @param {string} code unified currency code
141
141
  * @param {object} [params] extra parameters specific to the exchange API endpoint
142
- * @returns {object} an [address structure]{@link https://docs.ccxt.com/#/?id=address-structure}
142
+ * @returns {object} an [address structure]{@link https://docs.ccxt.com/?id=address-structure}
143
143
  */
144
144
  fetchDepositAddress(code: string, params?: {}): Promise<DepositAddress>;
145
145
  parseDepositAddress(depositAddress: any, currency?: Currency): DepositAddress;
@@ -156,7 +156,7 @@ export default class independentreserve extends Exchange {
156
156
  *
157
157
  * EXCHANGE SPECIFIC PARAMETERS
158
158
  * @param {object} [params.comment] withdrawal comment, should not exceed 500 characters
159
- * @returns {object} a [transaction structure]{@link https://docs.ccxt.com/#/?id=transaction-structure}
159
+ * @returns {object} a [transaction structure]{@link https://docs.ccxt.com/?id=transaction-structure}
160
160
  */
161
161
  withdraw(code: string, amount: number, address: string, tag?: Str, params?: {}): Promise<Transaction>;
162
162
  parseTransaction(transaction: Dict, currency?: Currency): Transaction;