ccxt-ir 4.10.0 → 4.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1047) hide show
  1. package/README.md +4 -4
  2. package/dist/ccxt.browser.min.js +2 -2
  3. package/dist/cjs/ccxt.js +4 -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/js/ccxt.d.ts +5 -2
  8. package/js/ccxt.js +4 -2
  9. package/js/src/abstract/bidarz.d.ts +9 -0
  10. package/js/src/abstract/bidarz.js +11 -0
  11. package/js/src/bidarz.d.ts +22 -0
  12. package/js/src/bidarz.js +336 -0
  13. package/js/src/bit24.js +4 -3
  14. package/js/src/src/abantether.d.ts +21 -0
  15. package/js/src/src/abantether.js +353 -0
  16. package/js/src/src/abstract/abantether.d.ts +8 -0
  17. package/js/src/src/abstract/abantether.js +11 -0
  18. package/js/src/src/abstract/afratether.d.ts +9 -0
  19. package/js/src/src/abstract/afratether.js +11 -0
  20. package/js/src/src/abstract/alpaca.d.ts +77 -0
  21. package/js/src/src/abstract/alpaca.js +11 -0
  22. package/js/src/src/abstract/apex.d.ts +34 -0
  23. package/js/src/src/abstract/apex.js +11 -0
  24. package/js/src/src/abstract/arzinja.d.ts +8 -0
  25. package/js/src/src/abstract/arzinja.js +11 -0
  26. package/js/src/src/abstract/arzplus.d.ts +11 -0
  27. package/js/src/src/abstract/arzplus.js +11 -0
  28. package/js/src/src/abstract/ascendex.d.ts +80 -0
  29. package/js/src/src/abstract/ascendex.js +11 -0
  30. package/js/src/src/abstract/asretether.d.ts +8 -0
  31. package/js/src/src/abstract/asretether.js +11 -0
  32. package/js/src/src/abstract/bidarz.d.ts +9 -0
  33. package/js/src/src/abstract/bidarz.js +11 -0
  34. package/js/src/src/abstract/bigone.d.ts +48 -0
  35. package/js/src/src/abstract/bigone.js +11 -0
  36. package/js/src/src/abstract/binance.d.ts +773 -0
  37. package/js/src/src/abstract/binance.js +11 -0
  38. package/js/src/src/abstract/bingx.d.ts +165 -0
  39. package/js/src/src/abstract/bingx.js +11 -0
  40. package/js/src/src/abstract/bit24.d.ts +9 -0
  41. package/js/src/src/abstract/bit24.js +11 -0
  42. package/js/src/src/abstract/bit2c.d.ts +30 -0
  43. package/js/src/src/abstract/bit2c.js +11 -0
  44. package/js/src/src/abstract/bitbank.d.ts +35 -0
  45. package/js/src/src/abstract/bitbank.js +11 -0
  46. package/js/src/src/abstract/bitbarg.d.ts +8 -0
  47. package/js/src/src/abstract/bitbarg.js +11 -0
  48. package/js/src/src/abstract/bitbns.d.ts +43 -0
  49. package/js/src/src/abstract/bitbns.js +11 -0
  50. package/js/src/src/abstract/bitfinex.d.ts +143 -0
  51. package/js/src/src/abstract/bitfinex.js +11 -0
  52. package/js/src/src/abstract/bitflyer.d.ts +42 -0
  53. package/js/src/src/abstract/bitflyer.js +11 -0
  54. package/js/src/src/abstract/bitget.d.ts +578 -0
  55. package/js/src/src/abstract/bitget.js +11 -0
  56. package/js/src/src/abstract/bithumb.d.ts +35 -0
  57. package/js/src/src/abstract/bithumb.js +11 -0
  58. package/js/src/src/abstract/bitimen.d.ts +10 -0
  59. package/js/src/src/abstract/bitimen.js +11 -0
  60. package/js/src/src/abstract/bitir.d.ts +10 -0
  61. package/js/src/src/abstract/bitir.js +11 -0
  62. package/js/src/src/abstract/bitmart.d.ts +120 -0
  63. package/js/src/src/abstract/bitmart.js +11 -0
  64. package/js/src/src/abstract/bitmex.d.ts +100 -0
  65. package/js/src/src/abstract/bitmex.js +11 -0
  66. package/js/src/src/abstract/bitopro.d.ts +33 -0
  67. package/js/src/src/abstract/bitopro.js +11 -0
  68. package/js/src/src/abstract/bitpin.d.ts +11 -0
  69. package/js/src/src/abstract/bitpin.js +11 -0
  70. package/js/src/src/abstract/bitrue.d.ts +75 -0
  71. package/js/src/src/abstract/bitrue.js +11 -0
  72. package/js/src/src/abstract/bitso.d.ts +46 -0
  73. package/js/src/src/abstract/bitso.js +11 -0
  74. package/js/src/src/abstract/bitstamp.d.ts +262 -0
  75. package/js/src/src/abstract/bitstamp.js +11 -0
  76. package/js/src/src/abstract/bitteam.d.ts +32 -0
  77. package/js/src/src/abstract/bitteam.js +11 -0
  78. package/js/src/src/abstract/bittrade.d.ts +117 -0
  79. package/js/src/src/abstract/bittrade.js +11 -0
  80. package/js/src/src/abstract/bitunix.d.ts +9 -0
  81. package/js/src/src/abstract/bitunix.js +11 -0
  82. package/js/src/src/abstract/bitvavo.d.ts +30 -0
  83. package/js/src/src/abstract/bitvavo.js +11 -0
  84. package/js/src/src/abstract/blockchaincom.d.ts +31 -0
  85. package/js/src/src/abstract/blockchaincom.js +11 -0
  86. package/js/src/src/abstract/blofin.d.ts +70 -0
  87. package/js/src/src/abstract/blofin.js +11 -0
  88. package/js/src/src/abstract/btcalpha.d.ts +21 -0
  89. package/js/src/src/abstract/btcalpha.js +11 -0
  90. package/js/src/src/abstract/btcbox.d.ts +18 -0
  91. package/js/src/src/abstract/btcbox.js +11 -0
  92. package/js/src/src/abstract/btcmarkets.d.ts +42 -0
  93. package/js/src/src/abstract/btcmarkets.js +11 -0
  94. package/js/src/src/abstract/btcturk.d.ts +23 -0
  95. package/js/src/src/abstract/btcturk.js +11 -0
  96. package/js/src/src/abstract/bybit.d.ts +316 -0
  97. package/js/src/src/abstract/bybit.js +11 -0
  98. package/js/src/src/abstract/bydfi.d.ts +11 -0
  99. package/js/src/src/abstract/bydfi.js +11 -0
  100. package/js/src/src/abstract/cafearz.d.ts +8 -0
  101. package/js/src/src/abstract/cafearz.js +11 -0
  102. package/js/src/src/abstract/cex.d.ts +35 -0
  103. package/js/src/src/abstract/cex.js +11 -0
  104. package/js/src/src/abstract/coinbase.d.ts +97 -0
  105. package/js/src/src/abstract/coinbase.js +11 -0
  106. package/js/src/src/abstract/coinbaseexchange.d.ts +71 -0
  107. package/js/src/src/abstract/coinbaseexchange.js +11 -0
  108. package/js/src/src/abstract/coinbaseinternational.d.ts +42 -0
  109. package/js/src/src/abstract/coinbaseinternational.js +11 -0
  110. package/js/src/src/abstract/coincatch.d.ts +97 -0
  111. package/js/src/src/abstract/coincatch.js +11 -0
  112. package/js/src/src/abstract/coincheck.d.ts +36 -0
  113. package/js/src/src/abstract/coincheck.js +11 -0
  114. package/js/src/src/abstract/coinex.d.ts +240 -0
  115. package/js/src/src/abstract/coinex.js +11 -0
  116. package/js/src/src/abstract/coinmate.d.ts +65 -0
  117. package/js/src/src/abstract/coinmate.js +11 -0
  118. package/js/src/src/abstract/coinmetro.d.ts +37 -0
  119. package/js/src/src/abstract/coinmetro.js +11 -0
  120. package/js/src/src/abstract/coinone.d.ts +70 -0
  121. package/js/src/src/abstract/coinone.js +11 -0
  122. package/js/src/src/abstract/coinsph.d.ts +57 -0
  123. package/js/src/src/abstract/coinsph.js +11 -0
  124. package/js/src/src/abstract/coinspot.d.ts +31 -0
  125. package/js/src/src/abstract/coinspot.js +11 -0
  126. package/js/src/src/abstract/cryptocom.d.ts +126 -0
  127. package/js/src/src/abstract/cryptocom.js +11 -0
  128. package/js/src/src/abstract/cryptomus.d.ts +23 -0
  129. package/js/src/src/abstract/cryptomus.js +11 -0
  130. package/js/src/src/abstract/defx.d.ts +72 -0
  131. package/js/src/src/abstract/defx.js +11 -0
  132. package/js/src/src/abstract/delta.d.ts +53 -0
  133. package/js/src/src/abstract/delta.js +11 -0
  134. package/js/src/src/abstract/deribit.d.ts +129 -0
  135. package/js/src/src/abstract/deribit.js +11 -0
  136. package/js/src/src/abstract/derive.d.ts +120 -0
  137. package/js/src/src/abstract/derive.js +11 -0
  138. package/js/src/src/abstract/digifinex.d.ts +95 -0
  139. package/js/src/src/abstract/digifinex.js +11 -0
  140. package/js/src/src/abstract/ellipx.d.ts +28 -0
  141. package/js/src/src/abstract/ellipx.js +11 -0
  142. package/js/src/src/abstract/eterex.d.ts +8 -0
  143. package/js/src/src/abstract/eterex.js +11 -0
  144. package/js/src/src/abstract/excoino.d.ts +10 -0
  145. package/js/src/src/abstract/excoino.js +11 -0
  146. package/js/src/src/abstract/exir.d.ts +11 -0
  147. package/js/src/src/abstract/exir.js +11 -0
  148. package/js/src/src/abstract/exmo.d.ts +58 -0
  149. package/js/src/src/abstract/exmo.js +11 -0
  150. package/js/src/src/abstract/exnovin.d.ts +9 -0
  151. package/js/src/src/abstract/exnovin.js +11 -0
  152. package/js/src/src/abstract/farhadexchange.d.ts +8 -0
  153. package/js/src/src/abstract/farhadexchange.js +11 -0
  154. package/js/src/src/abstract/foxbit.d.ts +29 -0
  155. package/js/src/src/abstract/foxbit.js +11 -0
  156. package/js/src/src/abstract/gate.d.ts +287 -0
  157. package/js/src/src/abstract/gate.js +11 -0
  158. package/js/src/src/abstract/gemini.d.ts +62 -0
  159. package/js/src/src/abstract/gemini.js +11 -0
  160. package/js/src/src/abstract/hamtapay.d.ts +9 -0
  161. package/js/src/src/abstract/hamtapay.js +11 -0
  162. package/js/src/src/abstract/hashkey.d.ts +70 -0
  163. package/js/src/src/abstract/hashkey.js +11 -0
  164. package/js/src/src/abstract/hibachi.d.ts +29 -0
  165. package/js/src/src/abstract/hibachi.js +11 -0
  166. package/js/src/src/abstract/hitbtc.d.ts +118 -0
  167. package/js/src/src/abstract/hitbtc.js +11 -0
  168. package/js/src/src/abstract/hitobit.d.ts +11 -0
  169. package/js/src/src/abstract/hitobit.js +11 -0
  170. package/js/src/src/abstract/hollaex.d.ts +36 -0
  171. package/js/src/src/abstract/hollaex.js +11 -0
  172. package/js/src/src/abstract/htx.d.ts +551 -0
  173. package/js/src/src/abstract/htx.js +11 -0
  174. package/js/src/src/abstract/hyperliquid.d.ts +9 -0
  175. package/js/src/src/abstract/hyperliquid.js +11 -0
  176. package/js/src/src/abstract/independentreserve.d.ts +46 -0
  177. package/js/src/src/abstract/independentreserve.js +11 -0
  178. package/js/src/src/abstract/indodax.d.ts +29 -0
  179. package/js/src/src/abstract/indodax.js +11 -0
  180. package/js/src/src/abstract/iranexchange.d.ts +9 -0
  181. package/js/src/src/abstract/iranexchange.js +11 -0
  182. package/js/src/src/abstract/jibitex.d.ts +10 -0
  183. package/js/src/src/abstract/jibitex.js +11 -0
  184. package/js/src/src/abstract/kcex.d.ts +10 -0
  185. package/js/src/src/abstract/kcex.js +11 -0
  186. package/js/src/src/abstract/kifpoolme.d.ts +9 -0
  187. package/js/src/src/abstract/kifpoolme.js +11 -0
  188. package/js/src/src/abstract/kraken.d.ts +61 -0
  189. package/js/src/src/abstract/kraken.js +11 -0
  190. package/js/src/src/abstract/krakenfutures.d.ts +45 -0
  191. package/js/src/src/abstract/krakenfutures.js +11 -0
  192. package/js/src/src/abstract/kucoin.d.ts +227 -0
  193. package/js/src/src/abstract/kucoin.js +11 -0
  194. package/js/src/src/abstract/kucoinfutures.d.ts +254 -0
  195. package/js/src/src/abstract/kucoinfutures.js +11 -0
  196. package/js/src/src/abstract/latoken.d.ts +59 -0
  197. package/js/src/src/abstract/latoken.js +11 -0
  198. package/js/src/src/abstract/lbank.d.ts +65 -0
  199. package/js/src/src/abstract/lbank.js +11 -0
  200. package/js/src/src/abstract/luno.d.ts +41 -0
  201. package/js/src/src/abstract/luno.js +11 -0
  202. package/js/src/src/abstract/mazdax.d.ts +11 -0
  203. package/js/src/src/abstract/mazdax.js +11 -0
  204. package/js/src/src/abstract/mercado.d.ts +28 -0
  205. package/js/src/src/abstract/mercado.js +11 -0
  206. package/js/src/src/abstract/mexc.d.ts +183 -0
  207. package/js/src/src/abstract/mexc.js +11 -0
  208. package/js/src/src/abstract/modetrade.d.ts +122 -0
  209. package/js/src/src/abstract/modetrade.js +11 -0
  210. package/js/src/src/abstract/ndax.d.ts +100 -0
  211. package/js/src/src/abstract/ndax.js +11 -0
  212. package/js/src/src/abstract/nobitex.d.ts +10 -0
  213. package/js/src/src/abstract/nobitex.js +11 -0
  214. package/js/src/src/abstract/novadax.d.ts +32 -0
  215. package/js/src/src/abstract/novadax.js +11 -0
  216. package/js/src/src/abstract/oceanex.d.ts +30 -0
  217. package/js/src/src/abstract/oceanex.js +11 -0
  218. package/js/src/src/abstract/okcoin.d.ts +77 -0
  219. package/js/src/src/abstract/okcoin.js +11 -0
  220. package/js/src/src/abstract/okexchange.d.ts +11 -0
  221. package/js/src/src/abstract/okexchange.js +11 -0
  222. package/js/src/src/abstract/okx.d.ts +352 -0
  223. package/js/src/src/abstract/okx.js +11 -0
  224. package/js/src/src/abstract/ompfinex.d.ts +10 -0
  225. package/js/src/src/abstract/ompfinex.js +11 -0
  226. package/js/src/src/abstract/onetrading.d.ts +26 -0
  227. package/js/src/src/abstract/onetrading.js +11 -0
  228. package/js/src/src/abstract/oxfun.d.ts +37 -0
  229. package/js/src/src/abstract/oxfun.js +11 -0
  230. package/js/src/src/abstract/p2b.d.ts +25 -0
  231. package/js/src/src/abstract/p2b.js +11 -0
  232. package/js/src/src/abstract/paradex.d.ts +66 -0
  233. package/js/src/src/abstract/paradex.js +11 -0
  234. package/js/src/src/abstract/paymium.d.ts +31 -0
  235. package/js/src/src/abstract/paymium.js +11 -0
  236. package/js/src/src/abstract/phemex.d.ts +120 -0
  237. package/js/src/src/abstract/phemex.js +11 -0
  238. package/js/src/src/abstract/pingi.d.ts +9 -0
  239. package/js/src/src/abstract/pingi.js +11 -0
  240. package/js/src/src/abstract/poloniex.d.ts +108 -0
  241. package/js/src/src/abstract/poloniex.js +11 -0
  242. package/js/src/src/abstract/pooleno.d.ts +8 -0
  243. package/js/src/src/abstract/pooleno.js +11 -0
  244. package/js/src/src/abstract/probit.d.ts +26 -0
  245. package/js/src/src/abstract/probit.js +11 -0
  246. package/js/src/src/abstract/raastin.d.ts +11 -0
  247. package/js/src/src/abstract/raastin.js +11 -0
  248. package/js/src/src/abstract/ramzinex.d.ts +10 -0
  249. package/js/src/src/abstract/ramzinex.js +11 -0
  250. package/js/src/src/abstract/sarmayex.d.ts +8 -0
  251. package/js/src/src/abstract/sarmayex.js +11 -0
  252. package/js/src/src/abstract/sarrafex.d.ts +10 -0
  253. package/js/src/src/abstract/sarrafex.js +11 -0
  254. package/js/src/src/abstract/tabdeal.d.ts +10 -0
  255. package/js/src/src/abstract/tabdeal.js +11 -0
  256. package/js/src/src/abstract/tehran_exchange.d.ts +9 -0
  257. package/js/src/src/abstract/tehran_exchange.js +11 -0
  258. package/js/src/src/abstract/tetherland.d.ts +8 -0
  259. package/js/src/src/abstract/tetherland.js +11 -0
  260. package/js/src/src/abstract/timex.d.ts +65 -0
  261. package/js/src/src/abstract/timex.js +11 -0
  262. package/js/src/src/abstract/tokocrypto.d.ts +40 -0
  263. package/js/src/src/abstract/tokocrypto.js +11 -0
  264. package/js/src/src/abstract/toobit.d.ts +10 -0
  265. package/js/src/src/abstract/toobit.js +11 -0
  266. package/js/src/src/abstract/tradeogre.d.ts +21 -0
  267. package/js/src/src/abstract/tradeogre.js +11 -0
  268. package/js/src/src/abstract/twox.d.ts +8 -0
  269. package/js/src/src/abstract/twox.js +11 -0
  270. package/js/src/src/abstract/ubitex.d.ts +10 -0
  271. package/js/src/src/abstract/ubitex.js +11 -0
  272. package/js/src/src/abstract/upbit.d.ts +58 -0
  273. package/js/src/src/abstract/upbit.js +11 -0
  274. package/js/src/src/abstract/vertex.d.ts +22 -0
  275. package/js/src/src/abstract/vertex.js +11 -0
  276. package/js/src/src/abstract/wallex.d.ts +11 -0
  277. package/js/src/src/abstract/wallex.js +11 -0
  278. package/js/src/src/abstract/wavesexchange.d.ts +157 -0
  279. package/js/src/src/abstract/wavesexchange.js +11 -0
  280. package/js/src/src/abstract/whitebit.d.ts +117 -0
  281. package/js/src/src/abstract/whitebit.js +11 -0
  282. package/js/src/src/abstract/woo.d.ts +144 -0
  283. package/js/src/src/abstract/woo.js +11 -0
  284. package/js/src/src/abstract/woofipro.d.ts +122 -0
  285. package/js/src/src/abstract/woofipro.js +11 -0
  286. package/js/src/src/abstract/xt.d.ts +160 -0
  287. package/js/src/src/abstract/xt.js +11 -0
  288. package/js/src/src/abstract/yobit.d.ts +19 -0
  289. package/js/src/src/abstract/yobit.js +11 -0
  290. package/js/src/src/abstract/zaif.d.ts +41 -0
  291. package/js/src/src/abstract/zaif.js +11 -0
  292. package/js/src/src/abstract/zonda.d.ts +56 -0
  293. package/js/src/src/abstract/zonda.js +11 -0
  294. package/js/src/src/afratether.d.ts +21 -0
  295. package/js/src/src/afratether.js +356 -0
  296. package/js/src/src/alpaca.d.ts +332 -0
  297. package/js/src/src/alpaca.js +1908 -0
  298. package/js/src/src/apex.d.ts +333 -0
  299. package/js/src/src/apex.js +1942 -0
  300. package/js/src/src/arzinja.d.ts +21 -0
  301. package/js/src/src/arzinja.js +298 -0
  302. package/js/src/src/arzplus.d.ts +26 -0
  303. package/js/src/src/arzplus.js +581 -0
  304. package/js/src/src/ascendex.d.ts +424 -0
  305. package/js/src/src/ascendex.js +3699 -0
  306. package/js/src/src/asretether.d.ts +21 -0
  307. package/js/src/src/asretether.js +324 -0
  308. package/js/src/src/base/Exchange.d.ts +926 -0
  309. package/js/src/src/base/Exchange.js +7399 -0
  310. package/js/src/src/base/Precise.d.ts +42 -0
  311. package/js/src/src/base/Precise.js +275 -0
  312. package/js/src/src/base/errors.d.ts +168 -0
  313. package/js/src/src/base/errors.js +255 -0
  314. package/js/src/src/base/functions/crypto.d.ts +16 -0
  315. package/js/src/src/base/functions/crypto.js +131 -0
  316. package/js/src/src/base/functions/encode.d.ts +4 -0
  317. package/js/src/src/base/functions/encode.js +32 -0
  318. package/js/src/src/base/functions/generic.d.ts +29 -0
  319. package/js/src/src/base/functions/generic.js +203 -0
  320. package/js/src/src/base/functions/misc.d.ts +9 -0
  321. package/js/src/src/base/functions/misc.js +101 -0
  322. package/js/src/src/base/functions/number.d.ts +27 -0
  323. package/js/src/src/base/functions/number.js +313 -0
  324. package/js/src/src/base/functions/platform.d.ts +7 -0
  325. package/js/src/src/base/functions/platform.js +27 -0
  326. package/js/src/src/base/functions/rsa.d.ts +5 -0
  327. package/js/src/src/base/functions/rsa.js +49 -0
  328. package/js/src/src/base/functions/string.d.ts +7 -0
  329. package/js/src/src/base/functions/string.js +44 -0
  330. package/js/src/src/base/functions/throttle.d.ts +6 -0
  331. package/js/src/src/base/functions/throttle.js +67 -0
  332. package/js/src/src/base/functions/time.d.ts +21 -0
  333. package/js/src/src/base/functions/time.js +171 -0
  334. package/js/src/src/base/functions/totp.d.ts +3 -0
  335. package/js/src/src/base/functions/totp.js +25 -0
  336. package/js/src/src/base/functions/type.d.ts +37 -0
  337. package/js/src/src/base/functions/type.js +179 -0
  338. package/js/src/src/base/functions.d.ts +10 -0
  339. package/js/src/src/base/functions.js +18 -0
  340. package/js/src/src/base/types.d.ts +586 -0
  341. package/js/src/src/base/types.js +7 -0
  342. package/js/src/src/base/ws/Cache.d.ts +27 -0
  343. package/js/src/src/base/ws/Cache.js +260 -0
  344. package/js/src/src/base/ws/Client.d.ts +53 -0
  345. package/js/src/src/base/ws/Client.js +307 -0
  346. package/js/src/src/base/ws/Future.d.ts +8 -0
  347. package/js/src/src/base/ws/Future.js +35 -0
  348. package/js/src/src/base/ws/OrderBook.d.ts +25 -0
  349. package/js/src/src/base/ws/OrderBook.js +130 -0
  350. package/js/src/src/base/ws/OrderBookSide.d.ts +40 -0
  351. package/js/src/src/base/ws/OrderBookSide.js +286 -0
  352. package/js/src/src/base/ws/WsClient.d.ts +11 -0
  353. package/js/src/src/base/ws/WsClient.js +69 -0
  354. package/js/src/src/bequant.d.ts +4 -0
  355. package/js/src/src/bequant.js +35 -0
  356. package/js/src/src/bidarz.d.ts +16 -0
  357. package/js/src/src/bidarz.js +327 -0
  358. package/js/src/src/bigone.d.ts +296 -0
  359. package/js/src/src/bigone.js +2340 -0
  360. package/js/src/src/binance.d.ts +1667 -0
  361. package/js/src/src/binance.js +14400 -0
  362. package/js/src/src/binancecoinm.d.ts +6 -0
  363. package/js/src/src/binancecoinm.js +51 -0
  364. package/js/src/src/binanceus.d.ts +4 -0
  365. package/js/src/src/binanceus.js +225 -0
  366. package/js/src/src/binanceusdm.d.ts +6 -0
  367. package/js/src/src/binanceusdm.js +63 -0
  368. package/js/src/src/bingx.d.ts +778 -0
  369. package/js/src/src/bingx.js +6705 -0
  370. package/js/src/src/bit24.d.ts +24 -0
  371. package/js/src/src/bit24.js +520 -0
  372. package/js/src/src/bit2c.d.ts +146 -0
  373. package/js/src/src/bit2c.js +1029 -0
  374. package/js/src/src/bitbank.d.ts +181 -0
  375. package/js/src/src/bitbank.js +1146 -0
  376. package/js/src/src/bitbarg.d.ts +21 -0
  377. package/js/src/src/bitbarg.js +312 -0
  378. package/js/src/src/bitbns.d.ts +184 -0
  379. package/js/src/src/bitbns.js +1288 -0
  380. package/js/src/src/bitfinex.d.ts +516 -0
  381. package/js/src/src/bitfinex.js +3951 -0
  382. package/js/src/src/bitflyer.d.ts +229 -0
  383. package/js/src/src/bitflyer.js +1209 -0
  384. package/js/src/src/bitget.d.ts +1109 -0
  385. package/js/src/src/bitget.js +11033 -0
  386. package/js/src/src/bithumb.d.ts +165 -0
  387. package/js/src/src/bithumb.js +1257 -0
  388. package/js/src/src/bitimen.d.ts +23 -0
  389. package/js/src/src/bitimen.js +424 -0
  390. package/js/src/src/bitir.d.ts +23 -0
  391. package/js/src/src/bitir.js +521 -0
  392. package/js/src/src/bitmart.d.ts +736 -0
  393. package/js/src/src/bitmart.js +5639 -0
  394. package/js/src/src/bitmex.d.ts +395 -0
  395. package/js/src/src/bitmex.js +3088 -0
  396. package/js/src/src/bitopro.d.ts +295 -0
  397. package/js/src/src/bitopro.js +1892 -0
  398. package/js/src/src/bitpin.d.ts +23 -0
  399. package/js/src/src/bitpin.js +487 -0
  400. package/js/src/src/bitrue.d.ts +384 -0
  401. package/js/src/src/bitrue.js +3382 -0
  402. package/js/src/src/bitso.d.ts +270 -0
  403. package/js/src/src/bitso.js +1881 -0
  404. package/js/src/src/bitstamp.d.ts +355 -0
  405. package/js/src/src/bitstamp.js +2445 -0
  406. package/js/src/src/bitteam.d.ts +229 -0
  407. package/js/src/src/bitteam.js +2420 -0
  408. package/js/src/src/bittrade.d.ts +298 -0
  409. package/js/src/src/bittrade.js +2050 -0
  410. package/js/src/src/bitunix.d.ts +21 -0
  411. package/js/src/src/bitunix.js +326 -0
  412. package/js/src/src/bitvavo.d.ts +311 -0
  413. package/js/src/src/bitvavo.js +2204 -0
  414. package/js/src/src/blockchaincom.d.ts +256 -0
  415. package/js/src/src/blockchaincom.js +1259 -0
  416. package/js/src/src/blofin.d.ts +439 -0
  417. package/js/src/src/blofin.js +2576 -0
  418. package/js/src/src/btcalpha.d.ts +209 -0
  419. package/js/src/src/btcalpha.js +1056 -0
  420. package/js/src/src/btcbox.d.ts +144 -0
  421. package/js/src/src/btcbox.js +834 -0
  422. package/js/src/src/btcmarkets.d.ts +253 -0
  423. package/js/src/src/btcmarkets.js +1418 -0
  424. package/js/src/src/btcturk.d.ts +161 -0
  425. package/js/src/src/btcturk.js +1058 -0
  426. package/js/src/src/bybit.d.ts +1097 -0
  427. package/js/src/src/bybit.js +9382 -0
  428. package/js/src/src/bydfi.d.ts +23 -0
  429. package/js/src/src/bydfi.js +434 -0
  430. package/js/src/src/cafearz.d.ts +21 -0
  431. package/js/src/src/cafearz.js +346 -0
  432. package/js/src/src/cex.d.ts +286 -0
  433. package/js/src/src/cex.js +1799 -0
  434. package/js/src/src/coinbase.d.ts +623 -0
  435. package/js/src/src/coinbase.js +5220 -0
  436. package/js/src/src/coinbaseadvanced.d.ts +4 -0
  437. package/js/src/src/coinbaseadvanced.js +18 -0
  438. package/js/src/src/coinbaseexchange.d.ts +334 -0
  439. package/js/src/src/coinbaseexchange.js +2127 -0
  440. package/js/src/src/coinbaseinternational.d.ts +443 -0
  441. package/js/src/src/coinbaseinternational.js +2336 -0
  442. package/js/src/src/coincatch.d.ts +786 -0
  443. package/js/src/src/coincatch.js +5492 -0
  444. package/js/src/src/coincheck.d.ts +147 -0
  445. package/js/src/src/coincheck.js +962 -0
  446. package/js/src/src/coinex.d.ts +719 -0
  447. package/js/src/src/coinex.js +6166 -0
  448. package/js/src/src/coinmate.d.ts +202 -0
  449. package/js/src/src/coinmate.js +1215 -0
  450. package/js/src/src/coinmetro.d.ts +244 -0
  451. package/js/src/src/coinmetro.js +2024 -0
  452. package/js/src/src/coinone.d.ts +158 -0
  453. package/js/src/src/coinone.js +1278 -0
  454. package/js/src/src/coinsph.d.ts +310 -0
  455. package/js/src/src/coinsph.js +2203 -0
  456. package/js/src/src/coinspot.d.ts +108 -0
  457. package/js/src/src/coinspot.js +653 -0
  458. package/js/src/src/cryptocom.d.ts +463 -0
  459. package/js/src/src/cryptocom.js +3549 -0
  460. package/js/src/src/cryptomus.d.ts +158 -0
  461. package/js/src/src/cryptomus.js +1169 -0
  462. package/js/src/src/defx.d.ts +348 -0
  463. package/js/src/src/defx.js +2139 -0
  464. package/js/src/src/delta.d.ts +407 -0
  465. package/js/src/src/delta.js +3654 -0
  466. package/js/src/src/deribit.d.ts +516 -0
  467. package/js/src/src/deribit.js +3790 -0
  468. package/js/src/src/derive.d.ts +324 -0
  469. package/js/src/src/derive.js +2655 -0
  470. package/js/src/src/digifinex.d.ts +544 -0
  471. package/js/src/src/digifinex.js +4453 -0
  472. package/js/src/src/ellipx.d.ts +237 -0
  473. package/js/src/src/ellipx.js +2071 -0
  474. package/js/src/src/eterex.d.ts +21 -0
  475. package/js/src/src/eterex.js +299 -0
  476. package/js/src/src/excoino.d.ts +23 -0
  477. package/js/src/src/excoino.js +426 -0
  478. package/js/src/src/exir.d.ts +23 -0
  479. package/js/src/src/exir.js +403 -0
  480. package/js/src/src/exmo.d.ts +426 -0
  481. package/js/src/src/exmo.js +2825 -0
  482. package/js/src/src/exnovin.d.ts +22 -0
  483. package/js/src/src/exnovin.js +378 -0
  484. package/js/src/src/farhadexchange.d.ts +21 -0
  485. package/js/src/src/farhadexchange.js +280 -0
  486. package/js/src/src/fmfwio.d.ts +4 -0
  487. package/js/src/src/fmfwio.js +35 -0
  488. package/js/src/src/foxbit.d.ts +352 -0
  489. package/js/src/src/foxbit.js +2016 -0
  490. package/js/src/src/gate.d.ts +1071 -0
  491. package/js/src/src/gate.js +8282 -0
  492. package/js/src/src/gateio.d.ts +4 -0
  493. package/js/src/src/gateio.js +17 -0
  494. package/js/src/src/gemini.d.ts +257 -0
  495. package/js/src/src/gemini.js +2006 -0
  496. package/js/src/src/hamtapay.d.ts +21 -0
  497. package/js/src/src/hamtapay.js +303 -0
  498. package/js/src/src/hashkey.d.ts +628 -0
  499. package/js/src/src/hashkey.js +4363 -0
  500. package/js/src/src/hibachi.d.ts +346 -0
  501. package/js/src/src/hibachi.js +2137 -0
  502. package/js/src/src/hitbtc.d.ts +558 -0
  503. package/js/src/src/hitbtc.js +3847 -0
  504. package/js/src/src/hitobit.d.ts +23 -0
  505. package/js/src/src/hitobit.js +412 -0
  506. package/js/src/src/hollaex.d.ts +305 -0
  507. package/js/src/src/hollaex.js +2046 -0
  508. package/js/src/src/htx.d.ts +961 -0
  509. package/js/src/src/htx.js +9668 -0
  510. package/js/src/src/huobi.d.ts +4 -0
  511. package/js/src/src/huobi.js +17 -0
  512. package/js/src/src/hyperliquid.d.ts +651 -0
  513. package/js/src/src/hyperliquid.js +3937 -0
  514. package/js/src/src/independentreserve.d.ts +169 -0
  515. package/js/src/src/independentreserve.js +1115 -0
  516. package/js/src/src/indodax.d.ts +217 -0
  517. package/js/src/src/indodax.js +1454 -0
  518. package/js/src/src/iranexchange.d.ts +21 -0
  519. package/js/src/src/iranexchange.js +399 -0
  520. package/js/src/src/jibitex.d.ts +23 -0
  521. package/js/src/src/jibitex.js +416 -0
  522. package/js/src/src/kcex.d.ts +21 -0
  523. package/js/src/src/kcex.js +335 -0
  524. package/js/src/src/kifpoolme.d.ts +23 -0
  525. package/js/src/src/kifpoolme.js +410 -0
  526. package/js/src/src/kraken.d.ts +484 -0
  527. package/js/src/src/kraken.js +3518 -0
  528. package/js/src/src/krakenfutures.d.ts +362 -0
  529. package/js/src/src/krakenfutures.js +2885 -0
  530. package/js/src/src/kucoin.d.ts +759 -0
  531. package/js/src/src/kucoin.js +5153 -0
  532. package/js/src/src/kucoinfutures.d.ts +521 -0
  533. package/js/src/src/kucoinfutures.js +3381 -0
  534. package/js/src/src/latoken.d.ts +274 -0
  535. package/js/src/src/latoken.js +1824 -0
  536. package/js/src/src/lbank.d.ts +350 -0
  537. package/js/src/src/lbank.js +3146 -0
  538. package/js/src/src/luno.d.ts +252 -0
  539. package/js/src/src/luno.js +1479 -0
  540. package/js/src/src/mazdax.d.ts +23 -0
  541. package/js/src/src/mazdax.js +534 -0
  542. package/js/src/src/mercado.d.ts +160 -0
  543. package/js/src/src/mercado.js +1011 -0
  544. package/js/src/src/mexc.d.ts +768 -0
  545. package/js/src/src/mexc.js +6102 -0
  546. package/js/src/src/modetrade.d.ts +496 -0
  547. package/js/src/src/modetrade.js +2936 -0
  548. package/js/src/src/myokx.d.ts +4 -0
  549. package/js/src/src/myokx.js +54 -0
  550. package/js/src/src/ndax.d.ts +285 -0
  551. package/js/src/src/ndax.js +2598 -0
  552. package/js/src/src/nobitex.d.ts +23 -0
  553. package/js/src/src/nobitex.js +454 -0
  554. package/js/src/src/novadax.d.ts +279 -0
  555. package/js/src/src/novadax.js +1676 -0
  556. package/js/src/src/oceanex.d.ts +231 -0
  557. package/js/src/src/oceanex.js +1123 -0
  558. package/js/src/src/okcoin.d.ts +346 -0
  559. package/js/src/src/okcoin.js +3211 -0
  560. package/js/src/src/okexchange.d.ts +23 -0
  561. package/js/src/src/okexchange.js +373 -0
  562. package/js/src/src/okx.d.ts +1125 -0
  563. package/js/src/src/okx.js +9009 -0
  564. package/js/src/src/okxus.d.ts +4 -0
  565. package/js/src/src/okxus.js +54 -0
  566. package/js/src/src/ompfinex.d.ts +23 -0
  567. package/js/src/src/ompfinex.js +510 -0
  568. package/js/src/src/onetrading.d.ts +228 -0
  569. package/js/src/src/onetrading.js +1769 -0
  570. package/js/src/src/oxfun.d.ts +442 -0
  571. package/js/src/src/oxfun.js +2920 -0
  572. package/js/src/src/p2b.d.ts +189 -0
  573. package/js/src/src/p2b.js +1344 -0
  574. package/js/src/src/paradex.d.ts +389 -0
  575. package/js/src/src/paradex.js +2607 -0
  576. package/js/src/src/paymium.d.ts +133 -0
  577. package/js/src/src/paymium.js +644 -0
  578. package/js/src/src/phemex.d.ts +497 -0
  579. package/js/src/src/phemex.js +5333 -0
  580. package/js/src/src/pingi.d.ts +22 -0
  581. package/js/src/src/pingi.js +446 -0
  582. package/js/src/src/poloniex.d.ts +441 -0
  583. package/js/src/src/poloniex.js +3681 -0
  584. package/js/src/src/pooleno.d.ts +21 -0
  585. package/js/src/src/pooleno.js +347 -0
  586. package/js/src/src/pro/alpaca.d.ts +95 -0
  587. package/js/src/src/pro/alpaca.js +724 -0
  588. package/js/src/src/pro/apex.d.ts +160 -0
  589. package/js/src/src/pro/apex.js +1044 -0
  590. package/js/src/src/pro/ascendex.d.ts +99 -0
  591. package/js/src/src/pro/ascendex.js +1012 -0
  592. package/js/src/src/pro/bequant.d.ts +4 -0
  593. package/js/src/src/pro/bequant.js +42 -0
  594. package/js/src/src/pro/binance.d.ts +796 -0
  595. package/js/src/src/pro/binance.js +4373 -0
  596. package/js/src/src/pro/binancecoinm.d.ts +4 -0
  597. package/js/src/src/pro/binancecoinm.js +32 -0
  598. package/js/src/src/pro/binanceus.d.ts +4 -0
  599. package/js/src/src/pro/binanceus.js +52 -0
  600. package/js/src/src/pro/binanceusdm.d.ts +4 -0
  601. package/js/src/src/pro/binanceusdm.js +37 -0
  602. package/js/src/src/pro/bingx.d.ts +151 -0
  603. package/js/src/src/pro/bingx.js +1568 -0
  604. package/js/src/src/pro/bitfinex.d.ts +99 -0
  605. package/js/src/src/pro/bitfinex.js +1165 -0
  606. package/js/src/src/pro/bitget.d.ts +257 -0
  607. package/js/src/src/pro/bitget.js +2327 -0
  608. package/js/src/src/pro/bithumb.d.ts +59 -0
  609. package/js/src/src/pro/bithumb.js +395 -0
  610. package/js/src/src/pro/bitmart.d.ts +168 -0
  611. package/js/src/src/pro/bitmart.js +1686 -0
  612. package/js/src/src/pro/bitmex.d.ts +170 -0
  613. package/js/src/src/pro/bitmex.js +1760 -0
  614. package/js/src/src/pro/bitopro.d.ts +69 -0
  615. package/js/src/src/pro/bitopro.js +477 -0
  616. package/js/src/src/pro/bitrue.d.ts +40 -0
  617. package/js/src/src/pro/bitrue.js +461 -0
  618. package/js/src/src/pro/bitstamp.d.ts +53 -0
  619. package/js/src/src/pro/bitstamp.js +587 -0
  620. package/js/src/src/pro/bittrade.d.ts +66 -0
  621. package/js/src/src/pro/bittrade.js +606 -0
  622. package/js/src/src/pro/bitvavo.d.ts +321 -0
  623. package/js/src/src/pro/bitvavo.js +1451 -0
  624. package/js/src/src/pro/blockchaincom.d.ts +89 -0
  625. package/js/src/src/pro/blockchaincom.js +777 -0
  626. package/js/src/src/pro/blofin.d.ts +174 -0
  627. package/js/src/src/pro/blofin.js +743 -0
  628. package/js/src/src/pro/bybit.d.ts +397 -0
  629. package/js/src/src/pro/bybit.js +2519 -0
  630. package/js/src/src/pro/cex.d.ts +220 -0
  631. package/js/src/src/pro/cex.js +1535 -0
  632. package/js/src/src/pro/coinbase.d.ts +119 -0
  633. package/js/src/src/pro/coinbase.js +736 -0
  634. package/js/src/src/pro/coinbaseadvanced.d.ts +4 -0
  635. package/js/src/src/pro/coinbaseadvanced.js +18 -0
  636. package/js/src/src/pro/coinbaseexchange.d.ts +133 -0
  637. package/js/src/src/pro/coinbaseexchange.js +969 -0
  638. package/js/src/src/pro/coinbaseinternational.d.ts +143 -0
  639. package/js/src/src/pro/coinbaseinternational.js +804 -0
  640. package/js/src/src/pro/coincatch.d.ts +207 -0
  641. package/js/src/src/pro/coincatch.js +1562 -0
  642. package/js/src/src/pro/coincheck.d.ts +33 -0
  643. package/js/src/src/pro/coincheck.js +210 -0
  644. package/js/src/src/pro/coinex.d.ts +147 -0
  645. package/js/src/src/pro/coinex.js +1426 -0
  646. package/js/src/src/pro/coinone.d.ts +51 -0
  647. package/js/src/src/pro/coinone.js +413 -0
  648. package/js/src/src/pro/cryptocom.d.ts +300 -0
  649. package/js/src/src/pro/cryptocom.js +1414 -0
  650. package/js/src/src/pro/defx.d.ts +236 -0
  651. package/js/src/src/pro/defx.js +865 -0
  652. package/js/src/src/pro/deribit.d.ts +163 -0
  653. package/js/src/src/pro/deribit.js +1066 -0
  654. package/js/src/src/pro/derive.d.ts +100 -0
  655. package/js/src/src/pro/derive.js +753 -0
  656. package/js/src/src/pro/exmo.d.ts +97 -0
  657. package/js/src/src/pro/exmo.js +903 -0
  658. package/js/src/src/pro/gate.d.ts +360 -0
  659. package/js/src/src/pro/gate.js +2119 -0
  660. package/js/src/src/pro/gateio.d.ts +4 -0
  661. package/js/src/src/pro/gateio.js +17 -0
  662. package/js/src/src/pro/gemini.d.ts +106 -0
  663. package/js/src/src/pro/gemini.js +932 -0
  664. package/js/src/src/pro/hashkey.d.ts +121 -0
  665. package/js/src/src/pro/hashkey.js +843 -0
  666. package/js/src/src/pro/hitbtc.d.ts +235 -0
  667. package/js/src/src/pro/hitbtc.js +1400 -0
  668. package/js/src/src/pro/hollaex.d.ts +77 -0
  669. package/js/src/src/pro/hollaex.js +604 -0
  670. package/js/src/src/pro/htx.d.ts +141 -0
  671. package/js/src/src/pro/htx.js +2415 -0
  672. package/js/src/src/pro/huobi.d.ts +4 -0
  673. package/js/src/src/pro/huobi.js +17 -0
  674. package/js/src/src/pro/hyperliquid.d.ts +218 -0
  675. package/js/src/src/pro/hyperliquid.js +1126 -0
  676. package/js/src/src/pro/independentreserve.d.ts +36 -0
  677. package/js/src/src/pro/independentreserve.js +287 -0
  678. package/js/src/src/pro/kraken.d.ts +233 -0
  679. package/js/src/src/pro/kraken.js +1785 -0
  680. package/js/src/src/pro/krakenfutures.d.ts +178 -0
  681. package/js/src/src/pro/krakenfutures.js +1592 -0
  682. package/js/src/src/pro/kucoin.d.ts +221 -0
  683. package/js/src/src/pro/kucoin.js +1430 -0
  684. package/js/src/src/pro/kucoinfutures.d.ts +205 -0
  685. package/js/src/src/pro/kucoinfutures.js +1295 -0
  686. package/js/src/src/pro/lbank.d.ts +134 -0
  687. package/js/src/src/pro/lbank.js +950 -0
  688. package/js/src/src/pro/luno.d.ts +44 -0
  689. package/js/src/src/pro/luno.js +322 -0
  690. package/js/src/src/pro/mexc.d.ts +210 -0
  691. package/js/src/src/pro/mexc.js +2009 -0
  692. package/js/src/src/pro/modetrade.d.ts +155 -0
  693. package/js/src/src/pro/modetrade.js +1335 -0
  694. package/js/src/src/pro/myokx.d.ts +4 -0
  695. package/js/src/src/pro/myokx.js +39 -0
  696. package/js/src/src/pro/ndax.d.ts +60 -0
  697. package/js/src/src/pro/ndax.js +545 -0
  698. package/js/src/src/pro/okcoin.d.ts +91 -0
  699. package/js/src/src/pro/okcoin.js +763 -0
  700. package/js/src/src/pro/okx.d.ts +408 -0
  701. package/js/src/src/pro/okx.js +2479 -0
  702. package/js/src/src/pro/okxus.d.ts +4 -0
  703. package/js/src/src/pro/okxus.js +39 -0
  704. package/js/src/src/pro/onetrading.d.ts +107 -0
  705. package/js/src/src/pro/onetrading.js +1343 -0
  706. package/js/src/src/pro/oxfun.d.ts +234 -0
  707. package/js/src/src/pro/oxfun.js +1112 -0
  708. package/js/src/src/pro/p2b.d.ts +104 -0
  709. package/js/src/src/pro/p2b.js +506 -0
  710. package/js/src/src/pro/paradex.d.ts +54 -0
  711. package/js/src/src/pro/paradex.js +370 -0
  712. package/js/src/src/pro/phemex.d.ts +129 -0
  713. package/js/src/src/pro/phemex.js +1569 -0
  714. package/js/src/src/pro/poloniex.d.ts +214 -0
  715. package/js/src/src/pro/poloniex.js +1318 -0
  716. package/js/src/src/pro/probit.d.ts +91 -0
  717. package/js/src/src/pro/probit.js +593 -0
  718. package/js/src/src/pro/tradeogre.d.ts +49 -0
  719. package/js/src/src/pro/tradeogre.js +284 -0
  720. package/js/src/src/pro/upbit.d.ts +124 -0
  721. package/js/src/src/pro/upbit.js +689 -0
  722. package/js/src/src/pro/vertex.d.ts +104 -0
  723. package/js/src/src/pro/vertex.js +999 -0
  724. package/js/src/src/pro/whitebit.d.ts +123 -0
  725. package/js/src/src/pro/whitebit.js +971 -0
  726. package/js/src/src/pro/woo.d.ts +161 -0
  727. package/js/src/src/pro/woo.js +1351 -0
  728. package/js/src/src/pro/woofipro.d.ts +155 -0
  729. package/js/src/src/pro/woofipro.js +1335 -0
  730. package/js/src/src/pro/xt.d.ts +165 -0
  731. package/js/src/src/pro/xt.js +1230 -0
  732. package/js/src/src/probit.d.ts +283 -0
  733. package/js/src/src/probit.js +1935 -0
  734. package/js/src/src/protobuf/mexc/compiled.cjs +7186 -0
  735. package/js/src/src/protobuf/mexc/compiled.d.cts +8 -0
  736. package/js/src/src/raastin.d.ts +24 -0
  737. package/js/src/src/raastin.js +494 -0
  738. package/js/src/src/ramzinex.d.ts +23 -0
  739. package/js/src/src/ramzinex.js +510 -0
  740. package/js/src/src/sarmayex.d.ts +21 -0
  741. package/js/src/src/sarmayex.js +376 -0
  742. package/js/src/src/sarrafex.d.ts +23 -0
  743. package/js/src/src/sarrafex.js +501 -0
  744. package/js/src/src/static_dependencies/ethers/abi-coder.d.ts +50 -0
  745. package/js/src/src/static_dependencies/ethers/abi-coder.js +148 -0
  746. package/js/src/src/static_dependencies/ethers/address/address.d.ts +55 -0
  747. package/js/src/src/static_dependencies/ethers/address/address.js +162 -0
  748. package/js/src/src/static_dependencies/ethers/address/checks.d.ts +80 -0
  749. package/js/src/src/static_dependencies/ethers/address/checks.js +119 -0
  750. package/js/src/src/static_dependencies/ethers/address/contract-address.d.ts +47 -0
  751. package/js/src/src/static_dependencies/ethers/address/contract-address.js +73 -0
  752. package/js/src/src/static_dependencies/ethers/address/index.d.ts +48 -0
  753. package/js/src/src/static_dependencies/ethers/address/index.js +24 -0
  754. package/js/src/src/static_dependencies/ethers/bytes32.d.ts +14 -0
  755. package/js/src/src/static_dependencies/ethers/bytes32.js +45 -0
  756. package/js/src/src/static_dependencies/ethers/coders/abstract-coder.d.ts +120 -0
  757. package/js/src/src/static_dependencies/ethers/coders/abstract-coder.js +424 -0
  758. package/js/src/src/static_dependencies/ethers/coders/address.d.ts +12 -0
  759. package/js/src/src/static_dependencies/ethers/coders/address.js +34 -0
  760. package/js/src/src/static_dependencies/ethers/coders/anonymous.d.ts +14 -0
  761. package/js/src/src/static_dependencies/ethers/coders/anonymous.js +27 -0
  762. package/js/src/src/static_dependencies/ethers/coders/array.d.ts +24 -0
  763. package/js/src/src/static_dependencies/ethers/coders/array.js +162 -0
  764. package/js/src/src/static_dependencies/ethers/coders/boolean.d.ts +12 -0
  765. package/js/src/src/static_dependencies/ethers/coders/boolean.js +26 -0
  766. package/js/src/src/static_dependencies/ethers/coders/bytes.d.ts +18 -0
  767. package/js/src/src/static_dependencies/ethers/coders/bytes.js +39 -0
  768. package/js/src/src/static_dependencies/ethers/coders/fixed-bytes.d.ts +14 -0
  769. package/js/src/src/static_dependencies/ethers/coders/fixed-bytes.js +32 -0
  770. package/js/src/src/static_dependencies/ethers/coders/null.d.ts +11 -0
  771. package/js/src/src/static_dependencies/ethers/coders/null.js +29 -0
  772. package/js/src/src/static_dependencies/ethers/coders/number.d.ts +15 -0
  773. package/js/src/src/static_dependencies/ethers/coders/number.js +48 -0
  774. package/js/src/src/static_dependencies/ethers/coders/string.d.ts +12 -0
  775. package/js/src/src/static_dependencies/ethers/coders/string.js +26 -0
  776. package/js/src/src/static_dependencies/ethers/coders/tuple.d.ts +15 -0
  777. package/js/src/src/static_dependencies/ethers/coders/tuple.js +67 -0
  778. package/js/src/src/static_dependencies/ethers/fragments.d.ts +458 -0
  779. package/js/src/src/static_dependencies/ethers/fragments.js +1252 -0
  780. package/js/src/src/static_dependencies/ethers/hash/index.d.ts +10 -0
  781. package/js/src/src/static_dependencies/ethers/hash/index.js +15 -0
  782. package/js/src/src/static_dependencies/ethers/hash/solidity.d.ts +30 -0
  783. package/js/src/src/static_dependencies/ethers/hash/solidity.js +107 -0
  784. package/js/src/src/static_dependencies/ethers/hash/typed-data.d.ts +144 -0
  785. package/js/src/src/static_dependencies/ethers/hash/typed-data.js +490 -0
  786. package/js/src/src/static_dependencies/ethers/index.d.ts +19 -0
  787. package/js/src/src/static_dependencies/ethers/index.js +22 -0
  788. package/js/src/src/static_dependencies/ethers/interface.d.ts +380 -0
  789. package/js/src/src/static_dependencies/ethers/interface.js +990 -0
  790. package/js/src/src/static_dependencies/ethers/typed.d.ts +569 -0
  791. package/js/src/src/static_dependencies/ethers/typed.js +608 -0
  792. package/js/src/src/static_dependencies/ethers/utils/base58.d.ts +22 -0
  793. package/js/src/src/static_dependencies/ethers/utils/base58.js +68 -0
  794. package/js/src/src/static_dependencies/ethers/utils/base64.d.ts +39 -0
  795. package/js/src/src/static_dependencies/ethers/utils/base64.js +58 -0
  796. package/js/src/src/static_dependencies/ethers/utils/data.d.ts +92 -0
  797. package/js/src/src/static_dependencies/ethers/utils/data.js +175 -0
  798. package/js/src/src/static_dependencies/ethers/utils/errors.d.ts +509 -0
  799. package/js/src/src/static_dependencies/ethers/utils/errors.js +227 -0
  800. package/js/src/src/static_dependencies/ethers/utils/events.d.ts +76 -0
  801. package/js/src/src/static_dependencies/ethers/utils/events.js +52 -0
  802. package/js/src/src/static_dependencies/ethers/utils/fixednumber.d.ts +251 -0
  803. package/js/src/src/static_dependencies/ethers/utils/fixednumber.js +529 -0
  804. package/js/src/src/static_dependencies/ethers/utils/index.d.ts +30 -0
  805. package/js/src/src/static_dependencies/ethers/utils/index.js +38 -0
  806. package/js/src/src/static_dependencies/ethers/utils/maths.d.ts +65 -0
  807. package/js/src/src/static_dependencies/ethers/utils/maths.js +220 -0
  808. package/js/src/src/static_dependencies/ethers/utils/properties.d.ts +22 -0
  809. package/js/src/src/static_dependencies/ethers/utils/properties.js +59 -0
  810. package/js/src/src/static_dependencies/ethers/utils/rlp-decode.d.ts +5 -0
  811. package/js/src/src/static_dependencies/ethers/utils/rlp-decode.js +84 -0
  812. package/js/src/src/static_dependencies/ethers/utils/rlp-encode.d.ts +5 -0
  813. package/js/src/src/static_dependencies/ethers/utils/rlp-encode.js +54 -0
  814. package/js/src/src/static_dependencies/ethers/utils/rlp.d.ts +16 -0
  815. package/js/src/src/static_dependencies/ethers/utils/rlp.js +14 -0
  816. package/js/src/src/static_dependencies/ethers/utils/units.d.ts +23 -0
  817. package/js/src/src/static_dependencies/ethers/utils/units.js +88 -0
  818. package/js/src/src/static_dependencies/ethers/utils/utf8.d.ts +95 -0
  819. package/js/src/src/static_dependencies/ethers/utils/utf8.js +225 -0
  820. package/js/src/src/static_dependencies/ethers/utils/uuid.d.ts +7 -0
  821. package/js/src/src/static_dependencies/ethers/utils/uuid.js +35 -0
  822. package/js/src/src/static_dependencies/fflake/browser.d.ts +222 -0
  823. package/js/src/src/static_dependencies/fflake/browser.js +2578 -0
  824. package/js/src/src/static_dependencies/jsencrypt/JSEncrypt.d.ts +116 -0
  825. package/js/src/src/static_dependencies/jsencrypt/JSEncrypt.js +194 -0
  826. package/js/src/src/static_dependencies/jsencrypt/JSEncryptRSAKey.d.ts +142 -0
  827. package/js/src/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +307 -0
  828. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/asn1.d.ts +51 -0
  829. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +565 -0
  830. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/base64.d.ts +5 -0
  831. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +94 -0
  832. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/hex.d.ts +3 -0
  833. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +70 -0
  834. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/int10.d.ts +9 -0
  835. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +91 -0
  836. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/base64.d.ts +3 -0
  837. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +25 -0
  838. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.d.ts +101 -0
  839. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +1757 -0
  840. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/prng4.d.ts +10 -0
  841. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +50 -0
  842. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/rng.d.ts +3 -0
  843. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +80 -0
  844. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/rsa.d.ts +23 -0
  845. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +377 -0
  846. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/util.d.ts +7 -0
  847. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/util.js +64 -0
  848. package/js/src/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.d.ts +24 -0
  849. package/js/src/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +1627 -0
  850. package/js/src/src/static_dependencies/noble-curves/_shortw_utils.d.ts +60 -0
  851. package/js/src/src/static_dependencies/noble-curves/_shortw_utils.js +22 -0
  852. package/js/src/src/static_dependencies/noble-curves/abstract/curve.d.ts +67 -0
  853. package/js/src/src/static_dependencies/noble-curves/abstract/curve.js +157 -0
  854. package/js/src/src/static_dependencies/noble-curves/abstract/edwards.d.ts +79 -0
  855. package/js/src/src/static_dependencies/noble-curves/abstract/edwards.js +432 -0
  856. package/js/src/src/static_dependencies/noble-curves/abstract/hash-to-curve.d.ts +56 -0
  857. package/js/src/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +171 -0
  858. package/js/src/src/static_dependencies/noble-curves/abstract/modular.d.ts +68 -0
  859. package/js/src/src/static_dependencies/noble-curves/abstract/modular.js +351 -0
  860. package/js/src/src/static_dependencies/noble-curves/abstract/montgomery.d.ts +25 -0
  861. package/js/src/src/static_dependencies/noble-curves/abstract/montgomery.js +162 -0
  862. package/js/src/src/static_dependencies/noble-curves/abstract/poseidon.d.ts +29 -0
  863. package/js/src/src/static_dependencies/noble-curves/abstract/poseidon.js +115 -0
  864. package/js/src/src/static_dependencies/noble-curves/abstract/utils.d.ts +53 -0
  865. package/js/src/src/static_dependencies/noble-curves/abstract/utils.js +227 -0
  866. package/js/src/src/static_dependencies/noble-curves/abstract/weierstrass.d.ts +204 -0
  867. package/js/src/src/static_dependencies/noble-curves/abstract/weierstrass.js +1016 -0
  868. package/js/src/src/static_dependencies/noble-curves/ed25519.d.ts +53 -0
  869. package/js/src/src/static_dependencies/noble-curves/ed25519.js +402 -0
  870. package/js/src/src/static_dependencies/noble-curves/p256.d.ts +103 -0
  871. package/js/src/src/static_dependencies/noble-curves/p256.js +47 -0
  872. package/js/src/src/static_dependencies/noble-curves/secp256k1.d.ts +91 -0
  873. package/js/src/src/static_dependencies/noble-curves/secp256k1.js +257 -0
  874. package/js/src/src/static_dependencies/noble-hashes/_assert.d.ts +21 -0
  875. package/js/src/src/static_dependencies/noble-hashes/_assert.js +48 -0
  876. package/js/src/src/static_dependencies/noble-hashes/_sha2.d.ts +23 -0
  877. package/js/src/src/static_dependencies/noble-hashes/_sha2.js +119 -0
  878. package/js/src/src/static_dependencies/noble-hashes/_u64.d.ts +35 -0
  879. package/js/src/src/static_dependencies/noble-hashes/_u64.js +66 -0
  880. package/js/src/src/static_dependencies/noble-hashes/crypto.d.ts +1 -0
  881. package/js/src/src/static_dependencies/noble-hashes/crypto.js +7 -0
  882. package/js/src/src/static_dependencies/noble-hashes/hmac.d.ts +26 -0
  883. package/js/src/src/static_dependencies/noble-hashes/hmac.js +82 -0
  884. package/js/src/src/static_dependencies/noble-hashes/md5.d.ts +18 -0
  885. package/js/src/src/static_dependencies/noble-hashes/md5.js +242 -0
  886. package/js/src/src/static_dependencies/noble-hashes/sha1.d.ts +21 -0
  887. package/js/src/src/static_dependencies/noble-hashes/sha1.js +90 -0
  888. package/js/src/src/static_dependencies/noble-hashes/sha256.d.ts +34 -0
  889. package/js/src/src/static_dependencies/noble-hashes/sha256.js +129 -0
  890. package/js/src/src/static_dependencies/noble-hashes/sha3.d.ts +97 -0
  891. package/js/src/src/static_dependencies/noble-hashes/sha3.js +211 -0
  892. package/js/src/src/static_dependencies/noble-hashes/sha512.d.ts +66 -0
  893. package/js/src/src/static_dependencies/noble-hashes/sha512.js +236 -0
  894. package/js/src/src/static_dependencies/noble-hashes/utils.d.ts +77 -0
  895. package/js/src/src/static_dependencies/noble-hashes/utils.js +147 -0
  896. package/js/src/src/static_dependencies/proxies/agent-base/helpers.d.ts +14 -0
  897. package/js/src/src/static_dependencies/proxies/agent-base/helpers.js +42 -0
  898. package/js/src/src/static_dependencies/proxies/agent-base/index.d.ts +33 -0
  899. package/js/src/src/static_dependencies/proxies/agent-base/index.js +82 -0
  900. package/js/src/src/static_dependencies/proxies/http-proxy-agent/index.d.ts +40 -0
  901. package/js/src/src/static_dependencies/proxies/http-proxy-agent/index.js +119 -0
  902. package/js/src/src/static_dependencies/proxies/https-proxy-agent/index.d.ts +45 -0
  903. package/js/src/src/static_dependencies/proxies/https-proxy-agent/index.js +150 -0
  904. package/js/src/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.d.ts +15 -0
  905. package/js/src/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +95 -0
  906. package/js/src/src/static_dependencies/qs/formats.cjs +22 -0
  907. package/js/src/src/static_dependencies/qs/formats.d.cts +14 -0
  908. package/js/src/src/static_dependencies/qs/index.cjs +15 -0
  909. package/js/src/src/static_dependencies/qs/index.d.cts +10 -0
  910. package/js/src/src/static_dependencies/qs/parse.cjs +208 -0
  911. package/js/src/src/static_dependencies/qs/parse.d.cts +8 -0
  912. package/js/src/src/static_dependencies/qs/stringify.cjs +192 -0
  913. package/js/src/src/static_dependencies/qs/stringify.d.cts +8 -0
  914. package/js/src/src/static_dependencies/qs/utils.cjs +202 -0
  915. package/js/src/src/static_dependencies/qs/utils.d.cts +15 -0
  916. package/js/src/src/static_dependencies/scure-base/index.d.ts +92 -0
  917. package/js/src/src/static_dependencies/scure-base/index.js +420 -0
  918. package/js/src/src/static_dependencies/scure-starknet/index.d.ts +79 -0
  919. package/js/src/src/static_dependencies/scure-starknet/index.js +323 -0
  920. package/js/src/src/static_dependencies/starknet/constants.d.ts +61 -0
  921. package/js/src/src/static_dependencies/starknet/constants.js +67 -0
  922. package/js/src/src/static_dependencies/starknet/index.d.ts +3 -0
  923. package/js/src/src/static_dependencies/starknet/index.js +9 -0
  924. package/js/src/src/static_dependencies/starknet/types/cairoEnum.d.ts +2 -0
  925. package/js/src/src/static_dependencies/starknet/types/cairoEnum.js +7 -0
  926. package/js/src/src/static_dependencies/starknet/types/calldata.d.ts +19 -0
  927. package/js/src/src/static_dependencies/starknet/types/calldata.js +28 -0
  928. package/js/src/src/static_dependencies/starknet/types/index.d.ts +13 -0
  929. package/js/src/src/static_dependencies/starknet/types/index.js +16 -0
  930. package/js/src/src/static_dependencies/starknet/types/lib/contract/abi.d.ts +71 -0
  931. package/js/src/src/static_dependencies/starknet/types/lib/contract/abi.js +13 -0
  932. package/js/src/src/static_dependencies/starknet/types/lib/contract/index.d.ts +24 -0
  933. package/js/src/src/static_dependencies/starknet/types/lib/contract/index.js +16 -0
  934. package/js/src/src/static_dependencies/starknet/types/lib/contract/legacy.d.ts +33 -0
  935. package/js/src/src/static_dependencies/starknet/types/lib/contract/legacy.js +7 -0
  936. package/js/src/src/static_dependencies/starknet/types/lib/contract/sierra.d.ts +52 -0
  937. package/js/src/src/static_dependencies/starknet/types/lib/contract/sierra.js +7 -0
  938. package/js/src/src/static_dependencies/starknet/types/lib/index.d.ts +248 -0
  939. package/js/src/src/static_dependencies/starknet/types/lib/index.js +52 -0
  940. package/js/src/src/static_dependencies/starknet/types/typedData.d.ts +44 -0
  941. package/js/src/src/static_dependencies/starknet/types/typedData.js +19 -0
  942. package/js/src/src/static_dependencies/starknet/utils/assert.d.ts +7 -0
  943. package/js/src/src/static_dependencies/starknet/utils/assert.js +17 -0
  944. package/js/src/src/static_dependencies/starknet/utils/cairoDataTypes/felt.d.ts +6 -0
  945. package/js/src/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +43 -0
  946. package/js/src/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.d.ts +72 -0
  947. package/js/src/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +117 -0
  948. package/js/src/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.d.ts +76 -0
  949. package/js/src/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +136 -0
  950. package/js/src/src/static_dependencies/starknet/utils/calldata/byteArray.d.ts +32 -0
  951. package/js/src/src/static_dependencies/starknet/utils/calldata/byteArray.js +59 -0
  952. package/js/src/src/static_dependencies/starknet/utils/calldata/cairo.d.ts +183 -0
  953. package/js/src/src/static_dependencies/starknet/utils/calldata/cairo.js +229 -0
  954. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.d.ts +38 -0
  955. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +57 -0
  956. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.d.ts +35 -0
  957. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +64 -0
  958. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.d.ts +34 -0
  959. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +63 -0
  960. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/index.d.ts +3 -0
  961. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/index.js +9 -0
  962. package/js/src/src/static_dependencies/starknet/utils/calldata/formatter.d.ts +9 -0
  963. package/js/src/src/static_dependencies/starknet/utils/calldata/formatter.js +67 -0
  964. package/js/src/src/static_dependencies/starknet/utils/calldata/index.d.ts +89 -0
  965. package/js/src/src/static_dependencies/starknet/utils/calldata/index.js +280 -0
  966. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/index.d.ts +5 -0
  967. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/index.js +30 -0
  968. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/interface.d.ts +20 -0
  969. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/interface.js +8 -0
  970. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.d.ts +24 -0
  971. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +36 -0
  972. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.d.ts +23 -0
  973. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +40 -0
  974. package/js/src/src/static_dependencies/starknet/utils/calldata/propertyOrder.d.ts +2 -0
  975. package/js/src/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +155 -0
  976. package/js/src/src/static_dependencies/starknet/utils/calldata/requestParser.d.ts +11 -0
  977. package/js/src/src/static_dependencies/starknet/utils/calldata/requestParser.js +248 -0
  978. package/js/src/src/static_dependencies/starknet/utils/calldata/responseParser.d.ts +11 -0
  979. package/js/src/src/static_dependencies/starknet/utils/calldata/responseParser.js +214 -0
  980. package/js/src/src/static_dependencies/starknet/utils/calldata/tuple.d.ts +6 -0
  981. package/js/src/src/static_dependencies/starknet/utils/calldata/tuple.js +113 -0
  982. package/js/src/src/static_dependencies/starknet/utils/calldata/validate.d.ts +6 -0
  983. package/js/src/src/static_dependencies/starknet/utils/calldata/validate.js +208 -0
  984. package/js/src/src/static_dependencies/starknet/utils/encode.d.ts +207 -0
  985. package/js/src/src/static_dependencies/starknet/utils/encode.js +282 -0
  986. package/js/src/src/static_dependencies/starknet/utils/hash/classHash.d.ts +57 -0
  987. package/js/src/src/static_dependencies/starknet/utils/hash/classHash.js +223 -0
  988. package/js/src/src/static_dependencies/starknet/utils/hash/index.d.ts +6 -0
  989. package/js/src/src/static_dependencies/starknet/utils/hash/index.js +13 -0
  990. package/js/src/src/static_dependencies/starknet/utils/merkle.d.ts +35 -0
  991. package/js/src/src/static_dependencies/starknet/utils/merkle.js +84 -0
  992. package/js/src/src/static_dependencies/starknet/utils/num.d.ts +182 -0
  993. package/js/src/src/static_dependencies/starknet/utils/num.js +244 -0
  994. package/js/src/src/static_dependencies/starknet/utils/selector.d.ts +48 -0
  995. package/js/src/src/static_dependencies/starknet/utils/selector.js +85 -0
  996. package/js/src/src/static_dependencies/starknet/utils/shortString.d.ts +57 -0
  997. package/js/src/src/static_dependencies/starknet/utils/shortString.js +96 -0
  998. package/js/src/src/static_dependencies/starknet/utils/typedData.d.ts +54 -0
  999. package/js/src/src/static_dependencies/starknet/utils/typedData.js +321 -0
  1000. package/js/src/src/static_dependencies/watchable/src/types.d.ts +28 -0
  1001. package/js/src/src/static_dependencies/watchable/src/types.js +8 -0
  1002. package/js/src/src/static_dependencies/watchable/src/unpromise.d.ts +120 -0
  1003. package/js/src/src/static_dependencies/watchable/src/unpromise.js +297 -0
  1004. package/js/src/src/static_dependencies/zklink/zklink-sdk-web.d.ts +1279 -0
  1005. package/js/src/src/static_dependencies/zklink/zklink-sdk-web.js +4282 -0
  1006. package/js/src/src/tabdeal.d.ts +23 -0
  1007. package/js/src/src/tabdeal.js +387 -0
  1008. package/js/src/src/tehran_exchange.d.ts +21 -0
  1009. package/js/src/src/tehran_exchange.js +333 -0
  1010. package/js/src/src/tetherland.d.ts +21 -0
  1011. package/js/src/src/tetherland.js +367 -0
  1012. package/js/src/src/timex.d.ts +247 -0
  1013. package/js/src/src/timex.js +1792 -0
  1014. package/js/src/src/tokocrypto.d.ts +261 -0
  1015. package/js/src/src/tokocrypto.js +2641 -0
  1016. package/js/src/src/toobit.d.ts +22 -0
  1017. package/js/src/src/toobit.js +445 -0
  1018. package/js/src/src/tradeogre.d.ts +149 -0
  1019. package/js/src/src/tradeogre.js +878 -0
  1020. package/js/src/src/twox.d.ts +21 -0
  1021. package/js/src/src/twox.js +371 -0
  1022. package/js/src/src/ubitex.d.ts +23 -0
  1023. package/js/src/src/ubitex.js +433 -0
  1024. package/js/src/src/upbit.d.ts +377 -0
  1025. package/js/src/src/upbit.js +2340 -0
  1026. package/js/src/src/vertex.d.ts +346 -0
  1027. package/js/src/src/vertex.js +3146 -0
  1028. package/js/src/src/wallex.d.ts +23 -0
  1029. package/js/src/src/wallex.js +467 -0
  1030. package/js/src/src/wavesexchange.d.ts +244 -0
  1031. package/js/src/src/wavesexchange.js +2747 -0
  1032. package/js/src/src/whitebit.d.ts +571 -0
  1033. package/js/src/src/whitebit.js +3437 -0
  1034. package/js/src/src/woo.d.ts +727 -0
  1035. package/js/src/src/woo.js +4183 -0
  1036. package/js/src/src/woofipro.d.ts +497 -0
  1037. package/js/src/src/woofipro.js +2941 -0
  1038. package/js/src/src/xt.d.ts +568 -0
  1039. package/js/src/src/xt.js +5184 -0
  1040. package/js/src/src/yobit.d.ts +197 -0
  1041. package/js/src/src/yobit.js +1453 -0
  1042. package/js/src/src/zaif.d.ts +136 -0
  1043. package/js/src/src/zaif.js +821 -0
  1044. package/js/src/src/zonda.d.ts +214 -0
  1045. package/js/src/src/zonda.js +1984 -0
  1046. package/js/test.js +3 -3
  1047. package/package.json +1 -1
@@ -0,0 +1,1259 @@
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/blockchaincom.js';
9
+ import { ExchangeError, AuthenticationError, OrderNotFound, InsufficientFunds, ArgumentsRequired } from './base/errors.js';
10
+ import { Precise } from './base/Precise.js';
11
+ import { TICK_SIZE } from './base/functions/number.js';
12
+ // ---------------------------------------------------------------------------
13
+ /**
14
+ * @class blockchaincom
15
+ * @augments Exchange
16
+ */
17
+ export default class blockchaincom extends Exchange {
18
+ describe() {
19
+ return this.deepExtend(super.describe(), {
20
+ 'id': 'blockchaincom',
21
+ 'secret': undefined,
22
+ 'name': 'Blockchain.com',
23
+ 'countries': ['LX'],
24
+ 'rateLimit': 500,
25
+ 'version': 'v3',
26
+ 'pro': true,
27
+ 'has': {
28
+ 'CORS': false,
29
+ 'spot': true,
30
+ 'margin': undefined,
31
+ 'swap': false,
32
+ 'future': false,
33
+ 'option': false,
34
+ 'cancelAllOrders': true,
35
+ 'cancelOrder': true,
36
+ 'createOrder': true,
37
+ 'createStopLimitOrder': true,
38
+ 'createStopMarketOrder': true,
39
+ 'createStopOrder': true,
40
+ 'fetchBalance': true,
41
+ 'fetchCanceledOrders': true,
42
+ 'fetchClosedOrders': true,
43
+ 'fetchDeposit': true,
44
+ 'fetchDepositAddress': true,
45
+ 'fetchDepositAddresses': false,
46
+ 'fetchDepositAddressesByNetwork': false,
47
+ 'fetchDeposits': true,
48
+ 'fetchFundingHistory': false,
49
+ 'fetchFundingRate': false,
50
+ 'fetchFundingRateHistory': false,
51
+ 'fetchFundingRates': false,
52
+ 'fetchIndexOHLCV': false,
53
+ 'fetchL2OrderBook': true,
54
+ 'fetchL3OrderBook': true,
55
+ 'fetchLedger': false,
56
+ 'fetchMarginMode': false,
57
+ 'fetchMarkets': true,
58
+ 'fetchMarkOHLCV': false,
59
+ 'fetchMyTrades': true,
60
+ 'fetchOHLCV': false,
61
+ 'fetchOpenInterestHistory': false,
62
+ 'fetchOpenOrders': true,
63
+ 'fetchOrder': true,
64
+ 'fetchOrderBook': true,
65
+ 'fetchPositionMode': false,
66
+ 'fetchPremiumIndexOHLCV': false,
67
+ 'fetchTicker': true,
68
+ 'fetchTickers': true,
69
+ 'fetchTrades': false,
70
+ 'fetchTradingFee': false,
71
+ 'fetchTradingFees': true,
72
+ 'fetchTransfer': false,
73
+ 'fetchTransfers': false,
74
+ 'fetchWithdrawal': true,
75
+ 'fetchWithdrawals': true,
76
+ 'fetchWithdrawalWhitelist': true,
77
+ 'transfer': false,
78
+ 'withdraw': true,
79
+ },
80
+ 'timeframes': undefined,
81
+ 'urls': {
82
+ 'logo': 'https://github.com/user-attachments/assets/975e3054-3399-4363-bcee-ec3c6d63d4e8',
83
+ 'test': {
84
+ 'public': 'https://testnet-api.delta.exchange',
85
+ 'private': 'https://testnet-api.delta.exchange',
86
+ },
87
+ 'api': {
88
+ 'public': 'https://api.blockchain.com/v3/exchange',
89
+ 'private': 'https://api.blockchain.com/v3/exchange',
90
+ },
91
+ 'www': 'https://blockchain.com',
92
+ 'doc': [
93
+ 'https://api.blockchain.com/v3',
94
+ ],
95
+ 'fees': 'https://exchange.blockchain.com/fees',
96
+ },
97
+ 'api': {
98
+ 'public': {
99
+ 'get': {
100
+ 'tickers': 1,
101
+ 'tickers/{symbol}': 1,
102
+ 'symbols': 1,
103
+ 'symbols/{symbol}': 1,
104
+ 'l2/{symbol}': 1,
105
+ 'l3/{symbol}': 1, // fetchL3OrderBook
106
+ },
107
+ },
108
+ 'private': {
109
+ 'get': {
110
+ 'fees': 1,
111
+ 'orders': 1,
112
+ 'orders/{orderId}': 1,
113
+ 'trades': 1,
114
+ 'fills': 1,
115
+ 'deposits': 1,
116
+ 'deposits/{depositId}': 1,
117
+ 'accounts': 1,
118
+ 'accounts/{account}/{currency}': 1,
119
+ 'whitelist': 1,
120
+ 'whitelist/{currency}': 1,
121
+ 'withdrawals': 1,
122
+ 'withdrawals/{withdrawalId}': 1, // fetchWithdrawalById
123
+ },
124
+ 'post': {
125
+ 'orders': 1,
126
+ 'deposits/{currency}': 1,
127
+ 'withdrawals': 1, // withdraw
128
+ },
129
+ 'delete': {
130
+ 'orders': 1,
131
+ 'orders/{orderId}': 1, // cancelOrder
132
+ },
133
+ },
134
+ },
135
+ 'fees': {
136
+ 'trading': {
137
+ 'feeSide': 'get',
138
+ 'tierBased': true,
139
+ 'percentage': true,
140
+ 'tiers': {
141
+ 'taker': [
142
+ [this.parseNumber('0'), this.parseNumber('0.0045')],
143
+ [this.parseNumber('10000'), this.parseNumber('0.0035')],
144
+ [this.parseNumber('50000'), this.parseNumber('0.0018')],
145
+ [this.parseNumber('100000'), this.parseNumber('0.0018')],
146
+ [this.parseNumber('500000'), this.parseNumber('0.0018')],
147
+ [this.parseNumber('1000000'), this.parseNumber('0.0018')],
148
+ [this.parseNumber('2500000'), this.parseNumber('0.0018')],
149
+ [this.parseNumber('5000000'), this.parseNumber('0.0016')],
150
+ [this.parseNumber('25000000'), this.parseNumber('0.0014')],
151
+ [this.parseNumber('100000000'), this.parseNumber('0.0011')],
152
+ [this.parseNumber('500000000'), this.parseNumber('0.0008')],
153
+ [this.parseNumber('1000000000'), this.parseNumber('0.0006')],
154
+ ],
155
+ 'maker': [
156
+ [this.parseNumber('0'), this.parseNumber('0.004')],
157
+ [this.parseNumber('10000'), this.parseNumber('0.0017')],
158
+ [this.parseNumber('50000'), this.parseNumber('0.0015')],
159
+ [this.parseNumber('100000'), this.parseNumber('0.0008')],
160
+ [this.parseNumber('500000'), this.parseNumber('0.0007')],
161
+ [this.parseNumber('1000000'), this.parseNumber('0.0006')],
162
+ [this.parseNumber('2500000'), this.parseNumber('0.0005')],
163
+ [this.parseNumber('5000000'), this.parseNumber('0.0004')],
164
+ [this.parseNumber('25000000'), this.parseNumber('0.0003')],
165
+ [this.parseNumber('100000000'), this.parseNumber('0.0002')],
166
+ [this.parseNumber('500000000'), this.parseNumber('0.0001')],
167
+ [this.parseNumber('1000000000'), this.parseNumber('0')],
168
+ ],
169
+ },
170
+ },
171
+ },
172
+ 'requiredCredentials': {
173
+ 'apiKey': false,
174
+ 'secret': true,
175
+ },
176
+ 'options': {
177
+ 'networks': {
178
+ 'ERC20': 'ETH',
179
+ 'TRC20': 'TRX',
180
+ 'ALGO': 'ALGO',
181
+ 'ADA': 'ADA',
182
+ 'AR': 'AR',
183
+ 'ATOM': 'ATOM',
184
+ 'AVAXC': 'AVAX',
185
+ 'BCH': 'BCH',
186
+ 'BSV': 'BSV',
187
+ 'BTC': 'BTC',
188
+ // 'BEP20': 'BNB', // todo
189
+ 'DCR': 'DCR',
190
+ 'DESO': 'DESO',
191
+ 'DASH': 'DASH',
192
+ 'CELO': 'CELO',
193
+ 'CHZ': 'CHZ',
194
+ 'MATIC': 'MATIC',
195
+ 'SOL': 'SOL',
196
+ 'DOGE': 'DOGE',
197
+ 'DOT': 'DOT',
198
+ 'EOS': 'EOS',
199
+ 'ETC': 'ETC',
200
+ 'FIL': 'FIL',
201
+ 'KAVA': 'KAVA',
202
+ 'LTC': 'LTC',
203
+ 'IOTA': 'MIOTA',
204
+ 'NEAR': 'NEAR',
205
+ 'STX': 'STX',
206
+ 'XLM': 'XLM',
207
+ 'XMR': 'XMR',
208
+ 'XRP': 'XRP',
209
+ 'XTZ': 'XTZ',
210
+ 'ZEC': 'ZEC',
211
+ 'ZIL': 'ZIL',
212
+ // 'THETA': 'THETA', // todo: possible TFUEL THETA FUEL is also same, but API might have a mistake
213
+ // todo: uncomment below after consensus
214
+ // 'MOBILECOIN': 'MOB',
215
+ // 'KIN': 'KIN',
216
+ // 'DIGITALGOLD': 'DGLD',
217
+ },
218
+ },
219
+ 'features': {
220
+ 'spot': {
221
+ 'sandbox': false,
222
+ 'createOrder': {
223
+ 'marginMode': false,
224
+ 'triggerPrice': true,
225
+ 'triggerPriceType': undefined,
226
+ 'triggerDirection': false,
227
+ 'stopLossPrice': false,
228
+ 'takeProfitPrice': false,
229
+ 'attachedStopLossTakeProfit': undefined,
230
+ 'timeInForce': {
231
+ 'IOC': true,
232
+ 'FOK': true,
233
+ 'PO': false,
234
+ 'GTD': true, // todo implementation
235
+ },
236
+ 'hedged': false,
237
+ 'leverage': false,
238
+ 'marketBuyRequiresPrice': false,
239
+ 'marketBuyByCost': false,
240
+ 'selfTradePrevention': false,
241
+ 'trailing': false,
242
+ 'iceberg': false,
243
+ },
244
+ 'createOrders': undefined,
245
+ 'fetchMyTrades': {
246
+ 'marginMode': false,
247
+ 'limit': 1000,
248
+ 'daysBack': 100000,
249
+ 'untilDays': 100000,
250
+ 'symbolRequired': false,
251
+ },
252
+ 'fetchOrder': {
253
+ 'marginMode': false,
254
+ 'trigger': false,
255
+ 'symbolRequired': false,
256
+ 'trailing': false,
257
+ },
258
+ 'fetchOpenOrders': {
259
+ 'marginMode': false,
260
+ 'limit': 1000,
261
+ 'trigger': false,
262
+ 'trailing': false,
263
+ 'symbolRequired': false,
264
+ },
265
+ 'fetchOrders': undefined,
266
+ 'fetchClosedOrders': {
267
+ 'marginMode': false,
268
+ 'limit': 1000,
269
+ 'daysBack': 100000,
270
+ 'daysBackCanceled': 1,
271
+ 'untilDays': 100000,
272
+ 'trigger': false,
273
+ 'trailing': false,
274
+ 'symbolRequired': false,
275
+ },
276
+ 'fetchOHLCV': undefined, // todo webapi
277
+ },
278
+ 'swap': {
279
+ 'linear': undefined,
280
+ 'inverse': undefined,
281
+ },
282
+ 'future': {
283
+ 'linear': undefined,
284
+ 'inverse': undefined,
285
+ },
286
+ },
287
+ 'precisionMode': TICK_SIZE,
288
+ 'exceptions': {
289
+ 'exact': {
290
+ '401': AuthenticationError,
291
+ '404': OrderNotFound,
292
+ },
293
+ 'broad': {},
294
+ },
295
+ });
296
+ }
297
+ /**
298
+ * @method
299
+ * @name blockchaincom#fetchMarkets
300
+ * @description retrieves data on all markets for blockchaincom
301
+ * @see https://api.blockchain.com/v3/#getsymbols
302
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
303
+ * @returns {object[]} an array of objects representing market data
304
+ */
305
+ async fetchMarkets(params = {}) {
306
+ //
307
+ // "USDC-GBP": {
308
+ // "base_currency": "USDC",
309
+ // "base_currency_scale": 6,
310
+ // "counter_currency": "GBP",
311
+ // "counter_currency_scale": 2,
312
+ // "min_price_increment": 10000,
313
+ // "min_price_increment_scale": 8,
314
+ // "min_order_size": 500000000,
315
+ // "min_order_size_scale": 8,
316
+ // "max_order_size": 0,
317
+ // "max_order_size_scale": 8,
318
+ // "lot_size": 10000,
319
+ // "lot_size_scale": 8,
320
+ // "status": "open",
321
+ // "id": 68,
322
+ // "auction_price": 0,
323
+ // "auction_size": 0,
324
+ // "auction_time": "",
325
+ // "imbalance": 0
326
+ // }
327
+ //
328
+ const markets = await this.publicGetSymbols(params);
329
+ const marketIds = Object.keys(markets);
330
+ const result = [];
331
+ for (let i = 0; i < marketIds.length; i++) {
332
+ const marketId = marketIds[i];
333
+ const market = this.safeValue(markets, marketId);
334
+ const baseId = this.safeString(market, 'base_currency');
335
+ const quoteId = this.safeString(market, 'counter_currency');
336
+ const base = this.safeCurrencyCode(baseId);
337
+ const quote = this.safeCurrencyCode(quoteId);
338
+ const numericId = this.safeNumber(market, 'id');
339
+ let active = undefined;
340
+ const marketState = this.safeString(market, 'status');
341
+ if (marketState === 'open') {
342
+ active = true;
343
+ }
344
+ else {
345
+ active = false;
346
+ }
347
+ // price precision
348
+ const minPriceIncrementString = this.safeString(market, 'min_price_increment');
349
+ const minPriceIncrementScaleString = this.safeString(market, 'min_price_increment_scale');
350
+ const minPriceScalePrecisionString = this.parsePrecision(minPriceIncrementScaleString);
351
+ const pricePrecisionString = Precise.stringMul(minPriceIncrementString, minPriceScalePrecisionString);
352
+ // amount precision
353
+ const lotSizeString = this.safeString(market, 'lot_size');
354
+ const lotSizeScaleString = this.safeString(market, 'lot_size_scale');
355
+ const lotSizeScalePrecisionString = this.parsePrecision(lotSizeScaleString);
356
+ const amountPrecisionString = Precise.stringMul(lotSizeString, lotSizeScalePrecisionString);
357
+ // minimum order size
358
+ const minOrderSizeString = this.safeString(market, 'min_order_size');
359
+ const minOrderSizeScaleString = this.safeString(market, 'min_order_size_scale');
360
+ const minOrderSizeScalePrecisionString = this.parsePrecision(minOrderSizeScaleString);
361
+ const minOrderSizePreciseString = Precise.stringMul(minOrderSizeString, minOrderSizeScalePrecisionString);
362
+ const minOrderSize = this.parseNumber(minOrderSizePreciseString);
363
+ // maximum order size
364
+ let maxOrderSize = undefined;
365
+ maxOrderSize = this.safeString(market, 'max_order_size');
366
+ if (maxOrderSize !== '0') {
367
+ const maxOrderSizeScaleString = this.safeString(market, 'max_order_size_scale');
368
+ const maxOrderSizeScalePrecisionString = this.parsePrecision(maxOrderSizeScaleString);
369
+ const maxOrderSizeString = Precise.stringMul(maxOrderSize, maxOrderSizeScalePrecisionString);
370
+ maxOrderSize = this.parseNumber(maxOrderSizeString);
371
+ }
372
+ else {
373
+ maxOrderSize = undefined;
374
+ }
375
+ result.push({
376
+ 'info': market,
377
+ 'id': marketId,
378
+ 'numericId': numericId,
379
+ 'symbol': base + '/' + quote,
380
+ 'base': base,
381
+ 'quote': quote,
382
+ 'settle': undefined,
383
+ 'baseId': baseId,
384
+ 'quoteId': quoteId,
385
+ 'settleId': undefined,
386
+ 'type': 'spot',
387
+ 'spot': true,
388
+ 'margin': false,
389
+ 'swap': false,
390
+ 'future': false,
391
+ 'option': false,
392
+ 'active': active,
393
+ 'contract': false,
394
+ 'linear': undefined,
395
+ 'inverse': undefined,
396
+ 'contractSize': undefined,
397
+ 'expiry': undefined,
398
+ 'expiryDatetime': undefined,
399
+ 'strike': undefined,
400
+ 'optionType': undefined,
401
+ 'precision': {
402
+ 'amount': this.parseNumber(amountPrecisionString),
403
+ 'price': this.parseNumber(pricePrecisionString),
404
+ },
405
+ 'limits': {
406
+ 'leverage': {
407
+ 'min': undefined,
408
+ 'max': undefined,
409
+ },
410
+ 'amount': {
411
+ 'min': minOrderSize,
412
+ 'max': maxOrderSize,
413
+ },
414
+ 'price': {
415
+ 'min': undefined,
416
+ 'max': undefined,
417
+ },
418
+ 'cost': {
419
+ 'min': undefined,
420
+ 'max': undefined,
421
+ },
422
+ },
423
+ 'created': undefined,
424
+ });
425
+ }
426
+ return result;
427
+ }
428
+ /**
429
+ * @method
430
+ * @name blockchaincom#fetchOrderBook
431
+ * @description fetches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
432
+ * @see https://api.blockchain.com/v3/#getl3orderbook
433
+ * @param {string} symbol unified symbol of the market to fetch the order book for
434
+ * @param {int} [limit] the maximum amount of order book entries to return
435
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
436
+ * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
437
+ */
438
+ async fetchOrderBook(symbol, limit = undefined, params = {}) {
439
+ return await this.fetchL3OrderBook(symbol, limit, params);
440
+ }
441
+ /**
442
+ * @method
443
+ * @name blockchaincom#fetchL3OrderBook
444
+ * @description fetches level 3 information on open orders with bid (buy) and ask (sell) prices, volumes and other data
445
+ * @see https://api.blockchain.com/v3/#getl3orderbook
446
+ * @param {string} symbol unified market symbol
447
+ * @param {int} [limit] max number of orders to return, default is undefined
448
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
449
+ * @returns {object} an [order book structure]{@link https://docs.ccxt.com/#/?id=order-book-structure}
450
+ */
451
+ async fetchL3OrderBook(symbol, limit = undefined, params = {}) {
452
+ await this.loadMarkets();
453
+ const market = this.market(symbol);
454
+ const request = {
455
+ 'symbol': market['id'],
456
+ };
457
+ if (limit !== undefined) {
458
+ request['depth'] = limit;
459
+ }
460
+ const response = await this.publicGetL3Symbol(this.extend(request, params));
461
+ return this.parseOrderBook(response, market['symbol'], undefined, 'bids', 'asks', 'px', 'qty');
462
+ }
463
+ async fetchL2OrderBook(symbol, limit = undefined, params = {}) {
464
+ await this.loadMarkets();
465
+ const market = this.market(symbol);
466
+ const request = {
467
+ 'symbol': market['id'],
468
+ };
469
+ if (limit !== undefined) {
470
+ request['depth'] = limit;
471
+ }
472
+ const response = await this.publicGetL2Symbol(this.extend(request, params));
473
+ return this.parseOrderBook(response, market['symbol'], undefined, 'bids', 'asks', 'px', 'qty');
474
+ }
475
+ parseTicker(ticker, market = undefined) {
476
+ //
477
+ // {
478
+ // "symbol": "BTC-USD",
479
+ // "price_24h": 47791.86,
480
+ // "volume_24h": 362.88635738,
481
+ // "last_trade_price": 47587.75
482
+ // }
483
+ //
484
+ const marketId = this.safeString(ticker, 'symbol');
485
+ const symbol = this.safeSymbol(marketId, market, '-');
486
+ const last = this.safeString(ticker, 'last_trade_price');
487
+ const baseVolume = this.safeString(ticker, 'volume_24h');
488
+ const open = this.safeString(ticker, 'price_24h');
489
+ return this.safeTicker({
490
+ 'symbol': symbol,
491
+ 'timestamp': undefined,
492
+ 'datetime': undefined,
493
+ 'high': undefined,
494
+ 'low': undefined,
495
+ 'bid': undefined,
496
+ 'bidVolume': undefined,
497
+ 'ask': undefined,
498
+ 'askVolume': undefined,
499
+ 'vwap': undefined,
500
+ 'open': open,
501
+ 'close': undefined,
502
+ 'last': last,
503
+ 'previousClose': undefined,
504
+ 'change': undefined,
505
+ 'percentage': undefined,
506
+ 'average': undefined,
507
+ 'baseVolume': baseVolume,
508
+ 'quoteVolume': undefined,
509
+ 'info': ticker,
510
+ }, market);
511
+ }
512
+ /**
513
+ * @method
514
+ * @name blockchaincom#fetchTicker
515
+ * @description fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
516
+ * @see https://api.blockchain.com/v3/#gettickerbysymbol
517
+ * @param {string} symbol unified symbol of the market to fetch the ticker for
518
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
519
+ * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
520
+ */
521
+ async fetchTicker(symbol, params = {}) {
522
+ await this.loadMarkets();
523
+ const market = this.market(symbol);
524
+ const request = {
525
+ 'symbol': market['id'],
526
+ };
527
+ const response = await this.publicGetTickersSymbol(this.extend(request, params));
528
+ return this.parseTicker(response, market);
529
+ }
530
+ /**
531
+ * @method
532
+ * @name blockchaincom#fetchTickers
533
+ * @description fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
534
+ * @see https://api.blockchain.com/v3/#gettickers
535
+ * @param {string[]|undefined} symbols unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
536
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
537
+ * @returns {object} a dictionary of [ticker structures]{@link https://docs.ccxt.com/#/?id=ticker-structure}
538
+ */
539
+ async fetchTickers(symbols = undefined, params = {}) {
540
+ await this.loadMarkets();
541
+ const tickers = await this.publicGetTickers(params);
542
+ return this.parseTickers(tickers, symbols);
543
+ }
544
+ parseOrderState(state) {
545
+ const states = {
546
+ 'OPEN': 'open',
547
+ 'REJECTED': 'rejected',
548
+ 'FILLED': 'closed',
549
+ 'CANCELED': 'canceled',
550
+ 'PART_FILLED': 'open',
551
+ 'EXPIRED': 'expired',
552
+ };
553
+ return this.safeString(states, state, state);
554
+ }
555
+ parseOrder(order, market = undefined) {
556
+ //
557
+ // {
558
+ // "clOrdId": "00001",
559
+ // "ordType": "MARKET",
560
+ // "ordStatus": "FILLED",
561
+ // "side": "BUY",
562
+ // "symbol": "USDC-USDT",
563
+ // "exOrdId": "281775861306290",
564
+ // "price": null,
565
+ // "text": "Fill",
566
+ // "lastShares": "30.0",
567
+ // "lastPx": "0.9999",
568
+ // "leavesQty": "0.0",
569
+ // "cumQty": "30.0",
570
+ // "avgPx": "0.9999",
571
+ // "timestamp": "1633940339619"
572
+ // }
573
+ //
574
+ const clientOrderId = this.safeString(order, 'clOrdId');
575
+ const type = this.safeStringLower(order, 'ordType');
576
+ const statusId = this.safeString(order, 'ordStatus');
577
+ const state = this.parseOrderState(statusId);
578
+ const side = this.safeStringLower(order, 'side');
579
+ const marketId = this.safeString(order, 'symbol');
580
+ const symbol = this.safeSymbol(marketId, market, '-');
581
+ const exchangeOrderId = this.safeString(order, 'exOrdId');
582
+ const price = (type !== 'market') ? this.safeString(order, 'price') : undefined;
583
+ const average = this.safeNumber(order, 'avgPx');
584
+ const timestamp = this.safeInteger(order, 'timestamp');
585
+ const datetime = this.iso8601(timestamp);
586
+ const filled = this.safeString(order, 'cumQty');
587
+ const remaining = this.safeString(order, 'leavesQty');
588
+ const result = this.safeOrder({
589
+ 'id': exchangeOrderId,
590
+ 'clientOrderId': clientOrderId,
591
+ 'datetime': datetime,
592
+ 'timestamp': timestamp,
593
+ 'lastTradeTimestamp': undefined,
594
+ 'status': state,
595
+ 'symbol': symbol,
596
+ 'type': type,
597
+ 'timeInForce': undefined,
598
+ 'side': side,
599
+ 'price': price,
600
+ 'average': average,
601
+ 'amount': undefined,
602
+ 'filled': filled,
603
+ 'remaining': remaining,
604
+ 'cost': undefined,
605
+ 'trades': [],
606
+ 'fees': [],
607
+ 'info': order,
608
+ });
609
+ return result;
610
+ }
611
+ /**
612
+ * @method
613
+ * @name blockchaincom#createOrder
614
+ * @description create a trade order
615
+ * @see https://api.blockchain.com/v3/#createorder
616
+ * @param {string} symbol unified symbol of the market to create an order in
617
+ * @param {string} type 'market' or 'limit'
618
+ * @param {string} side 'buy' or 'sell'
619
+ * @param {float} amount how much of currency you want to trade in units of base currency
620
+ * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
621
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
622
+ * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
623
+ */
624
+ async createOrder(symbol, type, side, amount, price = undefined, params = {}) {
625
+ await this.loadMarkets();
626
+ const market = this.market(symbol);
627
+ const orderType = this.safeString(params, 'ordType', type);
628
+ const uppercaseOrderType = orderType.toUpperCase();
629
+ const clientOrderId = this.safeString2(params, 'clientOrderId', 'clOrdId', this.uuid16());
630
+ params = this.omit(params, ['ordType', 'clientOrderId', 'clOrdId']);
631
+ const request = {
632
+ // 'stopPx' : limit price
633
+ // 'timeInForce' : "GTC" for Good Till Cancel, "IOC" for Immediate or Cancel, "FOK" for Fill or Kill, "GTD" Good Till Date
634
+ // 'expireDate' : expiry date in the format YYYYMMDD
635
+ // 'minQty' : The minimum quantity required for an IOC fill
636
+ 'ordType': uppercaseOrderType,
637
+ 'symbol': market['id'],
638
+ 'side': side.toUpperCase(),
639
+ 'orderQty': this.amountToPrecision(symbol, amount),
640
+ 'clOrdId': clientOrderId,
641
+ };
642
+ const triggerPrice = this.safeValueN(params, ['triggerPrice', 'stopPx', 'stopPrice']);
643
+ params = this.omit(params, ['triggerPrice', 'stopPx', 'stopPrice']);
644
+ if (uppercaseOrderType === 'STOP' || uppercaseOrderType === 'STOPLIMIT') {
645
+ if (triggerPrice === undefined) {
646
+ throw new ArgumentsRequired(this.id + ' createOrder() requires a stopPx or triggerPrice param for a ' + uppercaseOrderType + ' order');
647
+ }
648
+ }
649
+ if (triggerPrice !== undefined) {
650
+ if (uppercaseOrderType === 'MARKET') {
651
+ request['ordType'] = 'STOP';
652
+ }
653
+ else if (uppercaseOrderType === 'LIMIT') {
654
+ request['ordType'] = 'STOPLIMIT';
655
+ }
656
+ }
657
+ let priceRequired = false;
658
+ let stopPriceRequired = false;
659
+ if (request['ordType'] === 'LIMIT' || request['ordType'] === 'STOPLIMIT') {
660
+ priceRequired = true;
661
+ }
662
+ if (request['ordType'] === 'STOP' || request['ordType'] === 'STOPLIMIT') {
663
+ stopPriceRequired = true;
664
+ }
665
+ if (priceRequired) {
666
+ request['price'] = this.priceToPrecision(symbol, price);
667
+ }
668
+ if (stopPriceRequired) {
669
+ request['stopPx'] = this.priceToPrecision(symbol, triggerPrice);
670
+ }
671
+ const response = await this.privatePostOrders(this.extend(request, params));
672
+ return this.parseOrder(response, market);
673
+ }
674
+ /**
675
+ * @method
676
+ * @name blockchaincom#cancelOrder
677
+ * @description cancels an open order
678
+ * @see https://api.blockchain.com/v3/#deleteorder
679
+ * @param {string} id order id
680
+ * @param {string} symbol unified symbol of the market the order was made in
681
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
682
+ * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
683
+ */
684
+ async cancelOrder(id, symbol = undefined, params = {}) {
685
+ const request = {
686
+ 'orderId': id,
687
+ };
688
+ const response = await this.privateDeleteOrdersOrderId(this.extend(request, params));
689
+ return this.safeOrder({
690
+ 'id': id,
691
+ 'info': response,
692
+ });
693
+ }
694
+ /**
695
+ * @method
696
+ * @name blockchaincom#cancelAllOrders
697
+ * @description cancel all open orders
698
+ * @see https://api.blockchain.com/v3/#deleteallorders
699
+ * @param {string} symbol unified market symbol of the market to cancel orders in, all markets are used if undefined, default is undefined
700
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
701
+ * @returns {object} an list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
702
+ */
703
+ async cancelAllOrders(symbol = undefined, params = {}) {
704
+ // cancels all open orders if no symbol specified
705
+ // cancels all open orders of specified symbol, if symbol is specified
706
+ await this.loadMarkets();
707
+ const request = {
708
+ // 'symbol': marketId,
709
+ };
710
+ if (symbol !== undefined) {
711
+ const marketId = this.marketId(symbol);
712
+ request['symbol'] = marketId;
713
+ }
714
+ const response = await this.privateDeleteOrders(this.extend(request, params));
715
+ //
716
+ // {}
717
+ //
718
+ return [
719
+ this.safeOrder({
720
+ 'info': response,
721
+ }),
722
+ ];
723
+ }
724
+ /**
725
+ * @method
726
+ * @name blockchaincom#fetchTradingFees
727
+ * @description fetch the trading fees for multiple markets
728
+ * @see https://api.blockchain.com/v3/#getfees
729
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
730
+ * @returns {object} a dictionary of [fee structures]{@link https://docs.ccxt.com/#/?id=fee-structure} indexed by market symbols
731
+ */
732
+ async fetchTradingFees(params = {}) {
733
+ await this.loadMarkets();
734
+ const response = await this.privateGetFees(params);
735
+ //
736
+ // {
737
+ // "makerRate": "0.002",
738
+ // "takerRate": "0.004",
739
+ // "volumeInUSD": "0.0"
740
+ // }
741
+ //
742
+ const makerFee = this.safeNumber(response, 'makerRate');
743
+ const takerFee = this.safeNumber(response, 'takerRate');
744
+ const result = {};
745
+ for (let i = 0; i < this.symbols.length; i++) {
746
+ const symbol = this.symbols[i];
747
+ result[symbol] = {
748
+ 'info': response,
749
+ 'symbol': symbol,
750
+ 'maker': makerFee,
751
+ 'taker': takerFee,
752
+ };
753
+ }
754
+ return result;
755
+ }
756
+ /**
757
+ * @method
758
+ * @name blockchaincom#fetchCanceledOrders
759
+ * @description fetches information on multiple canceled orders made by the user
760
+ * @see https://api.blockchain.com/v3/#getorders
761
+ * @param {string} symbol unified market symbol of the market orders were made in
762
+ * @param {int} [since] timestamp in ms of the earliest order, default is undefined
763
+ * @param {int} [limit] max number of orders to return, default is undefined
764
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
765
+ * @returns {object} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
766
+ */
767
+ async fetchCanceledOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
768
+ const state = 'CANCELED';
769
+ return await this.fetchOrdersByState(state, symbol, since, limit, params);
770
+ }
771
+ /**
772
+ * @method
773
+ * @name blockchaincom#fetchClosedOrders
774
+ * @description fetches information on multiple closed orders made by the user
775
+ * @see https://api.blockchain.com/v3/#getorders
776
+ * @param {string} symbol unified market symbol of the market orders were made in
777
+ * @param {int} [since] the earliest time in ms to fetch orders for
778
+ * @param {int} [limit] the maximum number of order structures to retrieve
779
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
780
+ * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
781
+ */
782
+ async fetchClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
783
+ const state = 'FILLED';
784
+ return await this.fetchOrdersByState(state, symbol, since, limit, params);
785
+ }
786
+ /**
787
+ * @method
788
+ * @name blockchaincom#fetchOpenOrders
789
+ * @description fetch all unfilled currently open orders
790
+ * @see https://api.blockchain.com/v3/#getorders
791
+ * @param {string} symbol unified market symbol
792
+ * @param {int} [since] the earliest time in ms to fetch open orders for
793
+ * @param {int} [limit] the maximum number of open orders structures to retrieve
794
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
795
+ * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
796
+ */
797
+ async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
798
+ const state = 'OPEN';
799
+ return await this.fetchOrdersByState(state, symbol, since, limit, params);
800
+ }
801
+ async fetchOrdersByState(state, symbol = undefined, since = undefined, limit = undefined, params = {}) {
802
+ await this.loadMarkets();
803
+ const request = {
804
+ // 'to': unix epoch ms
805
+ // 'from': unix epoch ms
806
+ 'status': state,
807
+ 'limit': 100,
808
+ };
809
+ let market = undefined;
810
+ if (symbol !== undefined) {
811
+ market = this.market(symbol);
812
+ request['symbol'] = market['id'];
813
+ }
814
+ const response = await this.privateGetOrders(this.extend(request, params));
815
+ return this.parseOrders(response, market, since, limit);
816
+ }
817
+ parseTrade(trade, market = undefined) {
818
+ //
819
+ // {
820
+ // "exOrdId":281685751028507,
821
+ // "tradeId":281685434947633,
822
+ // "execId":8847494003,
823
+ // "side":"BUY",
824
+ // "symbol":"AAVE-USDT",
825
+ // "price":405.34,
826
+ // "qty":0.1,
827
+ // "fee":0.162136,
828
+ // "timestamp":1634559249687
829
+ // }
830
+ //
831
+ const orderId = this.safeString(trade, 'exOrdId');
832
+ const tradeId = this.safeString(trade, 'tradeId');
833
+ const side = this.safeString(trade, 'side').toLowerCase();
834
+ const marketId = this.safeString(trade, 'symbol');
835
+ const priceString = this.safeString(trade, 'price');
836
+ const amountString = this.safeString(trade, 'qty');
837
+ const timestamp = this.safeInteger(trade, 'timestamp');
838
+ const datetime = this.iso8601(timestamp);
839
+ market = this.safeMarket(marketId, market, '-');
840
+ const symbol = market['symbol'];
841
+ let fee = undefined;
842
+ const feeCostString = this.safeString(trade, 'fee');
843
+ if (feeCostString !== undefined) {
844
+ const feeCurrency = market['quote'];
845
+ fee = { 'cost': feeCostString, 'currency': feeCurrency };
846
+ }
847
+ return this.safeTrade({
848
+ 'id': tradeId,
849
+ 'timestamp': timestamp,
850
+ 'datetime': datetime,
851
+ 'symbol': symbol,
852
+ 'order': orderId,
853
+ 'type': undefined,
854
+ 'side': side,
855
+ 'takerOrMaker': undefined,
856
+ 'price': priceString,
857
+ 'amount': amountString,
858
+ 'cost': undefined,
859
+ 'fee': fee,
860
+ 'info': trade,
861
+ }, market);
862
+ }
863
+ /**
864
+ * @method
865
+ * @name blockchaincom#fetchMyTrades
866
+ * @description fetch all trades made by the user
867
+ * @see https://api.blockchain.com/v3/#getfills
868
+ * @param {string} symbol unified market symbol
869
+ * @param {int} [since] the earliest time in ms to fetch trades for
870
+ * @param {int} [limit] the maximum number of trades structures to retrieve
871
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
872
+ * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=trade-structure}
873
+ */
874
+ async fetchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
875
+ await this.loadMarkets();
876
+ const request = {};
877
+ if (limit !== undefined) {
878
+ request['limit'] = limit;
879
+ }
880
+ let market = undefined;
881
+ if (symbol !== undefined) {
882
+ request['symbol'] = this.marketId(symbol);
883
+ market = this.market(symbol);
884
+ }
885
+ const trades = await this.privateGetFills(this.extend(request, params));
886
+ return this.parseTrades(trades, market, since, limit, params); // need to define
887
+ }
888
+ /**
889
+ * @method
890
+ * @name blockchaincom#fetchDepositAddress
891
+ * @description fetch the deposit address for a currency associated with this account
892
+ * @see https://api.blockchain.com/v3/#getdepositaddress
893
+ * @param {string} code unified currency code
894
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
895
+ * @returns {object} an [address structure]{@link https://docs.ccxt.com/#/?id=address-structure}
896
+ */
897
+ async fetchDepositAddress(code, params = {}) {
898
+ await this.loadMarkets();
899
+ const currency = this.currency(code);
900
+ const request = {
901
+ 'currency': currency['id'],
902
+ };
903
+ const response = await this.privatePostDepositsCurrency(this.extend(request, params));
904
+ const rawAddress = this.safeString(response, 'address');
905
+ let tag = undefined;
906
+ let address = undefined;
907
+ if (rawAddress !== undefined) {
908
+ const addressParts = rawAddress.split(';');
909
+ // if a tag or memo is used it is separated by a colon in the 'address' value
910
+ tag = this.safeString(addressParts, 0);
911
+ address = this.safeString(addressParts, 1);
912
+ }
913
+ return {
914
+ 'info': response,
915
+ 'currency': currency['code'],
916
+ 'network': undefined,
917
+ 'address': address,
918
+ 'tag': tag,
919
+ };
920
+ }
921
+ parseTransactionState(state) {
922
+ const states = {
923
+ 'COMPLETED': 'ok',
924
+ 'REJECTED': 'failed',
925
+ 'PENDING': 'pending',
926
+ 'FAILED': 'failed',
927
+ 'REFUNDED': 'refunded',
928
+ };
929
+ return this.safeString(states, state, state);
930
+ }
931
+ parseTransaction(transaction, currency = undefined) {
932
+ //
933
+ // deposit
934
+ //
935
+ // {
936
+ // "depositId":"748e9180-be0d-4a80-e175-0156150efc95",
937
+ // "amount":0.009,
938
+ // "currency":"ETH",
939
+ // "address":"0xEC6B5929D454C8D9546d4221ace969E1810Fa92c",
940
+ // "state":"COMPLETED",
941
+ // "txHash":"582114562140e51a80b481c2dfebaf62b4ab9769b8ff54820bb67e34d4a3ab0c",
942
+ // "timestamp":1633697196241
943
+ // }
944
+ //
945
+ // withdrawal
946
+ //
947
+ // {
948
+ // "amount":30.0,
949
+ // "currency":"USDT",
950
+ // "beneficiary":"cab00d11-6e7f-46b7-b453-2e8ef6f101fa", // blockchain specific id
951
+ // "withdrawalId":"99df5ef7-eab6-4033-be49-312930fbd1ea",
952
+ // "fee":34.005078,
953
+ // "state":"COMPLETED",
954
+ // "timestamp":1634218452549
955
+ // }
956
+ //
957
+ let type = undefined;
958
+ let id = undefined;
959
+ const amount = this.safeNumber(transaction, 'amount');
960
+ const timestamp = this.safeInteger(transaction, 'timestamp');
961
+ const currencyId = this.safeString(transaction, 'currency');
962
+ const code = this.safeCurrencyCode(currencyId, currency);
963
+ const state = this.safeString(transaction, 'state');
964
+ if ('depositId' in transaction) {
965
+ type = 'deposit';
966
+ id = this.safeString(transaction, 'depositId');
967
+ }
968
+ else if ('withdrawalId' in transaction) {
969
+ type = 'withdrawal';
970
+ id = this.safeString(transaction, 'withdrawalId');
971
+ }
972
+ const feeCost = (type === 'withdrawal') ? this.safeNumber(transaction, 'fee') : undefined;
973
+ let fee = undefined;
974
+ if (feeCost !== undefined) {
975
+ fee = { 'currency': code, 'cost': feeCost };
976
+ }
977
+ const address = this.safeString(transaction, 'address');
978
+ const txid = this.safeString(transaction, 'txhash');
979
+ return {
980
+ 'info': transaction,
981
+ 'id': id,
982
+ 'txid': txid,
983
+ 'timestamp': timestamp,
984
+ 'datetime': this.iso8601(timestamp),
985
+ 'network': undefined,
986
+ 'addressFrom': undefined,
987
+ 'address': address,
988
+ 'addressTo': address,
989
+ 'tagFrom': undefined,
990
+ 'tag': undefined,
991
+ 'tagTo': undefined,
992
+ 'type': type,
993
+ 'amount': amount,
994
+ 'currency': code,
995
+ 'status': this.parseTransactionState(state),
996
+ 'updated': undefined,
997
+ 'comment': undefined,
998
+ 'internal': undefined,
999
+ 'fee': fee,
1000
+ };
1001
+ }
1002
+ /**
1003
+ * @method
1004
+ * @name blockchaincom#withdraw
1005
+ * @description make a withdrawal
1006
+ * @see https://api.blockchain.com/v3/#createwithdrawal
1007
+ * @param {string} code unified currency code
1008
+ * @param {float} amount the amount to withdraw
1009
+ * @param {string} address the address to withdraw to
1010
+ * @param {string} tag
1011
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1012
+ * @returns {object} a [transaction structure]{@link https://docs.ccxt.com/#/?id=transaction-structure}
1013
+ */
1014
+ async withdraw(code, amount, address, tag = undefined, params = {}) {
1015
+ await this.loadMarkets();
1016
+ const currency = this.currency(code);
1017
+ const request = {
1018
+ 'amount': amount,
1019
+ 'currency': currency['id'],
1020
+ 'beneficiary': address,
1021
+ 'sendMax': false,
1022
+ };
1023
+ const response = await this.privatePostWithdrawals(this.extend(request, params));
1024
+ //
1025
+ // {
1026
+ // "amount": "30.0",
1027
+ // "currency": "USDT",
1028
+ // "beneficiary": "adcd43fb-9ba6-41f7-8c0d-7013482cb88f",
1029
+ // "withdrawalId": "99df5ef7-eab6-4033-be49-312930fbd1ea",
1030
+ // "fee": "34.005078",
1031
+ // "state": "PENDING",
1032
+ // "timestamp": "1634218452595"
1033
+ // },
1034
+ //
1035
+ return this.parseTransaction(response, currency);
1036
+ }
1037
+ /**
1038
+ * @method
1039
+ * @name blockchaincom#fetchWithdrawals
1040
+ * @description fetch all withdrawals made from an account
1041
+ * @see https://api.blockchain.com/v3/#getwithdrawals
1042
+ * @param {string} code unified currency code
1043
+ * @param {int} [since] the earliest time in ms to fetch withdrawals for
1044
+ * @param {int} [limit] the maximum number of withdrawals structures to retrieve
1045
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1046
+ * @returns {object[]} a list of [transaction structures]{@link https://docs.ccxt.com/#/?id=transaction-structure}
1047
+ */
1048
+ async fetchWithdrawals(code = undefined, since = undefined, limit = undefined, params = {}) {
1049
+ await this.loadMarkets();
1050
+ const request = {
1051
+ // 'from' : integer timestamp in ms
1052
+ // 'to' : integer timestamp in ms
1053
+ };
1054
+ if (since !== undefined) {
1055
+ request['from'] = since;
1056
+ }
1057
+ let currency = undefined;
1058
+ if (code !== undefined) {
1059
+ currency = this.currency(code);
1060
+ }
1061
+ const response = await this.privateGetWithdrawals(this.extend(request, params));
1062
+ return this.parseTransactions(response, currency, since, limit);
1063
+ }
1064
+ /**
1065
+ * @method
1066
+ * @name blockchaincom#fetchWithdrawal
1067
+ * @description fetch data on a currency withdrawal via the withdrawal id
1068
+ * @see https://api.blockchain.com/v3/#getwithdrawalbyid
1069
+ * @param {string} id withdrawal id
1070
+ * @param {string} code not used by blockchaincom.fetchWithdrawal
1071
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1072
+ * @returns {object} a [transaction structure]{@link https://docs.ccxt.com/#/?id=transaction-structure}
1073
+ */
1074
+ async fetchWithdrawal(id, code = undefined, params = {}) {
1075
+ await this.loadMarkets();
1076
+ const request = {
1077
+ 'withdrawalId': id,
1078
+ };
1079
+ const response = await this.privateGetWithdrawalsWithdrawalId(this.extend(request, params));
1080
+ return this.parseTransaction(response);
1081
+ }
1082
+ /**
1083
+ * @method
1084
+ * @name blockchaincom#fetchDeposits
1085
+ * @description fetch all deposits made to an account
1086
+ * @see https://api.blockchain.com/v3/#getdeposits
1087
+ * @param {string} code unified currency code
1088
+ * @param {int} [since] the earliest time in ms to fetch deposits for
1089
+ * @param {int} [limit] the maximum number of deposits structures to retrieve
1090
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1091
+ * @returns {object[]} a list of [transaction structures]{@link https://docs.ccxt.com/#/?id=transaction-structure}
1092
+ */
1093
+ async fetchDeposits(code = undefined, since = undefined, limit = undefined, params = {}) {
1094
+ await this.loadMarkets();
1095
+ const request = {
1096
+ // 'from' : integer timestamp in ms
1097
+ // 'to' : integer timestap in ms
1098
+ };
1099
+ if (since !== undefined) {
1100
+ request['from'] = since;
1101
+ }
1102
+ let currency = undefined;
1103
+ if (code !== undefined) {
1104
+ currency = this.currency(code);
1105
+ }
1106
+ const response = await this.privateGetDeposits(this.extend(request, params));
1107
+ return this.parseTransactions(response, currency, since, limit);
1108
+ }
1109
+ /**
1110
+ * @method
1111
+ * @name blockchaincom#fetchDeposit
1112
+ * @description fetch information on a deposit
1113
+ * @see https://api.blockchain.com/v3/#getdepositbyid
1114
+ * @param {string} id deposit id
1115
+ * @param {string} code not used by blockchaincom fetchDeposit ()
1116
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1117
+ * @returns {object} a [transaction structure]{@link https://docs.ccxt.com/#/?id=transaction-structure}
1118
+ */
1119
+ async fetchDeposit(id, code = undefined, params = {}) {
1120
+ await this.loadMarkets();
1121
+ const depositId = this.safeString(params, 'depositId', id);
1122
+ const request = {
1123
+ 'depositId': depositId,
1124
+ };
1125
+ const deposit = await this.privateGetDepositsDepositId(this.extend(request, params));
1126
+ return this.parseTransaction(deposit);
1127
+ }
1128
+ /**
1129
+ * @method
1130
+ * @name blockchaincom#fetchBalance
1131
+ * @description query for balance and get the amount of funds available for trading or funds locked in orders
1132
+ * @see https://api.blockchain.com/v3/#getaccounts
1133
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1134
+ * @returns {object} a [balance structure]{@link https://docs.ccxt.com/#/?id=balance-structure}
1135
+ */
1136
+ async fetchBalance(params = {}) {
1137
+ await this.loadMarkets();
1138
+ const accountName = this.safeString(params, 'account', 'primary');
1139
+ params = this.omit(params, 'account');
1140
+ const request = {
1141
+ 'account': accountName,
1142
+ };
1143
+ const response = await this.privateGetAccounts(this.extend(request, params));
1144
+ //
1145
+ // {
1146
+ // "primary": [
1147
+ // {
1148
+ // "currency":"ETH",
1149
+ // "balance":0.009,
1150
+ // "available":0.009,
1151
+ // "balance_local":30.82869,
1152
+ // "available_local":30.82869,
1153
+ // "rate":3425.41
1154
+ // },
1155
+ // ...
1156
+ // ]
1157
+ // }
1158
+ //
1159
+ const balances = this.safeValue(response, accountName);
1160
+ if (balances === undefined) {
1161
+ throw new ExchangeError(this.id + ' fetchBalance() could not find the "' + accountName + '" account');
1162
+ }
1163
+ const result = { 'info': response };
1164
+ for (let i = 0; i < balances.length; i++) {
1165
+ const entry = balances[i];
1166
+ const currencyId = this.safeString(entry, 'currency');
1167
+ const code = this.safeCurrencyCode(currencyId);
1168
+ const account = this.account();
1169
+ account['free'] = this.safeString(entry, 'available');
1170
+ account['total'] = this.safeString(entry, 'balance');
1171
+ result[code] = account;
1172
+ }
1173
+ return this.safeBalance(result);
1174
+ }
1175
+ /**
1176
+ * @method
1177
+ * @name blockchaincom#fetchOrder
1178
+ * @description fetches information on an order made by the user
1179
+ * @see https://api.blockchain.com/v3/#getorderbyid
1180
+ * @param {string} id the order id
1181
+ * @param {string} symbol not used by blockchaincom fetchOrder
1182
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1183
+ * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
1184
+ */
1185
+ async fetchOrder(id, symbol = undefined, params = {}) {
1186
+ // note: only works with exchange-order-id
1187
+ // does not work with clientOrderId
1188
+ await this.loadMarkets();
1189
+ const request = {
1190
+ 'orderId': id,
1191
+ };
1192
+ const response = await this.privateGetOrdersOrderId(this.extend(request, params));
1193
+ //
1194
+ // {
1195
+ // "exOrdId": 11111111,
1196
+ // "clOrdId": "ABC",
1197
+ // "ordType": "MARKET",
1198
+ // "ordStatus": "FILLED",
1199
+ // "side": "BUY",
1200
+ // "price": 0.12345,
1201
+ // "text": "string",
1202
+ // "symbol": "BTC-USD",
1203
+ // "lastShares": 0.5678,
1204
+ // "lastPx": 3500.12,
1205
+ // "leavesQty": 10,
1206
+ // "cumQty": 0.123345,
1207
+ // "avgPx": 345.33,
1208
+ // "timestamp": 1592830770594
1209
+ // }
1210
+ //
1211
+ return this.parseOrder(response);
1212
+ }
1213
+ sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
1214
+ const requestPath = '/' + this.implodeParams(path, params);
1215
+ let url = this.urls['api'][api] + requestPath;
1216
+ const query = this.omit(params, this.extractParams(path));
1217
+ if (api === 'public') {
1218
+ if (Object.keys(query).length) {
1219
+ url += '?' + this.urlencode(query);
1220
+ }
1221
+ }
1222
+ else if (api === 'private') {
1223
+ this.checkRequiredCredentials();
1224
+ headers = {
1225
+ 'X-API-Token': this.secret,
1226
+ };
1227
+ if ((method === 'GET')) {
1228
+ if (Object.keys(query).length) {
1229
+ url += '?' + this.urlencode(query);
1230
+ }
1231
+ }
1232
+ else {
1233
+ body = this.json(query);
1234
+ headers['Content-Type'] = 'application/json';
1235
+ }
1236
+ }
1237
+ return { 'url': url, 'method': method, 'body': body, 'headers': headers };
1238
+ }
1239
+ handleErrors(code, reason, url, method, headers, body, response, requestHeaders, requestBody) {
1240
+ // {"timestamp":"2021-10-21T15:13:58.837+00:00","status":404,"error":"Not Found","message":"","path":"/orders/505050"
1241
+ if (response === undefined) {
1242
+ return undefined;
1243
+ }
1244
+ const text = this.safeString(response, 'text');
1245
+ if (text !== undefined) { // if trade currency account is empty returns 200 with rejected order
1246
+ if (text === 'Insufficient Balance') {
1247
+ throw new InsufficientFunds(this.id + ' ' + body);
1248
+ }
1249
+ }
1250
+ const errorCode = this.safeString(response, 'status');
1251
+ const errorMessage = this.safeString(response, 'error');
1252
+ if (code !== undefined) {
1253
+ const feedback = this.id + ' ' + this.json(response);
1254
+ this.throwExactlyMatchedException(this.exceptions['exact'], errorCode, feedback);
1255
+ this.throwBroadlyMatchedException(this.exceptions['broad'], errorMessage, feedback);
1256
+ }
1257
+ return undefined;
1258
+ }
1259
+ }