ccxt-ir 4.10.0 → 4.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1059) hide show
  1. package/README.md +4 -4
  2. package/dist/ccxt.browser.min.js +2 -2
  3. package/dist/cjs/ccxt.js +10 -1
  4. package/dist/cjs/src/abstract/bidarz.js +11 -0
  5. package/dist/cjs/src/bidarz.js +337 -0
  6. package/dist/cjs/src/bit24.js +4 -3
  7. package/dist/cjs/src/changefa.js +342 -0
  8. package/dist/cjs/src/ourbit.js +445 -0
  9. package/js/ccxt.d.ts +11 -2
  10. package/js/ccxt.js +8 -2
  11. package/js/src/abstract/bidarz.d.ts +9 -0
  12. package/js/src/abstract/bidarz.js +11 -0
  13. package/js/src/abstract/changefa.d.ts +8 -0
  14. package/js/src/abstract/changefa.js +11 -0
  15. package/js/src/abstract/ourbit.d.ts +10 -0
  16. package/js/src/abstract/ourbit.js +11 -0
  17. package/js/src/bidarz.d.ts +22 -0
  18. package/js/src/bidarz.js +336 -0
  19. package/js/src/bit24.js +4 -3
  20. package/js/src/changefa.d.ts +20 -0
  21. package/js/src/changefa.js +341 -0
  22. package/js/src/ourbit.d.ts +21 -0
  23. package/js/src/ourbit.js +444 -0
  24. package/js/src/src/abantether.d.ts +21 -0
  25. package/js/src/src/abantether.js +353 -0
  26. package/js/src/src/abstract/abantether.d.ts +8 -0
  27. package/js/src/src/abstract/abantether.js +11 -0
  28. package/js/src/src/abstract/afratether.d.ts +9 -0
  29. package/js/src/src/abstract/afratether.js +11 -0
  30. package/js/src/src/abstract/alpaca.d.ts +77 -0
  31. package/js/src/src/abstract/alpaca.js +11 -0
  32. package/js/src/src/abstract/apex.d.ts +34 -0
  33. package/js/src/src/abstract/apex.js +11 -0
  34. package/js/src/src/abstract/arzinja.d.ts +8 -0
  35. package/js/src/src/abstract/arzinja.js +11 -0
  36. package/js/src/src/abstract/arzplus.d.ts +11 -0
  37. package/js/src/src/abstract/arzplus.js +11 -0
  38. package/js/src/src/abstract/ascendex.d.ts +80 -0
  39. package/js/src/src/abstract/ascendex.js +11 -0
  40. package/js/src/src/abstract/asretether.d.ts +8 -0
  41. package/js/src/src/abstract/asretether.js +11 -0
  42. package/js/src/src/abstract/bidarz.d.ts +9 -0
  43. package/js/src/src/abstract/bidarz.js +11 -0
  44. package/js/src/src/abstract/bigone.d.ts +48 -0
  45. package/js/src/src/abstract/bigone.js +11 -0
  46. package/js/src/src/abstract/binance.d.ts +773 -0
  47. package/js/src/src/abstract/binance.js +11 -0
  48. package/js/src/src/abstract/bingx.d.ts +165 -0
  49. package/js/src/src/abstract/bingx.js +11 -0
  50. package/js/src/src/abstract/bit24.d.ts +9 -0
  51. package/js/src/src/abstract/bit24.js +11 -0
  52. package/js/src/src/abstract/bit2c.d.ts +30 -0
  53. package/js/src/src/abstract/bit2c.js +11 -0
  54. package/js/src/src/abstract/bitbank.d.ts +35 -0
  55. package/js/src/src/abstract/bitbank.js +11 -0
  56. package/js/src/src/abstract/bitbarg.d.ts +8 -0
  57. package/js/src/src/abstract/bitbarg.js +11 -0
  58. package/js/src/src/abstract/bitbns.d.ts +43 -0
  59. package/js/src/src/abstract/bitbns.js +11 -0
  60. package/js/src/src/abstract/bitfinex.d.ts +143 -0
  61. package/js/src/src/abstract/bitfinex.js +11 -0
  62. package/js/src/src/abstract/bitflyer.d.ts +42 -0
  63. package/js/src/src/abstract/bitflyer.js +11 -0
  64. package/js/src/src/abstract/bitget.d.ts +578 -0
  65. package/js/src/src/abstract/bitget.js +11 -0
  66. package/js/src/src/abstract/bithumb.d.ts +35 -0
  67. package/js/src/src/abstract/bithumb.js +11 -0
  68. package/js/src/src/abstract/bitimen.d.ts +10 -0
  69. package/js/src/src/abstract/bitimen.js +11 -0
  70. package/js/src/src/abstract/bitir.d.ts +10 -0
  71. package/js/src/src/abstract/bitir.js +11 -0
  72. package/js/src/src/abstract/bitmart.d.ts +120 -0
  73. package/js/src/src/abstract/bitmart.js +11 -0
  74. package/js/src/src/abstract/bitmex.d.ts +100 -0
  75. package/js/src/src/abstract/bitmex.js +11 -0
  76. package/js/src/src/abstract/bitopro.d.ts +33 -0
  77. package/js/src/src/abstract/bitopro.js +11 -0
  78. package/js/src/src/abstract/bitpin.d.ts +11 -0
  79. package/js/src/src/abstract/bitpin.js +11 -0
  80. package/js/src/src/abstract/bitrue.d.ts +75 -0
  81. package/js/src/src/abstract/bitrue.js +11 -0
  82. package/js/src/src/abstract/bitso.d.ts +46 -0
  83. package/js/src/src/abstract/bitso.js +11 -0
  84. package/js/src/src/abstract/bitstamp.d.ts +262 -0
  85. package/js/src/src/abstract/bitstamp.js +11 -0
  86. package/js/src/src/abstract/bitteam.d.ts +32 -0
  87. package/js/src/src/abstract/bitteam.js +11 -0
  88. package/js/src/src/abstract/bittrade.d.ts +117 -0
  89. package/js/src/src/abstract/bittrade.js +11 -0
  90. package/js/src/src/abstract/bitunix.d.ts +9 -0
  91. package/js/src/src/abstract/bitunix.js +11 -0
  92. package/js/src/src/abstract/bitvavo.d.ts +30 -0
  93. package/js/src/src/abstract/bitvavo.js +11 -0
  94. package/js/src/src/abstract/blockchaincom.d.ts +31 -0
  95. package/js/src/src/abstract/blockchaincom.js +11 -0
  96. package/js/src/src/abstract/blofin.d.ts +70 -0
  97. package/js/src/src/abstract/blofin.js +11 -0
  98. package/js/src/src/abstract/btcalpha.d.ts +21 -0
  99. package/js/src/src/abstract/btcalpha.js +11 -0
  100. package/js/src/src/abstract/btcbox.d.ts +18 -0
  101. package/js/src/src/abstract/btcbox.js +11 -0
  102. package/js/src/src/abstract/btcmarkets.d.ts +42 -0
  103. package/js/src/src/abstract/btcmarkets.js +11 -0
  104. package/js/src/src/abstract/btcturk.d.ts +23 -0
  105. package/js/src/src/abstract/btcturk.js +11 -0
  106. package/js/src/src/abstract/bybit.d.ts +316 -0
  107. package/js/src/src/abstract/bybit.js +11 -0
  108. package/js/src/src/abstract/bydfi.d.ts +11 -0
  109. package/js/src/src/abstract/bydfi.js +11 -0
  110. package/js/src/src/abstract/cafearz.d.ts +8 -0
  111. package/js/src/src/abstract/cafearz.js +11 -0
  112. package/js/src/src/abstract/cex.d.ts +35 -0
  113. package/js/src/src/abstract/cex.js +11 -0
  114. package/js/src/src/abstract/coinbase.d.ts +97 -0
  115. package/js/src/src/abstract/coinbase.js +11 -0
  116. package/js/src/src/abstract/coinbaseexchange.d.ts +71 -0
  117. package/js/src/src/abstract/coinbaseexchange.js +11 -0
  118. package/js/src/src/abstract/coinbaseinternational.d.ts +42 -0
  119. package/js/src/src/abstract/coinbaseinternational.js +11 -0
  120. package/js/src/src/abstract/coincatch.d.ts +97 -0
  121. package/js/src/src/abstract/coincatch.js +11 -0
  122. package/js/src/src/abstract/coincheck.d.ts +36 -0
  123. package/js/src/src/abstract/coincheck.js +11 -0
  124. package/js/src/src/abstract/coinex.d.ts +240 -0
  125. package/js/src/src/abstract/coinex.js +11 -0
  126. package/js/src/src/abstract/coinmate.d.ts +65 -0
  127. package/js/src/src/abstract/coinmate.js +11 -0
  128. package/js/src/src/abstract/coinmetro.d.ts +37 -0
  129. package/js/src/src/abstract/coinmetro.js +11 -0
  130. package/js/src/src/abstract/coinone.d.ts +70 -0
  131. package/js/src/src/abstract/coinone.js +11 -0
  132. package/js/src/src/abstract/coinsph.d.ts +57 -0
  133. package/js/src/src/abstract/coinsph.js +11 -0
  134. package/js/src/src/abstract/coinspot.d.ts +31 -0
  135. package/js/src/src/abstract/coinspot.js +11 -0
  136. package/js/src/src/abstract/cryptocom.d.ts +126 -0
  137. package/js/src/src/abstract/cryptocom.js +11 -0
  138. package/js/src/src/abstract/cryptomus.d.ts +23 -0
  139. package/js/src/src/abstract/cryptomus.js +11 -0
  140. package/js/src/src/abstract/defx.d.ts +72 -0
  141. package/js/src/src/abstract/defx.js +11 -0
  142. package/js/src/src/abstract/delta.d.ts +53 -0
  143. package/js/src/src/abstract/delta.js +11 -0
  144. package/js/src/src/abstract/deribit.d.ts +129 -0
  145. package/js/src/src/abstract/deribit.js +11 -0
  146. package/js/src/src/abstract/derive.d.ts +120 -0
  147. package/js/src/src/abstract/derive.js +11 -0
  148. package/js/src/src/abstract/digifinex.d.ts +95 -0
  149. package/js/src/src/abstract/digifinex.js +11 -0
  150. package/js/src/src/abstract/ellipx.d.ts +28 -0
  151. package/js/src/src/abstract/ellipx.js +11 -0
  152. package/js/src/src/abstract/eterex.d.ts +8 -0
  153. package/js/src/src/abstract/eterex.js +11 -0
  154. package/js/src/src/abstract/excoino.d.ts +10 -0
  155. package/js/src/src/abstract/excoino.js +11 -0
  156. package/js/src/src/abstract/exir.d.ts +11 -0
  157. package/js/src/src/abstract/exir.js +11 -0
  158. package/js/src/src/abstract/exmo.d.ts +58 -0
  159. package/js/src/src/abstract/exmo.js +11 -0
  160. package/js/src/src/abstract/exnovin.d.ts +9 -0
  161. package/js/src/src/abstract/exnovin.js +11 -0
  162. package/js/src/src/abstract/farhadexchange.d.ts +8 -0
  163. package/js/src/src/abstract/farhadexchange.js +11 -0
  164. package/js/src/src/abstract/foxbit.d.ts +29 -0
  165. package/js/src/src/abstract/foxbit.js +11 -0
  166. package/js/src/src/abstract/gate.d.ts +287 -0
  167. package/js/src/src/abstract/gate.js +11 -0
  168. package/js/src/src/abstract/gemini.d.ts +62 -0
  169. package/js/src/src/abstract/gemini.js +11 -0
  170. package/js/src/src/abstract/hamtapay.d.ts +9 -0
  171. package/js/src/src/abstract/hamtapay.js +11 -0
  172. package/js/src/src/abstract/hashkey.d.ts +70 -0
  173. package/js/src/src/abstract/hashkey.js +11 -0
  174. package/js/src/src/abstract/hibachi.d.ts +29 -0
  175. package/js/src/src/abstract/hibachi.js +11 -0
  176. package/js/src/src/abstract/hitbtc.d.ts +118 -0
  177. package/js/src/src/abstract/hitbtc.js +11 -0
  178. package/js/src/src/abstract/hitobit.d.ts +11 -0
  179. package/js/src/src/abstract/hitobit.js +11 -0
  180. package/js/src/src/abstract/hollaex.d.ts +36 -0
  181. package/js/src/src/abstract/hollaex.js +11 -0
  182. package/js/src/src/abstract/htx.d.ts +551 -0
  183. package/js/src/src/abstract/htx.js +11 -0
  184. package/js/src/src/abstract/hyperliquid.d.ts +9 -0
  185. package/js/src/src/abstract/hyperliquid.js +11 -0
  186. package/js/src/src/abstract/independentreserve.d.ts +46 -0
  187. package/js/src/src/abstract/independentreserve.js +11 -0
  188. package/js/src/src/abstract/indodax.d.ts +29 -0
  189. package/js/src/src/abstract/indodax.js +11 -0
  190. package/js/src/src/abstract/iranexchange.d.ts +9 -0
  191. package/js/src/src/abstract/iranexchange.js +11 -0
  192. package/js/src/src/abstract/jibitex.d.ts +10 -0
  193. package/js/src/src/abstract/jibitex.js +11 -0
  194. package/js/src/src/abstract/kcex.d.ts +10 -0
  195. package/js/src/src/abstract/kcex.js +11 -0
  196. package/js/src/src/abstract/kifpoolme.d.ts +9 -0
  197. package/js/src/src/abstract/kifpoolme.js +11 -0
  198. package/js/src/src/abstract/kraken.d.ts +61 -0
  199. package/js/src/src/abstract/kraken.js +11 -0
  200. package/js/src/src/abstract/krakenfutures.d.ts +45 -0
  201. package/js/src/src/abstract/krakenfutures.js +11 -0
  202. package/js/src/src/abstract/kucoin.d.ts +227 -0
  203. package/js/src/src/abstract/kucoin.js +11 -0
  204. package/js/src/src/abstract/kucoinfutures.d.ts +254 -0
  205. package/js/src/src/abstract/kucoinfutures.js +11 -0
  206. package/js/src/src/abstract/latoken.d.ts +59 -0
  207. package/js/src/src/abstract/latoken.js +11 -0
  208. package/js/src/src/abstract/lbank.d.ts +65 -0
  209. package/js/src/src/abstract/lbank.js +11 -0
  210. package/js/src/src/abstract/luno.d.ts +41 -0
  211. package/js/src/src/abstract/luno.js +11 -0
  212. package/js/src/src/abstract/mazdax.d.ts +11 -0
  213. package/js/src/src/abstract/mazdax.js +11 -0
  214. package/js/src/src/abstract/mercado.d.ts +28 -0
  215. package/js/src/src/abstract/mercado.js +11 -0
  216. package/js/src/src/abstract/mexc.d.ts +183 -0
  217. package/js/src/src/abstract/mexc.js +11 -0
  218. package/js/src/src/abstract/modetrade.d.ts +122 -0
  219. package/js/src/src/abstract/modetrade.js +11 -0
  220. package/js/src/src/abstract/ndax.d.ts +100 -0
  221. package/js/src/src/abstract/ndax.js +11 -0
  222. package/js/src/src/abstract/nobitex.d.ts +10 -0
  223. package/js/src/src/abstract/nobitex.js +11 -0
  224. package/js/src/src/abstract/novadax.d.ts +32 -0
  225. package/js/src/src/abstract/novadax.js +11 -0
  226. package/js/src/src/abstract/oceanex.d.ts +30 -0
  227. package/js/src/src/abstract/oceanex.js +11 -0
  228. package/js/src/src/abstract/okcoin.d.ts +77 -0
  229. package/js/src/src/abstract/okcoin.js +11 -0
  230. package/js/src/src/abstract/okexchange.d.ts +11 -0
  231. package/js/src/src/abstract/okexchange.js +11 -0
  232. package/js/src/src/abstract/okx.d.ts +352 -0
  233. package/js/src/src/abstract/okx.js +11 -0
  234. package/js/src/src/abstract/ompfinex.d.ts +10 -0
  235. package/js/src/src/abstract/ompfinex.js +11 -0
  236. package/js/src/src/abstract/onetrading.d.ts +26 -0
  237. package/js/src/src/abstract/onetrading.js +11 -0
  238. package/js/src/src/abstract/oxfun.d.ts +37 -0
  239. package/js/src/src/abstract/oxfun.js +11 -0
  240. package/js/src/src/abstract/p2b.d.ts +25 -0
  241. package/js/src/src/abstract/p2b.js +11 -0
  242. package/js/src/src/abstract/paradex.d.ts +66 -0
  243. package/js/src/src/abstract/paradex.js +11 -0
  244. package/js/src/src/abstract/paymium.d.ts +31 -0
  245. package/js/src/src/abstract/paymium.js +11 -0
  246. package/js/src/src/abstract/phemex.d.ts +120 -0
  247. package/js/src/src/abstract/phemex.js +11 -0
  248. package/js/src/src/abstract/pingi.d.ts +9 -0
  249. package/js/src/src/abstract/pingi.js +11 -0
  250. package/js/src/src/abstract/poloniex.d.ts +108 -0
  251. package/js/src/src/abstract/poloniex.js +11 -0
  252. package/js/src/src/abstract/pooleno.d.ts +8 -0
  253. package/js/src/src/abstract/pooleno.js +11 -0
  254. package/js/src/src/abstract/probit.d.ts +26 -0
  255. package/js/src/src/abstract/probit.js +11 -0
  256. package/js/src/src/abstract/raastin.d.ts +11 -0
  257. package/js/src/src/abstract/raastin.js +11 -0
  258. package/js/src/src/abstract/ramzinex.d.ts +10 -0
  259. package/js/src/src/abstract/ramzinex.js +11 -0
  260. package/js/src/src/abstract/sarmayex.d.ts +8 -0
  261. package/js/src/src/abstract/sarmayex.js +11 -0
  262. package/js/src/src/abstract/sarrafex.d.ts +10 -0
  263. package/js/src/src/abstract/sarrafex.js +11 -0
  264. package/js/src/src/abstract/tabdeal.d.ts +10 -0
  265. package/js/src/src/abstract/tabdeal.js +11 -0
  266. package/js/src/src/abstract/tehran_exchange.d.ts +9 -0
  267. package/js/src/src/abstract/tehran_exchange.js +11 -0
  268. package/js/src/src/abstract/tetherland.d.ts +8 -0
  269. package/js/src/src/abstract/tetherland.js +11 -0
  270. package/js/src/src/abstract/timex.d.ts +65 -0
  271. package/js/src/src/abstract/timex.js +11 -0
  272. package/js/src/src/abstract/tokocrypto.d.ts +40 -0
  273. package/js/src/src/abstract/tokocrypto.js +11 -0
  274. package/js/src/src/abstract/toobit.d.ts +10 -0
  275. package/js/src/src/abstract/toobit.js +11 -0
  276. package/js/src/src/abstract/tradeogre.d.ts +21 -0
  277. package/js/src/src/abstract/tradeogre.js +11 -0
  278. package/js/src/src/abstract/twox.d.ts +8 -0
  279. package/js/src/src/abstract/twox.js +11 -0
  280. package/js/src/src/abstract/ubitex.d.ts +10 -0
  281. package/js/src/src/abstract/ubitex.js +11 -0
  282. package/js/src/src/abstract/upbit.d.ts +58 -0
  283. package/js/src/src/abstract/upbit.js +11 -0
  284. package/js/src/src/abstract/vertex.d.ts +22 -0
  285. package/js/src/src/abstract/vertex.js +11 -0
  286. package/js/src/src/abstract/wallex.d.ts +11 -0
  287. package/js/src/src/abstract/wallex.js +11 -0
  288. package/js/src/src/abstract/wavesexchange.d.ts +157 -0
  289. package/js/src/src/abstract/wavesexchange.js +11 -0
  290. package/js/src/src/abstract/whitebit.d.ts +117 -0
  291. package/js/src/src/abstract/whitebit.js +11 -0
  292. package/js/src/src/abstract/woo.d.ts +144 -0
  293. package/js/src/src/abstract/woo.js +11 -0
  294. package/js/src/src/abstract/woofipro.d.ts +122 -0
  295. package/js/src/src/abstract/woofipro.js +11 -0
  296. package/js/src/src/abstract/xt.d.ts +160 -0
  297. package/js/src/src/abstract/xt.js +11 -0
  298. package/js/src/src/abstract/yobit.d.ts +19 -0
  299. package/js/src/src/abstract/yobit.js +11 -0
  300. package/js/src/src/abstract/zaif.d.ts +41 -0
  301. package/js/src/src/abstract/zaif.js +11 -0
  302. package/js/src/src/abstract/zonda.d.ts +56 -0
  303. package/js/src/src/abstract/zonda.js +11 -0
  304. package/js/src/src/afratether.d.ts +21 -0
  305. package/js/src/src/afratether.js +356 -0
  306. package/js/src/src/alpaca.d.ts +332 -0
  307. package/js/src/src/alpaca.js +1908 -0
  308. package/js/src/src/apex.d.ts +333 -0
  309. package/js/src/src/apex.js +1942 -0
  310. package/js/src/src/arzinja.d.ts +21 -0
  311. package/js/src/src/arzinja.js +298 -0
  312. package/js/src/src/arzplus.d.ts +26 -0
  313. package/js/src/src/arzplus.js +581 -0
  314. package/js/src/src/ascendex.d.ts +424 -0
  315. package/js/src/src/ascendex.js +3699 -0
  316. package/js/src/src/asretether.d.ts +21 -0
  317. package/js/src/src/asretether.js +324 -0
  318. package/js/src/src/base/Exchange.d.ts +926 -0
  319. package/js/src/src/base/Exchange.js +7399 -0
  320. package/js/src/src/base/Precise.d.ts +42 -0
  321. package/js/src/src/base/Precise.js +275 -0
  322. package/js/src/src/base/errors.d.ts +168 -0
  323. package/js/src/src/base/errors.js +255 -0
  324. package/js/src/src/base/functions/crypto.d.ts +16 -0
  325. package/js/src/src/base/functions/crypto.js +131 -0
  326. package/js/src/src/base/functions/encode.d.ts +4 -0
  327. package/js/src/src/base/functions/encode.js +32 -0
  328. package/js/src/src/base/functions/generic.d.ts +29 -0
  329. package/js/src/src/base/functions/generic.js +203 -0
  330. package/js/src/src/base/functions/misc.d.ts +9 -0
  331. package/js/src/src/base/functions/misc.js +101 -0
  332. package/js/src/src/base/functions/number.d.ts +27 -0
  333. package/js/src/src/base/functions/number.js +313 -0
  334. package/js/src/src/base/functions/platform.d.ts +7 -0
  335. package/js/src/src/base/functions/platform.js +27 -0
  336. package/js/src/src/base/functions/rsa.d.ts +5 -0
  337. package/js/src/src/base/functions/rsa.js +49 -0
  338. package/js/src/src/base/functions/string.d.ts +7 -0
  339. package/js/src/src/base/functions/string.js +44 -0
  340. package/js/src/src/base/functions/throttle.d.ts +6 -0
  341. package/js/src/src/base/functions/throttle.js +67 -0
  342. package/js/src/src/base/functions/time.d.ts +21 -0
  343. package/js/src/src/base/functions/time.js +171 -0
  344. package/js/src/src/base/functions/totp.d.ts +3 -0
  345. package/js/src/src/base/functions/totp.js +25 -0
  346. package/js/src/src/base/functions/type.d.ts +37 -0
  347. package/js/src/src/base/functions/type.js +179 -0
  348. package/js/src/src/base/functions.d.ts +10 -0
  349. package/js/src/src/base/functions.js +18 -0
  350. package/js/src/src/base/types.d.ts +586 -0
  351. package/js/src/src/base/types.js +7 -0
  352. package/js/src/src/base/ws/Cache.d.ts +27 -0
  353. package/js/src/src/base/ws/Cache.js +260 -0
  354. package/js/src/src/base/ws/Client.d.ts +53 -0
  355. package/js/src/src/base/ws/Client.js +307 -0
  356. package/js/src/src/base/ws/Future.d.ts +8 -0
  357. package/js/src/src/base/ws/Future.js +35 -0
  358. package/js/src/src/base/ws/OrderBook.d.ts +25 -0
  359. package/js/src/src/base/ws/OrderBook.js +130 -0
  360. package/js/src/src/base/ws/OrderBookSide.d.ts +40 -0
  361. package/js/src/src/base/ws/OrderBookSide.js +286 -0
  362. package/js/src/src/base/ws/WsClient.d.ts +11 -0
  363. package/js/src/src/base/ws/WsClient.js +69 -0
  364. package/js/src/src/bequant.d.ts +4 -0
  365. package/js/src/src/bequant.js +35 -0
  366. package/js/src/src/bidarz.d.ts +16 -0
  367. package/js/src/src/bidarz.js +327 -0
  368. package/js/src/src/bigone.d.ts +296 -0
  369. package/js/src/src/bigone.js +2340 -0
  370. package/js/src/src/binance.d.ts +1667 -0
  371. package/js/src/src/binance.js +14400 -0
  372. package/js/src/src/binancecoinm.d.ts +6 -0
  373. package/js/src/src/binancecoinm.js +51 -0
  374. package/js/src/src/binanceus.d.ts +4 -0
  375. package/js/src/src/binanceus.js +225 -0
  376. package/js/src/src/binanceusdm.d.ts +6 -0
  377. package/js/src/src/binanceusdm.js +63 -0
  378. package/js/src/src/bingx.d.ts +778 -0
  379. package/js/src/src/bingx.js +6705 -0
  380. package/js/src/src/bit24.d.ts +24 -0
  381. package/js/src/src/bit24.js +520 -0
  382. package/js/src/src/bit2c.d.ts +146 -0
  383. package/js/src/src/bit2c.js +1029 -0
  384. package/js/src/src/bitbank.d.ts +181 -0
  385. package/js/src/src/bitbank.js +1146 -0
  386. package/js/src/src/bitbarg.d.ts +21 -0
  387. package/js/src/src/bitbarg.js +312 -0
  388. package/js/src/src/bitbns.d.ts +184 -0
  389. package/js/src/src/bitbns.js +1288 -0
  390. package/js/src/src/bitfinex.d.ts +516 -0
  391. package/js/src/src/bitfinex.js +3951 -0
  392. package/js/src/src/bitflyer.d.ts +229 -0
  393. package/js/src/src/bitflyer.js +1209 -0
  394. package/js/src/src/bitget.d.ts +1109 -0
  395. package/js/src/src/bitget.js +11033 -0
  396. package/js/src/src/bithumb.d.ts +165 -0
  397. package/js/src/src/bithumb.js +1257 -0
  398. package/js/src/src/bitimen.d.ts +23 -0
  399. package/js/src/src/bitimen.js +424 -0
  400. package/js/src/src/bitir.d.ts +23 -0
  401. package/js/src/src/bitir.js +521 -0
  402. package/js/src/src/bitmart.d.ts +736 -0
  403. package/js/src/src/bitmart.js +5639 -0
  404. package/js/src/src/bitmex.d.ts +395 -0
  405. package/js/src/src/bitmex.js +3088 -0
  406. package/js/src/src/bitopro.d.ts +295 -0
  407. package/js/src/src/bitopro.js +1892 -0
  408. package/js/src/src/bitpin.d.ts +23 -0
  409. package/js/src/src/bitpin.js +487 -0
  410. package/js/src/src/bitrue.d.ts +384 -0
  411. package/js/src/src/bitrue.js +3382 -0
  412. package/js/src/src/bitso.d.ts +270 -0
  413. package/js/src/src/bitso.js +1881 -0
  414. package/js/src/src/bitstamp.d.ts +355 -0
  415. package/js/src/src/bitstamp.js +2445 -0
  416. package/js/src/src/bitteam.d.ts +229 -0
  417. package/js/src/src/bitteam.js +2420 -0
  418. package/js/src/src/bittrade.d.ts +298 -0
  419. package/js/src/src/bittrade.js +2050 -0
  420. package/js/src/src/bitunix.d.ts +21 -0
  421. package/js/src/src/bitunix.js +326 -0
  422. package/js/src/src/bitvavo.d.ts +311 -0
  423. package/js/src/src/bitvavo.js +2204 -0
  424. package/js/src/src/blockchaincom.d.ts +256 -0
  425. package/js/src/src/blockchaincom.js +1259 -0
  426. package/js/src/src/blofin.d.ts +439 -0
  427. package/js/src/src/blofin.js +2576 -0
  428. package/js/src/src/btcalpha.d.ts +209 -0
  429. package/js/src/src/btcalpha.js +1056 -0
  430. package/js/src/src/btcbox.d.ts +144 -0
  431. package/js/src/src/btcbox.js +834 -0
  432. package/js/src/src/btcmarkets.d.ts +253 -0
  433. package/js/src/src/btcmarkets.js +1418 -0
  434. package/js/src/src/btcturk.d.ts +161 -0
  435. package/js/src/src/btcturk.js +1058 -0
  436. package/js/src/src/bybit.d.ts +1097 -0
  437. package/js/src/src/bybit.js +9382 -0
  438. package/js/src/src/bydfi.d.ts +23 -0
  439. package/js/src/src/bydfi.js +434 -0
  440. package/js/src/src/cafearz.d.ts +21 -0
  441. package/js/src/src/cafearz.js +346 -0
  442. package/js/src/src/cex.d.ts +286 -0
  443. package/js/src/src/cex.js +1799 -0
  444. package/js/src/src/coinbase.d.ts +623 -0
  445. package/js/src/src/coinbase.js +5220 -0
  446. package/js/src/src/coinbaseadvanced.d.ts +4 -0
  447. package/js/src/src/coinbaseadvanced.js +18 -0
  448. package/js/src/src/coinbaseexchange.d.ts +334 -0
  449. package/js/src/src/coinbaseexchange.js +2127 -0
  450. package/js/src/src/coinbaseinternational.d.ts +443 -0
  451. package/js/src/src/coinbaseinternational.js +2336 -0
  452. package/js/src/src/coincatch.d.ts +786 -0
  453. package/js/src/src/coincatch.js +5492 -0
  454. package/js/src/src/coincheck.d.ts +147 -0
  455. package/js/src/src/coincheck.js +962 -0
  456. package/js/src/src/coinex.d.ts +719 -0
  457. package/js/src/src/coinex.js +6166 -0
  458. package/js/src/src/coinmate.d.ts +202 -0
  459. package/js/src/src/coinmate.js +1215 -0
  460. package/js/src/src/coinmetro.d.ts +244 -0
  461. package/js/src/src/coinmetro.js +2024 -0
  462. package/js/src/src/coinone.d.ts +158 -0
  463. package/js/src/src/coinone.js +1278 -0
  464. package/js/src/src/coinsph.d.ts +310 -0
  465. package/js/src/src/coinsph.js +2203 -0
  466. package/js/src/src/coinspot.d.ts +108 -0
  467. package/js/src/src/coinspot.js +653 -0
  468. package/js/src/src/cryptocom.d.ts +463 -0
  469. package/js/src/src/cryptocom.js +3549 -0
  470. package/js/src/src/cryptomus.d.ts +158 -0
  471. package/js/src/src/cryptomus.js +1169 -0
  472. package/js/src/src/defx.d.ts +348 -0
  473. package/js/src/src/defx.js +2139 -0
  474. package/js/src/src/delta.d.ts +407 -0
  475. package/js/src/src/delta.js +3654 -0
  476. package/js/src/src/deribit.d.ts +516 -0
  477. package/js/src/src/deribit.js +3790 -0
  478. package/js/src/src/derive.d.ts +324 -0
  479. package/js/src/src/derive.js +2655 -0
  480. package/js/src/src/digifinex.d.ts +544 -0
  481. package/js/src/src/digifinex.js +4453 -0
  482. package/js/src/src/ellipx.d.ts +237 -0
  483. package/js/src/src/ellipx.js +2071 -0
  484. package/js/src/src/eterex.d.ts +21 -0
  485. package/js/src/src/eterex.js +299 -0
  486. package/js/src/src/excoino.d.ts +23 -0
  487. package/js/src/src/excoino.js +426 -0
  488. package/js/src/src/exir.d.ts +23 -0
  489. package/js/src/src/exir.js +403 -0
  490. package/js/src/src/exmo.d.ts +426 -0
  491. package/js/src/src/exmo.js +2825 -0
  492. package/js/src/src/exnovin.d.ts +22 -0
  493. package/js/src/src/exnovin.js +378 -0
  494. package/js/src/src/farhadexchange.d.ts +21 -0
  495. package/js/src/src/farhadexchange.js +280 -0
  496. package/js/src/src/fmfwio.d.ts +4 -0
  497. package/js/src/src/fmfwio.js +35 -0
  498. package/js/src/src/foxbit.d.ts +352 -0
  499. package/js/src/src/foxbit.js +2016 -0
  500. package/js/src/src/gate.d.ts +1071 -0
  501. package/js/src/src/gate.js +8282 -0
  502. package/js/src/src/gateio.d.ts +4 -0
  503. package/js/src/src/gateio.js +17 -0
  504. package/js/src/src/gemini.d.ts +257 -0
  505. package/js/src/src/gemini.js +2006 -0
  506. package/js/src/src/hamtapay.d.ts +21 -0
  507. package/js/src/src/hamtapay.js +303 -0
  508. package/js/src/src/hashkey.d.ts +628 -0
  509. package/js/src/src/hashkey.js +4363 -0
  510. package/js/src/src/hibachi.d.ts +346 -0
  511. package/js/src/src/hibachi.js +2137 -0
  512. package/js/src/src/hitbtc.d.ts +558 -0
  513. package/js/src/src/hitbtc.js +3847 -0
  514. package/js/src/src/hitobit.d.ts +23 -0
  515. package/js/src/src/hitobit.js +412 -0
  516. package/js/src/src/hollaex.d.ts +305 -0
  517. package/js/src/src/hollaex.js +2046 -0
  518. package/js/src/src/htx.d.ts +961 -0
  519. package/js/src/src/htx.js +9668 -0
  520. package/js/src/src/huobi.d.ts +4 -0
  521. package/js/src/src/huobi.js +17 -0
  522. package/js/src/src/hyperliquid.d.ts +651 -0
  523. package/js/src/src/hyperliquid.js +3937 -0
  524. package/js/src/src/independentreserve.d.ts +169 -0
  525. package/js/src/src/independentreserve.js +1115 -0
  526. package/js/src/src/indodax.d.ts +217 -0
  527. package/js/src/src/indodax.js +1454 -0
  528. package/js/src/src/iranexchange.d.ts +21 -0
  529. package/js/src/src/iranexchange.js +399 -0
  530. package/js/src/src/jibitex.d.ts +23 -0
  531. package/js/src/src/jibitex.js +416 -0
  532. package/js/src/src/kcex.d.ts +21 -0
  533. package/js/src/src/kcex.js +335 -0
  534. package/js/src/src/kifpoolme.d.ts +23 -0
  535. package/js/src/src/kifpoolme.js +410 -0
  536. package/js/src/src/kraken.d.ts +484 -0
  537. package/js/src/src/kraken.js +3518 -0
  538. package/js/src/src/krakenfutures.d.ts +362 -0
  539. package/js/src/src/krakenfutures.js +2885 -0
  540. package/js/src/src/kucoin.d.ts +759 -0
  541. package/js/src/src/kucoin.js +5153 -0
  542. package/js/src/src/kucoinfutures.d.ts +521 -0
  543. package/js/src/src/kucoinfutures.js +3381 -0
  544. package/js/src/src/latoken.d.ts +274 -0
  545. package/js/src/src/latoken.js +1824 -0
  546. package/js/src/src/lbank.d.ts +350 -0
  547. package/js/src/src/lbank.js +3146 -0
  548. package/js/src/src/luno.d.ts +252 -0
  549. package/js/src/src/luno.js +1479 -0
  550. package/js/src/src/mazdax.d.ts +23 -0
  551. package/js/src/src/mazdax.js +534 -0
  552. package/js/src/src/mercado.d.ts +160 -0
  553. package/js/src/src/mercado.js +1011 -0
  554. package/js/src/src/mexc.d.ts +768 -0
  555. package/js/src/src/mexc.js +6102 -0
  556. package/js/src/src/modetrade.d.ts +496 -0
  557. package/js/src/src/modetrade.js +2936 -0
  558. package/js/src/src/myokx.d.ts +4 -0
  559. package/js/src/src/myokx.js +54 -0
  560. package/js/src/src/ndax.d.ts +285 -0
  561. package/js/src/src/ndax.js +2598 -0
  562. package/js/src/src/nobitex.d.ts +23 -0
  563. package/js/src/src/nobitex.js +454 -0
  564. package/js/src/src/novadax.d.ts +279 -0
  565. package/js/src/src/novadax.js +1676 -0
  566. package/js/src/src/oceanex.d.ts +231 -0
  567. package/js/src/src/oceanex.js +1123 -0
  568. package/js/src/src/okcoin.d.ts +346 -0
  569. package/js/src/src/okcoin.js +3211 -0
  570. package/js/src/src/okexchange.d.ts +23 -0
  571. package/js/src/src/okexchange.js +373 -0
  572. package/js/src/src/okx.d.ts +1125 -0
  573. package/js/src/src/okx.js +9009 -0
  574. package/js/src/src/okxus.d.ts +4 -0
  575. package/js/src/src/okxus.js +54 -0
  576. package/js/src/src/ompfinex.d.ts +23 -0
  577. package/js/src/src/ompfinex.js +510 -0
  578. package/js/src/src/onetrading.d.ts +228 -0
  579. package/js/src/src/onetrading.js +1769 -0
  580. package/js/src/src/oxfun.d.ts +442 -0
  581. package/js/src/src/oxfun.js +2920 -0
  582. package/js/src/src/p2b.d.ts +189 -0
  583. package/js/src/src/p2b.js +1344 -0
  584. package/js/src/src/paradex.d.ts +389 -0
  585. package/js/src/src/paradex.js +2607 -0
  586. package/js/src/src/paymium.d.ts +133 -0
  587. package/js/src/src/paymium.js +644 -0
  588. package/js/src/src/phemex.d.ts +497 -0
  589. package/js/src/src/phemex.js +5333 -0
  590. package/js/src/src/pingi.d.ts +22 -0
  591. package/js/src/src/pingi.js +446 -0
  592. package/js/src/src/poloniex.d.ts +441 -0
  593. package/js/src/src/poloniex.js +3681 -0
  594. package/js/src/src/pooleno.d.ts +21 -0
  595. package/js/src/src/pooleno.js +347 -0
  596. package/js/src/src/pro/alpaca.d.ts +95 -0
  597. package/js/src/src/pro/alpaca.js +724 -0
  598. package/js/src/src/pro/apex.d.ts +160 -0
  599. package/js/src/src/pro/apex.js +1044 -0
  600. package/js/src/src/pro/ascendex.d.ts +99 -0
  601. package/js/src/src/pro/ascendex.js +1012 -0
  602. package/js/src/src/pro/bequant.d.ts +4 -0
  603. package/js/src/src/pro/bequant.js +42 -0
  604. package/js/src/src/pro/binance.d.ts +796 -0
  605. package/js/src/src/pro/binance.js +4373 -0
  606. package/js/src/src/pro/binancecoinm.d.ts +4 -0
  607. package/js/src/src/pro/binancecoinm.js +32 -0
  608. package/js/src/src/pro/binanceus.d.ts +4 -0
  609. package/js/src/src/pro/binanceus.js +52 -0
  610. package/js/src/src/pro/binanceusdm.d.ts +4 -0
  611. package/js/src/src/pro/binanceusdm.js +37 -0
  612. package/js/src/src/pro/bingx.d.ts +151 -0
  613. package/js/src/src/pro/bingx.js +1568 -0
  614. package/js/src/src/pro/bitfinex.d.ts +99 -0
  615. package/js/src/src/pro/bitfinex.js +1165 -0
  616. package/js/src/src/pro/bitget.d.ts +257 -0
  617. package/js/src/src/pro/bitget.js +2327 -0
  618. package/js/src/src/pro/bithumb.d.ts +59 -0
  619. package/js/src/src/pro/bithumb.js +395 -0
  620. package/js/src/src/pro/bitmart.d.ts +168 -0
  621. package/js/src/src/pro/bitmart.js +1686 -0
  622. package/js/src/src/pro/bitmex.d.ts +170 -0
  623. package/js/src/src/pro/bitmex.js +1760 -0
  624. package/js/src/src/pro/bitopro.d.ts +69 -0
  625. package/js/src/src/pro/bitopro.js +477 -0
  626. package/js/src/src/pro/bitrue.d.ts +40 -0
  627. package/js/src/src/pro/bitrue.js +461 -0
  628. package/js/src/src/pro/bitstamp.d.ts +53 -0
  629. package/js/src/src/pro/bitstamp.js +587 -0
  630. package/js/src/src/pro/bittrade.d.ts +66 -0
  631. package/js/src/src/pro/bittrade.js +606 -0
  632. package/js/src/src/pro/bitvavo.d.ts +321 -0
  633. package/js/src/src/pro/bitvavo.js +1451 -0
  634. package/js/src/src/pro/blockchaincom.d.ts +89 -0
  635. package/js/src/src/pro/blockchaincom.js +777 -0
  636. package/js/src/src/pro/blofin.d.ts +174 -0
  637. package/js/src/src/pro/blofin.js +743 -0
  638. package/js/src/src/pro/bybit.d.ts +397 -0
  639. package/js/src/src/pro/bybit.js +2519 -0
  640. package/js/src/src/pro/cex.d.ts +220 -0
  641. package/js/src/src/pro/cex.js +1535 -0
  642. package/js/src/src/pro/coinbase.d.ts +119 -0
  643. package/js/src/src/pro/coinbase.js +736 -0
  644. package/js/src/src/pro/coinbaseadvanced.d.ts +4 -0
  645. package/js/src/src/pro/coinbaseadvanced.js +18 -0
  646. package/js/src/src/pro/coinbaseexchange.d.ts +133 -0
  647. package/js/src/src/pro/coinbaseexchange.js +969 -0
  648. package/js/src/src/pro/coinbaseinternational.d.ts +143 -0
  649. package/js/src/src/pro/coinbaseinternational.js +804 -0
  650. package/js/src/src/pro/coincatch.d.ts +207 -0
  651. package/js/src/src/pro/coincatch.js +1562 -0
  652. package/js/src/src/pro/coincheck.d.ts +33 -0
  653. package/js/src/src/pro/coincheck.js +210 -0
  654. package/js/src/src/pro/coinex.d.ts +147 -0
  655. package/js/src/src/pro/coinex.js +1426 -0
  656. package/js/src/src/pro/coinone.d.ts +51 -0
  657. package/js/src/src/pro/coinone.js +413 -0
  658. package/js/src/src/pro/cryptocom.d.ts +300 -0
  659. package/js/src/src/pro/cryptocom.js +1414 -0
  660. package/js/src/src/pro/defx.d.ts +236 -0
  661. package/js/src/src/pro/defx.js +865 -0
  662. package/js/src/src/pro/deribit.d.ts +163 -0
  663. package/js/src/src/pro/deribit.js +1066 -0
  664. package/js/src/src/pro/derive.d.ts +100 -0
  665. package/js/src/src/pro/derive.js +753 -0
  666. package/js/src/src/pro/exmo.d.ts +97 -0
  667. package/js/src/src/pro/exmo.js +903 -0
  668. package/js/src/src/pro/gate.d.ts +360 -0
  669. package/js/src/src/pro/gate.js +2119 -0
  670. package/js/src/src/pro/gateio.d.ts +4 -0
  671. package/js/src/src/pro/gateio.js +17 -0
  672. package/js/src/src/pro/gemini.d.ts +106 -0
  673. package/js/src/src/pro/gemini.js +932 -0
  674. package/js/src/src/pro/hashkey.d.ts +121 -0
  675. package/js/src/src/pro/hashkey.js +843 -0
  676. package/js/src/src/pro/hitbtc.d.ts +235 -0
  677. package/js/src/src/pro/hitbtc.js +1400 -0
  678. package/js/src/src/pro/hollaex.d.ts +77 -0
  679. package/js/src/src/pro/hollaex.js +604 -0
  680. package/js/src/src/pro/htx.d.ts +141 -0
  681. package/js/src/src/pro/htx.js +2415 -0
  682. package/js/src/src/pro/huobi.d.ts +4 -0
  683. package/js/src/src/pro/huobi.js +17 -0
  684. package/js/src/src/pro/hyperliquid.d.ts +218 -0
  685. package/js/src/src/pro/hyperliquid.js +1126 -0
  686. package/js/src/src/pro/independentreserve.d.ts +36 -0
  687. package/js/src/src/pro/independentreserve.js +287 -0
  688. package/js/src/src/pro/kraken.d.ts +233 -0
  689. package/js/src/src/pro/kraken.js +1785 -0
  690. package/js/src/src/pro/krakenfutures.d.ts +178 -0
  691. package/js/src/src/pro/krakenfutures.js +1592 -0
  692. package/js/src/src/pro/kucoin.d.ts +221 -0
  693. package/js/src/src/pro/kucoin.js +1430 -0
  694. package/js/src/src/pro/kucoinfutures.d.ts +205 -0
  695. package/js/src/src/pro/kucoinfutures.js +1295 -0
  696. package/js/src/src/pro/lbank.d.ts +134 -0
  697. package/js/src/src/pro/lbank.js +950 -0
  698. package/js/src/src/pro/luno.d.ts +44 -0
  699. package/js/src/src/pro/luno.js +322 -0
  700. package/js/src/src/pro/mexc.d.ts +210 -0
  701. package/js/src/src/pro/mexc.js +2009 -0
  702. package/js/src/src/pro/modetrade.d.ts +155 -0
  703. package/js/src/src/pro/modetrade.js +1335 -0
  704. package/js/src/src/pro/myokx.d.ts +4 -0
  705. package/js/src/src/pro/myokx.js +39 -0
  706. package/js/src/src/pro/ndax.d.ts +60 -0
  707. package/js/src/src/pro/ndax.js +545 -0
  708. package/js/src/src/pro/okcoin.d.ts +91 -0
  709. package/js/src/src/pro/okcoin.js +763 -0
  710. package/js/src/src/pro/okx.d.ts +408 -0
  711. package/js/src/src/pro/okx.js +2479 -0
  712. package/js/src/src/pro/okxus.d.ts +4 -0
  713. package/js/src/src/pro/okxus.js +39 -0
  714. package/js/src/src/pro/onetrading.d.ts +107 -0
  715. package/js/src/src/pro/onetrading.js +1343 -0
  716. package/js/src/src/pro/oxfun.d.ts +234 -0
  717. package/js/src/src/pro/oxfun.js +1112 -0
  718. package/js/src/src/pro/p2b.d.ts +104 -0
  719. package/js/src/src/pro/p2b.js +506 -0
  720. package/js/src/src/pro/paradex.d.ts +54 -0
  721. package/js/src/src/pro/paradex.js +370 -0
  722. package/js/src/src/pro/phemex.d.ts +129 -0
  723. package/js/src/src/pro/phemex.js +1569 -0
  724. package/js/src/src/pro/poloniex.d.ts +214 -0
  725. package/js/src/src/pro/poloniex.js +1318 -0
  726. package/js/src/src/pro/probit.d.ts +91 -0
  727. package/js/src/src/pro/probit.js +593 -0
  728. package/js/src/src/pro/tradeogre.d.ts +49 -0
  729. package/js/src/src/pro/tradeogre.js +284 -0
  730. package/js/src/src/pro/upbit.d.ts +124 -0
  731. package/js/src/src/pro/upbit.js +689 -0
  732. package/js/src/src/pro/vertex.d.ts +104 -0
  733. package/js/src/src/pro/vertex.js +999 -0
  734. package/js/src/src/pro/whitebit.d.ts +123 -0
  735. package/js/src/src/pro/whitebit.js +971 -0
  736. package/js/src/src/pro/woo.d.ts +161 -0
  737. package/js/src/src/pro/woo.js +1351 -0
  738. package/js/src/src/pro/woofipro.d.ts +155 -0
  739. package/js/src/src/pro/woofipro.js +1335 -0
  740. package/js/src/src/pro/xt.d.ts +165 -0
  741. package/js/src/src/pro/xt.js +1230 -0
  742. package/js/src/src/probit.d.ts +283 -0
  743. package/js/src/src/probit.js +1935 -0
  744. package/js/src/src/protobuf/mexc/compiled.cjs +7186 -0
  745. package/js/src/src/protobuf/mexc/compiled.d.cts +8 -0
  746. package/js/src/src/raastin.d.ts +24 -0
  747. package/js/src/src/raastin.js +494 -0
  748. package/js/src/src/ramzinex.d.ts +23 -0
  749. package/js/src/src/ramzinex.js +510 -0
  750. package/js/src/src/sarmayex.d.ts +21 -0
  751. package/js/src/src/sarmayex.js +376 -0
  752. package/js/src/src/sarrafex.d.ts +23 -0
  753. package/js/src/src/sarrafex.js +501 -0
  754. package/js/src/src/static_dependencies/ethers/abi-coder.d.ts +50 -0
  755. package/js/src/src/static_dependencies/ethers/abi-coder.js +148 -0
  756. package/js/src/src/static_dependencies/ethers/address/address.d.ts +55 -0
  757. package/js/src/src/static_dependencies/ethers/address/address.js +162 -0
  758. package/js/src/src/static_dependencies/ethers/address/checks.d.ts +80 -0
  759. package/js/src/src/static_dependencies/ethers/address/checks.js +119 -0
  760. package/js/src/src/static_dependencies/ethers/address/contract-address.d.ts +47 -0
  761. package/js/src/src/static_dependencies/ethers/address/contract-address.js +73 -0
  762. package/js/src/src/static_dependencies/ethers/address/index.d.ts +48 -0
  763. package/js/src/src/static_dependencies/ethers/address/index.js +24 -0
  764. package/js/src/src/static_dependencies/ethers/bytes32.d.ts +14 -0
  765. package/js/src/src/static_dependencies/ethers/bytes32.js +45 -0
  766. package/js/src/src/static_dependencies/ethers/coders/abstract-coder.d.ts +120 -0
  767. package/js/src/src/static_dependencies/ethers/coders/abstract-coder.js +424 -0
  768. package/js/src/src/static_dependencies/ethers/coders/address.d.ts +12 -0
  769. package/js/src/src/static_dependencies/ethers/coders/address.js +34 -0
  770. package/js/src/src/static_dependencies/ethers/coders/anonymous.d.ts +14 -0
  771. package/js/src/src/static_dependencies/ethers/coders/anonymous.js +27 -0
  772. package/js/src/src/static_dependencies/ethers/coders/array.d.ts +24 -0
  773. package/js/src/src/static_dependencies/ethers/coders/array.js +162 -0
  774. package/js/src/src/static_dependencies/ethers/coders/boolean.d.ts +12 -0
  775. package/js/src/src/static_dependencies/ethers/coders/boolean.js +26 -0
  776. package/js/src/src/static_dependencies/ethers/coders/bytes.d.ts +18 -0
  777. package/js/src/src/static_dependencies/ethers/coders/bytes.js +39 -0
  778. package/js/src/src/static_dependencies/ethers/coders/fixed-bytes.d.ts +14 -0
  779. package/js/src/src/static_dependencies/ethers/coders/fixed-bytes.js +32 -0
  780. package/js/src/src/static_dependencies/ethers/coders/null.d.ts +11 -0
  781. package/js/src/src/static_dependencies/ethers/coders/null.js +29 -0
  782. package/js/src/src/static_dependencies/ethers/coders/number.d.ts +15 -0
  783. package/js/src/src/static_dependencies/ethers/coders/number.js +48 -0
  784. package/js/src/src/static_dependencies/ethers/coders/string.d.ts +12 -0
  785. package/js/src/src/static_dependencies/ethers/coders/string.js +26 -0
  786. package/js/src/src/static_dependencies/ethers/coders/tuple.d.ts +15 -0
  787. package/js/src/src/static_dependencies/ethers/coders/tuple.js +67 -0
  788. package/js/src/src/static_dependencies/ethers/fragments.d.ts +458 -0
  789. package/js/src/src/static_dependencies/ethers/fragments.js +1252 -0
  790. package/js/src/src/static_dependencies/ethers/hash/index.d.ts +10 -0
  791. package/js/src/src/static_dependencies/ethers/hash/index.js +15 -0
  792. package/js/src/src/static_dependencies/ethers/hash/solidity.d.ts +30 -0
  793. package/js/src/src/static_dependencies/ethers/hash/solidity.js +107 -0
  794. package/js/src/src/static_dependencies/ethers/hash/typed-data.d.ts +144 -0
  795. package/js/src/src/static_dependencies/ethers/hash/typed-data.js +490 -0
  796. package/js/src/src/static_dependencies/ethers/index.d.ts +19 -0
  797. package/js/src/src/static_dependencies/ethers/index.js +22 -0
  798. package/js/src/src/static_dependencies/ethers/interface.d.ts +380 -0
  799. package/js/src/src/static_dependencies/ethers/interface.js +990 -0
  800. package/js/src/src/static_dependencies/ethers/typed.d.ts +569 -0
  801. package/js/src/src/static_dependencies/ethers/typed.js +608 -0
  802. package/js/src/src/static_dependencies/ethers/utils/base58.d.ts +22 -0
  803. package/js/src/src/static_dependencies/ethers/utils/base58.js +68 -0
  804. package/js/src/src/static_dependencies/ethers/utils/base64.d.ts +39 -0
  805. package/js/src/src/static_dependencies/ethers/utils/base64.js +58 -0
  806. package/js/src/src/static_dependencies/ethers/utils/data.d.ts +92 -0
  807. package/js/src/src/static_dependencies/ethers/utils/data.js +175 -0
  808. package/js/src/src/static_dependencies/ethers/utils/errors.d.ts +509 -0
  809. package/js/src/src/static_dependencies/ethers/utils/errors.js +227 -0
  810. package/js/src/src/static_dependencies/ethers/utils/events.d.ts +76 -0
  811. package/js/src/src/static_dependencies/ethers/utils/events.js +52 -0
  812. package/js/src/src/static_dependencies/ethers/utils/fixednumber.d.ts +251 -0
  813. package/js/src/src/static_dependencies/ethers/utils/fixednumber.js +529 -0
  814. package/js/src/src/static_dependencies/ethers/utils/index.d.ts +30 -0
  815. package/js/src/src/static_dependencies/ethers/utils/index.js +38 -0
  816. package/js/src/src/static_dependencies/ethers/utils/maths.d.ts +65 -0
  817. package/js/src/src/static_dependencies/ethers/utils/maths.js +220 -0
  818. package/js/src/src/static_dependencies/ethers/utils/properties.d.ts +22 -0
  819. package/js/src/src/static_dependencies/ethers/utils/properties.js +59 -0
  820. package/js/src/src/static_dependencies/ethers/utils/rlp-decode.d.ts +5 -0
  821. package/js/src/src/static_dependencies/ethers/utils/rlp-decode.js +84 -0
  822. package/js/src/src/static_dependencies/ethers/utils/rlp-encode.d.ts +5 -0
  823. package/js/src/src/static_dependencies/ethers/utils/rlp-encode.js +54 -0
  824. package/js/src/src/static_dependencies/ethers/utils/rlp.d.ts +16 -0
  825. package/js/src/src/static_dependencies/ethers/utils/rlp.js +14 -0
  826. package/js/src/src/static_dependencies/ethers/utils/units.d.ts +23 -0
  827. package/js/src/src/static_dependencies/ethers/utils/units.js +88 -0
  828. package/js/src/src/static_dependencies/ethers/utils/utf8.d.ts +95 -0
  829. package/js/src/src/static_dependencies/ethers/utils/utf8.js +225 -0
  830. package/js/src/src/static_dependencies/ethers/utils/uuid.d.ts +7 -0
  831. package/js/src/src/static_dependencies/ethers/utils/uuid.js +35 -0
  832. package/js/src/src/static_dependencies/fflake/browser.d.ts +222 -0
  833. package/js/src/src/static_dependencies/fflake/browser.js +2578 -0
  834. package/js/src/src/static_dependencies/jsencrypt/JSEncrypt.d.ts +116 -0
  835. package/js/src/src/static_dependencies/jsencrypt/JSEncrypt.js +194 -0
  836. package/js/src/src/static_dependencies/jsencrypt/JSEncryptRSAKey.d.ts +142 -0
  837. package/js/src/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +307 -0
  838. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/asn1.d.ts +51 -0
  839. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +565 -0
  840. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/base64.d.ts +5 -0
  841. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +94 -0
  842. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/hex.d.ts +3 -0
  843. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +70 -0
  844. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/int10.d.ts +9 -0
  845. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +91 -0
  846. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/base64.d.ts +3 -0
  847. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +25 -0
  848. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.d.ts +101 -0
  849. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +1757 -0
  850. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/prng4.d.ts +10 -0
  851. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +50 -0
  852. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/rng.d.ts +3 -0
  853. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +80 -0
  854. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/rsa.d.ts +23 -0
  855. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +377 -0
  856. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/util.d.ts +7 -0
  857. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/util.js +64 -0
  858. package/js/src/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.d.ts +24 -0
  859. package/js/src/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +1627 -0
  860. package/js/src/src/static_dependencies/noble-curves/_shortw_utils.d.ts +60 -0
  861. package/js/src/src/static_dependencies/noble-curves/_shortw_utils.js +22 -0
  862. package/js/src/src/static_dependencies/noble-curves/abstract/curve.d.ts +67 -0
  863. package/js/src/src/static_dependencies/noble-curves/abstract/curve.js +157 -0
  864. package/js/src/src/static_dependencies/noble-curves/abstract/edwards.d.ts +79 -0
  865. package/js/src/src/static_dependencies/noble-curves/abstract/edwards.js +432 -0
  866. package/js/src/src/static_dependencies/noble-curves/abstract/hash-to-curve.d.ts +56 -0
  867. package/js/src/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +171 -0
  868. package/js/src/src/static_dependencies/noble-curves/abstract/modular.d.ts +68 -0
  869. package/js/src/src/static_dependencies/noble-curves/abstract/modular.js +351 -0
  870. package/js/src/src/static_dependencies/noble-curves/abstract/montgomery.d.ts +25 -0
  871. package/js/src/src/static_dependencies/noble-curves/abstract/montgomery.js +162 -0
  872. package/js/src/src/static_dependencies/noble-curves/abstract/poseidon.d.ts +29 -0
  873. package/js/src/src/static_dependencies/noble-curves/abstract/poseidon.js +115 -0
  874. package/js/src/src/static_dependencies/noble-curves/abstract/utils.d.ts +53 -0
  875. package/js/src/src/static_dependencies/noble-curves/abstract/utils.js +227 -0
  876. package/js/src/src/static_dependencies/noble-curves/abstract/weierstrass.d.ts +204 -0
  877. package/js/src/src/static_dependencies/noble-curves/abstract/weierstrass.js +1016 -0
  878. package/js/src/src/static_dependencies/noble-curves/ed25519.d.ts +53 -0
  879. package/js/src/src/static_dependencies/noble-curves/ed25519.js +402 -0
  880. package/js/src/src/static_dependencies/noble-curves/p256.d.ts +103 -0
  881. package/js/src/src/static_dependencies/noble-curves/p256.js +47 -0
  882. package/js/src/src/static_dependencies/noble-curves/secp256k1.d.ts +91 -0
  883. package/js/src/src/static_dependencies/noble-curves/secp256k1.js +257 -0
  884. package/js/src/src/static_dependencies/noble-hashes/_assert.d.ts +21 -0
  885. package/js/src/src/static_dependencies/noble-hashes/_assert.js +48 -0
  886. package/js/src/src/static_dependencies/noble-hashes/_sha2.d.ts +23 -0
  887. package/js/src/src/static_dependencies/noble-hashes/_sha2.js +119 -0
  888. package/js/src/src/static_dependencies/noble-hashes/_u64.d.ts +35 -0
  889. package/js/src/src/static_dependencies/noble-hashes/_u64.js +66 -0
  890. package/js/src/src/static_dependencies/noble-hashes/crypto.d.ts +1 -0
  891. package/js/src/src/static_dependencies/noble-hashes/crypto.js +7 -0
  892. package/js/src/src/static_dependencies/noble-hashes/hmac.d.ts +26 -0
  893. package/js/src/src/static_dependencies/noble-hashes/hmac.js +82 -0
  894. package/js/src/src/static_dependencies/noble-hashes/md5.d.ts +18 -0
  895. package/js/src/src/static_dependencies/noble-hashes/md5.js +242 -0
  896. package/js/src/src/static_dependencies/noble-hashes/sha1.d.ts +21 -0
  897. package/js/src/src/static_dependencies/noble-hashes/sha1.js +90 -0
  898. package/js/src/src/static_dependencies/noble-hashes/sha256.d.ts +34 -0
  899. package/js/src/src/static_dependencies/noble-hashes/sha256.js +129 -0
  900. package/js/src/src/static_dependencies/noble-hashes/sha3.d.ts +97 -0
  901. package/js/src/src/static_dependencies/noble-hashes/sha3.js +211 -0
  902. package/js/src/src/static_dependencies/noble-hashes/sha512.d.ts +66 -0
  903. package/js/src/src/static_dependencies/noble-hashes/sha512.js +236 -0
  904. package/js/src/src/static_dependencies/noble-hashes/utils.d.ts +77 -0
  905. package/js/src/src/static_dependencies/noble-hashes/utils.js +147 -0
  906. package/js/src/src/static_dependencies/proxies/agent-base/helpers.d.ts +14 -0
  907. package/js/src/src/static_dependencies/proxies/agent-base/helpers.js +42 -0
  908. package/js/src/src/static_dependencies/proxies/agent-base/index.d.ts +33 -0
  909. package/js/src/src/static_dependencies/proxies/agent-base/index.js +82 -0
  910. package/js/src/src/static_dependencies/proxies/http-proxy-agent/index.d.ts +40 -0
  911. package/js/src/src/static_dependencies/proxies/http-proxy-agent/index.js +119 -0
  912. package/js/src/src/static_dependencies/proxies/https-proxy-agent/index.d.ts +45 -0
  913. package/js/src/src/static_dependencies/proxies/https-proxy-agent/index.js +150 -0
  914. package/js/src/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.d.ts +15 -0
  915. package/js/src/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +95 -0
  916. package/js/src/src/static_dependencies/qs/formats.cjs +22 -0
  917. package/js/src/src/static_dependencies/qs/formats.d.cts +14 -0
  918. package/js/src/src/static_dependencies/qs/index.cjs +15 -0
  919. package/js/src/src/static_dependencies/qs/index.d.cts +10 -0
  920. package/js/src/src/static_dependencies/qs/parse.cjs +208 -0
  921. package/js/src/src/static_dependencies/qs/parse.d.cts +8 -0
  922. package/js/src/src/static_dependencies/qs/stringify.cjs +192 -0
  923. package/js/src/src/static_dependencies/qs/stringify.d.cts +8 -0
  924. package/js/src/src/static_dependencies/qs/utils.cjs +202 -0
  925. package/js/src/src/static_dependencies/qs/utils.d.cts +15 -0
  926. package/js/src/src/static_dependencies/scure-base/index.d.ts +92 -0
  927. package/js/src/src/static_dependencies/scure-base/index.js +420 -0
  928. package/js/src/src/static_dependencies/scure-starknet/index.d.ts +79 -0
  929. package/js/src/src/static_dependencies/scure-starknet/index.js +323 -0
  930. package/js/src/src/static_dependencies/starknet/constants.d.ts +61 -0
  931. package/js/src/src/static_dependencies/starknet/constants.js +67 -0
  932. package/js/src/src/static_dependencies/starknet/index.d.ts +3 -0
  933. package/js/src/src/static_dependencies/starknet/index.js +9 -0
  934. package/js/src/src/static_dependencies/starknet/types/cairoEnum.d.ts +2 -0
  935. package/js/src/src/static_dependencies/starknet/types/cairoEnum.js +7 -0
  936. package/js/src/src/static_dependencies/starknet/types/calldata.d.ts +19 -0
  937. package/js/src/src/static_dependencies/starknet/types/calldata.js +28 -0
  938. package/js/src/src/static_dependencies/starknet/types/index.d.ts +13 -0
  939. package/js/src/src/static_dependencies/starknet/types/index.js +16 -0
  940. package/js/src/src/static_dependencies/starknet/types/lib/contract/abi.d.ts +71 -0
  941. package/js/src/src/static_dependencies/starknet/types/lib/contract/abi.js +13 -0
  942. package/js/src/src/static_dependencies/starknet/types/lib/contract/index.d.ts +24 -0
  943. package/js/src/src/static_dependencies/starknet/types/lib/contract/index.js +16 -0
  944. package/js/src/src/static_dependencies/starknet/types/lib/contract/legacy.d.ts +33 -0
  945. package/js/src/src/static_dependencies/starknet/types/lib/contract/legacy.js +7 -0
  946. package/js/src/src/static_dependencies/starknet/types/lib/contract/sierra.d.ts +52 -0
  947. package/js/src/src/static_dependencies/starknet/types/lib/contract/sierra.js +7 -0
  948. package/js/src/src/static_dependencies/starknet/types/lib/index.d.ts +248 -0
  949. package/js/src/src/static_dependencies/starknet/types/lib/index.js +52 -0
  950. package/js/src/src/static_dependencies/starknet/types/typedData.d.ts +44 -0
  951. package/js/src/src/static_dependencies/starknet/types/typedData.js +19 -0
  952. package/js/src/src/static_dependencies/starknet/utils/assert.d.ts +7 -0
  953. package/js/src/src/static_dependencies/starknet/utils/assert.js +17 -0
  954. package/js/src/src/static_dependencies/starknet/utils/cairoDataTypes/felt.d.ts +6 -0
  955. package/js/src/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +43 -0
  956. package/js/src/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.d.ts +72 -0
  957. package/js/src/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +117 -0
  958. package/js/src/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.d.ts +76 -0
  959. package/js/src/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +136 -0
  960. package/js/src/src/static_dependencies/starknet/utils/calldata/byteArray.d.ts +32 -0
  961. package/js/src/src/static_dependencies/starknet/utils/calldata/byteArray.js +59 -0
  962. package/js/src/src/static_dependencies/starknet/utils/calldata/cairo.d.ts +183 -0
  963. package/js/src/src/static_dependencies/starknet/utils/calldata/cairo.js +229 -0
  964. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.d.ts +38 -0
  965. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +57 -0
  966. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.d.ts +35 -0
  967. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +64 -0
  968. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.d.ts +34 -0
  969. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +63 -0
  970. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/index.d.ts +3 -0
  971. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/index.js +9 -0
  972. package/js/src/src/static_dependencies/starknet/utils/calldata/formatter.d.ts +9 -0
  973. package/js/src/src/static_dependencies/starknet/utils/calldata/formatter.js +67 -0
  974. package/js/src/src/static_dependencies/starknet/utils/calldata/index.d.ts +89 -0
  975. package/js/src/src/static_dependencies/starknet/utils/calldata/index.js +280 -0
  976. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/index.d.ts +5 -0
  977. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/index.js +30 -0
  978. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/interface.d.ts +20 -0
  979. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/interface.js +8 -0
  980. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.d.ts +24 -0
  981. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +36 -0
  982. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.d.ts +23 -0
  983. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +40 -0
  984. package/js/src/src/static_dependencies/starknet/utils/calldata/propertyOrder.d.ts +2 -0
  985. package/js/src/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +155 -0
  986. package/js/src/src/static_dependencies/starknet/utils/calldata/requestParser.d.ts +11 -0
  987. package/js/src/src/static_dependencies/starknet/utils/calldata/requestParser.js +248 -0
  988. package/js/src/src/static_dependencies/starknet/utils/calldata/responseParser.d.ts +11 -0
  989. package/js/src/src/static_dependencies/starknet/utils/calldata/responseParser.js +214 -0
  990. package/js/src/src/static_dependencies/starknet/utils/calldata/tuple.d.ts +6 -0
  991. package/js/src/src/static_dependencies/starknet/utils/calldata/tuple.js +113 -0
  992. package/js/src/src/static_dependencies/starknet/utils/calldata/validate.d.ts +6 -0
  993. package/js/src/src/static_dependencies/starknet/utils/calldata/validate.js +208 -0
  994. package/js/src/src/static_dependencies/starknet/utils/encode.d.ts +207 -0
  995. package/js/src/src/static_dependencies/starknet/utils/encode.js +282 -0
  996. package/js/src/src/static_dependencies/starknet/utils/hash/classHash.d.ts +57 -0
  997. package/js/src/src/static_dependencies/starknet/utils/hash/classHash.js +223 -0
  998. package/js/src/src/static_dependencies/starknet/utils/hash/index.d.ts +6 -0
  999. package/js/src/src/static_dependencies/starknet/utils/hash/index.js +13 -0
  1000. package/js/src/src/static_dependencies/starknet/utils/merkle.d.ts +35 -0
  1001. package/js/src/src/static_dependencies/starknet/utils/merkle.js +84 -0
  1002. package/js/src/src/static_dependencies/starknet/utils/num.d.ts +182 -0
  1003. package/js/src/src/static_dependencies/starknet/utils/num.js +244 -0
  1004. package/js/src/src/static_dependencies/starknet/utils/selector.d.ts +48 -0
  1005. package/js/src/src/static_dependencies/starknet/utils/selector.js +85 -0
  1006. package/js/src/src/static_dependencies/starknet/utils/shortString.d.ts +57 -0
  1007. package/js/src/src/static_dependencies/starknet/utils/shortString.js +96 -0
  1008. package/js/src/src/static_dependencies/starknet/utils/typedData.d.ts +54 -0
  1009. package/js/src/src/static_dependencies/starknet/utils/typedData.js +321 -0
  1010. package/js/src/src/static_dependencies/watchable/src/types.d.ts +28 -0
  1011. package/js/src/src/static_dependencies/watchable/src/types.js +8 -0
  1012. package/js/src/src/static_dependencies/watchable/src/unpromise.d.ts +120 -0
  1013. package/js/src/src/static_dependencies/watchable/src/unpromise.js +297 -0
  1014. package/js/src/src/static_dependencies/zklink/zklink-sdk-web.d.ts +1279 -0
  1015. package/js/src/src/static_dependencies/zklink/zklink-sdk-web.js +4282 -0
  1016. package/js/src/src/tabdeal.d.ts +23 -0
  1017. package/js/src/src/tabdeal.js +387 -0
  1018. package/js/src/src/tehran_exchange.d.ts +21 -0
  1019. package/js/src/src/tehran_exchange.js +333 -0
  1020. package/js/src/src/tetherland.d.ts +21 -0
  1021. package/js/src/src/tetherland.js +367 -0
  1022. package/js/src/src/timex.d.ts +247 -0
  1023. package/js/src/src/timex.js +1792 -0
  1024. package/js/src/src/tokocrypto.d.ts +261 -0
  1025. package/js/src/src/tokocrypto.js +2641 -0
  1026. package/js/src/src/toobit.d.ts +22 -0
  1027. package/js/src/src/toobit.js +445 -0
  1028. package/js/src/src/tradeogre.d.ts +149 -0
  1029. package/js/src/src/tradeogre.js +878 -0
  1030. package/js/src/src/twox.d.ts +21 -0
  1031. package/js/src/src/twox.js +371 -0
  1032. package/js/src/src/ubitex.d.ts +23 -0
  1033. package/js/src/src/ubitex.js +433 -0
  1034. package/js/src/src/upbit.d.ts +377 -0
  1035. package/js/src/src/upbit.js +2340 -0
  1036. package/js/src/src/vertex.d.ts +346 -0
  1037. package/js/src/src/vertex.js +3146 -0
  1038. package/js/src/src/wallex.d.ts +23 -0
  1039. package/js/src/src/wallex.js +467 -0
  1040. package/js/src/src/wavesexchange.d.ts +244 -0
  1041. package/js/src/src/wavesexchange.js +2747 -0
  1042. package/js/src/src/whitebit.d.ts +571 -0
  1043. package/js/src/src/whitebit.js +3437 -0
  1044. package/js/src/src/woo.d.ts +727 -0
  1045. package/js/src/src/woo.js +4183 -0
  1046. package/js/src/src/woofipro.d.ts +497 -0
  1047. package/js/src/src/woofipro.js +2941 -0
  1048. package/js/src/src/xt.d.ts +568 -0
  1049. package/js/src/src/xt.js +5184 -0
  1050. package/js/src/src/yobit.d.ts +197 -0
  1051. package/js/src/src/yobit.js +1453 -0
  1052. package/js/src/src/zaif.d.ts +136 -0
  1053. package/js/src/src/zaif.js +821 -0
  1054. package/js/src/src/zonda.d.ts +214 -0
  1055. package/js/src/src/zonda.js +1984 -0
  1056. package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.d.ts +1 -1
  1057. package/js/src/static_dependencies/starknet/utils/calldata/parser/index.d.ts +1 -1
  1058. package/js/test.js +9 -17
  1059. package/package.json +1 -1
@@ -0,0 +1,1418 @@
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/btcmarkets.js';
9
+ import { ArgumentsRequired, ExchangeError, OrderNotFound, InvalidOrder, InsufficientFunds, BadRequest } from './base/errors.js';
10
+ import { TICK_SIZE } from './base/functions/number.js';
11
+ import { Precise } from './base/Precise.js';
12
+ import { sha512 } from './static_dependencies/noble-hashes/sha512.js';
13
+ // ---------------------------------------------------------------------------
14
+ /**
15
+ * @class btcmarkets
16
+ * @augments Exchange
17
+ */
18
+ export default class btcmarkets extends Exchange {
19
+ describe() {
20
+ return this.deepExtend(super.describe(), {
21
+ 'id': 'btcmarkets',
22
+ 'name': 'BTC Markets',
23
+ 'countries': ['AU'],
24
+ 'rateLimit': 1000,
25
+ 'version': 'v3',
26
+ 'has': {
27
+ 'CORS': undefined,
28
+ 'spot': true,
29
+ 'margin': false,
30
+ 'swap': false,
31
+ 'future': false,
32
+ 'option': false,
33
+ 'addMargin': false,
34
+ 'borrowCrossMargin': false,
35
+ 'borrowIsolatedMargin': false,
36
+ 'borrowMargin': false,
37
+ 'cancelOrder': true,
38
+ 'cancelOrders': true,
39
+ 'closeAllPositions': false,
40
+ 'closePosition': false,
41
+ 'createDepositAddress': false,
42
+ 'createOrder': true,
43
+ 'createOrderWithTakeProfitAndStopLoss': false,
44
+ 'createOrderWithTakeProfitAndStopLossWs': false,
45
+ 'createPostOnlyOrder': false,
46
+ 'createReduceOnlyOrder': false,
47
+ 'createTriggerOrder': true,
48
+ 'fetchBalance': true,
49
+ 'fetchBorrowInterest': false,
50
+ 'fetchBorrowRate': false,
51
+ 'fetchBorrowRateHistories': false,
52
+ 'fetchBorrowRateHistory': false,
53
+ 'fetchBorrowRates': false,
54
+ 'fetchBorrowRatesPerSymbol': false,
55
+ 'fetchClosedOrders': 'emulated',
56
+ 'fetchCrossBorrowRate': false,
57
+ 'fetchCrossBorrowRates': false,
58
+ 'fetchDepositAddress': false,
59
+ 'fetchDepositAddresses': false,
60
+ 'fetchDepositAddressesByNetwork': false,
61
+ 'fetchDeposits': true,
62
+ 'fetchDepositsWithdrawals': true,
63
+ 'fetchFundingHistory': false,
64
+ 'fetchFundingInterval': false,
65
+ 'fetchFundingIntervals': false,
66
+ 'fetchFundingRate': false,
67
+ 'fetchFundingRateHistory': false,
68
+ 'fetchFundingRates': false,
69
+ 'fetchGreeks': false,
70
+ 'fetchIndexOHLCV': false,
71
+ 'fetchIsolatedBorrowRate': false,
72
+ 'fetchIsolatedBorrowRates': false,
73
+ 'fetchIsolatedPositions': false,
74
+ 'fetchLeverage': false,
75
+ 'fetchLeverages': false,
76
+ 'fetchLeverageTiers': false,
77
+ 'fetchLiquidations': false,
78
+ 'fetchLongShortRatio': false,
79
+ 'fetchLongShortRatioHistory': false,
80
+ 'fetchMarginAdjustmentHistory': false,
81
+ 'fetchMarginMode': false,
82
+ 'fetchMarginModes': false,
83
+ 'fetchMarketLeverageTiers': false,
84
+ 'fetchMarkets': true,
85
+ 'fetchMarkOHLCV': false,
86
+ 'fetchMarkPrices': false,
87
+ 'fetchMyLiquidations': false,
88
+ 'fetchMySettlementHistory': false,
89
+ 'fetchMyTrades': true,
90
+ 'fetchOHLCV': true,
91
+ 'fetchOpenInterest': false,
92
+ 'fetchOpenInterestHistory': false,
93
+ 'fetchOpenInterests': false,
94
+ 'fetchOpenOrders': true,
95
+ 'fetchOption': false,
96
+ 'fetchOptionChain': false,
97
+ 'fetchOrder': true,
98
+ 'fetchOrderBook': true,
99
+ 'fetchOrders': true,
100
+ 'fetchPosition': false,
101
+ 'fetchPositionHistory': false,
102
+ 'fetchPositionMode': false,
103
+ 'fetchPositions': false,
104
+ 'fetchPositionsForSymbol': false,
105
+ 'fetchPositionsHistory': false,
106
+ 'fetchPositionsRisk': false,
107
+ 'fetchPremiumIndexOHLCV': false,
108
+ 'fetchSettlementHistory': false,
109
+ 'fetchTicker': true,
110
+ 'fetchTime': true,
111
+ 'fetchTrades': true,
112
+ 'fetchTransactions': 'emulated',
113
+ 'fetchVolatilityHistory': false,
114
+ 'fetchWithdrawals': true,
115
+ 'reduceMargin': false,
116
+ 'repayCrossMargin': false,
117
+ 'repayIsolatedMargin': false,
118
+ 'repayMargin': false,
119
+ 'setLeverage': false,
120
+ 'setMargin': false,
121
+ 'setMarginMode': false,
122
+ 'setPositionMode': false,
123
+ 'withdraw': true,
124
+ },
125
+ 'urls': {
126
+ 'logo': 'https://github.com/user-attachments/assets/8c8d6907-3873-4cc4-ad20-e22fba28247e',
127
+ 'api': {
128
+ 'public': 'https://api.btcmarkets.net',
129
+ 'private': 'https://api.btcmarkets.net',
130
+ },
131
+ 'www': 'https://btcmarkets.net',
132
+ 'doc': [
133
+ 'https://api.btcmarkets.net/doc/v3',
134
+ 'https://github.com/BTCMarkets/API',
135
+ ],
136
+ },
137
+ 'api': {
138
+ 'public': {
139
+ 'get': [
140
+ 'markets',
141
+ 'markets/{marketId}/ticker',
142
+ 'markets/{marketId}/trades',
143
+ 'markets/{marketId}/orderbook',
144
+ 'markets/{marketId}/candles',
145
+ 'markets/tickers',
146
+ 'markets/orderbooks',
147
+ 'time',
148
+ ],
149
+ },
150
+ 'private': {
151
+ 'get': [
152
+ 'orders',
153
+ 'orders/{id}',
154
+ 'batchorders/{ids}',
155
+ 'trades',
156
+ 'trades/{id}',
157
+ 'withdrawals',
158
+ 'withdrawals/{id}',
159
+ 'deposits',
160
+ 'deposits/{id}',
161
+ 'transfers',
162
+ 'transfers/{id}',
163
+ 'addresses',
164
+ 'withdrawal-fees',
165
+ 'assets',
166
+ 'accounts/me/trading-fees',
167
+ 'accounts/me/withdrawal-limits',
168
+ 'accounts/me/balances',
169
+ 'accounts/me/transactions',
170
+ 'reports/{id}',
171
+ ],
172
+ 'post': [
173
+ 'orders',
174
+ 'batchorders',
175
+ 'withdrawals',
176
+ 'reports',
177
+ ],
178
+ 'delete': [
179
+ 'orders',
180
+ 'orders/{id}',
181
+ 'batchorders/{ids}',
182
+ ],
183
+ 'put': [
184
+ 'orders/{id}',
185
+ ],
186
+ },
187
+ },
188
+ 'timeframes': {
189
+ '1m': '1m',
190
+ '1h': '1h',
191
+ '1d': '1d',
192
+ },
193
+ 'features': {
194
+ 'spot': {
195
+ 'sandbox': false,
196
+ 'createOrder': {
197
+ 'marginMode': false,
198
+ 'triggerPrice': true,
199
+ 'triggerPriceType': undefined,
200
+ 'triggerDirection': false,
201
+ 'stopLossPrice': false,
202
+ 'takeProfitPrice': false,
203
+ 'attachedStopLossTakeProfit': undefined,
204
+ 'timeInForce': {
205
+ 'IOC': true,
206
+ 'FOK': true,
207
+ 'PO': true,
208
+ 'GTD': false,
209
+ },
210
+ 'hedged': false,
211
+ 'leverage': false,
212
+ 'marketBuyRequiresPrice': false,
213
+ 'marketBuyByCost': false,
214
+ 'selfTradePrevention': true,
215
+ 'trailing': false,
216
+ 'iceberg': false,
217
+ },
218
+ 'createOrders': undefined,
219
+ 'fetchMyTrades': {
220
+ 'marginMode': false,
221
+ 'limit': 100,
222
+ 'daysBack': 100000,
223
+ 'untilDays': 100000,
224
+ 'symbolRequired': true,
225
+ },
226
+ 'fetchOrder': {
227
+ 'marginMode': false,
228
+ 'trigger': false,
229
+ 'trailing': false,
230
+ 'symbolRequired': false,
231
+ },
232
+ 'fetchOpenOrders': {
233
+ 'marginMode': false,
234
+ 'limit': 100,
235
+ 'trigger': false,
236
+ 'trailing': false,
237
+ 'symbolRequired': false,
238
+ },
239
+ 'fetchOrders': {
240
+ 'marginMode': false,
241
+ 'limit': 100,
242
+ 'daysBack': 100000,
243
+ 'untilDays': 100000,
244
+ 'trigger': false,
245
+ 'trailing': false,
246
+ 'symbolRequired': false,
247
+ },
248
+ 'fetchClosedOrders': {
249
+ 'marginMode': false,
250
+ 'limit': 100,
251
+ 'daysBack': 100000,
252
+ 'daysBackCanceled': 1,
253
+ 'untilDays': 100000,
254
+ 'trigger': false,
255
+ 'trailing': false,
256
+ 'symbolRequired': false,
257
+ },
258
+ 'fetchOHLCV': {
259
+ 'limit': 1000,
260
+ },
261
+ },
262
+ 'swap': {
263
+ 'linear': undefined,
264
+ 'inverse': undefined,
265
+ },
266
+ 'future': {
267
+ 'linear': undefined,
268
+ 'inverse': undefined,
269
+ },
270
+ },
271
+ 'precisionMode': TICK_SIZE,
272
+ 'exceptions': {
273
+ 'exact': {
274
+ 'InsufficientFund': InsufficientFunds,
275
+ 'InvalidPrice': InvalidOrder,
276
+ 'InvalidAmount': InvalidOrder,
277
+ 'MissingArgument': BadRequest,
278
+ 'OrderAlreadyCancelled': InvalidOrder,
279
+ 'OrderNotFound': OrderNotFound,
280
+ 'OrderStatusIsFinal': InvalidOrder,
281
+ 'InvalidPaginationParameter': BadRequest,
282
+ },
283
+ 'broad': {},
284
+ },
285
+ 'fees': {
286
+ 'percentage': true,
287
+ 'tierBased': true,
288
+ 'maker': this.parseNumber('-0.0005'),
289
+ 'taker': this.parseNumber('0.0020'),
290
+ },
291
+ 'options': {
292
+ 'fees': {
293
+ 'AUD': {
294
+ 'maker': this.parseNumber('0.0085'),
295
+ 'taker': this.parseNumber('0.0085'),
296
+ },
297
+ },
298
+ },
299
+ });
300
+ }
301
+ async fetchTransactionsWithMethod(method, code = undefined, since = undefined, limit = undefined, params = {}) {
302
+ await this.loadMarkets();
303
+ const request = {};
304
+ if (limit !== undefined) {
305
+ request['limit'] = limit;
306
+ }
307
+ if (since !== undefined) {
308
+ request['after'] = since;
309
+ }
310
+ let currency = undefined;
311
+ if (code !== undefined) {
312
+ currency = this.currency(code);
313
+ }
314
+ const response = await this[method](this.extend(request, params));
315
+ return this.parseTransactions(response, currency, since, limit);
316
+ }
317
+ /**
318
+ * @method
319
+ * @name btcmarkets#fetchDepositsWithdrawals
320
+ * @description fetch history of deposits and withdrawals
321
+ * @see https://docs.btcmarkets.net/v3/#tag/Fund-Management-APIs/paths/~1v3~1transfers/get
322
+ * @param {string} [code] unified currency code for the currency of the deposit/withdrawals, default is undefined
323
+ * @param {int} [since] timestamp in ms of the earliest deposit/withdrawal, default is undefined
324
+ * @param {int} [limit] max number of deposit/withdrawals to return, default is undefined
325
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
326
+ * @returns {object} a list of [transaction structure]{@link https://docs.ccxt.com/#/?id=transaction-structure}
327
+ */
328
+ async fetchDepositsWithdrawals(code = undefined, since = undefined, limit = undefined, params = {}) {
329
+ return await this.fetchTransactionsWithMethod('privateGetTransfers', code, since, limit, params);
330
+ }
331
+ /**
332
+ * @method
333
+ * @name btcmarkets#fetchDeposits
334
+ * @description fetch all deposits made to an account
335
+ * @see https://docs.btcmarkets.net/v3/#tag/Fund-Management-APIs/paths/~1v3~1deposits/get
336
+ * @param {string} code unified currency code
337
+ * @param {int} [since] the earliest time in ms to fetch deposits for
338
+ * @param {int} [limit] the maximum number of deposits structures to retrieve
339
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
340
+ * @returns {object[]} a list of [transaction structures]{@link https://docs.ccxt.com/#/?id=transaction-structure}
341
+ */
342
+ async fetchDeposits(code = undefined, since = undefined, limit = undefined, params = {}) {
343
+ return await this.fetchTransactionsWithMethod('privateGetDeposits', code, since, limit, params);
344
+ }
345
+ /**
346
+ * @method
347
+ * @name btcmarkets#fetchWithdrawals
348
+ * @description fetch all withdrawals made from an account
349
+ * @see https://docs.btcmarkets.net/v3/#tag/Fund-Management-APIs/paths/~1v3~1withdrawals/get
350
+ * @param {string} code unified currency code
351
+ * @param {int} [since] the earliest time in ms to fetch withdrawals for
352
+ * @param {int} [limit] the maximum number of withdrawals structures to retrieve
353
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
354
+ * @returns {object[]} a list of [transaction structures]{@link https://docs.ccxt.com/#/?id=transaction-structure}
355
+ */
356
+ async fetchWithdrawals(code = undefined, since = undefined, limit = undefined, params = {}) {
357
+ return await this.fetchTransactionsWithMethod('privateGetWithdrawals', code, since, limit, params);
358
+ }
359
+ parseTransactionStatus(status) {
360
+ const statuses = {
361
+ 'Accepted': 'pending',
362
+ 'Pending Authorization': 'pending',
363
+ 'Complete': 'ok',
364
+ 'Cancelled': 'cancelled',
365
+ 'Failed': 'failed',
366
+ };
367
+ return this.safeString(statuses, status, status);
368
+ }
369
+ parseTransactionType(type) {
370
+ const statuses = {
371
+ 'Withdraw': 'withdrawal',
372
+ 'Deposit': 'deposit',
373
+ };
374
+ return this.safeString(statuses, type, type);
375
+ }
376
+ parseTransaction(transaction, currency = undefined) {
377
+ //
378
+ // {
379
+ // "id": "6500230339",
380
+ // "assetName": "XRP",
381
+ // "amount": "500",
382
+ // "type": "Deposit",
383
+ // "creationTime": "2020-07-27T07:52:08.640000Z",
384
+ // "status": "Complete",
385
+ // "description": "RIPPLE Deposit, XRP 500",
386
+ // "fee": "0",
387
+ // "lastUpdate": "2020-07-27T07:52:08.665000Z",
388
+ // "paymentDetail": {
389
+ // "txId": "lsjflsjdfljsd",
390
+ // "address": "kjasfkjsdf?dt=873874545"
391
+ // }
392
+ // }
393
+ //
394
+ // {
395
+ // "id": "500985282",
396
+ // "assetName": "BTC",
397
+ // "amount": "0.42570126",
398
+ // "type": "Withdraw",
399
+ // "creationTime": "2017-07-29T12:49:03.931000Z",
400
+ // "status": "Complete",
401
+ // "description": "BTC withdraw from [nick-btcmarkets@snowmonkey.co.uk] to Address: 1B9DsnSYQ54VMqFHVJYdGoLMCYzFwrQzsj amount: 0.42570126 fee: 0.00000000",
402
+ // "fee": "0.0005",
403
+ // "lastUpdate": "2017-07-29T12:52:20.676000Z",
404
+ // "paymentDetail": {
405
+ // "txId": "fkjdsfjsfljsdfl",
406
+ // "address": "a;daddjas;djas"
407
+ // }
408
+ // }
409
+ //
410
+ // {
411
+ // "id": "505102262",
412
+ // "assetName": "XRP",
413
+ // "amount": "979.836",
414
+ // "type": "Deposit",
415
+ // "creationTime": "2017-07-31T08:50:01.053000Z",
416
+ // "status": "Complete",
417
+ // "description": "Ripple Deposit, X 979.8360",
418
+ // "fee": "0",
419
+ // "lastUpdate": "2017-07-31T08:50:01.290000Z"
420
+ // }
421
+ //
422
+ const timestamp = this.parse8601(this.safeString(transaction, 'creationTime'));
423
+ const lastUpdate = this.parse8601(this.safeString(transaction, 'lastUpdate'));
424
+ let type = this.parseTransactionType(this.safeStringLower(transaction, 'type'));
425
+ if (type === 'withdraw') {
426
+ type = 'withdrawal';
427
+ }
428
+ const cryptoPaymentDetail = this.safeDict(transaction, 'paymentDetail', {});
429
+ const txid = this.safeString(cryptoPaymentDetail, 'txId');
430
+ let address = this.safeString(cryptoPaymentDetail, 'address');
431
+ let tag = undefined;
432
+ if (address !== undefined) {
433
+ const addressParts = address.split('?dt=');
434
+ const numParts = addressParts.length;
435
+ if (numParts > 1) {
436
+ address = addressParts[0];
437
+ tag = addressParts[1];
438
+ }
439
+ }
440
+ const addressTo = address;
441
+ const tagTo = tag;
442
+ const addressFrom = undefined;
443
+ const tagFrom = undefined;
444
+ const fee = this.safeString(transaction, 'fee');
445
+ const status = this.parseTransactionStatus(this.safeString(transaction, 'status'));
446
+ const currencyId = this.safeString(transaction, 'assetName');
447
+ const code = this.safeCurrencyCode(currencyId);
448
+ let amount = this.safeString(transaction, 'amount');
449
+ if (fee) {
450
+ amount = Precise.stringSub(amount, fee);
451
+ }
452
+ return {
453
+ 'id': this.safeString(transaction, 'id'),
454
+ 'txid': txid,
455
+ 'timestamp': timestamp,
456
+ 'datetime': this.iso8601(timestamp),
457
+ 'network': undefined,
458
+ 'address': address,
459
+ 'addressTo': addressTo,
460
+ 'addressFrom': addressFrom,
461
+ 'tag': tag,
462
+ 'tagTo': tagTo,
463
+ 'tagFrom': tagFrom,
464
+ 'type': type,
465
+ 'amount': this.parseNumber(amount),
466
+ 'currency': code,
467
+ 'status': status,
468
+ 'updated': lastUpdate,
469
+ 'comment': this.safeString(transaction, 'description'),
470
+ 'internal': undefined,
471
+ 'fee': {
472
+ 'currency': code,
473
+ 'cost': this.parseNumber(fee),
474
+ 'rate': undefined,
475
+ },
476
+ 'info': transaction,
477
+ };
478
+ }
479
+ /**
480
+ * @method
481
+ * @name btcmarkets#fetchMarkets
482
+ * @description retrieves data on all markets for btcmarkets
483
+ * @see https://docs.btcmarkets.net/v3/#tag/Market-Data-APIs/paths/~1v3~1markets/get
484
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
485
+ * @returns {object[]} an array of objects representing market data
486
+ */
487
+ async fetchMarkets(params = {}) {
488
+ const response = await this.publicGetMarkets(params);
489
+ //
490
+ // [
491
+ // {
492
+ // "marketId":"COMP-AUD",
493
+ // "baseAssetName":"COMP",
494
+ // "quoteAssetName":"AUD",
495
+ // "minOrderAmount":"0.00006",
496
+ // "maxOrderAmount":"1000000",
497
+ // "amountDecimals":"8",
498
+ // "priceDecimals":"2",
499
+ // "status": "Online"
500
+ // }
501
+ // ]
502
+ //
503
+ return this.parseMarkets(response);
504
+ }
505
+ parseMarket(market) {
506
+ const baseId = this.safeString(market, 'baseAssetName');
507
+ const quoteId = this.safeString(market, 'quoteAssetName');
508
+ const id = this.safeString(market, 'marketId');
509
+ const base = this.safeCurrencyCode(baseId);
510
+ const quote = this.safeCurrencyCode(quoteId);
511
+ const symbol = base + '/' + quote;
512
+ const fees = this.safeValue(this.safeDict(this.options, 'fees', {}), quote, this.fees);
513
+ const pricePrecision = this.parseNumber(this.parsePrecision(this.safeString(market, 'priceDecimals')));
514
+ const minAmount = this.safeNumber(market, 'minOrderAmount');
515
+ const maxAmount = this.safeNumber(market, 'maxOrderAmount');
516
+ const status = this.safeString(market, 'status');
517
+ let minPrice = undefined;
518
+ if (quote === 'AUD') {
519
+ minPrice = pricePrecision;
520
+ }
521
+ return {
522
+ 'id': id,
523
+ 'symbol': symbol,
524
+ 'base': base,
525
+ 'quote': quote,
526
+ 'settle': undefined,
527
+ 'baseId': baseId,
528
+ 'quoteId': quoteId,
529
+ 'settleId': undefined,
530
+ 'type': 'spot',
531
+ 'spot': true,
532
+ 'margin': false,
533
+ 'swap': false,
534
+ 'future': false,
535
+ 'option': false,
536
+ 'active': (status === 'Online'),
537
+ 'contract': false,
538
+ 'linear': undefined,
539
+ 'inverse': undefined,
540
+ 'taker': fees['taker'],
541
+ 'maker': fees['maker'],
542
+ 'contractSize': undefined,
543
+ 'expiry': undefined,
544
+ 'expiryDatetime': undefined,
545
+ 'strike': undefined,
546
+ 'optionType': undefined,
547
+ 'precision': {
548
+ 'amount': this.parseNumber(this.parsePrecision(this.safeString(market, 'amountDecimals'))),
549
+ 'price': pricePrecision,
550
+ },
551
+ 'limits': {
552
+ 'leverage': {
553
+ 'min': undefined,
554
+ 'max': undefined,
555
+ },
556
+ 'amount': {
557
+ 'min': minAmount,
558
+ 'max': maxAmount,
559
+ },
560
+ 'price': {
561
+ 'min': minPrice,
562
+ 'max': undefined,
563
+ },
564
+ 'cost': {
565
+ 'min': undefined,
566
+ 'max': undefined,
567
+ },
568
+ },
569
+ 'created': undefined,
570
+ 'info': market,
571
+ };
572
+ }
573
+ /**
574
+ * @method
575
+ * @name btcmarkets#fetchTime
576
+ * @description fetches the current integer timestamp in milliseconds from the exchange server
577
+ * @see https://docs.btcmarkets.net/v3/#tag/Misc-APIs/paths/~1v3~1time/get
578
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
579
+ * @returns {int} the current integer timestamp in milliseconds from the exchange server
580
+ */
581
+ async fetchTime(params = {}) {
582
+ const response = await this.publicGetTime(params);
583
+ //
584
+ // {
585
+ // "timestamp": "2019-09-01T18:34:27.045000Z"
586
+ // }
587
+ //
588
+ return this.parse8601(this.safeString(response, 'timestamp'));
589
+ }
590
+ parseBalance(response) {
591
+ const result = { 'info': response };
592
+ for (let i = 0; i < response.length; i++) {
593
+ const balance = response[i];
594
+ const currencyId = this.safeString(balance, 'assetName');
595
+ const code = this.safeCurrencyCode(currencyId);
596
+ const account = this.account();
597
+ account['used'] = this.safeString(balance, 'locked');
598
+ account['total'] = this.safeString(balance, 'balance');
599
+ result[code] = account;
600
+ }
601
+ return this.safeBalance(result);
602
+ }
603
+ /**
604
+ * @method
605
+ * @name btcmarkets#fetchBalance
606
+ * @description query for balance and get the amount of funds available for trading or funds locked in orders
607
+ * @see https://docs.btcmarkets.net/v3/#tag/Account-APIs/paths/~1v3~1accounts~1me~1balances/get
608
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
609
+ * @returns {object} a [balance structure]{@link https://docs.ccxt.com/#/?id=balance-structure}
610
+ */
611
+ async fetchBalance(params = {}) {
612
+ await this.loadMarkets();
613
+ const response = await this.privateGetAccountsMeBalances(params);
614
+ return this.parseBalance(response);
615
+ }
616
+ parseOHLCV(ohlcv, market = undefined) {
617
+ //
618
+ // [
619
+ // "2020-09-12T18:30:00.000000Z",
620
+ // "14409.45", // open
621
+ // "14409.45", // high
622
+ // "14403.91", // low
623
+ // "14403.91", // close
624
+ // "0.01571701" // volume
625
+ // ]
626
+ //
627
+ return [
628
+ this.parse8601(this.safeString(ohlcv, 0)),
629
+ this.safeNumber(ohlcv, 1),
630
+ this.safeNumber(ohlcv, 2),
631
+ this.safeNumber(ohlcv, 3),
632
+ this.safeNumber(ohlcv, 4),
633
+ this.safeNumber(ohlcv, 5), // volume
634
+ ];
635
+ }
636
+ /**
637
+ * @method
638
+ * @name btcmarkets#fetchOHLCV
639
+ * @description fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
640
+ * @see https://docs.btcmarkets.net/v3/#tag/Market-Data-APIs/paths/~1v3~1markets~1{marketId}~1candles/get
641
+ * @param {string} symbol unified symbol of the market to fetch OHLCV data for
642
+ * @param {string} timeframe the length of time each candle represents
643
+ * @param {int} [since] timestamp in ms of the earliest candle to fetch
644
+ * @param {int} [limit] the maximum amount of candles to fetch
645
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
646
+ * @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
647
+ */
648
+ async fetchOHLCV(symbol, timeframe = '1m', since = undefined, limit = undefined, params = {}) {
649
+ await this.loadMarkets();
650
+ const market = this.market(symbol);
651
+ const request = {
652
+ 'marketId': market['id'],
653
+ 'timeWindow': this.safeString(this.timeframes, timeframe, timeframe),
654
+ // 'from': this.iso8601 (since),
655
+ // 'to': this.iso8601 (this.milliseconds ()),
656
+ // 'before': 1234567890123,
657
+ // 'after': 1234567890123,
658
+ // 'limit': limit, // default 10, max 200
659
+ };
660
+ if (since !== undefined) {
661
+ request['from'] = this.iso8601(since);
662
+ }
663
+ if (limit !== undefined) {
664
+ request['limit'] = Math.min(limit, 200); // default is 10, max 200
665
+ }
666
+ const response = await this.publicGetMarketsMarketIdCandles(this.extend(request, params));
667
+ //
668
+ // [
669
+ // ["2020-09-12T18:30:00.000000Z","14409.45","14409.45","14403.91","14403.91","0.01571701"],
670
+ // ["2020-09-12T18:21:00.000000Z","14409.45","14409.45","14409.45","14409.45","0.0035"],
671
+ // ["2020-09-12T18:03:00.000000Z","14361.37","14361.37","14361.37","14361.37","0.00345221"],
672
+ // ]
673
+ //
674
+ return this.parseOHLCVs(response, market, timeframe, since, limit);
675
+ }
676
+ /**
677
+ * @method
678
+ * @name btcmarkets#fetchOrderBook
679
+ * @description fetches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
680
+ * @see https://docs.btcmarkets.net/v3/#tag/Market-Data-APIs/paths/~1v3~1markets~1{marketId}~1orderbook/get
681
+ * @param {string} symbol unified symbol of the market to fetch the order book for
682
+ * @param {int} [limit] the maximum amount of order book entries to return
683
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
684
+ * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
685
+ */
686
+ async fetchOrderBook(symbol, limit = undefined, params = {}) {
687
+ await this.loadMarkets();
688
+ const market = this.market(symbol);
689
+ const request = {
690
+ 'marketId': market['id'],
691
+ };
692
+ const response = await this.publicGetMarketsMarketIdOrderbook(this.extend(request, params));
693
+ //
694
+ // {
695
+ // "marketId":"BTC-AUD",
696
+ // "snapshotId":1599936148941000,
697
+ // "asks":[
698
+ // ["14459.45","0.00456475"],
699
+ // ["14463.56","2"],
700
+ // ["14470.91","0.98"],
701
+ // ],
702
+ // "bids":[
703
+ // ["14421.01","0.52"],
704
+ // ["14421","0.75"],
705
+ // ["14418","0.3521"],
706
+ // ]
707
+ // }
708
+ //
709
+ const timestamp = this.safeIntegerProduct(response, 'snapshotId', 0.001);
710
+ const orderbook = this.parseOrderBook(response, symbol, timestamp);
711
+ orderbook['nonce'] = this.safeInteger(response, 'snapshotId');
712
+ return orderbook;
713
+ }
714
+ parseTicker(ticker, market = undefined) {
715
+ //
716
+ // fetchTicker
717
+ //
718
+ // {
719
+ // "marketId":"BAT-AUD",
720
+ // "bestBid":"0.3751",
721
+ // "bestAsk":"0.377",
722
+ // "lastPrice":"0.3769",
723
+ // "volume24h":"56192.97613335",
724
+ // "volumeQte24h":"21179.13270465",
725
+ // "price24h":"0.0119",
726
+ // "pricePct24h":"3.26",
727
+ // "low24h":"0.3611",
728
+ // "high24h":"0.3799",
729
+ // "timestamp":"2020-08-09T18:28:23.280000Z"
730
+ // }
731
+ //
732
+ const marketId = this.safeString(ticker, 'marketId');
733
+ market = this.safeMarket(marketId, market, '-');
734
+ const symbol = market['symbol'];
735
+ const timestamp = this.parse8601(this.safeString(ticker, 'timestamp'));
736
+ const last = this.safeString(ticker, 'lastPrice');
737
+ const baseVolume = this.safeString(ticker, 'volume24h');
738
+ const quoteVolume = this.safeString(ticker, 'volumeQte24h');
739
+ const change = this.safeString(ticker, 'price24h');
740
+ const percentage = this.safeString(ticker, 'pricePct24h');
741
+ return this.safeTicker({
742
+ 'symbol': symbol,
743
+ 'timestamp': timestamp,
744
+ 'datetime': this.iso8601(timestamp),
745
+ 'high': this.safeString(ticker, 'high24h'),
746
+ 'low': this.safeString(ticker, 'low'),
747
+ 'bid': this.safeString(ticker, 'bestBid'),
748
+ 'bidVolume': undefined,
749
+ 'ask': this.safeString(ticker, 'bestAsk'),
750
+ 'askVolume': undefined,
751
+ 'vwap': undefined,
752
+ 'open': undefined,
753
+ 'close': last,
754
+ 'last': last,
755
+ 'previousClose': undefined,
756
+ 'change': change,
757
+ 'percentage': percentage,
758
+ 'average': undefined,
759
+ 'baseVolume': baseVolume,
760
+ 'quoteVolume': quoteVolume,
761
+ 'info': ticker,
762
+ }, market);
763
+ }
764
+ /**
765
+ * @method
766
+ * @name btcmarkets#fetchTicker
767
+ * @description fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
768
+ * @see https://docs.btcmarkets.net/v3/#tag/Market-Data-APIs/paths/~1v3~1markets~1{marketId}~1ticker/get
769
+ * @param {string} symbol unified symbol of the market to fetch the ticker for
770
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
771
+ * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
772
+ */
773
+ async fetchTicker(symbol, params = {}) {
774
+ await this.loadMarkets();
775
+ const market = this.market(symbol);
776
+ const request = {
777
+ 'marketId': market['id'],
778
+ };
779
+ const response = await this.publicGetMarketsMarketIdTicker(this.extend(request, params));
780
+ //
781
+ // {
782
+ // "marketId":"BAT-AUD",
783
+ // "bestBid":"0.3751",
784
+ // "bestAsk":"0.377",
785
+ // "lastPrice":"0.3769",
786
+ // "volume24h":"56192.97613335",
787
+ // "volumeQte24h":"21179.13270465",
788
+ // "price24h":"0.0119",
789
+ // "pricePct24h":"3.26",
790
+ // "low24h":"0.3611",
791
+ // "high24h":"0.3799",
792
+ // "timestamp":"2020-08-09T18:28:23.280000Z"
793
+ // }
794
+ //
795
+ return this.parseTicker(response, market);
796
+ }
797
+ async fetchTicker2(symbol, params = {}) {
798
+ await this.loadMarkets();
799
+ const market = this.market(symbol);
800
+ const request = {
801
+ 'id': market['id'],
802
+ };
803
+ const response = await this.publicGetMarketsMarketIdTicker(this.extend(request, params));
804
+ return this.parseTicker(response, market);
805
+ }
806
+ parseTrade(trade, market = undefined) {
807
+ //
808
+ // public fetchTrades
809
+ //
810
+ // {
811
+ // "id":"6191646611",
812
+ // "price":"539.98",
813
+ // "amount":"0.5",
814
+ // "timestamp":"2020-08-09T15:21:05.016000Z",
815
+ // "side":"Ask"
816
+ // }
817
+ //
818
+ // private fetchMyTrades
819
+ //
820
+ // {
821
+ // "id": "36014819",
822
+ // "marketId": "XRP-AUD",
823
+ // "timestamp": "2019-06-25T16:01:02.977000Z",
824
+ // "price": "0.67",
825
+ // "amount": "1.50533262",
826
+ // "side": "Ask",
827
+ // "fee": "0.00857285",
828
+ // "orderId": "3648306",
829
+ // "liquidityType": "Taker",
830
+ // "clientOrderId": "48"
831
+ // }
832
+ //
833
+ const timestamp = this.parse8601(this.safeString(trade, 'timestamp'));
834
+ const marketId = this.safeString(trade, 'marketId');
835
+ market = this.safeMarket(marketId, market, '-');
836
+ const feeCurrencyCode = (market['quote'] === 'AUD') ? market['quote'] : market['base'];
837
+ let side = this.safeString(trade, 'side');
838
+ if (side === 'Bid') {
839
+ side = 'buy';
840
+ }
841
+ else if (side === 'Ask') {
842
+ side = 'sell';
843
+ }
844
+ const id = this.safeString(trade, 'id');
845
+ const priceString = this.safeString(trade, 'price');
846
+ const amountString = this.safeString(trade, 'amount');
847
+ const orderId = this.safeString(trade, 'orderId');
848
+ let fee = undefined;
849
+ const feeCostString = this.safeString(trade, 'fee');
850
+ if (feeCostString !== undefined) {
851
+ fee = {
852
+ 'cost': feeCostString,
853
+ 'currency': feeCurrencyCode,
854
+ };
855
+ }
856
+ const takerOrMaker = this.safeStringLower(trade, 'liquidityType');
857
+ return this.safeTrade({
858
+ 'info': trade,
859
+ 'id': id,
860
+ 'timestamp': timestamp,
861
+ 'datetime': this.iso8601(timestamp),
862
+ 'order': orderId,
863
+ 'symbol': market['symbol'],
864
+ 'type': undefined,
865
+ 'side': side,
866
+ 'price': priceString,
867
+ 'amount': amountString,
868
+ 'cost': undefined,
869
+ 'takerOrMaker': takerOrMaker,
870
+ 'fee': fee,
871
+ }, market);
872
+ }
873
+ /**
874
+ * @method
875
+ * @name btcmarkets#fetchTrades
876
+ * @description get the list of most recent trades for a particular symbol
877
+ * @see https://docs.btcmarkets.net/v3/#tag/Market-Data-APIs/paths/~1v3~1markets~1{marketId}~1trades/get
878
+ * @param {string} symbol unified symbol of the market to fetch trades for
879
+ * @param {int} [since] timestamp in ms of the earliest trade to fetch
880
+ * @param {int} [limit] the maximum amount of trades to fetch
881
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
882
+ * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=public-trades}
883
+ */
884
+ async fetchTrades(symbol, since = undefined, limit = undefined, params = {}) {
885
+ await this.loadMarkets();
886
+ const market = this.market(symbol);
887
+ const request = {
888
+ // 'since': 59868345231,
889
+ 'marketId': market['id'],
890
+ };
891
+ const response = await this.publicGetMarketsMarketIdTrades(this.extend(request, params));
892
+ //
893
+ // [
894
+ // {"id":"6191646611","price":"539.98","amount":"0.5","timestamp":"2020-08-09T15:21:05.016000Z","side":"Ask"},
895
+ // {"id":"6191646610","price":"539.99","amount":"0.5","timestamp":"2020-08-09T15:21:05.015000Z","side":"Ask"},
896
+ // {"id":"6191646590","price":"540","amount":"0.00233785","timestamp":"2020-08-09T15:21:04.171000Z","side":"Bid"},
897
+ // ]
898
+ //
899
+ return this.parseTrades(response, market, since, limit);
900
+ }
901
+ /**
902
+ * @method
903
+ * @name btcmarkets#createOrder
904
+ * @description create a trade order
905
+ * @see https://docs.btcmarkets.net/v3/#tag/Order-Placement-APIs/paths/~1v3~1orders/post
906
+ * @param {string} symbol unified symbol of the market to create an order in
907
+ * @param {string} type 'market' or 'limit'
908
+ * @param {string} side 'buy' or 'sell'
909
+ * @param {float} amount how much of currency you want to trade in units of base currency
910
+ * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
911
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
912
+ * @param {float} [params.triggerPrice] the price at which a trigger order is triggered at
913
+ * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
914
+ */
915
+ async createOrder(symbol, type, side, amount, price = undefined, params = {}) {
916
+ await this.loadMarkets();
917
+ const market = this.market(symbol);
918
+ const request = {
919
+ 'marketId': market['id'],
920
+ // 'price': this.priceToPrecision (symbol, price),
921
+ 'amount': this.amountToPrecision(symbol, amount),
922
+ // 'type': 'Limit', // "Limit", "Market", "Stop Limit", "Stop", "Take Profit"
923
+ 'side': (side === 'buy') ? 'Bid' : 'Ask',
924
+ // 'triggerPrice': this.priceToPrecision (symbol, triggerPrice), // required for Stop, Stop Limit, Take Profit orders
925
+ // 'targetAmount': this.amountToPrecision (symbol, targetAmount), // target amount when a desired target outcome is required for order execution
926
+ // 'timeInForce': 'GTC', // GTC, FOK, IOC
927
+ // 'postOnly': false, // boolean if this is a post-only order
928
+ // 'selfTrade': 'A', // A = allow, P = prevent
929
+ // 'clientOrderId': this.uuid (),
930
+ };
931
+ const lowercaseType = type.toLowerCase();
932
+ const orderTypes = this.safeValue(this.options, 'orderTypes', {
933
+ 'limit': 'Limit',
934
+ 'market': 'Market',
935
+ 'stop': 'Stop',
936
+ 'stop limit': 'Stop Limit',
937
+ 'take profit': 'Take Profit',
938
+ });
939
+ request['type'] = this.safeString(orderTypes, lowercaseType, type);
940
+ let priceIsRequired = false;
941
+ let triggerPriceIsRequired = false;
942
+ if (lowercaseType === 'limit') {
943
+ priceIsRequired = true;
944
+ // } else if (lowercaseType === 'market') {
945
+ // ...
946
+ // }
947
+ }
948
+ else if (lowercaseType === 'stop limit') {
949
+ triggerPriceIsRequired = true;
950
+ priceIsRequired = true;
951
+ }
952
+ else if (lowercaseType === 'take profit') {
953
+ triggerPriceIsRequired = true;
954
+ }
955
+ else if (lowercaseType === 'stop') {
956
+ triggerPriceIsRequired = true;
957
+ }
958
+ if (priceIsRequired) {
959
+ if (price === undefined) {
960
+ throw new ArgumentsRequired(this.id + ' createOrder() requires a price argument for a ' + type + 'order');
961
+ }
962
+ else {
963
+ request['price'] = this.priceToPrecision(symbol, price);
964
+ }
965
+ }
966
+ if (triggerPriceIsRequired) {
967
+ const triggerPrice = this.safeNumber(params, 'triggerPrice');
968
+ params = this.omit(params, 'triggerPrice');
969
+ if (triggerPrice === undefined) {
970
+ throw new ArgumentsRequired(this.id + ' createOrder() requires a triggerPrice parameter for a ' + type + 'order');
971
+ }
972
+ else {
973
+ request['triggerPrice'] = this.priceToPrecision(symbol, triggerPrice);
974
+ }
975
+ }
976
+ const clientOrderId = this.safeString(params, 'clientOrderId');
977
+ if (clientOrderId !== undefined) {
978
+ request['clientOrderId'] = clientOrderId;
979
+ }
980
+ params = this.omit(params, 'clientOrderId');
981
+ const response = await this.privatePostOrders(this.extend(request, params));
982
+ //
983
+ // {
984
+ // "orderId": "7524",
985
+ // "marketId": "BTC-AUD",
986
+ // "side": "Bid",
987
+ // "type": "Limit",
988
+ // "creationTime": "2019-08-30T11:08:21.956000Z",
989
+ // "price": "100.12",
990
+ // "amount": "1.034",
991
+ // "openAmount": "1.034",
992
+ // "status": "Accepted",
993
+ // "clientOrderId": "1234-5678",
994
+ // "timeInForce": "IOC",
995
+ // "postOnly": false,
996
+ // "selfTrade": "P",
997
+ // "triggerAmount": "105",
998
+ // "targetAmount": "1000"
999
+ // }
1000
+ //
1001
+ return this.parseOrder(response, market);
1002
+ }
1003
+ /**
1004
+ * @method
1005
+ * @name btcmarkets#cancelOrders
1006
+ * @description cancel multiple orders
1007
+ * @see https://docs.btcmarkets.net/v3/#tag/Batch-Order-APIs/paths/~1v3~1batchorders~1{ids}/delete
1008
+ * @param {string[]} ids order ids
1009
+ * @param {string} symbol not used by btcmarkets cancelOrders ()
1010
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1011
+ * @returns {object} an list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
1012
+ */
1013
+ async cancelOrders(ids, symbol = undefined, params = {}) {
1014
+ await this.loadMarkets();
1015
+ for (let i = 0; i < ids.length; i++) {
1016
+ ids[i] = parseInt(ids[i]);
1017
+ }
1018
+ const request = {
1019
+ 'ids': ids,
1020
+ };
1021
+ const response = await this.privateDeleteBatchordersIds(this.extend(request, params));
1022
+ //
1023
+ // {
1024
+ // "cancelOrders": [
1025
+ // {
1026
+ // "orderId": "414186",
1027
+ // "clientOrderId": "6"
1028
+ // },
1029
+ // ...
1030
+ // ],
1031
+ // "unprocessedRequests": [
1032
+ // {
1033
+ // "code": "OrderAlreadyCancelled",
1034
+ // "message": "order is already cancelled.",
1035
+ // "requestId": "1"
1036
+ // }
1037
+ // ]
1038
+ // }
1039
+ //
1040
+ const cancelOrders = this.safeList(response, 'cancelOrders', []);
1041
+ const unprocessedRequests = this.safeList(response, 'unprocessedRequests', []);
1042
+ const orders = this.arrayConcat(cancelOrders, unprocessedRequests);
1043
+ return this.parseOrders(orders);
1044
+ }
1045
+ /**
1046
+ * @method
1047
+ * @name btcmarkets#cancelOrder
1048
+ * @description cancels an open order
1049
+ * @see https://docs.btcmarkets.net/v3/#operation/cancelOrder
1050
+ * @param {string} id order id
1051
+ * @param {string} symbol not used by btcmarket cancelOrder ()
1052
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1053
+ * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
1054
+ */
1055
+ async cancelOrder(id, symbol = undefined, params = {}) {
1056
+ await this.loadMarkets();
1057
+ const request = {
1058
+ 'id': id,
1059
+ };
1060
+ const response = await this.privateDeleteOrdersId(this.extend(request, params));
1061
+ //
1062
+ // {
1063
+ // "orderId": "7524",
1064
+ // "clientOrderId": "123-456"
1065
+ // }
1066
+ //
1067
+ return this.parseOrder(response);
1068
+ }
1069
+ calculateFee(symbol, type, side, amount, price, takerOrMaker = 'taker', params = {}) {
1070
+ /**
1071
+ * @method
1072
+ * @description calculates the presumptive fee that would be charged for an order
1073
+ * @param {string} symbol unified market symbol
1074
+ * @param {string} type not used by btcmarkets.calculateFee
1075
+ * @param {string} side not used by btcmarkets.calculateFee
1076
+ * @param {float} amount how much you want to trade, in units of the base currency on most exchanges, or number of contracts
1077
+ * @param {float} price the price for the order to be filled at, in units of the quote currency
1078
+ * @param {string} takerOrMaker 'taker' or 'maker'
1079
+ * @param {object} params
1080
+ * @returns {object} contains the rate, the percentage multiplied to the order amount to obtain the fee amount, and cost, the total value of the fee in units of the quote currency, for the order
1081
+ */
1082
+ const market = this.markets[symbol];
1083
+ let currency = undefined;
1084
+ let cost = undefined;
1085
+ if (market['quote'] === 'AUD') {
1086
+ currency = market['quote'];
1087
+ const amountString = this.numberToString(amount);
1088
+ const priceString = this.numberToString(price);
1089
+ const otherUnitsAmount = Precise.stringMul(amountString, priceString);
1090
+ cost = this.costToPrecision(symbol, otherUnitsAmount);
1091
+ }
1092
+ else {
1093
+ currency = market['base'];
1094
+ cost = this.amountToPrecision(symbol, amount);
1095
+ }
1096
+ const rate = market[takerOrMaker];
1097
+ const rateCost = Precise.stringMul(this.numberToString(rate), cost);
1098
+ return {
1099
+ 'type': takerOrMaker,
1100
+ 'currency': currency,
1101
+ 'rate': rate,
1102
+ 'cost': parseFloat(this.feeToPrecision(symbol, rateCost)),
1103
+ };
1104
+ }
1105
+ parseOrderStatus(status) {
1106
+ const statuses = {
1107
+ 'Accepted': 'open',
1108
+ 'Placed': 'open',
1109
+ 'Partially Matched': 'open',
1110
+ 'Fully Matched': 'closed',
1111
+ 'Cancelled': 'canceled',
1112
+ 'Partially Cancelled': 'canceled',
1113
+ 'Failed': 'rejected',
1114
+ };
1115
+ return this.safeString(statuses, status, status);
1116
+ }
1117
+ parseOrder(order, market = undefined) {
1118
+ //
1119
+ // createOrder
1120
+ //
1121
+ // {
1122
+ // "orderId": "7524",
1123
+ // "marketId": "BTC-AUD",
1124
+ // "side": "Bid",
1125
+ // "type": "Limit",
1126
+ // "creationTime": "2019-08-30T11:08:21.956000Z",
1127
+ // "price": "100.12",
1128
+ // "amount": "1.034",
1129
+ // "openAmount": "1.034",
1130
+ // "status": "Accepted",
1131
+ // "clientOrderId": "1234-5678",
1132
+ // "timeInForce": "IOC",
1133
+ // "postOnly": false,
1134
+ // "selfTrade": "P",
1135
+ // "triggerAmount": "105",
1136
+ // "targetAmount": "1000"
1137
+ // }
1138
+ //
1139
+ const timestamp = this.parse8601(this.safeString(order, 'creationTime'));
1140
+ const marketId = this.safeString(order, 'marketId');
1141
+ market = this.safeMarket(marketId, market, '-');
1142
+ let side = this.safeString(order, 'side');
1143
+ if (side === 'Bid') {
1144
+ side = 'buy';
1145
+ }
1146
+ else if (side === 'Ask') {
1147
+ side = 'sell';
1148
+ }
1149
+ const type = this.safeStringLower(order, 'type');
1150
+ const price = this.safeString(order, 'price');
1151
+ const amount = this.safeString(order, 'amount');
1152
+ const remaining = this.safeString(order, 'openAmount');
1153
+ const status = this.parseOrderStatus(this.safeString(order, 'status'));
1154
+ const id = this.safeString(order, 'orderId');
1155
+ const clientOrderId = this.safeString(order, 'clientOrderId');
1156
+ const timeInForce = this.safeString(order, 'timeInForce');
1157
+ const postOnly = this.safeBool(order, 'postOnly');
1158
+ return this.safeOrder({
1159
+ 'info': order,
1160
+ 'id': id,
1161
+ 'clientOrderId': clientOrderId,
1162
+ 'timestamp': timestamp,
1163
+ 'datetime': this.iso8601(timestamp),
1164
+ 'lastTradeTimestamp': undefined,
1165
+ 'symbol': market['symbol'],
1166
+ 'type': type,
1167
+ 'timeInForce': timeInForce,
1168
+ 'postOnly': postOnly,
1169
+ 'side': side,
1170
+ 'price': price,
1171
+ 'triggerPrice': this.safeNumber(order, 'triggerPrice'),
1172
+ 'cost': undefined,
1173
+ 'amount': amount,
1174
+ 'filled': undefined,
1175
+ 'remaining': remaining,
1176
+ 'average': undefined,
1177
+ 'status': status,
1178
+ 'trades': undefined,
1179
+ 'fee': undefined,
1180
+ }, market);
1181
+ }
1182
+ /**
1183
+ * @method
1184
+ * @name btcmarkets#fetchOrder
1185
+ * @description fetches information on an order made by the user
1186
+ * @see https://docs.btcmarkets.net/v3/#operation/getOrderById
1187
+ * @param {string} id the order id
1188
+ * @param {string} symbol not used by btcmarkets fetchOrder
1189
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1190
+ * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
1191
+ */
1192
+ async fetchOrder(id, symbol = undefined, params = {}) {
1193
+ await this.loadMarkets();
1194
+ const request = {
1195
+ 'id': id,
1196
+ };
1197
+ const response = await this.privateGetOrdersId(this.extend(request, params));
1198
+ return this.parseOrder(response);
1199
+ }
1200
+ /**
1201
+ * @method
1202
+ * @name btcmarkets#fetchOrders
1203
+ * @description fetches information on multiple orders made by the user
1204
+ * @see https://docs.btcmarkets.net/v3/#operation/listOrders
1205
+ * @param {string} symbol unified market symbol of the market orders were made in
1206
+ * @param {int} [since] the earliest time in ms to fetch orders for
1207
+ * @param {int} [limit] the maximum number of order structures to retrieve
1208
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1209
+ * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
1210
+ */
1211
+ async fetchOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
1212
+ await this.loadMarkets();
1213
+ const request = {
1214
+ 'status': 'all',
1215
+ };
1216
+ let market = undefined;
1217
+ if (symbol !== undefined) {
1218
+ market = this.market(symbol);
1219
+ request['marketId'] = market['id'];
1220
+ }
1221
+ if (since !== undefined) {
1222
+ request['after'] = since;
1223
+ }
1224
+ if (limit !== undefined) {
1225
+ request['limit'] = limit;
1226
+ }
1227
+ const response = await this.privateGetOrders(this.extend(request, params));
1228
+ return this.parseOrders(response, market, since, limit);
1229
+ }
1230
+ /**
1231
+ * @method
1232
+ * @name btcmarkets#fetchOpenOrders
1233
+ * @description fetch all unfilled currently open orders
1234
+ * @see https://docs.btcmarkets.net/v3/#operation/listOrders
1235
+ * @param {string} symbol unified market symbol
1236
+ * @param {int} [since] the earliest time in ms to fetch open orders for
1237
+ * @param {int} [limit] the maximum number of open orders structures to retrieve
1238
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1239
+ * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
1240
+ */
1241
+ async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
1242
+ const request = { 'status': 'open' };
1243
+ return await this.fetchOrders(symbol, since, limit, this.extend(request, params));
1244
+ }
1245
+ /**
1246
+ * @method
1247
+ * @name btcmarkets#fetchClosedOrders
1248
+ * @description fetches information on multiple closed orders made by the user
1249
+ * @see https://docs.btcmarkets.net/v3/#operation/listOrders
1250
+ * @param {string} symbol unified market symbol of the market orders were made in
1251
+ * @param {int} [since] the earliest time in ms to fetch orders for
1252
+ * @param {int} [limit] the maximum number of order structures to retrieve
1253
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1254
+ * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
1255
+ */
1256
+ async fetchClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
1257
+ const orders = await this.fetchOrders(symbol, since, limit, params);
1258
+ return this.filterBy(orders, 'status', 'closed');
1259
+ }
1260
+ /**
1261
+ * @method
1262
+ * @name btcmarkets#fetchMyTrades
1263
+ * @description fetch all trades made by the user
1264
+ * @see https://docs.btcmarkets.net/v3/#operation/getTrades
1265
+ * @param {string} symbol unified market symbol
1266
+ * @param {int} [since] the earliest time in ms to fetch trades for
1267
+ * @param {int} [limit] the maximum number of trades structures to retrieve
1268
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1269
+ * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=trade-structure}
1270
+ */
1271
+ async fetchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
1272
+ await this.loadMarkets();
1273
+ const request = {};
1274
+ let market = undefined;
1275
+ if (symbol !== undefined) {
1276
+ market = this.market(symbol);
1277
+ request['marketId'] = market['id'];
1278
+ }
1279
+ if (since !== undefined) {
1280
+ request['after'] = since;
1281
+ }
1282
+ if (limit !== undefined) {
1283
+ request['limit'] = limit;
1284
+ }
1285
+ const response = await this.privateGetTrades(this.extend(request, params));
1286
+ //
1287
+ // [
1288
+ // {
1289
+ // "id": "36014819",
1290
+ // "marketId": "XRP-AUD",
1291
+ // "timestamp": "2019-06-25T16:01:02.977000Z",
1292
+ // "price": "0.67",
1293
+ // "amount": "1.50533262",
1294
+ // "side": "Ask",
1295
+ // "fee": "0.00857285",
1296
+ // "orderId": "3648306",
1297
+ // "liquidityType": "Taker",
1298
+ // "clientOrderId": "48"
1299
+ // },
1300
+ // {
1301
+ // "id": "3568960",
1302
+ // "marketId": "GNT-AUD",
1303
+ // "timestamp": "2019-06-20T08:44:04.488000Z",
1304
+ // "price": "0.1362",
1305
+ // "amount": "0.85",
1306
+ // "side": "Bid",
1307
+ // "fee": "0.00098404",
1308
+ // "orderId": "3543015",
1309
+ // "liquidityType": "Maker"
1310
+ // }
1311
+ // ]
1312
+ //
1313
+ return this.parseTrades(response, market, since, limit);
1314
+ }
1315
+ /**
1316
+ * @method
1317
+ * @name btcmarkets#withdraw
1318
+ * @description make a withdrawal
1319
+ * @see https://docs.btcmarkets.net/v3/#tag/Fund-Management-APIs/paths/~1v3~1withdrawals/post
1320
+ * @param {string} code unified currency code
1321
+ * @param {float} amount the amount to withdraw
1322
+ * @param {string} address the address to withdraw to
1323
+ * @param {string} tag
1324
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1325
+ * @returns {object} a [transaction structure]{@link https://docs.ccxt.com/#/?id=transaction-structure}
1326
+ */
1327
+ async withdraw(code, amount, address, tag = undefined, params = {}) {
1328
+ [tag, params] = this.handleWithdrawTagAndParams(tag, params);
1329
+ await this.loadMarkets();
1330
+ const currency = this.currency(code);
1331
+ const request = {
1332
+ 'currency_id': currency['id'],
1333
+ 'amount': this.currencyToPrecision(code, amount),
1334
+ };
1335
+ if (code !== 'AUD') {
1336
+ this.checkAddress(address);
1337
+ request['toAddress'] = address;
1338
+ }
1339
+ if (tag !== undefined) {
1340
+ request['toAddress'] = address + '?dt=' + tag;
1341
+ }
1342
+ const response = await this.privatePostWithdrawals(this.extend(request, params));
1343
+ //
1344
+ // {
1345
+ // "id": "4126657",
1346
+ // "assetName": "XRP",
1347
+ // "amount": "25",
1348
+ // "type": "Withdraw",
1349
+ // "creationTime": "2019-09-04T00:04:10.973000Z",
1350
+ // "status": "Pending Authorization",
1351
+ // "description": "XRP withdraw from [me@test.com] to Address: abc amount: 25 fee: 0",
1352
+ // "fee": "0",
1353
+ // "lastUpdate": "2019-09-04T00:04:11.018000Z",
1354
+ // "paymentDetail": {
1355
+ // "address": "abc"
1356
+ // }
1357
+ // }
1358
+ //
1359
+ return this.parseTransaction(response, currency);
1360
+ }
1361
+ nonce() {
1362
+ return this.milliseconds();
1363
+ }
1364
+ sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
1365
+ let request = '/' + this.version + '/' + this.implodeParams(path, params);
1366
+ const query = this.keysort(this.omit(params, this.extractParams(path)));
1367
+ if (api === 'private') {
1368
+ this.checkRequiredCredentials();
1369
+ const nonce = this.nonce().toString();
1370
+ const secret = this.base64ToBinary(this.secret);
1371
+ let auth = method + request + nonce;
1372
+ if ((method === 'GET') || (method === 'DELETE')) {
1373
+ if (Object.keys(query).length) {
1374
+ request += '?' + this.urlencode(query);
1375
+ }
1376
+ }
1377
+ else {
1378
+ body = this.json(query);
1379
+ auth += body;
1380
+ }
1381
+ const signature = this.hmac(this.encode(auth), secret, sha512, 'base64');
1382
+ headers = {
1383
+ 'Accept': 'application/json',
1384
+ 'Accept-Charset': 'UTF-8',
1385
+ 'Content-Type': 'application/json',
1386
+ 'BM-AUTH-APIKEY': this.apiKey,
1387
+ 'BM-AUTH-TIMESTAMP': nonce,
1388
+ 'BM-AUTH-SIGNATURE': signature,
1389
+ };
1390
+ }
1391
+ else if (api === 'public') {
1392
+ if (Object.keys(query).length) {
1393
+ request += '?' + this.urlencode(query);
1394
+ }
1395
+ }
1396
+ const url = this.urls['api'][api] + request;
1397
+ return { 'url': url, 'method': method, 'body': body, 'headers': headers };
1398
+ }
1399
+ handleErrors(code, reason, url, method, headers, body, response, requestHeaders, requestBody) {
1400
+ if (response === undefined) {
1401
+ return undefined; // fallback to default error handler
1402
+ }
1403
+ //
1404
+ // {"code":"UnAuthorized","message":"invalid access token"}
1405
+ // {"code":"MarketNotFound","message":"invalid marketId"}
1406
+ //
1407
+ const errorCode = this.safeString(response, 'code');
1408
+ const message = this.safeString(response, 'message');
1409
+ if (errorCode !== undefined) {
1410
+ const feedback = this.id + ' ' + body;
1411
+ this.throwExactlyMatchedException(this.exceptions['exact'], message, feedback);
1412
+ this.throwExactlyMatchedException(this.exceptions['exact'], errorCode, feedback);
1413
+ this.throwBroadlyMatchedException(this.exceptions['broad'], message, feedback);
1414
+ throw new ExchangeError(feedback); // unknown message
1415
+ }
1416
+ return undefined;
1417
+ }
1418
+ }