ccxt-ir 4.10.0 → 4.12.0

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 (1059) hide show
  1. package/README.md +4 -4
  2. package/dist/ccxt.browser.min.js +2 -2
  3. package/dist/cjs/ccxt.js +10 -1
  4. package/dist/cjs/src/abstract/bidarz.js +11 -0
  5. package/dist/cjs/src/bidarz.js +337 -0
  6. package/dist/cjs/src/bit24.js +4 -3
  7. package/dist/cjs/src/changefa.js +342 -0
  8. package/dist/cjs/src/ourbit.js +445 -0
  9. package/js/ccxt.d.ts +11 -2
  10. package/js/ccxt.js +8 -2
  11. package/js/src/abstract/bidarz.d.ts +9 -0
  12. package/js/src/abstract/bidarz.js +11 -0
  13. package/js/src/abstract/changefa.d.ts +8 -0
  14. package/js/src/abstract/changefa.js +11 -0
  15. package/js/src/abstract/ourbit.d.ts +10 -0
  16. package/js/src/abstract/ourbit.js +11 -0
  17. package/js/src/bidarz.d.ts +22 -0
  18. package/js/src/bidarz.js +336 -0
  19. package/js/src/bit24.js +4 -3
  20. package/js/src/changefa.d.ts +20 -0
  21. package/js/src/changefa.js +341 -0
  22. package/js/src/ourbit.d.ts +21 -0
  23. package/js/src/ourbit.js +444 -0
  24. package/js/src/src/abantether.d.ts +21 -0
  25. package/js/src/src/abantether.js +353 -0
  26. package/js/src/src/abstract/abantether.d.ts +8 -0
  27. package/js/src/src/abstract/abantether.js +11 -0
  28. package/js/src/src/abstract/afratether.d.ts +9 -0
  29. package/js/src/src/abstract/afratether.js +11 -0
  30. package/js/src/src/abstract/alpaca.d.ts +77 -0
  31. package/js/src/src/abstract/alpaca.js +11 -0
  32. package/js/src/src/abstract/apex.d.ts +34 -0
  33. package/js/src/src/abstract/apex.js +11 -0
  34. package/js/src/src/abstract/arzinja.d.ts +8 -0
  35. package/js/src/src/abstract/arzinja.js +11 -0
  36. package/js/src/src/abstract/arzplus.d.ts +11 -0
  37. package/js/src/src/abstract/arzplus.js +11 -0
  38. package/js/src/src/abstract/ascendex.d.ts +80 -0
  39. package/js/src/src/abstract/ascendex.js +11 -0
  40. package/js/src/src/abstract/asretether.d.ts +8 -0
  41. package/js/src/src/abstract/asretether.js +11 -0
  42. package/js/src/src/abstract/bidarz.d.ts +9 -0
  43. package/js/src/src/abstract/bidarz.js +11 -0
  44. package/js/src/src/abstract/bigone.d.ts +48 -0
  45. package/js/src/src/abstract/bigone.js +11 -0
  46. package/js/src/src/abstract/binance.d.ts +773 -0
  47. package/js/src/src/abstract/binance.js +11 -0
  48. package/js/src/src/abstract/bingx.d.ts +165 -0
  49. package/js/src/src/abstract/bingx.js +11 -0
  50. package/js/src/src/abstract/bit24.d.ts +9 -0
  51. package/js/src/src/abstract/bit24.js +11 -0
  52. package/js/src/src/abstract/bit2c.d.ts +30 -0
  53. package/js/src/src/abstract/bit2c.js +11 -0
  54. package/js/src/src/abstract/bitbank.d.ts +35 -0
  55. package/js/src/src/abstract/bitbank.js +11 -0
  56. package/js/src/src/abstract/bitbarg.d.ts +8 -0
  57. package/js/src/src/abstract/bitbarg.js +11 -0
  58. package/js/src/src/abstract/bitbns.d.ts +43 -0
  59. package/js/src/src/abstract/bitbns.js +11 -0
  60. package/js/src/src/abstract/bitfinex.d.ts +143 -0
  61. package/js/src/src/abstract/bitfinex.js +11 -0
  62. package/js/src/src/abstract/bitflyer.d.ts +42 -0
  63. package/js/src/src/abstract/bitflyer.js +11 -0
  64. package/js/src/src/abstract/bitget.d.ts +578 -0
  65. package/js/src/src/abstract/bitget.js +11 -0
  66. package/js/src/src/abstract/bithumb.d.ts +35 -0
  67. package/js/src/src/abstract/bithumb.js +11 -0
  68. package/js/src/src/abstract/bitimen.d.ts +10 -0
  69. package/js/src/src/abstract/bitimen.js +11 -0
  70. package/js/src/src/abstract/bitir.d.ts +10 -0
  71. package/js/src/src/abstract/bitir.js +11 -0
  72. package/js/src/src/abstract/bitmart.d.ts +120 -0
  73. package/js/src/src/abstract/bitmart.js +11 -0
  74. package/js/src/src/abstract/bitmex.d.ts +100 -0
  75. package/js/src/src/abstract/bitmex.js +11 -0
  76. package/js/src/src/abstract/bitopro.d.ts +33 -0
  77. package/js/src/src/abstract/bitopro.js +11 -0
  78. package/js/src/src/abstract/bitpin.d.ts +11 -0
  79. package/js/src/src/abstract/bitpin.js +11 -0
  80. package/js/src/src/abstract/bitrue.d.ts +75 -0
  81. package/js/src/src/abstract/bitrue.js +11 -0
  82. package/js/src/src/abstract/bitso.d.ts +46 -0
  83. package/js/src/src/abstract/bitso.js +11 -0
  84. package/js/src/src/abstract/bitstamp.d.ts +262 -0
  85. package/js/src/src/abstract/bitstamp.js +11 -0
  86. package/js/src/src/abstract/bitteam.d.ts +32 -0
  87. package/js/src/src/abstract/bitteam.js +11 -0
  88. package/js/src/src/abstract/bittrade.d.ts +117 -0
  89. package/js/src/src/abstract/bittrade.js +11 -0
  90. package/js/src/src/abstract/bitunix.d.ts +9 -0
  91. package/js/src/src/abstract/bitunix.js +11 -0
  92. package/js/src/src/abstract/bitvavo.d.ts +30 -0
  93. package/js/src/src/abstract/bitvavo.js +11 -0
  94. package/js/src/src/abstract/blockchaincom.d.ts +31 -0
  95. package/js/src/src/abstract/blockchaincom.js +11 -0
  96. package/js/src/src/abstract/blofin.d.ts +70 -0
  97. package/js/src/src/abstract/blofin.js +11 -0
  98. package/js/src/src/abstract/btcalpha.d.ts +21 -0
  99. package/js/src/src/abstract/btcalpha.js +11 -0
  100. package/js/src/src/abstract/btcbox.d.ts +18 -0
  101. package/js/src/src/abstract/btcbox.js +11 -0
  102. package/js/src/src/abstract/btcmarkets.d.ts +42 -0
  103. package/js/src/src/abstract/btcmarkets.js +11 -0
  104. package/js/src/src/abstract/btcturk.d.ts +23 -0
  105. package/js/src/src/abstract/btcturk.js +11 -0
  106. package/js/src/src/abstract/bybit.d.ts +316 -0
  107. package/js/src/src/abstract/bybit.js +11 -0
  108. package/js/src/src/abstract/bydfi.d.ts +11 -0
  109. package/js/src/src/abstract/bydfi.js +11 -0
  110. package/js/src/src/abstract/cafearz.d.ts +8 -0
  111. package/js/src/src/abstract/cafearz.js +11 -0
  112. package/js/src/src/abstract/cex.d.ts +35 -0
  113. package/js/src/src/abstract/cex.js +11 -0
  114. package/js/src/src/abstract/coinbase.d.ts +97 -0
  115. package/js/src/src/abstract/coinbase.js +11 -0
  116. package/js/src/src/abstract/coinbaseexchange.d.ts +71 -0
  117. package/js/src/src/abstract/coinbaseexchange.js +11 -0
  118. package/js/src/src/abstract/coinbaseinternational.d.ts +42 -0
  119. package/js/src/src/abstract/coinbaseinternational.js +11 -0
  120. package/js/src/src/abstract/coincatch.d.ts +97 -0
  121. package/js/src/src/abstract/coincatch.js +11 -0
  122. package/js/src/src/abstract/coincheck.d.ts +36 -0
  123. package/js/src/src/abstract/coincheck.js +11 -0
  124. package/js/src/src/abstract/coinex.d.ts +240 -0
  125. package/js/src/src/abstract/coinex.js +11 -0
  126. package/js/src/src/abstract/coinmate.d.ts +65 -0
  127. package/js/src/src/abstract/coinmate.js +11 -0
  128. package/js/src/src/abstract/coinmetro.d.ts +37 -0
  129. package/js/src/src/abstract/coinmetro.js +11 -0
  130. package/js/src/src/abstract/coinone.d.ts +70 -0
  131. package/js/src/src/abstract/coinone.js +11 -0
  132. package/js/src/src/abstract/coinsph.d.ts +57 -0
  133. package/js/src/src/abstract/coinsph.js +11 -0
  134. package/js/src/src/abstract/coinspot.d.ts +31 -0
  135. package/js/src/src/abstract/coinspot.js +11 -0
  136. package/js/src/src/abstract/cryptocom.d.ts +126 -0
  137. package/js/src/src/abstract/cryptocom.js +11 -0
  138. package/js/src/src/abstract/cryptomus.d.ts +23 -0
  139. package/js/src/src/abstract/cryptomus.js +11 -0
  140. package/js/src/src/abstract/defx.d.ts +72 -0
  141. package/js/src/src/abstract/defx.js +11 -0
  142. package/js/src/src/abstract/delta.d.ts +53 -0
  143. package/js/src/src/abstract/delta.js +11 -0
  144. package/js/src/src/abstract/deribit.d.ts +129 -0
  145. package/js/src/src/abstract/deribit.js +11 -0
  146. package/js/src/src/abstract/derive.d.ts +120 -0
  147. package/js/src/src/abstract/derive.js +11 -0
  148. package/js/src/src/abstract/digifinex.d.ts +95 -0
  149. package/js/src/src/abstract/digifinex.js +11 -0
  150. package/js/src/src/abstract/ellipx.d.ts +28 -0
  151. package/js/src/src/abstract/ellipx.js +11 -0
  152. package/js/src/src/abstract/eterex.d.ts +8 -0
  153. package/js/src/src/abstract/eterex.js +11 -0
  154. package/js/src/src/abstract/excoino.d.ts +10 -0
  155. package/js/src/src/abstract/excoino.js +11 -0
  156. package/js/src/src/abstract/exir.d.ts +11 -0
  157. package/js/src/src/abstract/exir.js +11 -0
  158. package/js/src/src/abstract/exmo.d.ts +58 -0
  159. package/js/src/src/abstract/exmo.js +11 -0
  160. package/js/src/src/abstract/exnovin.d.ts +9 -0
  161. package/js/src/src/abstract/exnovin.js +11 -0
  162. package/js/src/src/abstract/farhadexchange.d.ts +8 -0
  163. package/js/src/src/abstract/farhadexchange.js +11 -0
  164. package/js/src/src/abstract/foxbit.d.ts +29 -0
  165. package/js/src/src/abstract/foxbit.js +11 -0
  166. package/js/src/src/abstract/gate.d.ts +287 -0
  167. package/js/src/src/abstract/gate.js +11 -0
  168. package/js/src/src/abstract/gemini.d.ts +62 -0
  169. package/js/src/src/abstract/gemini.js +11 -0
  170. package/js/src/src/abstract/hamtapay.d.ts +9 -0
  171. package/js/src/src/abstract/hamtapay.js +11 -0
  172. package/js/src/src/abstract/hashkey.d.ts +70 -0
  173. package/js/src/src/abstract/hashkey.js +11 -0
  174. package/js/src/src/abstract/hibachi.d.ts +29 -0
  175. package/js/src/src/abstract/hibachi.js +11 -0
  176. package/js/src/src/abstract/hitbtc.d.ts +118 -0
  177. package/js/src/src/abstract/hitbtc.js +11 -0
  178. package/js/src/src/abstract/hitobit.d.ts +11 -0
  179. package/js/src/src/abstract/hitobit.js +11 -0
  180. package/js/src/src/abstract/hollaex.d.ts +36 -0
  181. package/js/src/src/abstract/hollaex.js +11 -0
  182. package/js/src/src/abstract/htx.d.ts +551 -0
  183. package/js/src/src/abstract/htx.js +11 -0
  184. package/js/src/src/abstract/hyperliquid.d.ts +9 -0
  185. package/js/src/src/abstract/hyperliquid.js +11 -0
  186. package/js/src/src/abstract/independentreserve.d.ts +46 -0
  187. package/js/src/src/abstract/independentreserve.js +11 -0
  188. package/js/src/src/abstract/indodax.d.ts +29 -0
  189. package/js/src/src/abstract/indodax.js +11 -0
  190. package/js/src/src/abstract/iranexchange.d.ts +9 -0
  191. package/js/src/src/abstract/iranexchange.js +11 -0
  192. package/js/src/src/abstract/jibitex.d.ts +10 -0
  193. package/js/src/src/abstract/jibitex.js +11 -0
  194. package/js/src/src/abstract/kcex.d.ts +10 -0
  195. package/js/src/src/abstract/kcex.js +11 -0
  196. package/js/src/src/abstract/kifpoolme.d.ts +9 -0
  197. package/js/src/src/abstract/kifpoolme.js +11 -0
  198. package/js/src/src/abstract/kraken.d.ts +61 -0
  199. package/js/src/src/abstract/kraken.js +11 -0
  200. package/js/src/src/abstract/krakenfutures.d.ts +45 -0
  201. package/js/src/src/abstract/krakenfutures.js +11 -0
  202. package/js/src/src/abstract/kucoin.d.ts +227 -0
  203. package/js/src/src/abstract/kucoin.js +11 -0
  204. package/js/src/src/abstract/kucoinfutures.d.ts +254 -0
  205. package/js/src/src/abstract/kucoinfutures.js +11 -0
  206. package/js/src/src/abstract/latoken.d.ts +59 -0
  207. package/js/src/src/abstract/latoken.js +11 -0
  208. package/js/src/src/abstract/lbank.d.ts +65 -0
  209. package/js/src/src/abstract/lbank.js +11 -0
  210. package/js/src/src/abstract/luno.d.ts +41 -0
  211. package/js/src/src/abstract/luno.js +11 -0
  212. package/js/src/src/abstract/mazdax.d.ts +11 -0
  213. package/js/src/src/abstract/mazdax.js +11 -0
  214. package/js/src/src/abstract/mercado.d.ts +28 -0
  215. package/js/src/src/abstract/mercado.js +11 -0
  216. package/js/src/src/abstract/mexc.d.ts +183 -0
  217. package/js/src/src/abstract/mexc.js +11 -0
  218. package/js/src/src/abstract/modetrade.d.ts +122 -0
  219. package/js/src/src/abstract/modetrade.js +11 -0
  220. package/js/src/src/abstract/ndax.d.ts +100 -0
  221. package/js/src/src/abstract/ndax.js +11 -0
  222. package/js/src/src/abstract/nobitex.d.ts +10 -0
  223. package/js/src/src/abstract/nobitex.js +11 -0
  224. package/js/src/src/abstract/novadax.d.ts +32 -0
  225. package/js/src/src/abstract/novadax.js +11 -0
  226. package/js/src/src/abstract/oceanex.d.ts +30 -0
  227. package/js/src/src/abstract/oceanex.js +11 -0
  228. package/js/src/src/abstract/okcoin.d.ts +77 -0
  229. package/js/src/src/abstract/okcoin.js +11 -0
  230. package/js/src/src/abstract/okexchange.d.ts +11 -0
  231. package/js/src/src/abstract/okexchange.js +11 -0
  232. package/js/src/src/abstract/okx.d.ts +352 -0
  233. package/js/src/src/abstract/okx.js +11 -0
  234. package/js/src/src/abstract/ompfinex.d.ts +10 -0
  235. package/js/src/src/abstract/ompfinex.js +11 -0
  236. package/js/src/src/abstract/onetrading.d.ts +26 -0
  237. package/js/src/src/abstract/onetrading.js +11 -0
  238. package/js/src/src/abstract/oxfun.d.ts +37 -0
  239. package/js/src/src/abstract/oxfun.js +11 -0
  240. package/js/src/src/abstract/p2b.d.ts +25 -0
  241. package/js/src/src/abstract/p2b.js +11 -0
  242. package/js/src/src/abstract/paradex.d.ts +66 -0
  243. package/js/src/src/abstract/paradex.js +11 -0
  244. package/js/src/src/abstract/paymium.d.ts +31 -0
  245. package/js/src/src/abstract/paymium.js +11 -0
  246. package/js/src/src/abstract/phemex.d.ts +120 -0
  247. package/js/src/src/abstract/phemex.js +11 -0
  248. package/js/src/src/abstract/pingi.d.ts +9 -0
  249. package/js/src/src/abstract/pingi.js +11 -0
  250. package/js/src/src/abstract/poloniex.d.ts +108 -0
  251. package/js/src/src/abstract/poloniex.js +11 -0
  252. package/js/src/src/abstract/pooleno.d.ts +8 -0
  253. package/js/src/src/abstract/pooleno.js +11 -0
  254. package/js/src/src/abstract/probit.d.ts +26 -0
  255. package/js/src/src/abstract/probit.js +11 -0
  256. package/js/src/src/abstract/raastin.d.ts +11 -0
  257. package/js/src/src/abstract/raastin.js +11 -0
  258. package/js/src/src/abstract/ramzinex.d.ts +10 -0
  259. package/js/src/src/abstract/ramzinex.js +11 -0
  260. package/js/src/src/abstract/sarmayex.d.ts +8 -0
  261. package/js/src/src/abstract/sarmayex.js +11 -0
  262. package/js/src/src/abstract/sarrafex.d.ts +10 -0
  263. package/js/src/src/abstract/sarrafex.js +11 -0
  264. package/js/src/src/abstract/tabdeal.d.ts +10 -0
  265. package/js/src/src/abstract/tabdeal.js +11 -0
  266. package/js/src/src/abstract/tehran_exchange.d.ts +9 -0
  267. package/js/src/src/abstract/tehran_exchange.js +11 -0
  268. package/js/src/src/abstract/tetherland.d.ts +8 -0
  269. package/js/src/src/abstract/tetherland.js +11 -0
  270. package/js/src/src/abstract/timex.d.ts +65 -0
  271. package/js/src/src/abstract/timex.js +11 -0
  272. package/js/src/src/abstract/tokocrypto.d.ts +40 -0
  273. package/js/src/src/abstract/tokocrypto.js +11 -0
  274. package/js/src/src/abstract/toobit.d.ts +10 -0
  275. package/js/src/src/abstract/toobit.js +11 -0
  276. package/js/src/src/abstract/tradeogre.d.ts +21 -0
  277. package/js/src/src/abstract/tradeogre.js +11 -0
  278. package/js/src/src/abstract/twox.d.ts +8 -0
  279. package/js/src/src/abstract/twox.js +11 -0
  280. package/js/src/src/abstract/ubitex.d.ts +10 -0
  281. package/js/src/src/abstract/ubitex.js +11 -0
  282. package/js/src/src/abstract/upbit.d.ts +58 -0
  283. package/js/src/src/abstract/upbit.js +11 -0
  284. package/js/src/src/abstract/vertex.d.ts +22 -0
  285. package/js/src/src/abstract/vertex.js +11 -0
  286. package/js/src/src/abstract/wallex.d.ts +11 -0
  287. package/js/src/src/abstract/wallex.js +11 -0
  288. package/js/src/src/abstract/wavesexchange.d.ts +157 -0
  289. package/js/src/src/abstract/wavesexchange.js +11 -0
  290. package/js/src/src/abstract/whitebit.d.ts +117 -0
  291. package/js/src/src/abstract/whitebit.js +11 -0
  292. package/js/src/src/abstract/woo.d.ts +144 -0
  293. package/js/src/src/abstract/woo.js +11 -0
  294. package/js/src/src/abstract/woofipro.d.ts +122 -0
  295. package/js/src/src/abstract/woofipro.js +11 -0
  296. package/js/src/src/abstract/xt.d.ts +160 -0
  297. package/js/src/src/abstract/xt.js +11 -0
  298. package/js/src/src/abstract/yobit.d.ts +19 -0
  299. package/js/src/src/abstract/yobit.js +11 -0
  300. package/js/src/src/abstract/zaif.d.ts +41 -0
  301. package/js/src/src/abstract/zaif.js +11 -0
  302. package/js/src/src/abstract/zonda.d.ts +56 -0
  303. package/js/src/src/abstract/zonda.js +11 -0
  304. package/js/src/src/afratether.d.ts +21 -0
  305. package/js/src/src/afratether.js +356 -0
  306. package/js/src/src/alpaca.d.ts +332 -0
  307. package/js/src/src/alpaca.js +1908 -0
  308. package/js/src/src/apex.d.ts +333 -0
  309. package/js/src/src/apex.js +1942 -0
  310. package/js/src/src/arzinja.d.ts +21 -0
  311. package/js/src/src/arzinja.js +298 -0
  312. package/js/src/src/arzplus.d.ts +26 -0
  313. package/js/src/src/arzplus.js +581 -0
  314. package/js/src/src/ascendex.d.ts +424 -0
  315. package/js/src/src/ascendex.js +3699 -0
  316. package/js/src/src/asretether.d.ts +21 -0
  317. package/js/src/src/asretether.js +324 -0
  318. package/js/src/src/base/Exchange.d.ts +926 -0
  319. package/js/src/src/base/Exchange.js +7399 -0
  320. package/js/src/src/base/Precise.d.ts +42 -0
  321. package/js/src/src/base/Precise.js +275 -0
  322. package/js/src/src/base/errors.d.ts +168 -0
  323. package/js/src/src/base/errors.js +255 -0
  324. package/js/src/src/base/functions/crypto.d.ts +16 -0
  325. package/js/src/src/base/functions/crypto.js +131 -0
  326. package/js/src/src/base/functions/encode.d.ts +4 -0
  327. package/js/src/src/base/functions/encode.js +32 -0
  328. package/js/src/src/base/functions/generic.d.ts +29 -0
  329. package/js/src/src/base/functions/generic.js +203 -0
  330. package/js/src/src/base/functions/misc.d.ts +9 -0
  331. package/js/src/src/base/functions/misc.js +101 -0
  332. package/js/src/src/base/functions/number.d.ts +27 -0
  333. package/js/src/src/base/functions/number.js +313 -0
  334. package/js/src/src/base/functions/platform.d.ts +7 -0
  335. package/js/src/src/base/functions/platform.js +27 -0
  336. package/js/src/src/base/functions/rsa.d.ts +5 -0
  337. package/js/src/src/base/functions/rsa.js +49 -0
  338. package/js/src/src/base/functions/string.d.ts +7 -0
  339. package/js/src/src/base/functions/string.js +44 -0
  340. package/js/src/src/base/functions/throttle.d.ts +6 -0
  341. package/js/src/src/base/functions/throttle.js +67 -0
  342. package/js/src/src/base/functions/time.d.ts +21 -0
  343. package/js/src/src/base/functions/time.js +171 -0
  344. package/js/src/src/base/functions/totp.d.ts +3 -0
  345. package/js/src/src/base/functions/totp.js +25 -0
  346. package/js/src/src/base/functions/type.d.ts +37 -0
  347. package/js/src/src/base/functions/type.js +179 -0
  348. package/js/src/src/base/functions.d.ts +10 -0
  349. package/js/src/src/base/functions.js +18 -0
  350. package/js/src/src/base/types.d.ts +586 -0
  351. package/js/src/src/base/types.js +7 -0
  352. package/js/src/src/base/ws/Cache.d.ts +27 -0
  353. package/js/src/src/base/ws/Cache.js +260 -0
  354. package/js/src/src/base/ws/Client.d.ts +53 -0
  355. package/js/src/src/base/ws/Client.js +307 -0
  356. package/js/src/src/base/ws/Future.d.ts +8 -0
  357. package/js/src/src/base/ws/Future.js +35 -0
  358. package/js/src/src/base/ws/OrderBook.d.ts +25 -0
  359. package/js/src/src/base/ws/OrderBook.js +130 -0
  360. package/js/src/src/base/ws/OrderBookSide.d.ts +40 -0
  361. package/js/src/src/base/ws/OrderBookSide.js +286 -0
  362. package/js/src/src/base/ws/WsClient.d.ts +11 -0
  363. package/js/src/src/base/ws/WsClient.js +69 -0
  364. package/js/src/src/bequant.d.ts +4 -0
  365. package/js/src/src/bequant.js +35 -0
  366. package/js/src/src/bidarz.d.ts +16 -0
  367. package/js/src/src/bidarz.js +327 -0
  368. package/js/src/src/bigone.d.ts +296 -0
  369. package/js/src/src/bigone.js +2340 -0
  370. package/js/src/src/binance.d.ts +1667 -0
  371. package/js/src/src/binance.js +14400 -0
  372. package/js/src/src/binancecoinm.d.ts +6 -0
  373. package/js/src/src/binancecoinm.js +51 -0
  374. package/js/src/src/binanceus.d.ts +4 -0
  375. package/js/src/src/binanceus.js +225 -0
  376. package/js/src/src/binanceusdm.d.ts +6 -0
  377. package/js/src/src/binanceusdm.js +63 -0
  378. package/js/src/src/bingx.d.ts +778 -0
  379. package/js/src/src/bingx.js +6705 -0
  380. package/js/src/src/bit24.d.ts +24 -0
  381. package/js/src/src/bit24.js +520 -0
  382. package/js/src/src/bit2c.d.ts +146 -0
  383. package/js/src/src/bit2c.js +1029 -0
  384. package/js/src/src/bitbank.d.ts +181 -0
  385. package/js/src/src/bitbank.js +1146 -0
  386. package/js/src/src/bitbarg.d.ts +21 -0
  387. package/js/src/src/bitbarg.js +312 -0
  388. package/js/src/src/bitbns.d.ts +184 -0
  389. package/js/src/src/bitbns.js +1288 -0
  390. package/js/src/src/bitfinex.d.ts +516 -0
  391. package/js/src/src/bitfinex.js +3951 -0
  392. package/js/src/src/bitflyer.d.ts +229 -0
  393. package/js/src/src/bitflyer.js +1209 -0
  394. package/js/src/src/bitget.d.ts +1109 -0
  395. package/js/src/src/bitget.js +11033 -0
  396. package/js/src/src/bithumb.d.ts +165 -0
  397. package/js/src/src/bithumb.js +1257 -0
  398. package/js/src/src/bitimen.d.ts +23 -0
  399. package/js/src/src/bitimen.js +424 -0
  400. package/js/src/src/bitir.d.ts +23 -0
  401. package/js/src/src/bitir.js +521 -0
  402. package/js/src/src/bitmart.d.ts +736 -0
  403. package/js/src/src/bitmart.js +5639 -0
  404. package/js/src/src/bitmex.d.ts +395 -0
  405. package/js/src/src/bitmex.js +3088 -0
  406. package/js/src/src/bitopro.d.ts +295 -0
  407. package/js/src/src/bitopro.js +1892 -0
  408. package/js/src/src/bitpin.d.ts +23 -0
  409. package/js/src/src/bitpin.js +487 -0
  410. package/js/src/src/bitrue.d.ts +384 -0
  411. package/js/src/src/bitrue.js +3382 -0
  412. package/js/src/src/bitso.d.ts +270 -0
  413. package/js/src/src/bitso.js +1881 -0
  414. package/js/src/src/bitstamp.d.ts +355 -0
  415. package/js/src/src/bitstamp.js +2445 -0
  416. package/js/src/src/bitteam.d.ts +229 -0
  417. package/js/src/src/bitteam.js +2420 -0
  418. package/js/src/src/bittrade.d.ts +298 -0
  419. package/js/src/src/bittrade.js +2050 -0
  420. package/js/src/src/bitunix.d.ts +21 -0
  421. package/js/src/src/bitunix.js +326 -0
  422. package/js/src/src/bitvavo.d.ts +311 -0
  423. package/js/src/src/bitvavo.js +2204 -0
  424. package/js/src/src/blockchaincom.d.ts +256 -0
  425. package/js/src/src/blockchaincom.js +1259 -0
  426. package/js/src/src/blofin.d.ts +439 -0
  427. package/js/src/src/blofin.js +2576 -0
  428. package/js/src/src/btcalpha.d.ts +209 -0
  429. package/js/src/src/btcalpha.js +1056 -0
  430. package/js/src/src/btcbox.d.ts +144 -0
  431. package/js/src/src/btcbox.js +834 -0
  432. package/js/src/src/btcmarkets.d.ts +253 -0
  433. package/js/src/src/btcmarkets.js +1418 -0
  434. package/js/src/src/btcturk.d.ts +161 -0
  435. package/js/src/src/btcturk.js +1058 -0
  436. package/js/src/src/bybit.d.ts +1097 -0
  437. package/js/src/src/bybit.js +9382 -0
  438. package/js/src/src/bydfi.d.ts +23 -0
  439. package/js/src/src/bydfi.js +434 -0
  440. package/js/src/src/cafearz.d.ts +21 -0
  441. package/js/src/src/cafearz.js +346 -0
  442. package/js/src/src/cex.d.ts +286 -0
  443. package/js/src/src/cex.js +1799 -0
  444. package/js/src/src/coinbase.d.ts +623 -0
  445. package/js/src/src/coinbase.js +5220 -0
  446. package/js/src/src/coinbaseadvanced.d.ts +4 -0
  447. package/js/src/src/coinbaseadvanced.js +18 -0
  448. package/js/src/src/coinbaseexchange.d.ts +334 -0
  449. package/js/src/src/coinbaseexchange.js +2127 -0
  450. package/js/src/src/coinbaseinternational.d.ts +443 -0
  451. package/js/src/src/coinbaseinternational.js +2336 -0
  452. package/js/src/src/coincatch.d.ts +786 -0
  453. package/js/src/src/coincatch.js +5492 -0
  454. package/js/src/src/coincheck.d.ts +147 -0
  455. package/js/src/src/coincheck.js +962 -0
  456. package/js/src/src/coinex.d.ts +719 -0
  457. package/js/src/src/coinex.js +6166 -0
  458. package/js/src/src/coinmate.d.ts +202 -0
  459. package/js/src/src/coinmate.js +1215 -0
  460. package/js/src/src/coinmetro.d.ts +244 -0
  461. package/js/src/src/coinmetro.js +2024 -0
  462. package/js/src/src/coinone.d.ts +158 -0
  463. package/js/src/src/coinone.js +1278 -0
  464. package/js/src/src/coinsph.d.ts +310 -0
  465. package/js/src/src/coinsph.js +2203 -0
  466. package/js/src/src/coinspot.d.ts +108 -0
  467. package/js/src/src/coinspot.js +653 -0
  468. package/js/src/src/cryptocom.d.ts +463 -0
  469. package/js/src/src/cryptocom.js +3549 -0
  470. package/js/src/src/cryptomus.d.ts +158 -0
  471. package/js/src/src/cryptomus.js +1169 -0
  472. package/js/src/src/defx.d.ts +348 -0
  473. package/js/src/src/defx.js +2139 -0
  474. package/js/src/src/delta.d.ts +407 -0
  475. package/js/src/src/delta.js +3654 -0
  476. package/js/src/src/deribit.d.ts +516 -0
  477. package/js/src/src/deribit.js +3790 -0
  478. package/js/src/src/derive.d.ts +324 -0
  479. package/js/src/src/derive.js +2655 -0
  480. package/js/src/src/digifinex.d.ts +544 -0
  481. package/js/src/src/digifinex.js +4453 -0
  482. package/js/src/src/ellipx.d.ts +237 -0
  483. package/js/src/src/ellipx.js +2071 -0
  484. package/js/src/src/eterex.d.ts +21 -0
  485. package/js/src/src/eterex.js +299 -0
  486. package/js/src/src/excoino.d.ts +23 -0
  487. package/js/src/src/excoino.js +426 -0
  488. package/js/src/src/exir.d.ts +23 -0
  489. package/js/src/src/exir.js +403 -0
  490. package/js/src/src/exmo.d.ts +426 -0
  491. package/js/src/src/exmo.js +2825 -0
  492. package/js/src/src/exnovin.d.ts +22 -0
  493. package/js/src/src/exnovin.js +378 -0
  494. package/js/src/src/farhadexchange.d.ts +21 -0
  495. package/js/src/src/farhadexchange.js +280 -0
  496. package/js/src/src/fmfwio.d.ts +4 -0
  497. package/js/src/src/fmfwio.js +35 -0
  498. package/js/src/src/foxbit.d.ts +352 -0
  499. package/js/src/src/foxbit.js +2016 -0
  500. package/js/src/src/gate.d.ts +1071 -0
  501. package/js/src/src/gate.js +8282 -0
  502. package/js/src/src/gateio.d.ts +4 -0
  503. package/js/src/src/gateio.js +17 -0
  504. package/js/src/src/gemini.d.ts +257 -0
  505. package/js/src/src/gemini.js +2006 -0
  506. package/js/src/src/hamtapay.d.ts +21 -0
  507. package/js/src/src/hamtapay.js +303 -0
  508. package/js/src/src/hashkey.d.ts +628 -0
  509. package/js/src/src/hashkey.js +4363 -0
  510. package/js/src/src/hibachi.d.ts +346 -0
  511. package/js/src/src/hibachi.js +2137 -0
  512. package/js/src/src/hitbtc.d.ts +558 -0
  513. package/js/src/src/hitbtc.js +3847 -0
  514. package/js/src/src/hitobit.d.ts +23 -0
  515. package/js/src/src/hitobit.js +412 -0
  516. package/js/src/src/hollaex.d.ts +305 -0
  517. package/js/src/src/hollaex.js +2046 -0
  518. package/js/src/src/htx.d.ts +961 -0
  519. package/js/src/src/htx.js +9668 -0
  520. package/js/src/src/huobi.d.ts +4 -0
  521. package/js/src/src/huobi.js +17 -0
  522. package/js/src/src/hyperliquid.d.ts +651 -0
  523. package/js/src/src/hyperliquid.js +3937 -0
  524. package/js/src/src/independentreserve.d.ts +169 -0
  525. package/js/src/src/independentreserve.js +1115 -0
  526. package/js/src/src/indodax.d.ts +217 -0
  527. package/js/src/src/indodax.js +1454 -0
  528. package/js/src/src/iranexchange.d.ts +21 -0
  529. package/js/src/src/iranexchange.js +399 -0
  530. package/js/src/src/jibitex.d.ts +23 -0
  531. package/js/src/src/jibitex.js +416 -0
  532. package/js/src/src/kcex.d.ts +21 -0
  533. package/js/src/src/kcex.js +335 -0
  534. package/js/src/src/kifpoolme.d.ts +23 -0
  535. package/js/src/src/kifpoolme.js +410 -0
  536. package/js/src/src/kraken.d.ts +484 -0
  537. package/js/src/src/kraken.js +3518 -0
  538. package/js/src/src/krakenfutures.d.ts +362 -0
  539. package/js/src/src/krakenfutures.js +2885 -0
  540. package/js/src/src/kucoin.d.ts +759 -0
  541. package/js/src/src/kucoin.js +5153 -0
  542. package/js/src/src/kucoinfutures.d.ts +521 -0
  543. package/js/src/src/kucoinfutures.js +3381 -0
  544. package/js/src/src/latoken.d.ts +274 -0
  545. package/js/src/src/latoken.js +1824 -0
  546. package/js/src/src/lbank.d.ts +350 -0
  547. package/js/src/src/lbank.js +3146 -0
  548. package/js/src/src/luno.d.ts +252 -0
  549. package/js/src/src/luno.js +1479 -0
  550. package/js/src/src/mazdax.d.ts +23 -0
  551. package/js/src/src/mazdax.js +534 -0
  552. package/js/src/src/mercado.d.ts +160 -0
  553. package/js/src/src/mercado.js +1011 -0
  554. package/js/src/src/mexc.d.ts +768 -0
  555. package/js/src/src/mexc.js +6102 -0
  556. package/js/src/src/modetrade.d.ts +496 -0
  557. package/js/src/src/modetrade.js +2936 -0
  558. package/js/src/src/myokx.d.ts +4 -0
  559. package/js/src/src/myokx.js +54 -0
  560. package/js/src/src/ndax.d.ts +285 -0
  561. package/js/src/src/ndax.js +2598 -0
  562. package/js/src/src/nobitex.d.ts +23 -0
  563. package/js/src/src/nobitex.js +454 -0
  564. package/js/src/src/novadax.d.ts +279 -0
  565. package/js/src/src/novadax.js +1676 -0
  566. package/js/src/src/oceanex.d.ts +231 -0
  567. package/js/src/src/oceanex.js +1123 -0
  568. package/js/src/src/okcoin.d.ts +346 -0
  569. package/js/src/src/okcoin.js +3211 -0
  570. package/js/src/src/okexchange.d.ts +23 -0
  571. package/js/src/src/okexchange.js +373 -0
  572. package/js/src/src/okx.d.ts +1125 -0
  573. package/js/src/src/okx.js +9009 -0
  574. package/js/src/src/okxus.d.ts +4 -0
  575. package/js/src/src/okxus.js +54 -0
  576. package/js/src/src/ompfinex.d.ts +23 -0
  577. package/js/src/src/ompfinex.js +510 -0
  578. package/js/src/src/onetrading.d.ts +228 -0
  579. package/js/src/src/onetrading.js +1769 -0
  580. package/js/src/src/oxfun.d.ts +442 -0
  581. package/js/src/src/oxfun.js +2920 -0
  582. package/js/src/src/p2b.d.ts +189 -0
  583. package/js/src/src/p2b.js +1344 -0
  584. package/js/src/src/paradex.d.ts +389 -0
  585. package/js/src/src/paradex.js +2607 -0
  586. package/js/src/src/paymium.d.ts +133 -0
  587. package/js/src/src/paymium.js +644 -0
  588. package/js/src/src/phemex.d.ts +497 -0
  589. package/js/src/src/phemex.js +5333 -0
  590. package/js/src/src/pingi.d.ts +22 -0
  591. package/js/src/src/pingi.js +446 -0
  592. package/js/src/src/poloniex.d.ts +441 -0
  593. package/js/src/src/poloniex.js +3681 -0
  594. package/js/src/src/pooleno.d.ts +21 -0
  595. package/js/src/src/pooleno.js +347 -0
  596. package/js/src/src/pro/alpaca.d.ts +95 -0
  597. package/js/src/src/pro/alpaca.js +724 -0
  598. package/js/src/src/pro/apex.d.ts +160 -0
  599. package/js/src/src/pro/apex.js +1044 -0
  600. package/js/src/src/pro/ascendex.d.ts +99 -0
  601. package/js/src/src/pro/ascendex.js +1012 -0
  602. package/js/src/src/pro/bequant.d.ts +4 -0
  603. package/js/src/src/pro/bequant.js +42 -0
  604. package/js/src/src/pro/binance.d.ts +796 -0
  605. package/js/src/src/pro/binance.js +4373 -0
  606. package/js/src/src/pro/binancecoinm.d.ts +4 -0
  607. package/js/src/src/pro/binancecoinm.js +32 -0
  608. package/js/src/src/pro/binanceus.d.ts +4 -0
  609. package/js/src/src/pro/binanceus.js +52 -0
  610. package/js/src/src/pro/binanceusdm.d.ts +4 -0
  611. package/js/src/src/pro/binanceusdm.js +37 -0
  612. package/js/src/src/pro/bingx.d.ts +151 -0
  613. package/js/src/src/pro/bingx.js +1568 -0
  614. package/js/src/src/pro/bitfinex.d.ts +99 -0
  615. package/js/src/src/pro/bitfinex.js +1165 -0
  616. package/js/src/src/pro/bitget.d.ts +257 -0
  617. package/js/src/src/pro/bitget.js +2327 -0
  618. package/js/src/src/pro/bithumb.d.ts +59 -0
  619. package/js/src/src/pro/bithumb.js +395 -0
  620. package/js/src/src/pro/bitmart.d.ts +168 -0
  621. package/js/src/src/pro/bitmart.js +1686 -0
  622. package/js/src/src/pro/bitmex.d.ts +170 -0
  623. package/js/src/src/pro/bitmex.js +1760 -0
  624. package/js/src/src/pro/bitopro.d.ts +69 -0
  625. package/js/src/src/pro/bitopro.js +477 -0
  626. package/js/src/src/pro/bitrue.d.ts +40 -0
  627. package/js/src/src/pro/bitrue.js +461 -0
  628. package/js/src/src/pro/bitstamp.d.ts +53 -0
  629. package/js/src/src/pro/bitstamp.js +587 -0
  630. package/js/src/src/pro/bittrade.d.ts +66 -0
  631. package/js/src/src/pro/bittrade.js +606 -0
  632. package/js/src/src/pro/bitvavo.d.ts +321 -0
  633. package/js/src/src/pro/bitvavo.js +1451 -0
  634. package/js/src/src/pro/blockchaincom.d.ts +89 -0
  635. package/js/src/src/pro/blockchaincom.js +777 -0
  636. package/js/src/src/pro/blofin.d.ts +174 -0
  637. package/js/src/src/pro/blofin.js +743 -0
  638. package/js/src/src/pro/bybit.d.ts +397 -0
  639. package/js/src/src/pro/bybit.js +2519 -0
  640. package/js/src/src/pro/cex.d.ts +220 -0
  641. package/js/src/src/pro/cex.js +1535 -0
  642. package/js/src/src/pro/coinbase.d.ts +119 -0
  643. package/js/src/src/pro/coinbase.js +736 -0
  644. package/js/src/src/pro/coinbaseadvanced.d.ts +4 -0
  645. package/js/src/src/pro/coinbaseadvanced.js +18 -0
  646. package/js/src/src/pro/coinbaseexchange.d.ts +133 -0
  647. package/js/src/src/pro/coinbaseexchange.js +969 -0
  648. package/js/src/src/pro/coinbaseinternational.d.ts +143 -0
  649. package/js/src/src/pro/coinbaseinternational.js +804 -0
  650. package/js/src/src/pro/coincatch.d.ts +207 -0
  651. package/js/src/src/pro/coincatch.js +1562 -0
  652. package/js/src/src/pro/coincheck.d.ts +33 -0
  653. package/js/src/src/pro/coincheck.js +210 -0
  654. package/js/src/src/pro/coinex.d.ts +147 -0
  655. package/js/src/src/pro/coinex.js +1426 -0
  656. package/js/src/src/pro/coinone.d.ts +51 -0
  657. package/js/src/src/pro/coinone.js +413 -0
  658. package/js/src/src/pro/cryptocom.d.ts +300 -0
  659. package/js/src/src/pro/cryptocom.js +1414 -0
  660. package/js/src/src/pro/defx.d.ts +236 -0
  661. package/js/src/src/pro/defx.js +865 -0
  662. package/js/src/src/pro/deribit.d.ts +163 -0
  663. package/js/src/src/pro/deribit.js +1066 -0
  664. package/js/src/src/pro/derive.d.ts +100 -0
  665. package/js/src/src/pro/derive.js +753 -0
  666. package/js/src/src/pro/exmo.d.ts +97 -0
  667. package/js/src/src/pro/exmo.js +903 -0
  668. package/js/src/src/pro/gate.d.ts +360 -0
  669. package/js/src/src/pro/gate.js +2119 -0
  670. package/js/src/src/pro/gateio.d.ts +4 -0
  671. package/js/src/src/pro/gateio.js +17 -0
  672. package/js/src/src/pro/gemini.d.ts +106 -0
  673. package/js/src/src/pro/gemini.js +932 -0
  674. package/js/src/src/pro/hashkey.d.ts +121 -0
  675. package/js/src/src/pro/hashkey.js +843 -0
  676. package/js/src/src/pro/hitbtc.d.ts +235 -0
  677. package/js/src/src/pro/hitbtc.js +1400 -0
  678. package/js/src/src/pro/hollaex.d.ts +77 -0
  679. package/js/src/src/pro/hollaex.js +604 -0
  680. package/js/src/src/pro/htx.d.ts +141 -0
  681. package/js/src/src/pro/htx.js +2415 -0
  682. package/js/src/src/pro/huobi.d.ts +4 -0
  683. package/js/src/src/pro/huobi.js +17 -0
  684. package/js/src/src/pro/hyperliquid.d.ts +218 -0
  685. package/js/src/src/pro/hyperliquid.js +1126 -0
  686. package/js/src/src/pro/independentreserve.d.ts +36 -0
  687. package/js/src/src/pro/independentreserve.js +287 -0
  688. package/js/src/src/pro/kraken.d.ts +233 -0
  689. package/js/src/src/pro/kraken.js +1785 -0
  690. package/js/src/src/pro/krakenfutures.d.ts +178 -0
  691. package/js/src/src/pro/krakenfutures.js +1592 -0
  692. package/js/src/src/pro/kucoin.d.ts +221 -0
  693. package/js/src/src/pro/kucoin.js +1430 -0
  694. package/js/src/src/pro/kucoinfutures.d.ts +205 -0
  695. package/js/src/src/pro/kucoinfutures.js +1295 -0
  696. package/js/src/src/pro/lbank.d.ts +134 -0
  697. package/js/src/src/pro/lbank.js +950 -0
  698. package/js/src/src/pro/luno.d.ts +44 -0
  699. package/js/src/src/pro/luno.js +322 -0
  700. package/js/src/src/pro/mexc.d.ts +210 -0
  701. package/js/src/src/pro/mexc.js +2009 -0
  702. package/js/src/src/pro/modetrade.d.ts +155 -0
  703. package/js/src/src/pro/modetrade.js +1335 -0
  704. package/js/src/src/pro/myokx.d.ts +4 -0
  705. package/js/src/src/pro/myokx.js +39 -0
  706. package/js/src/src/pro/ndax.d.ts +60 -0
  707. package/js/src/src/pro/ndax.js +545 -0
  708. package/js/src/src/pro/okcoin.d.ts +91 -0
  709. package/js/src/src/pro/okcoin.js +763 -0
  710. package/js/src/src/pro/okx.d.ts +408 -0
  711. package/js/src/src/pro/okx.js +2479 -0
  712. package/js/src/src/pro/okxus.d.ts +4 -0
  713. package/js/src/src/pro/okxus.js +39 -0
  714. package/js/src/src/pro/onetrading.d.ts +107 -0
  715. package/js/src/src/pro/onetrading.js +1343 -0
  716. package/js/src/src/pro/oxfun.d.ts +234 -0
  717. package/js/src/src/pro/oxfun.js +1112 -0
  718. package/js/src/src/pro/p2b.d.ts +104 -0
  719. package/js/src/src/pro/p2b.js +506 -0
  720. package/js/src/src/pro/paradex.d.ts +54 -0
  721. package/js/src/src/pro/paradex.js +370 -0
  722. package/js/src/src/pro/phemex.d.ts +129 -0
  723. package/js/src/src/pro/phemex.js +1569 -0
  724. package/js/src/src/pro/poloniex.d.ts +214 -0
  725. package/js/src/src/pro/poloniex.js +1318 -0
  726. package/js/src/src/pro/probit.d.ts +91 -0
  727. package/js/src/src/pro/probit.js +593 -0
  728. package/js/src/src/pro/tradeogre.d.ts +49 -0
  729. package/js/src/src/pro/tradeogre.js +284 -0
  730. package/js/src/src/pro/upbit.d.ts +124 -0
  731. package/js/src/src/pro/upbit.js +689 -0
  732. package/js/src/src/pro/vertex.d.ts +104 -0
  733. package/js/src/src/pro/vertex.js +999 -0
  734. package/js/src/src/pro/whitebit.d.ts +123 -0
  735. package/js/src/src/pro/whitebit.js +971 -0
  736. package/js/src/src/pro/woo.d.ts +161 -0
  737. package/js/src/src/pro/woo.js +1351 -0
  738. package/js/src/src/pro/woofipro.d.ts +155 -0
  739. package/js/src/src/pro/woofipro.js +1335 -0
  740. package/js/src/src/pro/xt.d.ts +165 -0
  741. package/js/src/src/pro/xt.js +1230 -0
  742. package/js/src/src/probit.d.ts +283 -0
  743. package/js/src/src/probit.js +1935 -0
  744. package/js/src/src/protobuf/mexc/compiled.cjs +7186 -0
  745. package/js/src/src/protobuf/mexc/compiled.d.cts +8 -0
  746. package/js/src/src/raastin.d.ts +24 -0
  747. package/js/src/src/raastin.js +494 -0
  748. package/js/src/src/ramzinex.d.ts +23 -0
  749. package/js/src/src/ramzinex.js +510 -0
  750. package/js/src/src/sarmayex.d.ts +21 -0
  751. package/js/src/src/sarmayex.js +376 -0
  752. package/js/src/src/sarrafex.d.ts +23 -0
  753. package/js/src/src/sarrafex.js +501 -0
  754. package/js/src/src/static_dependencies/ethers/abi-coder.d.ts +50 -0
  755. package/js/src/src/static_dependencies/ethers/abi-coder.js +148 -0
  756. package/js/src/src/static_dependencies/ethers/address/address.d.ts +55 -0
  757. package/js/src/src/static_dependencies/ethers/address/address.js +162 -0
  758. package/js/src/src/static_dependencies/ethers/address/checks.d.ts +80 -0
  759. package/js/src/src/static_dependencies/ethers/address/checks.js +119 -0
  760. package/js/src/src/static_dependencies/ethers/address/contract-address.d.ts +47 -0
  761. package/js/src/src/static_dependencies/ethers/address/contract-address.js +73 -0
  762. package/js/src/src/static_dependencies/ethers/address/index.d.ts +48 -0
  763. package/js/src/src/static_dependencies/ethers/address/index.js +24 -0
  764. package/js/src/src/static_dependencies/ethers/bytes32.d.ts +14 -0
  765. package/js/src/src/static_dependencies/ethers/bytes32.js +45 -0
  766. package/js/src/src/static_dependencies/ethers/coders/abstract-coder.d.ts +120 -0
  767. package/js/src/src/static_dependencies/ethers/coders/abstract-coder.js +424 -0
  768. package/js/src/src/static_dependencies/ethers/coders/address.d.ts +12 -0
  769. package/js/src/src/static_dependencies/ethers/coders/address.js +34 -0
  770. package/js/src/src/static_dependencies/ethers/coders/anonymous.d.ts +14 -0
  771. package/js/src/src/static_dependencies/ethers/coders/anonymous.js +27 -0
  772. package/js/src/src/static_dependencies/ethers/coders/array.d.ts +24 -0
  773. package/js/src/src/static_dependencies/ethers/coders/array.js +162 -0
  774. package/js/src/src/static_dependencies/ethers/coders/boolean.d.ts +12 -0
  775. package/js/src/src/static_dependencies/ethers/coders/boolean.js +26 -0
  776. package/js/src/src/static_dependencies/ethers/coders/bytes.d.ts +18 -0
  777. package/js/src/src/static_dependencies/ethers/coders/bytes.js +39 -0
  778. package/js/src/src/static_dependencies/ethers/coders/fixed-bytes.d.ts +14 -0
  779. package/js/src/src/static_dependencies/ethers/coders/fixed-bytes.js +32 -0
  780. package/js/src/src/static_dependencies/ethers/coders/null.d.ts +11 -0
  781. package/js/src/src/static_dependencies/ethers/coders/null.js +29 -0
  782. package/js/src/src/static_dependencies/ethers/coders/number.d.ts +15 -0
  783. package/js/src/src/static_dependencies/ethers/coders/number.js +48 -0
  784. package/js/src/src/static_dependencies/ethers/coders/string.d.ts +12 -0
  785. package/js/src/src/static_dependencies/ethers/coders/string.js +26 -0
  786. package/js/src/src/static_dependencies/ethers/coders/tuple.d.ts +15 -0
  787. package/js/src/src/static_dependencies/ethers/coders/tuple.js +67 -0
  788. package/js/src/src/static_dependencies/ethers/fragments.d.ts +458 -0
  789. package/js/src/src/static_dependencies/ethers/fragments.js +1252 -0
  790. package/js/src/src/static_dependencies/ethers/hash/index.d.ts +10 -0
  791. package/js/src/src/static_dependencies/ethers/hash/index.js +15 -0
  792. package/js/src/src/static_dependencies/ethers/hash/solidity.d.ts +30 -0
  793. package/js/src/src/static_dependencies/ethers/hash/solidity.js +107 -0
  794. package/js/src/src/static_dependencies/ethers/hash/typed-data.d.ts +144 -0
  795. package/js/src/src/static_dependencies/ethers/hash/typed-data.js +490 -0
  796. package/js/src/src/static_dependencies/ethers/index.d.ts +19 -0
  797. package/js/src/src/static_dependencies/ethers/index.js +22 -0
  798. package/js/src/src/static_dependencies/ethers/interface.d.ts +380 -0
  799. package/js/src/src/static_dependencies/ethers/interface.js +990 -0
  800. package/js/src/src/static_dependencies/ethers/typed.d.ts +569 -0
  801. package/js/src/src/static_dependencies/ethers/typed.js +608 -0
  802. package/js/src/src/static_dependencies/ethers/utils/base58.d.ts +22 -0
  803. package/js/src/src/static_dependencies/ethers/utils/base58.js +68 -0
  804. package/js/src/src/static_dependencies/ethers/utils/base64.d.ts +39 -0
  805. package/js/src/src/static_dependencies/ethers/utils/base64.js +58 -0
  806. package/js/src/src/static_dependencies/ethers/utils/data.d.ts +92 -0
  807. package/js/src/src/static_dependencies/ethers/utils/data.js +175 -0
  808. package/js/src/src/static_dependencies/ethers/utils/errors.d.ts +509 -0
  809. package/js/src/src/static_dependencies/ethers/utils/errors.js +227 -0
  810. package/js/src/src/static_dependencies/ethers/utils/events.d.ts +76 -0
  811. package/js/src/src/static_dependencies/ethers/utils/events.js +52 -0
  812. package/js/src/src/static_dependencies/ethers/utils/fixednumber.d.ts +251 -0
  813. package/js/src/src/static_dependencies/ethers/utils/fixednumber.js +529 -0
  814. package/js/src/src/static_dependencies/ethers/utils/index.d.ts +30 -0
  815. package/js/src/src/static_dependencies/ethers/utils/index.js +38 -0
  816. package/js/src/src/static_dependencies/ethers/utils/maths.d.ts +65 -0
  817. package/js/src/src/static_dependencies/ethers/utils/maths.js +220 -0
  818. package/js/src/src/static_dependencies/ethers/utils/properties.d.ts +22 -0
  819. package/js/src/src/static_dependencies/ethers/utils/properties.js +59 -0
  820. package/js/src/src/static_dependencies/ethers/utils/rlp-decode.d.ts +5 -0
  821. package/js/src/src/static_dependencies/ethers/utils/rlp-decode.js +84 -0
  822. package/js/src/src/static_dependencies/ethers/utils/rlp-encode.d.ts +5 -0
  823. package/js/src/src/static_dependencies/ethers/utils/rlp-encode.js +54 -0
  824. package/js/src/src/static_dependencies/ethers/utils/rlp.d.ts +16 -0
  825. package/js/src/src/static_dependencies/ethers/utils/rlp.js +14 -0
  826. package/js/src/src/static_dependencies/ethers/utils/units.d.ts +23 -0
  827. package/js/src/src/static_dependencies/ethers/utils/units.js +88 -0
  828. package/js/src/src/static_dependencies/ethers/utils/utf8.d.ts +95 -0
  829. package/js/src/src/static_dependencies/ethers/utils/utf8.js +225 -0
  830. package/js/src/src/static_dependencies/ethers/utils/uuid.d.ts +7 -0
  831. package/js/src/src/static_dependencies/ethers/utils/uuid.js +35 -0
  832. package/js/src/src/static_dependencies/fflake/browser.d.ts +222 -0
  833. package/js/src/src/static_dependencies/fflake/browser.js +2578 -0
  834. package/js/src/src/static_dependencies/jsencrypt/JSEncrypt.d.ts +116 -0
  835. package/js/src/src/static_dependencies/jsencrypt/JSEncrypt.js +194 -0
  836. package/js/src/src/static_dependencies/jsencrypt/JSEncryptRSAKey.d.ts +142 -0
  837. package/js/src/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +307 -0
  838. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/asn1.d.ts +51 -0
  839. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +565 -0
  840. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/base64.d.ts +5 -0
  841. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +94 -0
  842. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/hex.d.ts +3 -0
  843. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +70 -0
  844. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/int10.d.ts +9 -0
  845. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +91 -0
  846. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/base64.d.ts +3 -0
  847. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +25 -0
  848. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.d.ts +101 -0
  849. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +1757 -0
  850. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/prng4.d.ts +10 -0
  851. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +50 -0
  852. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/rng.d.ts +3 -0
  853. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +80 -0
  854. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/rsa.d.ts +23 -0
  855. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +377 -0
  856. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/util.d.ts +7 -0
  857. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/util.js +64 -0
  858. package/js/src/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.d.ts +24 -0
  859. package/js/src/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +1627 -0
  860. package/js/src/src/static_dependencies/noble-curves/_shortw_utils.d.ts +60 -0
  861. package/js/src/src/static_dependencies/noble-curves/_shortw_utils.js +22 -0
  862. package/js/src/src/static_dependencies/noble-curves/abstract/curve.d.ts +67 -0
  863. package/js/src/src/static_dependencies/noble-curves/abstract/curve.js +157 -0
  864. package/js/src/src/static_dependencies/noble-curves/abstract/edwards.d.ts +79 -0
  865. package/js/src/src/static_dependencies/noble-curves/abstract/edwards.js +432 -0
  866. package/js/src/src/static_dependencies/noble-curves/abstract/hash-to-curve.d.ts +56 -0
  867. package/js/src/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +171 -0
  868. package/js/src/src/static_dependencies/noble-curves/abstract/modular.d.ts +68 -0
  869. package/js/src/src/static_dependencies/noble-curves/abstract/modular.js +351 -0
  870. package/js/src/src/static_dependencies/noble-curves/abstract/montgomery.d.ts +25 -0
  871. package/js/src/src/static_dependencies/noble-curves/abstract/montgomery.js +162 -0
  872. package/js/src/src/static_dependencies/noble-curves/abstract/poseidon.d.ts +29 -0
  873. package/js/src/src/static_dependencies/noble-curves/abstract/poseidon.js +115 -0
  874. package/js/src/src/static_dependencies/noble-curves/abstract/utils.d.ts +53 -0
  875. package/js/src/src/static_dependencies/noble-curves/abstract/utils.js +227 -0
  876. package/js/src/src/static_dependencies/noble-curves/abstract/weierstrass.d.ts +204 -0
  877. package/js/src/src/static_dependencies/noble-curves/abstract/weierstrass.js +1016 -0
  878. package/js/src/src/static_dependencies/noble-curves/ed25519.d.ts +53 -0
  879. package/js/src/src/static_dependencies/noble-curves/ed25519.js +402 -0
  880. package/js/src/src/static_dependencies/noble-curves/p256.d.ts +103 -0
  881. package/js/src/src/static_dependencies/noble-curves/p256.js +47 -0
  882. package/js/src/src/static_dependencies/noble-curves/secp256k1.d.ts +91 -0
  883. package/js/src/src/static_dependencies/noble-curves/secp256k1.js +257 -0
  884. package/js/src/src/static_dependencies/noble-hashes/_assert.d.ts +21 -0
  885. package/js/src/src/static_dependencies/noble-hashes/_assert.js +48 -0
  886. package/js/src/src/static_dependencies/noble-hashes/_sha2.d.ts +23 -0
  887. package/js/src/src/static_dependencies/noble-hashes/_sha2.js +119 -0
  888. package/js/src/src/static_dependencies/noble-hashes/_u64.d.ts +35 -0
  889. package/js/src/src/static_dependencies/noble-hashes/_u64.js +66 -0
  890. package/js/src/src/static_dependencies/noble-hashes/crypto.d.ts +1 -0
  891. package/js/src/src/static_dependencies/noble-hashes/crypto.js +7 -0
  892. package/js/src/src/static_dependencies/noble-hashes/hmac.d.ts +26 -0
  893. package/js/src/src/static_dependencies/noble-hashes/hmac.js +82 -0
  894. package/js/src/src/static_dependencies/noble-hashes/md5.d.ts +18 -0
  895. package/js/src/src/static_dependencies/noble-hashes/md5.js +242 -0
  896. package/js/src/src/static_dependencies/noble-hashes/sha1.d.ts +21 -0
  897. package/js/src/src/static_dependencies/noble-hashes/sha1.js +90 -0
  898. package/js/src/src/static_dependencies/noble-hashes/sha256.d.ts +34 -0
  899. package/js/src/src/static_dependencies/noble-hashes/sha256.js +129 -0
  900. package/js/src/src/static_dependencies/noble-hashes/sha3.d.ts +97 -0
  901. package/js/src/src/static_dependencies/noble-hashes/sha3.js +211 -0
  902. package/js/src/src/static_dependencies/noble-hashes/sha512.d.ts +66 -0
  903. package/js/src/src/static_dependencies/noble-hashes/sha512.js +236 -0
  904. package/js/src/src/static_dependencies/noble-hashes/utils.d.ts +77 -0
  905. package/js/src/src/static_dependencies/noble-hashes/utils.js +147 -0
  906. package/js/src/src/static_dependencies/proxies/agent-base/helpers.d.ts +14 -0
  907. package/js/src/src/static_dependencies/proxies/agent-base/helpers.js +42 -0
  908. package/js/src/src/static_dependencies/proxies/agent-base/index.d.ts +33 -0
  909. package/js/src/src/static_dependencies/proxies/agent-base/index.js +82 -0
  910. package/js/src/src/static_dependencies/proxies/http-proxy-agent/index.d.ts +40 -0
  911. package/js/src/src/static_dependencies/proxies/http-proxy-agent/index.js +119 -0
  912. package/js/src/src/static_dependencies/proxies/https-proxy-agent/index.d.ts +45 -0
  913. package/js/src/src/static_dependencies/proxies/https-proxy-agent/index.js +150 -0
  914. package/js/src/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.d.ts +15 -0
  915. package/js/src/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +95 -0
  916. package/js/src/src/static_dependencies/qs/formats.cjs +22 -0
  917. package/js/src/src/static_dependencies/qs/formats.d.cts +14 -0
  918. package/js/src/src/static_dependencies/qs/index.cjs +15 -0
  919. package/js/src/src/static_dependencies/qs/index.d.cts +10 -0
  920. package/js/src/src/static_dependencies/qs/parse.cjs +208 -0
  921. package/js/src/src/static_dependencies/qs/parse.d.cts +8 -0
  922. package/js/src/src/static_dependencies/qs/stringify.cjs +192 -0
  923. package/js/src/src/static_dependencies/qs/stringify.d.cts +8 -0
  924. package/js/src/src/static_dependencies/qs/utils.cjs +202 -0
  925. package/js/src/src/static_dependencies/qs/utils.d.cts +15 -0
  926. package/js/src/src/static_dependencies/scure-base/index.d.ts +92 -0
  927. package/js/src/src/static_dependencies/scure-base/index.js +420 -0
  928. package/js/src/src/static_dependencies/scure-starknet/index.d.ts +79 -0
  929. package/js/src/src/static_dependencies/scure-starknet/index.js +323 -0
  930. package/js/src/src/static_dependencies/starknet/constants.d.ts +61 -0
  931. package/js/src/src/static_dependencies/starknet/constants.js +67 -0
  932. package/js/src/src/static_dependencies/starknet/index.d.ts +3 -0
  933. package/js/src/src/static_dependencies/starknet/index.js +9 -0
  934. package/js/src/src/static_dependencies/starknet/types/cairoEnum.d.ts +2 -0
  935. package/js/src/src/static_dependencies/starknet/types/cairoEnum.js +7 -0
  936. package/js/src/src/static_dependencies/starknet/types/calldata.d.ts +19 -0
  937. package/js/src/src/static_dependencies/starknet/types/calldata.js +28 -0
  938. package/js/src/src/static_dependencies/starknet/types/index.d.ts +13 -0
  939. package/js/src/src/static_dependencies/starknet/types/index.js +16 -0
  940. package/js/src/src/static_dependencies/starknet/types/lib/contract/abi.d.ts +71 -0
  941. package/js/src/src/static_dependencies/starknet/types/lib/contract/abi.js +13 -0
  942. package/js/src/src/static_dependencies/starknet/types/lib/contract/index.d.ts +24 -0
  943. package/js/src/src/static_dependencies/starknet/types/lib/contract/index.js +16 -0
  944. package/js/src/src/static_dependencies/starknet/types/lib/contract/legacy.d.ts +33 -0
  945. package/js/src/src/static_dependencies/starknet/types/lib/contract/legacy.js +7 -0
  946. package/js/src/src/static_dependencies/starknet/types/lib/contract/sierra.d.ts +52 -0
  947. package/js/src/src/static_dependencies/starknet/types/lib/contract/sierra.js +7 -0
  948. package/js/src/src/static_dependencies/starknet/types/lib/index.d.ts +248 -0
  949. package/js/src/src/static_dependencies/starknet/types/lib/index.js +52 -0
  950. package/js/src/src/static_dependencies/starknet/types/typedData.d.ts +44 -0
  951. package/js/src/src/static_dependencies/starknet/types/typedData.js +19 -0
  952. package/js/src/src/static_dependencies/starknet/utils/assert.d.ts +7 -0
  953. package/js/src/src/static_dependencies/starknet/utils/assert.js +17 -0
  954. package/js/src/src/static_dependencies/starknet/utils/cairoDataTypes/felt.d.ts +6 -0
  955. package/js/src/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +43 -0
  956. package/js/src/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.d.ts +72 -0
  957. package/js/src/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +117 -0
  958. package/js/src/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.d.ts +76 -0
  959. package/js/src/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +136 -0
  960. package/js/src/src/static_dependencies/starknet/utils/calldata/byteArray.d.ts +32 -0
  961. package/js/src/src/static_dependencies/starknet/utils/calldata/byteArray.js +59 -0
  962. package/js/src/src/static_dependencies/starknet/utils/calldata/cairo.d.ts +183 -0
  963. package/js/src/src/static_dependencies/starknet/utils/calldata/cairo.js +229 -0
  964. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.d.ts +38 -0
  965. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +57 -0
  966. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.d.ts +35 -0
  967. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +64 -0
  968. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.d.ts +34 -0
  969. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +63 -0
  970. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/index.d.ts +3 -0
  971. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/index.js +9 -0
  972. package/js/src/src/static_dependencies/starknet/utils/calldata/formatter.d.ts +9 -0
  973. package/js/src/src/static_dependencies/starknet/utils/calldata/formatter.js +67 -0
  974. package/js/src/src/static_dependencies/starknet/utils/calldata/index.d.ts +89 -0
  975. package/js/src/src/static_dependencies/starknet/utils/calldata/index.js +280 -0
  976. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/index.d.ts +5 -0
  977. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/index.js +30 -0
  978. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/interface.d.ts +20 -0
  979. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/interface.js +8 -0
  980. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.d.ts +24 -0
  981. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +36 -0
  982. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.d.ts +23 -0
  983. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +40 -0
  984. package/js/src/src/static_dependencies/starknet/utils/calldata/propertyOrder.d.ts +2 -0
  985. package/js/src/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +155 -0
  986. package/js/src/src/static_dependencies/starknet/utils/calldata/requestParser.d.ts +11 -0
  987. package/js/src/src/static_dependencies/starknet/utils/calldata/requestParser.js +248 -0
  988. package/js/src/src/static_dependencies/starknet/utils/calldata/responseParser.d.ts +11 -0
  989. package/js/src/src/static_dependencies/starknet/utils/calldata/responseParser.js +214 -0
  990. package/js/src/src/static_dependencies/starknet/utils/calldata/tuple.d.ts +6 -0
  991. package/js/src/src/static_dependencies/starknet/utils/calldata/tuple.js +113 -0
  992. package/js/src/src/static_dependencies/starknet/utils/calldata/validate.d.ts +6 -0
  993. package/js/src/src/static_dependencies/starknet/utils/calldata/validate.js +208 -0
  994. package/js/src/src/static_dependencies/starknet/utils/encode.d.ts +207 -0
  995. package/js/src/src/static_dependencies/starknet/utils/encode.js +282 -0
  996. package/js/src/src/static_dependencies/starknet/utils/hash/classHash.d.ts +57 -0
  997. package/js/src/src/static_dependencies/starknet/utils/hash/classHash.js +223 -0
  998. package/js/src/src/static_dependencies/starknet/utils/hash/index.d.ts +6 -0
  999. package/js/src/src/static_dependencies/starknet/utils/hash/index.js +13 -0
  1000. package/js/src/src/static_dependencies/starknet/utils/merkle.d.ts +35 -0
  1001. package/js/src/src/static_dependencies/starknet/utils/merkle.js +84 -0
  1002. package/js/src/src/static_dependencies/starknet/utils/num.d.ts +182 -0
  1003. package/js/src/src/static_dependencies/starknet/utils/num.js +244 -0
  1004. package/js/src/src/static_dependencies/starknet/utils/selector.d.ts +48 -0
  1005. package/js/src/src/static_dependencies/starknet/utils/selector.js +85 -0
  1006. package/js/src/src/static_dependencies/starknet/utils/shortString.d.ts +57 -0
  1007. package/js/src/src/static_dependencies/starknet/utils/shortString.js +96 -0
  1008. package/js/src/src/static_dependencies/starknet/utils/typedData.d.ts +54 -0
  1009. package/js/src/src/static_dependencies/starknet/utils/typedData.js +321 -0
  1010. package/js/src/src/static_dependencies/watchable/src/types.d.ts +28 -0
  1011. package/js/src/src/static_dependencies/watchable/src/types.js +8 -0
  1012. package/js/src/src/static_dependencies/watchable/src/unpromise.d.ts +120 -0
  1013. package/js/src/src/static_dependencies/watchable/src/unpromise.js +297 -0
  1014. package/js/src/src/static_dependencies/zklink/zklink-sdk-web.d.ts +1279 -0
  1015. package/js/src/src/static_dependencies/zklink/zklink-sdk-web.js +4282 -0
  1016. package/js/src/src/tabdeal.d.ts +23 -0
  1017. package/js/src/src/tabdeal.js +387 -0
  1018. package/js/src/src/tehran_exchange.d.ts +21 -0
  1019. package/js/src/src/tehran_exchange.js +333 -0
  1020. package/js/src/src/tetherland.d.ts +21 -0
  1021. package/js/src/src/tetherland.js +367 -0
  1022. package/js/src/src/timex.d.ts +247 -0
  1023. package/js/src/src/timex.js +1792 -0
  1024. package/js/src/src/tokocrypto.d.ts +261 -0
  1025. package/js/src/src/tokocrypto.js +2641 -0
  1026. package/js/src/src/toobit.d.ts +22 -0
  1027. package/js/src/src/toobit.js +445 -0
  1028. package/js/src/src/tradeogre.d.ts +149 -0
  1029. package/js/src/src/tradeogre.js +878 -0
  1030. package/js/src/src/twox.d.ts +21 -0
  1031. package/js/src/src/twox.js +371 -0
  1032. package/js/src/src/ubitex.d.ts +23 -0
  1033. package/js/src/src/ubitex.js +433 -0
  1034. package/js/src/src/upbit.d.ts +377 -0
  1035. package/js/src/src/upbit.js +2340 -0
  1036. package/js/src/src/vertex.d.ts +346 -0
  1037. package/js/src/src/vertex.js +3146 -0
  1038. package/js/src/src/wallex.d.ts +23 -0
  1039. package/js/src/src/wallex.js +467 -0
  1040. package/js/src/src/wavesexchange.d.ts +244 -0
  1041. package/js/src/src/wavesexchange.js +2747 -0
  1042. package/js/src/src/whitebit.d.ts +571 -0
  1043. package/js/src/src/whitebit.js +3437 -0
  1044. package/js/src/src/woo.d.ts +727 -0
  1045. package/js/src/src/woo.js +4183 -0
  1046. package/js/src/src/woofipro.d.ts +497 -0
  1047. package/js/src/src/woofipro.js +2941 -0
  1048. package/js/src/src/xt.d.ts +568 -0
  1049. package/js/src/src/xt.js +5184 -0
  1050. package/js/src/src/yobit.d.ts +197 -0
  1051. package/js/src/src/yobit.js +1453 -0
  1052. package/js/src/src/zaif.d.ts +136 -0
  1053. package/js/src/src/zaif.js +821 -0
  1054. package/js/src/src/zonda.d.ts +214 -0
  1055. package/js/src/src/zonda.js +1984 -0
  1056. package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.d.ts +1 -1
  1057. package/js/src/static_dependencies/starknet/utils/calldata/parser/index.d.ts +1 -1
  1058. package/js/test.js +9 -17
  1059. package/package.json +1 -1
@@ -0,0 +1,1230 @@
1
+ // ----------------------------------------------------------------------------
2
+
3
+ // PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
4
+ // https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
+ // EDIT THE CORRESPONDENT .ts FILE INSTEAD
6
+
7
+ // ---------------------------------------------------------------------------
8
+ import xtRest from '../xt.js';
9
+ import { ArrayCache, ArrayCacheBySymbolById, ArrayCacheBySymbolBySide, ArrayCacheByTimestamp } from '../base/ws/Cache.js';
10
+ // ---------------------------------------------------------------------------
11
+ export default class xt extends xtRest {
12
+ describe() {
13
+ return this.deepExtend(super.describe(), {
14
+ 'has': {
15
+ 'ws': true,
16
+ 'watchOHLCV': true,
17
+ 'watchOrderBook': true,
18
+ 'watchTicker': true,
19
+ 'watchTickers': true,
20
+ 'watchTrades': true,
21
+ 'watchTradesForSymbols': false,
22
+ 'watchBalance': true,
23
+ 'watchOrders': true,
24
+ 'watchMyTrades': true,
25
+ 'watchPositions': true,
26
+ },
27
+ 'urls': {
28
+ 'api': {
29
+ 'ws': {
30
+ 'spot': 'wss://stream.xt.com',
31
+ 'contract': 'wss://fstream.xt.com/ws',
32
+ },
33
+ },
34
+ },
35
+ 'options': {
36
+ 'tradesLimit': 1000,
37
+ 'ordersLimit': 1000,
38
+ 'OHLCVLimit': 1000,
39
+ 'watchTicker': {
40
+ 'method': 'ticker', // agg_ticker (contract only)
41
+ },
42
+ 'watchTickers': {
43
+ 'method': 'tickers', // agg_tickers (contract only)
44
+ },
45
+ 'watchPositions': {
46
+ 'type': 'swap',
47
+ 'fetchPositionsSnapshot': true,
48
+ 'awaitPositionsSnapshot': true,
49
+ },
50
+ },
51
+ 'streaming': {
52
+ 'keepAlive': 20000,
53
+ 'ping': this.ping,
54
+ },
55
+ 'token': undefined,
56
+ });
57
+ }
58
+ /**
59
+ * @ignore
60
+ * @method
61
+ * @description required for private endpoints
62
+ * @param {string} isContract true for contract trades
63
+ * @see https://doc.xt.com/#websocket_privategetToken
64
+ * @see https://doc.xt.com/#futures_user_websocket_v2base
65
+ * @returns {string} listen key / access token
66
+ */
67
+ async getListenKey(isContract) {
68
+ this.checkRequiredCredentials();
69
+ const tradeType = isContract ? 'contract' : 'spot';
70
+ let url = this.urls['api']['ws'][tradeType];
71
+ if (!isContract) {
72
+ url = url + '/private';
73
+ }
74
+ const client = this.client(url);
75
+ const token = this.safeString(client.subscriptions, 'token');
76
+ if (token === undefined) {
77
+ if (isContract) {
78
+ const response = await this.privateLinearGetFutureUserV1UserListenKey();
79
+ //
80
+ // {
81
+ // returnCode: '0',
82
+ // msgInfo: 'success',
83
+ // error: null,
84
+ // result: '3BC1D71D6CF96DA3458FC35B05B633351684511731128'
85
+ // }
86
+ //
87
+ client.subscriptions['token'] = this.safeString(response, 'result');
88
+ }
89
+ else {
90
+ const response = await this.privateSpotPostWsToken();
91
+ //
92
+ // {
93
+ // "rc": 0,
94
+ // "mc": "SUCCESS",
95
+ // "ma": [],
96
+ // "result": {
97
+ // "token": "eyJhbqGciOiJSUzI1NiJ9.eyJhY2NvdW50SWQiOiIyMTQ2Mjg1MzIyNTU5Iiwic3ViIjoibGh4dDRfMDAwMUBzbmFwbWFpbC5jYyIsInNjb3BlIjoiYXV0aCIsImlzcyI6Inh0LmNvbSIsImxhc3RBdXRoVGltZSI6MTY2MzgxMzY5MDk1NSwic2lnblR5cGUiOiJBSyIsInVzZXJOYW1lIjoibGh4dDRfMDAwMUBzbmFwbWFpbC5jYyIsImV4cCI6MTY2NjQwNTY5MCwiZGV2aWNlIjoidW5rbm93biIsInVzZXJJZCI6MjE0NjI4NTMyMjU1OX0.h3zJlJBQrK2x1HvUxsKivnn6PlSrSDXXXJ7WqHAYSrN2CG5XPTKc4zKnTVoYFbg6fTS0u1fT8wH7wXqcLWXX71vm0YuP8PCvdPAkUIq4-HyzltbPr5uDYd0UByx0FPQtq1exvsQGe7evXQuDXx3SEJXxEqUbq_DNlXPTq_JyScI",
98
+ // "refreshToken": "eyJhbGciOiqJSUzI1NiJ9.eyJhY2NvdW50SWQiOiIyMTQ2Mjg1MzIyNTU5Iiwic3ViIjoibGh4dDRfMDAwMUBzbmFwbWFpbC5jYyIsInNjb3BlIjoicmVmcmVzaCIsImlzcyI6Inh0LmNvbSIsImxhc3RBdXRoVGltZSI6MTY2MzgxMzY5MDk1NSwic2lnblR5cGUiOiJBSyIsInVzZXJOYW1lIjoibGh4dDRfMDAwMUBzbmFwbWFpbC5jYyIsImV4cCI6MTY2NjQwNTY5MCwiZGV2aWNlIjoidW5rbm93biIsInVzZXJJZCI6MjE0NjI4NTMyMjU1OX0.Fs3YVm5YrEOzzYOSQYETSmt9iwxUHBovh2u73liv1hLUec683WGfktA_s28gMk4NCpZKFeQWFii623FvdfNoteXR0v1yZ2519uNvNndtuZICDdv3BQ4wzW1wIHZa1skxFfqvsDnGdXpjqu9UFSbtHwxprxeYfnxChNk4ssei430"
99
+ // }
100
+ // }
101
+ //
102
+ const result = this.safeDict(response, 'result');
103
+ client.subscriptions['token'] = this.safeString(result, 'accessToken');
104
+ }
105
+ }
106
+ return client.subscriptions['token'];
107
+ }
108
+ getCacheIndex(orderbook, cache) {
109
+ // return the first index of the cache that can be applied to the orderbook or -1 if not possible
110
+ const nonce = this.safeInteger(orderbook, 'nonce');
111
+ const firstDelta = this.safeValue(cache, 0);
112
+ const firstDeltaNonce = this.safeInteger2(firstDelta, 'i', 'u');
113
+ if (nonce < firstDeltaNonce - 1) {
114
+ return -1;
115
+ }
116
+ for (let i = 0; i < cache.length; i++) {
117
+ const delta = cache[i];
118
+ const deltaNonce = this.safeInteger2(delta, 'i', 'u');
119
+ if (deltaNonce >= nonce) {
120
+ return i;
121
+ }
122
+ }
123
+ return cache.length;
124
+ }
125
+ handleDelta(orderbook, delta) {
126
+ orderbook['nonce'] = this.safeInteger2(delta, 'i', 'u');
127
+ const obAsks = this.safeList(delta, 'a', []);
128
+ const obBids = this.safeList(delta, 'b', []);
129
+ const bids = orderbook['bids'];
130
+ const asks = orderbook['asks'];
131
+ for (let i = 0; i < obBids.length; i++) {
132
+ const bid = obBids[i];
133
+ const price = this.safeNumber(bid, 0);
134
+ const quantity = this.safeNumber(bid, 1);
135
+ bids.store(price, quantity);
136
+ }
137
+ for (let i = 0; i < obAsks.length; i++) {
138
+ const ask = obAsks[i];
139
+ const price = this.safeNumber(ask, 0);
140
+ const quantity = this.safeNumber(ask, 1);
141
+ asks.store(price, quantity);
142
+ }
143
+ // this.handleBidAsks (storedBids, bids);
144
+ // this.handleBidAsks (storedAsks, asks);
145
+ }
146
+ /**
147
+ * @ignore
148
+ * @method
149
+ * @description Connects to a websocket channel
150
+ * @see https://doc.xt.com/#websocket_privaterequestFormat
151
+ * @see https://doc.xt.com/#futures_market_websocket_v2base
152
+ * @param {string} name name of the channel
153
+ * @param {string} access public or private
154
+ * @param {string} methodName the name of the CCXT class method
155
+ * @param {object} [market] CCXT market
156
+ * @param {string[]} [symbols] unified market symbols
157
+ * @param {object} params extra parameters specific to the xt api
158
+ * @returns {object} data from the websocket stream
159
+ */
160
+ async subscribe(name, access, methodName, market = undefined, symbols = undefined, params = {}) {
161
+ const privateAccess = access === 'private';
162
+ let type = undefined;
163
+ [type, params] = this.handleMarketTypeAndParams(methodName, market, params);
164
+ const isContract = (type !== 'spot');
165
+ const subscribe = {
166
+ 'method': isContract ? 'SUBSCRIBE' : 'subscribe',
167
+ 'id': this.numberToString(this.milliseconds()) + name, // call back ID
168
+ };
169
+ if (privateAccess) {
170
+ if (!isContract) {
171
+ subscribe['params'] = [name];
172
+ subscribe['listenKey'] = await this.getListenKey(isContract);
173
+ }
174
+ else {
175
+ const listenKey = await this.getListenKey(isContract);
176
+ const param = name + '@' + listenKey;
177
+ subscribe['params'] = [param];
178
+ }
179
+ }
180
+ else {
181
+ subscribe['params'] = [name];
182
+ }
183
+ const tradeType = isContract ? 'contract' : 'spot';
184
+ let messageHash = name + '::' + tradeType;
185
+ if (symbols !== undefined) {
186
+ messageHash = messageHash + '::' + symbols.join(',');
187
+ }
188
+ const request = this.extend(subscribe, params);
189
+ let tail = access;
190
+ if (isContract) {
191
+ tail = privateAccess ? 'user' : 'market';
192
+ }
193
+ const url = this.urls['api']['ws'][tradeType] + '/' + tail;
194
+ return await this.watch(url, messageHash, request, messageHash);
195
+ }
196
+ /**
197
+ * @method
198
+ * @name xt#watchTicker
199
+ * @description watches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
200
+ * @see https://doc.xt.com/#websocket_publictickerRealTime
201
+ * @see https://doc.xt.com/#futures_market_websocket_v2tickerRealTime
202
+ * @see https://doc.xt.com/#futures_market_websocket_v2aggTickerRealTime
203
+ * @param {string} symbol unified symbol of the market to fetch the ticker for
204
+ * @param {object} params extra parameters specific to the xt api endpoint
205
+ * @param {string} [params.method] 'agg_ticker' (contract only) or 'ticker', default = 'ticker' - the endpoint that will be streamed
206
+ * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/en/latest/manual.html#ticker-structure}
207
+ */
208
+ async watchTicker(symbol, params = {}) {
209
+ await this.loadMarkets();
210
+ const market = this.market(symbol);
211
+ const options = this.safeDict(this.options, 'watchTicker');
212
+ const defaultMethod = this.safeString(options, 'method', 'ticker');
213
+ const method = this.safeString(params, 'method', defaultMethod);
214
+ const name = method + '@' + market['id'];
215
+ return await this.subscribe(name, 'public', 'watchTicker', market, undefined, params);
216
+ }
217
+ /**
218
+ * @method
219
+ * @name xt#watchTicker
220
+ * @description watches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
221
+ * @see https://doc.xt.com/#websocket_publicallTicker
222
+ * @see https://doc.xt.com/#futures_market_websocket_v2allTicker
223
+ * @see https://doc.xt.com/#futures_market_websocket_v2allAggTicker
224
+ * @param {string} [symbols] unified market symbols
225
+ * @param {object} params extra parameters specific to the xt api endpoint
226
+ * @param {string} [params.method] 'agg_tickers' (contract only) or 'tickers', default = 'tickers' - the endpoint that will be streamed
227
+ * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/en/latest/manual.html#ticker-structure}
228
+ */
229
+ async watchTickers(symbols = undefined, params = {}) {
230
+ await this.loadMarkets();
231
+ const options = this.safeDict(this.options, 'watchTickers');
232
+ const defaultMethod = this.safeString(options, 'method', 'tickers');
233
+ const name = this.safeString(params, 'method', defaultMethod);
234
+ let market = undefined;
235
+ if (symbols !== undefined) {
236
+ market = this.market(symbols[0]);
237
+ }
238
+ const tickers = await this.subscribe(name, 'public', 'watchTickers', market, symbols, params);
239
+ if (this.newUpdates) {
240
+ return tickers;
241
+ }
242
+ return this.filterByArray(this.tickers, 'symbol', symbols);
243
+ }
244
+ /**
245
+ * @method
246
+ * @name hitbtc#watchOHLCV
247
+ * @description watches historical candlestick data containing the open, high, low, and close price, and the volume of a market
248
+ * @see https://doc.xt.com/#websocket_publicsymbolKline
249
+ * @see https://doc.xt.com/#futures_market_websocket_v2symbolKline
250
+ * @param {string} symbol unified symbol of the market to fetch OHLCV data for
251
+ * @param {string} timeframe 1m, 3m, 5m, 15m, 30m, 1h, 2h, 4h, 6h, 8h, 12h, 1d, 3d, 1w, or 1M
252
+ * @param {int} [since] not used by xt watchOHLCV
253
+ * @param {int} [limit] not used by xt watchOHLCV
254
+ * @param {object} params extra parameters specific to the xt api endpoint
255
+ * @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
256
+ */
257
+ async watchOHLCV(symbol, timeframe = '1m', since = undefined, limit = undefined, params = {}) {
258
+ await this.loadMarkets();
259
+ const market = this.market(symbol);
260
+ const name = 'kline@' + market['id'] + ',' + timeframe;
261
+ const ohlcv = await this.subscribe(name, 'public', 'watchOHLCV', market, undefined, params);
262
+ if (this.newUpdates) {
263
+ limit = ohlcv.getLimit(symbol, limit);
264
+ }
265
+ return this.filterBySinceLimit(ohlcv, since, limit, 0, true);
266
+ }
267
+ /**
268
+ * @method
269
+ * @name xt#watchTrades
270
+ * @description get the list of most recent trades for a particular symbol
271
+ * @see https://doc.xt.com/#websocket_publicdealRecord
272
+ * @see https://doc.xt.com/#futures_market_websocket_v2dealRecord
273
+ * @param {string} symbol unified symbol of the market to fetch trades for
274
+ * @param {int} [since] timestamp in ms of the earliest trade to fetch
275
+ * @param {int} [limit] the maximum amount of trades to fetch
276
+ * @param {object} params extra parameters specific to the xt api endpoint
277
+ * @returns {object[]} a list of [trade structures]{@link https://docs.ccxt.com/en/latest/manual.html?#public-trades}
278
+ */
279
+ async watchTrades(symbol, since = undefined, limit = undefined, params = {}) {
280
+ await this.loadMarkets();
281
+ const market = this.market(symbol);
282
+ const name = 'trade@' + market['id'];
283
+ const trades = await this.subscribe(name, 'public', 'watchTrades', market, undefined, params);
284
+ if (this.newUpdates) {
285
+ limit = trades.getLimit(symbol, limit);
286
+ }
287
+ return this.filterBySinceLimit(trades, since, limit, 'timestamp');
288
+ }
289
+ /**
290
+ * @method
291
+ * @name xt#watchOrderBook
292
+ * @description watches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
293
+ * @see https://doc.xt.com/#websocket_publiclimitDepth
294
+ * @see https://doc.xt.com/#websocket_publicincreDepth
295
+ * @see https://doc.xt.com/#futures_market_websocket_v2limitDepth
296
+ * @see https://doc.xt.com/#futures_market_websocket_v2increDepth
297
+ * @param {string} symbol unified symbol of the market to fetch the order book for
298
+ * @param {int} [limit] not used by xt watchOrderBook
299
+ * @param {object} params extra parameters specific to the xt api endpoint
300
+ * @param {int} [params.levels] 5, 10, 20, or 50
301
+ * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/en/latest/manual.html#order-book-structure} indexed by market symbols
302
+ */
303
+ async watchOrderBook(symbol, limit = undefined, params = {}) {
304
+ await this.loadMarkets();
305
+ const market = this.market(symbol);
306
+ const levels = this.safeString(params, 'levels');
307
+ params = this.omit(params, 'levels');
308
+ let name = 'depth_update@' + market['id'];
309
+ if (levels !== undefined) {
310
+ name = 'depth@' + market['id'] + ',' + levels;
311
+ }
312
+ const orderbook = await this.subscribe(name, 'public', 'watchOrderBook', market, undefined, params);
313
+ return orderbook.limit();
314
+ }
315
+ /**
316
+ * @method
317
+ * @name xt#watchOrders
318
+ * @description watches information on multiple orders made by the user
319
+ * @see https://doc.xt.com/#websocket_privateorderChange
320
+ * @see https://doc.xt.com/#futures_user_websocket_v2order
321
+ * @param {string} [symbol] unified market symbol
322
+ * @param {int} [since] not used by xt watchOrders
323
+ * @param {int} [limit] the maximum number of orders to return
324
+ * @param {object} params extra parameters specific to the xt api endpoint
325
+ * @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/en/latest/manual.html#order-structure}
326
+ */
327
+ async watchOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
328
+ await this.loadMarkets();
329
+ const name = 'order';
330
+ let market = undefined;
331
+ if (symbol !== undefined) {
332
+ market = this.market(symbol);
333
+ }
334
+ const orders = await this.subscribe(name, 'private', 'watchOrders', market, undefined, params);
335
+ if (this.newUpdates) {
336
+ limit = orders.getLimit(symbol, limit);
337
+ }
338
+ return this.filterBySinceLimit(orders, since, limit, 'timestamp');
339
+ }
340
+ /**
341
+ * @method
342
+ * @name xt#watchMyTrades
343
+ * @description watches information on multiple trades made by the user
344
+ * @see https://doc.xt.com/#websocket_privateorderDeal
345
+ * @see https://doc.xt.com/#futures_user_websocket_v2trade
346
+ * @param {string} symbol unified market symbol of the market orders were made in
347
+ * @param {int} [since] the earliest time in ms to fetch orders for
348
+ * @param {int} [limit] the maximum number of orde structures to retrieve
349
+ * @param {object} params extra parameters specific to the kucoin api endpoint
350
+ * @returns {object[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=trade-structure}
351
+ */
352
+ async watchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
353
+ await this.loadMarkets();
354
+ const name = 'trade';
355
+ let market = undefined;
356
+ if (symbol !== undefined) {
357
+ market = this.market(symbol);
358
+ }
359
+ const trades = await this.subscribe(name, 'private', 'watchMyTrades', market, undefined, params);
360
+ if (this.newUpdates) {
361
+ limit = trades.getLimit(symbol, limit);
362
+ }
363
+ return this.filterBySinceLimit(trades, since, limit, 'timestamp');
364
+ }
365
+ /**
366
+ * @method
367
+ * @name xt#watchOrders
368
+ * @description watches information on multiple orders made by the user
369
+ * @see https://doc.xt.com/#websocket_privatebalanceChange
370
+ * @see https://doc.xt.com/#futures_user_websocket_v2balance
371
+ * @param {object} params extra parameters specific to the xt api endpoint
372
+ * @returns {object[]} a list of [balance structures]{@link https://docs.ccxt.com/#/?id=balance-structure}
373
+ */
374
+ async watchBalance(params = {}) {
375
+ await this.loadMarkets();
376
+ const name = 'balance';
377
+ return await this.subscribe(name, 'private', 'watchBalance', undefined, undefined, params);
378
+ }
379
+ /**
380
+ * @method
381
+ * @name xt#watchPositions
382
+ * @see https://doc.xt.com/#futures_user_websocket_v2position
383
+ * @description watch all open positions
384
+ * @param {string[]|undefined} symbols list of unified market symbols
385
+ * @param {number} [since] since timestamp
386
+ * @param {number} [limit] limit
387
+ * @param {object} params extra parameters specific to the exchange API endpoint
388
+ * @returns {object[]} a list of [position structure]{@link https://docs.ccxt.com/en/latest/manual.html#position-structure}
389
+ */
390
+ async watchPositions(symbols = undefined, since = undefined, limit = undefined, params = {}) {
391
+ await this.loadMarkets();
392
+ const url = this.urls['api']['ws']['contract'] + '/' + 'user';
393
+ const client = this.client(url);
394
+ this.setPositionsCache(client);
395
+ const fetchPositionsSnapshot = this.handleOption('watchPositions', 'fetchPositionsSnapshot', true);
396
+ const awaitPositionsSnapshot = this.handleOption('watchPositions', 'awaitPositionsSnapshot', true);
397
+ const cache = this.positions;
398
+ if (fetchPositionsSnapshot && awaitPositionsSnapshot && this.isEmpty(cache)) {
399
+ const snapshot = await client.future('fetchPositionsSnapshot');
400
+ return this.filterBySymbolsSinceLimit(snapshot, symbols, since, limit, true);
401
+ }
402
+ const name = 'position';
403
+ const newPositions = await this.subscribe(name, 'private', 'watchPositions', undefined, undefined, params);
404
+ if (this.newUpdates) {
405
+ return newPositions;
406
+ }
407
+ return this.filterBySymbolsSinceLimit(cache, symbols, since, limit, true);
408
+ }
409
+ setPositionsCache(client) {
410
+ if (this.positions === undefined) {
411
+ this.positions = new ArrayCacheBySymbolBySide();
412
+ }
413
+ const fetchPositionsSnapshot = this.handleOption('watchPositions', 'fetchPositionsSnapshot');
414
+ if (fetchPositionsSnapshot) {
415
+ const messageHash = 'fetchPositionsSnapshot';
416
+ if (!(messageHash in client.futures)) {
417
+ client.future(messageHash);
418
+ this.spawn(this.loadPositionsSnapshot, client, messageHash);
419
+ }
420
+ }
421
+ }
422
+ async loadPositionsSnapshot(client, messageHash) {
423
+ const positions = await this.fetchPositions(undefined);
424
+ this.positions = new ArrayCacheBySymbolBySide();
425
+ const cache = this.positions;
426
+ for (let i = 0; i < positions.length; i++) {
427
+ const position = positions[i];
428
+ const contracts = this.safeNumber(position, 'contracts', 0);
429
+ if (contracts > 0) {
430
+ cache.append(position);
431
+ }
432
+ }
433
+ // don't remove the future from the .futures cache
434
+ const future = client.futures[messageHash];
435
+ future.resolve(cache);
436
+ client.resolve(cache, 'position::contract');
437
+ }
438
+ handlePosition(client, message) {
439
+ //
440
+ // {
441
+ // topic: 'position',
442
+ // event: 'position',
443
+ // data: {
444
+ // accountId: 245296,
445
+ // accountType: 0,
446
+ // symbol: 'eth_usdt',
447
+ // contractType: 'PERPETUAL',
448
+ // positionType: 'CROSSED',
449
+ // positionSide: 'LONG',
450
+ // positionSize: '1',
451
+ // closeOrderSize: '0',
452
+ // availableCloseSize: '1',
453
+ // realizedProfit: '-0.0121',
454
+ // entryPrice: '2637.87',
455
+ // openOrderSize: '1',
456
+ // isolatedMargin: '2.63787',
457
+ // openOrderMarginFrozen: '2.78832014',
458
+ // underlyingType: 'U_BASED',
459
+ // leverage: 10,
460
+ // welfareAccount: false,
461
+ // profitFixedLatest: {},
462
+ // closeProfit: '0.0000',
463
+ // totalFee: '-0.0158',
464
+ // totalFundFee: '0.0037',
465
+ // markPrice: '2690.96'
466
+ // }
467
+ // }
468
+ //
469
+ if (this.positions === undefined) {
470
+ this.positions = new ArrayCacheBySymbolBySide();
471
+ }
472
+ const cache = this.positions;
473
+ const data = this.safeDict(message, 'data', {});
474
+ const position = this.parsePosition(data);
475
+ cache.append(position);
476
+ const messageHashes = this.findMessageHashes(client, 'position::contract');
477
+ for (let i = 0; i < messageHashes.length; i++) {
478
+ const messageHash = messageHashes[i];
479
+ const parts = messageHash.split('::');
480
+ const symbolsString = parts[1];
481
+ const symbols = symbolsString.split(',');
482
+ const positions = this.filterByArray([position], 'symbol', symbols, false);
483
+ if (!this.isEmpty(positions)) {
484
+ client.resolve(positions, messageHash);
485
+ }
486
+ }
487
+ client.resolve([position], 'position::contract');
488
+ }
489
+ handleTicker(client, message) {
490
+ //
491
+ // spot
492
+ //
493
+ // {
494
+ // topic: 'ticker',
495
+ // event: 'ticker@btc_usdt',
496
+ // data: {
497
+ // s: 'btc_usdt', // symbol
498
+ // t: 1683501935877, // time(Last transaction time)
499
+ // cv: '-82.67', // priceChangeValue(24 hour price change)
500
+ // cr: '-0.0028', // priceChangeRate 24-hour price change (percentage)
501
+ // o: '28823.87', // open price
502
+ // c: '28741.20', // close price
503
+ // h: '29137.64', // highest price
504
+ // l: '28660.93', // lowest price
505
+ // q: '6372.601573', // quantity
506
+ // v: '184086075.2772391' // volume
507
+ // }
508
+ // }
509
+ //
510
+ // contract
511
+ //
512
+ // {
513
+ // "topic": "ticker",
514
+ // "event": "ticker@btc_usdt",
515
+ // "data": {
516
+ // "s": "btc_index", // trading pair
517
+ // "o": "49000", // opening price
518
+ // "c": "50000", // closing price
519
+ // "h": "0.1", // highest price
520
+ // "l": "0.1", // lowest price
521
+ // "a": "0.1", // volume
522
+ // "v": "0.1", // turnover
523
+ // "ch": "0.21", // quote change
524
+ // "t": 123124124 // timestamp
525
+ // }
526
+ // }
527
+ //
528
+ // agg_ticker (contract)
529
+ //
530
+ // {
531
+ // "topic": "agg_ticker",
532
+ // "event": "agg_ticker@btc_usdt",
533
+ // "data": {
534
+ // "s": "btc_index", // trading pair
535
+ // "o": "49000", // opening price
536
+ // "c": "50000", // closing price
537
+ // "h": "0.1", // highest price
538
+ // "l": "0.1", // lowest price
539
+ // "a": "0.1", // volume
540
+ // "v": "0.1", // turnover
541
+ // "ch": "0.21", // quote change
542
+ // "i": "0.21" , // index price
543
+ // "m": "0.21", // mark price
544
+ // "bp": "0.21", // bid price
545
+ // "ap": "0.21" , // ask price
546
+ // "t": 123124124 // timestamp
547
+ // }
548
+ // }
549
+ //
550
+ const data = this.safeDict(message, 'data');
551
+ const marketId = this.safeString(data, 's');
552
+ if (marketId !== undefined) {
553
+ const cv = this.safeString(data, 'cv');
554
+ const isSpot = cv !== undefined;
555
+ const ticker = this.parseTicker(data);
556
+ const symbol = ticker['symbol'];
557
+ this.tickers[symbol] = ticker;
558
+ const event = this.safeString(message, 'event');
559
+ const messageHashTail = isSpot ? 'spot' : 'contract';
560
+ const messageHash = event + '::' + messageHashTail;
561
+ client.resolve(ticker, messageHash);
562
+ }
563
+ return message;
564
+ }
565
+ handleTickers(client, message) {
566
+ //
567
+ // spot
568
+ //
569
+ // {
570
+ // topic: 'tickers',
571
+ // event: 'tickers',
572
+ // data: [
573
+ // {
574
+ // s: 'elon_usdt',
575
+ // t: 1683502958381,
576
+ // cv: '-0.0000000125',
577
+ // cr: '-0.0495',
578
+ // o: '0.0000002522',
579
+ // c: '0.0000002397',
580
+ // h: '0.0000002690',
581
+ // l: '0.0000002371',
582
+ // q: '3803783034.0000000000',
583
+ // v: '955.3260820022'
584
+ // },
585
+ // ...
586
+ // ]
587
+ // }
588
+ //
589
+ // contract
590
+ //
591
+ // {
592
+ // "topic": "tickers",
593
+ // "event": "tickers",
594
+ // "data": [
595
+ // {
596
+ // "s": "btc_index", // trading pair
597
+ // "o": "49000", // opening price
598
+ // "c": "50000", // closing price
599
+ // "h": "0.1", // highest price
600
+ // "l": "0.1", // lowest price
601
+ // "a": "0.1", // volume
602
+ // "v": "0.1", // turnover
603
+ // "ch": "0.21", // quote change
604
+ // "t": 123124124 // timestamp
605
+ // }
606
+ // ]
607
+ // }
608
+ //
609
+ // agg_ticker (contract)
610
+ //
611
+ // {
612
+ // "topic": "agg_tickers",
613
+ // "event": "agg_tickers",
614
+ // "data": [
615
+ // {
616
+ // "s": "btc_index", // trading pair
617
+ // "o": "49000", // opening price
618
+ // "c": "50000", // closing price
619
+ // "h": "0.1", // highest price
620
+ // "l": "0.1", // lowest price
621
+ // "a": "0.1", // volume
622
+ // "v": "0.1", // turnover
623
+ // "ch": "0.21", // quote change
624
+ // "i": "0.21" , // index price
625
+ // "m": "0.21", // mark price
626
+ // "bp": "0.21", // bid price
627
+ // "ap": "0.21" , // ask price
628
+ // "t": 123124124 // timestamp
629
+ // }
630
+ // ]
631
+ // }
632
+ //
633
+ const data = this.safeList(message, 'data', []);
634
+ const firstTicker = this.safeDict(data, 0);
635
+ const spotTest = this.safeString2(firstTicker, 'cv', 'aq');
636
+ const tradeType = (spotTest !== undefined) ? 'spot' : 'contract';
637
+ const newTickers = [];
638
+ for (let i = 0; i < data.length; i++) {
639
+ const tickerData = data[i];
640
+ const ticker = this.parseTicker(tickerData);
641
+ const symbol = ticker['symbol'];
642
+ this.tickers[symbol] = ticker;
643
+ newTickers.push(ticker);
644
+ }
645
+ const messageHashStart = this.safeString(message, 'topic') + '::' + tradeType;
646
+ const messageHashes = this.findMessageHashes(client, messageHashStart + '::');
647
+ for (let i = 0; i < messageHashes.length; i++) {
648
+ const messageHash = messageHashes[i];
649
+ const parts = messageHash.split('::');
650
+ const symbolsString = parts[2];
651
+ const symbols = symbolsString.split(',');
652
+ const tickers = this.filterByArray(newTickers, 'symbol', symbols);
653
+ const tickersSymbols = Object.keys(tickers);
654
+ const numTickers = tickersSymbols.length;
655
+ if (numTickers > 0) {
656
+ client.resolve(tickers, messageHash);
657
+ }
658
+ }
659
+ client.resolve(this.tickers, messageHashStart);
660
+ return message;
661
+ }
662
+ handleOHLCV(client, message) {
663
+ //
664
+ // spot
665
+ //
666
+ // {
667
+ // "topic": "kline",
668
+ // "event": "kline@btc_usdt,5m",
669
+ // "data": {
670
+ // "s": "btc_usdt", // symbol
671
+ // "t": 1656043200000, // time
672
+ // "i": "5m", // interval
673
+ // "o": "44000", // open price
674
+ // "c": "50000", // close price
675
+ // "h": "52000", // highest price
676
+ // "l": "36000", // lowest price
677
+ // "q": "34.2", // qty(quantity)
678
+ // "v": "230000" // volume
679
+ // }
680
+ // }
681
+ //
682
+ // contract
683
+ //
684
+ // {
685
+ // "topic": "kline",
686
+ // "event": "kline@btc_usdt,5m",
687
+ // "data": {
688
+ // "s": "btc_index", // trading pair
689
+ // "o": "49000", // opening price
690
+ // "c": "50000", // closing price
691
+ // "h": "0.1", // highest price
692
+ // "l": "0.1", // lowest price
693
+ // "a": "0.1", // volume
694
+ // "v": "0.1", // turnover
695
+ // "ch": "0.21", // quote change
696
+ // "t": 123124124 // timestamp
697
+ // }
698
+ // }
699
+ //
700
+ const data = this.safeDict(message, 'data', {});
701
+ const marketId = this.safeString(data, 's');
702
+ if (marketId !== undefined) {
703
+ const timeframe = this.safeString(data, 'i');
704
+ const tradeType = ('q' in data) ? 'spot' : 'contract';
705
+ const market = this.safeMarket(marketId, undefined, undefined, tradeType);
706
+ const symbol = market['symbol'];
707
+ const parsed = this.parseOHLCV(data, market);
708
+ this.ohlcvs[symbol] = this.safeDict(this.ohlcvs, symbol, {});
709
+ let stored = this.safeValue(this.ohlcvs[symbol], timeframe);
710
+ if (stored === undefined) {
711
+ const limit = this.safeInteger(this.options, 'OHLCVLimit', 1000);
712
+ stored = new ArrayCacheByTimestamp(limit);
713
+ this.ohlcvs[symbol][timeframe] = stored;
714
+ }
715
+ stored.append(parsed);
716
+ const event = this.safeString(message, 'event');
717
+ const messageHash = event + '::' + tradeType;
718
+ client.resolve(stored, messageHash);
719
+ }
720
+ return message;
721
+ }
722
+ handleTrade(client, message) {
723
+ //
724
+ // spot
725
+ //
726
+ // {
727
+ // topic: 'trade',
728
+ // event: 'trade@btc_usdt',
729
+ // data: {
730
+ // s: 'btc_usdt',
731
+ // i: '228825383103928709',
732
+ // t: 1684258222702,
733
+ // p: '27003.65',
734
+ // q: '0.000796',
735
+ // b: true
736
+ // }
737
+ // }
738
+ //
739
+ // contract
740
+ //
741
+ // {
742
+ // "topic": "trade",
743
+ // "event": "trade@btc_usdt",
744
+ // "data": {
745
+ // "s": "btc_index", // trading pair
746
+ // "p": "50000", // price
747
+ // "a": "0.1" // Quantity
748
+ // "m": "BID" // Deal side BID:Buy ASK:Sell
749
+ // "t": 123124124 // timestamp
750
+ // }
751
+ // }
752
+ //
753
+ const data = this.safeDict(message, 'data');
754
+ const marketId = this.safeStringLower(data, 's');
755
+ if (marketId !== undefined) {
756
+ const trade = this.parseTrade(data);
757
+ const i = this.safeString(data, 'i');
758
+ const tradeType = (i !== undefined) ? 'spot' : 'contract';
759
+ const market = this.safeMarket(marketId, undefined, undefined, tradeType);
760
+ const symbol = market['symbol'];
761
+ const event = this.safeString(message, 'event');
762
+ let tradesArray = this.safeValue(this.trades, symbol);
763
+ if (tradesArray === undefined) {
764
+ const tradesLimit = this.safeInteger(this.options, 'tradesLimit', 1000);
765
+ tradesArray = new ArrayCache(tradesLimit);
766
+ this.trades[symbol] = tradesArray;
767
+ }
768
+ tradesArray.append(trade);
769
+ const messageHash = event + '::' + tradeType;
770
+ client.resolve(tradesArray, messageHash);
771
+ }
772
+ return message;
773
+ }
774
+ handleOrderBook(client, message) {
775
+ //
776
+ // spot
777
+ //
778
+ // {
779
+ // "topic": "depth",
780
+ // "event": "depth@btc_usdt,20",
781
+ // "data": {
782
+ // "s": "btc_usdt", // symbol
783
+ // "fi": 1681433733351, // firstUpdateId = previous lastUpdateId + 1
784
+ // "i": 1681433733371, // updateId
785
+ // "a": [ // asks(sell order)
786
+ // [ // [0]price, [1]quantity
787
+ // "34000", // price
788
+ // "1.2" // quantity
789
+ // ],
790
+ // [
791
+ // "34001",
792
+ // "2.3"
793
+ // ]
794
+ // ],
795
+ // "b": [ // bids(buy order)
796
+ // [
797
+ // "32000",
798
+ // "0.2"
799
+ // ],
800
+ // [
801
+ // "31000",
802
+ // "0.5"
803
+ // ]
804
+ // ]
805
+ // }
806
+ // }
807
+ //
808
+ // contract
809
+ //
810
+ // {
811
+ // "topic": "depth",
812
+ // "event": "depth@btc_usdt,20",
813
+ // "data": {
814
+ // s: "btc_usdt",
815
+ // pu: "548111455664",
816
+ // fu: "548111455665",
817
+ // u: "548111455667",
818
+ // a: [
819
+ // [
820
+ // "26841.5",
821
+ // "50210",
822
+ // ],
823
+ // ],
824
+ // b: [
825
+ // [
826
+ // "26841",
827
+ // "67075",
828
+ // ],
829
+ // ],
830
+ // t: 1684530667083,
831
+ // }
832
+ // }
833
+ //
834
+ const data = this.safeDict(message, 'data');
835
+ const marketId = this.safeString(data, 's');
836
+ if (marketId !== undefined) {
837
+ let event = this.safeString(message, 'event');
838
+ const splitEvent = event.split(',');
839
+ event = this.safeString(splitEvent, 0);
840
+ const tradeType = ('fu' in data) ? 'contract' : 'spot';
841
+ const market = this.safeMarket(marketId, undefined, undefined, tradeType);
842
+ const symbol = market['symbol'];
843
+ const obAsks = this.safeList(data, 'a');
844
+ const obBids = this.safeList(data, 'b');
845
+ const messageHash = event + '::' + tradeType;
846
+ if (!(symbol in this.orderbooks)) {
847
+ const subscription = this.safeDict(client.subscriptions, messageHash, {});
848
+ const limit = this.safeInteger(subscription, 'limit');
849
+ this.orderbooks[symbol] = this.orderBook({}, limit);
850
+ }
851
+ const orderbook = this.orderbooks[symbol];
852
+ const nonce = this.safeInteger(orderbook, 'nonce');
853
+ if (nonce === undefined) {
854
+ const cacheLength = orderbook.cache.length;
855
+ const snapshotDelay = this.handleOption('watchOrderBook', 'snapshotDelay', 25);
856
+ if (cacheLength === snapshotDelay) {
857
+ this.spawn(this.loadOrderBook, client, messageHash, symbol);
858
+ }
859
+ orderbook.cache.push(data);
860
+ return;
861
+ }
862
+ if (obAsks !== undefined) {
863
+ const asks = orderbook['asks'];
864
+ for (let i = 0; i < obAsks.length; i++) {
865
+ const ask = obAsks[i];
866
+ const price = this.safeNumber(ask, 0);
867
+ const quantity = this.safeNumber(ask, 1);
868
+ asks.store(price, quantity);
869
+ }
870
+ }
871
+ if (obBids !== undefined) {
872
+ const bids = orderbook['bids'];
873
+ for (let i = 0; i < obBids.length; i++) {
874
+ const bid = obBids[i];
875
+ const price = this.safeNumber(bid, 0);
876
+ const quantity = this.safeNumber(bid, 1);
877
+ bids.store(price, quantity);
878
+ }
879
+ }
880
+ const timestamp = this.safeInteger(data, 't');
881
+ orderbook['nonce'] = this.safeInteger2(data, 'i', 'u');
882
+ orderbook['timestamp'] = timestamp;
883
+ orderbook['datetime'] = this.iso8601(timestamp);
884
+ orderbook['symbol'] = symbol;
885
+ client.resolve(orderbook, messageHash);
886
+ }
887
+ }
888
+ parseWsOrderTrade(trade, market = undefined) {
889
+ //
890
+ // {
891
+ // "s": "btc_usdt", // symbol
892
+ // "t": 1656043204763, // time happened time
893
+ // "i": "6216559590087220004", // orderId,
894
+ // "ci": "test123", // clientOrderId
895
+ // "st": "PARTIALLY_FILLED", // state
896
+ // "sd": "BUY", // side BUY/SELL
897
+ // "eq": "2", // executedQty executed quantity
898
+ // "ap": "30000", // avg price
899
+ // "f": "0.002" // fee
900
+ // }
901
+ //
902
+ // contract
903
+ //
904
+ // {
905
+ // "symbol": "btc_usdt", // Trading pair
906
+ // "orderId": "1234", // Order Id
907
+ // "origQty": "34244", // Original Quantity
908
+ // "avgPrice": "123", // Quantity
909
+ // "price": "1111", // Average price
910
+ // "executedQty": "34244", // Volume (Cont)
911
+ // "orderSide": "BUY", // BUY, SELL
912
+ // "positionSide": "LONG", // LONG, SHORT
913
+ // "marginFrozen": "123", // Occupied margin
914
+ // "sourceType": "default", // DEFAULT:normal order,ENTRUST:plan commission,PROFIR:Take Profit and Stop Loss
915
+ // "sourceId" : "1231231", // Triggering conditions ID
916
+ // "state": "", // state:NEW:New order (unfilled);PARTIALLY_FILLED:Partial deal;PARTIALLY_CANCELED:Partial revocation;FILLED:Filled;CANCELED:Cancled;REJECTED:Order failed;EXPIRED:Expired
917
+ // "createTime": 1731231231, // CreateTime
918
+ // "clientOrderId": "204788317630342726"
919
+ // }
920
+ //
921
+ const marketId = this.safeString(trade, 's');
922
+ const tradeType = ('symbol' in trade) ? 'contract' : 'spot';
923
+ market = this.safeMarket(marketId, market, undefined, tradeType);
924
+ const timestamp = this.safeString(trade, 't');
925
+ return this.safeTrade({
926
+ 'info': trade,
927
+ 'id': undefined,
928
+ 'timestamp': timestamp,
929
+ 'datetime': this.iso8601(timestamp),
930
+ 'symbol': market['symbol'],
931
+ 'order': this.safeString(trade, 'i', 'orderId'),
932
+ 'type': this.parseOrderStatus(this.safeString(trade, 'st', 'state')),
933
+ 'side': this.safeStringLower(trade, 'sd', 'orderSide'),
934
+ 'takerOrMaker': undefined,
935
+ 'price': this.safeNumber(trade, 'price'),
936
+ 'amount': this.safeString(trade, 'origQty'),
937
+ 'cost': undefined,
938
+ 'fee': {
939
+ 'currency': undefined,
940
+ 'cost': this.safeNumber(trade, 'f'),
941
+ 'rate': undefined,
942
+ },
943
+ }, market);
944
+ }
945
+ parseWsOrder(order, market = undefined) {
946
+ //
947
+ // spot
948
+ //
949
+ // {
950
+ // "s": "btc_usdt", // symbol
951
+ // "bc": "btc", // base currency
952
+ // "qc": "usdt", // quotation currency
953
+ // "t": 1656043204763, // happened time
954
+ // "ct": 1656043204663, // create time
955
+ // "i": "6216559590087220004", // order id,
956
+ // "ci": "test123", // client order id
957
+ // "st": "PARTIALLY_FILLED", // state NEW/PARTIALLY_FILLED/FILLED/CANCELED/REJECTED/EXPIRED
958
+ // "sd": "BUY", // side BUY/SELL
959
+ // "tp": "LIMIT", // type LIMIT/MARKET
960
+ // "oq": "4" // original quantity
961
+ // "oqq": 48000, // original quotation quantity
962
+ // "eq": "2", // executed quantity
963
+ // "lq": "2", // remaining quantity
964
+ // "p": "4000", // price
965
+ // "ap": "30000", // avg price
966
+ // "f":"0.002" // fee
967
+ // }
968
+ //
969
+ // contract
970
+ //
971
+ // {
972
+ // "symbol": "btc_usdt", // Trading pair
973
+ // "orderId": "1234", // Order Id
974
+ // "origQty": "34244", // Original Quantity
975
+ // "avgPrice": "123", // Quantity
976
+ // "price": "1111", // Average price
977
+ // "executedQty": "34244", // Volume (Cont)
978
+ // "orderSide": "BUY", // BUY, SELL
979
+ // "positionSide": "LONG", // LONG, SHORT
980
+ // "marginFrozen": "123", // Occupied margin
981
+ // "sourceType": "default", // DEFAULT:normal order,ENTRUST:plan commission,PROFIR:Take Profit and Stop Loss
982
+ // "sourceId" : "1231231", // Triggering conditions ID
983
+ // "state": "", // state:NEW:New order (unfilled);PARTIALLY_FILLED:Partial deal;PARTIALLY_CANCELED:Partial revocation;FILLED:Filled;CANCELED:Cancled;REJECTED:Order failed;EXPIRED:Expired
984
+ // "createTime": 1731231231, // CreateTime
985
+ // "clientOrderId": "204788317630342726"
986
+ // }
987
+ //
988
+ const marketId = this.safeString2(order, 's', 'symbol');
989
+ const tradeType = ('symbol' in order) ? 'contract' : 'spot';
990
+ market = this.safeMarket(marketId, market, undefined, tradeType);
991
+ const timestamp = this.safeInteger2(order, 'ct', 'createTime');
992
+ return this.safeOrder({
993
+ 'info': order,
994
+ 'id': this.safeString2(order, 'i', 'orderId'),
995
+ 'clientOrderId': this.safeString2(order, 'ci', 'clientOrderId'),
996
+ 'timestamp': timestamp,
997
+ 'datetime': this.iso8601(timestamp),
998
+ 'lastTradeTimestamp': undefined,
999
+ 'symbol': market['symbol'],
1000
+ 'type': market['type'],
1001
+ 'timeInForce': undefined,
1002
+ 'postOnly': undefined,
1003
+ 'side': this.safeStringLower2(order, 'sd', 'orderSide'),
1004
+ 'price': this.safeNumber2(order, 'p', 'price'),
1005
+ 'stopPrice': undefined,
1006
+ 'stopLoss': undefined,
1007
+ 'takeProfit': undefined,
1008
+ 'amount': this.safeString2(order, 'oq', 'origQty'),
1009
+ 'filled': this.safeString2(order, 'eq', 'executedQty'),
1010
+ 'remaining': this.safeString(order, 'lq'),
1011
+ 'cost': undefined,
1012
+ 'average': this.safeString2(order, 'ap', 'avgPrice'),
1013
+ 'status': this.parseOrderStatus(this.safeString(order, 'st', 'state')),
1014
+ 'fee': {
1015
+ 'currency': undefined,
1016
+ 'cost': this.safeNumber(order, 'f'),
1017
+ },
1018
+ 'trades': undefined,
1019
+ }, market);
1020
+ }
1021
+ handleOrder(client, message) {
1022
+ //
1023
+ // spot
1024
+ //
1025
+ // {
1026
+ // "topic": "order",
1027
+ // "event": "order",
1028
+ // "data": {
1029
+ // "s": "btc_usdt", // symbol
1030
+ // "t": 1656043204763, // time happened time
1031
+ // "i": "6216559590087220004", // orderId,
1032
+ // "ci": "test123", // clientOrderId
1033
+ // "st": "PARTIALLY_FILLED", // state
1034
+ // "sd": "BUY", // side BUY/SELL
1035
+ // "eq": "2", // executedQty executed quantity
1036
+ // "ap": "30000", // avg price
1037
+ // "f": "0.002" // fee
1038
+ // }
1039
+ // }
1040
+ //
1041
+ // contract
1042
+ //
1043
+ // {
1044
+ // "topic": "order",
1045
+ // "event": "order@123456",
1046
+ // "data": {
1047
+ // "symbol": "btc_usdt", // Trading pair
1048
+ // "orderId": "1234", // Order Id
1049
+ // "origQty": "34244", // Original Quantity
1050
+ // "avgPrice": "123", // Quantity
1051
+ // "price": "1111", // Average price
1052
+ // "executedQty": "34244", // Volume (Cont)
1053
+ // "orderSide": "BUY", // BUY, SELL
1054
+ // "positionSide": "LONG", // LONG, SHORT
1055
+ // "marginFrozen": "123", // Occupied margin
1056
+ // "sourceType": "default", // DEFAULT:normal order,ENTRUST:plan commission,PROFIR:Take Profit and Stop Loss
1057
+ // "sourceId" : "1231231", // Triggering conditions ID
1058
+ // "state": "", // state:NEW:New order (unfilled);PARTIALLY_FILLED:Partial deal;PARTIALLY_CANCELED:Partial revocation;FILLED:Filled;CANCELED:Cancled;REJECTED:Order failed;EXPIRED:Expired
1059
+ // "createTime": 1731231231, // CreateTime
1060
+ // "clientOrderId": "204788317630342726"
1061
+ // }
1062
+ // }
1063
+ //
1064
+ let orders = this.orders;
1065
+ if (orders === undefined) {
1066
+ const limit = this.safeInteger(this.options, 'ordersLimit');
1067
+ orders = new ArrayCacheBySymbolById(limit);
1068
+ this.orders = orders;
1069
+ }
1070
+ const order = this.safeDict(message, 'data', {});
1071
+ const marketId = this.safeString2(order, 's', 'symbol');
1072
+ if (marketId !== undefined) {
1073
+ const tradeType = ('symbol' in order) ? 'contract' : 'spot';
1074
+ const market = this.safeMarket(marketId, undefined, undefined, tradeType);
1075
+ const parsed = this.parseWsOrder(order, market);
1076
+ orders.append(parsed);
1077
+ client.resolve(orders, 'order::' + tradeType);
1078
+ }
1079
+ return message;
1080
+ }
1081
+ handleBalance(client, message) {
1082
+ //
1083
+ // spot
1084
+ //
1085
+ // {
1086
+ // topic: 'balance',
1087
+ // event: 'balance',
1088
+ // data: {
1089
+ // a: 3513677381884,
1090
+ // t: 1684250056775,
1091
+ // c: 'usdt',
1092
+ // b: '7.71000000',
1093
+ // f: '0.00000000',
1094
+ // z: 'SPOT'
1095
+ // }
1096
+ // }
1097
+ //
1098
+ // contract
1099
+ //
1100
+ // {
1101
+ // "topic": "balance",
1102
+ // "event": "balance@123456",
1103
+ // "data": {
1104
+ // "coin": "usdt",
1105
+ // "underlyingType": 1, // 1:Coin-M,2:USDT-M
1106
+ // "walletBalance": "123", // Balance
1107
+ // "openOrderMarginFrozen": "123", // Frozen order
1108
+ // "isolatedMargin": "213", // Isolated Margin
1109
+ // "crossedMargin": "0" // Crossed Margin
1110
+ // "availableBalance": '2.256114450000000000',
1111
+ // "coupon": '0',
1112
+ // "bonus": '0'
1113
+ // }
1114
+ // }
1115
+ //
1116
+ const data = this.safeDict(message, 'data', {});
1117
+ const currencyId = this.safeString2(data, 'c', 'coin');
1118
+ const code = this.safeCurrencyCode(currencyId);
1119
+ const account = this.account();
1120
+ account['free'] = this.safeString(data, 'availableBalance');
1121
+ account['used'] = this.safeString(data, 'f');
1122
+ account['total'] = this.safeString2(data, 'b', 'walletBalance');
1123
+ this.balance[code] = account;
1124
+ this.balance = this.safeBalance(this.balance);
1125
+ const tradeType = ('coin' in data) ? 'contract' : 'spot';
1126
+ client.resolve(this.balance, 'balance::' + tradeType);
1127
+ }
1128
+ handleMyTrades(client, message) {
1129
+ //
1130
+ // spot
1131
+ //
1132
+ // {
1133
+ // "topic": "trade",
1134
+ // "event": "trade",
1135
+ // "data": {
1136
+ // "s": "btc_usdt", // symbol
1137
+ // "t": 1656043204763, // time
1138
+ // "i": "6316559590087251233", // tradeId
1139
+ // "oi": "6216559590087220004", // orderId
1140
+ // "p": "30000", // trade price
1141
+ // "q": "3", // qty quantity
1142
+ // "v": "90000" // volume trade amount
1143
+ // }
1144
+ // }
1145
+ //
1146
+ // contract
1147
+ //
1148
+ // {
1149
+ // "topic": "trade",
1150
+ // "event": "trade@123456",
1151
+ // "data": {
1152
+ // "symbol": 'btc_usdt',
1153
+ // "orderSide": 'SELL',
1154
+ // "positionSide": 'LONG',
1155
+ // "orderId": '231485367663419328',
1156
+ // "price": '27152.7',
1157
+ // "quantity": '33',
1158
+ // "marginUnfrozen": '2.85318000',
1159
+ // "timestamp": 1684892412565
1160
+ // }
1161
+ // }
1162
+ //
1163
+ const data = this.safeDict(message, 'data', {});
1164
+ let stored = this.myTrades;
1165
+ if (stored === undefined) {
1166
+ const limit = this.safeInteger(this.options, 'tradesLimit', 1000);
1167
+ stored = new ArrayCacheBySymbolById(limit);
1168
+ this.myTrades = stored;
1169
+ }
1170
+ const parsedTrade = this.parseTrade(data);
1171
+ const market = this.market(parsedTrade['symbol']);
1172
+ stored.append(parsedTrade);
1173
+ const tradeType = market['contract'] ? 'contract' : 'spot';
1174
+ client.resolve(stored, 'trade::' + tradeType);
1175
+ }
1176
+ handleMessage(client, message) {
1177
+ const event = this.safeString(message, 'event');
1178
+ if (event === 'pong') {
1179
+ client.onPong();
1180
+ }
1181
+ else if (event !== undefined) {
1182
+ const topic = this.safeString(message, 'topic');
1183
+ const methods = {
1184
+ 'kline': this.handleOHLCV,
1185
+ 'depth': this.handleOrderBook,
1186
+ 'depth_update': this.handleOrderBook,
1187
+ 'ticker': this.handleTicker,
1188
+ 'agg_ticker': this.handleTicker,
1189
+ 'tickers': this.handleTickers,
1190
+ 'agg_tickers': this.handleTickers,
1191
+ 'balance': this.handleBalance,
1192
+ 'order': this.handleOrder,
1193
+ 'position': this.handlePosition,
1194
+ };
1195
+ let method = this.safeValue(methods, topic);
1196
+ if (topic === 'trade') {
1197
+ const data = this.safeDict(message, 'data');
1198
+ if (('oi' in data) || ('orderId' in data)) {
1199
+ method = this.handleMyTrades;
1200
+ }
1201
+ else {
1202
+ method = this.handleTrade;
1203
+ }
1204
+ }
1205
+ if (method !== undefined) {
1206
+ method.call(this, client, message);
1207
+ }
1208
+ }
1209
+ }
1210
+ ping(client) {
1211
+ client.lastPong = this.milliseconds();
1212
+ return 'ping';
1213
+ }
1214
+ handleErrorMessage(client, message) {
1215
+ //
1216
+ // {
1217
+ // "id": "123",
1218
+ // "code": 401,
1219
+ // "msg": "token expire"
1220
+ // }
1221
+ //
1222
+ const msg = this.safeString(message, 'msg');
1223
+ if ((msg === 'invalid_listen_key') || (msg === 'token expire')) {
1224
+ client.subscriptions['token'] = undefined;
1225
+ this.getListenKey(true);
1226
+ return;
1227
+ }
1228
+ client.reject(message);
1229
+ }
1230
+ }