ccxt-ir 4.9.32 → 4.11.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 +7 -1
  4. package/dist/cjs/package.json +1 -1
  5. package/dist/cjs/src/abstract/asretether.js +11 -0
  6. package/dist/cjs/src/abstract/bidarz.js +11 -0
  7. package/dist/cjs/src/asretether.js +325 -0
  8. package/dist/cjs/src/bidarz.js +337 -0
  9. package/dist/cjs/src/bit24.js +4 -3
  10. package/dist/cjs/src/raastin.js +144 -16
  11. package/js/ccxt.d.ts +8 -2
  12. package/js/ccxt.js +6 -2
  13. package/js/src/abstract/asretether.d.ts +8 -0
  14. package/js/src/abstract/asretether.js +11 -0
  15. package/js/src/abstract/bidarz.d.ts +9 -0
  16. package/js/src/abstract/bidarz.js +11 -0
  17. package/js/src/abstract/raastin.d.ts +1 -0
  18. package/js/src/asretether.d.ts +21 -0
  19. package/js/src/asretether.js +324 -0
  20. package/js/src/bidarz.d.ts +22 -0
  21. package/js/src/bidarz.js +336 -0
  22. package/js/src/bit24.js +4 -3
  23. package/js/src/raastin.d.ts +2 -0
  24. package/js/src/raastin.js +144 -16
  25. package/js/src/src/abantether.d.ts +21 -0
  26. package/js/src/src/abantether.js +353 -0
  27. package/js/src/src/abstract/abantether.d.ts +8 -0
  28. package/js/src/src/abstract/abantether.js +11 -0
  29. package/js/src/src/abstract/afratether.d.ts +9 -0
  30. package/js/src/src/abstract/afratether.js +11 -0
  31. package/js/src/src/abstract/alpaca.d.ts +77 -0
  32. package/js/src/src/abstract/alpaca.js +11 -0
  33. package/js/src/src/abstract/apex.d.ts +34 -0
  34. package/js/src/src/abstract/apex.js +11 -0
  35. package/js/src/src/abstract/arzinja.d.ts +8 -0
  36. package/js/src/src/abstract/arzinja.js +11 -0
  37. package/js/src/src/abstract/arzplus.d.ts +11 -0
  38. package/js/src/src/abstract/arzplus.js +11 -0
  39. package/js/src/src/abstract/ascendex.d.ts +80 -0
  40. package/js/src/src/abstract/ascendex.js +11 -0
  41. package/js/src/src/abstract/asretether.d.ts +8 -0
  42. package/js/src/src/abstract/asretether.js +11 -0
  43. package/js/src/src/abstract/bidarz.d.ts +9 -0
  44. package/js/src/src/abstract/bidarz.js +11 -0
  45. package/js/src/src/abstract/bigone.d.ts +48 -0
  46. package/js/src/src/abstract/bigone.js +11 -0
  47. package/js/src/src/abstract/binance.d.ts +773 -0
  48. package/js/src/src/abstract/binance.js +11 -0
  49. package/js/src/src/abstract/bingx.d.ts +165 -0
  50. package/js/src/src/abstract/bingx.js +11 -0
  51. package/js/src/src/abstract/bit24.d.ts +9 -0
  52. package/js/src/src/abstract/bit24.js +11 -0
  53. package/js/src/src/abstract/bit2c.d.ts +30 -0
  54. package/js/src/src/abstract/bit2c.js +11 -0
  55. package/js/src/src/abstract/bitbank.d.ts +35 -0
  56. package/js/src/src/abstract/bitbank.js +11 -0
  57. package/js/src/src/abstract/bitbarg.d.ts +8 -0
  58. package/js/src/src/abstract/bitbarg.js +11 -0
  59. package/js/src/src/abstract/bitbns.d.ts +43 -0
  60. package/js/src/src/abstract/bitbns.js +11 -0
  61. package/js/src/src/abstract/bitfinex.d.ts +143 -0
  62. package/js/src/src/abstract/bitfinex.js +11 -0
  63. package/js/src/src/abstract/bitflyer.d.ts +42 -0
  64. package/js/src/src/abstract/bitflyer.js +11 -0
  65. package/js/src/src/abstract/bitget.d.ts +578 -0
  66. package/js/src/src/abstract/bitget.js +11 -0
  67. package/js/src/src/abstract/bithumb.d.ts +35 -0
  68. package/js/src/src/abstract/bithumb.js +11 -0
  69. package/js/src/src/abstract/bitimen.d.ts +10 -0
  70. package/js/src/src/abstract/bitimen.js +11 -0
  71. package/js/src/src/abstract/bitir.d.ts +10 -0
  72. package/js/src/src/abstract/bitir.js +11 -0
  73. package/js/src/src/abstract/bitmart.d.ts +120 -0
  74. package/js/src/src/abstract/bitmart.js +11 -0
  75. package/js/src/src/abstract/bitmex.d.ts +100 -0
  76. package/js/src/src/abstract/bitmex.js +11 -0
  77. package/js/src/src/abstract/bitopro.d.ts +33 -0
  78. package/js/src/src/abstract/bitopro.js +11 -0
  79. package/js/src/src/abstract/bitpin.d.ts +11 -0
  80. package/js/src/src/abstract/bitpin.js +11 -0
  81. package/js/src/src/abstract/bitrue.d.ts +75 -0
  82. package/js/src/src/abstract/bitrue.js +11 -0
  83. package/js/src/src/abstract/bitso.d.ts +46 -0
  84. package/js/src/src/abstract/bitso.js +11 -0
  85. package/js/src/src/abstract/bitstamp.d.ts +262 -0
  86. package/js/src/src/abstract/bitstamp.js +11 -0
  87. package/js/src/src/abstract/bitteam.d.ts +32 -0
  88. package/js/src/src/abstract/bitteam.js +11 -0
  89. package/js/src/src/abstract/bittrade.d.ts +117 -0
  90. package/js/src/src/abstract/bittrade.js +11 -0
  91. package/js/src/src/abstract/bitunix.d.ts +9 -0
  92. package/js/src/src/abstract/bitunix.js +11 -0
  93. package/js/src/src/abstract/bitvavo.d.ts +30 -0
  94. package/js/src/src/abstract/bitvavo.js +11 -0
  95. package/js/src/src/abstract/blockchaincom.d.ts +31 -0
  96. package/js/src/src/abstract/blockchaincom.js +11 -0
  97. package/js/src/src/abstract/blofin.d.ts +70 -0
  98. package/js/src/src/abstract/blofin.js +11 -0
  99. package/js/src/src/abstract/btcalpha.d.ts +21 -0
  100. package/js/src/src/abstract/btcalpha.js +11 -0
  101. package/js/src/src/abstract/btcbox.d.ts +18 -0
  102. package/js/src/src/abstract/btcbox.js +11 -0
  103. package/js/src/src/abstract/btcmarkets.d.ts +42 -0
  104. package/js/src/src/abstract/btcmarkets.js +11 -0
  105. package/js/src/src/abstract/btcturk.d.ts +23 -0
  106. package/js/src/src/abstract/btcturk.js +11 -0
  107. package/js/src/src/abstract/bybit.d.ts +316 -0
  108. package/js/src/src/abstract/bybit.js +11 -0
  109. package/js/src/src/abstract/bydfi.d.ts +11 -0
  110. package/js/src/src/abstract/bydfi.js +11 -0
  111. package/js/src/src/abstract/cafearz.d.ts +8 -0
  112. package/js/src/src/abstract/cafearz.js +11 -0
  113. package/js/src/src/abstract/cex.d.ts +35 -0
  114. package/js/src/src/abstract/cex.js +11 -0
  115. package/js/src/src/abstract/coinbase.d.ts +97 -0
  116. package/js/src/src/abstract/coinbase.js +11 -0
  117. package/js/src/src/abstract/coinbaseexchange.d.ts +71 -0
  118. package/js/src/src/abstract/coinbaseexchange.js +11 -0
  119. package/js/src/src/abstract/coinbaseinternational.d.ts +42 -0
  120. package/js/src/src/abstract/coinbaseinternational.js +11 -0
  121. package/js/src/src/abstract/coincatch.d.ts +97 -0
  122. package/js/src/src/abstract/coincatch.js +11 -0
  123. package/js/src/src/abstract/coincheck.d.ts +36 -0
  124. package/js/src/src/abstract/coincheck.js +11 -0
  125. package/js/src/src/abstract/coinex.d.ts +240 -0
  126. package/js/src/src/abstract/coinex.js +11 -0
  127. package/js/src/src/abstract/coinmate.d.ts +65 -0
  128. package/js/src/src/abstract/coinmate.js +11 -0
  129. package/js/src/src/abstract/coinmetro.d.ts +37 -0
  130. package/js/src/src/abstract/coinmetro.js +11 -0
  131. package/js/src/src/abstract/coinone.d.ts +70 -0
  132. package/js/src/src/abstract/coinone.js +11 -0
  133. package/js/src/src/abstract/coinsph.d.ts +57 -0
  134. package/js/src/src/abstract/coinsph.js +11 -0
  135. package/js/src/src/abstract/coinspot.d.ts +31 -0
  136. package/js/src/src/abstract/coinspot.js +11 -0
  137. package/js/src/src/abstract/cryptocom.d.ts +126 -0
  138. package/js/src/src/abstract/cryptocom.js +11 -0
  139. package/js/src/src/abstract/cryptomus.d.ts +23 -0
  140. package/js/src/src/abstract/cryptomus.js +11 -0
  141. package/js/src/src/abstract/defx.d.ts +72 -0
  142. package/js/src/src/abstract/defx.js +11 -0
  143. package/js/src/src/abstract/delta.d.ts +53 -0
  144. package/js/src/src/abstract/delta.js +11 -0
  145. package/js/src/src/abstract/deribit.d.ts +129 -0
  146. package/js/src/src/abstract/deribit.js +11 -0
  147. package/js/src/src/abstract/derive.d.ts +120 -0
  148. package/js/src/src/abstract/derive.js +11 -0
  149. package/js/src/src/abstract/digifinex.d.ts +95 -0
  150. package/js/src/src/abstract/digifinex.js +11 -0
  151. package/js/src/src/abstract/ellipx.d.ts +28 -0
  152. package/js/src/src/abstract/ellipx.js +11 -0
  153. package/js/src/src/abstract/eterex.d.ts +8 -0
  154. package/js/src/src/abstract/eterex.js +11 -0
  155. package/js/src/src/abstract/excoino.d.ts +10 -0
  156. package/js/src/src/abstract/excoino.js +11 -0
  157. package/js/src/src/abstract/exir.d.ts +11 -0
  158. package/js/src/src/abstract/exir.js +11 -0
  159. package/js/src/src/abstract/exmo.d.ts +58 -0
  160. package/js/src/src/abstract/exmo.js +11 -0
  161. package/js/src/src/abstract/exnovin.d.ts +9 -0
  162. package/js/src/src/abstract/exnovin.js +11 -0
  163. package/js/src/src/abstract/farhadexchange.d.ts +8 -0
  164. package/js/src/src/abstract/farhadexchange.js +11 -0
  165. package/js/src/src/abstract/foxbit.d.ts +29 -0
  166. package/js/src/src/abstract/foxbit.js +11 -0
  167. package/js/src/src/abstract/gate.d.ts +287 -0
  168. package/js/src/src/abstract/gate.js +11 -0
  169. package/js/src/src/abstract/gemini.d.ts +62 -0
  170. package/js/src/src/abstract/gemini.js +11 -0
  171. package/js/src/src/abstract/hamtapay.d.ts +9 -0
  172. package/js/src/src/abstract/hamtapay.js +11 -0
  173. package/js/src/src/abstract/hashkey.d.ts +70 -0
  174. package/js/src/src/abstract/hashkey.js +11 -0
  175. package/js/src/src/abstract/hibachi.d.ts +29 -0
  176. package/js/src/src/abstract/hibachi.js +11 -0
  177. package/js/src/src/abstract/hitbtc.d.ts +118 -0
  178. package/js/src/src/abstract/hitbtc.js +11 -0
  179. package/js/src/src/abstract/hitobit.d.ts +11 -0
  180. package/js/src/src/abstract/hitobit.js +11 -0
  181. package/js/src/src/abstract/hollaex.d.ts +36 -0
  182. package/js/src/src/abstract/hollaex.js +11 -0
  183. package/js/src/src/abstract/htx.d.ts +551 -0
  184. package/js/src/src/abstract/htx.js +11 -0
  185. package/js/src/src/abstract/hyperliquid.d.ts +9 -0
  186. package/js/src/src/abstract/hyperliquid.js +11 -0
  187. package/js/src/src/abstract/independentreserve.d.ts +46 -0
  188. package/js/src/src/abstract/independentreserve.js +11 -0
  189. package/js/src/src/abstract/indodax.d.ts +29 -0
  190. package/js/src/src/abstract/indodax.js +11 -0
  191. package/js/src/src/abstract/iranexchange.d.ts +9 -0
  192. package/js/src/src/abstract/iranexchange.js +11 -0
  193. package/js/src/src/abstract/jibitex.d.ts +10 -0
  194. package/js/src/src/abstract/jibitex.js +11 -0
  195. package/js/src/src/abstract/kcex.d.ts +10 -0
  196. package/js/src/src/abstract/kcex.js +11 -0
  197. package/js/src/src/abstract/kifpoolme.d.ts +9 -0
  198. package/js/src/src/abstract/kifpoolme.js +11 -0
  199. package/js/src/src/abstract/kraken.d.ts +61 -0
  200. package/js/src/src/abstract/kraken.js +11 -0
  201. package/js/src/src/abstract/krakenfutures.d.ts +45 -0
  202. package/js/src/src/abstract/krakenfutures.js +11 -0
  203. package/js/src/src/abstract/kucoin.d.ts +227 -0
  204. package/js/src/src/abstract/kucoin.js +11 -0
  205. package/js/src/src/abstract/kucoinfutures.d.ts +254 -0
  206. package/js/src/src/abstract/kucoinfutures.js +11 -0
  207. package/js/src/src/abstract/latoken.d.ts +59 -0
  208. package/js/src/src/abstract/latoken.js +11 -0
  209. package/js/src/src/abstract/lbank.d.ts +65 -0
  210. package/js/src/src/abstract/lbank.js +11 -0
  211. package/js/src/src/abstract/luno.d.ts +41 -0
  212. package/js/src/src/abstract/luno.js +11 -0
  213. package/js/src/src/abstract/mazdax.d.ts +11 -0
  214. package/js/src/src/abstract/mazdax.js +11 -0
  215. package/js/src/src/abstract/mercado.d.ts +28 -0
  216. package/js/src/src/abstract/mercado.js +11 -0
  217. package/js/src/src/abstract/mexc.d.ts +183 -0
  218. package/js/src/src/abstract/mexc.js +11 -0
  219. package/js/src/src/abstract/modetrade.d.ts +122 -0
  220. package/js/src/src/abstract/modetrade.js +11 -0
  221. package/js/src/src/abstract/ndax.d.ts +100 -0
  222. package/js/src/src/abstract/ndax.js +11 -0
  223. package/js/src/src/abstract/nobitex.d.ts +10 -0
  224. package/js/src/src/abstract/nobitex.js +11 -0
  225. package/js/src/src/abstract/novadax.d.ts +32 -0
  226. package/js/src/src/abstract/novadax.js +11 -0
  227. package/js/src/src/abstract/oceanex.d.ts +30 -0
  228. package/js/src/src/abstract/oceanex.js +11 -0
  229. package/js/src/src/abstract/okcoin.d.ts +77 -0
  230. package/js/src/src/abstract/okcoin.js +11 -0
  231. package/js/src/src/abstract/okexchange.d.ts +11 -0
  232. package/js/src/src/abstract/okexchange.js +11 -0
  233. package/js/src/src/abstract/okx.d.ts +352 -0
  234. package/js/src/src/abstract/okx.js +11 -0
  235. package/js/src/src/abstract/ompfinex.d.ts +10 -0
  236. package/js/src/src/abstract/ompfinex.js +11 -0
  237. package/js/src/src/abstract/onetrading.d.ts +26 -0
  238. package/js/src/src/abstract/onetrading.js +11 -0
  239. package/js/src/src/abstract/oxfun.d.ts +37 -0
  240. package/js/src/src/abstract/oxfun.js +11 -0
  241. package/js/src/src/abstract/p2b.d.ts +25 -0
  242. package/js/src/src/abstract/p2b.js +11 -0
  243. package/js/src/src/abstract/paradex.d.ts +66 -0
  244. package/js/src/src/abstract/paradex.js +11 -0
  245. package/js/src/src/abstract/paymium.d.ts +31 -0
  246. package/js/src/src/abstract/paymium.js +11 -0
  247. package/js/src/src/abstract/phemex.d.ts +120 -0
  248. package/js/src/src/abstract/phemex.js +11 -0
  249. package/js/src/src/abstract/pingi.d.ts +9 -0
  250. package/js/src/src/abstract/pingi.js +11 -0
  251. package/js/src/src/abstract/poloniex.d.ts +108 -0
  252. package/js/src/src/abstract/poloniex.js +11 -0
  253. package/js/src/src/abstract/pooleno.d.ts +8 -0
  254. package/js/src/src/abstract/pooleno.js +11 -0
  255. package/js/src/src/abstract/probit.d.ts +26 -0
  256. package/js/src/src/abstract/probit.js +11 -0
  257. package/js/src/src/abstract/raastin.d.ts +11 -0
  258. package/js/src/src/abstract/raastin.js +11 -0
  259. package/js/src/src/abstract/ramzinex.d.ts +10 -0
  260. package/js/src/src/abstract/ramzinex.js +11 -0
  261. package/js/src/src/abstract/sarmayex.d.ts +8 -0
  262. package/js/src/src/abstract/sarmayex.js +11 -0
  263. package/js/src/src/abstract/sarrafex.d.ts +10 -0
  264. package/js/src/src/abstract/sarrafex.js +11 -0
  265. package/js/src/src/abstract/tabdeal.d.ts +10 -0
  266. package/js/src/src/abstract/tabdeal.js +11 -0
  267. package/js/src/src/abstract/tehran_exchange.d.ts +9 -0
  268. package/js/src/src/abstract/tehran_exchange.js +11 -0
  269. package/js/src/src/abstract/tetherland.d.ts +8 -0
  270. package/js/src/src/abstract/tetherland.js +11 -0
  271. package/js/src/src/abstract/timex.d.ts +65 -0
  272. package/js/src/src/abstract/timex.js +11 -0
  273. package/js/src/src/abstract/tokocrypto.d.ts +40 -0
  274. package/js/src/src/abstract/tokocrypto.js +11 -0
  275. package/js/src/src/abstract/toobit.d.ts +10 -0
  276. package/js/src/src/abstract/toobit.js +11 -0
  277. package/js/src/src/abstract/tradeogre.d.ts +21 -0
  278. package/js/src/src/abstract/tradeogre.js +11 -0
  279. package/js/src/src/abstract/twox.d.ts +8 -0
  280. package/js/src/src/abstract/twox.js +11 -0
  281. package/js/src/src/abstract/ubitex.d.ts +10 -0
  282. package/js/src/src/abstract/ubitex.js +11 -0
  283. package/js/src/src/abstract/upbit.d.ts +58 -0
  284. package/js/src/src/abstract/upbit.js +11 -0
  285. package/js/src/src/abstract/vertex.d.ts +22 -0
  286. package/js/src/src/abstract/vertex.js +11 -0
  287. package/js/src/src/abstract/wallex.d.ts +11 -0
  288. package/js/src/src/abstract/wallex.js +11 -0
  289. package/js/src/src/abstract/wavesexchange.d.ts +157 -0
  290. package/js/src/src/abstract/wavesexchange.js +11 -0
  291. package/js/src/src/abstract/whitebit.d.ts +117 -0
  292. package/js/src/src/abstract/whitebit.js +11 -0
  293. package/js/src/src/abstract/woo.d.ts +144 -0
  294. package/js/src/src/abstract/woo.js +11 -0
  295. package/js/src/src/abstract/woofipro.d.ts +122 -0
  296. package/js/src/src/abstract/woofipro.js +11 -0
  297. package/js/src/src/abstract/xt.d.ts +160 -0
  298. package/js/src/src/abstract/xt.js +11 -0
  299. package/js/src/src/abstract/yobit.d.ts +19 -0
  300. package/js/src/src/abstract/yobit.js +11 -0
  301. package/js/src/src/abstract/zaif.d.ts +41 -0
  302. package/js/src/src/abstract/zaif.js +11 -0
  303. package/js/src/src/abstract/zonda.d.ts +56 -0
  304. package/js/src/src/abstract/zonda.js +11 -0
  305. package/js/src/src/afratether.d.ts +21 -0
  306. package/js/src/src/afratether.js +356 -0
  307. package/js/src/src/alpaca.d.ts +332 -0
  308. package/js/src/src/alpaca.js +1908 -0
  309. package/js/src/src/apex.d.ts +333 -0
  310. package/js/src/src/apex.js +1942 -0
  311. package/js/src/src/arzinja.d.ts +21 -0
  312. package/js/src/src/arzinja.js +298 -0
  313. package/js/src/src/arzplus.d.ts +26 -0
  314. package/js/src/src/arzplus.js +581 -0
  315. package/js/src/src/ascendex.d.ts +424 -0
  316. package/js/src/src/ascendex.js +3699 -0
  317. package/js/src/src/asretether.d.ts +21 -0
  318. package/js/src/src/asretether.js +324 -0
  319. package/js/src/src/base/Exchange.d.ts +926 -0
  320. package/js/src/src/base/Exchange.js +7399 -0
  321. package/js/src/src/base/Precise.d.ts +42 -0
  322. package/js/src/src/base/Precise.js +275 -0
  323. package/js/src/src/base/errors.d.ts +168 -0
  324. package/js/src/src/base/errors.js +255 -0
  325. package/js/src/src/base/functions/crypto.d.ts +16 -0
  326. package/js/src/src/base/functions/crypto.js +131 -0
  327. package/js/src/src/base/functions/encode.d.ts +4 -0
  328. package/js/src/src/base/functions/encode.js +32 -0
  329. package/js/src/src/base/functions/generic.d.ts +29 -0
  330. package/js/src/src/base/functions/generic.js +203 -0
  331. package/js/src/src/base/functions/misc.d.ts +9 -0
  332. package/js/src/src/base/functions/misc.js +101 -0
  333. package/js/src/src/base/functions/number.d.ts +27 -0
  334. package/js/src/src/base/functions/number.js +313 -0
  335. package/js/src/src/base/functions/platform.d.ts +7 -0
  336. package/js/src/src/base/functions/platform.js +27 -0
  337. package/js/src/src/base/functions/rsa.d.ts +5 -0
  338. package/js/src/src/base/functions/rsa.js +49 -0
  339. package/js/src/src/base/functions/string.d.ts +7 -0
  340. package/js/src/src/base/functions/string.js +44 -0
  341. package/js/src/src/base/functions/throttle.d.ts +6 -0
  342. package/js/src/src/base/functions/throttle.js +67 -0
  343. package/js/src/src/base/functions/time.d.ts +21 -0
  344. package/js/src/src/base/functions/time.js +171 -0
  345. package/js/src/src/base/functions/totp.d.ts +3 -0
  346. package/js/src/src/base/functions/totp.js +25 -0
  347. package/js/src/src/base/functions/type.d.ts +37 -0
  348. package/js/src/src/base/functions/type.js +179 -0
  349. package/js/src/src/base/functions.d.ts +10 -0
  350. package/js/src/src/base/functions.js +18 -0
  351. package/js/src/src/base/types.d.ts +586 -0
  352. package/js/src/src/base/types.js +7 -0
  353. package/js/src/src/base/ws/Cache.d.ts +27 -0
  354. package/js/src/src/base/ws/Cache.js +260 -0
  355. package/js/src/src/base/ws/Client.d.ts +53 -0
  356. package/js/src/src/base/ws/Client.js +307 -0
  357. package/js/src/src/base/ws/Future.d.ts +8 -0
  358. package/js/src/src/base/ws/Future.js +35 -0
  359. package/js/src/src/base/ws/OrderBook.d.ts +25 -0
  360. package/js/src/src/base/ws/OrderBook.js +130 -0
  361. package/js/src/src/base/ws/OrderBookSide.d.ts +40 -0
  362. package/js/src/src/base/ws/OrderBookSide.js +286 -0
  363. package/js/src/src/base/ws/WsClient.d.ts +11 -0
  364. package/js/src/src/base/ws/WsClient.js +69 -0
  365. package/js/src/src/bequant.d.ts +4 -0
  366. package/js/src/src/bequant.js +35 -0
  367. package/js/src/src/bidarz.d.ts +16 -0
  368. package/js/src/src/bidarz.js +327 -0
  369. package/js/src/src/bigone.d.ts +296 -0
  370. package/js/src/src/bigone.js +2340 -0
  371. package/js/src/src/binance.d.ts +1667 -0
  372. package/js/src/src/binance.js +14400 -0
  373. package/js/src/src/binancecoinm.d.ts +6 -0
  374. package/js/src/src/binancecoinm.js +51 -0
  375. package/js/src/src/binanceus.d.ts +4 -0
  376. package/js/src/src/binanceus.js +225 -0
  377. package/js/src/src/binanceusdm.d.ts +6 -0
  378. package/js/src/src/binanceusdm.js +63 -0
  379. package/js/src/src/bingx.d.ts +778 -0
  380. package/js/src/src/bingx.js +6705 -0
  381. package/js/src/src/bit24.d.ts +24 -0
  382. package/js/src/src/bit24.js +520 -0
  383. package/js/src/src/bit2c.d.ts +146 -0
  384. package/js/src/src/bit2c.js +1029 -0
  385. package/js/src/src/bitbank.d.ts +181 -0
  386. package/js/src/src/bitbank.js +1146 -0
  387. package/js/src/src/bitbarg.d.ts +21 -0
  388. package/js/src/src/bitbarg.js +312 -0
  389. package/js/src/src/bitbns.d.ts +184 -0
  390. package/js/src/src/bitbns.js +1288 -0
  391. package/js/src/src/bitfinex.d.ts +516 -0
  392. package/js/src/src/bitfinex.js +3951 -0
  393. package/js/src/src/bitflyer.d.ts +229 -0
  394. package/js/src/src/bitflyer.js +1209 -0
  395. package/js/src/src/bitget.d.ts +1109 -0
  396. package/js/src/src/bitget.js +11033 -0
  397. package/js/src/src/bithumb.d.ts +165 -0
  398. package/js/src/src/bithumb.js +1257 -0
  399. package/js/src/src/bitimen.d.ts +23 -0
  400. package/js/src/src/bitimen.js +424 -0
  401. package/js/src/src/bitir.d.ts +23 -0
  402. package/js/src/src/bitir.js +521 -0
  403. package/js/src/src/bitmart.d.ts +736 -0
  404. package/js/src/src/bitmart.js +5639 -0
  405. package/js/src/src/bitmex.d.ts +395 -0
  406. package/js/src/src/bitmex.js +3088 -0
  407. package/js/src/src/bitopro.d.ts +295 -0
  408. package/js/src/src/bitopro.js +1892 -0
  409. package/js/src/src/bitpin.d.ts +23 -0
  410. package/js/src/src/bitpin.js +487 -0
  411. package/js/src/src/bitrue.d.ts +384 -0
  412. package/js/src/src/bitrue.js +3382 -0
  413. package/js/src/src/bitso.d.ts +270 -0
  414. package/js/src/src/bitso.js +1881 -0
  415. package/js/src/src/bitstamp.d.ts +355 -0
  416. package/js/src/src/bitstamp.js +2445 -0
  417. package/js/src/src/bitteam.d.ts +229 -0
  418. package/js/src/src/bitteam.js +2420 -0
  419. package/js/src/src/bittrade.d.ts +298 -0
  420. package/js/src/src/bittrade.js +2050 -0
  421. package/js/src/src/bitunix.d.ts +21 -0
  422. package/js/src/src/bitunix.js +326 -0
  423. package/js/src/src/bitvavo.d.ts +311 -0
  424. package/js/src/src/bitvavo.js +2204 -0
  425. package/js/src/src/blockchaincom.d.ts +256 -0
  426. package/js/src/src/blockchaincom.js +1259 -0
  427. package/js/src/src/blofin.d.ts +439 -0
  428. package/js/src/src/blofin.js +2576 -0
  429. package/js/src/src/btcalpha.d.ts +209 -0
  430. package/js/src/src/btcalpha.js +1056 -0
  431. package/js/src/src/btcbox.d.ts +144 -0
  432. package/js/src/src/btcbox.js +834 -0
  433. package/js/src/src/btcmarkets.d.ts +253 -0
  434. package/js/src/src/btcmarkets.js +1418 -0
  435. package/js/src/src/btcturk.d.ts +161 -0
  436. package/js/src/src/btcturk.js +1058 -0
  437. package/js/src/src/bybit.d.ts +1097 -0
  438. package/js/src/src/bybit.js +9382 -0
  439. package/js/src/src/bydfi.d.ts +23 -0
  440. package/js/src/src/bydfi.js +434 -0
  441. package/js/src/src/cafearz.d.ts +21 -0
  442. package/js/src/src/cafearz.js +346 -0
  443. package/js/src/src/cex.d.ts +286 -0
  444. package/js/src/src/cex.js +1799 -0
  445. package/js/src/src/coinbase.d.ts +623 -0
  446. package/js/src/src/coinbase.js +5220 -0
  447. package/js/src/src/coinbaseadvanced.d.ts +4 -0
  448. package/js/src/src/coinbaseadvanced.js +18 -0
  449. package/js/src/src/coinbaseexchange.d.ts +334 -0
  450. package/js/src/src/coinbaseexchange.js +2127 -0
  451. package/js/src/src/coinbaseinternational.d.ts +443 -0
  452. package/js/src/src/coinbaseinternational.js +2336 -0
  453. package/js/src/src/coincatch.d.ts +786 -0
  454. package/js/src/src/coincatch.js +5492 -0
  455. package/js/src/src/coincheck.d.ts +147 -0
  456. package/js/src/src/coincheck.js +962 -0
  457. package/js/src/src/coinex.d.ts +719 -0
  458. package/js/src/src/coinex.js +6166 -0
  459. package/js/src/src/coinmate.d.ts +202 -0
  460. package/js/src/src/coinmate.js +1215 -0
  461. package/js/src/src/coinmetro.d.ts +244 -0
  462. package/js/src/src/coinmetro.js +2024 -0
  463. package/js/src/src/coinone.d.ts +158 -0
  464. package/js/src/src/coinone.js +1278 -0
  465. package/js/src/src/coinsph.d.ts +310 -0
  466. package/js/src/src/coinsph.js +2203 -0
  467. package/js/src/src/coinspot.d.ts +108 -0
  468. package/js/src/src/coinspot.js +653 -0
  469. package/js/src/src/cryptocom.d.ts +463 -0
  470. package/js/src/src/cryptocom.js +3549 -0
  471. package/js/src/src/cryptomus.d.ts +158 -0
  472. package/js/src/src/cryptomus.js +1169 -0
  473. package/js/src/src/defx.d.ts +348 -0
  474. package/js/src/src/defx.js +2139 -0
  475. package/js/src/src/delta.d.ts +407 -0
  476. package/js/src/src/delta.js +3654 -0
  477. package/js/src/src/deribit.d.ts +516 -0
  478. package/js/src/src/deribit.js +3790 -0
  479. package/js/src/src/derive.d.ts +324 -0
  480. package/js/src/src/derive.js +2655 -0
  481. package/js/src/src/digifinex.d.ts +544 -0
  482. package/js/src/src/digifinex.js +4453 -0
  483. package/js/src/src/ellipx.d.ts +237 -0
  484. package/js/src/src/ellipx.js +2071 -0
  485. package/js/src/src/eterex.d.ts +21 -0
  486. package/js/src/src/eterex.js +299 -0
  487. package/js/src/src/excoino.d.ts +23 -0
  488. package/js/src/src/excoino.js +426 -0
  489. package/js/src/src/exir.d.ts +23 -0
  490. package/js/src/src/exir.js +403 -0
  491. package/js/src/src/exmo.d.ts +426 -0
  492. package/js/src/src/exmo.js +2825 -0
  493. package/js/src/src/exnovin.d.ts +22 -0
  494. package/js/src/src/exnovin.js +378 -0
  495. package/js/src/src/farhadexchange.d.ts +21 -0
  496. package/js/src/src/farhadexchange.js +280 -0
  497. package/js/src/src/fmfwio.d.ts +4 -0
  498. package/js/src/src/fmfwio.js +35 -0
  499. package/js/src/src/foxbit.d.ts +352 -0
  500. package/js/src/src/foxbit.js +2016 -0
  501. package/js/src/src/gate.d.ts +1071 -0
  502. package/js/src/src/gate.js +8282 -0
  503. package/js/src/src/gateio.d.ts +4 -0
  504. package/js/src/src/gateio.js +17 -0
  505. package/js/src/src/gemini.d.ts +257 -0
  506. package/js/src/src/gemini.js +2006 -0
  507. package/js/src/src/hamtapay.d.ts +21 -0
  508. package/js/src/src/hamtapay.js +303 -0
  509. package/js/src/src/hashkey.d.ts +628 -0
  510. package/js/src/src/hashkey.js +4363 -0
  511. package/js/src/src/hibachi.d.ts +346 -0
  512. package/js/src/src/hibachi.js +2137 -0
  513. package/js/src/src/hitbtc.d.ts +558 -0
  514. package/js/src/src/hitbtc.js +3847 -0
  515. package/js/src/src/hitobit.d.ts +23 -0
  516. package/js/src/src/hitobit.js +412 -0
  517. package/js/src/src/hollaex.d.ts +305 -0
  518. package/js/src/src/hollaex.js +2046 -0
  519. package/js/src/src/htx.d.ts +961 -0
  520. package/js/src/src/htx.js +9668 -0
  521. package/js/src/src/huobi.d.ts +4 -0
  522. package/js/src/src/huobi.js +17 -0
  523. package/js/src/src/hyperliquid.d.ts +651 -0
  524. package/js/src/src/hyperliquid.js +3937 -0
  525. package/js/src/src/independentreserve.d.ts +169 -0
  526. package/js/src/src/independentreserve.js +1115 -0
  527. package/js/src/src/indodax.d.ts +217 -0
  528. package/js/src/src/indodax.js +1454 -0
  529. package/js/src/src/iranexchange.d.ts +21 -0
  530. package/js/src/src/iranexchange.js +399 -0
  531. package/js/src/src/jibitex.d.ts +23 -0
  532. package/js/src/src/jibitex.js +416 -0
  533. package/js/src/src/kcex.d.ts +21 -0
  534. package/js/src/src/kcex.js +335 -0
  535. package/js/src/src/kifpoolme.d.ts +23 -0
  536. package/js/src/src/kifpoolme.js +410 -0
  537. package/js/src/src/kraken.d.ts +484 -0
  538. package/js/src/src/kraken.js +3518 -0
  539. package/js/src/src/krakenfutures.d.ts +362 -0
  540. package/js/src/src/krakenfutures.js +2885 -0
  541. package/js/src/src/kucoin.d.ts +759 -0
  542. package/js/src/src/kucoin.js +5153 -0
  543. package/js/src/src/kucoinfutures.d.ts +521 -0
  544. package/js/src/src/kucoinfutures.js +3381 -0
  545. package/js/src/src/latoken.d.ts +274 -0
  546. package/js/src/src/latoken.js +1824 -0
  547. package/js/src/src/lbank.d.ts +350 -0
  548. package/js/src/src/lbank.js +3146 -0
  549. package/js/src/src/luno.d.ts +252 -0
  550. package/js/src/src/luno.js +1479 -0
  551. package/js/src/src/mazdax.d.ts +23 -0
  552. package/js/src/src/mazdax.js +534 -0
  553. package/js/src/src/mercado.d.ts +160 -0
  554. package/js/src/src/mercado.js +1011 -0
  555. package/js/src/src/mexc.d.ts +768 -0
  556. package/js/src/src/mexc.js +6102 -0
  557. package/js/src/src/modetrade.d.ts +496 -0
  558. package/js/src/src/modetrade.js +2936 -0
  559. package/js/src/src/myokx.d.ts +4 -0
  560. package/js/src/src/myokx.js +54 -0
  561. package/js/src/src/ndax.d.ts +285 -0
  562. package/js/src/src/ndax.js +2598 -0
  563. package/js/src/src/nobitex.d.ts +23 -0
  564. package/js/src/src/nobitex.js +454 -0
  565. package/js/src/src/novadax.d.ts +279 -0
  566. package/js/src/src/novadax.js +1676 -0
  567. package/js/src/src/oceanex.d.ts +231 -0
  568. package/js/src/src/oceanex.js +1123 -0
  569. package/js/src/src/okcoin.d.ts +346 -0
  570. package/js/src/src/okcoin.js +3211 -0
  571. package/js/src/src/okexchange.d.ts +23 -0
  572. package/js/src/src/okexchange.js +373 -0
  573. package/js/src/src/okx.d.ts +1125 -0
  574. package/js/src/src/okx.js +9009 -0
  575. package/js/src/src/okxus.d.ts +4 -0
  576. package/js/src/src/okxus.js +54 -0
  577. package/js/src/src/ompfinex.d.ts +23 -0
  578. package/js/src/src/ompfinex.js +510 -0
  579. package/js/src/src/onetrading.d.ts +228 -0
  580. package/js/src/src/onetrading.js +1769 -0
  581. package/js/src/src/oxfun.d.ts +442 -0
  582. package/js/src/src/oxfun.js +2920 -0
  583. package/js/src/src/p2b.d.ts +189 -0
  584. package/js/src/src/p2b.js +1344 -0
  585. package/js/src/src/paradex.d.ts +389 -0
  586. package/js/src/src/paradex.js +2607 -0
  587. package/js/src/src/paymium.d.ts +133 -0
  588. package/js/src/src/paymium.js +644 -0
  589. package/js/src/src/phemex.d.ts +497 -0
  590. package/js/src/src/phemex.js +5333 -0
  591. package/js/src/src/pingi.d.ts +22 -0
  592. package/js/src/src/pingi.js +446 -0
  593. package/js/src/src/poloniex.d.ts +441 -0
  594. package/js/src/src/poloniex.js +3681 -0
  595. package/js/src/src/pooleno.d.ts +21 -0
  596. package/js/src/src/pooleno.js +347 -0
  597. package/js/src/src/pro/alpaca.d.ts +95 -0
  598. package/js/src/src/pro/alpaca.js +724 -0
  599. package/js/src/src/pro/apex.d.ts +160 -0
  600. package/js/src/src/pro/apex.js +1044 -0
  601. package/js/src/src/pro/ascendex.d.ts +99 -0
  602. package/js/src/src/pro/ascendex.js +1012 -0
  603. package/js/src/src/pro/bequant.d.ts +4 -0
  604. package/js/src/src/pro/bequant.js +42 -0
  605. package/js/src/src/pro/binance.d.ts +796 -0
  606. package/js/src/src/pro/binance.js +4373 -0
  607. package/js/src/src/pro/binancecoinm.d.ts +4 -0
  608. package/js/src/src/pro/binancecoinm.js +32 -0
  609. package/js/src/src/pro/binanceus.d.ts +4 -0
  610. package/js/src/src/pro/binanceus.js +52 -0
  611. package/js/src/src/pro/binanceusdm.d.ts +4 -0
  612. package/js/src/src/pro/binanceusdm.js +37 -0
  613. package/js/src/src/pro/bingx.d.ts +151 -0
  614. package/js/src/src/pro/bingx.js +1568 -0
  615. package/js/src/src/pro/bitfinex.d.ts +99 -0
  616. package/js/src/src/pro/bitfinex.js +1165 -0
  617. package/js/src/src/pro/bitget.d.ts +257 -0
  618. package/js/src/src/pro/bitget.js +2327 -0
  619. package/js/src/src/pro/bithumb.d.ts +59 -0
  620. package/js/src/src/pro/bithumb.js +395 -0
  621. package/js/src/src/pro/bitmart.d.ts +168 -0
  622. package/js/src/src/pro/bitmart.js +1686 -0
  623. package/js/src/src/pro/bitmex.d.ts +170 -0
  624. package/js/src/src/pro/bitmex.js +1760 -0
  625. package/js/src/src/pro/bitopro.d.ts +69 -0
  626. package/js/src/src/pro/bitopro.js +477 -0
  627. package/js/src/src/pro/bitrue.d.ts +40 -0
  628. package/js/src/src/pro/bitrue.js +461 -0
  629. package/js/src/src/pro/bitstamp.d.ts +53 -0
  630. package/js/src/src/pro/bitstamp.js +587 -0
  631. package/js/src/src/pro/bittrade.d.ts +66 -0
  632. package/js/src/src/pro/bittrade.js +606 -0
  633. package/js/src/src/pro/bitvavo.d.ts +321 -0
  634. package/js/src/src/pro/bitvavo.js +1451 -0
  635. package/js/src/src/pro/blockchaincom.d.ts +89 -0
  636. package/js/src/src/pro/blockchaincom.js +777 -0
  637. package/js/src/src/pro/blofin.d.ts +174 -0
  638. package/js/src/src/pro/blofin.js +743 -0
  639. package/js/src/src/pro/bybit.d.ts +397 -0
  640. package/js/src/src/pro/bybit.js +2519 -0
  641. package/js/src/src/pro/cex.d.ts +220 -0
  642. package/js/src/src/pro/cex.js +1535 -0
  643. package/js/src/src/pro/coinbase.d.ts +119 -0
  644. package/js/src/src/pro/coinbase.js +736 -0
  645. package/js/src/src/pro/coinbaseadvanced.d.ts +4 -0
  646. package/js/src/src/pro/coinbaseadvanced.js +18 -0
  647. package/js/src/src/pro/coinbaseexchange.d.ts +133 -0
  648. package/js/src/src/pro/coinbaseexchange.js +969 -0
  649. package/js/src/src/pro/coinbaseinternational.d.ts +143 -0
  650. package/js/src/src/pro/coinbaseinternational.js +804 -0
  651. package/js/src/src/pro/coincatch.d.ts +207 -0
  652. package/js/src/src/pro/coincatch.js +1562 -0
  653. package/js/src/src/pro/coincheck.d.ts +33 -0
  654. package/js/src/src/pro/coincheck.js +210 -0
  655. package/js/src/src/pro/coinex.d.ts +147 -0
  656. package/js/src/src/pro/coinex.js +1426 -0
  657. package/js/src/src/pro/coinone.d.ts +51 -0
  658. package/js/src/src/pro/coinone.js +413 -0
  659. package/js/src/src/pro/cryptocom.d.ts +300 -0
  660. package/js/src/src/pro/cryptocom.js +1414 -0
  661. package/js/src/src/pro/defx.d.ts +236 -0
  662. package/js/src/src/pro/defx.js +865 -0
  663. package/js/src/src/pro/deribit.d.ts +163 -0
  664. package/js/src/src/pro/deribit.js +1066 -0
  665. package/js/src/src/pro/derive.d.ts +100 -0
  666. package/js/src/src/pro/derive.js +753 -0
  667. package/js/src/src/pro/exmo.d.ts +97 -0
  668. package/js/src/src/pro/exmo.js +903 -0
  669. package/js/src/src/pro/gate.d.ts +360 -0
  670. package/js/src/src/pro/gate.js +2119 -0
  671. package/js/src/src/pro/gateio.d.ts +4 -0
  672. package/js/src/src/pro/gateio.js +17 -0
  673. package/js/src/src/pro/gemini.d.ts +106 -0
  674. package/js/src/src/pro/gemini.js +932 -0
  675. package/js/src/src/pro/hashkey.d.ts +121 -0
  676. package/js/src/src/pro/hashkey.js +843 -0
  677. package/js/src/src/pro/hitbtc.d.ts +235 -0
  678. package/js/src/src/pro/hitbtc.js +1400 -0
  679. package/js/src/src/pro/hollaex.d.ts +77 -0
  680. package/js/src/src/pro/hollaex.js +604 -0
  681. package/js/src/src/pro/htx.d.ts +141 -0
  682. package/js/src/src/pro/htx.js +2415 -0
  683. package/js/src/src/pro/huobi.d.ts +4 -0
  684. package/js/src/src/pro/huobi.js +17 -0
  685. package/js/src/src/pro/hyperliquid.d.ts +218 -0
  686. package/js/src/src/pro/hyperliquid.js +1126 -0
  687. package/js/src/src/pro/independentreserve.d.ts +36 -0
  688. package/js/src/src/pro/independentreserve.js +287 -0
  689. package/js/src/src/pro/kraken.d.ts +233 -0
  690. package/js/src/src/pro/kraken.js +1785 -0
  691. package/js/src/src/pro/krakenfutures.d.ts +178 -0
  692. package/js/src/src/pro/krakenfutures.js +1592 -0
  693. package/js/src/src/pro/kucoin.d.ts +221 -0
  694. package/js/src/src/pro/kucoin.js +1430 -0
  695. package/js/src/src/pro/kucoinfutures.d.ts +205 -0
  696. package/js/src/src/pro/kucoinfutures.js +1295 -0
  697. package/js/src/src/pro/lbank.d.ts +134 -0
  698. package/js/src/src/pro/lbank.js +950 -0
  699. package/js/src/src/pro/luno.d.ts +44 -0
  700. package/js/src/src/pro/luno.js +322 -0
  701. package/js/src/src/pro/mexc.d.ts +210 -0
  702. package/js/src/src/pro/mexc.js +2009 -0
  703. package/js/src/src/pro/modetrade.d.ts +155 -0
  704. package/js/src/src/pro/modetrade.js +1335 -0
  705. package/js/src/src/pro/myokx.d.ts +4 -0
  706. package/js/src/src/pro/myokx.js +39 -0
  707. package/js/src/src/pro/ndax.d.ts +60 -0
  708. package/js/src/src/pro/ndax.js +545 -0
  709. package/js/src/src/pro/okcoin.d.ts +91 -0
  710. package/js/src/src/pro/okcoin.js +763 -0
  711. package/js/src/src/pro/okx.d.ts +408 -0
  712. package/js/src/src/pro/okx.js +2479 -0
  713. package/js/src/src/pro/okxus.d.ts +4 -0
  714. package/js/src/src/pro/okxus.js +39 -0
  715. package/js/src/src/pro/onetrading.d.ts +107 -0
  716. package/js/src/src/pro/onetrading.js +1343 -0
  717. package/js/src/src/pro/oxfun.d.ts +234 -0
  718. package/js/src/src/pro/oxfun.js +1112 -0
  719. package/js/src/src/pro/p2b.d.ts +104 -0
  720. package/js/src/src/pro/p2b.js +506 -0
  721. package/js/src/src/pro/paradex.d.ts +54 -0
  722. package/js/src/src/pro/paradex.js +370 -0
  723. package/js/src/src/pro/phemex.d.ts +129 -0
  724. package/js/src/src/pro/phemex.js +1569 -0
  725. package/js/src/src/pro/poloniex.d.ts +214 -0
  726. package/js/src/src/pro/poloniex.js +1318 -0
  727. package/js/src/src/pro/probit.d.ts +91 -0
  728. package/js/src/src/pro/probit.js +593 -0
  729. package/js/src/src/pro/tradeogre.d.ts +49 -0
  730. package/js/src/src/pro/tradeogre.js +284 -0
  731. package/js/src/src/pro/upbit.d.ts +124 -0
  732. package/js/src/src/pro/upbit.js +689 -0
  733. package/js/src/src/pro/vertex.d.ts +104 -0
  734. package/js/src/src/pro/vertex.js +999 -0
  735. package/js/src/src/pro/whitebit.d.ts +123 -0
  736. package/js/src/src/pro/whitebit.js +971 -0
  737. package/js/src/src/pro/woo.d.ts +161 -0
  738. package/js/src/src/pro/woo.js +1351 -0
  739. package/js/src/src/pro/woofipro.d.ts +155 -0
  740. package/js/src/src/pro/woofipro.js +1335 -0
  741. package/js/src/src/pro/xt.d.ts +165 -0
  742. package/js/src/src/pro/xt.js +1230 -0
  743. package/js/src/src/probit.d.ts +283 -0
  744. package/js/src/src/probit.js +1935 -0
  745. package/js/src/src/protobuf/mexc/compiled.cjs +7186 -0
  746. package/js/src/src/protobuf/mexc/compiled.d.cts +8 -0
  747. package/js/src/src/raastin.d.ts +24 -0
  748. package/js/src/src/raastin.js +494 -0
  749. package/js/src/src/ramzinex.d.ts +23 -0
  750. package/js/src/src/ramzinex.js +510 -0
  751. package/js/src/src/sarmayex.d.ts +21 -0
  752. package/js/src/src/sarmayex.js +376 -0
  753. package/js/src/src/sarrafex.d.ts +23 -0
  754. package/js/src/src/sarrafex.js +501 -0
  755. package/js/src/src/static_dependencies/ethers/abi-coder.d.ts +50 -0
  756. package/js/src/src/static_dependencies/ethers/abi-coder.js +148 -0
  757. package/js/src/src/static_dependencies/ethers/address/address.d.ts +55 -0
  758. package/js/src/src/static_dependencies/ethers/address/address.js +162 -0
  759. package/js/src/src/static_dependencies/ethers/address/checks.d.ts +80 -0
  760. package/js/src/src/static_dependencies/ethers/address/checks.js +119 -0
  761. package/js/src/src/static_dependencies/ethers/address/contract-address.d.ts +47 -0
  762. package/js/src/src/static_dependencies/ethers/address/contract-address.js +73 -0
  763. package/js/src/src/static_dependencies/ethers/address/index.d.ts +48 -0
  764. package/js/src/src/static_dependencies/ethers/address/index.js +24 -0
  765. package/js/src/src/static_dependencies/ethers/bytes32.d.ts +14 -0
  766. package/js/src/src/static_dependencies/ethers/bytes32.js +45 -0
  767. package/js/src/src/static_dependencies/ethers/coders/abstract-coder.d.ts +120 -0
  768. package/js/src/src/static_dependencies/ethers/coders/abstract-coder.js +424 -0
  769. package/js/src/src/static_dependencies/ethers/coders/address.d.ts +12 -0
  770. package/js/src/src/static_dependencies/ethers/coders/address.js +34 -0
  771. package/js/src/src/static_dependencies/ethers/coders/anonymous.d.ts +14 -0
  772. package/js/src/src/static_dependencies/ethers/coders/anonymous.js +27 -0
  773. package/js/src/src/static_dependencies/ethers/coders/array.d.ts +24 -0
  774. package/js/src/src/static_dependencies/ethers/coders/array.js +162 -0
  775. package/js/src/src/static_dependencies/ethers/coders/boolean.d.ts +12 -0
  776. package/js/src/src/static_dependencies/ethers/coders/boolean.js +26 -0
  777. package/js/src/src/static_dependencies/ethers/coders/bytes.d.ts +18 -0
  778. package/js/src/src/static_dependencies/ethers/coders/bytes.js +39 -0
  779. package/js/src/src/static_dependencies/ethers/coders/fixed-bytes.d.ts +14 -0
  780. package/js/src/src/static_dependencies/ethers/coders/fixed-bytes.js +32 -0
  781. package/js/src/src/static_dependencies/ethers/coders/null.d.ts +11 -0
  782. package/js/src/src/static_dependencies/ethers/coders/null.js +29 -0
  783. package/js/src/src/static_dependencies/ethers/coders/number.d.ts +15 -0
  784. package/js/src/src/static_dependencies/ethers/coders/number.js +48 -0
  785. package/js/src/src/static_dependencies/ethers/coders/string.d.ts +12 -0
  786. package/js/src/src/static_dependencies/ethers/coders/string.js +26 -0
  787. package/js/src/src/static_dependencies/ethers/coders/tuple.d.ts +15 -0
  788. package/js/src/src/static_dependencies/ethers/coders/tuple.js +67 -0
  789. package/js/src/src/static_dependencies/ethers/fragments.d.ts +458 -0
  790. package/js/src/src/static_dependencies/ethers/fragments.js +1252 -0
  791. package/js/src/src/static_dependencies/ethers/hash/index.d.ts +10 -0
  792. package/js/src/src/static_dependencies/ethers/hash/index.js +15 -0
  793. package/js/src/src/static_dependencies/ethers/hash/solidity.d.ts +30 -0
  794. package/js/src/src/static_dependencies/ethers/hash/solidity.js +107 -0
  795. package/js/src/src/static_dependencies/ethers/hash/typed-data.d.ts +144 -0
  796. package/js/src/src/static_dependencies/ethers/hash/typed-data.js +490 -0
  797. package/js/src/src/static_dependencies/ethers/index.d.ts +19 -0
  798. package/js/src/src/static_dependencies/ethers/index.js +22 -0
  799. package/js/src/src/static_dependencies/ethers/interface.d.ts +380 -0
  800. package/js/src/src/static_dependencies/ethers/interface.js +990 -0
  801. package/js/src/src/static_dependencies/ethers/typed.d.ts +569 -0
  802. package/js/src/src/static_dependencies/ethers/typed.js +608 -0
  803. package/js/src/src/static_dependencies/ethers/utils/base58.d.ts +22 -0
  804. package/js/src/src/static_dependencies/ethers/utils/base58.js +68 -0
  805. package/js/src/src/static_dependencies/ethers/utils/base64.d.ts +39 -0
  806. package/js/src/src/static_dependencies/ethers/utils/base64.js +58 -0
  807. package/js/src/src/static_dependencies/ethers/utils/data.d.ts +92 -0
  808. package/js/src/src/static_dependencies/ethers/utils/data.js +175 -0
  809. package/js/src/src/static_dependencies/ethers/utils/errors.d.ts +509 -0
  810. package/js/src/src/static_dependencies/ethers/utils/errors.js +227 -0
  811. package/js/src/src/static_dependencies/ethers/utils/events.d.ts +76 -0
  812. package/js/src/src/static_dependencies/ethers/utils/events.js +52 -0
  813. package/js/src/src/static_dependencies/ethers/utils/fixednumber.d.ts +251 -0
  814. package/js/src/src/static_dependencies/ethers/utils/fixednumber.js +529 -0
  815. package/js/src/src/static_dependencies/ethers/utils/index.d.ts +30 -0
  816. package/js/src/src/static_dependencies/ethers/utils/index.js +38 -0
  817. package/js/src/src/static_dependencies/ethers/utils/maths.d.ts +65 -0
  818. package/js/src/src/static_dependencies/ethers/utils/maths.js +220 -0
  819. package/js/src/src/static_dependencies/ethers/utils/properties.d.ts +22 -0
  820. package/js/src/src/static_dependencies/ethers/utils/properties.js +59 -0
  821. package/js/src/src/static_dependencies/ethers/utils/rlp-decode.d.ts +5 -0
  822. package/js/src/src/static_dependencies/ethers/utils/rlp-decode.js +84 -0
  823. package/js/src/src/static_dependencies/ethers/utils/rlp-encode.d.ts +5 -0
  824. package/js/src/src/static_dependencies/ethers/utils/rlp-encode.js +54 -0
  825. package/js/src/src/static_dependencies/ethers/utils/rlp.d.ts +16 -0
  826. package/js/src/src/static_dependencies/ethers/utils/rlp.js +14 -0
  827. package/js/src/src/static_dependencies/ethers/utils/units.d.ts +23 -0
  828. package/js/src/src/static_dependencies/ethers/utils/units.js +88 -0
  829. package/js/src/src/static_dependencies/ethers/utils/utf8.d.ts +95 -0
  830. package/js/src/src/static_dependencies/ethers/utils/utf8.js +225 -0
  831. package/js/src/src/static_dependencies/ethers/utils/uuid.d.ts +7 -0
  832. package/js/src/src/static_dependencies/ethers/utils/uuid.js +35 -0
  833. package/js/src/src/static_dependencies/fflake/browser.d.ts +222 -0
  834. package/js/src/src/static_dependencies/fflake/browser.js +2578 -0
  835. package/js/src/src/static_dependencies/jsencrypt/JSEncrypt.d.ts +116 -0
  836. package/js/src/src/static_dependencies/jsencrypt/JSEncrypt.js +194 -0
  837. package/js/src/src/static_dependencies/jsencrypt/JSEncryptRSAKey.d.ts +142 -0
  838. package/js/src/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +307 -0
  839. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/asn1.d.ts +51 -0
  840. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +565 -0
  841. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/base64.d.ts +5 -0
  842. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +94 -0
  843. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/hex.d.ts +3 -0
  844. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +70 -0
  845. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/int10.d.ts +9 -0
  846. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +91 -0
  847. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/base64.d.ts +3 -0
  848. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +25 -0
  849. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.d.ts +101 -0
  850. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +1757 -0
  851. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/prng4.d.ts +10 -0
  852. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +50 -0
  853. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/rng.d.ts +3 -0
  854. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +80 -0
  855. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/rsa.d.ts +23 -0
  856. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +377 -0
  857. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/util.d.ts +7 -0
  858. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/util.js +64 -0
  859. package/js/src/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.d.ts +24 -0
  860. package/js/src/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +1627 -0
  861. package/js/src/src/static_dependencies/noble-curves/_shortw_utils.d.ts +60 -0
  862. package/js/src/src/static_dependencies/noble-curves/_shortw_utils.js +22 -0
  863. package/js/src/src/static_dependencies/noble-curves/abstract/curve.d.ts +67 -0
  864. package/js/src/src/static_dependencies/noble-curves/abstract/curve.js +157 -0
  865. package/js/src/src/static_dependencies/noble-curves/abstract/edwards.d.ts +79 -0
  866. package/js/src/src/static_dependencies/noble-curves/abstract/edwards.js +432 -0
  867. package/js/src/src/static_dependencies/noble-curves/abstract/hash-to-curve.d.ts +56 -0
  868. package/js/src/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +171 -0
  869. package/js/src/src/static_dependencies/noble-curves/abstract/modular.d.ts +68 -0
  870. package/js/src/src/static_dependencies/noble-curves/abstract/modular.js +351 -0
  871. package/js/src/src/static_dependencies/noble-curves/abstract/montgomery.d.ts +25 -0
  872. package/js/src/src/static_dependencies/noble-curves/abstract/montgomery.js +162 -0
  873. package/js/src/src/static_dependencies/noble-curves/abstract/poseidon.d.ts +29 -0
  874. package/js/src/src/static_dependencies/noble-curves/abstract/poseidon.js +115 -0
  875. package/js/src/src/static_dependencies/noble-curves/abstract/utils.d.ts +53 -0
  876. package/js/src/src/static_dependencies/noble-curves/abstract/utils.js +227 -0
  877. package/js/src/src/static_dependencies/noble-curves/abstract/weierstrass.d.ts +204 -0
  878. package/js/src/src/static_dependencies/noble-curves/abstract/weierstrass.js +1016 -0
  879. package/js/src/src/static_dependencies/noble-curves/ed25519.d.ts +53 -0
  880. package/js/src/src/static_dependencies/noble-curves/ed25519.js +402 -0
  881. package/js/src/src/static_dependencies/noble-curves/p256.d.ts +103 -0
  882. package/js/src/src/static_dependencies/noble-curves/p256.js +47 -0
  883. package/js/src/src/static_dependencies/noble-curves/secp256k1.d.ts +91 -0
  884. package/js/src/src/static_dependencies/noble-curves/secp256k1.js +257 -0
  885. package/js/src/src/static_dependencies/noble-hashes/_assert.d.ts +21 -0
  886. package/js/src/src/static_dependencies/noble-hashes/_assert.js +48 -0
  887. package/js/src/src/static_dependencies/noble-hashes/_sha2.d.ts +23 -0
  888. package/js/src/src/static_dependencies/noble-hashes/_sha2.js +119 -0
  889. package/js/src/src/static_dependencies/noble-hashes/_u64.d.ts +35 -0
  890. package/js/src/src/static_dependencies/noble-hashes/_u64.js +66 -0
  891. package/js/src/src/static_dependencies/noble-hashes/crypto.d.ts +1 -0
  892. package/js/src/src/static_dependencies/noble-hashes/crypto.js +7 -0
  893. package/js/src/src/static_dependencies/noble-hashes/hmac.d.ts +26 -0
  894. package/js/src/src/static_dependencies/noble-hashes/hmac.js +82 -0
  895. package/js/src/src/static_dependencies/noble-hashes/md5.d.ts +18 -0
  896. package/js/src/src/static_dependencies/noble-hashes/md5.js +242 -0
  897. package/js/src/src/static_dependencies/noble-hashes/sha1.d.ts +21 -0
  898. package/js/src/src/static_dependencies/noble-hashes/sha1.js +90 -0
  899. package/js/src/src/static_dependencies/noble-hashes/sha256.d.ts +34 -0
  900. package/js/src/src/static_dependencies/noble-hashes/sha256.js +129 -0
  901. package/js/src/src/static_dependencies/noble-hashes/sha3.d.ts +97 -0
  902. package/js/src/src/static_dependencies/noble-hashes/sha3.js +211 -0
  903. package/js/src/src/static_dependencies/noble-hashes/sha512.d.ts +66 -0
  904. package/js/src/src/static_dependencies/noble-hashes/sha512.js +236 -0
  905. package/js/src/src/static_dependencies/noble-hashes/utils.d.ts +77 -0
  906. package/js/src/src/static_dependencies/noble-hashes/utils.js +147 -0
  907. package/js/src/src/static_dependencies/proxies/agent-base/helpers.d.ts +14 -0
  908. package/js/src/src/static_dependencies/proxies/agent-base/helpers.js +42 -0
  909. package/js/src/src/static_dependencies/proxies/agent-base/index.d.ts +33 -0
  910. package/js/src/src/static_dependencies/proxies/agent-base/index.js +82 -0
  911. package/js/src/src/static_dependencies/proxies/http-proxy-agent/index.d.ts +40 -0
  912. package/js/src/src/static_dependencies/proxies/http-proxy-agent/index.js +119 -0
  913. package/js/src/src/static_dependencies/proxies/https-proxy-agent/index.d.ts +45 -0
  914. package/js/src/src/static_dependencies/proxies/https-proxy-agent/index.js +150 -0
  915. package/js/src/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.d.ts +15 -0
  916. package/js/src/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +95 -0
  917. package/js/src/src/static_dependencies/qs/formats.cjs +22 -0
  918. package/js/src/src/static_dependencies/qs/formats.d.cts +14 -0
  919. package/js/src/src/static_dependencies/qs/index.cjs +15 -0
  920. package/js/src/src/static_dependencies/qs/index.d.cts +10 -0
  921. package/js/src/src/static_dependencies/qs/parse.cjs +208 -0
  922. package/js/src/src/static_dependencies/qs/parse.d.cts +8 -0
  923. package/js/src/src/static_dependencies/qs/stringify.cjs +192 -0
  924. package/js/src/src/static_dependencies/qs/stringify.d.cts +8 -0
  925. package/js/src/src/static_dependencies/qs/utils.cjs +202 -0
  926. package/js/src/src/static_dependencies/qs/utils.d.cts +15 -0
  927. package/js/src/src/static_dependencies/scure-base/index.d.ts +92 -0
  928. package/js/src/src/static_dependencies/scure-base/index.js +420 -0
  929. package/js/src/src/static_dependencies/scure-starknet/index.d.ts +79 -0
  930. package/js/src/src/static_dependencies/scure-starknet/index.js +323 -0
  931. package/js/src/src/static_dependencies/starknet/constants.d.ts +61 -0
  932. package/js/src/src/static_dependencies/starknet/constants.js +67 -0
  933. package/js/src/src/static_dependencies/starknet/index.d.ts +3 -0
  934. package/js/src/src/static_dependencies/starknet/index.js +9 -0
  935. package/js/src/src/static_dependencies/starknet/types/cairoEnum.d.ts +2 -0
  936. package/js/src/src/static_dependencies/starknet/types/cairoEnum.js +7 -0
  937. package/js/src/src/static_dependencies/starknet/types/calldata.d.ts +19 -0
  938. package/js/src/src/static_dependencies/starknet/types/calldata.js +28 -0
  939. package/js/src/src/static_dependencies/starknet/types/index.d.ts +13 -0
  940. package/js/src/src/static_dependencies/starknet/types/index.js +16 -0
  941. package/js/src/src/static_dependencies/starknet/types/lib/contract/abi.d.ts +71 -0
  942. package/js/src/src/static_dependencies/starknet/types/lib/contract/abi.js +13 -0
  943. package/js/src/src/static_dependencies/starknet/types/lib/contract/index.d.ts +24 -0
  944. package/js/src/src/static_dependencies/starknet/types/lib/contract/index.js +16 -0
  945. package/js/src/src/static_dependencies/starknet/types/lib/contract/legacy.d.ts +33 -0
  946. package/js/src/src/static_dependencies/starknet/types/lib/contract/legacy.js +7 -0
  947. package/js/src/src/static_dependencies/starknet/types/lib/contract/sierra.d.ts +52 -0
  948. package/js/src/src/static_dependencies/starknet/types/lib/contract/sierra.js +7 -0
  949. package/js/src/src/static_dependencies/starknet/types/lib/index.d.ts +248 -0
  950. package/js/src/src/static_dependencies/starknet/types/lib/index.js +52 -0
  951. package/js/src/src/static_dependencies/starknet/types/typedData.d.ts +44 -0
  952. package/js/src/src/static_dependencies/starknet/types/typedData.js +19 -0
  953. package/js/src/src/static_dependencies/starknet/utils/assert.d.ts +7 -0
  954. package/js/src/src/static_dependencies/starknet/utils/assert.js +17 -0
  955. package/js/src/src/static_dependencies/starknet/utils/cairoDataTypes/felt.d.ts +6 -0
  956. package/js/src/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +43 -0
  957. package/js/src/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.d.ts +72 -0
  958. package/js/src/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +117 -0
  959. package/js/src/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.d.ts +76 -0
  960. package/js/src/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +136 -0
  961. package/js/src/src/static_dependencies/starknet/utils/calldata/byteArray.d.ts +32 -0
  962. package/js/src/src/static_dependencies/starknet/utils/calldata/byteArray.js +59 -0
  963. package/js/src/src/static_dependencies/starknet/utils/calldata/cairo.d.ts +183 -0
  964. package/js/src/src/static_dependencies/starknet/utils/calldata/cairo.js +229 -0
  965. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.d.ts +38 -0
  966. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +57 -0
  967. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.d.ts +35 -0
  968. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +64 -0
  969. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.d.ts +34 -0
  970. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +63 -0
  971. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/index.d.ts +3 -0
  972. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/index.js +9 -0
  973. package/js/src/src/static_dependencies/starknet/utils/calldata/formatter.d.ts +9 -0
  974. package/js/src/src/static_dependencies/starknet/utils/calldata/formatter.js +67 -0
  975. package/js/src/src/static_dependencies/starknet/utils/calldata/index.d.ts +89 -0
  976. package/js/src/src/static_dependencies/starknet/utils/calldata/index.js +280 -0
  977. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/index.d.ts +5 -0
  978. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/index.js +30 -0
  979. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/interface.d.ts +20 -0
  980. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/interface.js +8 -0
  981. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.d.ts +24 -0
  982. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +36 -0
  983. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.d.ts +23 -0
  984. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +40 -0
  985. package/js/src/src/static_dependencies/starknet/utils/calldata/propertyOrder.d.ts +2 -0
  986. package/js/src/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +155 -0
  987. package/js/src/src/static_dependencies/starknet/utils/calldata/requestParser.d.ts +11 -0
  988. package/js/src/src/static_dependencies/starknet/utils/calldata/requestParser.js +248 -0
  989. package/js/src/src/static_dependencies/starknet/utils/calldata/responseParser.d.ts +11 -0
  990. package/js/src/src/static_dependencies/starknet/utils/calldata/responseParser.js +214 -0
  991. package/js/src/src/static_dependencies/starknet/utils/calldata/tuple.d.ts +6 -0
  992. package/js/src/src/static_dependencies/starknet/utils/calldata/tuple.js +113 -0
  993. package/js/src/src/static_dependencies/starknet/utils/calldata/validate.d.ts +6 -0
  994. package/js/src/src/static_dependencies/starknet/utils/calldata/validate.js +208 -0
  995. package/js/src/src/static_dependencies/starknet/utils/encode.d.ts +207 -0
  996. package/js/src/src/static_dependencies/starknet/utils/encode.js +282 -0
  997. package/js/src/src/static_dependencies/starknet/utils/hash/classHash.d.ts +57 -0
  998. package/js/src/src/static_dependencies/starknet/utils/hash/classHash.js +223 -0
  999. package/js/src/src/static_dependencies/starknet/utils/hash/index.d.ts +6 -0
  1000. package/js/src/src/static_dependencies/starknet/utils/hash/index.js +13 -0
  1001. package/js/src/src/static_dependencies/starknet/utils/merkle.d.ts +35 -0
  1002. package/js/src/src/static_dependencies/starknet/utils/merkle.js +84 -0
  1003. package/js/src/src/static_dependencies/starknet/utils/num.d.ts +182 -0
  1004. package/js/src/src/static_dependencies/starknet/utils/num.js +244 -0
  1005. package/js/src/src/static_dependencies/starknet/utils/selector.d.ts +48 -0
  1006. package/js/src/src/static_dependencies/starknet/utils/selector.js +85 -0
  1007. package/js/src/src/static_dependencies/starknet/utils/shortString.d.ts +57 -0
  1008. package/js/src/src/static_dependencies/starknet/utils/shortString.js +96 -0
  1009. package/js/src/src/static_dependencies/starknet/utils/typedData.d.ts +54 -0
  1010. package/js/src/src/static_dependencies/starknet/utils/typedData.js +321 -0
  1011. package/js/src/src/static_dependencies/watchable/src/types.d.ts +28 -0
  1012. package/js/src/src/static_dependencies/watchable/src/types.js +8 -0
  1013. package/js/src/src/static_dependencies/watchable/src/unpromise.d.ts +120 -0
  1014. package/js/src/src/static_dependencies/watchable/src/unpromise.js +297 -0
  1015. package/js/src/src/static_dependencies/zklink/zklink-sdk-web.d.ts +1279 -0
  1016. package/js/src/src/static_dependencies/zklink/zklink-sdk-web.js +4282 -0
  1017. package/js/src/src/tabdeal.d.ts +23 -0
  1018. package/js/src/src/tabdeal.js +387 -0
  1019. package/js/src/src/tehran_exchange.d.ts +21 -0
  1020. package/js/src/src/tehran_exchange.js +333 -0
  1021. package/js/src/src/tetherland.d.ts +21 -0
  1022. package/js/src/src/tetherland.js +367 -0
  1023. package/js/src/src/timex.d.ts +247 -0
  1024. package/js/src/src/timex.js +1792 -0
  1025. package/js/src/src/tokocrypto.d.ts +261 -0
  1026. package/js/src/src/tokocrypto.js +2641 -0
  1027. package/js/src/src/toobit.d.ts +22 -0
  1028. package/js/src/src/toobit.js +445 -0
  1029. package/js/src/src/tradeogre.d.ts +149 -0
  1030. package/js/src/src/tradeogre.js +878 -0
  1031. package/js/src/src/twox.d.ts +21 -0
  1032. package/js/src/src/twox.js +371 -0
  1033. package/js/src/src/ubitex.d.ts +23 -0
  1034. package/js/src/src/ubitex.js +433 -0
  1035. package/js/src/src/upbit.d.ts +377 -0
  1036. package/js/src/src/upbit.js +2340 -0
  1037. package/js/src/src/vertex.d.ts +346 -0
  1038. package/js/src/src/vertex.js +3146 -0
  1039. package/js/src/src/wallex.d.ts +23 -0
  1040. package/js/src/src/wallex.js +467 -0
  1041. package/js/src/src/wavesexchange.d.ts +244 -0
  1042. package/js/src/src/wavesexchange.js +2747 -0
  1043. package/js/src/src/whitebit.d.ts +571 -0
  1044. package/js/src/src/whitebit.js +3437 -0
  1045. package/js/src/src/woo.d.ts +727 -0
  1046. package/js/src/src/woo.js +4183 -0
  1047. package/js/src/src/woofipro.d.ts +497 -0
  1048. package/js/src/src/woofipro.js +2941 -0
  1049. package/js/src/src/xt.d.ts +568 -0
  1050. package/js/src/src/xt.js +5184 -0
  1051. package/js/src/src/yobit.d.ts +197 -0
  1052. package/js/src/src/yobit.js +1453 -0
  1053. package/js/src/src/zaif.d.ts +136 -0
  1054. package/js/src/src/zaif.js +821 -0
  1055. package/js/src/src/zonda.d.ts +214 -0
  1056. package/js/src/src/zonda.js +1984 -0
  1057. package/js/test.d.ts +1 -1
  1058. package/js/test.js +33 -33
  1059. package/package.json +1 -1
@@ -0,0 +1,1318 @@
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 poloniexRest from '../poloniex.js';
9
+ import { BadRequest, AuthenticationError, ExchangeError, InvalidOrder } from '../base/errors.js';
10
+ import { ArrayCache, ArrayCacheByTimestamp, ArrayCacheBySymbolById } from '../base/ws/Cache.js';
11
+ import { Precise } from '../base/Precise.js';
12
+ import { sha256 } from '../static_dependencies/noble-hashes/sha256.js';
13
+ // ---------------------------------------------------------------------------
14
+ export default class poloniex extends poloniexRest {
15
+ describe() {
16
+ return this.deepExtend(super.describe(), {
17
+ 'has': {
18
+ 'ws': true,
19
+ 'watchOHLCV': true,
20
+ 'watchOrderBook': true,
21
+ 'watchTicker': true,
22
+ 'watchTickers': true,
23
+ 'watchTrades': true,
24
+ 'watchTradesForSymbols': true,
25
+ 'watchBalance': true,
26
+ 'watchStatus': false,
27
+ 'watchOrders': true,
28
+ 'watchMyTrades': true,
29
+ 'createOrderWs': true,
30
+ 'editOrderWs': false,
31
+ 'fetchOpenOrdersWs': false,
32
+ 'fetchOrderWs': false,
33
+ 'cancelOrderWs': true,
34
+ 'cancelOrdersWs': true,
35
+ 'cancelAllOrdersWs': true,
36
+ 'fetchTradesWs': false,
37
+ 'fetchBalanceWs': false,
38
+ },
39
+ 'urls': {
40
+ 'api': {
41
+ 'ws': {
42
+ 'public': 'wss://ws.poloniex.com/ws/public',
43
+ 'private': 'wss://ws.poloniex.com/ws/private',
44
+ },
45
+ },
46
+ },
47
+ 'options': {
48
+ 'createMarketBuyOrderRequiresPrice': true,
49
+ 'tradesLimit': 1000,
50
+ 'ordersLimit': 1000,
51
+ 'OHLCVLimit': 1000,
52
+ 'watchOrderBook': {
53
+ 'name': 'book_lv2', // can also be 'book'
54
+ },
55
+ 'connectionsLimit': 2000,
56
+ 'requestsLimit': 500,
57
+ 'timeframes': {
58
+ '1m': 'candles_minute_1',
59
+ '5m': 'candles_minute_5',
60
+ '10m': 'candles_minute_10',
61
+ '15m': 'candles_minute_15',
62
+ '30m': 'candles_minute_30',
63
+ '1h': 'candles_hour_1',
64
+ '2h': 'candles_hour_2',
65
+ '4h': 'candles_hour_4',
66
+ '6h': 'candles_hour_6',
67
+ '12h': 'candles_hour_12',
68
+ '1d': 'candles_day_1',
69
+ '3d': 'candles_day_3',
70
+ '1w': 'candles_week_1',
71
+ '1M': 'candles_month_1',
72
+ },
73
+ },
74
+ 'streaming': {
75
+ 'keepAlive': 15000,
76
+ 'ping': this.ping,
77
+ },
78
+ });
79
+ }
80
+ /**
81
+ * @ignore
82
+ * @method
83
+ * @description authenticates the user to access private web socket channels
84
+ * @see https://api-docs.poloniex.com/spot/websocket/authentication
85
+ * @returns {object} response from exchange
86
+ */
87
+ async authenticate(params = {}) {
88
+ this.checkRequiredCredentials();
89
+ const timestamp = this.numberToString(this.milliseconds());
90
+ const url = this.urls['api']['ws']['private'];
91
+ const messageHash = 'authenticated';
92
+ const client = this.client(url);
93
+ let future = this.safeValue(client.subscriptions, messageHash);
94
+ if (future === undefined) {
95
+ const accessPath = '/ws';
96
+ const requestString = 'GET\n' + accessPath + '\nsignTimestamp=' + timestamp;
97
+ const signature = this.hmac(this.encode(requestString), this.encode(this.secret), sha256, 'base64');
98
+ const request = {
99
+ 'event': 'subscribe',
100
+ 'channel': ['auth'],
101
+ 'params': {
102
+ 'key': this.apiKey,
103
+ 'signTimestamp': timestamp,
104
+ 'signature': signature,
105
+ 'signatureMethod': 'HmacSHA256',
106
+ 'signatureVersion': '2', // optional
107
+ },
108
+ };
109
+ const message = this.extend(request, params);
110
+ future = await this.watch(url, messageHash, message, messageHash);
111
+ //
112
+ // {
113
+ // "data": {
114
+ // "success": true,
115
+ // "ts": 1645597033915
116
+ // },
117
+ // "channel": "auth"
118
+ // }
119
+ //
120
+ // # Failure to return results
121
+ //
122
+ // {
123
+ // "data": {
124
+ // "success": false,
125
+ // "message": "Authentication failed!",
126
+ // "ts": 1646276295075
127
+ // },
128
+ // "channel": "auth"
129
+ // }
130
+ //
131
+ client.subscriptions[messageHash] = future;
132
+ }
133
+ return future;
134
+ }
135
+ /**
136
+ * @ignore
137
+ * @method
138
+ * @description Connects to a websocket channel
139
+ * @param {string} name name of the channel
140
+ * @param {string} messageHash unique identifier for the message
141
+ * @param {boolean} isPrivate true for the authenticated url, false for the public url
142
+ * @param {string[]} [symbols] CCXT market symbols
143
+ * @param {object} [params] extra parameters specific to the poloniex api
144
+ * @returns {object} data from the websocket stream
145
+ */
146
+ async subscribe(name, messageHash, isPrivate, symbols = undefined, params = {}) {
147
+ const publicOrPrivate = isPrivate ? 'private' : 'public';
148
+ const url = this.urls['api']['ws'][publicOrPrivate];
149
+ const subscribe = {
150
+ 'event': 'subscribe',
151
+ 'channel': [
152
+ name,
153
+ ],
154
+ };
155
+ let marketIds = [];
156
+ if (this.isEmpty(symbols)) {
157
+ marketIds.push('all');
158
+ }
159
+ else {
160
+ messageHash = messageHash + '::' + symbols.join(',');
161
+ marketIds = this.marketIds(symbols);
162
+ }
163
+ if (name !== 'balances') {
164
+ subscribe['symbols'] = marketIds;
165
+ }
166
+ const request = this.extend(subscribe, params);
167
+ return await this.watch(url, messageHash, request, messageHash);
168
+ }
169
+ /**
170
+ * @ignore
171
+ * @method
172
+ * @description Connects to a websocket channel
173
+ * @param {string} name name of the channel
174
+ * @param {object} [params] extra parameters specific to the poloniex api
175
+ * @returns {object} data from the websocket stream
176
+ */
177
+ async tradeRequest(name, params = {}) {
178
+ const url = this.urls['api']['ws']['private'];
179
+ const messageHash = this.nonce().toString();
180
+ const subscribe = {
181
+ 'id': messageHash,
182
+ 'event': name,
183
+ 'params': params,
184
+ };
185
+ return await this.watch(url, messageHash, subscribe, messageHash);
186
+ }
187
+ /**
188
+ * @method
189
+ * @name poloniex#createOrderWs
190
+ * @see https://api-docs.poloniex.com/spot/websocket/trade-request#create-order
191
+ * @description create a trade order
192
+ * @param {string} symbol unified symbol of the market to create an order in
193
+ * @param {string} type 'market' or 'limit'
194
+ * @param {string} side 'buy' or 'sell'
195
+ * @param {float} amount how much of currency you want to trade in units of base currency
196
+ * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
197
+ * @param {object} [params] extra parameters specific to the poloniex api endpoint
198
+ * @param {string} [params.timeInForce] GTC (default), IOC, FOK
199
+ * @param {string} [params.clientOrderId] Maximum 64-character length.*
200
+ * @param {float} [params.cost] *spot market buy only* the quote quantity that can be used as an alternative for the amount
201
+ *
202
+ * EXCHANGE SPECIFIC PARAMETERS
203
+ * @param {string} [params.amount] quote units for the order
204
+ * @param {boolean} [params.allowBorrow] allow order to be placed by borrowing funds (Default: false)
205
+ * @param {string} [params.stpMode] self-trade prevention, defaults to expire_taker, none: enable self-trade; expire_taker: taker order will be canceled when self-trade happens
206
+ * @param {string} [params.slippageTolerance] used to control the maximum slippage ratio, the value range is greater than 0 and less than 1
207
+ * @returns {object} an [order structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
208
+ */
209
+ async createOrderWs(symbol, type, side, amount, price = undefined, params = {}) {
210
+ await this.loadMarkets();
211
+ await this.authenticate();
212
+ const market = this.market(symbol);
213
+ let uppercaseType = type.toUpperCase();
214
+ const uppercaseSide = side.toUpperCase();
215
+ const isPostOnly = this.isPostOnly(uppercaseType === 'MARKET', uppercaseType === 'LIMIT_MAKER', params);
216
+ if (isPostOnly) {
217
+ uppercaseType = 'LIMIT_MAKER';
218
+ }
219
+ const request = {
220
+ 'symbol': market['id'],
221
+ 'side': side.toUpperCase(),
222
+ 'type': type.toUpperCase(),
223
+ };
224
+ if ((uppercaseType === 'MARKET') && (uppercaseSide === 'BUY')) {
225
+ let quoteAmount = undefined;
226
+ let createMarketBuyOrderRequiresPrice = true;
227
+ [createMarketBuyOrderRequiresPrice, params] = this.handleOptionAndParams(params, 'createOrder', 'createMarketBuyOrderRequiresPrice', true);
228
+ const cost = this.safeNumber(params, 'cost');
229
+ params = this.omit(params, 'cost');
230
+ if (cost !== undefined) {
231
+ quoteAmount = this.costToPrecision(symbol, cost);
232
+ }
233
+ else if (createMarketBuyOrderRequiresPrice) {
234
+ if (price === undefined) {
235
+ throw new InvalidOrder(this.id + ' createOrder() requires the price argument for market buy orders to calculate the total cost to spend (amount * price), alternatively set the createMarketBuyOrderRequiresPrice option or param to false and pass the cost to spend (quote quantity) in the amount argument');
236
+ }
237
+ else {
238
+ const amountString = this.numberToString(amount);
239
+ const priceString = this.numberToString(price);
240
+ const costRequest = Precise.stringMul(amountString, priceString);
241
+ quoteAmount = this.costToPrecision(symbol, costRequest);
242
+ }
243
+ }
244
+ else {
245
+ quoteAmount = this.costToPrecision(symbol, amount);
246
+ }
247
+ request['amount'] = quoteAmount;
248
+ }
249
+ else {
250
+ request['quantity'] = this.amountToPrecision(market['symbol'], amount);
251
+ if (price !== undefined) {
252
+ request['price'] = this.priceToPrecision(symbol, price);
253
+ }
254
+ }
255
+ const orders = await this.tradeRequest('createOrder', this.extend(request, params));
256
+ const order = this.safeDict(orders, 0);
257
+ return order;
258
+ }
259
+ /**
260
+ * @method
261
+ * @name poloniex#cancelOrderWs
262
+ * @see https://api-docs.poloniex.com/spot/websocket/trade-request#cancel-multiple-orders
263
+ * @description cancel multiple orders
264
+ * @param {string} id order id
265
+ * @param {string} [symbol] unified market symbol
266
+ * @param {object} [params] extra parameters specific to the poloniex api endpoint
267
+ * @param {string} [params.clientOrderId] client order id
268
+ * @returns {object} an list of [order structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
269
+ */
270
+ async cancelOrderWs(id, symbol = undefined, params = {}) {
271
+ const clientOrderId = this.safeString(params, 'clientOrderId');
272
+ if (clientOrderId !== undefined) {
273
+ const clientOrderIds = this.safeValue(params, 'clientOrderId', []);
274
+ params['clientOrderIds'] = this.arrayConcat(clientOrderIds, [clientOrderId]);
275
+ }
276
+ const orders = await this.cancelOrdersWs([id], symbol, params);
277
+ const order = this.safeDict(orders, 0);
278
+ return order;
279
+ }
280
+ /**
281
+ * @method
282
+ * @name poloniex#cancelOrdersWs
283
+ * @see https://api-docs.poloniex.com/spot/websocket/trade-request#cancel-multiple-orders
284
+ * @description cancel multiple orders
285
+ * @param {string[]} ids order ids
286
+ * @param {string} symbol unified market symbol, default is undefined
287
+ * @param {object} [params] extra parameters specific to the poloniex api endpoint
288
+ * @param {string[]} [params.clientOrderIds] client order ids
289
+ * @returns {object} an list of [order structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
290
+ */
291
+ async cancelOrdersWs(ids, symbol = undefined, params = {}) {
292
+ await this.loadMarkets();
293
+ await this.authenticate();
294
+ const request = {
295
+ 'orderIds': ids,
296
+ };
297
+ return await this.tradeRequest('cancelOrders', this.extend(request, params));
298
+ }
299
+ /**
300
+ * @method
301
+ * @name poloniex#cancelAllOrdersWs
302
+ * @see https://api-docs.poloniex.com/spot/websocket/trade-request#cancel-all-orders
303
+ * @description cancel all open orders of a type. Only applicable to Option in Portfolio Margin mode, and MMP privilege is required.
304
+ * @param {string} symbol unified market symbol, only orders in the market of this symbol are cancelled when symbol is not undefined
305
+ * @param {object} [params] extra parameters specific to the poloniex api endpoint
306
+ * @returns {object[]} a list of [order structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
307
+ */
308
+ async cancelAllOrdersWs(symbol = undefined, params = {}) {
309
+ await this.loadMarkets();
310
+ await this.authenticate();
311
+ return await this.tradeRequest('cancelAllOrders', params);
312
+ }
313
+ handleOrderRequest(client, message) {
314
+ //
315
+ // {
316
+ // "id": "1234567",
317
+ // "data": [{
318
+ // "orderId": 205343650954092544,
319
+ // "clientOrderId": "",
320
+ // "message": "",
321
+ // "code": 200
322
+ // }]
323
+ // }
324
+ //
325
+ const messageHash = this.safeString(message, 'id');
326
+ const data = this.safeValue(message, 'data', []);
327
+ const orders = [];
328
+ for (let i = 0; i < data.length; i++) {
329
+ const order = data[i];
330
+ const parsedOrder = this.parseWsOrder(order);
331
+ orders.push(parsedOrder);
332
+ }
333
+ client.resolve(orders, messageHash);
334
+ }
335
+ /**
336
+ * @method
337
+ * @name poloniex#watchOHLCV
338
+ * @description watches historical candlestick data containing the open, high, low, and close price, and the volume of a market
339
+ * @see https://api-docs.poloniex.com/spot/websocket/market-data#candlesticks
340
+ * @param {string} symbol unified symbol of the market to fetch OHLCV data for
341
+ * @param {string} timeframe the length of time each candle represents
342
+ * @param {int} [since] timestamp in ms of the earliest candle to fetch
343
+ * @param {int} [limit] the maximum amount of candles to fetch
344
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
345
+ * @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
346
+ */
347
+ async watchOHLCV(symbol, timeframe = '1m', since = undefined, limit = undefined, params = {}) {
348
+ await this.loadMarkets();
349
+ const timeframes = this.safeValue(this.options, 'timeframes', {});
350
+ const channel = this.safeString(timeframes, timeframe, timeframe);
351
+ if (channel === undefined) {
352
+ throw new BadRequest(this.id + ' watchOHLCV cannot take a timeframe of ' + timeframe);
353
+ }
354
+ const ohlcv = await this.subscribe(channel, channel, false, [symbol], params);
355
+ if (this.newUpdates) {
356
+ limit = ohlcv.getLimit(symbol, limit);
357
+ }
358
+ return this.filterBySinceLimit(ohlcv, since, limit, 0, true);
359
+ }
360
+ /**
361
+ * @method
362
+ * @name poloniex#watchTicker
363
+ * @description watches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
364
+ * @see https://api-docs.poloniex.com/spot/websocket/market-data#ticker
365
+ * @param {string} symbol unified symbol of the market to fetch the ticker for
366
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
367
+ * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
368
+ */
369
+ async watchTicker(symbol, params = {}) {
370
+ await this.loadMarkets();
371
+ symbol = this.symbol(symbol);
372
+ const tickers = await this.watchTickers([symbol], params);
373
+ return this.safeValue(tickers, symbol);
374
+ }
375
+ /**
376
+ * @method
377
+ * @name poloniex#watchTickers
378
+ * @description watches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
379
+ * @see https://api-docs.poloniex.com/spot/websocket/market-data#ticker
380
+ * @param {string[]} symbols
381
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
382
+ * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
383
+ */
384
+ async watchTickers(symbols = undefined, params = {}) {
385
+ await this.loadMarkets();
386
+ const name = 'ticker';
387
+ symbols = this.marketSymbols(symbols);
388
+ const newTickers = await this.subscribe(name, name, false, symbols, params);
389
+ if (this.newUpdates) {
390
+ return newTickers;
391
+ }
392
+ return this.filterByArray(this.tickers, 'symbol', symbols);
393
+ }
394
+ /**
395
+ * @method
396
+ * @name poloniex#watchTrades
397
+ * @description get the list of most recent trades for a particular symbol
398
+ * @see https://api-docs.poloniex.com/spot/websocket/market-data#trades
399
+ * @param {string} symbol unified symbol of the market to fetch trades for
400
+ * @param {int} [since] timestamp in ms of the earliest trade to fetch
401
+ * @param {int} [limit] the maximum amount of trades to fetch
402
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
403
+ * @returns {object[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=public-trades}
404
+ */
405
+ async watchTrades(symbol, since = undefined, limit = undefined, params = {}) {
406
+ return await this.watchTradesForSymbols([symbol], since, limit, params);
407
+ }
408
+ /**
409
+ * @method
410
+ * @name poloniex#watchTradesForSymbols
411
+ * @description get the list of most recent trades for a list of symbols
412
+ * @see https://api-docs.poloniex.com/spot/websocket/market-data#trades
413
+ * @param {string[]} symbols unified symbol of the market to fetch trades for
414
+ * @param {int} [since] timestamp in ms of the earliest trade to fetch
415
+ * @param {int} [limit] the maximum amount of trades to fetch
416
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
417
+ * @returns {object[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=public-trades}
418
+ */
419
+ async watchTradesForSymbols(symbols, since = undefined, limit = undefined, params = {}) {
420
+ await this.loadMarkets();
421
+ symbols = this.marketSymbols(symbols, undefined, false, true, true);
422
+ const name = 'trades';
423
+ const url = this.urls['api']['ws']['public'];
424
+ const marketIds = this.marketIds(symbols);
425
+ const subscribe = {
426
+ 'event': 'subscribe',
427
+ 'channel': [
428
+ name,
429
+ ],
430
+ 'symbols': marketIds,
431
+ };
432
+ const request = this.extend(subscribe, params);
433
+ const messageHashes = [];
434
+ if (symbols !== undefined) {
435
+ for (let i = 0; i < symbols.length; i++) {
436
+ messageHashes.push(name + '::' + symbols[i]);
437
+ }
438
+ }
439
+ const trades = await this.watchMultiple(url, messageHashes, request, messageHashes);
440
+ if (this.newUpdates) {
441
+ const first = this.safeValue(trades, 0);
442
+ const tradeSymbol = this.safeString(first, 'symbol');
443
+ limit = trades.getLimit(tradeSymbol, limit);
444
+ }
445
+ return this.filterBySinceLimit(trades, since, limit, 'timestamp', true);
446
+ }
447
+ /**
448
+ * @method
449
+ * @name poloniex#watchOrderBook
450
+ * @description watches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
451
+ * @see https://api-docs.poloniex.com/spot/websocket/market-data#book-level-2
452
+ * @param {string} symbol unified symbol of the market to fetch the order book for
453
+ * @param {int} [limit] not used by poloniex watchOrderBook
454
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
455
+ * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
456
+ */
457
+ async watchOrderBook(symbol, limit = undefined, params = {}) {
458
+ await this.loadMarkets();
459
+ const watchOrderBookOptions = this.safeValue(this.options, 'watchOrderBook');
460
+ let name = this.safeString(watchOrderBookOptions, 'name', 'book_lv2');
461
+ [name, params] = this.handleOptionAndParams(params, 'method', 'name', name);
462
+ const orderbook = await this.subscribe(name, name, false, [symbol], params);
463
+ return orderbook.limit();
464
+ }
465
+ /**
466
+ * @method
467
+ * @name poloniex#watchOrders
468
+ * @description watches information on multiple orders made by the user
469
+ * @see https://api-docs.poloniex.com/spot/websocket/order
470
+ * @param {string} symbol unified market symbol of the market orders were made in
471
+ * @param {int} [since] not used by poloniex watchOrders
472
+ * @param {int} [limit] not used by poloniex watchOrders
473
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
474
+ * @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
475
+ */
476
+ async watchOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
477
+ await this.loadMarkets();
478
+ const name = 'orders';
479
+ await this.authenticate();
480
+ if (symbol !== undefined) {
481
+ symbol = this.symbol(symbol);
482
+ }
483
+ const symbols = (symbol === undefined) ? undefined : [symbol];
484
+ const orders = await this.subscribe(name, name, true, symbols, params);
485
+ if (this.newUpdates) {
486
+ limit = orders.getLimit(symbol, limit);
487
+ }
488
+ return this.filterBySinceLimit(orders, since, limit, 'timestamp', true);
489
+ }
490
+ /**
491
+ * @method
492
+ * @name poloniex#watchMyTrades
493
+ * @description watches information on multiple trades made by the user using orders stream
494
+ * @see https://api-docs.poloniex.com/spot/websocket/order
495
+ * @param {string} symbol unified market symbol of the market orders were made in
496
+ * @param {int} [since] not used by poloniex watchMyTrades
497
+ * @param {int} [limit] not used by poloniex watchMyTrades
498
+ * @param {object} [params] extra parameters specific to the poloniex strean
499
+ * @returns {object[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=trade-structure}
500
+ */
501
+ async watchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
502
+ await this.loadMarkets();
503
+ const name = 'orders';
504
+ const messageHash = 'myTrades';
505
+ await this.authenticate();
506
+ if (symbol !== undefined) {
507
+ symbol = this.symbol(symbol);
508
+ }
509
+ const symbols = (symbol === undefined) ? undefined : [symbol];
510
+ const trades = await this.subscribe(name, messageHash, true, symbols, params);
511
+ if (this.newUpdates) {
512
+ limit = trades.getLimit(symbol, limit);
513
+ }
514
+ return this.filterBySinceLimit(trades, since, limit, 'timestamp', true);
515
+ }
516
+ /**
517
+ * @method
518
+ * @name poloniex#watchBalance
519
+ * @description watch balance and get the amount of funds available for trading or funds locked in orders
520
+ * @see https://api-docs.poloniex.com/spot/websocket/balance
521
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
522
+ * @returns {object} a [balance structure]{@link https://docs.ccxt.com/#/?id=balance-structure}
523
+ */
524
+ async watchBalance(params = {}) {
525
+ await this.loadMarkets();
526
+ const name = 'balances';
527
+ await this.authenticate();
528
+ return await this.subscribe(name, name, true, undefined, params);
529
+ }
530
+ parseWsOHLCV(ohlcv, market = undefined) {
531
+ //
532
+ // {
533
+ // "symbol": "BTC_USDT",
534
+ // "amount": "840.7240416",
535
+ // "high": "24832.35",
536
+ // "quantity": "0.033856",
537
+ // "tradeCount": 1,
538
+ // "low": "24832.35",
539
+ // "closeTime": 1676942519999,
540
+ // "startTime": 1676942460000,
541
+ // "close": "24832.35",
542
+ // "open": "24832.35",
543
+ // "ts": 1676942492072
544
+ // }
545
+ //
546
+ return [
547
+ this.safeInteger(ohlcv, 'startTime'),
548
+ this.safeNumber(ohlcv, 'open'),
549
+ this.safeNumber(ohlcv, 'high'),
550
+ this.safeNumber(ohlcv, 'low'),
551
+ this.safeNumber(ohlcv, 'close'),
552
+ this.safeNumber(ohlcv, 'quantity'),
553
+ ];
554
+ }
555
+ handleOHLCV(client, message) {
556
+ //
557
+ // {
558
+ // "channel": "candles_minute_1",
559
+ // "data": [
560
+ // {
561
+ // "symbol": "BTC_USDT",
562
+ // "amount": "840.7240416",
563
+ // "high": "24832.35",
564
+ // "quantity": "0.033856",
565
+ // "tradeCount": 1,
566
+ // "low": "24832.35",
567
+ // "closeTime": 1676942519999,
568
+ // "startTime": 1676942460000,
569
+ // "close": "24832.35",
570
+ // "open": "24832.35",
571
+ // "ts": 1676942492072
572
+ // }
573
+ // ]
574
+ // }
575
+ //
576
+ let data = this.safeValue(message, 'data');
577
+ data = this.safeValue(data, 0);
578
+ const channel = this.safeString(message, 'channel');
579
+ const marketId = this.safeString(data, 'symbol');
580
+ const symbol = this.safeSymbol(marketId);
581
+ const market = this.safeMarket(symbol);
582
+ const timeframes = this.safeValue(this.options, 'timeframes', {});
583
+ const timeframe = this.findTimeframe(channel, timeframes);
584
+ const messageHash = channel + '::' + symbol;
585
+ const parsed = this.parseWsOHLCV(data, market);
586
+ this.ohlcvs[symbol] = this.safeValue(this.ohlcvs, symbol, {});
587
+ let stored = this.safeValue(this.ohlcvs[symbol], timeframe);
588
+ if (symbol !== undefined) {
589
+ if (stored === undefined) {
590
+ const limit = this.safeInteger(this.options, 'OHLCVLimit', 1000);
591
+ stored = new ArrayCacheByTimestamp(limit);
592
+ this.ohlcvs[symbol][timeframe] = stored;
593
+ }
594
+ stored.append(parsed);
595
+ client.resolve(stored, messageHash);
596
+ }
597
+ return message;
598
+ }
599
+ handleTrade(client, message) {
600
+ //
601
+ // {
602
+ // "channel": "trades",
603
+ // "data": [
604
+ // {
605
+ // "symbol": "BTC_USDT",
606
+ // "amount": "13.41634893",
607
+ // "quantity": "0.000537",
608
+ // "takerSide": "buy",
609
+ // "createTime": 1676950548834,
610
+ // "price": "24983.89",
611
+ // "id": "62486976",
612
+ // "ts": 1676950548839
613
+ // }
614
+ // ]
615
+ // }
616
+ //
617
+ const data = this.safeValue(message, 'data', []);
618
+ for (let i = 0; i < data.length; i++) {
619
+ const item = data[i];
620
+ const marketId = this.safeString(item, 'symbol');
621
+ if (marketId !== undefined) {
622
+ const trade = this.parseWsTrade(item);
623
+ const symbol = trade['symbol'];
624
+ const type = 'trades';
625
+ const messageHash = type + '::' + symbol;
626
+ let tradesArray = this.safeValue(this.trades, symbol);
627
+ if (tradesArray === undefined) {
628
+ const tradesLimit = this.safeInteger(this.options, 'tradesLimit', 1000);
629
+ tradesArray = new ArrayCache(tradesLimit);
630
+ this.trades[symbol] = tradesArray;
631
+ }
632
+ tradesArray.append(trade);
633
+ client.resolve(tradesArray, messageHash);
634
+ }
635
+ }
636
+ return message;
637
+ }
638
+ parseWsTrade(trade, market = undefined) {
639
+ //
640
+ // handleTrade
641
+ //
642
+ // {
643
+ // "symbol": "BTC_USDT",
644
+ // "amount": "13.41634893",
645
+ // "quantity": "0.000537",
646
+ // "takerSide": "buy",
647
+ // "createTime": 1676950548834,
648
+ // "price": "24983.89",
649
+ // "id": "62486976",
650
+ // "ts": 1676950548839
651
+ // }
652
+ //
653
+ // private trade
654
+ // {
655
+ // "orderId":"186250258089635840",
656
+ // "tradeId":"62036513",
657
+ // "clientOrderId":"",
658
+ // "accountType":"SPOT",
659
+ // "eventType":"trade",
660
+ // "symbol":"ADA_USDT",
661
+ // "side":"SELL",
662
+ // "type":"MARKET",
663
+ // "price":"0",
664
+ // "quantity":"3",
665
+ // "state":"FILLED",
666
+ // "createTime":1685371921891,
667
+ // "tradeTime":1685371921908,
668
+ // "tradePrice":"0.37694",
669
+ // "tradeQty":"3",
670
+ // "feeCurrency":"USDT",
671
+ // "tradeFee":"0.00226164",
672
+ // "tradeAmount":"1.13082",
673
+ // "filledQuantity":"3",
674
+ // "filledAmount":"1.13082",
675
+ // "ts":1685371921945,
676
+ // "source":"WEB",
677
+ // "orderAmount":"0",
678
+ // "matchRole":"TAKER"
679
+ // }
680
+ //
681
+ const marketId = this.safeString(trade, 'symbol');
682
+ market = this.safeMarket(marketId, market);
683
+ const timestamp = this.safeInteger(trade, 'createTime');
684
+ const takerMaker = this.safeStringLower2(trade, 'matchRole', 'taker');
685
+ return this.safeTrade({
686
+ 'info': trade,
687
+ 'id': this.safeString2(trade, 'id', 'tradeId'),
688
+ 'symbol': this.safeString(market, 'symbol'),
689
+ 'timestamp': timestamp,
690
+ 'datetime': this.iso8601(timestamp),
691
+ 'order': this.safeString(trade, 'orderId'),
692
+ 'type': this.safeStringLower(trade, 'type'),
693
+ 'side': this.safeStringLower2(trade, 'takerSide', 'side'),
694
+ 'takerOrMaker': takerMaker,
695
+ 'price': this.omitZero(this.safeString2(trade, 'tradePrice', 'price')),
696
+ 'amount': this.omitZero(this.safeString2(trade, 'filledQuantity', 'quantity')),
697
+ 'cost': this.safeString2(trade, 'amount', 'filledAmount'),
698
+ 'fee': {
699
+ 'rate': undefined,
700
+ 'cost': this.safeString(trade, 'tradeFee'),
701
+ 'currency': this.safeString(trade, 'feeCurrency'),
702
+ },
703
+ }, market);
704
+ }
705
+ parseStatus(status) {
706
+ const statuses = {
707
+ 'NEW': 'open',
708
+ 'PARTIALLY_FILLED': 'open',
709
+ 'FILLED': 'closed',
710
+ 'PENDING_CANCEL': 'open',
711
+ 'PARTIALLY_CANCELED': 'open',
712
+ 'CANCELED': 'canceled',
713
+ // FAILED
714
+ };
715
+ return this.safeString(statuses, status, status);
716
+ }
717
+ parseWsOrderTrade(trade, market = undefined) {
718
+ //
719
+ // {
720
+ // "symbol": "BTC_USDT",
721
+ // "type": "LIMIT",
722
+ // "quantity": "1",
723
+ // "orderId": "32471407854219264",
724
+ // "tradeFee": "0",
725
+ // "clientOrderId": "",
726
+ // "accountType": "SPOT",
727
+ // "feeCurrency": "",
728
+ // "eventType": "place",
729
+ // "source": "API",
730
+ // "side": "BUY",
731
+ // "filledQuantity": "0",
732
+ // "filledAmount": "0",
733
+ // "matchRole": "MAKER",
734
+ // "state": "NEW",
735
+ // "tradeTime": 0,
736
+ // "tradeAmount": "0",
737
+ // "orderAmount": "0",
738
+ // "createTime": 1648708186922,
739
+ // "price": "47112.1",
740
+ // "tradeQty": "0",
741
+ // "tradePrice": "0",
742
+ // "tradeId": "0",
743
+ // "ts": 1648708187469
744
+ // }
745
+ //
746
+ const timestamp = this.safeInteger(trade, 'tradeTime');
747
+ const marketId = this.safeString(trade, 'symbol');
748
+ return this.safeTrade({
749
+ 'info': trade,
750
+ 'id': this.safeString(trade, 'tradeId'),
751
+ 'symbol': this.safeSymbol(marketId, market),
752
+ 'timestamp': timestamp,
753
+ 'datetime': this.iso8601(timestamp),
754
+ 'order': this.safeString(trade, 'orderId'),
755
+ 'type': this.safeStringLower(trade, 'type'),
756
+ 'side': this.safeString(trade, 'side'),
757
+ 'takerOrMaker': this.safeStringLower(trade, 'matchRole'),
758
+ 'price': this.safeString(trade, 'price'),
759
+ 'amount': this.safeString(trade, 'tradeAmount'),
760
+ 'cost': undefined,
761
+ 'fee': {
762
+ 'rate': undefined,
763
+ 'cost': this.safeString(trade, 'tradeFee'),
764
+ 'currency': this.safeString(trade, 'feeCurrency'),
765
+ },
766
+ }, market);
767
+ }
768
+ handleOrder(client, message) {
769
+ //
770
+ // Order is created
771
+ //
772
+ // {
773
+ // "channel": "orders",
774
+ // "data": [
775
+ // {
776
+ // "symbol": "BTC_USDT",
777
+ // "type": "LIMIT",
778
+ // "quantity": "1",
779
+ // "orderId": "32471407854219264",
780
+ // "tradeFee": "0",
781
+ // "clientOrderId": "",
782
+ // "accountType": "SPOT",
783
+ // "feeCurrency": "",
784
+ // "eventType": "place",
785
+ // "source": "API",
786
+ // "side": "BUY",
787
+ // "filledQuantity": "0",
788
+ // "filledAmount": "0",
789
+ // "matchRole": "MAKER",
790
+ // "state": "NEW",
791
+ // "tradeTime": 0,
792
+ // "tradeAmount": "0",
793
+ // "orderAmount": "0",
794
+ // "createTime": 1648708186922,
795
+ // "price": "47112.1",
796
+ // "tradeQty": "0",
797
+ // "tradePrice": "0",
798
+ // "tradeId": "0",
799
+ // "ts": 1648708187469
800
+ // }
801
+ // ]
802
+ // }
803
+ //
804
+ const data = this.safeValue(message, 'data', []);
805
+ let orders = this.orders;
806
+ if (orders === undefined) {
807
+ const limit = this.safeInteger(this.options, 'ordersLimit');
808
+ orders = new ArrayCacheBySymbolById(limit);
809
+ this.orders = orders;
810
+ }
811
+ const marketIds = [];
812
+ for (let i = 0; i < data.length; i++) {
813
+ const order = this.safeValue(data, i);
814
+ const marketId = this.safeString(order, 'symbol');
815
+ const eventType = this.safeString(order, 'eventType');
816
+ if (marketId !== undefined) {
817
+ const symbol = this.safeSymbol(marketId);
818
+ const orderId = this.safeString(order, 'orderId');
819
+ const clientOrderId = this.safeString(order, 'clientOrderId');
820
+ if (eventType === 'place' || eventType === 'canceled') {
821
+ const parsed = this.parseWsOrder(order);
822
+ orders.append(parsed);
823
+ }
824
+ else {
825
+ const previousOrders = this.safeValue(orders.hashmap, symbol, {});
826
+ const previousOrder = this.safeValue2(previousOrders, orderId, clientOrderId);
827
+ const trade = this.parseWsTrade(order);
828
+ this.handleMyTrades(client, trade);
829
+ if (previousOrder['trades'] === undefined) {
830
+ previousOrder['trades'] = [];
831
+ }
832
+ previousOrder['trades'].push(trade);
833
+ previousOrder['lastTradeTimestamp'] = trade['timestamp'];
834
+ let totalCost = '0';
835
+ let totalAmount = '0';
836
+ const previousOrderTrades = previousOrder['trades'];
837
+ for (let j = 0; j < previousOrderTrades.length; j++) {
838
+ const previousOrderTrade = previousOrderTrades[j];
839
+ const cost = this.numberToString(previousOrderTrade['cost']);
840
+ const amount = this.numberToString(previousOrderTrade['amount']);
841
+ totalCost = Precise.stringAdd(totalCost, cost);
842
+ totalAmount = Precise.stringAdd(totalAmount, amount);
843
+ }
844
+ if (Precise.stringGt(totalAmount, '0')) {
845
+ previousOrder['average'] = this.parseNumber(Precise.stringDiv(totalCost, totalAmount));
846
+ }
847
+ previousOrder['cost'] = this.parseNumber(totalCost);
848
+ if (previousOrder['filled'] !== undefined) {
849
+ const tradeAmount = this.numberToString(trade['amount']);
850
+ let previousOrderFilled = this.numberToString(previousOrder['filled']);
851
+ previousOrderFilled = Precise.stringAdd(previousOrderFilled, tradeAmount);
852
+ previousOrder['filled'] = previousOrderFilled;
853
+ if (previousOrder['amount'] !== undefined) {
854
+ const previousOrderAmount = this.numberToString(previousOrder['amount']);
855
+ previousOrder['remaining'] = this.parseNumber(Precise.stringSub(previousOrderAmount, previousOrderFilled));
856
+ }
857
+ }
858
+ if (previousOrder['fee'] === undefined) {
859
+ previousOrder['fee'] = {
860
+ 'rate': undefined,
861
+ 'cost': 0,
862
+ 'currency': trade['fee']['currency'],
863
+ };
864
+ }
865
+ if ((previousOrder['fee']['cost'] !== undefined) && (trade['fee']['cost'] !== undefined)) {
866
+ const stringOrderCost = this.numberToString(previousOrder['fee']['cost']);
867
+ const stringTradeCost = this.numberToString(trade['fee']['cost']);
868
+ previousOrder['fee']['cost'] = Precise.stringAdd(stringOrderCost, stringTradeCost);
869
+ }
870
+ const rawState = this.safeString(order, 'state');
871
+ const state = this.parseStatus(rawState);
872
+ previousOrder['status'] = state;
873
+ // update the newUpdates count
874
+ orders.append(previousOrder);
875
+ }
876
+ marketIds.push(marketId);
877
+ }
878
+ }
879
+ for (let i = 0; i < marketIds.length; i++) {
880
+ const marketId = marketIds[i];
881
+ const market = this.market(marketId);
882
+ const symbol = market['symbol'];
883
+ const messageHash = 'orders::' + symbol;
884
+ client.resolve(orders, messageHash);
885
+ }
886
+ client.resolve(orders, 'orders');
887
+ return message;
888
+ }
889
+ parseWsOrder(order, market = undefined) {
890
+ //
891
+ // {
892
+ // "symbol": "BTC_USDT",
893
+ // "type": "LIMIT",
894
+ // "quantity": "1",
895
+ // "orderId": "32471407854219264",
896
+ // "tradeFee": "0",
897
+ // "clientOrderId": "",
898
+ // "accountType": "SPOT",
899
+ // "feeCurrency": "",
900
+ // "eventType": "place",
901
+ // "source": "API",
902
+ // "side": "BUY",
903
+ // "filledQuantity": "0",
904
+ // "filledAmount": "0",
905
+ // "matchRole": "MAKER",
906
+ // "state": "NEW",
907
+ // "tradeTime": 0,
908
+ // "tradeAmount": "0",
909
+ // "orderAmount": "0",
910
+ // "createTime": 1648708186922,
911
+ // "price": "47112.1",
912
+ // "tradeQty": "0",
913
+ // "tradePrice": "0",
914
+ // "tradeId": "0",
915
+ // "ts": 1648708187469
916
+ // }
917
+ //
918
+ const id = this.safeString(order, 'orderId');
919
+ const clientOrderId = this.safeString(order, 'clientOrderId');
920
+ const marketId = this.safeString(order, 'symbol');
921
+ const timestamp = this.safeString(order, 'ts');
922
+ const filledAmount = this.safeString(order, 'filledAmount');
923
+ const status = this.safeString(order, 'state');
924
+ let trades = undefined;
925
+ if (!Precise.stringEq(filledAmount, '0')) {
926
+ trades = [];
927
+ const trade = this.parseWsOrderTrade(order);
928
+ trades.push(trade);
929
+ }
930
+ return this.safeOrder({
931
+ 'info': order,
932
+ 'symbol': this.safeSymbol(marketId, market),
933
+ 'id': id,
934
+ 'clientOrderId': clientOrderId,
935
+ 'timestamp': timestamp,
936
+ 'datetime': this.iso8601(timestamp),
937
+ 'lastTradeTimestamp': undefined,
938
+ 'type': this.safeString(order, 'type'),
939
+ 'timeInForce': undefined,
940
+ 'postOnly': undefined,
941
+ 'side': this.safeString(order, 'side'),
942
+ 'price': this.safeString(order, 'price'),
943
+ 'stopPrice': undefined,
944
+ 'triggerPrice': undefined,
945
+ 'amount': this.safeString(order, 'quantity'),
946
+ 'cost': undefined,
947
+ 'average': undefined,
948
+ 'filled': filledAmount,
949
+ 'remaining': this.safeString(order, 'remaining_size'),
950
+ 'status': this.parseStatus(status),
951
+ 'fee': {
952
+ 'rate': undefined,
953
+ 'cost': this.safeString(order, 'tradeFee'),
954
+ 'currency': this.safeString(order, 'feeCurrency'),
955
+ },
956
+ 'trades': trades,
957
+ });
958
+ }
959
+ handleTicker(client, message) {
960
+ //
961
+ // {
962
+ // "channel": "ticker",
963
+ // "data": [
964
+ // {
965
+ // "symbol": "BTC_USDT",
966
+ // "startTime": 1677280800000,
967
+ // "open": "23154.32",
968
+ // "high": "23212.21",
969
+ // "low": "22761.01",
970
+ // "close": "23148.86",
971
+ // "quantity": "105.179566",
972
+ // "amount": "2423161.17436702",
973
+ // "tradeCount": 17582,
974
+ // "dailyChange": "-0.0002",
975
+ // "markPrice": "23151.09",
976
+ // "closeTime": 1677367197924,
977
+ // "ts": 1677367251090
978
+ // }
979
+ // ]
980
+ // }
981
+ //
982
+ const data = this.safeValue(message, 'data', []);
983
+ const newTickers = {};
984
+ for (let i = 0; i < data.length; i++) {
985
+ const item = data[i];
986
+ const marketId = this.safeString(item, 'symbol');
987
+ if (marketId !== undefined) {
988
+ const ticker = this.parseTicker(item);
989
+ const symbol = ticker['symbol'];
990
+ this.tickers[symbol] = ticker;
991
+ newTickers[symbol] = ticker;
992
+ }
993
+ }
994
+ const messageHashes = this.findMessageHashes(client, 'ticker::');
995
+ for (let i = 0; i < messageHashes.length; i++) {
996
+ const messageHash = messageHashes[i];
997
+ const parts = messageHash.split('::');
998
+ const symbolsString = parts[1];
999
+ const symbols = symbolsString.split(',');
1000
+ const tickers = this.filterByArray(newTickers, 'symbol', symbols);
1001
+ if (!this.isEmpty(tickers)) {
1002
+ client.resolve(tickers, messageHash);
1003
+ }
1004
+ }
1005
+ client.resolve(newTickers, 'ticker');
1006
+ return message;
1007
+ }
1008
+ handleOrderBook(client, message) {
1009
+ //
1010
+ // snapshot
1011
+ //
1012
+ // {
1013
+ // "channel": "book_lv2",
1014
+ // "data": [
1015
+ // {
1016
+ // "symbol": "BTC_USDT",
1017
+ // "createTime": 1677368876253,
1018
+ // "asks": [
1019
+ // ["5.65", "0.02"],
1020
+ // ...
1021
+ // ],
1022
+ // "bids": [
1023
+ // ["6.16", "0.6"],
1024
+ // ...
1025
+ // ],
1026
+ // "lastId": 164148724,
1027
+ // "id": 164148725,
1028
+ // "ts": 1677368876316
1029
+ // }
1030
+ // ],
1031
+ // "action": "snapshot"
1032
+ // }
1033
+ //
1034
+ // update
1035
+ //
1036
+ // {
1037
+ // "channel": "book_lv2",
1038
+ // "data": [
1039
+ // {
1040
+ // "symbol": "BTC_USDT",
1041
+ // "createTime": 1677368876882,
1042
+ // "asks": [
1043
+ // ["6.35", "3"]
1044
+ // ],
1045
+ // "bids": [
1046
+ // ["5.65", "0.02"]
1047
+ // ],
1048
+ // "lastId": 164148725,
1049
+ // "id": 164148726,
1050
+ // "ts": 1677368876890
1051
+ // }
1052
+ // ],
1053
+ // "action": "update"
1054
+ // }
1055
+ //
1056
+ const data = this.safeValue(message, 'data', []);
1057
+ const type = this.safeString(message, 'action');
1058
+ const snapshot = type === 'snapshot';
1059
+ const update = type === 'update';
1060
+ for (let i = 0; i < data.length; i++) {
1061
+ const item = data[i];
1062
+ const marketId = this.safeString(item, 'symbol');
1063
+ const market = this.safeMarket(marketId);
1064
+ const symbol = market['symbol'];
1065
+ const name = 'book_lv2';
1066
+ const messageHash = name + '::' + symbol;
1067
+ const subscription = this.safeValue(client.subscriptions, messageHash, {});
1068
+ const limit = this.safeInteger(subscription, 'limit');
1069
+ const timestamp = this.safeInteger(item, 'ts');
1070
+ const asks = this.safeValue(item, 'asks');
1071
+ const bids = this.safeValue(item, 'bids');
1072
+ if (snapshot || update) {
1073
+ if (snapshot) {
1074
+ this.orderbooks[symbol] = this.orderBook({}, limit);
1075
+ }
1076
+ const orderbook = this.orderbooks[symbol];
1077
+ if (bids !== undefined) {
1078
+ for (let j = 0; j < bids.length; j++) {
1079
+ const bid = this.safeValue(bids, j);
1080
+ const price = this.safeNumber(bid, 0);
1081
+ const amount = this.safeNumber(bid, 1);
1082
+ const bidsSide = orderbook['bids'];
1083
+ bidsSide.store(price, amount);
1084
+ }
1085
+ }
1086
+ if (asks !== undefined) {
1087
+ for (let j = 0; j < asks.length; j++) {
1088
+ const ask = this.safeValue(asks, j);
1089
+ const price = this.safeNumber(ask, 0);
1090
+ const amount = this.safeNumber(ask, 1);
1091
+ const asksSide = orderbook['asks'];
1092
+ asksSide.store(price, amount);
1093
+ }
1094
+ }
1095
+ orderbook['symbol'] = symbol;
1096
+ orderbook['timestamp'] = timestamp;
1097
+ orderbook['datetime'] = this.iso8601(timestamp);
1098
+ client.resolve(orderbook, messageHash);
1099
+ }
1100
+ }
1101
+ }
1102
+ handleBalance(client, message) {
1103
+ //
1104
+ // {
1105
+ // "channel": "balances",
1106
+ // "data": [
1107
+ // {
1108
+ // "changeTime": 1657312008411,
1109
+ // "accountId": "1234",
1110
+ // "accountType": "SPOT",
1111
+ // "eventType": "place_order",
1112
+ // "available": "9999999983.668",
1113
+ // "currency": "BTC",
1114
+ // "id": 60018450912695040,
1115
+ // "userId": 12345,
1116
+ // "hold": "16.332",
1117
+ // "ts": 1657312008443
1118
+ // }
1119
+ // ]
1120
+ // }
1121
+ //
1122
+ const data = this.safeValue(message, 'data', []);
1123
+ const messageHash = 'balances';
1124
+ this.balance = this.parseWsBalance(data);
1125
+ client.resolve(this.balance, messageHash);
1126
+ }
1127
+ parseWsBalance(response) {
1128
+ //
1129
+ // [
1130
+ // {
1131
+ // "changeTime": 1657312008411,
1132
+ // "accountId": "1234",
1133
+ // "accountType": "SPOT",
1134
+ // "eventType": "place_order",
1135
+ // "available": "9999999983.668",
1136
+ // "currency": "BTC",
1137
+ // "id": 60018450912695040,
1138
+ // "userId": 12345,
1139
+ // "hold": "16.332",
1140
+ // "ts": 1657312008443
1141
+ // }
1142
+ // ]
1143
+ //
1144
+ const firstBalance = this.safeValue(response, 0, {});
1145
+ const timestamp = this.safeInteger(firstBalance, 'ts');
1146
+ const result = {
1147
+ 'info': response,
1148
+ 'timestamp': timestamp,
1149
+ 'datetime': this.iso8601(timestamp),
1150
+ };
1151
+ for (let i = 0; i < response.length; i++) {
1152
+ const balance = this.safeValue(response, i);
1153
+ const currencyId = this.safeString(balance, 'currency');
1154
+ const code = this.safeCurrencyCode(currencyId);
1155
+ const newAccount = this.account();
1156
+ newAccount['free'] = this.safeString(balance, 'available');
1157
+ newAccount['used'] = this.safeString(balance, 'hold');
1158
+ result[code] = newAccount;
1159
+ }
1160
+ return this.safeBalance(result);
1161
+ }
1162
+ handleMyTrades(client, parsedTrade) {
1163
+ // emulated using the orders' stream
1164
+ const messageHash = 'myTrades';
1165
+ const symbol = parsedTrade['symbol'];
1166
+ if (this.myTrades === undefined) {
1167
+ const limit = this.safeInteger(this.options, 'tradesLimit', 1000);
1168
+ this.myTrades = new ArrayCacheBySymbolById(limit);
1169
+ }
1170
+ const trades = this.myTrades;
1171
+ trades.append(parsedTrade);
1172
+ client.resolve(trades, messageHash);
1173
+ const symbolMessageHash = messageHash + ':' + symbol;
1174
+ client.resolve(trades, symbolMessageHash);
1175
+ }
1176
+ handlePong(client) {
1177
+ client.lastPong = this.milliseconds();
1178
+ }
1179
+ handleMessage(client, message) {
1180
+ if (this.handleErrorMessage(client, message)) {
1181
+ return;
1182
+ }
1183
+ const type = this.safeString(message, 'channel');
1184
+ const event = this.safeString(message, 'event');
1185
+ if (event === 'pong') {
1186
+ client.lastPong = this.milliseconds();
1187
+ }
1188
+ const methods = {
1189
+ 'candles_minute_1': this.handleOHLCV,
1190
+ 'candles_minute_5': this.handleOHLCV,
1191
+ 'candles_minute_10': this.handleOHLCV,
1192
+ 'candles_minute_15': this.handleOHLCV,
1193
+ 'candles_minute_30': this.handleOHLCV,
1194
+ 'candles_hour_1': this.handleOHLCV,
1195
+ 'candles_hour_2': this.handleOHLCV,
1196
+ 'candles_hour_4': this.handleOHLCV,
1197
+ 'candles_hour_6': this.handleOHLCV,
1198
+ 'candles_hour_12': this.handleOHLCV,
1199
+ 'candles_day_1': this.handleOHLCV,
1200
+ 'candles_day_3': this.handleOHLCV,
1201
+ 'candles_week_1': this.handleOHLCV,
1202
+ 'candles_month_1': this.handleOHLCV,
1203
+ 'book': this.handleOrderBook,
1204
+ 'book_lv2': this.handleOrderBook,
1205
+ 'ticker': this.handleTicker,
1206
+ 'trades': this.handleTrade,
1207
+ 'orders': this.handleOrder,
1208
+ 'balances': this.handleBalance,
1209
+ 'createOrder': this.handleOrderRequest,
1210
+ 'cancelOrder': this.handleOrderRequest,
1211
+ 'cancelAllOrders': this.handleOrderRequest,
1212
+ 'auth': this.handleAuthenticate,
1213
+ };
1214
+ const method = this.safeValue(methods, type);
1215
+ if (type === 'auth') {
1216
+ this.handleAuthenticate(client, message);
1217
+ }
1218
+ else if (type === undefined) {
1219
+ this.handleOrderRequest(client, message);
1220
+ }
1221
+ else {
1222
+ const data = this.safeValue(message, 'data', []);
1223
+ const dataLength = data.length;
1224
+ if (dataLength > 0) {
1225
+ method.call(this, client, message);
1226
+ }
1227
+ }
1228
+ }
1229
+ handleErrorMessage(client, message) {
1230
+ //
1231
+ // {
1232
+ // message: 'Invalid channel value ["ordersss"]',
1233
+ // event: 'error'
1234
+ // }
1235
+ //
1236
+ // {
1237
+ // "orderId": 0,
1238
+ // "clientOrderId": null,
1239
+ // "message": "Currency trade disabled",
1240
+ // "code": 21352
1241
+ // }
1242
+ //
1243
+ // {
1244
+ // "event": "error",
1245
+ // "message": "Platform in maintenance mode"
1246
+ // }
1247
+ // {
1248
+ // "id":"1722386782048",
1249
+ // "data":[
1250
+ // {
1251
+ // "orderId":0,
1252
+ // "clientOrderId":null,
1253
+ // "message":"available insufficient",
1254
+ // "code":21721
1255
+ // }
1256
+ // ]
1257
+ // }
1258
+ //
1259
+ const id = this.safeString(message, 'id');
1260
+ const event = this.safeString(message, 'event');
1261
+ const data = this.safeList(message, 'data');
1262
+ const first = this.safeDict(data, 0);
1263
+ const orderId = this.safeString(first, 'orderId');
1264
+ if ((event === 'error') || (orderId === '0')) {
1265
+ try {
1266
+ const error = this.safeString(first, 'message');
1267
+ const code = this.safeString(first, 'code');
1268
+ const feedback = this.id + ' ' + this.json(message);
1269
+ this.throwExactlyMatchedException(this.exceptions['exact'], code, feedback);
1270
+ this.throwBroadlyMatchedException(this.exceptions['broad'], error, feedback);
1271
+ throw new ExchangeError(feedback);
1272
+ }
1273
+ catch (e) {
1274
+ if (e instanceof AuthenticationError) {
1275
+ const messageHash = 'authenticated';
1276
+ client.reject(e, messageHash);
1277
+ if (messageHash in client.subscriptions) {
1278
+ delete client.subscriptions[messageHash];
1279
+ }
1280
+ }
1281
+ else {
1282
+ client.reject(e, id);
1283
+ }
1284
+ return true;
1285
+ }
1286
+ }
1287
+ return false;
1288
+ }
1289
+ handleAuthenticate(client, message) {
1290
+ //
1291
+ // {
1292
+ // "success": true,
1293
+ // "ret_msg": '',
1294
+ // "op": "auth",
1295
+ // "conn_id": "ce3dpomvha7dha97tvp0-2xh"
1296
+ // }
1297
+ //
1298
+ const data = this.safeValue(message, 'data');
1299
+ const success = this.safeValue(data, 'success');
1300
+ const messageHash = 'authenticated';
1301
+ if (success) {
1302
+ client.resolve(message, messageHash);
1303
+ }
1304
+ else {
1305
+ const error = new AuthenticationError(this.id + ' ' + this.json(message));
1306
+ client.reject(error, messageHash);
1307
+ if (messageHash in client.subscriptions) {
1308
+ delete client.subscriptions[messageHash];
1309
+ }
1310
+ }
1311
+ return message;
1312
+ }
1313
+ ping(client) {
1314
+ return {
1315
+ 'event': 'ping',
1316
+ };
1317
+ }
1318
+ }