ccxt 4.5.43 → 4.5.45

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 (1020) hide show
  1. package/README.md +23 -12
  2. package/dist/ccxt.browser.min.js +8 -8
  3. package/dist/cjs/ccxt.js +6 -12
  4. package/dist/cjs/src/abstract/aftermath.js +1 -1
  5. package/dist/cjs/src/abstract/alpaca.js +1 -1
  6. package/dist/cjs/src/abstract/apex.js +1 -1
  7. package/dist/cjs/src/abstract/arkham.js +1 -1
  8. package/dist/cjs/src/abstract/ascendex.js +1 -1
  9. package/dist/cjs/src/abstract/aster.js +1 -1
  10. package/dist/cjs/src/abstract/backpack.js +1 -1
  11. package/dist/cjs/src/abstract/bigone.js +1 -1
  12. package/dist/cjs/src/abstract/binance.js +1 -1
  13. package/dist/cjs/src/abstract/bingx.js +1 -1
  14. package/dist/cjs/src/abstract/bit2c.js +1 -1
  15. package/dist/cjs/src/abstract/bitbank.js +1 -1
  16. package/dist/cjs/src/abstract/bitbns.js +1 -1
  17. package/dist/cjs/src/abstract/bitfinex.js +1 -1
  18. package/dist/cjs/src/abstract/bitflyer.js +1 -1
  19. package/dist/cjs/src/abstract/bitget.js +1 -1
  20. package/dist/cjs/src/abstract/bithumb.js +1 -1
  21. package/dist/cjs/src/abstract/bitmart.js +1 -1
  22. package/dist/cjs/src/abstract/bitmex.js +1 -1
  23. package/dist/cjs/src/abstract/bitopro.js +1 -1
  24. package/dist/cjs/src/abstract/bitrue.js +1 -1
  25. package/dist/cjs/src/abstract/bitso.js +1 -1
  26. package/dist/cjs/src/abstract/bitstamp.js +1 -1
  27. package/dist/cjs/src/abstract/bitteam.js +1 -1
  28. package/dist/cjs/src/abstract/bittrade.js +1 -1
  29. package/dist/cjs/src/abstract/bitvavo.js +1 -1
  30. package/dist/cjs/src/abstract/blockchaincom.js +1 -1
  31. package/dist/cjs/src/abstract/blofin.js +1 -1
  32. package/dist/cjs/src/abstract/btcbox.js +1 -1
  33. package/dist/cjs/src/abstract/btcmarkets.js +1 -1
  34. package/dist/cjs/src/abstract/btcturk.js +1 -1
  35. package/dist/cjs/src/abstract/bullish.js +1 -1
  36. package/dist/cjs/src/abstract/bybit.js +1 -1
  37. package/dist/cjs/src/abstract/bydfi.js +1 -1
  38. package/dist/cjs/src/abstract/cex.js +1 -1
  39. package/dist/cjs/src/abstract/coinbase.js +1 -1
  40. package/dist/cjs/src/abstract/coinbaseexchange.js +1 -1
  41. package/dist/cjs/src/abstract/coinbaseinternational.js +1 -1
  42. package/dist/cjs/src/abstract/coincatch.js +1 -1
  43. package/dist/cjs/src/abstract/coincheck.js +1 -1
  44. package/dist/cjs/src/abstract/coinex.js +1 -1
  45. package/dist/cjs/src/abstract/coinmate.js +1 -1
  46. package/dist/cjs/src/abstract/coinmetro.js +1 -1
  47. package/dist/cjs/src/abstract/coinone.js +1 -1
  48. package/dist/cjs/src/abstract/coinsph.js +1 -1
  49. package/dist/cjs/src/abstract/coinspot.js +1 -1
  50. package/dist/cjs/src/abstract/cryptocom.js +1 -1
  51. package/dist/cjs/src/abstract/cryptomus.js +1 -1
  52. package/dist/cjs/src/abstract/deepcoin.js +1 -1
  53. package/dist/cjs/src/abstract/delta.js +1 -1
  54. package/dist/cjs/src/abstract/deribit.js +1 -1
  55. package/dist/cjs/src/abstract/derive.js +1 -1
  56. package/dist/cjs/src/abstract/digifinex.js +1 -1
  57. package/dist/cjs/src/abstract/dydx.js +1 -1
  58. package/dist/cjs/src/abstract/exmo.js +1 -1
  59. package/dist/cjs/src/abstract/foxbit.js +1 -1
  60. package/dist/cjs/src/abstract/gate.js +1 -1
  61. package/dist/cjs/src/abstract/gemini.js +1 -1
  62. package/dist/cjs/src/abstract/{alp.js → grvt.js} +1 -1
  63. package/dist/cjs/src/abstract/hashkey.js +1 -1
  64. package/dist/cjs/src/abstract/hibachi.js +1 -1
  65. package/dist/cjs/src/abstract/hitbtc.js +1 -1
  66. package/dist/cjs/src/abstract/hollaex.js +1 -1
  67. package/dist/cjs/src/abstract/htx.js +1 -1
  68. package/dist/cjs/src/abstract/hyperliquid.js +1 -1
  69. package/dist/cjs/src/abstract/independentreserve.js +1 -1
  70. package/dist/cjs/src/abstract/indodax.js +1 -1
  71. package/dist/cjs/src/abstract/kraken.js +1 -1
  72. package/dist/cjs/src/abstract/krakenfutures.js +1 -1
  73. package/dist/cjs/src/abstract/kucoin.js +1 -1
  74. package/dist/cjs/src/abstract/latoken.js +1 -1
  75. package/dist/cjs/src/abstract/lbank.js +1 -1
  76. package/dist/cjs/src/abstract/lighter.js +1 -1
  77. package/dist/cjs/src/abstract/luno.js +1 -1
  78. package/dist/cjs/src/abstract/mercado.js +1 -1
  79. package/dist/cjs/src/abstract/mexc.js +1 -1
  80. package/dist/cjs/src/abstract/modetrade.js +1 -1
  81. package/dist/cjs/src/abstract/ndax.js +1 -1
  82. package/dist/cjs/src/abstract/novadax.js +1 -1
  83. package/dist/cjs/src/abstract/okx.js +1 -1
  84. package/dist/cjs/src/abstract/onetrading.js +1 -1
  85. package/dist/cjs/src/abstract/oxfun.js +1 -1
  86. package/dist/cjs/src/abstract/p2b.js +1 -1
  87. package/dist/cjs/src/abstract/paradex.js +1 -1
  88. package/dist/cjs/src/abstract/paymium.js +1 -1
  89. package/dist/cjs/src/abstract/phemex.js +1 -1
  90. package/dist/cjs/src/abstract/poloniex.js +1 -1
  91. package/dist/cjs/src/abstract/tokocrypto.js +1 -1
  92. package/dist/cjs/src/abstract/toobit.js +1 -1
  93. package/dist/cjs/src/abstract/upbit.js +1 -1
  94. package/dist/cjs/src/abstract/wavesexchange.js +1 -1
  95. package/dist/cjs/src/abstract/whitebit.js +1 -1
  96. package/dist/cjs/src/abstract/woo.js +1 -1
  97. package/dist/cjs/src/abstract/woofipro.js +1 -1
  98. package/dist/cjs/src/abstract/xt.js +1 -1
  99. package/dist/cjs/src/abstract/yobit.js +1 -1
  100. package/dist/cjs/src/abstract/zaif.js +1 -1
  101. package/dist/cjs/src/abstract/zebpay.js +1 -1
  102. package/dist/cjs/src/abstract/zonda.js +1 -1
  103. package/dist/cjs/src/aftermath.js +0 -1
  104. package/dist/cjs/src/alpaca.js +1 -1
  105. package/dist/cjs/src/apex.js +1 -1
  106. package/dist/cjs/src/arkham.js +1 -1
  107. package/dist/cjs/src/ascendex.js +1 -1
  108. package/dist/cjs/src/aster.js +1 -1
  109. package/dist/cjs/src/backpack.js +1 -1
  110. package/dist/cjs/src/base/Exchange.js +37 -1
  111. package/dist/cjs/src/base/Precise.js +0 -6
  112. package/dist/cjs/src/base/errors.js +0 -6
  113. package/dist/cjs/src/base/functions/crypto.js +1 -1
  114. package/dist/cjs/src/base/functions/encode.js +3 -3
  115. package/dist/cjs/src/base/functions/generic.js +8 -2
  116. package/dist/cjs/src/base/functions/io.js +1 -1
  117. package/dist/cjs/src/base/functions/misc.js +0 -1
  118. package/dist/cjs/src/base/functions/number.js +0 -6
  119. package/dist/cjs/src/base/functions/platform.js +0 -6
  120. package/dist/cjs/src/base/functions/rsa.js +0 -1
  121. package/dist/cjs/src/base/functions/string.js +0 -6
  122. package/dist/cjs/src/base/functions/throttle.js +1 -1
  123. package/dist/cjs/src/base/functions/time.js +0 -6
  124. package/dist/cjs/src/base/functions/totp.js +0 -1
  125. package/dist/cjs/src/base/functions/type.js +0 -6
  126. package/dist/cjs/src/base/functions.js +1 -1
  127. package/dist/cjs/src/base/ws/Cache.js +0 -6
  128. package/dist/cjs/src/base/ws/Client.js +0 -1
  129. package/dist/cjs/src/base/ws/Future.js +1 -1
  130. package/dist/cjs/src/base/ws/OrderBook.js +1 -1
  131. package/dist/cjs/src/base/ws/OrderBookSide.js +0 -6
  132. package/dist/cjs/src/base/ws/WsClient.js +1 -1
  133. package/dist/cjs/src/bequant.js +1 -1
  134. package/dist/cjs/src/bigone.js +1 -1
  135. package/dist/cjs/src/binance.js +53 -3
  136. package/dist/cjs/src/binancecoinm.js +1 -1
  137. package/dist/cjs/src/binanceus.js +1 -1
  138. package/dist/cjs/src/binanceusdm.js +1 -1
  139. package/dist/cjs/src/bingx.js +1 -1
  140. package/dist/cjs/src/bit2c.js +1 -1
  141. package/dist/cjs/src/bitbank.js +1 -1
  142. package/dist/cjs/src/bitbns.js +1 -1
  143. package/dist/cjs/src/bitfinex.js +1 -1
  144. package/dist/cjs/src/bitflyer.js +1 -1
  145. package/dist/cjs/src/bitget.js +1 -1
  146. package/dist/cjs/src/bithumb.js +1 -1
  147. package/dist/cjs/src/bitmart.js +1 -1
  148. package/dist/cjs/src/bitmex.js +1 -1
  149. package/dist/cjs/src/bitopro.js +1 -1
  150. package/dist/cjs/src/bitrue.js +2 -2
  151. package/dist/cjs/src/bitso.js +1 -1
  152. package/dist/cjs/src/bitstamp.js +1 -1
  153. package/dist/cjs/src/bitteam.js +2 -2
  154. package/dist/cjs/src/bittrade.js +1 -1
  155. package/dist/cjs/src/bitvavo.js +1 -0
  156. package/dist/cjs/src/blockchaincom.js +1 -1
  157. package/dist/cjs/src/blofin.js +1 -1
  158. package/dist/cjs/src/btcbox.js +2 -2
  159. package/dist/cjs/src/btcmarkets.js +1 -1
  160. package/dist/cjs/src/btcturk.js +1 -1
  161. package/dist/cjs/src/bullish.js +1 -1
  162. package/dist/cjs/src/bybit.js +1 -1
  163. package/dist/cjs/src/bydfi.js +1 -1
  164. package/dist/cjs/src/cex.js +2 -1
  165. package/dist/cjs/src/coinbaseadvanced.js +1 -1
  166. package/dist/cjs/src/coincatch.js +4 -16
  167. package/dist/cjs/src/coincheck.js +1 -1
  168. package/dist/cjs/src/coinex.js +1 -1
  169. package/dist/cjs/src/coinmate.js +1 -1
  170. package/dist/cjs/src/coinmetro.js +1 -1
  171. package/dist/cjs/src/coinone.js +1 -1
  172. package/dist/cjs/src/coinsph.js +0 -1
  173. package/dist/cjs/src/coinspot.js +1 -1
  174. package/dist/cjs/src/cryptocom.js +1 -1
  175. package/dist/cjs/src/cryptomus.js +1 -1
  176. package/dist/cjs/src/deepcoin.js +2 -2
  177. package/dist/cjs/src/delta.js +1 -1
  178. package/dist/cjs/src/deribit.js +2 -2
  179. package/dist/cjs/src/derive.js +1 -1
  180. package/dist/cjs/src/digifinex.js +1 -1
  181. package/dist/cjs/src/dydx.js +1 -1
  182. package/dist/cjs/src/exmo.js +1 -1
  183. package/dist/cjs/src/fmfwio.js +1 -1
  184. package/dist/cjs/src/foxbit.js +1 -1
  185. package/dist/cjs/src/gate.js +244 -173
  186. package/dist/cjs/src/gateio.js +1 -1
  187. package/dist/cjs/src/gemini.js +1 -1
  188. package/dist/cjs/src/grvt.js +3280 -0
  189. package/dist/cjs/src/hashkey.js +1 -1
  190. package/dist/cjs/src/hibachi.js +1 -1
  191. package/dist/cjs/src/hitbtc.js +1 -1
  192. package/dist/cjs/src/hollaex.js +1 -1
  193. package/dist/cjs/src/htx.js +1 -1
  194. package/dist/cjs/src/huobi.js +1 -1
  195. package/dist/cjs/src/hyperliquid.js +32 -13
  196. package/dist/cjs/src/independentreserve.js +1 -1
  197. package/dist/cjs/src/indodax.js +1 -1
  198. package/dist/cjs/src/kraken.js +4 -3
  199. package/dist/cjs/src/krakenfutures.js +4 -14
  200. package/dist/cjs/src/kucoin.js +4730 -970
  201. package/dist/cjs/src/kucoinfutures.js +15 -3435
  202. package/dist/cjs/src/latoken.js +1 -1
  203. package/dist/cjs/src/lbank.js +2 -2
  204. package/dist/cjs/src/lighter.js +28 -1
  205. package/dist/cjs/src/luno.js +1 -1
  206. package/dist/cjs/src/mercado.js +1 -1
  207. package/dist/cjs/src/mexc.js +1 -1
  208. package/dist/cjs/src/modetrade.js +1 -1
  209. package/dist/cjs/src/myokx.js +1 -1
  210. package/dist/cjs/src/ndax.js +1 -1
  211. package/dist/cjs/src/novadax.js +1 -1
  212. package/dist/cjs/src/okx.js +1 -1
  213. package/dist/cjs/src/okxus.js +1 -1
  214. package/dist/cjs/src/onetrading.js +1 -1
  215. package/dist/cjs/src/oxfun.js +1 -1
  216. package/dist/cjs/src/p2b.js +1 -1
  217. package/dist/cjs/src/paradex.js +1 -1
  218. package/dist/cjs/src/paymium.js +1 -1
  219. package/dist/cjs/src/poloniex.js +2 -2
  220. package/dist/cjs/src/pro/alpaca.js +1 -1
  221. package/dist/cjs/src/pro/apex.js +1 -1
  222. package/dist/cjs/src/pro/arkham.js +1 -1
  223. package/dist/cjs/src/pro/ascendex.js +1 -1
  224. package/dist/cjs/src/pro/aster.js +1 -1
  225. package/dist/cjs/src/pro/backpack.js +1 -1
  226. package/dist/cjs/src/pro/bequant.js +1 -1
  227. package/dist/cjs/src/pro/binance.js +35 -14
  228. package/dist/cjs/src/pro/binancecoinm.js +1 -1
  229. package/dist/cjs/src/pro/binanceus.js +1 -1
  230. package/dist/cjs/src/pro/binanceusdm.js +1 -1
  231. package/dist/cjs/src/pro/bingx.js +1 -1
  232. package/dist/cjs/src/pro/bitfinex.js +1 -1
  233. package/dist/cjs/src/pro/bitget.js +1 -1
  234. package/dist/cjs/src/pro/bithumb.js +1 -1
  235. package/dist/cjs/src/pro/bitmart.js +1 -1
  236. package/dist/cjs/src/pro/bitmex.js +1 -1
  237. package/dist/cjs/src/pro/bitrue.js +1 -1
  238. package/dist/cjs/src/pro/bitstamp.js +1 -1
  239. package/dist/cjs/src/pro/bitvavo.js +1 -1
  240. package/dist/cjs/src/pro/blockchaincom.js +1 -1
  241. package/dist/cjs/src/pro/blofin.js +1 -1
  242. package/dist/cjs/src/pro/bullish.js +1 -1
  243. package/dist/cjs/src/pro/bybit.js +1 -1
  244. package/dist/cjs/src/pro/bydfi.js +1 -1
  245. package/dist/cjs/src/pro/cex.js +1 -1
  246. package/dist/cjs/src/pro/coinbase.js +1 -1
  247. package/dist/cjs/src/pro/coinbaseadvanced.js +1 -1
  248. package/dist/cjs/src/pro/coinbaseexchange.js +30 -25
  249. package/dist/cjs/src/pro/coinbaseinternational.js +1 -1
  250. package/dist/cjs/src/pro/coincatch.js +1 -1
  251. package/dist/cjs/src/pro/coincheck.js +1 -1
  252. package/dist/cjs/src/pro/coinex.js +1 -1
  253. package/dist/cjs/src/pro/coinone.js +1 -1
  254. package/dist/cjs/src/pro/cryptocom.js +1 -1
  255. package/dist/cjs/src/pro/deepcoin.js +1 -1
  256. package/dist/cjs/src/pro/deribit.js +1 -1
  257. package/dist/cjs/src/pro/dydx.js +1 -1
  258. package/dist/cjs/src/pro/exmo.js +1 -1
  259. package/dist/cjs/src/pro/gate.js +38 -2
  260. package/dist/cjs/src/pro/gateio.js +1 -1
  261. package/dist/cjs/src/pro/gemini.js +1 -1
  262. package/dist/cjs/src/pro/grvt.js +923 -0
  263. package/dist/cjs/src/pro/hashkey.js +1 -1
  264. package/dist/cjs/src/pro/hitbtc.js +1 -1
  265. package/dist/cjs/src/pro/hollaex.js +1 -1
  266. package/dist/cjs/src/pro/htx.js +1 -1
  267. package/dist/cjs/src/pro/huobi.js +1 -1
  268. package/dist/cjs/src/pro/hyperliquid.js +1 -1
  269. package/dist/cjs/src/pro/independentreserve.js +1 -1
  270. package/dist/cjs/src/pro/kraken.js +1 -1
  271. package/dist/cjs/src/pro/krakenfutures.js +1 -1
  272. package/dist/cjs/src/pro/kucoin.js +820 -179
  273. package/dist/cjs/src/pro/kucoinfutures.js +95 -1261
  274. package/dist/cjs/src/pro/lbank.js +0 -1
  275. package/dist/cjs/src/pro/lighter.js +1 -1
  276. package/dist/cjs/src/pro/luno.js +1 -1
  277. package/dist/cjs/src/pro/mexc.js +11 -6
  278. package/dist/cjs/src/pro/myokx.js +1 -1
  279. package/dist/cjs/src/pro/ndax.js +1 -1
  280. package/dist/cjs/src/pro/okx.js +85 -40
  281. package/dist/cjs/src/pro/okxus.js +1 -1
  282. package/dist/cjs/src/pro/onetrading.js +1 -1
  283. package/dist/cjs/src/pro/oxfun.js +1 -1
  284. package/dist/cjs/src/pro/p2b.js +1 -1
  285. package/dist/cjs/src/pro/paradex.js +1 -1
  286. package/dist/cjs/src/pro/phemex.js +1 -1
  287. package/dist/cjs/src/pro/poloniex.js +1 -1
  288. package/dist/cjs/src/pro/toobit.js +1 -1
  289. package/dist/cjs/src/pro/upbit.js +1 -1
  290. package/dist/cjs/src/pro/whitebit.js +1 -1
  291. package/dist/cjs/src/pro/xt.js +1 -1
  292. package/dist/cjs/src/protobuf/mexc/compiled.cjs.js +1 -0
  293. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/base/v1beta1/coin.js +0 -1
  294. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/crypto/multisig/v1beta1/multisig.js +0 -1
  295. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/crypto/secp256k1/keys.js +0 -1
  296. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/tx/signing/v1beta1/signing.js +0 -1
  297. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/tx/v1beta1/tx.js +0 -1
  298. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/accountplus/tx.js +0 -1
  299. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/clob_pair.js +0 -1
  300. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order.js +0 -1
  301. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order_removals.js +0 -1
  302. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/tx.js +0 -1
  303. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/transfer.js +0 -1
  304. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/tx.js +0 -1
  305. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/subaccount.js +0 -1
  306. package/dist/cjs/src/static_dependencies/dydx-v4-client/google/protobuf/any.js +0 -1
  307. package/dist/cjs/src/static_dependencies/dydx-v4-client/helpers.js +0 -6
  308. package/dist/cjs/src/static_dependencies/dydx-v4-client/onboarding.js +0 -1
  309. package/dist/cjs/src/static_dependencies/dydx-v4-client/registry.js +0 -1
  310. package/dist/cjs/src/static_dependencies/ethers/abi-coder.js +0 -6
  311. package/dist/cjs/src/static_dependencies/ethers/address/address.js +1 -1
  312. package/dist/cjs/src/static_dependencies/ethers/coders/abstract-coder.js +0 -6
  313. package/dist/cjs/src/static_dependencies/ethers/coders/address.js +0 -1
  314. package/dist/cjs/src/static_dependencies/ethers/coders/anonymous.js +0 -1
  315. package/dist/cjs/src/static_dependencies/ethers/coders/array.js +0 -1
  316. package/dist/cjs/src/static_dependencies/ethers/coders/boolean.js +0 -1
  317. package/dist/cjs/src/static_dependencies/ethers/coders/bytes.js +0 -1
  318. package/dist/cjs/src/static_dependencies/ethers/coders/fixed-bytes.js +0 -1
  319. package/dist/cjs/src/static_dependencies/ethers/coders/null.js +0 -1
  320. package/dist/cjs/src/static_dependencies/ethers/coders/number.js +0 -1
  321. package/dist/cjs/src/static_dependencies/ethers/coders/string.js +0 -1
  322. package/dist/cjs/src/static_dependencies/ethers/coders/tuple.js +0 -1
  323. package/dist/cjs/src/static_dependencies/ethers/fragments.js +0 -6
  324. package/dist/cjs/src/static_dependencies/ethers/hash/typed-data.js +0 -6
  325. package/dist/cjs/src/static_dependencies/ethers/index.js +10 -1
  326. package/dist/cjs/src/static_dependencies/ethers/interface.js +0 -6
  327. package/dist/cjs/src/static_dependencies/ethers/typed.js +0 -6
  328. package/dist/cjs/src/static_dependencies/ethers/utils/base58.js +13 -1
  329. package/dist/cjs/src/static_dependencies/ethers/utils/data.js +6 -1
  330. package/dist/cjs/src/static_dependencies/ethers/utils/errors.js +9 -1
  331. package/dist/cjs/src/static_dependencies/ethers/utils/events.js +0 -6
  332. package/dist/cjs/src/static_dependencies/ethers/utils/fixednumber.js +0 -6
  333. package/dist/cjs/src/static_dependencies/ethers/utils/index.js +7 -1
  334. package/dist/cjs/src/static_dependencies/ethers/utils/maths.js +5 -1
  335. package/dist/cjs/src/static_dependencies/ethers/utils/properties.js +0 -6
  336. package/dist/cjs/src/static_dependencies/ethers/utils/utf8.js +8 -1
  337. package/dist/cjs/src/static_dependencies/fflake/browser.js +1 -1
  338. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncrypt.js +0 -1
  339. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +0 -1
  340. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +1 -1
  341. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +0 -6
  342. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +0 -6
  343. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +0 -6
  344. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +0 -1
  345. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +1 -1
  346. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +0 -6
  347. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +1 -1
  348. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +1 -1
  349. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/util.js +0 -6
  350. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +1 -1
  351. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +0 -6
  352. package/dist/cjs/src/static_dependencies/messagepack/msgpack.js +0 -6
  353. package/dist/cjs/src/static_dependencies/noble-curves/_shortw_utils.js +1 -1
  354. package/dist/cjs/src/static_dependencies/noble-curves/abstract/curve.js +1 -1
  355. package/dist/cjs/src/static_dependencies/noble-curves/abstract/edwards.js +1 -1
  356. package/dist/cjs/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +0 -1
  357. package/dist/cjs/src/static_dependencies/noble-curves/abstract/modular.js +1 -1
  358. package/dist/cjs/src/static_dependencies/noble-curves/abstract/montgomery.js +1 -1
  359. package/dist/cjs/src/static_dependencies/noble-curves/abstract/poseidon.js +1 -1
  360. package/dist/cjs/src/static_dependencies/noble-curves/abstract/utils.js +0 -6
  361. package/dist/cjs/src/static_dependencies/noble-curves/abstract/weierstrass.js +1 -1
  362. package/dist/cjs/src/static_dependencies/noble-curves/ed25519.js +1 -1
  363. package/dist/cjs/src/static_dependencies/noble-curves/p256.js +1 -1
  364. package/dist/cjs/src/static_dependencies/noble-curves/secp256k1.js +1 -1
  365. package/dist/cjs/src/static_dependencies/noble-hashes/_assert.js +0 -6
  366. package/dist/cjs/src/static_dependencies/noble-hashes/_sha2.js +0 -1
  367. package/dist/cjs/src/static_dependencies/noble-hashes/_u64.js +0 -6
  368. package/dist/cjs/src/static_dependencies/noble-hashes/crypto.js +0 -6
  369. package/dist/cjs/src/static_dependencies/noble-hashes/hmac.js +0 -1
  370. package/dist/cjs/src/static_dependencies/noble-hashes/md5.js +0 -1
  371. package/dist/cjs/src/static_dependencies/noble-hashes/pbkdf2.js +0 -1
  372. package/dist/cjs/src/static_dependencies/noble-hashes/ripemd160.js +0 -1
  373. package/dist/cjs/src/static_dependencies/noble-hashes/sha1.js +0 -1
  374. package/dist/cjs/src/static_dependencies/noble-hashes/sha256.js +0 -1
  375. package/dist/cjs/src/static_dependencies/noble-hashes/sha3.js +0 -1
  376. package/dist/cjs/src/static_dependencies/noble-hashes/sha512.js +0 -1
  377. package/dist/cjs/src/static_dependencies/noble-hashes/utils.js +1 -1
  378. package/dist/cjs/src/static_dependencies/node-fetch/body.js +5 -1
  379. package/dist/cjs/src/static_dependencies/node-fetch/errors/abort-error.js +0 -1
  380. package/dist/cjs/src/static_dependencies/node-fetch/errors/base.js +0 -6
  381. package/dist/cjs/src/static_dependencies/node-fetch/errors/fetch-error.js +0 -1
  382. package/dist/cjs/src/static_dependencies/node-fetch/headers.js +5 -1
  383. package/dist/cjs/src/static_dependencies/node-fetch/index.js +7 -1
  384. package/dist/cjs/src/static_dependencies/node-fetch/request.js +7 -1
  385. package/dist/cjs/src/static_dependencies/node-fetch/response.js +5 -1
  386. package/dist/cjs/src/static_dependencies/node-fetch/utils/get-search.js +0 -6
  387. package/dist/cjs/src/static_dependencies/node-fetch/utils/is-redirect.js +0 -6
  388. package/dist/cjs/src/static_dependencies/node-fetch/utils/is.js +0 -6
  389. package/dist/cjs/src/static_dependencies/node-fetch/utils/referrer.js +0 -1
  390. package/dist/cjs/src/static_dependencies/proxies/agent-base/index.js +0 -1
  391. package/dist/cjs/src/static_dependencies/proxies/http-proxy-agent/index.js +0 -1
  392. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/index.js +0 -1
  393. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +0 -6
  394. package/dist/cjs/src/static_dependencies/qs/formats.js +0 -6
  395. package/dist/cjs/src/static_dependencies/qs/index.js +0 -1
  396. package/dist/cjs/src/static_dependencies/qs/parse.js +0 -1
  397. package/dist/cjs/src/static_dependencies/qs/stringify.js +0 -1
  398. package/dist/cjs/src/static_dependencies/qs/utils.js +0 -6
  399. package/dist/cjs/src/static_dependencies/scure-base/index.js +0 -6
  400. package/dist/cjs/src/static_dependencies/scure-bip32/index.js +19 -1
  401. package/dist/cjs/src/static_dependencies/scure-bip39/index.js +1 -1
  402. package/dist/cjs/src/static_dependencies/scure-bip39/wordlists/english.js +0 -6
  403. package/dist/cjs/src/static_dependencies/scure-starknet/index.js +1 -1
  404. package/dist/cjs/src/static_dependencies/starknet/constants.js +1 -1
  405. package/dist/cjs/src/static_dependencies/starknet/types/calldata.js +0 -6
  406. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/abi.js +0 -6
  407. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/index.js +0 -6
  408. package/dist/cjs/src/static_dependencies/starknet/types/lib/index.js +0 -6
  409. package/dist/cjs/src/static_dependencies/starknet/types/typedData.js +0 -6
  410. package/dist/cjs/src/static_dependencies/starknet/utils/assert.js +0 -6
  411. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +1 -1
  412. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +1 -1
  413. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +1 -1
  414. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/byteArray.js +0 -1
  415. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/cairo.js +0 -1
  416. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +0 -6
  417. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +0 -6
  418. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +0 -6
  419. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/formatter.js +0 -1
  420. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/index.js +1 -1
  421. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/index.js +0 -1
  422. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +0 -1
  423. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +0 -6
  424. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +0 -1
  425. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/requestParser.js +0 -1
  426. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/responseParser.js +0 -1
  427. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/tuple.js +1 -1
  428. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/validate.js +4 -1
  429. package/dist/cjs/src/static_dependencies/starknet/utils/encode.js +0 -1
  430. package/dist/cjs/src/static_dependencies/starknet/utils/hash/classHash.js +3 -1
  431. package/dist/cjs/src/static_dependencies/starknet/utils/merkle.js +0 -1
  432. package/dist/cjs/src/static_dependencies/starknet/utils/num.js +0 -1
  433. package/dist/cjs/src/static_dependencies/starknet/utils/selector.js +0 -1
  434. package/dist/cjs/src/static_dependencies/starknet/utils/shortString.js +0 -1
  435. package/dist/cjs/src/static_dependencies/starknet/utils/typedData.js +1 -1
  436. package/dist/cjs/src/static_dependencies/watchable/src/unpromise.js +0 -6
  437. package/dist/cjs/src/static_dependencies/zklink/zklink-sdk-web.js +0 -6
  438. package/dist/cjs/src/tokocrypto.js +1 -1
  439. package/dist/cjs/src/toobit.js +1 -1
  440. package/dist/cjs/src/upbit.js +1 -1
  441. package/dist/cjs/src/wavesexchange.js +1 -1
  442. package/dist/cjs/src/whitebit.js +63 -2
  443. package/dist/cjs/src/woo.js +1 -1
  444. package/dist/cjs/src/woofipro.js +1 -1
  445. package/dist/cjs/src/xt.js +1 -1
  446. package/dist/cjs/src/yobit.js +1 -1
  447. package/dist/cjs/src/zaif.js +1 -1
  448. package/dist/cjs/src/zebpay.js +1 -1
  449. package/dist/cjs/src/zonda.js +1 -1
  450. package/js/ccxt.d.ts +8 -14
  451. package/js/ccxt.js +6 -16
  452. package/js/src/abstract/aftermath.js +0 -6
  453. package/js/src/abstract/alpaca.js +0 -6
  454. package/js/src/abstract/apex.js +0 -6
  455. package/js/src/abstract/arkham.js +0 -6
  456. package/js/src/abstract/ascendex.js +0 -6
  457. package/js/src/abstract/aster.js +0 -6
  458. package/js/src/abstract/backpack.js +0 -6
  459. package/js/src/abstract/bequant.js +0 -6
  460. package/js/src/abstract/bigone.js +0 -6
  461. package/js/src/abstract/binance.js +0 -6
  462. package/js/src/abstract/binancecoinm.js +0 -6
  463. package/js/src/abstract/binanceus.js +0 -6
  464. package/js/src/abstract/binanceusdm.js +0 -6
  465. package/js/src/abstract/bingx.js +0 -6
  466. package/js/src/abstract/bit2c.js +0 -6
  467. package/js/src/abstract/bitbank.js +0 -6
  468. package/js/src/abstract/bitbns.js +0 -6
  469. package/js/src/abstract/bitfinex.js +0 -6
  470. package/js/src/abstract/bitflyer.js +0 -6
  471. package/js/src/abstract/bitget.js +0 -6
  472. package/js/src/abstract/bithumb.js +0 -6
  473. package/js/src/abstract/bitmart.js +0 -6
  474. package/js/src/abstract/bitmex.js +0 -6
  475. package/js/src/abstract/bitopro.js +0 -6
  476. package/js/src/abstract/bitrue.js +0 -6
  477. package/js/src/abstract/bitso.js +0 -6
  478. package/js/src/abstract/bitstamp.js +0 -6
  479. package/js/src/abstract/bitteam.js +0 -6
  480. package/js/src/abstract/bittrade.js +0 -6
  481. package/js/src/abstract/bitvavo.js +0 -6
  482. package/js/src/abstract/blockchaincom.js +0 -6
  483. package/js/src/abstract/blofin.js +0 -6
  484. package/js/src/abstract/btcbox.js +0 -6
  485. package/js/src/abstract/btcmarkets.js +0 -6
  486. package/js/src/abstract/btcturk.js +0 -6
  487. package/js/src/abstract/bullish.js +0 -6
  488. package/js/src/abstract/bybit.js +0 -6
  489. package/js/src/abstract/bydfi.js +0 -6
  490. package/js/src/abstract/cex.js +0 -6
  491. package/js/src/abstract/coinbase.js +0 -6
  492. package/js/src/abstract/coinbaseadvanced.js +0 -6
  493. package/js/src/abstract/coinbaseexchange.js +0 -6
  494. package/js/src/abstract/coinbaseinternational.js +0 -6
  495. package/js/src/abstract/coincatch.js +0 -6
  496. package/js/src/abstract/coincheck.js +0 -6
  497. package/js/src/abstract/coinex.js +0 -6
  498. package/js/src/abstract/coinmate.js +0 -6
  499. package/js/src/abstract/coinmetro.js +0 -6
  500. package/js/src/abstract/coinone.js +0 -6
  501. package/js/src/abstract/coinsph.js +0 -6
  502. package/js/src/abstract/coinspot.js +0 -6
  503. package/js/src/abstract/cryptocom.js +0 -6
  504. package/js/src/abstract/cryptomus.js +0 -6
  505. package/js/src/abstract/deepcoin.js +0 -6
  506. package/js/src/abstract/delta.js +0 -6
  507. package/js/src/abstract/deribit.js +0 -6
  508. package/js/src/abstract/derive.js +0 -6
  509. package/js/src/abstract/digifinex.js +0 -6
  510. package/js/src/abstract/dydx.js +0 -6
  511. package/js/src/abstract/exmo.js +0 -6
  512. package/js/src/abstract/fmfwio.js +0 -6
  513. package/js/src/abstract/foxbit.js +0 -6
  514. package/js/src/abstract/gate.js +0 -6
  515. package/js/src/abstract/gateio.js +0 -6
  516. package/js/src/abstract/gemini.js +0 -6
  517. package/js/src/abstract/grvt.d.ts +57 -0
  518. package/js/src/abstract/grvt.js +5 -0
  519. package/js/src/abstract/hashkey.js +0 -6
  520. package/js/src/abstract/hibachi.js +0 -6
  521. package/js/src/abstract/hitbtc.js +0 -6
  522. package/js/src/abstract/hollaex.js +0 -6
  523. package/js/src/abstract/htx.js +0 -6
  524. package/js/src/abstract/huobi.js +0 -6
  525. package/js/src/abstract/hyperliquid.js +0 -6
  526. package/js/src/abstract/independentreserve.js +0 -6
  527. package/js/src/abstract/indodax.js +0 -6
  528. package/js/src/abstract/kraken.js +0 -6
  529. package/js/src/abstract/krakenfutures.js +0 -6
  530. package/js/src/abstract/kucoin.d.ts +46 -3
  531. package/js/src/abstract/kucoin.js +0 -6
  532. package/js/src/abstract/kucoinfutures.d.ts +27 -12
  533. package/js/src/abstract/kucoinfutures.js +0 -6
  534. package/js/src/abstract/latoken.js +0 -6
  535. package/js/src/abstract/lbank.js +0 -6
  536. package/js/src/abstract/lighter.js +0 -6
  537. package/js/src/abstract/luno.js +0 -6
  538. package/js/src/abstract/mercado.js +0 -6
  539. package/js/src/abstract/mexc.js +0 -6
  540. package/js/src/abstract/modetrade.js +0 -6
  541. package/js/src/abstract/myokx.js +0 -6
  542. package/js/src/abstract/ndax.js +0 -6
  543. package/js/src/abstract/novadax.js +0 -6
  544. package/js/src/abstract/okx.js +0 -6
  545. package/js/src/abstract/okxus.js +0 -6
  546. package/js/src/abstract/onetrading.js +0 -6
  547. package/js/src/abstract/oxfun.js +0 -6
  548. package/js/src/abstract/p2b.js +0 -6
  549. package/js/src/abstract/paradex.js +0 -6
  550. package/js/src/abstract/paymium.js +0 -6
  551. package/js/src/abstract/phemex.js +0 -6
  552. package/js/src/abstract/poloniex.js +0 -6
  553. package/js/src/abstract/tokocrypto.js +0 -6
  554. package/js/src/abstract/toobit.js +0 -6
  555. package/js/src/abstract/upbit.js +0 -6
  556. package/js/src/abstract/wavesexchange.js +0 -6
  557. package/js/src/abstract/whitebit.d.ts +1 -0
  558. package/js/src/abstract/whitebit.js +0 -6
  559. package/js/src/abstract/woo.js +0 -6
  560. package/js/src/abstract/woofipro.js +0 -6
  561. package/js/src/abstract/xt.js +0 -6
  562. package/js/src/abstract/yobit.js +0 -6
  563. package/js/src/abstract/zaif.js +0 -6
  564. package/js/src/abstract/zebpay.js +0 -6
  565. package/js/src/abstract/zonda.js +0 -6
  566. package/js/src/aftermath.js +0 -6
  567. package/js/src/alpaca.js +0 -6
  568. package/js/src/apex.js +0 -6
  569. package/js/src/arkham.js +0 -6
  570. package/js/src/ascendex.js +0 -6
  571. package/js/src/aster.js +0 -6
  572. package/js/src/backpack.js +0 -6
  573. package/js/src/base/Exchange.d.ts +12 -0
  574. package/js/src/base/Exchange.js +37 -7
  575. package/js/src/base/Precise.js +0 -6
  576. package/js/src/base/errorHierarchy.js +0 -6
  577. package/js/src/base/errors.js +0 -6
  578. package/js/src/base/functions/crypto.js +0 -6
  579. package/js/src/base/functions/encode.js +2 -8
  580. package/js/src/base/functions/generic.js +9 -9
  581. package/js/src/base/functions/io.js +0 -6
  582. package/js/src/base/functions/misc.js +0 -6
  583. package/js/src/base/functions/number.js +0 -6
  584. package/js/src/base/functions/platform.js +0 -6
  585. package/js/src/base/functions/rsa.js +0 -6
  586. package/js/src/base/functions/string.js +0 -6
  587. package/js/src/base/functions/throttle.js +0 -6
  588. package/js/src/base/functions/time.js +0 -6
  589. package/js/src/base/functions/totp.js +0 -6
  590. package/js/src/base/functions/type.js +0 -6
  591. package/js/src/base/functions.js +0 -6
  592. package/js/src/base/types.js +0 -6
  593. package/js/src/base/ws/Cache.js +0 -6
  594. package/js/src/base/ws/Client.js +0 -6
  595. package/js/src/base/ws/Future.js +0 -6
  596. package/js/src/base/ws/OrderBook.js +0 -6
  597. package/js/src/base/ws/OrderBookSide.js +0 -6
  598. package/js/src/base/ws/WsClient.js +0 -6
  599. package/js/src/base/ws/functions.js +0 -6
  600. package/js/src/bequant.js +0 -6
  601. package/js/src/bigone.js +0 -6
  602. package/js/src/binance.js +52 -8
  603. package/js/src/binancecoinm.js +0 -6
  604. package/js/src/binanceus.js +0 -6
  605. package/js/src/binanceusdm.js +0 -6
  606. package/js/src/bingx.js +0 -6
  607. package/js/src/bit2c.js +0 -6
  608. package/js/src/bitbank.js +0 -6
  609. package/js/src/bitbns.js +0 -6
  610. package/js/src/bitfinex.js +0 -6
  611. package/js/src/bitflyer.js +0 -6
  612. package/js/src/bitget.js +0 -6
  613. package/js/src/bithumb.js +0 -6
  614. package/js/src/bitmart.js +0 -6
  615. package/js/src/bitmex.js +0 -6
  616. package/js/src/bitopro.js +0 -6
  617. package/js/src/bitrue.js +1 -7
  618. package/js/src/bitso.js +0 -6
  619. package/js/src/bitstamp.js +0 -6
  620. package/js/src/bitteam.js +1 -7
  621. package/js/src/bittrade.js +0 -6
  622. package/js/src/bitvavo.js +1 -6
  623. package/js/src/blockchaincom.js +0 -6
  624. package/js/src/blofin.js +0 -6
  625. package/js/src/btcbox.js +1 -7
  626. package/js/src/btcmarkets.js +0 -6
  627. package/js/src/btcturk.js +0 -6
  628. package/js/src/bullish.js +0 -6
  629. package/js/src/bybit.js +0 -6
  630. package/js/src/bydfi.js +0 -6
  631. package/js/src/cex.js +2 -7
  632. package/js/src/coinbase.js +0 -6
  633. package/js/src/coinbaseadvanced.js +0 -6
  634. package/js/src/coinbaseexchange.js +0 -6
  635. package/js/src/coinbaseinternational.js +0 -6
  636. package/js/src/coincatch.js +3 -21
  637. package/js/src/coincheck.js +0 -6
  638. package/js/src/coinex.js +0 -6
  639. package/js/src/coinmate.js +0 -6
  640. package/js/src/coinmetro.js +0 -6
  641. package/js/src/coinone.js +0 -6
  642. package/js/src/coinsph.js +0 -6
  643. package/js/src/coinspot.js +0 -6
  644. package/js/src/cryptocom.js +0 -6
  645. package/js/src/cryptomus.js +0 -6
  646. package/js/src/deepcoin.js +1 -7
  647. package/js/src/delta.js +0 -6
  648. package/js/src/deribit.js +1 -7
  649. package/js/src/derive.js +0 -6
  650. package/js/src/digifinex.js +0 -6
  651. package/js/src/dydx.js +0 -6
  652. package/js/src/exmo.js +0 -6
  653. package/js/src/fmfwio.js +0 -6
  654. package/js/src/foxbit.js +0 -6
  655. package/js/src/gate.d.ts +125 -119
  656. package/js/src/gate.js +243 -178
  657. package/js/src/gateio.js +0 -6
  658. package/js/src/gemini.js +0 -6
  659. package/js/src/grvt.d.ts +446 -0
  660. package/js/src/grvt.js +3273 -0
  661. package/js/src/hashkey.js +0 -6
  662. package/js/src/hibachi.js +0 -6
  663. package/js/src/hitbtc.js +1 -6
  664. package/js/src/hollaex.js +0 -6
  665. package/js/src/htx.js +0 -6
  666. package/js/src/huobi.js +0 -6
  667. package/js/src/hyperliquid.d.ts +3 -1
  668. package/js/src/hyperliquid.js +31 -18
  669. package/js/src/independentreserve.js +0 -6
  670. package/js/src/indodax.js +0 -6
  671. package/js/src/kraken.js +3 -8
  672. package/js/src/krakenfutures.js +3 -19
  673. package/js/src/kucoin.d.ts +696 -100
  674. package/js/src/kucoin.js +4731 -977
  675. package/js/src/kucoinfutures.d.ts +4 -522
  676. package/js/src/kucoinfutures.js +14 -3440
  677. package/js/src/latoken.js +0 -6
  678. package/js/src/lbank.js +1 -7
  679. package/js/src/lighter.d.ts +8 -0
  680. package/js/src/lighter.js +27 -6
  681. package/js/src/luno.js +0 -6
  682. package/js/src/mercado.js +0 -6
  683. package/js/src/mexc.js +0 -6
  684. package/js/src/modetrade.js +0 -6
  685. package/js/src/myokx.js +0 -6
  686. package/js/src/ndax.js +0 -6
  687. package/js/src/novadax.js +0 -6
  688. package/js/src/okx.js +0 -6
  689. package/js/src/okxus.js +0 -6
  690. package/js/src/onetrading.js +0 -6
  691. package/js/src/oxfun.js +0 -6
  692. package/js/src/p2b.js +0 -6
  693. package/js/src/paradex.js +0 -6
  694. package/js/src/paymium.js +0 -6
  695. package/js/src/phemex.js +0 -6
  696. package/js/src/poloniex.js +1 -7
  697. package/js/src/pro/aftermath.js +0 -6
  698. package/js/src/pro/alpaca.js +0 -6
  699. package/js/src/pro/apex.js +0 -6
  700. package/js/src/pro/arkham.js +0 -6
  701. package/js/src/pro/ascendex.js +0 -6
  702. package/js/src/pro/aster.js +0 -6
  703. package/js/src/pro/backpack.js +0 -6
  704. package/js/src/pro/bequant.js +0 -6
  705. package/js/src/pro/binance.d.ts +3 -0
  706. package/js/src/pro/binance.js +35 -20
  707. package/js/src/pro/binancecoinm.js +0 -6
  708. package/js/src/pro/binanceus.js +0 -6
  709. package/js/src/pro/binanceusdm.js +0 -6
  710. package/js/src/pro/bingx.js +0 -6
  711. package/js/src/pro/bitfinex.js +0 -6
  712. package/js/src/pro/bitget.js +0 -6
  713. package/js/src/pro/bithumb.js +0 -6
  714. package/js/src/pro/bitmart.js +0 -6
  715. package/js/src/pro/bitmex.js +0 -6
  716. package/js/src/pro/bitopro.js +0 -6
  717. package/js/src/pro/bitrue.js +0 -6
  718. package/js/src/pro/bitstamp.js +0 -6
  719. package/js/src/pro/bittrade.js +0 -6
  720. package/js/src/pro/bitvavo.js +0 -6
  721. package/js/src/pro/blockchaincom.js +0 -6
  722. package/js/src/pro/blofin.js +0 -6
  723. package/js/src/pro/bullish.js +0 -6
  724. package/js/src/pro/bybit.js +0 -6
  725. package/js/src/pro/bydfi.js +0 -6
  726. package/js/src/pro/cex.js +0 -6
  727. package/js/src/pro/coinbase.js +0 -6
  728. package/js/src/pro/coinbaseadvanced.js +0 -6
  729. package/js/src/pro/coinbaseexchange.js +29 -30
  730. package/js/src/pro/coinbaseinternational.js +0 -6
  731. package/js/src/pro/coincatch.js +0 -6
  732. package/js/src/pro/coincheck.js +0 -6
  733. package/js/src/pro/coinex.js +0 -6
  734. package/js/src/pro/coinone.js +0 -6
  735. package/js/src/pro/cryptocom.js +0 -6
  736. package/js/src/pro/deepcoin.js +0 -6
  737. package/js/src/pro/deribit.js +0 -6
  738. package/js/src/pro/derive.js +0 -6
  739. package/js/src/pro/dydx.js +0 -6
  740. package/js/src/pro/exmo.js +0 -6
  741. package/js/src/pro/gate.d.ts +30 -1
  742. package/js/src/pro/gate.js +37 -7
  743. package/js/src/pro/gateio.js +0 -6
  744. package/js/src/pro/gemini.js +0 -6
  745. package/js/src/pro/grvt.d.ts +155 -0
  746. package/js/src/pro/grvt.js +916 -0
  747. package/js/src/pro/hashkey.js +0 -6
  748. package/js/src/pro/hitbtc.js +0 -6
  749. package/js/src/pro/hollaex.js +0 -6
  750. package/js/src/pro/htx.js +0 -6
  751. package/js/src/pro/huobi.js +0 -6
  752. package/js/src/pro/hyperliquid.js +0 -6
  753. package/js/src/pro/independentreserve.js +0 -6
  754. package/js/src/pro/kraken.js +0 -6
  755. package/js/src/pro/krakenfutures.js +0 -6
  756. package/js/src/pro/kucoin.d.ts +70 -30
  757. package/js/src/pro/kucoin.js +821 -186
  758. package/js/src/pro/kucoinfutures.d.ts +17 -195
  759. package/js/src/pro/kucoinfutures.js +96 -1268
  760. package/js/src/pro/lbank.js +0 -6
  761. package/js/src/pro/lighter.js +0 -6
  762. package/js/src/pro/luno.js +0 -6
  763. package/js/src/pro/mexc.js +10 -11
  764. package/js/src/pro/modetrade.js +0 -6
  765. package/js/src/pro/myokx.js +0 -6
  766. package/js/src/pro/ndax.js +0 -6
  767. package/js/src/pro/okx.d.ts +1 -0
  768. package/js/src/pro/okx.js +84 -45
  769. package/js/src/pro/okxus.js +0 -6
  770. package/js/src/pro/onetrading.js +0 -6
  771. package/js/src/pro/oxfun.js +0 -6
  772. package/js/src/pro/p2b.js +0 -6
  773. package/js/src/pro/paradex.js +0 -6
  774. package/js/src/pro/phemex.js +0 -6
  775. package/js/src/pro/poloniex.js +0 -6
  776. package/js/src/pro/toobit.js +0 -6
  777. package/js/src/pro/upbit.js +0 -6
  778. package/js/src/pro/whitebit.js +0 -6
  779. package/js/src/pro/woo.js +0 -6
  780. package/js/src/pro/woofipro.js +0 -6
  781. package/js/src/pro/xt.js +0 -6
  782. package/js/src/protobuf/mexc/compiled.cjs +0 -6
  783. package/js/src/static_dependencies/dydx-v4-client/cosmos/base/v1beta1/coin.js +0 -6
  784. package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/multisig/keys.js +0 -6
  785. package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/multisig/v1beta1/multisig.js +0 -6
  786. package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/secp256k1/keys.js +0 -6
  787. package/js/src/static_dependencies/dydx-v4-client/cosmos/tx/signing/v1beta1/signing.js +0 -6
  788. package/js/src/static_dependencies/dydx-v4-client/cosmos/tx/v1beta1/tx.js +0 -6
  789. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/accountplus/tx.js +0 -6
  790. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/block_rate_limit_config.js +0 -6
  791. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/clob_pair.js +0 -6
  792. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/equity_tier_limit_config.js +0 -6
  793. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/finalize_block.js +0 -6
  794. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/liquidations.js +0 -6
  795. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/liquidations_config.js +0 -6
  796. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/matches.js +0 -6
  797. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order.js +0 -6
  798. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order_removals.js +0 -6
  799. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/tx.js +0 -6
  800. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/transfer.js +0 -6
  801. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/tx.js +0 -6
  802. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/asset_position.js +0 -6
  803. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/perpetual_position.js +0 -6
  804. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/subaccount.js +0 -6
  805. package/js/src/static_dependencies/dydx-v4-client/google/protobuf/any.js +0 -6
  806. package/js/src/static_dependencies/dydx-v4-client/helpers.js +0 -6
  807. package/js/src/static_dependencies/dydx-v4-client/long/index.cjs +0 -6
  808. package/js/src/static_dependencies/dydx-v4-client/onboarding.js +0 -6
  809. package/js/src/static_dependencies/dydx-v4-client/registry.js +0 -6
  810. package/js/src/static_dependencies/ethers/abi-coder.js +0 -6
  811. package/js/src/static_dependencies/ethers/address/address.js +0 -6
  812. package/js/src/static_dependencies/ethers/address/checks.js +0 -6
  813. package/js/src/static_dependencies/ethers/address/contract-address.js +0 -6
  814. package/js/src/static_dependencies/ethers/address/index.js +0 -6
  815. package/js/src/static_dependencies/ethers/bytes32.js +0 -6
  816. package/js/src/static_dependencies/ethers/coders/abstract-coder.js +0 -6
  817. package/js/src/static_dependencies/ethers/coders/address.js +0 -6
  818. package/js/src/static_dependencies/ethers/coders/anonymous.js +0 -6
  819. package/js/src/static_dependencies/ethers/coders/array.js +0 -6
  820. package/js/src/static_dependencies/ethers/coders/boolean.js +0 -6
  821. package/js/src/static_dependencies/ethers/coders/bytes.js +0 -6
  822. package/js/src/static_dependencies/ethers/coders/fixed-bytes.js +0 -6
  823. package/js/src/static_dependencies/ethers/coders/null.js +0 -6
  824. package/js/src/static_dependencies/ethers/coders/number.js +0 -6
  825. package/js/src/static_dependencies/ethers/coders/string.js +0 -6
  826. package/js/src/static_dependencies/ethers/coders/tuple.js +0 -6
  827. package/js/src/static_dependencies/ethers/fragments.js +0 -6
  828. package/js/src/static_dependencies/ethers/hash/index.js +0 -6
  829. package/js/src/static_dependencies/ethers/hash/solidity.js +0 -6
  830. package/js/src/static_dependencies/ethers/hash/typed-data.js +0 -6
  831. package/js/src/static_dependencies/ethers/index.js +0 -6
  832. package/js/src/static_dependencies/ethers/interface.js +0 -6
  833. package/js/src/static_dependencies/ethers/typed.js +0 -6
  834. package/js/src/static_dependencies/ethers/utils/base58.js +0 -6
  835. package/js/src/static_dependencies/ethers/utils/base64-browser.js +0 -6
  836. package/js/src/static_dependencies/ethers/utils/base64.js +0 -6
  837. package/js/src/static_dependencies/ethers/utils/data.js +0 -6
  838. package/js/src/static_dependencies/ethers/utils/errors.js +0 -6
  839. package/js/src/static_dependencies/ethers/utils/events.js +0 -6
  840. package/js/src/static_dependencies/ethers/utils/fixednumber.js +0 -6
  841. package/js/src/static_dependencies/ethers/utils/index.js +0 -6
  842. package/js/src/static_dependencies/ethers/utils/maths.js +0 -6
  843. package/js/src/static_dependencies/ethers/utils/properties.js +0 -6
  844. package/js/src/static_dependencies/ethers/utils/rlp-decode.js +0 -6
  845. package/js/src/static_dependencies/ethers/utils/rlp-encode.js +0 -6
  846. package/js/src/static_dependencies/ethers/utils/rlp.js +0 -6
  847. package/js/src/static_dependencies/ethers/utils/units.js +0 -6
  848. package/js/src/static_dependencies/ethers/utils/utf8.js +0 -6
  849. package/js/src/static_dependencies/ethers/utils/uuid.js +0 -6
  850. package/js/src/static_dependencies/fflake/browser.js +0 -6
  851. package/js/src/static_dependencies/jsencrypt/JSEncrypt.js +0 -6
  852. package/js/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +0 -6
  853. package/js/src/static_dependencies/jsencrypt/index.js +0 -6
  854. package/js/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +0 -6
  855. package/js/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +0 -6
  856. package/js/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +0 -6
  857. package/js/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +0 -6
  858. package/js/src/static_dependencies/jsencrypt/lib/asn1js/oids.js +0 -6
  859. package/js/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +0 -6
  860. package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +0 -6
  861. package/js/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +0 -6
  862. package/js/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +0 -6
  863. package/js/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +0 -6
  864. package/js/src/static_dependencies/jsencrypt/lib/jsbn/util.js +0 -6
  865. package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +0 -6
  866. package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +0 -6
  867. package/js/src/static_dependencies/messagepack/msgpack.js +0 -6
  868. package/js/src/static_dependencies/noble-curves/_shortw_utils.js +0 -6
  869. package/js/src/static_dependencies/noble-curves/abstract/curve.js +0 -6
  870. package/js/src/static_dependencies/noble-curves/abstract/edwards.js +0 -6
  871. package/js/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +0 -6
  872. package/js/src/static_dependencies/noble-curves/abstract/modular.js +0 -6
  873. package/js/src/static_dependencies/noble-curves/abstract/montgomery.js +0 -6
  874. package/js/src/static_dependencies/noble-curves/abstract/poseidon.js +0 -6
  875. package/js/src/static_dependencies/noble-curves/abstract/utils.js +0 -6
  876. package/js/src/static_dependencies/noble-curves/abstract/weierstrass.js +0 -6
  877. package/js/src/static_dependencies/noble-curves/bn.js +0 -6
  878. package/js/src/static_dependencies/noble-curves/ed25519.js +0 -6
  879. package/js/src/static_dependencies/noble-curves/ed448.js +0 -6
  880. package/js/src/static_dependencies/noble-curves/index.js +0 -6
  881. package/js/src/static_dependencies/noble-curves/jubjub.js +0 -6
  882. package/js/src/static_dependencies/noble-curves/p256.js +0 -6
  883. package/js/src/static_dependencies/noble-curves/p384.js +0 -6
  884. package/js/src/static_dependencies/noble-curves/p521.js +0 -6
  885. package/js/src/static_dependencies/noble-curves/pasta.js +0 -6
  886. package/js/src/static_dependencies/noble-curves/secp256k1.js +0 -6
  887. package/js/src/static_dependencies/noble-hashes/_assert.js +0 -6
  888. package/js/src/static_dependencies/noble-hashes/_blake2.js +0 -6
  889. package/js/src/static_dependencies/noble-hashes/_sha2.js +0 -6
  890. package/js/src/static_dependencies/noble-hashes/_u64.js +0 -6
  891. package/js/src/static_dependencies/noble-hashes/argon2.js +0 -6
  892. package/js/src/static_dependencies/noble-hashes/blake2b.js +0 -6
  893. package/js/src/static_dependencies/noble-hashes/blake2s.js +0 -6
  894. package/js/src/static_dependencies/noble-hashes/blake3.js +0 -6
  895. package/js/src/static_dependencies/noble-hashes/crypto.js +0 -6
  896. package/js/src/static_dependencies/noble-hashes/cryptoNode.js +0 -6
  897. package/js/src/static_dependencies/noble-hashes/eskdf.js +0 -6
  898. package/js/src/static_dependencies/noble-hashes/hkdf.js +0 -6
  899. package/js/src/static_dependencies/noble-hashes/hmac.js +0 -6
  900. package/js/src/static_dependencies/noble-hashes/index.js +0 -6
  901. package/js/src/static_dependencies/noble-hashes/md5.js +0 -6
  902. package/js/src/static_dependencies/noble-hashes/pbkdf2.js +0 -6
  903. package/js/src/static_dependencies/noble-hashes/ripemd160.js +0 -6
  904. package/js/src/static_dependencies/noble-hashes/scrypt.js +0 -6
  905. package/js/src/static_dependencies/noble-hashes/sha1.js +0 -6
  906. package/js/src/static_dependencies/noble-hashes/sha256.js +0 -6
  907. package/js/src/static_dependencies/noble-hashes/sha3-addons.js +0 -6
  908. package/js/src/static_dependencies/noble-hashes/sha3.js +0 -6
  909. package/js/src/static_dependencies/noble-hashes/sha512.js +0 -6
  910. package/js/src/static_dependencies/noble-hashes/utils.js +0 -6
  911. package/js/src/static_dependencies/node-fetch/body.js +0 -6
  912. package/js/src/static_dependencies/node-fetch/errors/abort-error.js +0 -6
  913. package/js/src/static_dependencies/node-fetch/errors/base.js +0 -6
  914. package/js/src/static_dependencies/node-fetch/errors/fetch-error.js +0 -6
  915. package/js/src/static_dependencies/node-fetch/headers.js +0 -6
  916. package/js/src/static_dependencies/node-fetch/index.js +0 -6
  917. package/js/src/static_dependencies/node-fetch/request.js +0 -6
  918. package/js/src/static_dependencies/node-fetch/response.js +0 -6
  919. package/js/src/static_dependencies/node-fetch/utils/get-search.js +0 -6
  920. package/js/src/static_dependencies/node-fetch/utils/is-redirect.js +0 -6
  921. package/js/src/static_dependencies/node-fetch/utils/is.js +0 -6
  922. package/js/src/static_dependencies/node-fetch/utils/referrer.js +0 -6
  923. package/js/src/static_dependencies/proxies/agent-base/helpers.js +0 -6
  924. package/js/src/static_dependencies/proxies/agent-base/index.js +0 -6
  925. package/js/src/static_dependencies/proxies/http-proxy-agent/index.js +0 -6
  926. package/js/src/static_dependencies/proxies/https-proxy-agent/index.js +0 -6
  927. package/js/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +0 -6
  928. package/js/src/static_dependencies/qs/formats.js +0 -6
  929. package/js/src/static_dependencies/qs/index.js +0 -6
  930. package/js/src/static_dependencies/qs/parse.js +0 -6
  931. package/js/src/static_dependencies/qs/stringify.js +0 -6
  932. package/js/src/static_dependencies/qs/utils.js +0 -6
  933. package/js/src/static_dependencies/scure-base/index.js +0 -6
  934. package/js/src/static_dependencies/scure-bip32/index.js +0 -6
  935. package/js/src/static_dependencies/scure-bip39/index.js +0 -6
  936. package/js/src/static_dependencies/scure-bip39/wordlists/english.js +0 -6
  937. package/js/src/static_dependencies/scure-starknet/index.js +0 -6
  938. package/js/src/static_dependencies/starknet/constants.js +0 -6
  939. package/js/src/static_dependencies/starknet/index.js +0 -6
  940. package/js/src/static_dependencies/starknet/types/cairoEnum.js +0 -6
  941. package/js/src/static_dependencies/starknet/types/calldata.js +0 -6
  942. package/js/src/static_dependencies/starknet/types/index.js +0 -6
  943. package/js/src/static_dependencies/starknet/types/lib/contract/abi.js +0 -6
  944. package/js/src/static_dependencies/starknet/types/lib/contract/index.js +0 -6
  945. package/js/src/static_dependencies/starknet/types/lib/contract/legacy.js +0 -6
  946. package/js/src/static_dependencies/starknet/types/lib/contract/sierra.js +0 -6
  947. package/js/src/static_dependencies/starknet/types/lib/index.js +0 -6
  948. package/js/src/static_dependencies/starknet/types/typedData.js +0 -6
  949. package/js/src/static_dependencies/starknet/utils/address.js +0 -6
  950. package/js/src/static_dependencies/starknet/utils/assert.js +0 -6
  951. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +0 -6
  952. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +0 -6
  953. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +0 -6
  954. package/js/src/static_dependencies/starknet/utils/calldata/byteArray.js +0 -6
  955. package/js/src/static_dependencies/starknet/utils/calldata/cairo.js +0 -6
  956. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +0 -6
  957. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +0 -6
  958. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +0 -6
  959. package/js/src/static_dependencies/starknet/utils/calldata/enum/index.js +0 -6
  960. package/js/src/static_dependencies/starknet/utils/calldata/formatter.js +0 -6
  961. package/js/src/static_dependencies/starknet/utils/calldata/index.js +0 -6
  962. package/js/src/static_dependencies/starknet/utils/calldata/parser/index.js +0 -6
  963. package/js/src/static_dependencies/starknet/utils/calldata/parser/interface.js +0 -6
  964. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +0 -6
  965. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +0 -6
  966. package/js/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +0 -6
  967. package/js/src/static_dependencies/starknet/utils/calldata/requestParser.js +0 -6
  968. package/js/src/static_dependencies/starknet/utils/calldata/responseParser.js +0 -6
  969. package/js/src/static_dependencies/starknet/utils/calldata/tuple.js +0 -6
  970. package/js/src/static_dependencies/starknet/utils/calldata/validate.js +0 -6
  971. package/js/src/static_dependencies/starknet/utils/encode.js +0 -6
  972. package/js/src/static_dependencies/starknet/utils/hash/classHash.js +0 -6
  973. package/js/src/static_dependencies/starknet/utils/hash/index.js +0 -6
  974. package/js/src/static_dependencies/starknet/utils/merkle.js +0 -6
  975. package/js/src/static_dependencies/starknet/utils/num.js +0 -6
  976. package/js/src/static_dependencies/starknet/utils/selector.js +0 -6
  977. package/js/src/static_dependencies/starknet/utils/shortString.js +0 -6
  978. package/js/src/static_dependencies/starknet/utils/starknetId.js +0 -6
  979. package/js/src/static_dependencies/starknet/utils/typedData.js +0 -6
  980. package/js/src/static_dependencies/starknet/utils/uint256.js +0 -6
  981. package/js/src/static_dependencies/starknet/utils/url.js +0 -6
  982. package/js/src/static_dependencies/watchable/src/index.js +0 -6
  983. package/js/src/static_dependencies/watchable/src/types.js +0 -6
  984. package/js/src/static_dependencies/watchable/src/unpromise.js +0 -6
  985. package/js/src/static_dependencies/zklink/zklink-sdk-web.js +0 -6
  986. package/js/src/tokocrypto.js +0 -6
  987. package/js/src/toobit.js +0 -6
  988. package/js/src/upbit.js +0 -6
  989. package/js/src/wavesexchange.js +0 -6
  990. package/js/src/whitebit.d.ts +21 -1
  991. package/js/src/whitebit.js +62 -7
  992. package/js/src/woo.js +0 -6
  993. package/js/src/woofipro.js +0 -6
  994. package/js/src/xt.js +0 -6
  995. package/js/src/yobit.js +0 -6
  996. package/js/src/zaif.js +0 -6
  997. package/js/src/zebpay.js +0 -6
  998. package/js/src/zonda.js +0 -6
  999. package/package.json +3 -2
  1000. package/postinstall.js +1 -0
  1001. package/dist/cjs/src/abstract/defx.js +0 -11
  1002. package/dist/cjs/src/abstract/timex.js +0 -11
  1003. package/dist/cjs/src/alp.js +0 -1059
  1004. package/dist/cjs/src/defx.js +0 -2142
  1005. package/dist/cjs/src/pro/defx.js +0 -866
  1006. package/dist/cjs/src/timex.js +0 -1794
  1007. package/js/src/abstract/alp.d.ts +0 -21
  1008. package/js/src/abstract/alp.js +0 -11
  1009. package/js/src/abstract/defx.d.ts +0 -72
  1010. package/js/src/abstract/defx.js +0 -11
  1011. package/js/src/abstract/timex.d.ts +0 -65
  1012. package/js/src/abstract/timex.js +0 -11
  1013. package/js/src/alp.d.ts +0 -209
  1014. package/js/src/alp.js +0 -1058
  1015. package/js/src/defx.d.ts +0 -348
  1016. package/js/src/defx.js +0 -2141
  1017. package/js/src/pro/defx.d.ts +0 -236
  1018. package/js/src/pro/defx.js +0 -865
  1019. package/js/src/timex.d.ts +0 -247
  1020. package/js/src/timex.js +0 -1792
@@ -0,0 +1,916 @@
1
+ // ---------------------------------------------------------------------------
2
+ import grvtRest from '../grvt.js';
3
+ import { ArrayCache, ArrayCacheByTimestamp, ArrayCacheBySymbolById, ArrayCacheBySymbolBySide } from '../base/ws/Cache.js';
4
+ import { ArgumentsRequired, AuthenticationError, ExchangeError } from '../base/errors.js';
5
+ // ---------------------------------------------------------------------------
6
+ export default class grvt extends grvtRest {
7
+ describe() {
8
+ return this.deepExtend(super.describe(), {
9
+ 'has': {
10
+ 'ws': true,
11
+ 'watchTicker': true,
12
+ 'watchTickers': true,
13
+ 'watchTrades': true,
14
+ 'watchTradesForSymbols': true,
15
+ 'watchOHLCV': true,
16
+ 'watchOHLCVForSymbols': true,
17
+ 'watchOrderBook': true,
18
+ 'watchOrderBookForSymbols': true,
19
+ 'watchMyTrades': true,
20
+ 'watchPositions': true,
21
+ 'watchOrders': true,
22
+ },
23
+ 'urls': {
24
+ 'api': {
25
+ 'ws': {
26
+ 'publicMarket': 'wss://market-data.grvt.io/ws/full',
27
+ 'privateTrading': 'wss://trades.grvt.io/ws/full',
28
+ },
29
+ },
30
+ },
31
+ 'options': {
32
+ 'watchOrderBookForSymbols': {
33
+ 'depth': 100,
34
+ 'interval': 500,
35
+ 'channel': 'v1.book.s', // v1.book.s | v1.book.d
36
+ },
37
+ 'watchTickers': {
38
+ 'channel': 'v1.ticker.s', // v1.ticker.s | v1.ticker.d | v1.mini.s | v1.mini.d
39
+ },
40
+ },
41
+ 'streaming': {
42
+ 'keepAlive': 300000, // 5 minutes
43
+ },
44
+ });
45
+ }
46
+ handleMessage(client, message) {
47
+ //
48
+ // confirmation
49
+ //
50
+ // {
51
+ // jsonrpc: '2.0',
52
+ // result: {
53
+ // stream: 'v1.mini.d',
54
+ // subs: [ 'BTC_USDT_Perp@500' ],
55
+ // unsubs: [],
56
+ // num_snapshots: [ 1 ],
57
+ // first_sequence_number: [ '1061214' ],
58
+ // latest_sequence_number: [ '1061213' ]
59
+ // },
60
+ // id: 1,
61
+ // method: 'subscribe'
62
+ // }
63
+ //
64
+ // ticker
65
+ //
66
+ // {
67
+ // stream: "v1.mini.d",
68
+ // selector: "BTC_USDT_Perp@500",
69
+ // sequence_number: "0",
70
+ // feed: {
71
+ // event_time: "1767198134519661154",
72
+ // instrument: "BTC_USDT_Perp",
73
+ // ...
74
+ // },
75
+ // prev_sequence_number: "0",
76
+ // }
77
+ //
78
+ if (this.handleErrorMessage(client, message)) {
79
+ return;
80
+ }
81
+ const methods = {
82
+ 'v1.ticker.s': this.handleTicker,
83
+ 'v1.ticker.d': this.handleTicker,
84
+ 'v1.mini.d': this.handleTicker,
85
+ 'v1.mini.s': this.handleTicker,
86
+ 'v1.trade': this.handleTrades,
87
+ 'v1.candle': this.handleOHLCV,
88
+ 'v1.book.s': this.handleOrderBook,
89
+ 'v1.book.d': this.handleOrderBook,
90
+ 'v1.fill': this.handleMyTrade,
91
+ 'v1.position': this.handlePosition,
92
+ 'v1.order': this.handleOrder,
93
+ };
94
+ const methodName = this.safeString(message, 'method');
95
+ if (methodName === 'subscribe') {
96
+ // return from confirmation
97
+ return;
98
+ }
99
+ const channel = this.safeString(message, 'stream');
100
+ const method = this.safeValue(methods, channel);
101
+ if (method !== undefined) {
102
+ method.call(this, client, message);
103
+ }
104
+ }
105
+ async subscribeMultiple(messageHashes, request, rawHashes, publicOrPrivate = true) {
106
+ const payload = {
107
+ 'jsonrpc': '2.0',
108
+ 'method': 'subscribe',
109
+ 'params': request,
110
+ 'id': this.requestId(),
111
+ };
112
+ const apiPart = publicOrPrivate ? 'publicMarket' : 'privateTrading';
113
+ return await this.watchMultiple(this.urls['api']['ws'][apiPart], messageHashes, payload, rawHashes);
114
+ }
115
+ requestId() {
116
+ this.lockId();
117
+ const newValue = this.sum(this.safeInteger(this.options, 'requestId', 0), 1);
118
+ this.options['requestId'] = newValue;
119
+ this.unlockId();
120
+ return newValue;
121
+ }
122
+ /**
123
+ * @method
124
+ * @name grvt#watchTicker
125
+ * @description watches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
126
+ * @see https://api-docs.grvt.io/market_data_streams/#mini-ticker-snap-feed-selector
127
+ * @param {string} symbol unified symbol of the market to fetch the ticker for
128
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
129
+ * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/?id=ticker-structure}
130
+ */
131
+ async watchTicker(symbol, params = {}) {
132
+ await this.loadMarkets();
133
+ symbol = this.symbol(symbol);
134
+ const tickers = await this.watchTickers([symbol], this.extend(params, { 'callerMethodName': 'watchTicker' }));
135
+ return tickers[symbol];
136
+ }
137
+ /**
138
+ * @method
139
+ * @name grvt#watchTickers
140
+ * @description watches a price ticker, a statistical calculation with the information calculated over the past 24 hours for all markets of a specific list
141
+ * @see https://docs.backpack.exchange/#tag/Streams/Public/Ticker
142
+ * @param {string[]} symbols unified symbol of the market to fetch the ticker for
143
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
144
+ * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/?id=ticker-structure}
145
+ */
146
+ async watchTickers(symbols = undefined, params = {}) {
147
+ if (symbols === undefined) {
148
+ throw new ArgumentsRequired(this.id + ' watchTickers requires a symbols argument');
149
+ }
150
+ let channel = undefined;
151
+ [channel, params] = this.handleOptionAndParams(params, 'watchTickers', 'channel', 'v1.ticker.s');
152
+ await this.loadMarkets();
153
+ symbols = this.marketSymbols(symbols);
154
+ const rawHashes = [];
155
+ const messageHashes = [];
156
+ for (let i = 0; i < symbols.length; i++) {
157
+ const symbol = symbols[i];
158
+ const market = this.market(symbol);
159
+ const marketId = market['id'];
160
+ const interval = this.safeInteger(params, 'interval', 500); // raw, 50, 100, 200, 500, 1000, 5000
161
+ rawHashes.push(marketId + '@' + interval);
162
+ messageHashes.push('ticker::' + market['symbol']);
163
+ }
164
+ const request = {
165
+ 'stream': channel,
166
+ 'selectors': rawHashes,
167
+ };
168
+ const ticker = await this.subscribeMultiple(messageHashes, this.extend(params, request), rawHashes);
169
+ if (this.newUpdates) {
170
+ const tickers = {};
171
+ tickers[ticker['symbol']] = ticker;
172
+ return tickers;
173
+ }
174
+ return this.filterByArray(this.tickers, 'symbol', symbols);
175
+ }
176
+ handleTicker(client, message) {
177
+ //
178
+ // v1.ticker.s
179
+ //
180
+ // {
181
+ // "stream": "v1.ticker.s",
182
+ // "selector": "BTC_USDT_Perp@500",
183
+ // "sequence_number": "0",
184
+ // "feed": {
185
+ // "event_time": "1767199535382794823",
186
+ // "instrument": "BTC_USDT_Perp",
187
+ // "mark_price": "87439.392166151",
188
+ // "index_price": "87462.426721779",
189
+ // "last_price": "87467.5",
190
+ // "last_size": "0.001",
191
+ // "mid_price": "87474.35",
192
+ // "best_bid_price": "87474.3",
193
+ // "best_bid_size": "2.435",
194
+ // "best_ask_price": "87474.4",
195
+ // "best_ask_size": "3.825",
196
+ // "funding_rate_8h_curr": "0.01",
197
+ // "funding_rate_8h_avg": "0.01",
198
+ // "interest_rate": "0.0",
199
+ // "forward_price": "0.0",
200
+ // "buy_volume_24h_b": "3115.631",
201
+ // "sell_volume_24h_b": "3195.236",
202
+ // "buy_volume_24h_q": "275739265.1558",
203
+ // "sell_volume_24h_q": "282773286.2658",
204
+ // "high_price": "89187.2",
205
+ // "low_price": "87404.1",
206
+ // "open_price": "88667.1",
207
+ // "open_interest": "1914.093886738",
208
+ // "long_short_ratio": "1.472050",
209
+ // "funding_rate": "0.01",
210
+ // "funding_interval_hours": 8,
211
+ // "next_funding_time": "1767225600000000000"
212
+ // },
213
+ // "prev_sequence_number": "0"
214
+ // }
215
+ //
216
+ // v1.mini.s
217
+ //
218
+ // {
219
+ // "stream": "v1.mini.s",
220
+ // "selector": "BTC_USDT_Perp@500",
221
+ // "sequence_number": "0",
222
+ // "feed": {
223
+ // "event_time": "1767198364309454192",
224
+ // "instrument": "BTC_USDT_Perp",
225
+ // "mark_price": "87792.25830235",
226
+ // "index_price": "87806.705713684",
227
+ // "last_price": "87800.0",
228
+ // "last_size": "0.032",
229
+ // "mid_price": "87799.95",
230
+ // "best_bid_price": "87799.9",
231
+ // "best_bid_size": "0.151",
232
+ // "best_ask_price": "87800.0",
233
+ // "best_ask_size": "5.733"
234
+ // },
235
+ // "prev_sequence_number": "0"
236
+ // }
237
+ //
238
+ // v1.mini.d
239
+ //
240
+ // {
241
+ // "stream": "v1.mini.d",
242
+ // "selector": "BTC_USDT_Perp@500",
243
+ // "sequence_number": "1061718",
244
+ // "feed": {
245
+ // "event_time": "1767198266500017753",
246
+ // "instrument": "BTC_USDT_Perp",
247
+ // "index_price": "87820.929569614",
248
+ // "best_ask_size": "5.708"
249
+ // },
250
+ // "prev_sequence_number": "1061717"
251
+ // }
252
+ //
253
+ const data = this.safeDict(message, 'feed', {});
254
+ const selector = this.safeString(message, 'selector');
255
+ const parts = selector.split('@');
256
+ const marketId = this.safeString(parts, 0);
257
+ const market = this.safeMarket(marketId, undefined);
258
+ const symbol = market['symbol'];
259
+ const ticker = this.parseWsTicker(data, market);
260
+ this.tickers[symbol] = ticker;
261
+ client.resolve(ticker, 'ticker::' + symbol);
262
+ }
263
+ parseWsTicker(message, market = undefined) {
264
+ // same dict as REST api
265
+ return this.parseTicker(message, market);
266
+ }
267
+ /**
268
+ * @method
269
+ * @name grvt#watchTrades
270
+ * @description watches information on multiple trades made in a market
271
+ * @see https://api-docs.grvt.io/market_data_streams/#trade_1
272
+ * @param {string} symbol unified market symbol of the market trades were made in
273
+ * @param {int} [since] the earliest time in ms to fetch orders for
274
+ * @param {int} [limit] the maximum number of trade structures to retrieve
275
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
276
+ * @returns {object[]} a list of [trade structures]{@link https://docs.ccxt.com/?id=trade-structure}
277
+ */
278
+ async watchTrades(symbol, since = undefined, limit = undefined, params = {}) {
279
+ return await this.watchTradesForSymbols([symbol], since, limit, params);
280
+ }
281
+ /**
282
+ * @method
283
+ * @name grvt#watchTradesForSymbols
284
+ * @description get the list of most recent trades for a list of symbols
285
+ * @see https://api-docs.grvt.io/market_data_streams/#trade_1
286
+ * @param {string[]} symbols unified symbol of the market to fetch trades for
287
+ * @param {int} [since] timestamp in ms of the earliest trade to fetch
288
+ * @param {int} [limit] the maximum amount of trades to fetch
289
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
290
+ * @param {string} [params.limit] 50, 200, 500, 1000 (default 50)
291
+ * @returns {object[]} a list of [trade structures]{@link https://docs.ccxt.com/?id=public-trades}
292
+ */
293
+ async watchTradesForSymbols(symbols, since = undefined, limit = undefined, params = {}) {
294
+ await this.loadMarkets();
295
+ symbols = this.marketSymbols(symbols);
296
+ const rawHashes = [];
297
+ const messageHashes = [];
298
+ for (let i = 0; i < symbols.length; i++) {
299
+ const symbol = symbols[i];
300
+ const market = this.market(symbol);
301
+ const marketId = market['id'];
302
+ const limitRaw = this.safeInteger(params, 'limit', 50); // 50, 200, 500, 1000
303
+ rawHashes.push(marketId + '@' + limitRaw);
304
+ messageHashes.push('trade::' + market['symbol']);
305
+ }
306
+ const request = {
307
+ 'stream': 'v1.trade',
308
+ 'selectors': rawHashes,
309
+ };
310
+ const trades = await this.subscribeMultiple(messageHashes, this.extend(params, request), rawHashes);
311
+ if (this.newUpdates) {
312
+ const first = this.safeValue(trades, 0);
313
+ const tradeSymbol = this.safeString(first, 'symbol');
314
+ limit = trades.getLimit(tradeSymbol, limit);
315
+ }
316
+ return this.filterBySinceLimit(trades, since, limit, 'timestamp', true);
317
+ }
318
+ handleTrades(client, message) {
319
+ //
320
+ // {
321
+ // "stream": "v1.trade",
322
+ // "selector": "BTC_USDT_Perp@50",
323
+ // "sequence_number": "0",
324
+ // "feed": {
325
+ // "event_time": "1767257046164798775",
326
+ // "instrument": "BTC_USDT_Perp",
327
+ // "is_taker_buyer": true,
328
+ // "size": "0.001",
329
+ // "price": "87700.1",
330
+ // "mark_price": "87700.817100682",
331
+ // "index_price": "87708.566729268",
332
+ // "interest_rate": "0.0",
333
+ // "forward_price": "0.0",
334
+ // "trade_id": "73808524-19",
335
+ // "venue": "ORDERBOOK",
336
+ // "is_rpi": false
337
+ // },
338
+ // "prev_sequence_number": "0"
339
+ // }
340
+ //
341
+ const data = this.safeDict(message, 'feed', {});
342
+ const selector = this.safeString(message, 'selector');
343
+ const parts = selector.split('@');
344
+ const marketId = this.safeString(parts, 0);
345
+ const market = this.safeMarket(marketId, undefined);
346
+ const symbol = market['symbol'];
347
+ if (!(symbol in this.trades)) {
348
+ const limit = this.safeInteger(this.options, 'tradesLimit', 1000);
349
+ this.trades[symbol] = new ArrayCache(limit);
350
+ }
351
+ const parsed = this.parseWsTrade(data);
352
+ const stored = this.trades[symbol];
353
+ stored.append(parsed);
354
+ client.resolve(stored, 'trade::' + symbol);
355
+ }
356
+ parseWsTrade(trade, market = undefined) {
357
+ // same as REST api
358
+ return this.parseTrade(trade, market);
359
+ }
360
+ /**
361
+ * @method
362
+ * @name grvt#watchOHLCV
363
+ * @description watches historical candlestick data containing the open, high, low, and close price, and the volume of a market
364
+ * @see https://api-docs.grvt.io/market_data_streams/#candlestick_1
365
+ * @param {string} symbol unified symbol of the market to fetch OHLCV data for
366
+ * @param {string} timeframe the length of time each candle represents
367
+ * @param {int} [since] timestamp in ms of the earliest candle to fetch
368
+ * @param {int} [limit] the maximum amount of candles to fetch
369
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
370
+ * @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
371
+ */
372
+ async watchOHLCV(symbol, timeframe = '1m', since = undefined, limit = undefined, params = {}) {
373
+ await this.loadMarkets();
374
+ symbol = this.symbol(symbol);
375
+ params['callerMethodName'] = 'watchOHLCV';
376
+ const result = await this.watchOHLCVForSymbols([[symbol, timeframe]], since, limit, params);
377
+ return result[symbol][timeframe];
378
+ }
379
+ /**
380
+ * @method
381
+ * @name grvt#watchOHLCVForSymbols
382
+ * @description watches historical candlestick data containing the open, high, low, and close price, and the volume of a market
383
+ * @see https://api-docs.grvt.io/market_data_streams/#candlestick_1
384
+ * @param {string[][]} symbolsAndTimeframes array of arrays containing unified symbols and timeframes to fetch OHLCV data for, example [['BTC/USDT', '1m'], ['LTC/USDT', '5m']]
385
+ * @param {int} [since] timestamp in ms of the earliest candle to fetch
386
+ * @param {int} [limit] the maximum amount of candles to fetch
387
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
388
+ * @returns {object} A list of candles ordered as timestamp, open, high, low, close, volume
389
+ */
390
+ async watchOHLCVForSymbols(symbolsAndTimeframes, since = undefined, limit = undefined, params = {}) {
391
+ await this.loadMarkets();
392
+ const rawHashes = [];
393
+ const messageHashes = [];
394
+ for (let i = 0; i < symbolsAndTimeframes.length; i++) {
395
+ const data = symbolsAndTimeframes[i];
396
+ const symbolString = this.safeString(data, 0);
397
+ const market = this.market(symbolString);
398
+ const marketId = market['id'];
399
+ const unfiedTimeframe = this.safeString(data, 1, '1');
400
+ const timeframeId = this.safeString(this.timeframes, unfiedTimeframe, unfiedTimeframe);
401
+ rawHashes.push(marketId + '@' + timeframeId + '-TRADE');
402
+ messageHashes.push('ohlcv::' + market['symbol'] + '::' + unfiedTimeframe);
403
+ }
404
+ const request = {
405
+ 'stream': 'v1.candle',
406
+ 'selectors': rawHashes,
407
+ };
408
+ const [symbol, timeframe, stored] = await this.subscribeMultiple(messageHashes, this.extend(params, request), rawHashes);
409
+ if (this.newUpdates) {
410
+ limit = stored.getLimit(symbol, limit);
411
+ }
412
+ const filtered = this.filterBySinceLimit(stored, since, limit, 0, true);
413
+ return this.createOHLCVObject(symbol, timeframe, filtered);
414
+ }
415
+ handleOHLCV(client, message) {
416
+ //
417
+ // {
418
+ // "stream": "v1.candle",
419
+ // "selector": "BTC_USDT_Perp@CI_1_M-TRADE",
420
+ // "sequence_number": "0",
421
+ // "feed": {
422
+ // "open_time": "1767263280000000000",
423
+ // "close_time": "1767263340000000000",
424
+ // "open": "87799.1",
425
+ // "close": "87799.1",
426
+ // "high": "87799.1",
427
+ // "low": "87799.1",
428
+ // "volume_b": "0.0",
429
+ // "volume_q": "0.0",
430
+ // "trades": 0,
431
+ // "instrument": "BTC_USDT_Perp"
432
+ // },
433
+ // "prev_sequence_number": "0"
434
+ // }
435
+ //
436
+ const data = this.safeDict(message, 'feed', {});
437
+ const selector = this.safeString(message, 'selector');
438
+ const parts = selector.split('@');
439
+ const marketId = this.safeString(parts, 0);
440
+ const market = this.safeMarket(marketId, undefined);
441
+ const symbol = market['symbol'];
442
+ const secondPart = this.safeString(parts, 1);
443
+ const timeframeId = secondPart.replace('-TRADE', '');
444
+ const timeframe = this.findTimeframe(timeframeId);
445
+ const messageHash = 'ohlcv::' + symbol + '::' + timeframe;
446
+ this.ohlcvs[symbol] = this.safeValue(this.ohlcvs, symbol, {});
447
+ if (!(timeframe in this.ohlcvs[symbol])) {
448
+ const limit = this.handleOption('watchOHLCV', 'limit', 1000);
449
+ this.ohlcvs[symbol][timeframe] = new ArrayCacheByTimestamp(limit);
450
+ }
451
+ const stored = this.ohlcvs[symbol][timeframe];
452
+ const parsed = this.parseWsOHLCV(data, market);
453
+ stored.append(parsed);
454
+ const resolveData = [symbol, timeframe, stored];
455
+ client.resolve(resolveData, messageHash);
456
+ }
457
+ parseWsOHLCV(ohlcv, market = undefined) {
458
+ // same as REST api
459
+ return this.parseOHLCV(ohlcv, market);
460
+ }
461
+ /**
462
+ * @method
463
+ * @name grvt#watchOrderBook
464
+ * @description watches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
465
+ * @see https://api-docs.grvt.io/market_data_streams/#orderbook-snap
466
+ * @see https://api-docs.grvt.io/market_data_streams/#orderbook-delta
467
+ * @param {string} symbol unified symbol of the market to fetch the order book for
468
+ * @param {int} [limit] the maximum amount of order book entries to return.
469
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
470
+ * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/?id=order-book-structure} indexed by market symbols
471
+ */
472
+ async watchOrderBook(symbol, limit = undefined, params = {}) {
473
+ await this.loadMarkets();
474
+ symbol = this.symbol(symbol);
475
+ return await this.watchOrderBookForSymbols([symbol], limit, params);
476
+ }
477
+ /**
478
+ * @method
479
+ * @name grvt#watchOrderBookForSymbols
480
+ * @description watches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
481
+ * @see https://api-docs.grvt.io/market_data_streams/#orderbook-snap
482
+ * @see https://api-docs.grvt.io/market_data_streams/#orderbook-delta
483
+ * @param {string[]} symbols unified array of symbols
484
+ * @param {int} [limit] the maximum amount of order book entries to return.
485
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
486
+ * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/?id=order-book-structure} indexed by market symbols
487
+ */
488
+ async watchOrderBookForSymbols(symbols, limit = undefined, params = {}) {
489
+ await this.loadMarkets();
490
+ let channel = undefined;
491
+ [channel, params] = this.handleOptionAndParams(params, 'watchOrderBook', 'channel', 'v1.book.d');
492
+ const isSnapshot = channel === 'v1.book.s';
493
+ const symbolsLength = symbols.length;
494
+ if (symbolsLength === 0) {
495
+ throw new ArgumentsRequired(this.id + ' watchOrderBookForSymbols() requires a non-empty array of symbols');
496
+ }
497
+ if (limit === undefined) {
498
+ [limit, params] = this.handleOptionAndParams(params, 'watchOrderBook', 'limit', 100);
499
+ }
500
+ let interval = undefined;
501
+ [interval, params] = this.handleOptionAndParams(params, 'watchOrderBook', 'interval', 500);
502
+ symbols = this.marketSymbols(symbols);
503
+ const extraPart = isSnapshot ? (interval + '-' + limit) : interval;
504
+ const rawHashes = [];
505
+ const messageHashes = [];
506
+ for (let i = 0; i < symbols.length; i++) {
507
+ const symbol = symbols[i];
508
+ const market = this.market(symbol);
509
+ const marketId = market['id'];
510
+ rawHashes.push(marketId + '@' + extraPart);
511
+ messageHashes.push('orderbook::' + market['symbol']);
512
+ }
513
+ const request = {
514
+ 'stream': channel,
515
+ 'selectors': rawHashes,
516
+ };
517
+ const orderbook = await this.subscribeMultiple(messageHashes, this.extend(request, params), rawHashes);
518
+ return orderbook.limit();
519
+ }
520
+ handleOrderBook(client, message) {
521
+ //
522
+ // {
523
+ // "stream": "v1.book.s",
524
+ // "selector": "BTC_USDT_Perp@500-100",
525
+ // "sequence_number": "0",
526
+ // "feed": {
527
+ // "event_time": "1767292408400000000",
528
+ // "instrument": "BTC_USDT_Perp",
529
+ // "bids": [
530
+ // {
531
+ // "price": "88107.3",
532
+ // "size": "5.322",
533
+ // "num_orders": 11
534
+ // },
535
+ // ],
536
+ // "asks": [
537
+ // {
538
+ // "price": "88107.4",
539
+ // "size": "5.273",
540
+ // "num_orders": 37
541
+ // },
542
+ // ]
543
+ // },
544
+ // "prev_sequence_number": "0"
545
+ // }
546
+ //
547
+ const data = this.safeDict(message, 'feed', {});
548
+ const selector = this.safeString(message, 'selector');
549
+ const parts = selector.split('@');
550
+ const marketId = this.safeString(parts, 0);
551
+ const market = this.safeMarket(marketId, undefined);
552
+ const symbol = market['symbol'];
553
+ const timestamp = this.safeIntegerProduct(data, 'event_time', 0.000001);
554
+ if (!(symbol in this.orderbooks)) {
555
+ this.orderbooks[symbol] = this.orderBook();
556
+ }
557
+ const orderbook = this.orderbooks[symbol];
558
+ const sequenceNumber = this.safeInteger(message, 'sequence_number');
559
+ const stream = this.safeString(message, 'stream');
560
+ const isSnapshotChannel = stream === 'v1.book.s';
561
+ const isSnapshotMessage = sequenceNumber <= 0;
562
+ if (isSnapshotChannel || isSnapshotMessage) {
563
+ const snapshot = this.parseOrderBook(data, symbol, timestamp, 'bids', 'asks', 'price', 'size');
564
+ orderbook.reset(snapshot);
565
+ }
566
+ else {
567
+ const asks = this.safeList(data, 'asks', []);
568
+ const bids = this.safeList(data, 'bids', []);
569
+ this.handleDeltasWithKeys(orderbook['asks'], asks, 'price', 'size');
570
+ this.handleDeltasWithKeys(orderbook['bids'], bids, 'price', 'size');
571
+ orderbook['timestamp'] = timestamp;
572
+ orderbook['datetime'] = this.iso8601(timestamp);
573
+ }
574
+ orderbook['nonce'] = sequenceNumber;
575
+ const messageHash = 'orderbook::' + symbol;
576
+ this.orderbooks[symbol] = orderbook;
577
+ client.resolve(orderbook, messageHash);
578
+ }
579
+ async authenticate(params = {}) {
580
+ this.checkRequiredCredentials();
581
+ await this.signIn();
582
+ const wsOptions = this.safeDict(this.options, 'ws', {});
583
+ const authenticated = this.safeString(wsOptions, 'token');
584
+ if (authenticated === undefined) {
585
+ const accountId = this.safeString(this.options, 'AuthAccountId');
586
+ const cookieValue = this.safeString(this.options, 'AuthCookieValue');
587
+ if (cookieValue === undefined || accountId === undefined) {
588
+ throw new AuthenticationError(this.id + ' : at first, you need to authenticate with exchange using signIn() method.');
589
+ }
590
+ const defaultOptions = {
591
+ 'ws': {
592
+ 'options': {
593
+ 'headers': {
594
+ 'Cookie': cookieValue,
595
+ 'X-Grvt-Account-Id': accountId,
596
+ },
597
+ },
598
+ },
599
+ };
600
+ this.extendExchangeOptions(defaultOptions);
601
+ this.client(this.urls['api']['ws']['privateTrading']);
602
+ }
603
+ }
604
+ /**
605
+ * @method
606
+ * @name grvt#watchMyTrades
607
+ * @description watches information on multiple trades made by the user
608
+ * @see https://api-docs.grvt.io/trading_streams/#fill
609
+ * @param {string} symbol unified market symbol of the market trades were made in
610
+ * @param {int} [since] the earliest time in ms to fetch trades for
611
+ * @param {int} [limit] the maximum number of trade structures to retrieve
612
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
613
+ * @param {boolean} [params.unifiedMargin] use unified margin account
614
+ * @returns {object[]} a list of [trade structures]{@link https://docs.ccxt.com/?id=trade-structure}
615
+ */
616
+ async watchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
617
+ const subAccountId = this.getSubAccountId(params);
618
+ await this.loadMarkets();
619
+ await this.authenticate();
620
+ const messageHashes = [];
621
+ const rawHashes = [];
622
+ if (symbol !== undefined) {
623
+ const market = this.market(symbol);
624
+ rawHashes.push(subAccountId + '-' + market['id']);
625
+ messageHashes.push('myTrades::' + market['symbol']);
626
+ }
627
+ else {
628
+ messageHashes.push('myTrades');
629
+ rawHashes.push(subAccountId);
630
+ }
631
+ const request = {
632
+ 'stream': 'v1.fill',
633
+ 'selectors': rawHashes,
634
+ };
635
+ const trades = await this.subscribeMultiple(messageHashes, this.extend(request, params), messageHashes, false);
636
+ if (this.newUpdates) {
637
+ limit = trades.getLimit(symbol, limit);
638
+ }
639
+ return this.filterBySinceLimit(trades, since, limit, 'timestamp', true);
640
+ }
641
+ handleMyTrade(client, message) {
642
+ //
643
+ // {
644
+ // "stream": "v1.fill",
645
+ // "selector": "2147050003876484-BTC_USDT_Perp",
646
+ // "sequence_number": "1",
647
+ // "feed": {
648
+ // "event_time": "1767354369431470728",
649
+ // "sub_account_id": "2147050003876484",
650
+ // "instrument": "BTC_USDT_Perp",
651
+ // "is_buyer": true,
652
+ // "is_taker": true,
653
+ // "size": "0.001",
654
+ // "price": "89473.4",
655
+ // "mark_price": "89475.966335827",
656
+ // "index_price": "89515.016819765",
657
+ // "interest_rate": "0.0",
658
+ // "forward_price": "0.0",
659
+ // "realized_pnl": "0.0",
660
+ // "fee": "0.040263",
661
+ // "fee_rate": "0.045",
662
+ // "trade_id": "74150425-1",
663
+ // "order_id": "0x0101010503a12f6e000000007791f1bd",
664
+ // "venue": "ORDERBOOK",
665
+ // "is_liquidation": false,
666
+ // "client_order_id": "99191900",
667
+ // "signer": "0x42c9f56f2c9da534f64b8806d64813b29c62a01d",
668
+ // "broker": "UNSPECIFIED",
669
+ // "is_rpi": false,
670
+ // "builder": "0x00",
671
+ // "builder_fee_rate": "0.0",
672
+ // "builder_fee": "0"
673
+ // },
674
+ // "prev_sequence_number": "0"
675
+ // }
676
+ //
677
+ const data = this.safeDict(message, 'feed', {});
678
+ if (this.myTrades === undefined) {
679
+ const limit = this.safeInteger(this.options, 'tradesLimit', 1000);
680
+ this.myTrades = new ArrayCacheBySymbolById(limit);
681
+ }
682
+ const trade = this.parseWsMyTrade(data);
683
+ this.myTrades.append(trade);
684
+ client.resolve(this.myTrades, 'myTrades::' + trade['symbol']);
685
+ client.resolve(this.myTrades, 'myTrades');
686
+ }
687
+ parseWsMyTrade(trade, market = undefined) {
688
+ return this.parseTrade(trade, market);
689
+ }
690
+ /**
691
+ * @method
692
+ * @name grvt#watchPositions
693
+ * @see https://api-docs.grvt.io/trading_streams/#positions
694
+ * @description watch all open positions
695
+ * @param {string[]} [symbols] list of unified market symbols
696
+ * @param {int} [since] the earliest time in ms to fetch positions for
697
+ * @param {int} [limit] the maximum number of positions to retrieve
698
+ * @param {object} params extra parameters specific to the exchange API endpoint
699
+ * @returns {object[]} a list of [position structure]{@link https://docs.ccxt.com/en/latest/manual.html#position-structure}
700
+ */
701
+ async watchPositions(symbols = undefined, since = undefined, limit = undefined, params = {}) {
702
+ const subAccountId = this.getSubAccountId(params);
703
+ await this.authenticate();
704
+ await this.loadMarkets();
705
+ symbols = this.marketSymbols(symbols);
706
+ const rawHashes = [];
707
+ const messageHashes = [];
708
+ if (symbols !== undefined) {
709
+ for (let i = 0; i < symbols.length; i++) {
710
+ const symbol = symbols[i];
711
+ const market = this.market(symbol);
712
+ rawHashes.push(subAccountId + '-' + market['id']);
713
+ messageHashes.push('positions::' + market['symbol']);
714
+ }
715
+ }
716
+ else {
717
+ messageHashes.push('positions');
718
+ rawHashes.push(subAccountId);
719
+ }
720
+ const request = {
721
+ 'stream': 'v1.position',
722
+ 'selectors': rawHashes,
723
+ };
724
+ const newPositions = await this.subscribeMultiple(messageHashes, this.extend(request, params), rawHashes, false);
725
+ if (this.newUpdates) {
726
+ return newPositions;
727
+ }
728
+ return this.filterBySymbolsSinceLimit(this.positions, symbols, since, limit, true);
729
+ }
730
+ handlePosition(client, message) {
731
+ //
732
+ // {
733
+ // "stream": "v1.position",
734
+ // "selector": "2147050003876484-BTC_USDT_Perp",
735
+ // "sequence_number": "0",
736
+ // "feed": {
737
+ // "event_time": "1767356959482262748",
738
+ // "sub_account_id": "2147050003876484",
739
+ // "instrument": "BTC_USDT_Perp",
740
+ // "size": "0.001",
741
+ // "notional": "89.430118",
742
+ // "entry_price": "89426.4",
743
+ // "exit_price": "0.0",
744
+ // "mark_price": "89430.118505969",
745
+ // "unrealized_pnl": "0.003718",
746
+ // "realized_pnl": "0.0",
747
+ // "total_pnl": "0.003718",
748
+ // "roi": "0.0041",
749
+ // "quote_index_price": "0.999101105",
750
+ // "est_liquidation_price": "74347.153505969",
751
+ // "leverage": "20.0",
752
+ // "cumulative_fee": "0.040241",
753
+ // "cumulative_realized_funding_payment": "0.0",
754
+ // "margin_type": "CROSS"
755
+ // },
756
+ // "prev_sequence_number": "0"
757
+ // }
758
+ //
759
+ if (this.positions === undefined) {
760
+ this.positions = new ArrayCacheBySymbolBySide();
761
+ }
762
+ const data = this.safeDict(message, 'feed');
763
+ const position = this.parseWsPosition(data);
764
+ const symbol = this.safeString(position, 'symbol');
765
+ this.positions.append(position);
766
+ const newPositions = [];
767
+ newPositions.push(position);
768
+ client.resolve(newPositions, 'positions::' + symbol);
769
+ client.resolve(newPositions, 'positions');
770
+ }
771
+ parseWsPosition(position, market = undefined) {
772
+ // same as REST api
773
+ return this.parsePosition(position, market);
774
+ }
775
+ /**
776
+ * @method
777
+ * @name grvt#watchOrders
778
+ * @description watches information on multiple orders made by the user
779
+ * @see https://api-docs.grvt.io/trading_streams/#order_1-feed-selector
780
+ * @param {string} symbol unified market symbol of the market orders were made in
781
+ * @param {int} [since] the earliest time in ms to fetch orders for
782
+ * @param {int} [limit] the maximum number of order structures to retrieve
783
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
784
+ * @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/?id=order-structure}
785
+ */
786
+ async watchOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
787
+ const subAccountId = this.getSubAccountId(params);
788
+ await this.loadMarkets();
789
+ await this.authenticate();
790
+ const messageHashes = [];
791
+ const rawHashes = [];
792
+ if (symbol === undefined) {
793
+ messageHashes.push('orders');
794
+ rawHashes.push(subAccountId);
795
+ }
796
+ else {
797
+ const market = this.market(symbol);
798
+ messageHashes.push('order::' + market['symbol']);
799
+ rawHashes.push(subAccountId + '-' + market['id']);
800
+ }
801
+ const request = {
802
+ 'stream': 'v1.order',
803
+ 'selectors': rawHashes,
804
+ };
805
+ const orders = await this.subscribeMultiple(messageHashes, this.extend(request, params), rawHashes, false);
806
+ if (this.newUpdates) {
807
+ limit = orders.getLimit(symbol, limit);
808
+ }
809
+ return this.filterBySymbolSinceLimit(orders, symbol, since, limit, true);
810
+ }
811
+ handleOrder(client, message) {
812
+ //
813
+ // {
814
+ // "stream": "v1.order",
815
+ // "selector": "2147050003876484",
816
+ // "sequence_number": "17",
817
+ // "feed": {
818
+ // "order_id": "0x010101050390cd89000000007799a374",
819
+ // "sub_account_id": "2147050003876484",
820
+ // "is_market": false,
821
+ // "time_in_force": "GOOD_TILL_TIME",
822
+ // "post_only": false,
823
+ // "reduce_only": false,
824
+ // "legs": [
825
+ // {
826
+ // "instrument": "BTC_USDT_Perp",
827
+ // "size": "0.001",
828
+ // "limit_price": "87443.0",
829
+ // "is_buying_asset": true
830
+ // }
831
+ // ],
832
+ // "signature": {
833
+ // "signer": "0x42c9f56f2c9da534f64b8806d64813b29c62a01d",
834
+ // "r": "0x4d2b96fdf384f9d8f050e3d72327813a7308969d11dba179eaec514c3427f059",
835
+ // "s": "0x42717bf56091606691a569d612f302ac27e51d41df840ae217dcd0310790cd89",
836
+ // "v": 28,
837
+ // "expiration": "1769951360245000000",
838
+ // "nonce": 747860882,
839
+ // "chain_id": "0"
840
+ // },
841
+ // "metadata": {
842
+ // "client_order_id": "747860882",
843
+ // "create_time": "1767359366686762920",
844
+ // "trigger": {
845
+ // "trigger_type": "UNSPECIFIED",
846
+ // "tpsl": {
847
+ // "trigger_by": "UNSPECIFIED",
848
+ // "trigger_price": "0.0",
849
+ // "close_position": false
850
+ // }
851
+ // },
852
+ // "broker": "UNSPECIFIED",
853
+ // "is_position_transfer": false,
854
+ // "allow_crossing": false
855
+ // },
856
+ // "state": {
857
+ // "status": "OPEN",
858
+ // "reject_reason": "UNSPECIFIED",
859
+ // "book_size": [
860
+ // "0.001"
861
+ // ],
862
+ // "traded_size": [
863
+ // "0.0"
864
+ // ],
865
+ // "update_time": "1767359366686762920",
866
+ // "avg_fill_price": [
867
+ // "0.0"
868
+ // ]
869
+ // },
870
+ // "builder": "0x00",
871
+ // "builder_fee": "0.0"
872
+ // },
873
+ // "prev_sequence_number": "16"
874
+ // }
875
+ //
876
+ const data = this.safeDict(message, 'feed');
877
+ if (this.orders === undefined) {
878
+ const limit = this.safeInteger(this.options, 'ordersLimit', 1000);
879
+ this.orders = new ArrayCacheBySymbolById(limit);
880
+ }
881
+ const order = this.parseWsOrder(data);
882
+ this.orders.append(order);
883
+ client.resolve(this.orders, 'orders');
884
+ const ordersForSymbol = this.filterBySymbolSinceLimit(this.orders, order['symbol'], undefined, undefined, true);
885
+ client.resolve(ordersForSymbol, 'orders::' + order['symbol']);
886
+ }
887
+ parseWsOrder(order, market = undefined) {
888
+ // same as REST api
889
+ return this.parseOrder(order, market);
890
+ }
891
+ handleErrorMessage(client, response) {
892
+ //
893
+ // {
894
+ // "jsonrpc": "2.0",
895
+ // "error": {
896
+ // "code": 3000,
897
+ // "message": "Instrument is invalid"
898
+ // },
899
+ // "id": 1,
900
+ // "method": "subscribe"
901
+ // }
902
+ //
903
+ const error = this.safeDict(response, 'error');
904
+ const errorCode = this.safeString(error, 'code');
905
+ if (errorCode !== undefined) {
906
+ const body = this.json(response);
907
+ const feedback = this.id + ' ' + body;
908
+ const message = this.safeString(error, 'message');
909
+ this.throwExactlyMatchedException(this.exceptions['exact'], errorCode, feedback);
910
+ this.throwExactlyMatchedException(this.exceptions['exact'], message, feedback);
911
+ this.throwBroadlyMatchedException(this.exceptions['broad'], message, feedback);
912
+ throw new ExchangeError(this.id + ' ' + body);
913
+ }
914
+ return false;
915
+ }
916
+ }