ccxt-ir 4.10.0 → 4.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1059) hide show
  1. package/README.md +4 -4
  2. package/dist/ccxt.browser.min.js +2 -2
  3. package/dist/cjs/ccxt.js +10 -1
  4. package/dist/cjs/src/abstract/bidarz.js +11 -0
  5. package/dist/cjs/src/bidarz.js +337 -0
  6. package/dist/cjs/src/bit24.js +4 -3
  7. package/dist/cjs/src/changefa.js +342 -0
  8. package/dist/cjs/src/ourbit.js +445 -0
  9. package/js/ccxt.d.ts +11 -2
  10. package/js/ccxt.js +8 -2
  11. package/js/src/abstract/bidarz.d.ts +9 -0
  12. package/js/src/abstract/bidarz.js +11 -0
  13. package/js/src/abstract/changefa.d.ts +8 -0
  14. package/js/src/abstract/changefa.js +11 -0
  15. package/js/src/abstract/ourbit.d.ts +10 -0
  16. package/js/src/abstract/ourbit.js +11 -0
  17. package/js/src/bidarz.d.ts +22 -0
  18. package/js/src/bidarz.js +336 -0
  19. package/js/src/bit24.js +4 -3
  20. package/js/src/changefa.d.ts +20 -0
  21. package/js/src/changefa.js +341 -0
  22. package/js/src/ourbit.d.ts +21 -0
  23. package/js/src/ourbit.js +444 -0
  24. package/js/src/src/abantether.d.ts +21 -0
  25. package/js/src/src/abantether.js +353 -0
  26. package/js/src/src/abstract/abantether.d.ts +8 -0
  27. package/js/src/src/abstract/abantether.js +11 -0
  28. package/js/src/src/abstract/afratether.d.ts +9 -0
  29. package/js/src/src/abstract/afratether.js +11 -0
  30. package/js/src/src/abstract/alpaca.d.ts +77 -0
  31. package/js/src/src/abstract/alpaca.js +11 -0
  32. package/js/src/src/abstract/apex.d.ts +34 -0
  33. package/js/src/src/abstract/apex.js +11 -0
  34. package/js/src/src/abstract/arzinja.d.ts +8 -0
  35. package/js/src/src/abstract/arzinja.js +11 -0
  36. package/js/src/src/abstract/arzplus.d.ts +11 -0
  37. package/js/src/src/abstract/arzplus.js +11 -0
  38. package/js/src/src/abstract/ascendex.d.ts +80 -0
  39. package/js/src/src/abstract/ascendex.js +11 -0
  40. package/js/src/src/abstract/asretether.d.ts +8 -0
  41. package/js/src/src/abstract/asretether.js +11 -0
  42. package/js/src/src/abstract/bidarz.d.ts +9 -0
  43. package/js/src/src/abstract/bidarz.js +11 -0
  44. package/js/src/src/abstract/bigone.d.ts +48 -0
  45. package/js/src/src/abstract/bigone.js +11 -0
  46. package/js/src/src/abstract/binance.d.ts +773 -0
  47. package/js/src/src/abstract/binance.js +11 -0
  48. package/js/src/src/abstract/bingx.d.ts +165 -0
  49. package/js/src/src/abstract/bingx.js +11 -0
  50. package/js/src/src/abstract/bit24.d.ts +9 -0
  51. package/js/src/src/abstract/bit24.js +11 -0
  52. package/js/src/src/abstract/bit2c.d.ts +30 -0
  53. package/js/src/src/abstract/bit2c.js +11 -0
  54. package/js/src/src/abstract/bitbank.d.ts +35 -0
  55. package/js/src/src/abstract/bitbank.js +11 -0
  56. package/js/src/src/abstract/bitbarg.d.ts +8 -0
  57. package/js/src/src/abstract/bitbarg.js +11 -0
  58. package/js/src/src/abstract/bitbns.d.ts +43 -0
  59. package/js/src/src/abstract/bitbns.js +11 -0
  60. package/js/src/src/abstract/bitfinex.d.ts +143 -0
  61. package/js/src/src/abstract/bitfinex.js +11 -0
  62. package/js/src/src/abstract/bitflyer.d.ts +42 -0
  63. package/js/src/src/abstract/bitflyer.js +11 -0
  64. package/js/src/src/abstract/bitget.d.ts +578 -0
  65. package/js/src/src/abstract/bitget.js +11 -0
  66. package/js/src/src/abstract/bithumb.d.ts +35 -0
  67. package/js/src/src/abstract/bithumb.js +11 -0
  68. package/js/src/src/abstract/bitimen.d.ts +10 -0
  69. package/js/src/src/abstract/bitimen.js +11 -0
  70. package/js/src/src/abstract/bitir.d.ts +10 -0
  71. package/js/src/src/abstract/bitir.js +11 -0
  72. package/js/src/src/abstract/bitmart.d.ts +120 -0
  73. package/js/src/src/abstract/bitmart.js +11 -0
  74. package/js/src/src/abstract/bitmex.d.ts +100 -0
  75. package/js/src/src/abstract/bitmex.js +11 -0
  76. package/js/src/src/abstract/bitopro.d.ts +33 -0
  77. package/js/src/src/abstract/bitopro.js +11 -0
  78. package/js/src/src/abstract/bitpin.d.ts +11 -0
  79. package/js/src/src/abstract/bitpin.js +11 -0
  80. package/js/src/src/abstract/bitrue.d.ts +75 -0
  81. package/js/src/src/abstract/bitrue.js +11 -0
  82. package/js/src/src/abstract/bitso.d.ts +46 -0
  83. package/js/src/src/abstract/bitso.js +11 -0
  84. package/js/src/src/abstract/bitstamp.d.ts +262 -0
  85. package/js/src/src/abstract/bitstamp.js +11 -0
  86. package/js/src/src/abstract/bitteam.d.ts +32 -0
  87. package/js/src/src/abstract/bitteam.js +11 -0
  88. package/js/src/src/abstract/bittrade.d.ts +117 -0
  89. package/js/src/src/abstract/bittrade.js +11 -0
  90. package/js/src/src/abstract/bitunix.d.ts +9 -0
  91. package/js/src/src/abstract/bitunix.js +11 -0
  92. package/js/src/src/abstract/bitvavo.d.ts +30 -0
  93. package/js/src/src/abstract/bitvavo.js +11 -0
  94. package/js/src/src/abstract/blockchaincom.d.ts +31 -0
  95. package/js/src/src/abstract/blockchaincom.js +11 -0
  96. package/js/src/src/abstract/blofin.d.ts +70 -0
  97. package/js/src/src/abstract/blofin.js +11 -0
  98. package/js/src/src/abstract/btcalpha.d.ts +21 -0
  99. package/js/src/src/abstract/btcalpha.js +11 -0
  100. package/js/src/src/abstract/btcbox.d.ts +18 -0
  101. package/js/src/src/abstract/btcbox.js +11 -0
  102. package/js/src/src/abstract/btcmarkets.d.ts +42 -0
  103. package/js/src/src/abstract/btcmarkets.js +11 -0
  104. package/js/src/src/abstract/btcturk.d.ts +23 -0
  105. package/js/src/src/abstract/btcturk.js +11 -0
  106. package/js/src/src/abstract/bybit.d.ts +316 -0
  107. package/js/src/src/abstract/bybit.js +11 -0
  108. package/js/src/src/abstract/bydfi.d.ts +11 -0
  109. package/js/src/src/abstract/bydfi.js +11 -0
  110. package/js/src/src/abstract/cafearz.d.ts +8 -0
  111. package/js/src/src/abstract/cafearz.js +11 -0
  112. package/js/src/src/abstract/cex.d.ts +35 -0
  113. package/js/src/src/abstract/cex.js +11 -0
  114. package/js/src/src/abstract/coinbase.d.ts +97 -0
  115. package/js/src/src/abstract/coinbase.js +11 -0
  116. package/js/src/src/abstract/coinbaseexchange.d.ts +71 -0
  117. package/js/src/src/abstract/coinbaseexchange.js +11 -0
  118. package/js/src/src/abstract/coinbaseinternational.d.ts +42 -0
  119. package/js/src/src/abstract/coinbaseinternational.js +11 -0
  120. package/js/src/src/abstract/coincatch.d.ts +97 -0
  121. package/js/src/src/abstract/coincatch.js +11 -0
  122. package/js/src/src/abstract/coincheck.d.ts +36 -0
  123. package/js/src/src/abstract/coincheck.js +11 -0
  124. package/js/src/src/abstract/coinex.d.ts +240 -0
  125. package/js/src/src/abstract/coinex.js +11 -0
  126. package/js/src/src/abstract/coinmate.d.ts +65 -0
  127. package/js/src/src/abstract/coinmate.js +11 -0
  128. package/js/src/src/abstract/coinmetro.d.ts +37 -0
  129. package/js/src/src/abstract/coinmetro.js +11 -0
  130. package/js/src/src/abstract/coinone.d.ts +70 -0
  131. package/js/src/src/abstract/coinone.js +11 -0
  132. package/js/src/src/abstract/coinsph.d.ts +57 -0
  133. package/js/src/src/abstract/coinsph.js +11 -0
  134. package/js/src/src/abstract/coinspot.d.ts +31 -0
  135. package/js/src/src/abstract/coinspot.js +11 -0
  136. package/js/src/src/abstract/cryptocom.d.ts +126 -0
  137. package/js/src/src/abstract/cryptocom.js +11 -0
  138. package/js/src/src/abstract/cryptomus.d.ts +23 -0
  139. package/js/src/src/abstract/cryptomus.js +11 -0
  140. package/js/src/src/abstract/defx.d.ts +72 -0
  141. package/js/src/src/abstract/defx.js +11 -0
  142. package/js/src/src/abstract/delta.d.ts +53 -0
  143. package/js/src/src/abstract/delta.js +11 -0
  144. package/js/src/src/abstract/deribit.d.ts +129 -0
  145. package/js/src/src/abstract/deribit.js +11 -0
  146. package/js/src/src/abstract/derive.d.ts +120 -0
  147. package/js/src/src/abstract/derive.js +11 -0
  148. package/js/src/src/abstract/digifinex.d.ts +95 -0
  149. package/js/src/src/abstract/digifinex.js +11 -0
  150. package/js/src/src/abstract/ellipx.d.ts +28 -0
  151. package/js/src/src/abstract/ellipx.js +11 -0
  152. package/js/src/src/abstract/eterex.d.ts +8 -0
  153. package/js/src/src/abstract/eterex.js +11 -0
  154. package/js/src/src/abstract/excoino.d.ts +10 -0
  155. package/js/src/src/abstract/excoino.js +11 -0
  156. package/js/src/src/abstract/exir.d.ts +11 -0
  157. package/js/src/src/abstract/exir.js +11 -0
  158. package/js/src/src/abstract/exmo.d.ts +58 -0
  159. package/js/src/src/abstract/exmo.js +11 -0
  160. package/js/src/src/abstract/exnovin.d.ts +9 -0
  161. package/js/src/src/abstract/exnovin.js +11 -0
  162. package/js/src/src/abstract/farhadexchange.d.ts +8 -0
  163. package/js/src/src/abstract/farhadexchange.js +11 -0
  164. package/js/src/src/abstract/foxbit.d.ts +29 -0
  165. package/js/src/src/abstract/foxbit.js +11 -0
  166. package/js/src/src/abstract/gate.d.ts +287 -0
  167. package/js/src/src/abstract/gate.js +11 -0
  168. package/js/src/src/abstract/gemini.d.ts +62 -0
  169. package/js/src/src/abstract/gemini.js +11 -0
  170. package/js/src/src/abstract/hamtapay.d.ts +9 -0
  171. package/js/src/src/abstract/hamtapay.js +11 -0
  172. package/js/src/src/abstract/hashkey.d.ts +70 -0
  173. package/js/src/src/abstract/hashkey.js +11 -0
  174. package/js/src/src/abstract/hibachi.d.ts +29 -0
  175. package/js/src/src/abstract/hibachi.js +11 -0
  176. package/js/src/src/abstract/hitbtc.d.ts +118 -0
  177. package/js/src/src/abstract/hitbtc.js +11 -0
  178. package/js/src/src/abstract/hitobit.d.ts +11 -0
  179. package/js/src/src/abstract/hitobit.js +11 -0
  180. package/js/src/src/abstract/hollaex.d.ts +36 -0
  181. package/js/src/src/abstract/hollaex.js +11 -0
  182. package/js/src/src/abstract/htx.d.ts +551 -0
  183. package/js/src/src/abstract/htx.js +11 -0
  184. package/js/src/src/abstract/hyperliquid.d.ts +9 -0
  185. package/js/src/src/abstract/hyperliquid.js +11 -0
  186. package/js/src/src/abstract/independentreserve.d.ts +46 -0
  187. package/js/src/src/abstract/independentreserve.js +11 -0
  188. package/js/src/src/abstract/indodax.d.ts +29 -0
  189. package/js/src/src/abstract/indodax.js +11 -0
  190. package/js/src/src/abstract/iranexchange.d.ts +9 -0
  191. package/js/src/src/abstract/iranexchange.js +11 -0
  192. package/js/src/src/abstract/jibitex.d.ts +10 -0
  193. package/js/src/src/abstract/jibitex.js +11 -0
  194. package/js/src/src/abstract/kcex.d.ts +10 -0
  195. package/js/src/src/abstract/kcex.js +11 -0
  196. package/js/src/src/abstract/kifpoolme.d.ts +9 -0
  197. package/js/src/src/abstract/kifpoolme.js +11 -0
  198. package/js/src/src/abstract/kraken.d.ts +61 -0
  199. package/js/src/src/abstract/kraken.js +11 -0
  200. package/js/src/src/abstract/krakenfutures.d.ts +45 -0
  201. package/js/src/src/abstract/krakenfutures.js +11 -0
  202. package/js/src/src/abstract/kucoin.d.ts +227 -0
  203. package/js/src/src/abstract/kucoin.js +11 -0
  204. package/js/src/src/abstract/kucoinfutures.d.ts +254 -0
  205. package/js/src/src/abstract/kucoinfutures.js +11 -0
  206. package/js/src/src/abstract/latoken.d.ts +59 -0
  207. package/js/src/src/abstract/latoken.js +11 -0
  208. package/js/src/src/abstract/lbank.d.ts +65 -0
  209. package/js/src/src/abstract/lbank.js +11 -0
  210. package/js/src/src/abstract/luno.d.ts +41 -0
  211. package/js/src/src/abstract/luno.js +11 -0
  212. package/js/src/src/abstract/mazdax.d.ts +11 -0
  213. package/js/src/src/abstract/mazdax.js +11 -0
  214. package/js/src/src/abstract/mercado.d.ts +28 -0
  215. package/js/src/src/abstract/mercado.js +11 -0
  216. package/js/src/src/abstract/mexc.d.ts +183 -0
  217. package/js/src/src/abstract/mexc.js +11 -0
  218. package/js/src/src/abstract/modetrade.d.ts +122 -0
  219. package/js/src/src/abstract/modetrade.js +11 -0
  220. package/js/src/src/abstract/ndax.d.ts +100 -0
  221. package/js/src/src/abstract/ndax.js +11 -0
  222. package/js/src/src/abstract/nobitex.d.ts +10 -0
  223. package/js/src/src/abstract/nobitex.js +11 -0
  224. package/js/src/src/abstract/novadax.d.ts +32 -0
  225. package/js/src/src/abstract/novadax.js +11 -0
  226. package/js/src/src/abstract/oceanex.d.ts +30 -0
  227. package/js/src/src/abstract/oceanex.js +11 -0
  228. package/js/src/src/abstract/okcoin.d.ts +77 -0
  229. package/js/src/src/abstract/okcoin.js +11 -0
  230. package/js/src/src/abstract/okexchange.d.ts +11 -0
  231. package/js/src/src/abstract/okexchange.js +11 -0
  232. package/js/src/src/abstract/okx.d.ts +352 -0
  233. package/js/src/src/abstract/okx.js +11 -0
  234. package/js/src/src/abstract/ompfinex.d.ts +10 -0
  235. package/js/src/src/abstract/ompfinex.js +11 -0
  236. package/js/src/src/abstract/onetrading.d.ts +26 -0
  237. package/js/src/src/abstract/onetrading.js +11 -0
  238. package/js/src/src/abstract/oxfun.d.ts +37 -0
  239. package/js/src/src/abstract/oxfun.js +11 -0
  240. package/js/src/src/abstract/p2b.d.ts +25 -0
  241. package/js/src/src/abstract/p2b.js +11 -0
  242. package/js/src/src/abstract/paradex.d.ts +66 -0
  243. package/js/src/src/abstract/paradex.js +11 -0
  244. package/js/src/src/abstract/paymium.d.ts +31 -0
  245. package/js/src/src/abstract/paymium.js +11 -0
  246. package/js/src/src/abstract/phemex.d.ts +120 -0
  247. package/js/src/src/abstract/phemex.js +11 -0
  248. package/js/src/src/abstract/pingi.d.ts +9 -0
  249. package/js/src/src/abstract/pingi.js +11 -0
  250. package/js/src/src/abstract/poloniex.d.ts +108 -0
  251. package/js/src/src/abstract/poloniex.js +11 -0
  252. package/js/src/src/abstract/pooleno.d.ts +8 -0
  253. package/js/src/src/abstract/pooleno.js +11 -0
  254. package/js/src/src/abstract/probit.d.ts +26 -0
  255. package/js/src/src/abstract/probit.js +11 -0
  256. package/js/src/src/abstract/raastin.d.ts +11 -0
  257. package/js/src/src/abstract/raastin.js +11 -0
  258. package/js/src/src/abstract/ramzinex.d.ts +10 -0
  259. package/js/src/src/abstract/ramzinex.js +11 -0
  260. package/js/src/src/abstract/sarmayex.d.ts +8 -0
  261. package/js/src/src/abstract/sarmayex.js +11 -0
  262. package/js/src/src/abstract/sarrafex.d.ts +10 -0
  263. package/js/src/src/abstract/sarrafex.js +11 -0
  264. package/js/src/src/abstract/tabdeal.d.ts +10 -0
  265. package/js/src/src/abstract/tabdeal.js +11 -0
  266. package/js/src/src/abstract/tehran_exchange.d.ts +9 -0
  267. package/js/src/src/abstract/tehran_exchange.js +11 -0
  268. package/js/src/src/abstract/tetherland.d.ts +8 -0
  269. package/js/src/src/abstract/tetherland.js +11 -0
  270. package/js/src/src/abstract/timex.d.ts +65 -0
  271. package/js/src/src/abstract/timex.js +11 -0
  272. package/js/src/src/abstract/tokocrypto.d.ts +40 -0
  273. package/js/src/src/abstract/tokocrypto.js +11 -0
  274. package/js/src/src/abstract/toobit.d.ts +10 -0
  275. package/js/src/src/abstract/toobit.js +11 -0
  276. package/js/src/src/abstract/tradeogre.d.ts +21 -0
  277. package/js/src/src/abstract/tradeogre.js +11 -0
  278. package/js/src/src/abstract/twox.d.ts +8 -0
  279. package/js/src/src/abstract/twox.js +11 -0
  280. package/js/src/src/abstract/ubitex.d.ts +10 -0
  281. package/js/src/src/abstract/ubitex.js +11 -0
  282. package/js/src/src/abstract/upbit.d.ts +58 -0
  283. package/js/src/src/abstract/upbit.js +11 -0
  284. package/js/src/src/abstract/vertex.d.ts +22 -0
  285. package/js/src/src/abstract/vertex.js +11 -0
  286. package/js/src/src/abstract/wallex.d.ts +11 -0
  287. package/js/src/src/abstract/wallex.js +11 -0
  288. package/js/src/src/abstract/wavesexchange.d.ts +157 -0
  289. package/js/src/src/abstract/wavesexchange.js +11 -0
  290. package/js/src/src/abstract/whitebit.d.ts +117 -0
  291. package/js/src/src/abstract/whitebit.js +11 -0
  292. package/js/src/src/abstract/woo.d.ts +144 -0
  293. package/js/src/src/abstract/woo.js +11 -0
  294. package/js/src/src/abstract/woofipro.d.ts +122 -0
  295. package/js/src/src/abstract/woofipro.js +11 -0
  296. package/js/src/src/abstract/xt.d.ts +160 -0
  297. package/js/src/src/abstract/xt.js +11 -0
  298. package/js/src/src/abstract/yobit.d.ts +19 -0
  299. package/js/src/src/abstract/yobit.js +11 -0
  300. package/js/src/src/abstract/zaif.d.ts +41 -0
  301. package/js/src/src/abstract/zaif.js +11 -0
  302. package/js/src/src/abstract/zonda.d.ts +56 -0
  303. package/js/src/src/abstract/zonda.js +11 -0
  304. package/js/src/src/afratether.d.ts +21 -0
  305. package/js/src/src/afratether.js +356 -0
  306. package/js/src/src/alpaca.d.ts +332 -0
  307. package/js/src/src/alpaca.js +1908 -0
  308. package/js/src/src/apex.d.ts +333 -0
  309. package/js/src/src/apex.js +1942 -0
  310. package/js/src/src/arzinja.d.ts +21 -0
  311. package/js/src/src/arzinja.js +298 -0
  312. package/js/src/src/arzplus.d.ts +26 -0
  313. package/js/src/src/arzplus.js +581 -0
  314. package/js/src/src/ascendex.d.ts +424 -0
  315. package/js/src/src/ascendex.js +3699 -0
  316. package/js/src/src/asretether.d.ts +21 -0
  317. package/js/src/src/asretether.js +324 -0
  318. package/js/src/src/base/Exchange.d.ts +926 -0
  319. package/js/src/src/base/Exchange.js +7399 -0
  320. package/js/src/src/base/Precise.d.ts +42 -0
  321. package/js/src/src/base/Precise.js +275 -0
  322. package/js/src/src/base/errors.d.ts +168 -0
  323. package/js/src/src/base/errors.js +255 -0
  324. package/js/src/src/base/functions/crypto.d.ts +16 -0
  325. package/js/src/src/base/functions/crypto.js +131 -0
  326. package/js/src/src/base/functions/encode.d.ts +4 -0
  327. package/js/src/src/base/functions/encode.js +32 -0
  328. package/js/src/src/base/functions/generic.d.ts +29 -0
  329. package/js/src/src/base/functions/generic.js +203 -0
  330. package/js/src/src/base/functions/misc.d.ts +9 -0
  331. package/js/src/src/base/functions/misc.js +101 -0
  332. package/js/src/src/base/functions/number.d.ts +27 -0
  333. package/js/src/src/base/functions/number.js +313 -0
  334. package/js/src/src/base/functions/platform.d.ts +7 -0
  335. package/js/src/src/base/functions/platform.js +27 -0
  336. package/js/src/src/base/functions/rsa.d.ts +5 -0
  337. package/js/src/src/base/functions/rsa.js +49 -0
  338. package/js/src/src/base/functions/string.d.ts +7 -0
  339. package/js/src/src/base/functions/string.js +44 -0
  340. package/js/src/src/base/functions/throttle.d.ts +6 -0
  341. package/js/src/src/base/functions/throttle.js +67 -0
  342. package/js/src/src/base/functions/time.d.ts +21 -0
  343. package/js/src/src/base/functions/time.js +171 -0
  344. package/js/src/src/base/functions/totp.d.ts +3 -0
  345. package/js/src/src/base/functions/totp.js +25 -0
  346. package/js/src/src/base/functions/type.d.ts +37 -0
  347. package/js/src/src/base/functions/type.js +179 -0
  348. package/js/src/src/base/functions.d.ts +10 -0
  349. package/js/src/src/base/functions.js +18 -0
  350. package/js/src/src/base/types.d.ts +586 -0
  351. package/js/src/src/base/types.js +7 -0
  352. package/js/src/src/base/ws/Cache.d.ts +27 -0
  353. package/js/src/src/base/ws/Cache.js +260 -0
  354. package/js/src/src/base/ws/Client.d.ts +53 -0
  355. package/js/src/src/base/ws/Client.js +307 -0
  356. package/js/src/src/base/ws/Future.d.ts +8 -0
  357. package/js/src/src/base/ws/Future.js +35 -0
  358. package/js/src/src/base/ws/OrderBook.d.ts +25 -0
  359. package/js/src/src/base/ws/OrderBook.js +130 -0
  360. package/js/src/src/base/ws/OrderBookSide.d.ts +40 -0
  361. package/js/src/src/base/ws/OrderBookSide.js +286 -0
  362. package/js/src/src/base/ws/WsClient.d.ts +11 -0
  363. package/js/src/src/base/ws/WsClient.js +69 -0
  364. package/js/src/src/bequant.d.ts +4 -0
  365. package/js/src/src/bequant.js +35 -0
  366. package/js/src/src/bidarz.d.ts +16 -0
  367. package/js/src/src/bidarz.js +327 -0
  368. package/js/src/src/bigone.d.ts +296 -0
  369. package/js/src/src/bigone.js +2340 -0
  370. package/js/src/src/binance.d.ts +1667 -0
  371. package/js/src/src/binance.js +14400 -0
  372. package/js/src/src/binancecoinm.d.ts +6 -0
  373. package/js/src/src/binancecoinm.js +51 -0
  374. package/js/src/src/binanceus.d.ts +4 -0
  375. package/js/src/src/binanceus.js +225 -0
  376. package/js/src/src/binanceusdm.d.ts +6 -0
  377. package/js/src/src/binanceusdm.js +63 -0
  378. package/js/src/src/bingx.d.ts +778 -0
  379. package/js/src/src/bingx.js +6705 -0
  380. package/js/src/src/bit24.d.ts +24 -0
  381. package/js/src/src/bit24.js +520 -0
  382. package/js/src/src/bit2c.d.ts +146 -0
  383. package/js/src/src/bit2c.js +1029 -0
  384. package/js/src/src/bitbank.d.ts +181 -0
  385. package/js/src/src/bitbank.js +1146 -0
  386. package/js/src/src/bitbarg.d.ts +21 -0
  387. package/js/src/src/bitbarg.js +312 -0
  388. package/js/src/src/bitbns.d.ts +184 -0
  389. package/js/src/src/bitbns.js +1288 -0
  390. package/js/src/src/bitfinex.d.ts +516 -0
  391. package/js/src/src/bitfinex.js +3951 -0
  392. package/js/src/src/bitflyer.d.ts +229 -0
  393. package/js/src/src/bitflyer.js +1209 -0
  394. package/js/src/src/bitget.d.ts +1109 -0
  395. package/js/src/src/bitget.js +11033 -0
  396. package/js/src/src/bithumb.d.ts +165 -0
  397. package/js/src/src/bithumb.js +1257 -0
  398. package/js/src/src/bitimen.d.ts +23 -0
  399. package/js/src/src/bitimen.js +424 -0
  400. package/js/src/src/bitir.d.ts +23 -0
  401. package/js/src/src/bitir.js +521 -0
  402. package/js/src/src/bitmart.d.ts +736 -0
  403. package/js/src/src/bitmart.js +5639 -0
  404. package/js/src/src/bitmex.d.ts +395 -0
  405. package/js/src/src/bitmex.js +3088 -0
  406. package/js/src/src/bitopro.d.ts +295 -0
  407. package/js/src/src/bitopro.js +1892 -0
  408. package/js/src/src/bitpin.d.ts +23 -0
  409. package/js/src/src/bitpin.js +487 -0
  410. package/js/src/src/bitrue.d.ts +384 -0
  411. package/js/src/src/bitrue.js +3382 -0
  412. package/js/src/src/bitso.d.ts +270 -0
  413. package/js/src/src/bitso.js +1881 -0
  414. package/js/src/src/bitstamp.d.ts +355 -0
  415. package/js/src/src/bitstamp.js +2445 -0
  416. package/js/src/src/bitteam.d.ts +229 -0
  417. package/js/src/src/bitteam.js +2420 -0
  418. package/js/src/src/bittrade.d.ts +298 -0
  419. package/js/src/src/bittrade.js +2050 -0
  420. package/js/src/src/bitunix.d.ts +21 -0
  421. package/js/src/src/bitunix.js +326 -0
  422. package/js/src/src/bitvavo.d.ts +311 -0
  423. package/js/src/src/bitvavo.js +2204 -0
  424. package/js/src/src/blockchaincom.d.ts +256 -0
  425. package/js/src/src/blockchaincom.js +1259 -0
  426. package/js/src/src/blofin.d.ts +439 -0
  427. package/js/src/src/blofin.js +2576 -0
  428. package/js/src/src/btcalpha.d.ts +209 -0
  429. package/js/src/src/btcalpha.js +1056 -0
  430. package/js/src/src/btcbox.d.ts +144 -0
  431. package/js/src/src/btcbox.js +834 -0
  432. package/js/src/src/btcmarkets.d.ts +253 -0
  433. package/js/src/src/btcmarkets.js +1418 -0
  434. package/js/src/src/btcturk.d.ts +161 -0
  435. package/js/src/src/btcturk.js +1058 -0
  436. package/js/src/src/bybit.d.ts +1097 -0
  437. package/js/src/src/bybit.js +9382 -0
  438. package/js/src/src/bydfi.d.ts +23 -0
  439. package/js/src/src/bydfi.js +434 -0
  440. package/js/src/src/cafearz.d.ts +21 -0
  441. package/js/src/src/cafearz.js +346 -0
  442. package/js/src/src/cex.d.ts +286 -0
  443. package/js/src/src/cex.js +1799 -0
  444. package/js/src/src/coinbase.d.ts +623 -0
  445. package/js/src/src/coinbase.js +5220 -0
  446. package/js/src/src/coinbaseadvanced.d.ts +4 -0
  447. package/js/src/src/coinbaseadvanced.js +18 -0
  448. package/js/src/src/coinbaseexchange.d.ts +334 -0
  449. package/js/src/src/coinbaseexchange.js +2127 -0
  450. package/js/src/src/coinbaseinternational.d.ts +443 -0
  451. package/js/src/src/coinbaseinternational.js +2336 -0
  452. package/js/src/src/coincatch.d.ts +786 -0
  453. package/js/src/src/coincatch.js +5492 -0
  454. package/js/src/src/coincheck.d.ts +147 -0
  455. package/js/src/src/coincheck.js +962 -0
  456. package/js/src/src/coinex.d.ts +719 -0
  457. package/js/src/src/coinex.js +6166 -0
  458. package/js/src/src/coinmate.d.ts +202 -0
  459. package/js/src/src/coinmate.js +1215 -0
  460. package/js/src/src/coinmetro.d.ts +244 -0
  461. package/js/src/src/coinmetro.js +2024 -0
  462. package/js/src/src/coinone.d.ts +158 -0
  463. package/js/src/src/coinone.js +1278 -0
  464. package/js/src/src/coinsph.d.ts +310 -0
  465. package/js/src/src/coinsph.js +2203 -0
  466. package/js/src/src/coinspot.d.ts +108 -0
  467. package/js/src/src/coinspot.js +653 -0
  468. package/js/src/src/cryptocom.d.ts +463 -0
  469. package/js/src/src/cryptocom.js +3549 -0
  470. package/js/src/src/cryptomus.d.ts +158 -0
  471. package/js/src/src/cryptomus.js +1169 -0
  472. package/js/src/src/defx.d.ts +348 -0
  473. package/js/src/src/defx.js +2139 -0
  474. package/js/src/src/delta.d.ts +407 -0
  475. package/js/src/src/delta.js +3654 -0
  476. package/js/src/src/deribit.d.ts +516 -0
  477. package/js/src/src/deribit.js +3790 -0
  478. package/js/src/src/derive.d.ts +324 -0
  479. package/js/src/src/derive.js +2655 -0
  480. package/js/src/src/digifinex.d.ts +544 -0
  481. package/js/src/src/digifinex.js +4453 -0
  482. package/js/src/src/ellipx.d.ts +237 -0
  483. package/js/src/src/ellipx.js +2071 -0
  484. package/js/src/src/eterex.d.ts +21 -0
  485. package/js/src/src/eterex.js +299 -0
  486. package/js/src/src/excoino.d.ts +23 -0
  487. package/js/src/src/excoino.js +426 -0
  488. package/js/src/src/exir.d.ts +23 -0
  489. package/js/src/src/exir.js +403 -0
  490. package/js/src/src/exmo.d.ts +426 -0
  491. package/js/src/src/exmo.js +2825 -0
  492. package/js/src/src/exnovin.d.ts +22 -0
  493. package/js/src/src/exnovin.js +378 -0
  494. package/js/src/src/farhadexchange.d.ts +21 -0
  495. package/js/src/src/farhadexchange.js +280 -0
  496. package/js/src/src/fmfwio.d.ts +4 -0
  497. package/js/src/src/fmfwio.js +35 -0
  498. package/js/src/src/foxbit.d.ts +352 -0
  499. package/js/src/src/foxbit.js +2016 -0
  500. package/js/src/src/gate.d.ts +1071 -0
  501. package/js/src/src/gate.js +8282 -0
  502. package/js/src/src/gateio.d.ts +4 -0
  503. package/js/src/src/gateio.js +17 -0
  504. package/js/src/src/gemini.d.ts +257 -0
  505. package/js/src/src/gemini.js +2006 -0
  506. package/js/src/src/hamtapay.d.ts +21 -0
  507. package/js/src/src/hamtapay.js +303 -0
  508. package/js/src/src/hashkey.d.ts +628 -0
  509. package/js/src/src/hashkey.js +4363 -0
  510. package/js/src/src/hibachi.d.ts +346 -0
  511. package/js/src/src/hibachi.js +2137 -0
  512. package/js/src/src/hitbtc.d.ts +558 -0
  513. package/js/src/src/hitbtc.js +3847 -0
  514. package/js/src/src/hitobit.d.ts +23 -0
  515. package/js/src/src/hitobit.js +412 -0
  516. package/js/src/src/hollaex.d.ts +305 -0
  517. package/js/src/src/hollaex.js +2046 -0
  518. package/js/src/src/htx.d.ts +961 -0
  519. package/js/src/src/htx.js +9668 -0
  520. package/js/src/src/huobi.d.ts +4 -0
  521. package/js/src/src/huobi.js +17 -0
  522. package/js/src/src/hyperliquid.d.ts +651 -0
  523. package/js/src/src/hyperliquid.js +3937 -0
  524. package/js/src/src/independentreserve.d.ts +169 -0
  525. package/js/src/src/independentreserve.js +1115 -0
  526. package/js/src/src/indodax.d.ts +217 -0
  527. package/js/src/src/indodax.js +1454 -0
  528. package/js/src/src/iranexchange.d.ts +21 -0
  529. package/js/src/src/iranexchange.js +399 -0
  530. package/js/src/src/jibitex.d.ts +23 -0
  531. package/js/src/src/jibitex.js +416 -0
  532. package/js/src/src/kcex.d.ts +21 -0
  533. package/js/src/src/kcex.js +335 -0
  534. package/js/src/src/kifpoolme.d.ts +23 -0
  535. package/js/src/src/kifpoolme.js +410 -0
  536. package/js/src/src/kraken.d.ts +484 -0
  537. package/js/src/src/kraken.js +3518 -0
  538. package/js/src/src/krakenfutures.d.ts +362 -0
  539. package/js/src/src/krakenfutures.js +2885 -0
  540. package/js/src/src/kucoin.d.ts +759 -0
  541. package/js/src/src/kucoin.js +5153 -0
  542. package/js/src/src/kucoinfutures.d.ts +521 -0
  543. package/js/src/src/kucoinfutures.js +3381 -0
  544. package/js/src/src/latoken.d.ts +274 -0
  545. package/js/src/src/latoken.js +1824 -0
  546. package/js/src/src/lbank.d.ts +350 -0
  547. package/js/src/src/lbank.js +3146 -0
  548. package/js/src/src/luno.d.ts +252 -0
  549. package/js/src/src/luno.js +1479 -0
  550. package/js/src/src/mazdax.d.ts +23 -0
  551. package/js/src/src/mazdax.js +534 -0
  552. package/js/src/src/mercado.d.ts +160 -0
  553. package/js/src/src/mercado.js +1011 -0
  554. package/js/src/src/mexc.d.ts +768 -0
  555. package/js/src/src/mexc.js +6102 -0
  556. package/js/src/src/modetrade.d.ts +496 -0
  557. package/js/src/src/modetrade.js +2936 -0
  558. package/js/src/src/myokx.d.ts +4 -0
  559. package/js/src/src/myokx.js +54 -0
  560. package/js/src/src/ndax.d.ts +285 -0
  561. package/js/src/src/ndax.js +2598 -0
  562. package/js/src/src/nobitex.d.ts +23 -0
  563. package/js/src/src/nobitex.js +454 -0
  564. package/js/src/src/novadax.d.ts +279 -0
  565. package/js/src/src/novadax.js +1676 -0
  566. package/js/src/src/oceanex.d.ts +231 -0
  567. package/js/src/src/oceanex.js +1123 -0
  568. package/js/src/src/okcoin.d.ts +346 -0
  569. package/js/src/src/okcoin.js +3211 -0
  570. package/js/src/src/okexchange.d.ts +23 -0
  571. package/js/src/src/okexchange.js +373 -0
  572. package/js/src/src/okx.d.ts +1125 -0
  573. package/js/src/src/okx.js +9009 -0
  574. package/js/src/src/okxus.d.ts +4 -0
  575. package/js/src/src/okxus.js +54 -0
  576. package/js/src/src/ompfinex.d.ts +23 -0
  577. package/js/src/src/ompfinex.js +510 -0
  578. package/js/src/src/onetrading.d.ts +228 -0
  579. package/js/src/src/onetrading.js +1769 -0
  580. package/js/src/src/oxfun.d.ts +442 -0
  581. package/js/src/src/oxfun.js +2920 -0
  582. package/js/src/src/p2b.d.ts +189 -0
  583. package/js/src/src/p2b.js +1344 -0
  584. package/js/src/src/paradex.d.ts +389 -0
  585. package/js/src/src/paradex.js +2607 -0
  586. package/js/src/src/paymium.d.ts +133 -0
  587. package/js/src/src/paymium.js +644 -0
  588. package/js/src/src/phemex.d.ts +497 -0
  589. package/js/src/src/phemex.js +5333 -0
  590. package/js/src/src/pingi.d.ts +22 -0
  591. package/js/src/src/pingi.js +446 -0
  592. package/js/src/src/poloniex.d.ts +441 -0
  593. package/js/src/src/poloniex.js +3681 -0
  594. package/js/src/src/pooleno.d.ts +21 -0
  595. package/js/src/src/pooleno.js +347 -0
  596. package/js/src/src/pro/alpaca.d.ts +95 -0
  597. package/js/src/src/pro/alpaca.js +724 -0
  598. package/js/src/src/pro/apex.d.ts +160 -0
  599. package/js/src/src/pro/apex.js +1044 -0
  600. package/js/src/src/pro/ascendex.d.ts +99 -0
  601. package/js/src/src/pro/ascendex.js +1012 -0
  602. package/js/src/src/pro/bequant.d.ts +4 -0
  603. package/js/src/src/pro/bequant.js +42 -0
  604. package/js/src/src/pro/binance.d.ts +796 -0
  605. package/js/src/src/pro/binance.js +4373 -0
  606. package/js/src/src/pro/binancecoinm.d.ts +4 -0
  607. package/js/src/src/pro/binancecoinm.js +32 -0
  608. package/js/src/src/pro/binanceus.d.ts +4 -0
  609. package/js/src/src/pro/binanceus.js +52 -0
  610. package/js/src/src/pro/binanceusdm.d.ts +4 -0
  611. package/js/src/src/pro/binanceusdm.js +37 -0
  612. package/js/src/src/pro/bingx.d.ts +151 -0
  613. package/js/src/src/pro/bingx.js +1568 -0
  614. package/js/src/src/pro/bitfinex.d.ts +99 -0
  615. package/js/src/src/pro/bitfinex.js +1165 -0
  616. package/js/src/src/pro/bitget.d.ts +257 -0
  617. package/js/src/src/pro/bitget.js +2327 -0
  618. package/js/src/src/pro/bithumb.d.ts +59 -0
  619. package/js/src/src/pro/bithumb.js +395 -0
  620. package/js/src/src/pro/bitmart.d.ts +168 -0
  621. package/js/src/src/pro/bitmart.js +1686 -0
  622. package/js/src/src/pro/bitmex.d.ts +170 -0
  623. package/js/src/src/pro/bitmex.js +1760 -0
  624. package/js/src/src/pro/bitopro.d.ts +69 -0
  625. package/js/src/src/pro/bitopro.js +477 -0
  626. package/js/src/src/pro/bitrue.d.ts +40 -0
  627. package/js/src/src/pro/bitrue.js +461 -0
  628. package/js/src/src/pro/bitstamp.d.ts +53 -0
  629. package/js/src/src/pro/bitstamp.js +587 -0
  630. package/js/src/src/pro/bittrade.d.ts +66 -0
  631. package/js/src/src/pro/bittrade.js +606 -0
  632. package/js/src/src/pro/bitvavo.d.ts +321 -0
  633. package/js/src/src/pro/bitvavo.js +1451 -0
  634. package/js/src/src/pro/blockchaincom.d.ts +89 -0
  635. package/js/src/src/pro/blockchaincom.js +777 -0
  636. package/js/src/src/pro/blofin.d.ts +174 -0
  637. package/js/src/src/pro/blofin.js +743 -0
  638. package/js/src/src/pro/bybit.d.ts +397 -0
  639. package/js/src/src/pro/bybit.js +2519 -0
  640. package/js/src/src/pro/cex.d.ts +220 -0
  641. package/js/src/src/pro/cex.js +1535 -0
  642. package/js/src/src/pro/coinbase.d.ts +119 -0
  643. package/js/src/src/pro/coinbase.js +736 -0
  644. package/js/src/src/pro/coinbaseadvanced.d.ts +4 -0
  645. package/js/src/src/pro/coinbaseadvanced.js +18 -0
  646. package/js/src/src/pro/coinbaseexchange.d.ts +133 -0
  647. package/js/src/src/pro/coinbaseexchange.js +969 -0
  648. package/js/src/src/pro/coinbaseinternational.d.ts +143 -0
  649. package/js/src/src/pro/coinbaseinternational.js +804 -0
  650. package/js/src/src/pro/coincatch.d.ts +207 -0
  651. package/js/src/src/pro/coincatch.js +1562 -0
  652. package/js/src/src/pro/coincheck.d.ts +33 -0
  653. package/js/src/src/pro/coincheck.js +210 -0
  654. package/js/src/src/pro/coinex.d.ts +147 -0
  655. package/js/src/src/pro/coinex.js +1426 -0
  656. package/js/src/src/pro/coinone.d.ts +51 -0
  657. package/js/src/src/pro/coinone.js +413 -0
  658. package/js/src/src/pro/cryptocom.d.ts +300 -0
  659. package/js/src/src/pro/cryptocom.js +1414 -0
  660. package/js/src/src/pro/defx.d.ts +236 -0
  661. package/js/src/src/pro/defx.js +865 -0
  662. package/js/src/src/pro/deribit.d.ts +163 -0
  663. package/js/src/src/pro/deribit.js +1066 -0
  664. package/js/src/src/pro/derive.d.ts +100 -0
  665. package/js/src/src/pro/derive.js +753 -0
  666. package/js/src/src/pro/exmo.d.ts +97 -0
  667. package/js/src/src/pro/exmo.js +903 -0
  668. package/js/src/src/pro/gate.d.ts +360 -0
  669. package/js/src/src/pro/gate.js +2119 -0
  670. package/js/src/src/pro/gateio.d.ts +4 -0
  671. package/js/src/src/pro/gateio.js +17 -0
  672. package/js/src/src/pro/gemini.d.ts +106 -0
  673. package/js/src/src/pro/gemini.js +932 -0
  674. package/js/src/src/pro/hashkey.d.ts +121 -0
  675. package/js/src/src/pro/hashkey.js +843 -0
  676. package/js/src/src/pro/hitbtc.d.ts +235 -0
  677. package/js/src/src/pro/hitbtc.js +1400 -0
  678. package/js/src/src/pro/hollaex.d.ts +77 -0
  679. package/js/src/src/pro/hollaex.js +604 -0
  680. package/js/src/src/pro/htx.d.ts +141 -0
  681. package/js/src/src/pro/htx.js +2415 -0
  682. package/js/src/src/pro/huobi.d.ts +4 -0
  683. package/js/src/src/pro/huobi.js +17 -0
  684. package/js/src/src/pro/hyperliquid.d.ts +218 -0
  685. package/js/src/src/pro/hyperliquid.js +1126 -0
  686. package/js/src/src/pro/independentreserve.d.ts +36 -0
  687. package/js/src/src/pro/independentreserve.js +287 -0
  688. package/js/src/src/pro/kraken.d.ts +233 -0
  689. package/js/src/src/pro/kraken.js +1785 -0
  690. package/js/src/src/pro/krakenfutures.d.ts +178 -0
  691. package/js/src/src/pro/krakenfutures.js +1592 -0
  692. package/js/src/src/pro/kucoin.d.ts +221 -0
  693. package/js/src/src/pro/kucoin.js +1430 -0
  694. package/js/src/src/pro/kucoinfutures.d.ts +205 -0
  695. package/js/src/src/pro/kucoinfutures.js +1295 -0
  696. package/js/src/src/pro/lbank.d.ts +134 -0
  697. package/js/src/src/pro/lbank.js +950 -0
  698. package/js/src/src/pro/luno.d.ts +44 -0
  699. package/js/src/src/pro/luno.js +322 -0
  700. package/js/src/src/pro/mexc.d.ts +210 -0
  701. package/js/src/src/pro/mexc.js +2009 -0
  702. package/js/src/src/pro/modetrade.d.ts +155 -0
  703. package/js/src/src/pro/modetrade.js +1335 -0
  704. package/js/src/src/pro/myokx.d.ts +4 -0
  705. package/js/src/src/pro/myokx.js +39 -0
  706. package/js/src/src/pro/ndax.d.ts +60 -0
  707. package/js/src/src/pro/ndax.js +545 -0
  708. package/js/src/src/pro/okcoin.d.ts +91 -0
  709. package/js/src/src/pro/okcoin.js +763 -0
  710. package/js/src/src/pro/okx.d.ts +408 -0
  711. package/js/src/src/pro/okx.js +2479 -0
  712. package/js/src/src/pro/okxus.d.ts +4 -0
  713. package/js/src/src/pro/okxus.js +39 -0
  714. package/js/src/src/pro/onetrading.d.ts +107 -0
  715. package/js/src/src/pro/onetrading.js +1343 -0
  716. package/js/src/src/pro/oxfun.d.ts +234 -0
  717. package/js/src/src/pro/oxfun.js +1112 -0
  718. package/js/src/src/pro/p2b.d.ts +104 -0
  719. package/js/src/src/pro/p2b.js +506 -0
  720. package/js/src/src/pro/paradex.d.ts +54 -0
  721. package/js/src/src/pro/paradex.js +370 -0
  722. package/js/src/src/pro/phemex.d.ts +129 -0
  723. package/js/src/src/pro/phemex.js +1569 -0
  724. package/js/src/src/pro/poloniex.d.ts +214 -0
  725. package/js/src/src/pro/poloniex.js +1318 -0
  726. package/js/src/src/pro/probit.d.ts +91 -0
  727. package/js/src/src/pro/probit.js +593 -0
  728. package/js/src/src/pro/tradeogre.d.ts +49 -0
  729. package/js/src/src/pro/tradeogre.js +284 -0
  730. package/js/src/src/pro/upbit.d.ts +124 -0
  731. package/js/src/src/pro/upbit.js +689 -0
  732. package/js/src/src/pro/vertex.d.ts +104 -0
  733. package/js/src/src/pro/vertex.js +999 -0
  734. package/js/src/src/pro/whitebit.d.ts +123 -0
  735. package/js/src/src/pro/whitebit.js +971 -0
  736. package/js/src/src/pro/woo.d.ts +161 -0
  737. package/js/src/src/pro/woo.js +1351 -0
  738. package/js/src/src/pro/woofipro.d.ts +155 -0
  739. package/js/src/src/pro/woofipro.js +1335 -0
  740. package/js/src/src/pro/xt.d.ts +165 -0
  741. package/js/src/src/pro/xt.js +1230 -0
  742. package/js/src/src/probit.d.ts +283 -0
  743. package/js/src/src/probit.js +1935 -0
  744. package/js/src/src/protobuf/mexc/compiled.cjs +7186 -0
  745. package/js/src/src/protobuf/mexc/compiled.d.cts +8 -0
  746. package/js/src/src/raastin.d.ts +24 -0
  747. package/js/src/src/raastin.js +494 -0
  748. package/js/src/src/ramzinex.d.ts +23 -0
  749. package/js/src/src/ramzinex.js +510 -0
  750. package/js/src/src/sarmayex.d.ts +21 -0
  751. package/js/src/src/sarmayex.js +376 -0
  752. package/js/src/src/sarrafex.d.ts +23 -0
  753. package/js/src/src/sarrafex.js +501 -0
  754. package/js/src/src/static_dependencies/ethers/abi-coder.d.ts +50 -0
  755. package/js/src/src/static_dependencies/ethers/abi-coder.js +148 -0
  756. package/js/src/src/static_dependencies/ethers/address/address.d.ts +55 -0
  757. package/js/src/src/static_dependencies/ethers/address/address.js +162 -0
  758. package/js/src/src/static_dependencies/ethers/address/checks.d.ts +80 -0
  759. package/js/src/src/static_dependencies/ethers/address/checks.js +119 -0
  760. package/js/src/src/static_dependencies/ethers/address/contract-address.d.ts +47 -0
  761. package/js/src/src/static_dependencies/ethers/address/contract-address.js +73 -0
  762. package/js/src/src/static_dependencies/ethers/address/index.d.ts +48 -0
  763. package/js/src/src/static_dependencies/ethers/address/index.js +24 -0
  764. package/js/src/src/static_dependencies/ethers/bytes32.d.ts +14 -0
  765. package/js/src/src/static_dependencies/ethers/bytes32.js +45 -0
  766. package/js/src/src/static_dependencies/ethers/coders/abstract-coder.d.ts +120 -0
  767. package/js/src/src/static_dependencies/ethers/coders/abstract-coder.js +424 -0
  768. package/js/src/src/static_dependencies/ethers/coders/address.d.ts +12 -0
  769. package/js/src/src/static_dependencies/ethers/coders/address.js +34 -0
  770. package/js/src/src/static_dependencies/ethers/coders/anonymous.d.ts +14 -0
  771. package/js/src/src/static_dependencies/ethers/coders/anonymous.js +27 -0
  772. package/js/src/src/static_dependencies/ethers/coders/array.d.ts +24 -0
  773. package/js/src/src/static_dependencies/ethers/coders/array.js +162 -0
  774. package/js/src/src/static_dependencies/ethers/coders/boolean.d.ts +12 -0
  775. package/js/src/src/static_dependencies/ethers/coders/boolean.js +26 -0
  776. package/js/src/src/static_dependencies/ethers/coders/bytes.d.ts +18 -0
  777. package/js/src/src/static_dependencies/ethers/coders/bytes.js +39 -0
  778. package/js/src/src/static_dependencies/ethers/coders/fixed-bytes.d.ts +14 -0
  779. package/js/src/src/static_dependencies/ethers/coders/fixed-bytes.js +32 -0
  780. package/js/src/src/static_dependencies/ethers/coders/null.d.ts +11 -0
  781. package/js/src/src/static_dependencies/ethers/coders/null.js +29 -0
  782. package/js/src/src/static_dependencies/ethers/coders/number.d.ts +15 -0
  783. package/js/src/src/static_dependencies/ethers/coders/number.js +48 -0
  784. package/js/src/src/static_dependencies/ethers/coders/string.d.ts +12 -0
  785. package/js/src/src/static_dependencies/ethers/coders/string.js +26 -0
  786. package/js/src/src/static_dependencies/ethers/coders/tuple.d.ts +15 -0
  787. package/js/src/src/static_dependencies/ethers/coders/tuple.js +67 -0
  788. package/js/src/src/static_dependencies/ethers/fragments.d.ts +458 -0
  789. package/js/src/src/static_dependencies/ethers/fragments.js +1252 -0
  790. package/js/src/src/static_dependencies/ethers/hash/index.d.ts +10 -0
  791. package/js/src/src/static_dependencies/ethers/hash/index.js +15 -0
  792. package/js/src/src/static_dependencies/ethers/hash/solidity.d.ts +30 -0
  793. package/js/src/src/static_dependencies/ethers/hash/solidity.js +107 -0
  794. package/js/src/src/static_dependencies/ethers/hash/typed-data.d.ts +144 -0
  795. package/js/src/src/static_dependencies/ethers/hash/typed-data.js +490 -0
  796. package/js/src/src/static_dependencies/ethers/index.d.ts +19 -0
  797. package/js/src/src/static_dependencies/ethers/index.js +22 -0
  798. package/js/src/src/static_dependencies/ethers/interface.d.ts +380 -0
  799. package/js/src/src/static_dependencies/ethers/interface.js +990 -0
  800. package/js/src/src/static_dependencies/ethers/typed.d.ts +569 -0
  801. package/js/src/src/static_dependencies/ethers/typed.js +608 -0
  802. package/js/src/src/static_dependencies/ethers/utils/base58.d.ts +22 -0
  803. package/js/src/src/static_dependencies/ethers/utils/base58.js +68 -0
  804. package/js/src/src/static_dependencies/ethers/utils/base64.d.ts +39 -0
  805. package/js/src/src/static_dependencies/ethers/utils/base64.js +58 -0
  806. package/js/src/src/static_dependencies/ethers/utils/data.d.ts +92 -0
  807. package/js/src/src/static_dependencies/ethers/utils/data.js +175 -0
  808. package/js/src/src/static_dependencies/ethers/utils/errors.d.ts +509 -0
  809. package/js/src/src/static_dependencies/ethers/utils/errors.js +227 -0
  810. package/js/src/src/static_dependencies/ethers/utils/events.d.ts +76 -0
  811. package/js/src/src/static_dependencies/ethers/utils/events.js +52 -0
  812. package/js/src/src/static_dependencies/ethers/utils/fixednumber.d.ts +251 -0
  813. package/js/src/src/static_dependencies/ethers/utils/fixednumber.js +529 -0
  814. package/js/src/src/static_dependencies/ethers/utils/index.d.ts +30 -0
  815. package/js/src/src/static_dependencies/ethers/utils/index.js +38 -0
  816. package/js/src/src/static_dependencies/ethers/utils/maths.d.ts +65 -0
  817. package/js/src/src/static_dependencies/ethers/utils/maths.js +220 -0
  818. package/js/src/src/static_dependencies/ethers/utils/properties.d.ts +22 -0
  819. package/js/src/src/static_dependencies/ethers/utils/properties.js +59 -0
  820. package/js/src/src/static_dependencies/ethers/utils/rlp-decode.d.ts +5 -0
  821. package/js/src/src/static_dependencies/ethers/utils/rlp-decode.js +84 -0
  822. package/js/src/src/static_dependencies/ethers/utils/rlp-encode.d.ts +5 -0
  823. package/js/src/src/static_dependencies/ethers/utils/rlp-encode.js +54 -0
  824. package/js/src/src/static_dependencies/ethers/utils/rlp.d.ts +16 -0
  825. package/js/src/src/static_dependencies/ethers/utils/rlp.js +14 -0
  826. package/js/src/src/static_dependencies/ethers/utils/units.d.ts +23 -0
  827. package/js/src/src/static_dependencies/ethers/utils/units.js +88 -0
  828. package/js/src/src/static_dependencies/ethers/utils/utf8.d.ts +95 -0
  829. package/js/src/src/static_dependencies/ethers/utils/utf8.js +225 -0
  830. package/js/src/src/static_dependencies/ethers/utils/uuid.d.ts +7 -0
  831. package/js/src/src/static_dependencies/ethers/utils/uuid.js +35 -0
  832. package/js/src/src/static_dependencies/fflake/browser.d.ts +222 -0
  833. package/js/src/src/static_dependencies/fflake/browser.js +2578 -0
  834. package/js/src/src/static_dependencies/jsencrypt/JSEncrypt.d.ts +116 -0
  835. package/js/src/src/static_dependencies/jsencrypt/JSEncrypt.js +194 -0
  836. package/js/src/src/static_dependencies/jsencrypt/JSEncryptRSAKey.d.ts +142 -0
  837. package/js/src/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +307 -0
  838. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/asn1.d.ts +51 -0
  839. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +565 -0
  840. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/base64.d.ts +5 -0
  841. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +94 -0
  842. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/hex.d.ts +3 -0
  843. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +70 -0
  844. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/int10.d.ts +9 -0
  845. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +91 -0
  846. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/base64.d.ts +3 -0
  847. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +25 -0
  848. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.d.ts +101 -0
  849. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +1757 -0
  850. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/prng4.d.ts +10 -0
  851. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +50 -0
  852. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/rng.d.ts +3 -0
  853. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +80 -0
  854. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/rsa.d.ts +23 -0
  855. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +377 -0
  856. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/util.d.ts +7 -0
  857. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/util.js +64 -0
  858. package/js/src/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.d.ts +24 -0
  859. package/js/src/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +1627 -0
  860. package/js/src/src/static_dependencies/noble-curves/_shortw_utils.d.ts +60 -0
  861. package/js/src/src/static_dependencies/noble-curves/_shortw_utils.js +22 -0
  862. package/js/src/src/static_dependencies/noble-curves/abstract/curve.d.ts +67 -0
  863. package/js/src/src/static_dependencies/noble-curves/abstract/curve.js +157 -0
  864. package/js/src/src/static_dependencies/noble-curves/abstract/edwards.d.ts +79 -0
  865. package/js/src/src/static_dependencies/noble-curves/abstract/edwards.js +432 -0
  866. package/js/src/src/static_dependencies/noble-curves/abstract/hash-to-curve.d.ts +56 -0
  867. package/js/src/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +171 -0
  868. package/js/src/src/static_dependencies/noble-curves/abstract/modular.d.ts +68 -0
  869. package/js/src/src/static_dependencies/noble-curves/abstract/modular.js +351 -0
  870. package/js/src/src/static_dependencies/noble-curves/abstract/montgomery.d.ts +25 -0
  871. package/js/src/src/static_dependencies/noble-curves/abstract/montgomery.js +162 -0
  872. package/js/src/src/static_dependencies/noble-curves/abstract/poseidon.d.ts +29 -0
  873. package/js/src/src/static_dependencies/noble-curves/abstract/poseidon.js +115 -0
  874. package/js/src/src/static_dependencies/noble-curves/abstract/utils.d.ts +53 -0
  875. package/js/src/src/static_dependencies/noble-curves/abstract/utils.js +227 -0
  876. package/js/src/src/static_dependencies/noble-curves/abstract/weierstrass.d.ts +204 -0
  877. package/js/src/src/static_dependencies/noble-curves/abstract/weierstrass.js +1016 -0
  878. package/js/src/src/static_dependencies/noble-curves/ed25519.d.ts +53 -0
  879. package/js/src/src/static_dependencies/noble-curves/ed25519.js +402 -0
  880. package/js/src/src/static_dependencies/noble-curves/p256.d.ts +103 -0
  881. package/js/src/src/static_dependencies/noble-curves/p256.js +47 -0
  882. package/js/src/src/static_dependencies/noble-curves/secp256k1.d.ts +91 -0
  883. package/js/src/src/static_dependencies/noble-curves/secp256k1.js +257 -0
  884. package/js/src/src/static_dependencies/noble-hashes/_assert.d.ts +21 -0
  885. package/js/src/src/static_dependencies/noble-hashes/_assert.js +48 -0
  886. package/js/src/src/static_dependencies/noble-hashes/_sha2.d.ts +23 -0
  887. package/js/src/src/static_dependencies/noble-hashes/_sha2.js +119 -0
  888. package/js/src/src/static_dependencies/noble-hashes/_u64.d.ts +35 -0
  889. package/js/src/src/static_dependencies/noble-hashes/_u64.js +66 -0
  890. package/js/src/src/static_dependencies/noble-hashes/crypto.d.ts +1 -0
  891. package/js/src/src/static_dependencies/noble-hashes/crypto.js +7 -0
  892. package/js/src/src/static_dependencies/noble-hashes/hmac.d.ts +26 -0
  893. package/js/src/src/static_dependencies/noble-hashes/hmac.js +82 -0
  894. package/js/src/src/static_dependencies/noble-hashes/md5.d.ts +18 -0
  895. package/js/src/src/static_dependencies/noble-hashes/md5.js +242 -0
  896. package/js/src/src/static_dependencies/noble-hashes/sha1.d.ts +21 -0
  897. package/js/src/src/static_dependencies/noble-hashes/sha1.js +90 -0
  898. package/js/src/src/static_dependencies/noble-hashes/sha256.d.ts +34 -0
  899. package/js/src/src/static_dependencies/noble-hashes/sha256.js +129 -0
  900. package/js/src/src/static_dependencies/noble-hashes/sha3.d.ts +97 -0
  901. package/js/src/src/static_dependencies/noble-hashes/sha3.js +211 -0
  902. package/js/src/src/static_dependencies/noble-hashes/sha512.d.ts +66 -0
  903. package/js/src/src/static_dependencies/noble-hashes/sha512.js +236 -0
  904. package/js/src/src/static_dependencies/noble-hashes/utils.d.ts +77 -0
  905. package/js/src/src/static_dependencies/noble-hashes/utils.js +147 -0
  906. package/js/src/src/static_dependencies/proxies/agent-base/helpers.d.ts +14 -0
  907. package/js/src/src/static_dependencies/proxies/agent-base/helpers.js +42 -0
  908. package/js/src/src/static_dependencies/proxies/agent-base/index.d.ts +33 -0
  909. package/js/src/src/static_dependencies/proxies/agent-base/index.js +82 -0
  910. package/js/src/src/static_dependencies/proxies/http-proxy-agent/index.d.ts +40 -0
  911. package/js/src/src/static_dependencies/proxies/http-proxy-agent/index.js +119 -0
  912. package/js/src/src/static_dependencies/proxies/https-proxy-agent/index.d.ts +45 -0
  913. package/js/src/src/static_dependencies/proxies/https-proxy-agent/index.js +150 -0
  914. package/js/src/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.d.ts +15 -0
  915. package/js/src/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +95 -0
  916. package/js/src/src/static_dependencies/qs/formats.cjs +22 -0
  917. package/js/src/src/static_dependencies/qs/formats.d.cts +14 -0
  918. package/js/src/src/static_dependencies/qs/index.cjs +15 -0
  919. package/js/src/src/static_dependencies/qs/index.d.cts +10 -0
  920. package/js/src/src/static_dependencies/qs/parse.cjs +208 -0
  921. package/js/src/src/static_dependencies/qs/parse.d.cts +8 -0
  922. package/js/src/src/static_dependencies/qs/stringify.cjs +192 -0
  923. package/js/src/src/static_dependencies/qs/stringify.d.cts +8 -0
  924. package/js/src/src/static_dependencies/qs/utils.cjs +202 -0
  925. package/js/src/src/static_dependencies/qs/utils.d.cts +15 -0
  926. package/js/src/src/static_dependencies/scure-base/index.d.ts +92 -0
  927. package/js/src/src/static_dependencies/scure-base/index.js +420 -0
  928. package/js/src/src/static_dependencies/scure-starknet/index.d.ts +79 -0
  929. package/js/src/src/static_dependencies/scure-starknet/index.js +323 -0
  930. package/js/src/src/static_dependencies/starknet/constants.d.ts +61 -0
  931. package/js/src/src/static_dependencies/starknet/constants.js +67 -0
  932. package/js/src/src/static_dependencies/starknet/index.d.ts +3 -0
  933. package/js/src/src/static_dependencies/starknet/index.js +9 -0
  934. package/js/src/src/static_dependencies/starknet/types/cairoEnum.d.ts +2 -0
  935. package/js/src/src/static_dependencies/starknet/types/cairoEnum.js +7 -0
  936. package/js/src/src/static_dependencies/starknet/types/calldata.d.ts +19 -0
  937. package/js/src/src/static_dependencies/starknet/types/calldata.js +28 -0
  938. package/js/src/src/static_dependencies/starknet/types/index.d.ts +13 -0
  939. package/js/src/src/static_dependencies/starknet/types/index.js +16 -0
  940. package/js/src/src/static_dependencies/starknet/types/lib/contract/abi.d.ts +71 -0
  941. package/js/src/src/static_dependencies/starknet/types/lib/contract/abi.js +13 -0
  942. package/js/src/src/static_dependencies/starknet/types/lib/contract/index.d.ts +24 -0
  943. package/js/src/src/static_dependencies/starknet/types/lib/contract/index.js +16 -0
  944. package/js/src/src/static_dependencies/starknet/types/lib/contract/legacy.d.ts +33 -0
  945. package/js/src/src/static_dependencies/starknet/types/lib/contract/legacy.js +7 -0
  946. package/js/src/src/static_dependencies/starknet/types/lib/contract/sierra.d.ts +52 -0
  947. package/js/src/src/static_dependencies/starknet/types/lib/contract/sierra.js +7 -0
  948. package/js/src/src/static_dependencies/starknet/types/lib/index.d.ts +248 -0
  949. package/js/src/src/static_dependencies/starknet/types/lib/index.js +52 -0
  950. package/js/src/src/static_dependencies/starknet/types/typedData.d.ts +44 -0
  951. package/js/src/src/static_dependencies/starknet/types/typedData.js +19 -0
  952. package/js/src/src/static_dependencies/starknet/utils/assert.d.ts +7 -0
  953. package/js/src/src/static_dependencies/starknet/utils/assert.js +17 -0
  954. package/js/src/src/static_dependencies/starknet/utils/cairoDataTypes/felt.d.ts +6 -0
  955. package/js/src/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +43 -0
  956. package/js/src/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.d.ts +72 -0
  957. package/js/src/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +117 -0
  958. package/js/src/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.d.ts +76 -0
  959. package/js/src/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +136 -0
  960. package/js/src/src/static_dependencies/starknet/utils/calldata/byteArray.d.ts +32 -0
  961. package/js/src/src/static_dependencies/starknet/utils/calldata/byteArray.js +59 -0
  962. package/js/src/src/static_dependencies/starknet/utils/calldata/cairo.d.ts +183 -0
  963. package/js/src/src/static_dependencies/starknet/utils/calldata/cairo.js +229 -0
  964. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.d.ts +38 -0
  965. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +57 -0
  966. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.d.ts +35 -0
  967. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +64 -0
  968. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.d.ts +34 -0
  969. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +63 -0
  970. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/index.d.ts +3 -0
  971. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/index.js +9 -0
  972. package/js/src/src/static_dependencies/starknet/utils/calldata/formatter.d.ts +9 -0
  973. package/js/src/src/static_dependencies/starknet/utils/calldata/formatter.js +67 -0
  974. package/js/src/src/static_dependencies/starknet/utils/calldata/index.d.ts +89 -0
  975. package/js/src/src/static_dependencies/starknet/utils/calldata/index.js +280 -0
  976. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/index.d.ts +5 -0
  977. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/index.js +30 -0
  978. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/interface.d.ts +20 -0
  979. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/interface.js +8 -0
  980. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.d.ts +24 -0
  981. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +36 -0
  982. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.d.ts +23 -0
  983. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +40 -0
  984. package/js/src/src/static_dependencies/starknet/utils/calldata/propertyOrder.d.ts +2 -0
  985. package/js/src/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +155 -0
  986. package/js/src/src/static_dependencies/starknet/utils/calldata/requestParser.d.ts +11 -0
  987. package/js/src/src/static_dependencies/starknet/utils/calldata/requestParser.js +248 -0
  988. package/js/src/src/static_dependencies/starknet/utils/calldata/responseParser.d.ts +11 -0
  989. package/js/src/src/static_dependencies/starknet/utils/calldata/responseParser.js +214 -0
  990. package/js/src/src/static_dependencies/starknet/utils/calldata/tuple.d.ts +6 -0
  991. package/js/src/src/static_dependencies/starknet/utils/calldata/tuple.js +113 -0
  992. package/js/src/src/static_dependencies/starknet/utils/calldata/validate.d.ts +6 -0
  993. package/js/src/src/static_dependencies/starknet/utils/calldata/validate.js +208 -0
  994. package/js/src/src/static_dependencies/starknet/utils/encode.d.ts +207 -0
  995. package/js/src/src/static_dependencies/starknet/utils/encode.js +282 -0
  996. package/js/src/src/static_dependencies/starknet/utils/hash/classHash.d.ts +57 -0
  997. package/js/src/src/static_dependencies/starknet/utils/hash/classHash.js +223 -0
  998. package/js/src/src/static_dependencies/starknet/utils/hash/index.d.ts +6 -0
  999. package/js/src/src/static_dependencies/starknet/utils/hash/index.js +13 -0
  1000. package/js/src/src/static_dependencies/starknet/utils/merkle.d.ts +35 -0
  1001. package/js/src/src/static_dependencies/starknet/utils/merkle.js +84 -0
  1002. package/js/src/src/static_dependencies/starknet/utils/num.d.ts +182 -0
  1003. package/js/src/src/static_dependencies/starknet/utils/num.js +244 -0
  1004. package/js/src/src/static_dependencies/starknet/utils/selector.d.ts +48 -0
  1005. package/js/src/src/static_dependencies/starknet/utils/selector.js +85 -0
  1006. package/js/src/src/static_dependencies/starknet/utils/shortString.d.ts +57 -0
  1007. package/js/src/src/static_dependencies/starknet/utils/shortString.js +96 -0
  1008. package/js/src/src/static_dependencies/starknet/utils/typedData.d.ts +54 -0
  1009. package/js/src/src/static_dependencies/starknet/utils/typedData.js +321 -0
  1010. package/js/src/src/static_dependencies/watchable/src/types.d.ts +28 -0
  1011. package/js/src/src/static_dependencies/watchable/src/types.js +8 -0
  1012. package/js/src/src/static_dependencies/watchable/src/unpromise.d.ts +120 -0
  1013. package/js/src/src/static_dependencies/watchable/src/unpromise.js +297 -0
  1014. package/js/src/src/static_dependencies/zklink/zklink-sdk-web.d.ts +1279 -0
  1015. package/js/src/src/static_dependencies/zklink/zklink-sdk-web.js +4282 -0
  1016. package/js/src/src/tabdeal.d.ts +23 -0
  1017. package/js/src/src/tabdeal.js +387 -0
  1018. package/js/src/src/tehran_exchange.d.ts +21 -0
  1019. package/js/src/src/tehran_exchange.js +333 -0
  1020. package/js/src/src/tetherland.d.ts +21 -0
  1021. package/js/src/src/tetherland.js +367 -0
  1022. package/js/src/src/timex.d.ts +247 -0
  1023. package/js/src/src/timex.js +1792 -0
  1024. package/js/src/src/tokocrypto.d.ts +261 -0
  1025. package/js/src/src/tokocrypto.js +2641 -0
  1026. package/js/src/src/toobit.d.ts +22 -0
  1027. package/js/src/src/toobit.js +445 -0
  1028. package/js/src/src/tradeogre.d.ts +149 -0
  1029. package/js/src/src/tradeogre.js +878 -0
  1030. package/js/src/src/twox.d.ts +21 -0
  1031. package/js/src/src/twox.js +371 -0
  1032. package/js/src/src/ubitex.d.ts +23 -0
  1033. package/js/src/src/ubitex.js +433 -0
  1034. package/js/src/src/upbit.d.ts +377 -0
  1035. package/js/src/src/upbit.js +2340 -0
  1036. package/js/src/src/vertex.d.ts +346 -0
  1037. package/js/src/src/vertex.js +3146 -0
  1038. package/js/src/src/wallex.d.ts +23 -0
  1039. package/js/src/src/wallex.js +467 -0
  1040. package/js/src/src/wavesexchange.d.ts +244 -0
  1041. package/js/src/src/wavesexchange.js +2747 -0
  1042. package/js/src/src/whitebit.d.ts +571 -0
  1043. package/js/src/src/whitebit.js +3437 -0
  1044. package/js/src/src/woo.d.ts +727 -0
  1045. package/js/src/src/woo.js +4183 -0
  1046. package/js/src/src/woofipro.d.ts +497 -0
  1047. package/js/src/src/woofipro.js +2941 -0
  1048. package/js/src/src/xt.d.ts +568 -0
  1049. package/js/src/src/xt.js +5184 -0
  1050. package/js/src/src/yobit.d.ts +197 -0
  1051. package/js/src/src/yobit.js +1453 -0
  1052. package/js/src/src/zaif.d.ts +136 -0
  1053. package/js/src/src/zaif.js +821 -0
  1054. package/js/src/src/zonda.d.ts +214 -0
  1055. package/js/src/src/zonda.js +1984 -0
  1056. package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.d.ts +1 -1
  1057. package/js/src/static_dependencies/starknet/utils/calldata/parser/index.d.ts +1 -1
  1058. package/js/test.js +9 -17
  1059. package/package.json +1 -1
@@ -0,0 +1,1453 @@
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 Exchange from './abstract/yobit.js';
9
+ import { ExchangeError, ArgumentsRequired, ExchangeNotAvailable, InvalidNonce, InsufficientFunds, OrderNotFound, DDoSProtection, InvalidOrder, AuthenticationError, RateLimitExceeded } from './base/errors.js';
10
+ import { Precise } from './base/Precise.js';
11
+ import { TICK_SIZE } from './base/functions/number.js';
12
+ import { sha512 } from './static_dependencies/noble-hashes/sha512.js';
13
+ // ---------------------------------------------------------------------------
14
+ /**
15
+ * @class yobit
16
+ * @augments Exchange
17
+ */
18
+ export default class yobit extends Exchange {
19
+ describe() {
20
+ return this.deepExtend(super.describe(), {
21
+ 'id': 'yobit',
22
+ 'name': 'YoBit',
23
+ 'countries': ['RU'],
24
+ 'rateLimit': 2000,
25
+ 'version': '3',
26
+ 'pro': false,
27
+ 'has': {
28
+ 'CORS': undefined,
29
+ 'spot': true,
30
+ 'margin': false,
31
+ 'swap': false,
32
+ 'future': false,
33
+ 'option': false,
34
+ 'addMargin': false,
35
+ 'cancelOrder': true,
36
+ 'closeAllPositions': false,
37
+ 'closePosition': false,
38
+ 'createDepositAddress': true,
39
+ 'createMarketOrder': false,
40
+ 'createOrder': true,
41
+ 'createReduceOnlyOrder': false,
42
+ 'createStopLimitOrder': false,
43
+ 'createStopMarketOrder': false,
44
+ 'createStopOrder': false,
45
+ 'fetchBalance': true,
46
+ 'fetchBorrowInterest': false,
47
+ 'fetchBorrowRate': false,
48
+ 'fetchBorrowRateHistories': false,
49
+ 'fetchBorrowRateHistory': false,
50
+ 'fetchBorrowRates': false,
51
+ 'fetchBorrowRatesPerSymbol': false,
52
+ 'fetchCrossBorrowRate': false,
53
+ 'fetchCrossBorrowRates': false,
54
+ 'fetchDepositAddress': true,
55
+ 'fetchDepositAddresses': false,
56
+ 'fetchDepositAddressesByNetwork': false,
57
+ 'fetchDeposits': false,
58
+ 'fetchFundingHistory': false,
59
+ 'fetchFundingInterval': false,
60
+ 'fetchFundingIntervals': false,
61
+ 'fetchFundingRate': false,
62
+ 'fetchFundingRateHistory': false,
63
+ 'fetchFundingRates': false,
64
+ 'fetchGreeks': false,
65
+ 'fetchIndexOHLCV': false,
66
+ 'fetchIsolatedBorrowRate': false,
67
+ 'fetchIsolatedBorrowRates': false,
68
+ 'fetchIsolatedPositions': false,
69
+ 'fetchLeverage': false,
70
+ 'fetchLeverages': false,
71
+ 'fetchLeverageTiers': false,
72
+ 'fetchLiquidations': false,
73
+ 'fetchMarginAdjustmentHistory': false,
74
+ 'fetchMarginMode': false,
75
+ 'fetchMarginModes': false,
76
+ 'fetchMarketLeverageTiers': false,
77
+ 'fetchMarkets': true,
78
+ 'fetchMarkOHLCV': false,
79
+ 'fetchMarkPrices': false,
80
+ 'fetchMyLiquidations': false,
81
+ 'fetchMySettlementHistory': false,
82
+ 'fetchMyTrades': true,
83
+ 'fetchOpenInterest': false,
84
+ 'fetchOpenInterestHistory': false,
85
+ 'fetchOpenOrders': true,
86
+ 'fetchOption': false,
87
+ 'fetchOptionChain': false,
88
+ 'fetchOrder': true,
89
+ 'fetchOrderBook': true,
90
+ 'fetchOrderBooks': true,
91
+ 'fetchPosition': false,
92
+ 'fetchPositionHistory': false,
93
+ 'fetchPositionMode': false,
94
+ 'fetchPositions': false,
95
+ 'fetchPositionsForSymbol': false,
96
+ 'fetchPositionsHistory': false,
97
+ 'fetchPositionsRisk': false,
98
+ 'fetchPremiumIndexOHLCV': false,
99
+ 'fetchSettlementHistory': false,
100
+ 'fetchTicker': true,
101
+ 'fetchTickers': true,
102
+ 'fetchTrades': true,
103
+ 'fetchTradingFee': false,
104
+ 'fetchTradingFees': true,
105
+ 'fetchTransactions': false,
106
+ 'fetchTransfer': false,
107
+ 'fetchTransfers': false,
108
+ 'fetchUnderlyingAssets': false,
109
+ 'fetchVolatilityHistory': false,
110
+ 'fetchWithdrawals': false,
111
+ 'reduceMargin': false,
112
+ 'repayCrossMargin': false,
113
+ 'repayIsolatedMargin': false,
114
+ 'setLeverage': false,
115
+ 'setMargin': false,
116
+ 'setMarginMode': false,
117
+ 'setPositionMode': false,
118
+ 'transfer': false,
119
+ 'withdraw': true,
120
+ 'ws': false,
121
+ },
122
+ 'urls': {
123
+ 'logo': 'https://user-images.githubusercontent.com/1294454/27766910-cdcbfdae-5eea-11e7-9859-03fea873272d.jpg',
124
+ 'api': {
125
+ 'public': 'https://yobit.net/api',
126
+ 'private': 'https://yobit.net/tapi',
127
+ },
128
+ 'www': 'https://www.yobit.net',
129
+ 'doc': 'https://www.yobit.net/en/api/',
130
+ 'fees': 'https://www.yobit.net/en/fees/',
131
+ },
132
+ 'api': {
133
+ 'public': {
134
+ 'get': {
135
+ 'depth/{pair}': 1,
136
+ 'info': 1,
137
+ 'ticker/{pair}': 1,
138
+ 'trades/{pair}': 1,
139
+ },
140
+ },
141
+ 'private': {
142
+ 'post': {
143
+ 'ActiveOrders': 1,
144
+ 'CancelOrder': 1,
145
+ 'GetDepositAddress': 1,
146
+ 'getInfo': 1,
147
+ 'OrderInfo': 1,
148
+ 'Trade': 1,
149
+ 'TradeHistory': 1,
150
+ 'WithdrawCoinsToAddress': 1,
151
+ },
152
+ },
153
+ },
154
+ 'fees': {
155
+ 'trading': {
156
+ 'maker': 0.002,
157
+ 'taker': 0.002,
158
+ },
159
+ 'funding': {
160
+ 'withdraw': {},
161
+ },
162
+ },
163
+ 'commonCurrencies': {
164
+ 'AIR': 'AirCoin',
165
+ 'ANI': 'ANICoin',
166
+ 'ANT': 'AntsCoin',
167
+ 'ATMCHA': 'ATM',
168
+ 'ASN': 'Ascension',
169
+ 'AST': 'Astral',
170
+ 'ATM': 'Autumncoin',
171
+ 'AUR': 'AuroraCoin',
172
+ 'BAB': 'Babel',
173
+ 'BAN': 'BANcoin',
174
+ 'BCC': 'BCH',
175
+ 'BCS': 'BitcoinStake',
176
+ 'BITS': 'Bitstar',
177
+ 'BLN': 'Bulleon',
178
+ 'BNS': 'Benefit Bonus Coin',
179
+ 'BOT': 'BOTcoin',
180
+ 'BON': 'BONES',
181
+ 'BPC': 'BitcoinPremium',
182
+ 'BST': 'BitStone',
183
+ 'BTS': 'Bitshares2',
184
+ 'CAT': 'BitClave',
185
+ 'CBC': 'CryptoBossCoin',
186
+ 'CMT': 'CometCoin',
187
+ 'COIN': 'Coin.com',
188
+ 'COV': 'Coven Coin',
189
+ 'COVX': 'COV',
190
+ 'CPC': 'Capricoin',
191
+ 'CREDIT': 'Creditbit',
192
+ 'CS': 'CryptoSpots',
193
+ 'DCT': 'Discount',
194
+ 'DFT': 'DraftCoin',
195
+ 'DGD': 'DarkGoldCoin',
196
+ 'DIRT': 'DIRTY',
197
+ 'DROP': 'FaucetCoin',
198
+ 'DSH': 'DASH',
199
+ 'EGC': 'EverGreenCoin',
200
+ 'EGG': 'EggCoin',
201
+ 'EKO': 'EkoCoin',
202
+ 'ENTER': 'ENTRC',
203
+ 'EPC': 'ExperienceCoin',
204
+ 'ESC': 'EdwardSnowden',
205
+ 'EUROPE': 'EUROP',
206
+ 'EXT': 'LifeExtension',
207
+ 'FUND': 'FUNDChains',
208
+ 'FUNK': 'FUNKCoin',
209
+ 'FX': 'FCoin',
210
+ 'GCC': 'GlobalCryptocurrency',
211
+ 'GEN': 'Genstake',
212
+ 'GENE': 'Genesiscoin',
213
+ 'GMR': 'Gimmer',
214
+ 'GOLD': 'GoldMint',
215
+ 'GOT': 'Giotto Coin',
216
+ 'GSX': 'GlowShares',
217
+ 'GT': 'GTcoin',
218
+ 'HTML5': 'HTML',
219
+ 'HYPERX': 'HYPER',
220
+ 'ICN': 'iCoin',
221
+ 'INSANE': 'INSN',
222
+ 'JNT': 'JointCoin',
223
+ 'JPC': 'JupiterCoin',
224
+ 'JWL': 'Jewels',
225
+ 'KNC': 'KingN Coin',
226
+ 'LBTCX': 'LiteBitcoin',
227
+ 'LIZI': 'LiZi',
228
+ 'LOC': 'LocoCoin',
229
+ 'LOCX': 'LOC',
230
+ 'LUNYR': 'LUN',
231
+ 'LUN': 'LunarCoin',
232
+ 'LUNA': 'Luna Coin',
233
+ 'MASK': 'Yobit MASK',
234
+ 'MDT': 'Midnight',
235
+ 'MEME': 'Memez Token',
236
+ 'MIS': 'MIScoin',
237
+ 'MM': 'MasterMint',
238
+ 'NAV': 'NavajoCoin',
239
+ 'NBT': 'NiceBytes',
240
+ 'OMG': 'OMGame',
241
+ 'ONX': 'Onix',
242
+ 'PAC': '$PAC',
243
+ 'PLAY': 'PlayCoin',
244
+ 'PIVX': 'Darknet',
245
+ 'PURE': 'PurePOS',
246
+ 'PUTIN': 'PutinCoin',
247
+ 'SPACE': 'Spacecoin',
248
+ 'STK': 'StakeCoin',
249
+ 'SUB': 'Subscriptio',
250
+ 'PAY': 'EPAY',
251
+ 'PLC': 'Platin Coin',
252
+ 'RAI': 'RaiderCoin',
253
+ 'RCN': 'RCoin',
254
+ 'REP': 'Republicoin',
255
+ 'RUR': 'RUB',
256
+ 'SBTC': 'Super Bitcoin',
257
+ 'SMC': 'SmartCoin',
258
+ 'SOLO': 'SoloCoin',
259
+ 'SOUL': 'SoulCoin',
260
+ 'STAR': 'StarCoin',
261
+ 'SUPER': 'SuperCoin',
262
+ 'TNS': 'Transcodium',
263
+ 'TTC': 'TittieCoin',
264
+ 'UNI': 'Universe',
265
+ 'UST': 'Uservice',
266
+ 'VOL': 'VolumeCoin',
267
+ 'XIN': 'XINCoin',
268
+ 'XMT': 'SummitCoin',
269
+ 'XRA': 'Ratecoin',
270
+ 'BCHN': 'BSV',
271
+ },
272
+ 'options': {
273
+ 'maxUrlLength': 2048,
274
+ 'fetchOrdersRequiresSymbol': true,
275
+ 'networks': {
276
+ 'ETH': 'ERC20',
277
+ 'TRX': 'TRC20',
278
+ 'BSC': 'BEP20',
279
+ },
280
+ },
281
+ 'precisionMode': TICK_SIZE,
282
+ 'exceptions': {
283
+ 'exact': {
284
+ '803': InvalidOrder,
285
+ '804': InvalidOrder,
286
+ '805': InvalidOrder,
287
+ '806': InvalidOrder,
288
+ '807': InvalidOrder,
289
+ '831': InsufficientFunds,
290
+ '832': InsufficientFunds,
291
+ '833': OrderNotFound, // "Order with id X was not found." (cancelling non-existent, closed and cancelled order)
292
+ },
293
+ 'broad': {
294
+ 'Invalid pair name': ExchangeError,
295
+ 'invalid api key': AuthenticationError,
296
+ 'invalid sign': AuthenticationError,
297
+ 'api key dont have trade permission': AuthenticationError,
298
+ 'invalid parameter': InvalidOrder,
299
+ 'invalid order': InvalidOrder,
300
+ 'The given order has already been cancelled': InvalidOrder,
301
+ 'Requests too often': DDoSProtection,
302
+ 'not available': ExchangeNotAvailable,
303
+ 'data unavailable': ExchangeNotAvailable,
304
+ 'external service unavailable': ExchangeNotAvailable,
305
+ 'Total transaction amount': InvalidOrder,
306
+ 'The given order has already been closed and cannot be cancelled': InvalidOrder,
307
+ 'Insufficient funds': InsufficientFunds,
308
+ 'invalid key': AuthenticationError,
309
+ 'invalid nonce': InvalidNonce,
310
+ 'Total order amount is less than minimal amount': InvalidOrder,
311
+ 'Rate Limited': RateLimitExceeded,
312
+ },
313
+ },
314
+ 'features': {
315
+ 'spot': {
316
+ 'sandbox': false,
317
+ 'createOrder': {
318
+ 'marginMode': false,
319
+ 'triggerPrice': false,
320
+ 'triggerDirection': false,
321
+ 'triggerPriceType': undefined,
322
+ 'stopLossPrice': false,
323
+ 'takeProfitPrice': false,
324
+ 'attachedStopLossTakeProfit': undefined,
325
+ 'timeInForce': {
326
+ 'IOC': false,
327
+ 'FOK': false,
328
+ 'PO': false,
329
+ 'GTD': false,
330
+ },
331
+ 'hedged': false,
332
+ 'trailing': false,
333
+ 'leverage': false,
334
+ 'marketBuyByCost': false,
335
+ 'marketBuyRequiresPrice': false,
336
+ 'selfTradePrevention': false,
337
+ 'iceberg': false,
338
+ },
339
+ 'createOrders': undefined,
340
+ 'fetchMyTrades': {
341
+ 'marginMode': false,
342
+ 'limit': 1000,
343
+ 'daysBack': 100000,
344
+ 'untilDays': 100000,
345
+ 'symbolRequired': true,
346
+ },
347
+ 'fetchOrder': {
348
+ 'marginMode': false,
349
+ 'trigger': false,
350
+ 'trailing': false,
351
+ 'symbolRequired': false,
352
+ },
353
+ 'fetchOpenOrders': {
354
+ 'marginMode': false,
355
+ 'limit': undefined,
356
+ 'trigger': false,
357
+ 'trailing': false,
358
+ 'symbolRequired': true,
359
+ },
360
+ 'fetchOrders': undefined,
361
+ 'fetchClosedOrders': undefined,
362
+ 'fetchOHLCV': undefined,
363
+ },
364
+ 'swap': {
365
+ 'linear': undefined,
366
+ 'inverse': undefined,
367
+ },
368
+ 'future': {
369
+ 'linear': undefined,
370
+ 'inverse': undefined,
371
+ },
372
+ },
373
+ 'orders': {}, // orders cache / emulation
374
+ });
375
+ }
376
+ parseBalance(response) {
377
+ const balances = this.safeDict(response, 'return', {});
378
+ const timestamp = this.safeInteger(balances, 'server_time');
379
+ const result = {
380
+ 'info': response,
381
+ 'timestamp': timestamp,
382
+ 'datetime': this.iso8601(timestamp),
383
+ };
384
+ const free = this.safeDict(balances, 'funds', {});
385
+ const total = this.safeDict(balances, 'funds_incl_orders', {});
386
+ const currencyIds = Object.keys(this.extend(free, total));
387
+ for (let i = 0; i < currencyIds.length; i++) {
388
+ const currencyId = currencyIds[i];
389
+ const code = this.safeCurrencyCode(currencyId);
390
+ const account = this.account();
391
+ account['free'] = this.safeString(free, currencyId);
392
+ account['total'] = this.safeString(total, currencyId);
393
+ result[code] = account;
394
+ }
395
+ return this.safeBalance(result);
396
+ }
397
+ /**
398
+ * @method
399
+ * @name yobit#fetchBalance
400
+ * @see https://yobit.net/en/api
401
+ * @description query for balance and get the amount of funds available for trading or funds locked in orders
402
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
403
+ * @returns {object} a [balance structure]{@link https://docs.ccxt.com/#/?id=balance-structure}
404
+ */
405
+ async fetchBalance(params = {}) {
406
+ await this.loadMarkets();
407
+ const response = await this.privatePostGetInfo(params);
408
+ //
409
+ // {
410
+ // "success":1,
411
+ // "return":{
412
+ // "funds":{
413
+ // "ltc":22,
414
+ // "nvc":423.998,
415
+ // "ppc":10,
416
+ // },
417
+ // "funds_incl_orders":{
418
+ // "ltc":32,
419
+ // "nvc":523.998,
420
+ // "ppc":20,
421
+ // },
422
+ // "rights":{
423
+ // "info":1,
424
+ // "trade":0,
425
+ // "withdraw":0
426
+ // },
427
+ // "transaction_count":0,
428
+ // "open_orders":1,
429
+ // "server_time":1418654530
430
+ // }
431
+ // }
432
+ //
433
+ return this.parseBalance(response);
434
+ }
435
+ /**
436
+ * @method
437
+ * @name yobit#fetchMarkets
438
+ * @see https://yobit.net/en/api
439
+ * @description retrieves data on all markets for yobit
440
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
441
+ * @returns {object[]} an array of objects representing market data
442
+ */
443
+ async fetchMarkets(params = {}) {
444
+ const response = await this.publicGetInfo(params);
445
+ //
446
+ // {
447
+ // "server_time":1615856752,
448
+ // "pairs":{
449
+ // "ltc_btc":{
450
+ // "decimal_places":8,
451
+ // "min_price":0.00000001,
452
+ // "max_price":10000,
453
+ // "min_amount":0.0001,
454
+ // "min_total":0.0001,
455
+ // "hidden":0,
456
+ // "fee":0.2,
457
+ // "fee_buyer":0.2,
458
+ // "fee_seller":0.2
459
+ // },
460
+ // },
461
+ // }
462
+ //
463
+ const markets = this.safeDict(response, 'pairs', {});
464
+ const keys = Object.keys(markets);
465
+ const result = [];
466
+ for (let i = 0; i < keys.length; i++) {
467
+ const id = keys[i];
468
+ const market = markets[id];
469
+ const [baseId, quoteId] = id.split('_');
470
+ let base = baseId.toUpperCase();
471
+ let quote = quoteId.toUpperCase();
472
+ base = this.safeCurrencyCode(base);
473
+ quote = this.safeCurrencyCode(quote);
474
+ const hidden = this.safeInteger(market, 'hidden');
475
+ let feeString = this.safeString(market, 'fee');
476
+ feeString = Precise.stringDiv(feeString, '100');
477
+ // yobit maker = taker
478
+ result.push({
479
+ 'id': id,
480
+ 'symbol': base + '/' + quote,
481
+ 'base': base,
482
+ 'quote': quote,
483
+ 'settle': undefined,
484
+ 'baseId': baseId,
485
+ 'quoteId': quoteId,
486
+ 'settleId': undefined,
487
+ 'type': 'spot',
488
+ 'spot': true,
489
+ 'margin': false,
490
+ 'swap': false,
491
+ 'future': false,
492
+ 'option': false,
493
+ 'active': (hidden === 0),
494
+ 'contract': false,
495
+ 'linear': undefined,
496
+ 'inverse': undefined,
497
+ 'taker': this.parseNumber(feeString),
498
+ 'maker': this.parseNumber(feeString),
499
+ 'contractSize': undefined,
500
+ 'expiry': undefined,
501
+ 'expiryDatetime': undefined,
502
+ 'strike': undefined,
503
+ 'optionType': undefined,
504
+ 'precision': {
505
+ 'amount': this.parseNumber(this.parsePrecision(this.safeString(market, 'decimal_places'))),
506
+ 'price': this.parseNumber(this.parsePrecision(this.safeString(market, 'decimal_places'))),
507
+ },
508
+ 'limits': {
509
+ 'leverage': {
510
+ 'min': undefined,
511
+ 'max': undefined,
512
+ },
513
+ 'amount': {
514
+ 'min': this.safeNumber(market, 'min_amount'),
515
+ 'max': this.safeNumber(market, 'max_amount'),
516
+ },
517
+ 'price': {
518
+ 'min': this.safeNumber(market, 'min_price'),
519
+ 'max': this.safeNumber(market, 'max_price'),
520
+ },
521
+ 'cost': {
522
+ 'min': this.safeNumber(market, 'min_total'),
523
+ 'max': undefined,
524
+ },
525
+ },
526
+ 'created': undefined,
527
+ 'info': market,
528
+ });
529
+ }
530
+ return result;
531
+ }
532
+ /**
533
+ * @method
534
+ * @name yobit#fetchOrderBook
535
+ * @see https://yobit.net/en/api
536
+ * @description fetches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
537
+ * @param {string} symbol unified symbol of the market to fetch the order book for
538
+ * @param {int} [limit] the maximum amount of order book entries to return
539
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
540
+ * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
541
+ */
542
+ async fetchOrderBook(symbol, limit = undefined, params = {}) {
543
+ await this.loadMarkets();
544
+ const market = this.market(symbol);
545
+ const request = {
546
+ 'pair': market['id'],
547
+ };
548
+ if (limit !== undefined) {
549
+ request['limit'] = limit; // default = 150, max = 2000
550
+ }
551
+ const response = await this.publicGetDepthPair(this.extend(request, params));
552
+ const market_id_in_reponse = (market['id'] in response);
553
+ if (!market_id_in_reponse) {
554
+ throw new ExchangeError(this.id + ' ' + market['symbol'] + ' order book is empty or not available');
555
+ }
556
+ const orderbook = response[market['id']];
557
+ return this.parseOrderBook(orderbook, symbol);
558
+ }
559
+ /**
560
+ * @method
561
+ * @name yobit#fetchOrderBooks
562
+ * @see https://yobit.net/en/api
563
+ * @description fetches information on open orders with bid (buy) and ask (sell) prices, volumes and other data for multiple markets
564
+ * @param {string[]|undefined} symbols list of unified market symbols, all symbols fetched if undefined, default is undefined
565
+ * @param {int} [limit] max number of entries per orderbook to return, default is undefined
566
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
567
+ * @returns {object} a dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbol
568
+ */
569
+ async fetchOrderBooks(symbols = undefined, limit = undefined, params = {}) {
570
+ await this.loadMarkets();
571
+ let ids = undefined;
572
+ if (symbols === undefined) {
573
+ ids = this.ids.join('-');
574
+ // max URL length is 2083 symbols, including http schema, hostname, tld, etc...
575
+ if (ids.length > 2048) {
576
+ const numIds = this.ids.length;
577
+ throw new ExchangeError(this.id + ' fetchOrderBooks() has ' + numIds.toString() + ' symbols exceeding max URL length, you are required to specify a list of symbols in the first argument to fetchOrderBooks');
578
+ }
579
+ }
580
+ else {
581
+ ids = this.marketIds(symbols);
582
+ ids = ids.join('-');
583
+ }
584
+ const request = {
585
+ 'pair': ids,
586
+ // 'ignore_invalid': true,
587
+ };
588
+ if (limit !== undefined) {
589
+ request['limit'] = limit;
590
+ }
591
+ const response = await this.publicGetDepthPair(this.extend(request, params));
592
+ const result = {};
593
+ ids = Object.keys(response);
594
+ for (let i = 0; i < ids.length; i++) {
595
+ const id = ids[i];
596
+ const symbol = this.safeSymbol(id);
597
+ result[symbol] = this.parseOrderBook(response[id], symbol);
598
+ }
599
+ return result;
600
+ }
601
+ parseTicker(ticker, market = undefined) {
602
+ //
603
+ // {
604
+ // "high": 0.03497582,
605
+ // "low": 0.03248474,
606
+ // "avg": 0.03373028,
607
+ // "vol": 120.11485715062999,
608
+ // "vol_cur": 3572.24914074,
609
+ // "last": 0.0337611,
610
+ // "buy": 0.0337442,
611
+ // "sell": 0.03377798,
612
+ // "updated": 1537522009
613
+ // }
614
+ //
615
+ const timestamp = this.safeTimestamp(ticker, 'updated');
616
+ const last = this.safeString(ticker, 'last');
617
+ return this.safeTicker({
618
+ 'symbol': this.safeSymbol(undefined, market),
619
+ 'timestamp': timestamp,
620
+ 'datetime': this.iso8601(timestamp),
621
+ 'high': this.safeString(ticker, 'high'),
622
+ 'low': this.safeString(ticker, 'low'),
623
+ 'bid': this.safeString(ticker, 'buy'),
624
+ 'bidVolume': undefined,
625
+ 'ask': this.safeString(ticker, 'sell'),
626
+ 'askVolume': undefined,
627
+ 'vwap': undefined,
628
+ 'open': undefined,
629
+ 'close': last,
630
+ 'last': last,
631
+ 'previousClose': undefined,
632
+ 'change': undefined,
633
+ 'percentage': undefined,
634
+ 'average': this.safeString(ticker, 'avg'),
635
+ 'baseVolume': this.safeString(ticker, 'vol_cur'),
636
+ 'quoteVolume': this.safeString(ticker, 'vol'),
637
+ 'info': ticker,
638
+ }, market);
639
+ }
640
+ async fetchTickersHelper(idsString, params = {}) {
641
+ const request = {
642
+ 'pair': idsString,
643
+ };
644
+ const tickers = await this.publicGetTickerPair(this.extend(request, params));
645
+ const result = {};
646
+ const keys = Object.keys(tickers);
647
+ for (let k = 0; k < keys.length; k++) {
648
+ const id = keys[k];
649
+ const ticker = tickers[id];
650
+ const market = this.safeMarket(id);
651
+ const symbol = market['symbol'];
652
+ result[symbol] = this.parseTicker(ticker, market);
653
+ }
654
+ return result;
655
+ }
656
+ /**
657
+ * @method
658
+ * @name yobit#fetchTickers
659
+ * @see https://yobit.net/en/api
660
+ * @description fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
661
+ * @param {string[]|undefined} symbols unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
662
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
663
+ * @param {object} [params.all] you can set to `true` for convenience to fetch all tickers from this exchange by sending multiple requests
664
+ * @returns {object} a dictionary of [ticker structures]{@link https://docs.ccxt.com/#/?id=ticker-structure}
665
+ */
666
+ async fetchTickers(symbols = undefined, params = {}) {
667
+ let allSymbols = undefined;
668
+ [allSymbols, params] = this.handleParamBool(params, 'all', false);
669
+ if (symbols === undefined && !allSymbols) {
670
+ throw new ArgumentsRequired(this.id + ' fetchTickers() requires "symbols" argument or use `params["all"] = true` to send multiple requests for all markets');
671
+ }
672
+ await this.loadMarkets();
673
+ const promises = [];
674
+ const maxLength = this.safeInteger(this.options, 'maxUrlLength', 2048);
675
+ // max URL length is 2048 symbols, including http schema, hostname, tld, etc...
676
+ const lenghtOfBaseUrl = 40; // safe space for the url including api-base and endpoint dir is 30 chars
677
+ if (allSymbols) {
678
+ symbols = this.symbols;
679
+ let ids = '';
680
+ for (let i = 0; i < this.ids.length; i++) {
681
+ const id = this.ids[i];
682
+ const prefix = (ids === '') ? '' : '-';
683
+ ids += prefix + id;
684
+ if (ids.length > maxLength) {
685
+ promises.push(this.fetchTickersHelper(ids, params));
686
+ ids = '';
687
+ }
688
+ }
689
+ if (ids !== '') {
690
+ promises.push(this.fetchTickersHelper(ids, params));
691
+ }
692
+ }
693
+ else {
694
+ symbols = this.marketSymbols(symbols);
695
+ const ids = this.marketIds(symbols);
696
+ const idsLength = ids.length;
697
+ const idsString = ids.join('-');
698
+ const actualLength = idsString.length + lenghtOfBaseUrl;
699
+ if (actualLength > maxLength) {
700
+ throw new ArgumentsRequired(this.id + ' fetchTickers() is being requested for ' + idsLength.toString() + ' markets (which has an URL length of ' + actualLength.toString() + ' characters), but it exceedes max URL length (' + maxLength.toString() + '), please pass limisted symbols array to fetchTickers to fit in one request');
701
+ }
702
+ promises.push(this.fetchTickersHelper(idsString, params));
703
+ }
704
+ const resultAll = await Promise.all(promises);
705
+ let finalResult = {};
706
+ for (let i = 0; i < resultAll.length; i++) {
707
+ const result = this.filterByArrayTickers(resultAll[i], 'symbol', symbols);
708
+ finalResult = this.extend(finalResult, result);
709
+ }
710
+ return finalResult;
711
+ }
712
+ /**
713
+ * @method
714
+ * @name yobit#fetchTicker
715
+ * @see https://yobit.net/en/api
716
+ * @description fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
717
+ * @param {string} symbol unified symbol of the market to fetch the ticker for
718
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
719
+ * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
720
+ */
721
+ async fetchTicker(symbol, params = {}) {
722
+ const tickers = await this.fetchTickers([symbol], params);
723
+ return tickers[symbol];
724
+ }
725
+ parseTrade(trade, market = undefined) {
726
+ //
727
+ // fetchTrades (public)
728
+ //
729
+ // {
730
+ // "type":"bid",
731
+ // "price":0.14046179,
732
+ // "amount":0.001,
733
+ // "tid":200256901,
734
+ // "timestamp":1649861004
735
+ // }
736
+ //
737
+ // fetchMyTrades (private)
738
+ //
739
+ // {
740
+ // "pair":"doge_usdt",
741
+ // "type":"sell",
742
+ // "amount":139,
743
+ // "rate":0.139,
744
+ // "order_id":"2101103631773172",
745
+ // "is_your_order":1,
746
+ // "timestamp":"1649861561"
747
+ // }
748
+ //
749
+ const timestamp = this.safeTimestamp(trade, 'timestamp');
750
+ let side = this.safeString(trade, 'type');
751
+ if (side === 'ask') {
752
+ side = 'sell';
753
+ }
754
+ else if (side === 'bid') {
755
+ side = 'buy';
756
+ }
757
+ const priceString = this.safeString2(trade, 'rate', 'price');
758
+ const id = this.safeString2(trade, 'trade_id', 'tid');
759
+ const order = this.safeString(trade, 'order_id');
760
+ const marketId = this.safeString(trade, 'pair');
761
+ const symbol = this.safeSymbol(marketId, market);
762
+ const amountString = this.safeString(trade, 'amount');
763
+ // arguments for calculateFee (need to be numbers)
764
+ const price = this.parseNumber(priceString);
765
+ const amount = this.parseNumber(amountString);
766
+ const type = 'limit'; // all trades are still limit trades
767
+ let fee = undefined;
768
+ const feeCostString = this.safeNumber(trade, 'commission');
769
+ if (feeCostString !== undefined) {
770
+ const feeCurrencyId = this.safeString(trade, 'commissionCurrency');
771
+ const feeCurrencyCode = this.safeCurrencyCode(feeCurrencyId);
772
+ fee = {
773
+ 'cost': feeCostString,
774
+ 'currency': feeCurrencyCode,
775
+ };
776
+ }
777
+ const isYourOrder = this.safeString(trade, 'is_your_order');
778
+ if (isYourOrder !== undefined) {
779
+ if (fee === undefined) {
780
+ const feeInNumbers = this.calculateFee(symbol, type, side, amount, price, 'taker');
781
+ fee = {
782
+ 'currency': this.safeString(feeInNumbers, 'currency'),
783
+ 'cost': this.safeString(feeInNumbers, 'cost'),
784
+ 'rate': this.safeString(feeInNumbers, 'rate'),
785
+ };
786
+ }
787
+ }
788
+ return this.safeTrade({
789
+ 'id': id,
790
+ 'order': order,
791
+ 'timestamp': timestamp,
792
+ 'datetime': this.iso8601(timestamp),
793
+ 'symbol': symbol,
794
+ 'type': type,
795
+ 'side': side,
796
+ 'takerOrMaker': undefined,
797
+ 'price': priceString,
798
+ 'amount': amountString,
799
+ 'cost': undefined,
800
+ 'fee': fee,
801
+ 'info': trade,
802
+ }, market);
803
+ }
804
+ /**
805
+ * @method
806
+ * @name yobit#fetchTrades
807
+ * @see https://yobit.net/en/api
808
+ * @description get the list of most recent trades for a particular symbol
809
+ * @param {string} symbol unified symbol of the market to fetch trades for
810
+ * @param {int} [since] timestamp in ms of the earliest trade to fetch
811
+ * @param {int} [limit] the maximum amount of trades to fetch
812
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
813
+ * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=public-trades}
814
+ */
815
+ async fetchTrades(symbol, since = undefined, limit = undefined, params = {}) {
816
+ await this.loadMarkets();
817
+ const market = this.market(symbol);
818
+ const request = {
819
+ 'pair': market['id'],
820
+ };
821
+ if (limit !== undefined) {
822
+ request['limit'] = limit;
823
+ }
824
+ const response = await this.publicGetTradesPair(this.extend(request, params));
825
+ //
826
+ // {
827
+ // "doge_usdt": [
828
+ // {
829
+ // "type":"ask",
830
+ // "price":0.13956743,
831
+ // "amount":0.0008,
832
+ // "tid":200256900,
833
+ // "timestamp":1649860521
834
+ // },
835
+ // ]
836
+ // }
837
+ //
838
+ if (Array.isArray(response)) {
839
+ const numElements = response.length;
840
+ if (numElements === 0) {
841
+ return [];
842
+ }
843
+ }
844
+ const result = this.safeList(response, market['id'], []);
845
+ return this.parseTrades(result, market, since, limit);
846
+ }
847
+ /**
848
+ * @method
849
+ * @name yobit#fetchTradingFees
850
+ * @see https://yobit.net/en/api
851
+ * @description fetch the trading fees for multiple markets
852
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
853
+ * @returns {object} a dictionary of [fee structures]{@link https://docs.ccxt.com/#/?id=fee-structure} indexed by market symbols
854
+ */
855
+ async fetchTradingFees(params = {}) {
856
+ await this.loadMarkets();
857
+ const response = await this.publicGetInfo(params);
858
+ //
859
+ // {
860
+ // "server_time":1615856752,
861
+ // "pairs":{
862
+ // "ltc_btc":{
863
+ // "decimal_places":8,
864
+ // "min_price":0.00000001,
865
+ // "max_price":10000,
866
+ // "min_amount":0.0001,
867
+ // "min_total":0.0001,
868
+ // "hidden":0,
869
+ // "fee":0.2,
870
+ // "fee_buyer":0.2,
871
+ // "fee_seller":0.2
872
+ // },
873
+ // ...
874
+ // },
875
+ // }
876
+ //
877
+ const pairs = this.safeDict(response, 'pairs', {});
878
+ const marketIds = Object.keys(pairs);
879
+ const result = {};
880
+ for (let i = 0; i < marketIds.length; i++) {
881
+ const marketId = marketIds[i];
882
+ const pair = this.safeDict(pairs, marketId, {});
883
+ const symbol = this.safeSymbol(marketId, undefined, '_');
884
+ const takerString = this.safeString(pair, 'fee_buyer');
885
+ const makerString = this.safeString(pair, 'fee_seller');
886
+ const taker = this.parseNumber(Precise.stringDiv(takerString, '100'));
887
+ const maker = this.parseNumber(Precise.stringDiv(makerString, '100'));
888
+ result[symbol] = {
889
+ 'info': pair,
890
+ 'symbol': symbol,
891
+ 'taker': taker,
892
+ 'maker': maker,
893
+ 'percentage': true,
894
+ 'tierBased': false,
895
+ };
896
+ }
897
+ return result;
898
+ }
899
+ /**
900
+ * @method
901
+ * @name yobit#createOrder
902
+ * @see https://yobit.net/en/api
903
+ * @description create a trade order
904
+ * @param {string} symbol unified symbol of the market to create an order in
905
+ * @param {string} type must be 'limit'
906
+ * @param {string} side 'buy' or 'sell'
907
+ * @param {float} amount how much of currency you want to trade in units of base currency
908
+ * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
909
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
910
+ * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
911
+ */
912
+ async createOrder(symbol, type, side, amount, price = undefined, params = {}) {
913
+ if (type === 'market') {
914
+ throw new ExchangeError(this.id + ' createOrder() allows limit orders only');
915
+ }
916
+ await this.loadMarkets();
917
+ const market = this.market(symbol);
918
+ const request = {
919
+ 'pair': market['id'],
920
+ 'type': side,
921
+ 'amount': this.amountToPrecision(symbol, amount),
922
+ 'rate': this.priceToPrecision(symbol, price),
923
+ };
924
+ const response = await this.privatePostTrade(this.extend(request, params));
925
+ //
926
+ // {
927
+ // "success":1,
928
+ // "return": {
929
+ // "received":0,
930
+ // "remains":10,
931
+ // "order_id":1101103635125179,
932
+ // "funds": {
933
+ // "usdt":27.84756553,
934
+ // "usdttrc20":0,
935
+ // "doge":19.98327206
936
+ // },
937
+ // "funds_incl_orders": {
938
+ // "usdt":30.35256553,
939
+ // "usdttrc20":0,
940
+ // "doge":19.98327206
941
+ // },
942
+ // "server_time":1650114256
943
+ // }
944
+ // }
945
+ //
946
+ const result = this.safeDict(response, 'return');
947
+ return this.parseOrder(result, market);
948
+ }
949
+ /**
950
+ * @method
951
+ * @name yobit#cancelOrder
952
+ * @see https://yobit.net/en/api
953
+ * @description cancels an open order
954
+ * @param {string} id order id
955
+ * @param {string} symbol not used by yobit cancelOrder ()
956
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
957
+ * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
958
+ */
959
+ async cancelOrder(id, symbol = undefined, params = {}) {
960
+ await this.loadMarkets();
961
+ const request = {
962
+ 'order_id': parseInt(id),
963
+ };
964
+ const response = await this.privatePostCancelOrder(this.extend(request, params));
965
+ //
966
+ // {
967
+ // "success":1,
968
+ // "return": {
969
+ // "order_id":1101103632552304,
970
+ // "funds": {
971
+ // "usdt":30.71055443,
972
+ // "usdttrc20":0,
973
+ // "doge":9.98327206
974
+ // },
975
+ // "funds_incl_orders": {
976
+ // "usdt":31.81275443,
977
+ // "usdttrc20":0,
978
+ // "doge":9.98327206
979
+ // },
980
+ // "server_time":1649918298
981
+ // }
982
+ // }
983
+ //
984
+ const result = this.safeDict(response, 'return', {});
985
+ return this.parseOrder(result);
986
+ }
987
+ parseOrderStatus(status) {
988
+ const statuses = {
989
+ '0': 'open',
990
+ '1': 'closed',
991
+ '2': 'canceled',
992
+ '3': 'open', // or partially-filled and canceled? https://github.com/ccxt/ccxt/issues/1594
993
+ };
994
+ return this.safeString(statuses, status, status);
995
+ }
996
+ parseOrder(order, market = undefined) {
997
+ //
998
+ // createOrder (private)
999
+ //
1000
+ // {
1001
+ // "received":0,
1002
+ // "remains":10,
1003
+ // "order_id":1101103635125179,
1004
+ // "funds": {
1005
+ // "usdt":27.84756553,
1006
+ // "usdttrc20":0,
1007
+ // "doge":19.98327206
1008
+ // },
1009
+ // "funds_incl_orders": {
1010
+ // "usdt":30.35256553,
1011
+ // "usdttrc20":0,
1012
+ // "doge":19.98327206
1013
+ // },
1014
+ // "server_time":1650114256
1015
+ // }
1016
+ //
1017
+ // fetchOrder (private)
1018
+ //
1019
+ // {
1020
+ // "id: "1101103635103335", // id-field is manually added in fetchOrder () from exchange response id-order dictionary structure
1021
+ // "pair":"doge_usdt",
1022
+ // "type":"buy",
1023
+ // "start_amount":10,
1024
+ // "amount":10,
1025
+ // "rate":0.05,
1026
+ // "timestamp_created":"1650112553",
1027
+ // "status":0
1028
+ // }
1029
+ //
1030
+ // fetchOpenOrders (private)
1031
+ //
1032
+ // {
1033
+ // "id":"1101103635103335", // id-field is manually added in fetchOpenOrders () from exchange response id-order dictionary structure
1034
+ // "pair":"doge_usdt",
1035
+ // "type":"buy",
1036
+ // "amount":10,
1037
+ // "rate":0.05,
1038
+ // "timestamp_created":"1650112553",
1039
+ // "status":0
1040
+ // }
1041
+ //
1042
+ // cancelOrder (private)
1043
+ //
1044
+ // {
1045
+ // "order_id":1101103634000197,
1046
+ // "funds": {
1047
+ // "usdt":31.81275443,
1048
+ // "usdttrc20":0,
1049
+ // "doge":9.98327206
1050
+ // },
1051
+ // "funds_incl_orders": {
1052
+ // "usdt":31.81275443,
1053
+ // "usdttrc20":0,
1054
+ // "doge":9.98327206
1055
+ // }
1056
+ // }
1057
+ //
1058
+ let id = this.safeString2(order, 'id', 'order_id');
1059
+ let status = this.parseOrderStatus(this.safeString(order, 'status', 'open'));
1060
+ if (id === '0') {
1061
+ id = this.safeString(order, 'init_order_id');
1062
+ status = 'closed';
1063
+ }
1064
+ const timestamp = this.safeTimestamp2(order, 'timestamp_created', 'server_time');
1065
+ const marketId = this.safeString(order, 'pair');
1066
+ const symbol = this.safeSymbol(marketId, market);
1067
+ const amount = this.safeString(order, 'start_amount');
1068
+ const remaining = this.safeString2(order, 'amount', 'remains');
1069
+ const filled = this.safeString(order, 'received', '0.0');
1070
+ const price = this.safeString(order, 'rate');
1071
+ const fee = undefined;
1072
+ const type = 'limit';
1073
+ const side = this.safeString(order, 'type');
1074
+ return this.safeOrder({
1075
+ 'info': order,
1076
+ 'id': id,
1077
+ 'clientOrderId': undefined,
1078
+ 'symbol': symbol,
1079
+ 'timestamp': timestamp,
1080
+ 'datetime': this.iso8601(timestamp),
1081
+ 'lastTradeTimestamp': undefined,
1082
+ 'type': type,
1083
+ 'timeInForce': undefined,
1084
+ 'postOnly': undefined,
1085
+ 'side': side,
1086
+ 'price': price,
1087
+ 'triggerPrice': undefined,
1088
+ 'cost': undefined,
1089
+ 'amount': amount,
1090
+ 'remaining': remaining,
1091
+ 'filled': filled,
1092
+ 'status': status,
1093
+ 'fee': fee,
1094
+ 'average': undefined,
1095
+ 'trades': undefined,
1096
+ }, market);
1097
+ }
1098
+ /**
1099
+ * @method
1100
+ * @name yobit#fetchOrder
1101
+ * @see https://yobit.net/en/api
1102
+ * @description fetches information on an order made by the user
1103
+ * @param {string} id order id
1104
+ * @param {string} symbol not used by yobit fetchOrder
1105
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1106
+ * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
1107
+ */
1108
+ async fetchOrder(id, symbol = undefined, params = {}) {
1109
+ await this.loadMarkets();
1110
+ const request = {
1111
+ 'order_id': parseInt(id),
1112
+ };
1113
+ const response = await this.privatePostOrderInfo(this.extend(request, params));
1114
+ id = id.toString();
1115
+ const orders = this.safeDict(response, 'return', {});
1116
+ //
1117
+ // {
1118
+ // "success":1,
1119
+ // "return": {
1120
+ // "1101103635103335": {
1121
+ // "pair":"doge_usdt",
1122
+ // "type":"buy",
1123
+ // "start_amount":10,
1124
+ // "amount":10,
1125
+ // "rate":0.05,
1126
+ // "timestamp_created":"1650112553",
1127
+ // "status":0
1128
+ // }
1129
+ // }
1130
+ // }
1131
+ //
1132
+ return this.parseOrder(this.extend({ 'id': id }, orders[id]));
1133
+ }
1134
+ /**
1135
+ * @method
1136
+ * @name yobit#fetchOpenOrders
1137
+ * @see https://yobit.net/en/api
1138
+ * @description fetch all unfilled currently open orders
1139
+ * @param {string} symbol unified market symbol
1140
+ * @param {int} [since] the earliest time in ms to fetch open orders for
1141
+ * @param {int} [limit] the maximum number of open order structures to retrieve
1142
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1143
+ * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
1144
+ */
1145
+ async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
1146
+ if (symbol === undefined) {
1147
+ throw new ArgumentsRequired(this.id + ' fetchOpenOrders() requires a symbol argument');
1148
+ }
1149
+ await this.loadMarkets();
1150
+ const request = {};
1151
+ const market = undefined;
1152
+ if (symbol !== undefined) {
1153
+ const marketInner = this.market(symbol);
1154
+ request['pair'] = marketInner['id'];
1155
+ }
1156
+ const response = await this.privatePostActiveOrders(this.extend(request, params));
1157
+ //
1158
+ // {
1159
+ // "success":1,
1160
+ // "return": {
1161
+ // "1101103634006799": {
1162
+ // "pair":"doge_usdt",
1163
+ // "type":"buy",
1164
+ // "amount":10,
1165
+ // "rate":0.1,
1166
+ // "timestamp_created":"1650034937",
1167
+ // "status":0
1168
+ // },
1169
+ // "1101103634006738": {
1170
+ // "pair":"doge_usdt",
1171
+ // "type":"buy",
1172
+ // "amount":10,
1173
+ // "rate":0.1,
1174
+ // "timestamp_created":"1650034932",
1175
+ // "status":0
1176
+ // }
1177
+ // }
1178
+ // }
1179
+ //
1180
+ const result = this.safeDict(response, 'return', {});
1181
+ return this.parseOrders(result, market, since, limit);
1182
+ }
1183
+ /**
1184
+ * @method
1185
+ * @name yobit#fetchMyTrades
1186
+ * @see https://yobit.net/en/api
1187
+ * @description fetch all trades made by the user
1188
+ * @param {string} symbol unified market symbol
1189
+ * @param {int} [since] the earliest time in ms to fetch trades for
1190
+ * @param {int} [limit] the maximum number of trades structures to retrieve
1191
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1192
+ * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=trade-structure}
1193
+ */
1194
+ async fetchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
1195
+ if (symbol === undefined) {
1196
+ throw new ArgumentsRequired(this.id + ' fetchMyTrades() requires a symbol argument');
1197
+ }
1198
+ await this.loadMarkets();
1199
+ const market = this.market(symbol);
1200
+ // some derived classes use camelcase notation for request fields
1201
+ const request = {
1202
+ // 'from': 123456789, // trade ID, from which the display starts numerical 0 (test result: liqui ignores this field)
1203
+ // 'count': 1000, // the number of trades for display numerical, default = 1000
1204
+ // 'from_id': trade ID, from which the display starts numerical 0
1205
+ // 'end_id': trade ID on which the display ends numerical ∞
1206
+ // 'order': 'ASC', // sorting, default = DESC (test result: liqui ignores this field, most recent trade always goes last)
1207
+ // 'since': 1234567890, // UTC start time, default = 0 (test result: liqui ignores this field)
1208
+ // 'end': 1234567890, // UTC end time, default = ∞ (test result: liqui ignores this field)
1209
+ 'pair': market['id'],
1210
+ };
1211
+ if (limit !== undefined) {
1212
+ request['count'] = limit;
1213
+ }
1214
+ if (since !== undefined) {
1215
+ request['since'] = this.parseToInt(since / 1000);
1216
+ }
1217
+ const response = await this.privatePostTradeHistory(this.extend(request, params));
1218
+ //
1219
+ // {
1220
+ // "success":1,
1221
+ // "return": {
1222
+ // "200257004": {
1223
+ // "pair":"doge_usdt",
1224
+ // "type":"sell",
1225
+ // "amount":139,
1226
+ // "rate":0.139,
1227
+ // "order_id":"2101103631773172",
1228
+ // "is_your_order":1,
1229
+ // "timestamp":"1649861561"
1230
+ // }
1231
+ // }
1232
+ // }
1233
+ //
1234
+ const trades = this.safeDict(response, 'return', {});
1235
+ const ids = Object.keys(trades);
1236
+ const result = [];
1237
+ for (let i = 0; i < ids.length; i++) {
1238
+ const id = this.safeString(ids, i);
1239
+ const trade = this.parseTrade(this.extend(trades[id], {
1240
+ 'trade_id': id,
1241
+ }), market);
1242
+ result.push(trade);
1243
+ }
1244
+ return this.filterBySymbolSinceLimit(result, market['symbol'], since, limit);
1245
+ }
1246
+ /**
1247
+ * @method
1248
+ * @name yobit#createDepositAddress
1249
+ * @see https://yobit.net/en/api
1250
+ * @description create a currency deposit address
1251
+ * @param {string} code unified currency code of the currency for the deposit address
1252
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1253
+ * @returns {object} an [address structure]{@link https://docs.ccxt.com/#/?id=address-structure}
1254
+ */
1255
+ async createDepositAddress(code, params = {}) {
1256
+ const request = {
1257
+ 'need_new': 1,
1258
+ };
1259
+ const response = await this.fetchDepositAddress(code, this.extend(request, params));
1260
+ const address = this.safeString(response, 'address');
1261
+ this.checkAddress(address);
1262
+ return {
1263
+ 'currency': code,
1264
+ 'address': address,
1265
+ 'tag': undefined,
1266
+ 'network': undefined,
1267
+ 'info': response['info'],
1268
+ };
1269
+ }
1270
+ /**
1271
+ * @method
1272
+ * @name yobit#fetchDepositAddress
1273
+ * @description fetch the deposit address for a currency associated with this account
1274
+ * @see https://yobit.net/en/api
1275
+ * @param {string} code unified currency code
1276
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1277
+ * @returns {object} an [address structure]{@link https://docs.ccxt.com/#/?id=address-structure}
1278
+ */
1279
+ async fetchDepositAddress(code, params = {}) {
1280
+ await this.loadMarkets();
1281
+ const currency = this.currency(code);
1282
+ let currencyId = currency['id'];
1283
+ const networks = this.safeDict(this.options, 'networks', {});
1284
+ let network = this.safeStringUpper(params, 'network'); // this line allows the user to specify either ERC20 or ETH
1285
+ network = this.safeString(networks, network, network); // handle ERC20>ETH alias
1286
+ if (network !== undefined) {
1287
+ if (network !== 'ERC20') {
1288
+ currencyId = currencyId + network.toLowerCase();
1289
+ }
1290
+ params = this.omit(params, 'network');
1291
+ }
1292
+ const request = {
1293
+ 'coinName': currencyId,
1294
+ 'need_new': 0,
1295
+ };
1296
+ const response = await this.privatePostGetDepositAddress(this.extend(request, params));
1297
+ const address = this.safeString(response['return'], 'address');
1298
+ this.checkAddress(address);
1299
+ return {
1300
+ 'info': response,
1301
+ 'currency': code,
1302
+ 'network': undefined,
1303
+ 'address': address,
1304
+ 'tag': undefined,
1305
+ };
1306
+ }
1307
+ /**
1308
+ * @method
1309
+ * @name yobit#withdraw
1310
+ * @see https://yobit.net/en/api
1311
+ * @description make a withdrawal
1312
+ * @param {string} code unified currency code
1313
+ * @param {float} amount the amount to withdraw
1314
+ * @param {string} address the address to withdraw to
1315
+ * @param {string} tag
1316
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1317
+ * @returns {object} a [transaction structure]{@link https://docs.ccxt.com/#/?id=transaction-structure}
1318
+ */
1319
+ async withdraw(code, amount, address, tag = undefined, params = {}) {
1320
+ [tag, params] = this.handleWithdrawTagAndParams(tag, params);
1321
+ this.checkAddress(address);
1322
+ await this.loadMarkets();
1323
+ const currency = this.currency(code);
1324
+ const request = {
1325
+ 'coinName': currency['id'],
1326
+ 'amount': amount,
1327
+ 'address': address,
1328
+ };
1329
+ // no docs on the tag, yet...
1330
+ if (tag !== undefined) {
1331
+ throw new ExchangeError(this.id + ' withdraw() does not support the tag argument yet due to a lack of docs on withdrawing with tag/memo on behalf of the exchange.');
1332
+ }
1333
+ const response = await this.privatePostWithdrawCoinsToAddress(this.extend(request, params));
1334
+ return {
1335
+ 'info': response,
1336
+ 'id': undefined,
1337
+ 'txid': undefined,
1338
+ 'type': undefined,
1339
+ 'currency': undefined,
1340
+ 'network': undefined,
1341
+ 'amount': undefined,
1342
+ 'status': undefined,
1343
+ 'timestamp': undefined,
1344
+ 'datetime': undefined,
1345
+ 'address': undefined,
1346
+ 'addressFrom': undefined,
1347
+ 'addressTo': undefined,
1348
+ 'tag': undefined,
1349
+ 'tagFrom': undefined,
1350
+ 'tagTo': undefined,
1351
+ 'updated': undefined,
1352
+ 'comment': undefined,
1353
+ 'fee': {
1354
+ 'currency': undefined,
1355
+ 'cost': undefined,
1356
+ 'rate': undefined,
1357
+ },
1358
+ };
1359
+ }
1360
+ sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
1361
+ let url = this.urls['api'][api];
1362
+ const query = this.omit(params, this.extractParams(path));
1363
+ if (api === 'private') {
1364
+ this.checkRequiredCredentials();
1365
+ const nonce = this.nonce();
1366
+ body = this.urlencode(this.extend({
1367
+ 'nonce': nonce,
1368
+ 'method': path,
1369
+ }, query));
1370
+ const signature = this.hmac(this.encode(body), this.encode(this.secret), sha512);
1371
+ headers = {
1372
+ 'Content-Type': 'application/x-www-form-urlencoded',
1373
+ 'Key': this.apiKey,
1374
+ 'Sign': signature,
1375
+ };
1376
+ }
1377
+ else if (api === 'public') {
1378
+ url += '/' + this.version + '/' + this.implodeParams(path, params);
1379
+ if (Object.keys(query).length) {
1380
+ url += '?' + this.urlencode(query);
1381
+ }
1382
+ }
1383
+ else {
1384
+ url += '/' + this.implodeParams(path, params);
1385
+ if (method === 'GET') {
1386
+ if (Object.keys(query).length) {
1387
+ url += '?' + this.urlencode(query);
1388
+ }
1389
+ }
1390
+ else {
1391
+ if (Object.keys(query).length) {
1392
+ body = this.json(query);
1393
+ headers = {
1394
+ 'Content-Type': 'application/json',
1395
+ };
1396
+ }
1397
+ }
1398
+ }
1399
+ return { 'url': url, 'method': method, 'body': body, 'headers': headers };
1400
+ }
1401
+ handleErrors(httpCode, reason, url, method, headers, body, response, requestHeaders, requestBody) {
1402
+ if (response === undefined) {
1403
+ return undefined; // fallback to default error handler
1404
+ }
1405
+ if ('success' in response) {
1406
+ //
1407
+ // 1 - Liqui only returns the integer 'success' key from their private API
1408
+ //
1409
+ // { "success": 1, ... } httpCode === 200
1410
+ // { "success": 0, ... } httpCode === 200
1411
+ //
1412
+ // 2 - However, exchanges derived from Liqui, can return non-integers
1413
+ //
1414
+ // It can be a numeric string
1415
+ // { "sucesss": "1", ... }
1416
+ // { "sucesss": "0", ... }, httpCode >= 200 (can be 403, 502, etc)
1417
+ //
1418
+ // Or just a string
1419
+ // { "success": "true", ... }
1420
+ // { "success": "false", ... }, httpCode >= 200
1421
+ //
1422
+ // Or a boolean
1423
+ // { "success": true, ... }
1424
+ // { "success": false, ... }, httpCode >= 200
1425
+ //
1426
+ // 3 - Oversimplified, Python PEP8 forbids comparison operator (===) of different types
1427
+ //
1428
+ // 4 - We do not want to copy-paste and duplicate the code of this handler to other exchanges derived from Liqui
1429
+ //
1430
+ // To cover points 1, 2, 3 and 4 combined this handler should work like this:
1431
+ //
1432
+ let success = this.safeValue(response, 'success'); // don't replace with safeBool here
1433
+ if (typeof success === 'string') {
1434
+ if ((success === 'true') || (success === '1')) {
1435
+ success = true;
1436
+ }
1437
+ else {
1438
+ success = false;
1439
+ }
1440
+ }
1441
+ if (!success) {
1442
+ const code = this.safeString(response, 'code');
1443
+ const message = this.safeString(response, 'error');
1444
+ const feedback = this.id + ' ' + body;
1445
+ this.throwExactlyMatchedException(this.exceptions['exact'], code, feedback);
1446
+ this.throwExactlyMatchedException(this.exceptions['exact'], message, feedback);
1447
+ this.throwBroadlyMatchedException(this.exceptions['broad'], message, feedback);
1448
+ throw new ExchangeError(feedback); // unknown message
1449
+ }
1450
+ }
1451
+ return undefined;
1452
+ }
1453
+ }