ccxt 4.4.80 → 4.4.85

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 (921) hide show
  1. package/README.md +5 -9
  2. package/dist/ccxt.browser.min.js +7 -7
  3. package/dist/cjs/ccxt.js +1 -9
  4. package/dist/cjs/src/abstract/alpaca.js +1 -1
  5. package/dist/cjs/src/abstract/apex.js +1 -1
  6. package/dist/cjs/src/abstract/ascendex.js +1 -1
  7. package/dist/cjs/src/abstract/bigone.js +1 -1
  8. package/dist/cjs/src/abstract/binance.js +1 -1
  9. package/dist/cjs/src/abstract/bingx.js +1 -1
  10. package/dist/cjs/src/abstract/bit2c.js +1 -1
  11. package/dist/cjs/src/abstract/bitbank.js +1 -1
  12. package/dist/cjs/src/abstract/bitbns.js +1 -1
  13. package/dist/cjs/src/abstract/bitfinex.js +1 -1
  14. package/dist/cjs/src/abstract/bitflyer.js +1 -1
  15. package/dist/cjs/src/abstract/bitget.js +1 -1
  16. package/dist/cjs/src/abstract/bithumb.js +1 -1
  17. package/dist/cjs/src/abstract/bitmart.js +1 -1
  18. package/dist/cjs/src/abstract/bitmex.js +1 -1
  19. package/dist/cjs/src/abstract/bitopro.js +1 -1
  20. package/dist/cjs/src/abstract/bitrue.js +1 -1
  21. package/dist/cjs/src/abstract/bitso.js +1 -1
  22. package/dist/cjs/src/abstract/bitstamp.js +1 -1
  23. package/dist/cjs/src/abstract/bitteam.js +1 -1
  24. package/dist/cjs/src/abstract/bitvavo.js +1 -1
  25. package/dist/cjs/src/abstract/bl3p.js +1 -1
  26. package/dist/cjs/src/abstract/blockchaincom.js +1 -1
  27. package/dist/cjs/src/abstract/blofin.js +1 -1
  28. package/dist/cjs/src/abstract/btcalpha.js +1 -1
  29. package/dist/cjs/src/abstract/btcbox.js +1 -1
  30. package/dist/cjs/src/abstract/btcmarkets.js +1 -1
  31. package/dist/cjs/src/abstract/btcturk.js +1 -1
  32. package/dist/cjs/src/abstract/bybit.js +1 -1
  33. package/dist/cjs/src/abstract/cex.js +1 -1
  34. package/dist/cjs/src/abstract/coinbase.js +1 -1
  35. package/dist/cjs/src/abstract/coinbaseexchange.js +1 -1
  36. package/dist/cjs/src/abstract/coinbaseinternational.js +1 -1
  37. package/dist/cjs/src/abstract/coincatch.js +1 -1
  38. package/dist/cjs/src/abstract/coincheck.js +1 -1
  39. package/dist/cjs/src/abstract/coinex.js +1 -1
  40. package/dist/cjs/src/abstract/coinlist.js +1 -1
  41. package/dist/cjs/src/abstract/coinmate.js +1 -1
  42. package/dist/cjs/src/abstract/coinmetro.js +1 -1
  43. package/dist/cjs/src/abstract/coinone.js +1 -1
  44. package/dist/cjs/src/abstract/coinsph.js +1 -1
  45. package/dist/cjs/src/abstract/coinspot.js +1 -1
  46. package/dist/cjs/src/abstract/cryptocom.js +1 -1
  47. package/dist/cjs/src/abstract/cryptomus.js +1 -1
  48. package/dist/cjs/src/abstract/defx.js +1 -1
  49. package/dist/cjs/src/abstract/delta.js +1 -1
  50. package/dist/cjs/src/abstract/deribit.js +1 -1
  51. package/dist/cjs/src/abstract/derive.js +1 -1
  52. package/dist/cjs/src/abstract/digifinex.js +1 -1
  53. package/dist/cjs/src/abstract/ellipx.js +1 -1
  54. package/dist/cjs/src/abstract/exmo.js +1 -1
  55. package/dist/cjs/src/abstract/gate.js +1 -1
  56. package/dist/cjs/src/abstract/gemini.js +1 -1
  57. package/dist/cjs/src/abstract/hashkey.js +1 -1
  58. package/dist/cjs/src/abstract/hitbtc.js +1 -1
  59. package/dist/cjs/src/abstract/hollaex.js +1 -1
  60. package/dist/cjs/src/abstract/htx.js +1 -1
  61. package/dist/cjs/src/abstract/huobijp.js +1 -1
  62. package/dist/cjs/src/abstract/hyperliquid.js +1 -1
  63. package/dist/cjs/src/abstract/idex.js +1 -1
  64. package/dist/cjs/src/abstract/independentreserve.js +1 -1
  65. package/dist/cjs/src/abstract/indodax.js +1 -1
  66. package/dist/cjs/src/abstract/kraken.js +1 -1
  67. package/dist/cjs/src/abstract/krakenfutures.js +1 -1
  68. package/dist/cjs/src/abstract/kucoin.js +1 -1
  69. package/dist/cjs/src/abstract/kucoinfutures.js +1 -1
  70. package/dist/cjs/src/abstract/kuna.js +1 -1
  71. package/dist/cjs/src/abstract/latoken.js +1 -1
  72. package/dist/cjs/src/abstract/lbank.js +1 -1
  73. package/dist/cjs/src/abstract/luno.js +1 -1
  74. package/dist/cjs/src/abstract/mercado.js +1 -1
  75. package/dist/cjs/src/abstract/mexc.js +1 -1
  76. package/dist/cjs/src/abstract/ndax.js +1 -1
  77. package/dist/cjs/src/abstract/novadax.js +1 -1
  78. package/dist/cjs/src/abstract/oceanex.js +1 -1
  79. package/dist/cjs/src/abstract/okcoin.js +1 -1
  80. package/dist/cjs/src/abstract/okx.js +1 -1
  81. package/dist/cjs/src/abstract/onetrading.js +1 -1
  82. package/dist/cjs/src/abstract/oxfun.js +1 -1
  83. package/dist/cjs/src/abstract/p2b.js +1 -1
  84. package/dist/cjs/src/abstract/paradex.js +1 -1
  85. package/dist/cjs/src/abstract/paymium.js +1 -1
  86. package/dist/cjs/src/abstract/phemex.js +1 -1
  87. package/dist/cjs/src/abstract/poloniex.js +1 -1
  88. package/dist/cjs/src/abstract/probit.js +1 -1
  89. package/dist/cjs/src/abstract/timex.js +1 -1
  90. package/dist/cjs/src/abstract/tokocrypto.js +1 -1
  91. package/dist/cjs/src/abstract/tradeogre.js +1 -1
  92. package/dist/cjs/src/abstract/upbit.js +1 -1
  93. package/dist/cjs/src/abstract/vertex.js +1 -1
  94. package/dist/cjs/src/abstract/wavesexchange.js +1 -1
  95. package/dist/cjs/src/abstract/whitebit.js +1 -1
  96. package/dist/cjs/src/abstract/woo.js +1 -1
  97. package/dist/cjs/src/abstract/woofipro.js +1 -1
  98. package/dist/cjs/src/abstract/xt.js +1 -1
  99. package/dist/cjs/src/abstract/yobit.js +1 -1
  100. package/dist/cjs/src/abstract/zaif.js +1 -1
  101. package/dist/cjs/src/abstract/zonda.js +1 -1
  102. package/dist/cjs/src/alpaca.js +1 -1
  103. package/dist/cjs/src/apex.js +22 -31
  104. package/dist/cjs/src/ascendex.js +2 -2
  105. package/dist/cjs/src/base/Exchange.js +41 -5
  106. package/dist/cjs/src/base/Precise.js +6 -0
  107. package/dist/cjs/src/base/errors.js +6 -0
  108. package/dist/cjs/src/base/functions/crypto.js +1 -1
  109. package/dist/cjs/src/base/functions/encode.js +2 -2
  110. package/dist/cjs/src/base/functions/misc.js +1 -0
  111. package/dist/cjs/src/base/functions/number.js +6 -0
  112. package/dist/cjs/src/base/functions/platform.js +6 -0
  113. package/dist/cjs/src/base/functions/rsa.js +1 -0
  114. package/dist/cjs/src/base/functions/string.js +6 -0
  115. package/dist/cjs/src/base/functions/throttle.js +1 -1
  116. package/dist/cjs/src/base/functions/time.js +6 -0
  117. package/dist/cjs/src/base/functions/totp.js +1 -0
  118. package/dist/cjs/src/base/functions/type.js +6 -0
  119. package/dist/cjs/src/base/functions.js +1 -1
  120. package/dist/cjs/src/base/ws/Cache.js +6 -0
  121. package/dist/cjs/src/base/ws/Client.js +1 -0
  122. package/dist/cjs/src/base/ws/Future.js +1 -1
  123. package/dist/cjs/src/base/ws/OrderBook.js +1 -1
  124. package/dist/cjs/src/base/ws/OrderBookSide.js +6 -0
  125. package/dist/cjs/src/base/ws/WsClient.js +1 -1
  126. package/dist/cjs/src/bequant.js +1 -1
  127. package/dist/cjs/src/bigone.js +23 -15
  128. package/dist/cjs/src/binance.js +1 -1
  129. package/dist/cjs/src/binancecoinm.js +1 -1
  130. package/dist/cjs/src/binanceus.js +1 -1
  131. package/dist/cjs/src/binanceusdm.js +1 -1
  132. package/dist/cjs/src/bingx.js +14 -38
  133. package/dist/cjs/src/bit2c.js +1 -1
  134. package/dist/cjs/src/bitbank.js +1 -1
  135. package/dist/cjs/src/bitbns.js +1 -1
  136. package/dist/cjs/src/bitfinex.js +65 -53
  137. package/dist/cjs/src/bitflyer.js +1 -1
  138. package/dist/cjs/src/bitget.js +9 -7
  139. package/dist/cjs/src/bithumb.js +1 -1
  140. package/dist/cjs/src/bitmart.js +1 -1
  141. package/dist/cjs/src/bitmex.js +1 -1
  142. package/dist/cjs/src/bitopro.js +1 -1
  143. package/dist/cjs/src/bitrue.js +15 -36
  144. package/dist/cjs/src/bitso.js +34 -1
  145. package/dist/cjs/src/bitstamp.js +34 -1
  146. package/dist/cjs/src/bitteam.js +1 -1
  147. package/dist/cjs/src/bl3p.js +1 -1
  148. package/dist/cjs/src/blockchaincom.js +1 -1
  149. package/dist/cjs/src/blofin.js +155 -14
  150. package/dist/cjs/src/btcalpha.js +1 -1
  151. package/dist/cjs/src/btcbox.js +26 -6
  152. package/dist/cjs/src/btcmarkets.js +1 -1
  153. package/dist/cjs/src/btcturk.js +1 -1
  154. package/dist/cjs/src/bybit.js +21 -43
  155. package/dist/cjs/src/cex.js +3 -5
  156. package/dist/cjs/src/coinbase.js +56 -40
  157. package/dist/cjs/src/coinbaseadvanced.js +1 -1
  158. package/dist/cjs/src/coinbaseexchange.js +142 -32
  159. package/dist/cjs/src/coincatch.js +15 -68
  160. package/dist/cjs/src/coincheck.js +1 -1
  161. package/dist/cjs/src/coinex.js +30 -33
  162. package/dist/cjs/src/coinlist.js +17 -15
  163. package/dist/cjs/src/coinmate.js +1 -1
  164. package/dist/cjs/src/coinmetro.js +23 -12
  165. package/dist/cjs/src/coinone.js +9 -11
  166. package/dist/cjs/src/coinsph.js +127 -1
  167. package/dist/cjs/src/coinspot.js +1 -1
  168. package/dist/cjs/src/cryptocom.js +112 -2
  169. package/dist/cjs/src/cryptomus.js +44 -90
  170. package/dist/cjs/src/defx.js +1 -1
  171. package/dist/cjs/src/delta.js +77 -37
  172. package/dist/cjs/src/deribit.js +1 -1
  173. package/dist/cjs/src/derive.js +47 -11
  174. package/dist/cjs/src/digifinex.js +1 -1
  175. package/dist/cjs/src/ellipx.js +176 -80
  176. package/dist/cjs/src/exmo.js +1 -1
  177. package/dist/cjs/src/fmfwio.js +1 -1
  178. package/dist/cjs/src/gate.js +2 -2
  179. package/dist/cjs/src/gateio.js +1 -1
  180. package/dist/cjs/src/gemini.js +4 -6
  181. package/dist/cjs/src/hashkey.js +1 -1
  182. package/dist/cjs/src/hitbtc.js +57 -69
  183. package/dist/cjs/src/hollaex.js +1 -1
  184. package/dist/cjs/src/htx.js +3 -3
  185. package/dist/cjs/src/huobi.js +1 -1
  186. package/dist/cjs/src/huobijp.js +1 -1
  187. package/dist/cjs/src/hyperliquid.js +18 -3
  188. package/dist/cjs/src/idex.js +1 -1
  189. package/dist/cjs/src/independentreserve.js +1 -1
  190. package/dist/cjs/src/indodax.js +1 -1
  191. package/dist/cjs/src/kraken.js +30 -25
  192. package/dist/cjs/src/krakenfutures.js +1 -1
  193. package/dist/cjs/src/kucoin.js +1 -1
  194. package/dist/cjs/src/kucoinfutures.js +7 -1
  195. package/dist/cjs/src/kuna.js +1 -1
  196. package/dist/cjs/src/latoken.js +1 -1
  197. package/dist/cjs/src/lbank.js +2 -2
  198. package/dist/cjs/src/luno.js +1 -1
  199. package/dist/cjs/src/mercado.js +1 -1
  200. package/dist/cjs/src/mexc.js +1 -1
  201. package/dist/cjs/src/myokx.js +1 -1
  202. package/dist/cjs/src/ndax.js +1 -1
  203. package/dist/cjs/src/novadax.js +1 -1
  204. package/dist/cjs/src/oceanex.js +1 -1
  205. package/dist/cjs/src/okcoin.js +1 -1
  206. package/dist/cjs/src/okx.js +2 -3
  207. package/dist/cjs/src/onetrading.js +1 -1
  208. package/dist/cjs/src/oxfun.js +22 -2
  209. package/dist/cjs/src/p2b.js +1 -1
  210. package/dist/cjs/src/paradex.js +120 -4
  211. package/dist/cjs/src/paymium.js +1 -1
  212. package/dist/cjs/src/poloniex.js +1 -1
  213. package/dist/cjs/src/pro/alpaca.js +1 -1
  214. package/dist/cjs/src/pro/apex.js +1 -1
  215. package/dist/cjs/src/pro/ascendex.js +1 -1
  216. package/dist/cjs/src/pro/bequant.js +1 -1
  217. package/dist/cjs/src/pro/binance.js +31 -33
  218. package/dist/cjs/src/pro/binancecoinm.js +1 -1
  219. package/dist/cjs/src/pro/binanceus.js +1 -1
  220. package/dist/cjs/src/pro/binanceusdm.js +1 -1
  221. package/dist/cjs/src/pro/bingx.js +1 -1
  222. package/dist/cjs/src/pro/bitfinex.js +1 -1
  223. package/dist/cjs/src/pro/bitget.js +1 -1
  224. package/dist/cjs/src/pro/bithumb.js +6 -4
  225. package/dist/cjs/src/pro/bitmart.js +1 -1
  226. package/dist/cjs/src/pro/bitmex.js +1 -1
  227. package/dist/cjs/src/pro/bitrue.js +1 -1
  228. package/dist/cjs/src/pro/bitstamp.js +1 -1
  229. package/dist/cjs/src/pro/bitvavo.js +1 -1
  230. package/dist/cjs/src/pro/blockchaincom.js +1 -1
  231. package/dist/cjs/src/pro/blofin.js +1 -1
  232. package/dist/cjs/src/pro/bybit.js +1 -1
  233. package/dist/cjs/src/pro/cex.js +1 -1
  234. package/dist/cjs/src/pro/coinbase.js +2 -2
  235. package/dist/cjs/src/pro/coinbaseadvanced.js +1 -1
  236. package/dist/cjs/src/pro/coinbaseexchange.js +1 -1
  237. package/dist/cjs/src/pro/coinbaseinternational.js +1 -1
  238. package/dist/cjs/src/pro/coincatch.js +1 -1
  239. package/dist/cjs/src/pro/coincheck.js +1 -1
  240. package/dist/cjs/src/pro/coinex.js +1 -1
  241. package/dist/cjs/src/pro/coinone.js +1 -1
  242. package/dist/cjs/src/pro/cryptocom.js +1 -1
  243. package/dist/cjs/src/pro/defx.js +1 -1
  244. package/dist/cjs/src/pro/deribit.js +1 -1
  245. package/dist/cjs/src/pro/exmo.js +1 -1
  246. package/dist/cjs/src/pro/gate.js +1 -1
  247. package/dist/cjs/src/pro/gateio.js +1 -1
  248. package/dist/cjs/src/pro/gemini.js +1 -1
  249. package/dist/cjs/src/pro/hashkey.js +1 -1
  250. package/dist/cjs/src/pro/hitbtc.js +1 -1
  251. package/dist/cjs/src/pro/hollaex.js +1 -1
  252. package/dist/cjs/src/pro/htx.js +1 -1
  253. package/dist/cjs/src/pro/huobi.js +1 -1
  254. package/dist/cjs/src/pro/hyperliquid.js +11 -3
  255. package/dist/cjs/src/pro/idex.js +1 -1
  256. package/dist/cjs/src/pro/independentreserve.js +1 -1
  257. package/dist/cjs/src/pro/kraken.js +290 -80
  258. package/dist/cjs/src/pro/krakenfutures.js +1 -1
  259. package/dist/cjs/src/pro/kucoin.js +1 -1
  260. package/dist/cjs/src/pro/kucoinfutures.js +1 -1
  261. package/dist/cjs/src/pro/lbank.js +1 -0
  262. package/dist/cjs/src/pro/luno.js +1 -1
  263. package/dist/cjs/src/pro/mexc.js +303 -9
  264. package/dist/cjs/src/pro/myokx.js +1 -1
  265. package/dist/cjs/src/pro/ndax.js +1 -1
  266. package/dist/cjs/src/pro/okcoin.js +1 -1
  267. package/dist/cjs/src/pro/okx.js +1 -1
  268. package/dist/cjs/src/pro/onetrading.js +1 -1
  269. package/dist/cjs/src/pro/oxfun.js +1 -1
  270. package/dist/cjs/src/pro/p2b.js +1 -1
  271. package/dist/cjs/src/pro/paradex.js +1 -1
  272. package/dist/cjs/src/pro/phemex.js +1 -1
  273. package/dist/cjs/src/pro/poloniex.js +7 -3
  274. package/dist/cjs/src/pro/probit.js +1 -1
  275. package/dist/cjs/src/pro/tradeogre.js +1 -1
  276. package/dist/cjs/src/pro/upbit.js +1 -1
  277. package/dist/cjs/src/pro/whitebit.js +1 -1
  278. package/dist/cjs/src/pro/xt.js +1 -1
  279. package/dist/cjs/src/probit.js +1 -1
  280. package/dist/cjs/src/static_dependencies/ethers/abi-coder.js +6 -0
  281. package/dist/cjs/src/static_dependencies/ethers/address/address.js +1 -1
  282. package/dist/cjs/src/static_dependencies/ethers/coders/abstract-coder.js +6 -0
  283. package/dist/cjs/src/static_dependencies/ethers/coders/address.js +1 -0
  284. package/dist/cjs/src/static_dependencies/ethers/coders/anonymous.js +1 -0
  285. package/dist/cjs/src/static_dependencies/ethers/coders/array.js +1 -0
  286. package/dist/cjs/src/static_dependencies/ethers/coders/boolean.js +1 -0
  287. package/dist/cjs/src/static_dependencies/ethers/coders/bytes.js +1 -0
  288. package/dist/cjs/src/static_dependencies/ethers/coders/fixed-bytes.js +1 -0
  289. package/dist/cjs/src/static_dependencies/ethers/coders/null.js +1 -0
  290. package/dist/cjs/src/static_dependencies/ethers/coders/number.js +1 -0
  291. package/dist/cjs/src/static_dependencies/ethers/coders/string.js +1 -0
  292. package/dist/cjs/src/static_dependencies/ethers/coders/tuple.js +1 -0
  293. package/dist/cjs/src/static_dependencies/ethers/fragments.js +6 -0
  294. package/dist/cjs/src/static_dependencies/ethers/hash/typed-data.js +6 -0
  295. package/dist/cjs/src/static_dependencies/ethers/index.js +1 -10
  296. package/dist/cjs/src/static_dependencies/ethers/interface.js +6 -0
  297. package/dist/cjs/src/static_dependencies/ethers/typed.js +6 -0
  298. package/dist/cjs/src/static_dependencies/ethers/utils/base58.js +1 -13
  299. package/dist/cjs/src/static_dependencies/ethers/utils/data.js +1 -6
  300. package/dist/cjs/src/static_dependencies/ethers/utils/errors.js +1 -9
  301. package/dist/cjs/src/static_dependencies/ethers/utils/events.js +6 -0
  302. package/dist/cjs/src/static_dependencies/ethers/utils/fixednumber.js +6 -0
  303. package/dist/cjs/src/static_dependencies/ethers/utils/index.js +1 -7
  304. package/dist/cjs/src/static_dependencies/ethers/utils/maths.js +1 -5
  305. package/dist/cjs/src/static_dependencies/ethers/utils/properties.js +6 -0
  306. package/dist/cjs/src/static_dependencies/ethers/utils/utf8.js +1 -8
  307. package/dist/cjs/src/static_dependencies/fflake/browser.js +1 -1
  308. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncrypt.js +1 -0
  309. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +1 -0
  310. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +1 -1
  311. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +6 -0
  312. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +6 -0
  313. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +6 -0
  314. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +1 -0
  315. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +1 -1
  316. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +6 -0
  317. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +1 -1
  318. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +1 -1
  319. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/util.js +6 -0
  320. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +1 -1
  321. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +6 -0
  322. package/dist/cjs/src/static_dependencies/messagepack/msgpack.js +6 -0
  323. package/dist/cjs/src/static_dependencies/noble-curves/_shortw_utils.js +1 -1
  324. package/dist/cjs/src/static_dependencies/noble-curves/abstract/curve.js +1 -1
  325. package/dist/cjs/src/static_dependencies/noble-curves/abstract/edwards.js +1 -1
  326. package/dist/cjs/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +1 -0
  327. package/dist/cjs/src/static_dependencies/noble-curves/abstract/modular.js +1 -1
  328. package/dist/cjs/src/static_dependencies/noble-curves/abstract/montgomery.js +1 -1
  329. package/dist/cjs/src/static_dependencies/noble-curves/abstract/poseidon.js +1 -1
  330. package/dist/cjs/src/static_dependencies/noble-curves/abstract/utils.js +6 -0
  331. package/dist/cjs/src/static_dependencies/noble-curves/abstract/weierstrass.js +1 -1
  332. package/dist/cjs/src/static_dependencies/noble-curves/ed25519.js +1 -1
  333. package/dist/cjs/src/static_dependencies/noble-curves/p256.js +1 -1
  334. package/dist/cjs/src/static_dependencies/noble-curves/secp256k1.js +1 -1
  335. package/dist/cjs/src/static_dependencies/noble-hashes/_assert.js +6 -0
  336. package/dist/cjs/src/static_dependencies/noble-hashes/_sha2.js +1 -0
  337. package/dist/cjs/src/static_dependencies/noble-hashes/_u64.js +6 -0
  338. package/dist/cjs/src/static_dependencies/noble-hashes/crypto.js +6 -0
  339. package/dist/cjs/src/static_dependencies/noble-hashes/hmac.js +1 -0
  340. package/dist/cjs/src/static_dependencies/noble-hashes/md5.js +1 -0
  341. package/dist/cjs/src/static_dependencies/noble-hashes/sha1.js +1 -0
  342. package/dist/cjs/src/static_dependencies/noble-hashes/sha256.js +1 -0
  343. package/dist/cjs/src/static_dependencies/noble-hashes/sha3.js +1 -0
  344. package/dist/cjs/src/static_dependencies/noble-hashes/sha512.js +1 -0
  345. package/dist/cjs/src/static_dependencies/noble-hashes/utils.js +1 -1
  346. package/dist/cjs/src/static_dependencies/node-fetch/body.js +1 -5
  347. package/dist/cjs/src/static_dependencies/node-fetch/errors/abort-error.js +1 -0
  348. package/dist/cjs/src/static_dependencies/node-fetch/errors/base.js +6 -0
  349. package/dist/cjs/src/static_dependencies/node-fetch/errors/fetch-error.js +1 -0
  350. package/dist/cjs/src/static_dependencies/node-fetch/headers.js +1 -5
  351. package/dist/cjs/src/static_dependencies/node-fetch/index.js +1 -7
  352. package/dist/cjs/src/static_dependencies/node-fetch/request.js +1 -7
  353. package/dist/cjs/src/static_dependencies/node-fetch/response.js +1 -5
  354. package/dist/cjs/src/static_dependencies/node-fetch/utils/get-search.js +6 -0
  355. package/dist/cjs/src/static_dependencies/node-fetch/utils/is-redirect.js +6 -0
  356. package/dist/cjs/src/static_dependencies/node-fetch/utils/is.js +6 -0
  357. package/dist/cjs/src/static_dependencies/node-fetch/utils/referrer.js +1 -0
  358. package/dist/cjs/src/static_dependencies/proxies/agent-base/index.js +1 -0
  359. package/dist/cjs/src/static_dependencies/proxies/http-proxy-agent/index.js +1 -0
  360. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/index.js +1 -0
  361. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +6 -0
  362. package/dist/cjs/src/static_dependencies/scure-base/index.js +6 -0
  363. package/dist/cjs/src/static_dependencies/scure-starknet/index.js +1 -1
  364. package/dist/cjs/src/static_dependencies/starknet/constants.js +1 -1
  365. package/dist/cjs/src/static_dependencies/starknet/types/calldata.js +6 -0
  366. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/abi.js +6 -0
  367. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/index.js +6 -0
  368. package/dist/cjs/src/static_dependencies/starknet/types/lib/index.js +6 -0
  369. package/dist/cjs/src/static_dependencies/starknet/types/typedData.js +6 -0
  370. package/dist/cjs/src/static_dependencies/starknet/utils/assert.js +6 -0
  371. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +1 -1
  372. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +1 -1
  373. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +1 -1
  374. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/byteArray.js +1 -0
  375. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/cairo.js +1 -0
  376. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +6 -0
  377. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +6 -0
  378. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +6 -0
  379. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/formatter.js +1 -0
  380. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/index.js +1 -1
  381. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/index.js +1 -0
  382. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +1 -0
  383. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +6 -0
  384. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +1 -0
  385. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/requestParser.js +1 -0
  386. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/responseParser.js +1 -0
  387. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/tuple.js +1 -1
  388. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/validate.js +1 -4
  389. package/dist/cjs/src/static_dependencies/starknet/utils/encode.js +1 -0
  390. package/dist/cjs/src/static_dependencies/starknet/utils/hash/classHash.js +1 -3
  391. package/dist/cjs/src/static_dependencies/starknet/utils/merkle.js +1 -0
  392. package/dist/cjs/src/static_dependencies/starknet/utils/num.js +1 -0
  393. package/dist/cjs/src/static_dependencies/starknet/utils/selector.js +1 -0
  394. package/dist/cjs/src/static_dependencies/starknet/utils/shortString.js +1 -0
  395. package/dist/cjs/src/static_dependencies/starknet/utils/typedData.js +1 -1
  396. package/dist/cjs/src/static_dependencies/watchable/src/unpromise.js +6 -0
  397. package/dist/cjs/src/static_dependencies/zklink/zklink-sdk-web.js +6 -0
  398. package/dist/cjs/src/timex.js +1 -0
  399. package/dist/cjs/src/tokocrypto.js +1 -1
  400. package/dist/cjs/src/tradeogre.js +1 -1
  401. package/dist/cjs/src/upbit.js +1 -1
  402. package/dist/cjs/src/vertex.js +1 -1
  403. package/dist/cjs/src/wavesexchange.js +1 -1
  404. package/dist/cjs/src/whitebit.js +1 -1
  405. package/dist/cjs/src/woo.js +1 -1
  406. package/dist/cjs/src/woofipro.js +1 -1
  407. package/dist/cjs/src/xt.js +1 -1
  408. package/dist/cjs/src/yobit.js +1 -1
  409. package/dist/cjs/src/zaif.js +1 -1
  410. package/dist/cjs/src/zonda.js +1 -1
  411. package/examples/js/cli.js +127 -13
  412. package/js/ccxt.d.ts +2 -11
  413. package/js/ccxt.js +8 -8
  414. package/js/src/abstract/alpaca.js +6 -0
  415. package/js/src/abstract/apex.js +6 -0
  416. package/js/src/abstract/ascendex.js +6 -0
  417. package/js/src/abstract/bequant.js +6 -0
  418. package/js/src/abstract/bigone.js +6 -0
  419. package/js/src/abstract/binance.js +6 -0
  420. package/js/src/abstract/binancecoinm.js +6 -0
  421. package/js/src/abstract/binanceus.js +6 -0
  422. package/js/src/abstract/binanceusdm.js +6 -0
  423. package/js/src/abstract/bingx.js +6 -0
  424. package/js/src/abstract/bit2c.js +6 -0
  425. package/js/src/abstract/bitbank.js +6 -0
  426. package/js/src/abstract/bitbns.js +6 -0
  427. package/js/src/abstract/bitfinex.js +6 -0
  428. package/js/src/abstract/bitflyer.js +6 -0
  429. package/js/src/abstract/bitget.js +6 -0
  430. package/js/src/abstract/bithumb.js +6 -0
  431. package/js/src/abstract/bitmart.js +6 -0
  432. package/js/src/abstract/bitmex.js +6 -0
  433. package/js/src/abstract/bitopro.js +6 -0
  434. package/js/src/abstract/bitrue.js +6 -0
  435. package/js/src/abstract/bitso.js +6 -0
  436. package/js/src/abstract/bitstamp.js +6 -0
  437. package/js/src/abstract/bitteam.js +6 -0
  438. package/js/src/abstract/bitvavo.js +6 -0
  439. package/js/src/abstract/blockchaincom.js +6 -0
  440. package/js/src/abstract/blofin.d.ts +8 -0
  441. package/js/src/abstract/blofin.js +6 -0
  442. package/js/src/abstract/btcalpha.js +6 -0
  443. package/js/src/abstract/btcbox.d.ts +1 -0
  444. package/js/src/abstract/btcbox.js +6 -0
  445. package/js/src/abstract/btcmarkets.js +6 -0
  446. package/js/src/abstract/btcturk.js +6 -0
  447. package/js/src/abstract/bybit.js +6 -0
  448. package/js/src/abstract/cex.js +6 -0
  449. package/js/src/abstract/coinbase.js +6 -0
  450. package/js/src/abstract/coinbaseadvanced.js +6 -0
  451. package/js/src/abstract/coinbaseexchange.js +6 -0
  452. package/js/src/abstract/coinbaseinternational.js +6 -0
  453. package/js/src/abstract/coincatch.js +6 -0
  454. package/js/src/abstract/coincheck.js +6 -0
  455. package/js/src/abstract/coinex.js +6 -0
  456. package/js/src/abstract/coinlist.js +6 -0
  457. package/js/src/abstract/coinmate.js +6 -0
  458. package/js/src/abstract/coinmetro.js +6 -0
  459. package/js/src/abstract/coinone.js +6 -0
  460. package/js/src/abstract/coinsph.js +6 -0
  461. package/js/src/abstract/coinspot.js +6 -0
  462. package/js/src/abstract/cryptocom.js +6 -0
  463. package/js/src/abstract/cryptomus.js +6 -0
  464. package/js/src/abstract/defx.js +6 -0
  465. package/js/src/abstract/delta.js +6 -0
  466. package/js/src/abstract/deribit.js +6 -0
  467. package/js/src/abstract/derive.js +6 -0
  468. package/js/src/abstract/digifinex.js +6 -0
  469. package/js/src/abstract/ellipx.js +6 -0
  470. package/js/src/abstract/exmo.js +6 -0
  471. package/js/src/abstract/fmfwio.js +6 -0
  472. package/js/src/abstract/gate.js +6 -0
  473. package/js/src/abstract/gateio.js +6 -0
  474. package/js/src/abstract/gemini.js +6 -0
  475. package/js/src/abstract/hashkey.js +6 -0
  476. package/js/src/abstract/hitbtc.js +6 -0
  477. package/js/src/abstract/hollaex.js +6 -0
  478. package/js/src/abstract/htx.js +6 -0
  479. package/js/src/abstract/huobi.js +6 -0
  480. package/js/src/abstract/huobijp.js +6 -0
  481. package/js/src/abstract/hyperliquid.js +6 -0
  482. package/js/src/abstract/independentreserve.js +6 -0
  483. package/js/src/abstract/indodax.js +6 -0
  484. package/js/src/abstract/kraken.js +6 -0
  485. package/js/src/abstract/krakenfutures.js +6 -0
  486. package/js/src/abstract/kucoin.js +6 -0
  487. package/js/src/abstract/kucoinfutures.js +6 -0
  488. package/js/src/abstract/kuna.js +6 -0
  489. package/js/src/abstract/latoken.js +6 -0
  490. package/js/src/abstract/lbank.js +6 -0
  491. package/js/src/abstract/luno.js +6 -0
  492. package/js/src/abstract/mercado.js +6 -0
  493. package/js/src/abstract/mexc.js +6 -0
  494. package/js/src/abstract/myokx.js +6 -0
  495. package/js/src/abstract/ndax.js +6 -0
  496. package/js/src/abstract/novadax.js +6 -0
  497. package/js/src/abstract/oceanex.js +6 -0
  498. package/js/src/abstract/okcoin.js +6 -0
  499. package/js/src/abstract/okx.js +6 -0
  500. package/js/src/abstract/onetrading.js +6 -0
  501. package/js/src/abstract/oxfun.js +6 -0
  502. package/js/src/abstract/p2b.js +6 -0
  503. package/js/src/abstract/paradex.js +6 -0
  504. package/js/src/abstract/paymium.js +6 -0
  505. package/js/src/abstract/phemex.js +6 -0
  506. package/js/src/abstract/poloniex.js +6 -0
  507. package/js/src/abstract/probit.js +6 -0
  508. package/js/src/abstract/timex.js +6 -0
  509. package/js/src/abstract/tokocrypto.js +6 -0
  510. package/js/src/abstract/tradeogre.js +6 -0
  511. package/js/src/abstract/upbit.js +6 -0
  512. package/js/src/abstract/vertex.js +6 -0
  513. package/js/src/abstract/wavesexchange.js +6 -0
  514. package/js/src/abstract/whitebit.js +6 -0
  515. package/js/src/abstract/woo.js +6 -0
  516. package/js/src/abstract/woofipro.js +6 -0
  517. package/js/src/abstract/xt.js +6 -0
  518. package/js/src/abstract/yobit.js +6 -0
  519. package/js/src/abstract/zaif.js +6 -0
  520. package/js/src/abstract/zonda.js +6 -0
  521. package/js/src/alpaca.js +6 -0
  522. package/js/src/apex.js +27 -30
  523. package/js/src/ascendex.js +7 -1
  524. package/js/src/base/Exchange.d.ts +17 -2
  525. package/js/src/base/Exchange.js +47 -5
  526. package/js/src/base/Precise.js +6 -0
  527. package/js/src/base/errorHierarchy.js +6 -0
  528. package/js/src/base/errors.js +6 -0
  529. package/js/src/base/functions/crypto.js +6 -0
  530. package/js/src/base/functions/encode.d.ts +1 -1
  531. package/js/src/base/functions/encode.js +7 -1
  532. package/js/src/base/functions/generic.js +6 -0
  533. package/js/src/base/functions/misc.js +6 -0
  534. package/js/src/base/functions/number.js +6 -0
  535. package/js/src/base/functions/platform.js +6 -0
  536. package/js/src/base/functions/rsa.js +6 -0
  537. package/js/src/base/functions/string.js +6 -0
  538. package/js/src/base/functions/throttle.js +6 -0
  539. package/js/src/base/functions/time.js +6 -0
  540. package/js/src/base/functions/totp.js +6 -0
  541. package/js/src/base/functions/type.js +6 -0
  542. package/js/src/base/functions.js +6 -0
  543. package/js/src/base/types.d.ts +3 -0
  544. package/js/src/base/types.js +6 -0
  545. package/js/src/base/ws/Cache.js +6 -0
  546. package/js/src/base/ws/Client.js +6 -0
  547. package/js/src/base/ws/Future.js +6 -0
  548. package/js/src/base/ws/OrderBook.js +6 -0
  549. package/js/src/base/ws/OrderBookSide.js +6 -0
  550. package/js/src/base/ws/WsClient.js +6 -0
  551. package/js/src/base/ws/functions.js +6 -0
  552. package/js/src/bequant.js +6 -0
  553. package/js/src/bigone.js +28 -14
  554. package/js/src/binance.js +6 -0
  555. package/js/src/binancecoinm.js +6 -0
  556. package/js/src/binanceus.js +6 -0
  557. package/js/src/binanceusdm.js +6 -0
  558. package/js/src/bingx.d.ts +1 -1
  559. package/js/src/bingx.js +19 -37
  560. package/js/src/bit2c.js +6 -0
  561. package/js/src/bitbank.js +6 -0
  562. package/js/src/bitbns.js +6 -0
  563. package/js/src/bitfinex.js +70 -52
  564. package/js/src/bitflyer.js +6 -0
  565. package/js/src/bitget.d.ts +1 -0
  566. package/js/src/bitget.js +14 -6
  567. package/js/src/bithumb.js +6 -0
  568. package/js/src/bitmart.js +6 -0
  569. package/js/src/bitmex.js +6 -0
  570. package/js/src/bitopro.js +6 -0
  571. package/js/src/bitrue.js +20 -35
  572. package/js/src/bitso.js +39 -0
  573. package/js/src/bitstamp.js +39 -0
  574. package/js/src/bitteam.js +6 -0
  575. package/js/src/bitvavo.js +6 -0
  576. package/js/src/blockchaincom.js +6 -0
  577. package/js/src/blofin.d.ts +42 -2
  578. package/js/src/blofin.js +160 -13
  579. package/js/src/btcalpha.js +6 -0
  580. package/js/src/btcbox.js +31 -5
  581. package/js/src/btcmarkets.js +6 -0
  582. package/js/src/btcturk.js +6 -0
  583. package/js/src/bybit.js +26 -42
  584. package/js/src/cex.js +8 -4
  585. package/js/src/coinbase.js +62 -40
  586. package/js/src/coinbaseadvanced.js +6 -0
  587. package/js/src/coinbaseexchange.js +148 -32
  588. package/js/src/coinbaseinternational.js +6 -0
  589. package/js/src/coincatch.js +20 -67
  590. package/js/src/coincheck.js +6 -0
  591. package/js/src/coinex.js +34 -29
  592. package/js/src/coinlist.js +22 -15
  593. package/js/src/coinmate.js +6 -0
  594. package/js/src/coinmetro.js +28 -11
  595. package/js/src/coinone.js +14 -10
  596. package/js/src/coinsph.d.ts +10 -1
  597. package/js/src/coinsph.js +132 -1
  598. package/js/src/coinspot.js +6 -0
  599. package/js/src/cryptocom.d.ts +10 -1
  600. package/js/src/cryptocom.js +117 -1
  601. package/js/src/cryptomus.js +49 -89
  602. package/js/src/defx.js +6 -0
  603. package/js/src/delta.js +82 -36
  604. package/js/src/deribit.js +6 -0
  605. package/js/src/derive.js +52 -10
  606. package/js/src/digifinex.js +6 -0
  607. package/js/src/ellipx.d.ts +2 -3
  608. package/js/src/ellipx.js +181 -80
  609. package/js/src/exmo.js +6 -0
  610. package/js/src/fmfwio.js +6 -0
  611. package/js/src/gate.js +7 -1
  612. package/js/src/gateio.js +6 -0
  613. package/js/src/gemini.js +9 -5
  614. package/js/src/hashkey.js +6 -0
  615. package/js/src/hitbtc.js +62 -69
  616. package/js/src/hollaex.js +6 -0
  617. package/js/src/htx.js +8 -2
  618. package/js/src/huobi.js +6 -0
  619. package/js/src/huobijp.js +6 -0
  620. package/js/src/hyperliquid.js +23 -2
  621. package/js/src/independentreserve.js +6 -0
  622. package/js/src/indodax.js +6 -0
  623. package/js/src/kraken.js +35 -24
  624. package/js/src/krakenfutures.js +6 -0
  625. package/js/src/kucoin.js +6 -0
  626. package/js/src/kucoinfutures.d.ts +1 -0
  627. package/js/src/kucoinfutures.js +12 -0
  628. package/js/src/kuna.js +6 -0
  629. package/js/src/latoken.js +6 -0
  630. package/js/src/lbank.js +7 -1
  631. package/js/src/luno.js +6 -0
  632. package/js/src/mercado.js +6 -0
  633. package/js/src/mexc.js +6 -0
  634. package/js/src/myokx.js +6 -0
  635. package/js/src/ndax.js +6 -0
  636. package/js/src/novadax.js +6 -0
  637. package/js/src/oceanex.js +6 -0
  638. package/js/src/okcoin.js +6 -0
  639. package/js/src/okx.js +7 -2
  640. package/js/src/onetrading.js +6 -0
  641. package/js/src/oxfun.d.ts +10 -0
  642. package/js/src/oxfun.js +27 -1
  643. package/js/src/p2b.js +6 -0
  644. package/js/src/paradex.d.ts +12 -1
  645. package/js/src/paradex.js +125 -3
  646. package/js/src/paymium.js +6 -0
  647. package/js/src/phemex.js +6 -0
  648. package/js/src/poloniex.js +6 -0
  649. package/js/src/pro/alpaca.js +6 -0
  650. package/js/src/pro/apex.js +6 -0
  651. package/js/src/pro/ascendex.js +6 -0
  652. package/js/src/pro/bequant.js +6 -0
  653. package/js/src/pro/binance.d.ts +26 -26
  654. package/js/src/pro/binance.js +37 -33
  655. package/js/src/pro/binancecoinm.js +6 -0
  656. package/js/src/pro/binanceus.js +6 -0
  657. package/js/src/pro/binanceusdm.js +6 -0
  658. package/js/src/pro/bingx.js +6 -0
  659. package/js/src/pro/bitfinex.js +6 -0
  660. package/js/src/pro/bitget.js +6 -0
  661. package/js/src/pro/bithumb.js +11 -3
  662. package/js/src/pro/bitmart.js +6 -0
  663. package/js/src/pro/bitmex.js +6 -0
  664. package/js/src/pro/bitopro.js +6 -0
  665. package/js/src/pro/bitrue.js +6 -0
  666. package/js/src/pro/bitstamp.js +6 -0
  667. package/js/src/pro/bitvavo.js +6 -0
  668. package/js/src/pro/blockchaincom.js +6 -0
  669. package/js/src/pro/blofin.js +6 -0
  670. package/js/src/pro/bybit.js +6 -0
  671. package/js/src/pro/cex.js +6 -0
  672. package/js/src/pro/coinbase.js +7 -1
  673. package/js/src/pro/coinbaseadvanced.js +6 -0
  674. package/js/src/pro/coinbaseexchange.js +6 -0
  675. package/js/src/pro/coinbaseinternational.js +6 -0
  676. package/js/src/pro/coincatch.js +6 -0
  677. package/js/src/pro/coincheck.js +6 -0
  678. package/js/src/pro/coinex.js +6 -0
  679. package/js/src/pro/coinone.js +6 -0
  680. package/js/src/pro/cryptocom.js +6 -0
  681. package/js/src/pro/defx.js +6 -0
  682. package/js/src/pro/deribit.js +6 -0
  683. package/js/src/pro/derive.js +6 -0
  684. package/js/src/pro/exmo.js +6 -0
  685. package/js/src/pro/gate.js +6 -0
  686. package/js/src/pro/gateio.js +6 -0
  687. package/js/src/pro/gemini.js +6 -0
  688. package/js/src/pro/hashkey.js +6 -0
  689. package/js/src/pro/hitbtc.js +6 -0
  690. package/js/src/pro/hollaex.js +6 -0
  691. package/js/src/pro/htx.js +6 -0
  692. package/js/src/pro/huobi.js +6 -0
  693. package/js/src/pro/huobijp.js +6 -0
  694. package/js/src/pro/hyperliquid.js +16 -2
  695. package/js/src/pro/independentreserve.js +6 -0
  696. package/js/src/pro/kraken.d.ts +7 -6
  697. package/js/src/pro/kraken.js +296 -80
  698. package/js/src/pro/krakenfutures.js +6 -0
  699. package/js/src/pro/kucoin.js +6 -0
  700. package/js/src/pro/kucoinfutures.js +6 -0
  701. package/js/src/pro/lbank.js +6 -0
  702. package/js/src/pro/luno.js +6 -0
  703. package/js/src/pro/mexc.d.ts +58 -0
  704. package/js/src/pro/mexc.js +308 -8
  705. package/js/src/pro/myokx.js +6 -0
  706. package/js/src/pro/ndax.js +6 -0
  707. package/js/src/pro/okcoin.js +6 -0
  708. package/js/src/pro/okx.js +6 -0
  709. package/js/src/pro/onetrading.js +6 -0
  710. package/js/src/pro/oxfun.js +6 -0
  711. package/js/src/pro/p2b.js +6 -0
  712. package/js/src/pro/paradex.js +6 -0
  713. package/js/src/pro/phemex.js +6 -0
  714. package/js/src/pro/poloniex.d.ts +1 -1
  715. package/js/src/pro/poloniex.js +12 -2
  716. package/js/src/pro/probit.js +6 -0
  717. package/js/src/pro/tradeogre.js +6 -0
  718. package/js/src/pro/upbit.js +6 -0
  719. package/js/src/pro/vertex.js +6 -0
  720. package/js/src/pro/whitebit.js +6 -0
  721. package/js/src/pro/woo.js +6 -0
  722. package/js/src/pro/woofipro.js +6 -0
  723. package/js/src/pro/xt.js +6 -0
  724. package/js/src/probit.js +6 -0
  725. package/js/src/static_dependencies/ethers/abi-coder.js +6 -0
  726. package/js/src/static_dependencies/ethers/address/address.js +6 -0
  727. package/js/src/static_dependencies/ethers/address/checks.js +6 -0
  728. package/js/src/static_dependencies/ethers/address/contract-address.js +6 -0
  729. package/js/src/static_dependencies/ethers/address/index.js +6 -0
  730. package/js/src/static_dependencies/ethers/bytes32.js +6 -0
  731. package/js/src/static_dependencies/ethers/coders/abstract-coder.js +6 -0
  732. package/js/src/static_dependencies/ethers/coders/address.js +6 -0
  733. package/js/src/static_dependencies/ethers/coders/anonymous.js +6 -0
  734. package/js/src/static_dependencies/ethers/coders/array.js +6 -0
  735. package/js/src/static_dependencies/ethers/coders/boolean.js +6 -0
  736. package/js/src/static_dependencies/ethers/coders/bytes.js +6 -0
  737. package/js/src/static_dependencies/ethers/coders/fixed-bytes.js +6 -0
  738. package/js/src/static_dependencies/ethers/coders/null.js +6 -0
  739. package/js/src/static_dependencies/ethers/coders/number.js +6 -0
  740. package/js/src/static_dependencies/ethers/coders/string.js +6 -0
  741. package/js/src/static_dependencies/ethers/coders/tuple.js +6 -0
  742. package/js/src/static_dependencies/ethers/fragments.js +6 -0
  743. package/js/src/static_dependencies/ethers/hash/index.js +6 -0
  744. package/js/src/static_dependencies/ethers/hash/solidity.js +6 -0
  745. package/js/src/static_dependencies/ethers/hash/typed-data.js +6 -0
  746. package/js/src/static_dependencies/ethers/index.js +6 -0
  747. package/js/src/static_dependencies/ethers/interface.js +6 -0
  748. package/js/src/static_dependencies/ethers/typed.js +6 -0
  749. package/js/src/static_dependencies/ethers/utils/base58.js +6 -0
  750. package/js/src/static_dependencies/ethers/utils/base64-browser.js +6 -0
  751. package/js/src/static_dependencies/ethers/utils/base64.js +6 -0
  752. package/js/src/static_dependencies/ethers/utils/data.js +6 -0
  753. package/js/src/static_dependencies/ethers/utils/errors.js +6 -0
  754. package/js/src/static_dependencies/ethers/utils/events.js +6 -0
  755. package/js/src/static_dependencies/ethers/utils/fixednumber.js +6 -0
  756. package/js/src/static_dependencies/ethers/utils/index.js +6 -0
  757. package/js/src/static_dependencies/ethers/utils/maths.js +6 -0
  758. package/js/src/static_dependencies/ethers/utils/properties.js +6 -0
  759. package/js/src/static_dependencies/ethers/utils/rlp-decode.js +6 -0
  760. package/js/src/static_dependencies/ethers/utils/rlp-encode.js +6 -0
  761. package/js/src/static_dependencies/ethers/utils/rlp.js +6 -0
  762. package/js/src/static_dependencies/ethers/utils/units.js +6 -0
  763. package/js/src/static_dependencies/ethers/utils/utf8.js +6 -0
  764. package/js/src/static_dependencies/ethers/utils/uuid.js +6 -0
  765. package/js/src/static_dependencies/fflake/browser.js +6 -0
  766. package/js/src/static_dependencies/jsencrypt/JSEncrypt.js +6 -0
  767. package/js/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +6 -0
  768. package/js/src/static_dependencies/jsencrypt/index.js +6 -0
  769. package/js/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +6 -0
  770. package/js/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +6 -0
  771. package/js/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +6 -0
  772. package/js/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +6 -0
  773. package/js/src/static_dependencies/jsencrypt/lib/asn1js/oids.js +6 -0
  774. package/js/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +6 -0
  775. package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +6 -0
  776. package/js/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +6 -0
  777. package/js/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +6 -0
  778. package/js/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +6 -0
  779. package/js/src/static_dependencies/jsencrypt/lib/jsbn/util.js +6 -0
  780. package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +6 -0
  781. package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +6 -0
  782. package/js/src/static_dependencies/messagepack/msgpack.js +6 -0
  783. package/js/src/static_dependencies/noble-curves/_shortw_utils.js +6 -0
  784. package/js/src/static_dependencies/noble-curves/abstract/curve.js +6 -0
  785. package/js/src/static_dependencies/noble-curves/abstract/edwards.js +6 -0
  786. package/js/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +6 -0
  787. package/js/src/static_dependencies/noble-curves/abstract/modular.js +6 -0
  788. package/js/src/static_dependencies/noble-curves/abstract/montgomery.js +6 -0
  789. package/js/src/static_dependencies/noble-curves/abstract/poseidon.js +6 -0
  790. package/js/src/static_dependencies/noble-curves/abstract/utils.js +6 -0
  791. package/js/src/static_dependencies/noble-curves/abstract/weierstrass.js +6 -0
  792. package/js/src/static_dependencies/noble-curves/bn.js +6 -0
  793. package/js/src/static_dependencies/noble-curves/ed25519.js +6 -0
  794. package/js/src/static_dependencies/noble-curves/ed448.js +6 -0
  795. package/js/src/static_dependencies/noble-curves/index.js +6 -0
  796. package/js/src/static_dependencies/noble-curves/jubjub.js +6 -0
  797. package/js/src/static_dependencies/noble-curves/p256.js +6 -0
  798. package/js/src/static_dependencies/noble-curves/p384.js +6 -0
  799. package/js/src/static_dependencies/noble-curves/p521.js +6 -0
  800. package/js/src/static_dependencies/noble-curves/pasta.js +6 -0
  801. package/js/src/static_dependencies/noble-curves/secp256k1.js +6 -0
  802. package/js/src/static_dependencies/noble-hashes/_assert.js +6 -0
  803. package/js/src/static_dependencies/noble-hashes/_blake2.js +6 -0
  804. package/js/src/static_dependencies/noble-hashes/_sha2.js +6 -0
  805. package/js/src/static_dependencies/noble-hashes/_u64.js +6 -0
  806. package/js/src/static_dependencies/noble-hashes/argon2.js +6 -0
  807. package/js/src/static_dependencies/noble-hashes/blake2b.js +6 -0
  808. package/js/src/static_dependencies/noble-hashes/blake2s.js +6 -0
  809. package/js/src/static_dependencies/noble-hashes/blake3.js +6 -0
  810. package/js/src/static_dependencies/noble-hashes/crypto.js +6 -0
  811. package/js/src/static_dependencies/noble-hashes/cryptoNode.js +6 -0
  812. package/js/src/static_dependencies/noble-hashes/eskdf.js +6 -0
  813. package/js/src/static_dependencies/noble-hashes/hkdf.js +6 -0
  814. package/js/src/static_dependencies/noble-hashes/hmac.js +6 -0
  815. package/js/src/static_dependencies/noble-hashes/index.js +6 -0
  816. package/js/src/static_dependencies/noble-hashes/md5.js +6 -0
  817. package/js/src/static_dependencies/noble-hashes/pbkdf2.js +6 -0
  818. package/js/src/static_dependencies/noble-hashes/ripemd160.js +6 -0
  819. package/js/src/static_dependencies/noble-hashes/scrypt.js +6 -0
  820. package/js/src/static_dependencies/noble-hashes/sha1.js +6 -0
  821. package/js/src/static_dependencies/noble-hashes/sha256.js +6 -0
  822. package/js/src/static_dependencies/noble-hashes/sha3-addons.js +6 -0
  823. package/js/src/static_dependencies/noble-hashes/sha3.js +6 -0
  824. package/js/src/static_dependencies/noble-hashes/sha512.js +6 -0
  825. package/js/src/static_dependencies/noble-hashes/utils.js +6 -0
  826. package/js/src/static_dependencies/node-fetch/body.js +6 -0
  827. package/js/src/static_dependencies/node-fetch/errors/abort-error.js +6 -0
  828. package/js/src/static_dependencies/node-fetch/errors/base.js +6 -0
  829. package/js/src/static_dependencies/node-fetch/errors/fetch-error.js +6 -0
  830. package/js/src/static_dependencies/node-fetch/headers.js +6 -0
  831. package/js/src/static_dependencies/node-fetch/index.js +6 -0
  832. package/js/src/static_dependencies/node-fetch/request.js +6 -0
  833. package/js/src/static_dependencies/node-fetch/response.js +6 -0
  834. package/js/src/static_dependencies/node-fetch/utils/get-search.js +6 -0
  835. package/js/src/static_dependencies/node-fetch/utils/is-redirect.js +6 -0
  836. package/js/src/static_dependencies/node-fetch/utils/is.js +6 -0
  837. package/js/src/static_dependencies/node-fetch/utils/referrer.js +6 -0
  838. package/js/src/static_dependencies/proxies/agent-base/helpers.js +6 -0
  839. package/js/src/static_dependencies/proxies/agent-base/index.js +6 -0
  840. package/js/src/static_dependencies/proxies/http-proxy-agent/index.js +6 -0
  841. package/js/src/static_dependencies/proxies/https-proxy-agent/index.js +6 -0
  842. package/js/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +6 -0
  843. package/js/src/static_dependencies/qs/formats.cjs +6 -0
  844. package/js/src/static_dependencies/qs/index.cjs +6 -0
  845. package/js/src/static_dependencies/qs/parse.cjs +6 -0
  846. package/js/src/static_dependencies/qs/stringify.cjs +6 -0
  847. package/js/src/static_dependencies/qs/utils.cjs +6 -0
  848. package/js/src/static_dependencies/scure-base/index.js +6 -0
  849. package/js/src/static_dependencies/scure-starknet/index.js +6 -0
  850. package/js/src/static_dependencies/starknet/constants.js +6 -0
  851. package/js/src/static_dependencies/starknet/index.js +6 -0
  852. package/js/src/static_dependencies/starknet/types/cairoEnum.js +6 -0
  853. package/js/src/static_dependencies/starknet/types/calldata.js +6 -0
  854. package/js/src/static_dependencies/starknet/types/index.js +6 -0
  855. package/js/src/static_dependencies/starknet/types/lib/contract/abi.js +6 -0
  856. package/js/src/static_dependencies/starknet/types/lib/contract/index.js +6 -0
  857. package/js/src/static_dependencies/starknet/types/lib/contract/legacy.js +6 -0
  858. package/js/src/static_dependencies/starknet/types/lib/contract/sierra.js +6 -0
  859. package/js/src/static_dependencies/starknet/types/lib/index.js +6 -0
  860. package/js/src/static_dependencies/starknet/types/typedData.js +6 -0
  861. package/js/src/static_dependencies/starknet/utils/address.js +6 -0
  862. package/js/src/static_dependencies/starknet/utils/assert.js +6 -0
  863. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +6 -0
  864. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +6 -0
  865. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +6 -0
  866. package/js/src/static_dependencies/starknet/utils/calldata/byteArray.js +6 -0
  867. package/js/src/static_dependencies/starknet/utils/calldata/cairo.js +6 -0
  868. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +6 -0
  869. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +6 -0
  870. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +6 -0
  871. package/js/src/static_dependencies/starknet/utils/calldata/enum/index.js +6 -0
  872. package/js/src/static_dependencies/starknet/utils/calldata/formatter.js +6 -0
  873. package/js/src/static_dependencies/starknet/utils/calldata/index.js +6 -0
  874. package/js/src/static_dependencies/starknet/utils/calldata/parser/index.js +6 -0
  875. package/js/src/static_dependencies/starknet/utils/calldata/parser/interface.js +6 -0
  876. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +6 -0
  877. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +6 -0
  878. package/js/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +6 -0
  879. package/js/src/static_dependencies/starknet/utils/calldata/requestParser.js +6 -0
  880. package/js/src/static_dependencies/starknet/utils/calldata/responseParser.js +6 -0
  881. package/js/src/static_dependencies/starknet/utils/calldata/tuple.js +6 -0
  882. package/js/src/static_dependencies/starknet/utils/calldata/validate.js +6 -0
  883. package/js/src/static_dependencies/starknet/utils/encode.js +6 -0
  884. package/js/src/static_dependencies/starknet/utils/hash/classHash.js +6 -0
  885. package/js/src/static_dependencies/starknet/utils/hash/index.js +6 -0
  886. package/js/src/static_dependencies/starknet/utils/merkle.js +6 -0
  887. package/js/src/static_dependencies/starknet/utils/num.js +6 -0
  888. package/js/src/static_dependencies/starknet/utils/selector.js +6 -0
  889. package/js/src/static_dependencies/starknet/utils/shortString.js +6 -0
  890. package/js/src/static_dependencies/starknet/utils/starknetId.js +6 -0
  891. package/js/src/static_dependencies/starknet/utils/typedData.js +6 -0
  892. package/js/src/static_dependencies/starknet/utils/uint256.js +6 -0
  893. package/js/src/static_dependencies/starknet/utils/url.js +6 -0
  894. package/js/src/static_dependencies/watchable/src/index.js +6 -0
  895. package/js/src/static_dependencies/watchable/src/types.js +6 -0
  896. package/js/src/static_dependencies/watchable/src/unpromise.js +6 -0
  897. package/js/src/static_dependencies/zklink/zklink-sdk-web.js +6 -0
  898. package/js/src/timex.js +6 -0
  899. package/js/src/tokocrypto.js +6 -0
  900. package/js/src/tradeogre.js +6 -0
  901. package/js/src/upbit.js +6 -0
  902. package/js/src/vertex.js +6 -0
  903. package/js/src/wavesexchange.js +6 -0
  904. package/js/src/whitebit.js +6 -0
  905. package/js/src/woo.js +6 -0
  906. package/js/src/woofipro.js +6 -0
  907. package/js/src/xt.js +6 -0
  908. package/js/src/yobit.js +6 -0
  909. package/js/src/zaif.js +6 -0
  910. package/js/src/zonda.js +6 -0
  911. package/package.json +1 -1
  912. package/js/src/abstract/bl3p.d.ts +0 -22
  913. package/js/src/abstract/bl3p.js +0 -5
  914. package/js/src/abstract/idex.d.ts +0 -29
  915. package/js/src/abstract/idex.js +0 -5
  916. package/js/src/bl3p.d.ts +0 -116
  917. package/js/src/bl3p.js +0 -546
  918. package/js/src/idex.d.ts +0 -312
  919. package/js/src/idex.js +0 -1955
  920. package/js/src/pro/idex.d.ts +0 -81
  921. package/js/src/pro/idex.js +0 -714
@@ -1,714 +0,0 @@
1
- // ---------------------------------------------------------------------------
2
- import idexRest from '../idex.js';
3
- import { InvalidNonce } from '../base/errors.js';
4
- import { ArrayCache, ArrayCacheByTimestamp, ArrayCacheBySymbolById } from '../base/ws/Cache.js';
5
- import { Precise } from '../base/Precise.js';
6
- // ---------------------------------------------------------------------------
7
- export default class idex extends idexRest {
8
- describe() {
9
- return this.deepExtend(super.describe(), {
10
- 'has': {
11
- 'ws': true,
12
- 'watchOrderBook': true,
13
- 'watchTrades': true,
14
- 'watchOHLCV': true,
15
- 'watchTicker': true,
16
- 'watchTickers': false,
17
- 'watchOrders': true,
18
- 'watchTransactions': true,
19
- },
20
- 'urls': {
21
- 'test': {
22
- 'ws': 'wss://websocket-matic.idex.io/v1',
23
- },
24
- 'api': {},
25
- },
26
- 'options': {
27
- 'tradesLimit': 1000,
28
- 'ordersLimit': 1000,
29
- 'OHLCVLimit': 1000,
30
- 'watchOrderBookLimit': 1000,
31
- 'orderBookSubscriptions': {},
32
- 'token': undefined,
33
- 'watchOrderBook': {
34
- 'maxRetries': 3,
35
- },
36
- 'fetchOrderBookSnapshotMaxAttempts': 10,
37
- 'fetchOrderBookSnapshotMaxDelay': 10000, // throw if there are no orders in 10 seconds
38
- },
39
- });
40
- }
41
- async subscribe(subscribeObject, messageHash, subscription = true) {
42
- const url = this.urls['test']['ws'];
43
- const request = {
44
- 'method': 'subscribe',
45
- 'subscriptions': [
46
- subscribeObject,
47
- ],
48
- };
49
- return await this.watch(url, messageHash, request, messageHash, subscription);
50
- }
51
- async subscribePrivate(subscribeObject, messageHash) {
52
- const token = await this.authenticate();
53
- const url = this.urls['test']['ws'];
54
- const request = {
55
- 'method': 'subscribe',
56
- 'token': token,
57
- 'subscriptions': [
58
- subscribeObject,
59
- ],
60
- };
61
- return await this.watch(url, messageHash, request, messageHash);
62
- }
63
- /**
64
- * @method
65
- * @name idex#watchTicker
66
- * @description watches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
67
- * @see https://api-docs-v4.idex.io/#tickers
68
- * @param {string} symbol unified symbol of the market to fetch the ticker for
69
- * @param {object} [params] extra parameters specific to the exchange API endpoint
70
- * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
71
- */
72
- async watchTicker(symbol, params = {}) {
73
- await this.loadMarkets();
74
- const market = this.market(symbol);
75
- const name = 'tickers';
76
- const subscribeObject = {
77
- 'name': name,
78
- 'markets': [market['id']],
79
- };
80
- const messageHash = name + ':' + market['id'];
81
- return await this.subscribe(this.extend(subscribeObject, params), messageHash);
82
- }
83
- handleTicker(client, message) {
84
- // { type: "tickers",
85
- // "data":
86
- // { m: "DIL-ETH",
87
- // "t": 1599213946045,
88
- // "o": "0.09699020",
89
- // "h": "0.10301548",
90
- // "l": "0.09577222",
91
- // "c": "0.09907311",
92
- // "Q": "1.32723120",
93
- // "v": "297.80667468",
94
- // "q": "29.52142669",
95
- // "P": "2.14",
96
- // "n": 197,
97
- // "a": "0.09912245",
98
- // "b": "0.09686980",
99
- // "u": 5870 } }
100
- const type = this.safeString(message, 'type');
101
- const data = this.safeValue(message, 'data');
102
- const marketId = this.safeString(data, 'm');
103
- const symbol = this.safeSymbol(marketId);
104
- const messageHash = type + ':' + marketId;
105
- const timestamp = this.safeInteger(data, 't');
106
- const close = this.safeString(data, 'c');
107
- const percentage = this.safeString(data, 'P');
108
- let change = undefined;
109
- if ((percentage !== undefined) && (close !== undefined)) {
110
- change = Precise.stringMul(close, percentage);
111
- }
112
- const ticker = this.safeTicker({
113
- 'symbol': symbol,
114
- 'timestamp': timestamp,
115
- 'datetime': this.iso8601(timestamp),
116
- 'high': this.safeString(data, 'h'),
117
- 'low': this.safeString(data, 'l'),
118
- 'bid': this.safeString(data, 'b'),
119
- 'bidVolume': undefined,
120
- 'ask': this.safeString(data, 'a'),
121
- 'askVolume': undefined,
122
- 'vwap': undefined,
123
- 'open': this.safeString(data, 'o'),
124
- 'close': close,
125
- 'last': close,
126
- 'previousClose': undefined,
127
- 'change': change,
128
- 'percentage': percentage,
129
- 'average': undefined,
130
- 'baseVolume': this.safeString(data, 'v'),
131
- 'quoteVolume': this.safeString(data, 'q'),
132
- 'info': message,
133
- });
134
- client.resolve(ticker, messageHash);
135
- }
136
- /**
137
- * @method
138
- * @name idex#watchTrades
139
- * @description get the list of most recent trades for a particular symbol
140
- * @see https://api-docs-v4.idex.io/#trades
141
- * @param {string} symbol unified symbol of the market to fetch trades for
142
- * @param {int} [since] timestamp in ms of the earliest trade to fetch
143
- * @param {int} [limit] the maximum amount of trades to fetch
144
- * @param {object} [params] extra parameters specific to the exchange API endpoint
145
- * @returns {object[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=public-trades}
146
- */
147
- async watchTrades(symbol, since = undefined, limit = undefined, params = {}) {
148
- await this.loadMarkets();
149
- const market = this.market(symbol);
150
- symbol = market['symbol'];
151
- const name = 'trades';
152
- const subscribeObject = {
153
- 'name': name,
154
- 'markets': [market['id']],
155
- };
156
- const messageHash = name + ':' + market['id'];
157
- const trades = await this.subscribe(subscribeObject, messageHash);
158
- if (this.newUpdates) {
159
- limit = trades.getLimit(symbol, limit);
160
- }
161
- return this.filterBySinceLimit(trades, since, limit, 'timestamp', true);
162
- }
163
- handleTrade(client, message) {
164
- const type = this.safeString(message, 'type');
165
- const data = this.safeValue(message, 'data');
166
- const marketId = this.safeString(data, 'm');
167
- const messageHash = type + ':' + marketId;
168
- const trade = this.parseWsTrade(data);
169
- const keys = Object.keys(this.trades);
170
- const length = keys.length;
171
- if (length === 0) {
172
- const limit = this.safeInteger(this.options, 'tradesLimit');
173
- this.trades = new ArrayCacheBySymbolById(limit);
174
- }
175
- const trades = this.trades;
176
- trades.append(trade);
177
- client.resolve(trades, messageHash);
178
- }
179
- parseWsTrade(trade, market = undefined) {
180
- // public trades
181
- // { m: "DIL-ETH",
182
- // "i": "897ecae6-4b75-368a-ac00-be555e6ad65f",
183
- // "p": "0.09696995",
184
- // "q": "2.00000000",
185
- // "Q": "0.19393990",
186
- // "t": 1599504616247,
187
- // "s": "buy",
188
- // "u": 6620 }
189
- // private trades
190
- // { i: "ee253d78-88be-37ed-a61c-a36395c2ce48",
191
- // "p": "0.09925382",
192
- // "q": "0.15000000",
193
- // "Q": "0.01488807",
194
- // "t": 1599499129369,
195
- // "s": "sell",
196
- // "u": 6603,
197
- // "f": "0.00030000",
198
- // "a": "DIL",
199
- // "g": "0.00856110",
200
- // "l": "maker",
201
- // "S": "pending" }
202
- const marketId = this.safeString(trade, 'm');
203
- const symbol = this.safeSymbol(marketId);
204
- const id = this.safeString(trade, 'i');
205
- const price = this.safeString(trade, 'p');
206
- const amount = this.safeString(trade, 'q');
207
- const cost = this.safeString(trade, 'Q');
208
- const timestamp = this.safeInteger(trade, 't');
209
- const side = this.safeString(trade, 's');
210
- const fee = {
211
- 'currency': this.safeString(trade, 'a'),
212
- 'cost': this.safeString(trade, 'f'),
213
- };
214
- const takerOrMarker = this.safeString(trade, 'l');
215
- return this.safeTrade({
216
- 'info': trade,
217
- 'timestamp': timestamp,
218
- 'datetime': this.iso8601(timestamp),
219
- 'symbol': symbol,
220
- 'id': id,
221
- 'order': undefined,
222
- 'type': undefined,
223
- 'takerOrMaker': takerOrMarker,
224
- 'side': side,
225
- 'price': price,
226
- 'amount': amount,
227
- 'cost': cost,
228
- 'fee': fee,
229
- });
230
- }
231
- /**
232
- * @method
233
- * @name idex#watchOHLCV
234
- * @description watches historical candlestick data containing the open, high, low, and close price, and the volume of a market
235
- * @see https://api-docs-v4.idex.io/#candles
236
- * @param {string} symbol unified symbol of the market to fetch OHLCV data for
237
- * @param {string} timeframe the length of time each candle represents
238
- * @param {int} [since] timestamp in ms of the earliest candle to fetch
239
- * @param {int} [limit] the maximum amount of candles to fetch
240
- * @param {object} [params] extra parameters specific to the exchange API endpoint
241
- * @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
242
- */
243
- async watchOHLCV(symbol, timeframe = '1m', since = undefined, limit = undefined, params = {}) {
244
- await this.loadMarkets();
245
- const market = this.market(symbol);
246
- symbol = market['symbol'];
247
- const name = 'candles';
248
- const interval = this.safeString(this.timeframes, timeframe, timeframe);
249
- const subscribeObject = {
250
- 'name': name,
251
- 'markets': [market['id']],
252
- 'interval': interval,
253
- };
254
- const messageHash = name + ':' + market['id'];
255
- const ohlcv = await this.subscribe(subscribeObject, messageHash);
256
- if (this.newUpdates) {
257
- limit = ohlcv.getLimit(symbol, limit);
258
- }
259
- return this.filterBySinceLimit(ohlcv, since, limit, 0, true);
260
- }
261
- handleOHLCV(client, message) {
262
- // { type: "candles",
263
- // "data":
264
- // { m: "DIL-ETH",
265
- // "t": 1599477340109,
266
- // "i": "1m",
267
- // "s": 1599477300000,
268
- // "e": 1599477360000,
269
- // "o": "0.09911040",
270
- // "h": "0.09911040",
271
- // "l": "0.09911040",
272
- // "c": "0.09911040",
273
- // "v": "0.15000000",
274
- // "n": 1,
275
- // "u": 6531 } }
276
- const type = this.safeString(message, 'type');
277
- const data = this.safeValue(message, 'data');
278
- const marketId = this.safeString(data, 'm');
279
- const messageHash = type + ':' + marketId;
280
- const parsed = [
281
- this.safeInteger(data, 's'),
282
- this.safeFloat(data, 'o'),
283
- this.safeFloat(data, 'h'),
284
- this.safeFloat(data, 'l'),
285
- this.safeFloat(data, 'c'),
286
- this.safeFloat(data, 'v'),
287
- ];
288
- const symbol = this.safeSymbol(marketId);
289
- const interval = this.safeString(data, 'i');
290
- const timeframe = this.findTimeframe(interval);
291
- // TODO: move to base class
292
- this.ohlcvs[symbol] = this.safeValue(this.ohlcvs, symbol, {});
293
- let stored = this.safeValue(this.ohlcvs[symbol], timeframe);
294
- if (stored === undefined) {
295
- const limit = this.safeInteger(this.options, 'OHLCVLimit', 1000);
296
- stored = new ArrayCacheByTimestamp(limit);
297
- this.ohlcvs[symbol][timeframe] = stored;
298
- }
299
- stored.append(parsed);
300
- client.resolve(stored, messageHash);
301
- }
302
- handleSubscribeMessage(client, message) {
303
- // {
304
- // "type": "subscriptions",
305
- // "subscriptions": [
306
- // {
307
- // "name": "l2orderbook",
308
- // "markets": [
309
- // "DIL-ETH"
310
- // ]
311
- // }
312
- // ]
313
- // }
314
- const subscriptions = this.safeValue(message, 'subscriptions');
315
- for (let i = 0; i < subscriptions.length; i++) {
316
- const subscription = subscriptions[i];
317
- const name = this.safeString(subscription, 'name');
318
- if (name === 'l2orderbook') {
319
- const markets = this.safeValue(subscription, 'markets');
320
- for (let j = 0; j < markets.length; j++) {
321
- const marketId = markets[j];
322
- const orderBookSubscriptions = this.safeValue(this.options, 'orderBookSubscriptions', {});
323
- if (!(marketId in orderBookSubscriptions)) {
324
- const symbol = this.safeSymbol(marketId);
325
- if (!(symbol in this.orderbooks)) {
326
- const orderbook = this.countedOrderBook({});
327
- // orderbook.cache = []; // cache is never used?
328
- this.orderbooks[symbol] = orderbook;
329
- }
330
- this.spawn(this.fetchOrderBookSnapshot, client, symbol);
331
- }
332
- }
333
- break;
334
- }
335
- }
336
- }
337
- async fetchOrderBookSnapshot(client, symbol, params = {}) {
338
- const orderbook = this.orderbooks[symbol];
339
- const market = this.market(symbol);
340
- const messageHash = 'l2orderbook' + ':' + market['id'];
341
- const subscription = client.subscriptions[messageHash];
342
- if (!subscription['fetchingOrderBookSnapshot']) {
343
- subscription['startTime'] = this.milliseconds();
344
- }
345
- subscription['fetchingOrderBookSnapshot'] = true;
346
- const maxAttempts = this.safeInteger(this.options, 'fetchOrderBookSnapshotMaxAttempts', 10);
347
- const maxDelay = this.safeInteger(this.options, 'fetchOrderBookSnapshotMaxDelay', 10000);
348
- try {
349
- const limit = this.safeInteger(subscription, 'limit', 0);
350
- // 3. Request a level-2 order book snapshot for the market from the REST API Order Books endpoint with limit set to 0.
351
- const snapshot = await this.fetchRestOrderBookSafe(symbol, limit);
352
- const firstBuffered = this.safeValue(orderbook.cache, 0);
353
- const firstData = this.safeValue(firstBuffered, 'data');
354
- const firstNonce = this.safeInteger(firstData, 'u');
355
- const length = orderbook.cache.length;
356
- const lastBuffered = this.safeValue(orderbook.cache, length - 1);
357
- const lastData = this.safeValue(lastBuffered, 'data');
358
- const lastNonce = this.safeInteger(lastData, 'u');
359
- const bothExist = (firstNonce !== undefined) && (lastNonce !== undefined);
360
- // ensure the snapshot is inside the range of our cached messages
361
- // for example if the snapshot nonce is 100
362
- // the first nonce must be less than or equal to 101 and the last nonce must be greater than 101
363
- if (bothExist && (firstNonce <= snapshot['nonce'] + 1) && (lastNonce > snapshot['nonce'])) {
364
- orderbook.reset(snapshot);
365
- for (let i = 0; i < orderbook.cache.length; i++) {
366
- const message = orderbook.cache[i];
367
- const data = this.safeValue(message, 'data');
368
- const u = this.safeInteger(data, 'u');
369
- if (u > orderbook['nonce']) {
370
- // 5. Discard all order book update messages with sequence numbers less than or equal to the snapshot sequence number.
371
- // 6. Apply the remaining buffered order book update messages and any incoming order book update messages to the order book snapshot.
372
- this.handleOrderBookMessage(client, message, orderbook);
373
- }
374
- }
375
- subscription['fetchingOrderBookSnapshot'] = false;
376
- client.resolve(orderbook, messageHash);
377
- }
378
- else {
379
- // 4. If the sequence in the order book snapshot is less than the sequence of the
380
- // first buffered order book update message, discard the order book snapshot and retry step 3.
381
- // this will continue to recurse until we have a buffered message
382
- // since updates the order book endpoint depend on order events
383
- // so it will eventually throw if there are no orders on a pair
384
- subscription['numAttempts'] = subscription['numAttempts'] + 1;
385
- const timeElapsed = this.milliseconds() - subscription['startTime'];
386
- const maxAttemptsValid = subscription['numAttempts'] < maxAttempts;
387
- const timeElapsedValid = timeElapsed < maxDelay;
388
- if (maxAttemptsValid && timeElapsedValid) {
389
- this.delay(this.rateLimit, this.fetchOrderBookSnapshot, client, symbol);
390
- }
391
- else {
392
- const endpart = (!maxAttemptsValid) ? ' in ' + maxAttempts.toString() + ' attempts' : ' after ' + maxDelay.toString() + ' milliseconds';
393
- throw new InvalidNonce(this.id + ' failed to synchronize WebSocket feed with the snapshot for symbol ' + symbol + endpart);
394
- }
395
- }
396
- }
397
- catch (e) {
398
- subscription['fetchingOrderBookSnapshot'] = false;
399
- client.reject(e, messageHash);
400
- }
401
- }
402
- /**
403
- * @method
404
- * @name idex#watchOrderBook
405
- * @description watches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
406
- * @see https://api-docs-v4.idex.io/#l2-order-book
407
- * @param {string} symbol unified symbol of the market to fetch the order book for
408
- * @param {int} [limit] the maximum amount of order book entries to return
409
- * @param {object} [params] extra parameters specific to the exchange API endpoint
410
- * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
411
- */
412
- async watchOrderBook(symbol, limit = undefined, params = {}) {
413
- await this.loadMarkets();
414
- const market = this.market(symbol);
415
- const name = 'l2orderbook';
416
- const subscribeObject = {
417
- 'name': name,
418
- 'markets': [market['id']],
419
- };
420
- const messageHash = name + ':' + market['id'];
421
- const subscription = {
422
- 'fetchingOrderBookSnapshot': false,
423
- 'numAttempts': 0,
424
- 'startTime': undefined,
425
- };
426
- if (limit === undefined) {
427
- subscription['limit'] = 1000;
428
- }
429
- else {
430
- subscription['limit'] = limit;
431
- }
432
- // 1. Connect to the WebSocket API endpoint and subscribe to the L2 Order Book for the target market.
433
- const orderbook = await this.subscribe(subscribeObject, messageHash, subscription);
434
- return orderbook.limit();
435
- }
436
- handleOrderBook(client, message) {
437
- const data = this.safeValue(message, 'data');
438
- const marketId = this.safeString(data, 'm');
439
- const symbol = this.safeSymbol(marketId);
440
- const orderbook = this.orderbooks[symbol];
441
- if (orderbook['nonce'] === undefined) {
442
- // 2. Buffer the incoming order book update subscription messages.
443
- orderbook.cache.push(message);
444
- }
445
- else {
446
- this.handleOrderBookMessage(client, message, orderbook);
447
- }
448
- }
449
- handleOrderBookMessage(client, message, orderbook) {
450
- // {
451
- // "type": "l2orderbook",
452
- // "data": {
453
- // "m": "DIL-ETH",
454
- // "t": 1600197205037,
455
- // "u": 94116643,
456
- // "b": [
457
- // [
458
- // "0.09662187",
459
- // "0.00000000",
460
- // 0
461
- // ]
462
- // ],
463
- // "a": []
464
- // }
465
- // }
466
- const type = this.safeString(message, 'type');
467
- const data = this.safeValue(message, 'data');
468
- const marketId = this.safeString(data, 'm');
469
- const messageHash = type + ':' + marketId;
470
- const nonce = this.safeInteger(data, 'u');
471
- const timestamp = this.safeInteger(data, 't');
472
- const bids = this.safeValue(data, 'b');
473
- const asks = this.safeValue(data, 'a');
474
- this.handleDeltas(orderbook['bids'], bids);
475
- this.handleDeltas(orderbook['asks'], asks);
476
- orderbook['nonce'] = nonce;
477
- orderbook['timestamp'] = timestamp;
478
- orderbook['datetime'] = this.iso8601(timestamp);
479
- client.resolve(orderbook, messageHash);
480
- }
481
- handleDelta(bookside, delta) {
482
- const price = this.safeFloat(delta, 0);
483
- const amount = this.safeFloat(delta, 1);
484
- const count = this.safeInteger(delta, 2);
485
- bookside.storeArray([price, amount, count]);
486
- }
487
- handleDeltas(bookside, deltas) {
488
- for (let i = 0; i < deltas.length; i++) {
489
- this.handleDelta(bookside, deltas[i]);
490
- }
491
- }
492
- async authenticate(params = {}) {
493
- const time = this.seconds();
494
- const lastAuthenticatedTime = this.safeInteger(this.options, 'lastAuthenticatedTime', 0);
495
- if (time - lastAuthenticatedTime > 900) {
496
- const request = {
497
- 'wallet': this.walletAddress,
498
- 'nonce': this.uuidv1(),
499
- };
500
- const response = await this.privateGetWsToken(this.extend(request, params));
501
- this.options['lastAuthenticatedTime'] = time;
502
- this.options['token'] = this.safeString(response, 'token');
503
- }
504
- return this.options['token'];
505
- }
506
- /**
507
- * @method
508
- * @name idex#watchOrders
509
- * @description watches information on multiple orders made by the user
510
- * @see https://api-docs-v4.idex.io/#orders
511
- * @param {string} symbol unified market symbol of the market orders were made in
512
- * @param {int} [since] the earliest time in ms to fetch orders for
513
- * @param {int} [limit] the maximum number of order structures to retrieve
514
- * @param {object} [params] extra parameters specific to the exchange API endpoint
515
- * @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
516
- */
517
- async watchOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
518
- await this.loadMarkets();
519
- const name = 'orders';
520
- const subscribeObject = {
521
- 'name': name,
522
- };
523
- let messageHash = name;
524
- if (symbol !== undefined) {
525
- symbol = this.symbol(symbol);
526
- const marketId = this.marketId(symbol);
527
- subscribeObject['markets'] = [marketId];
528
- messageHash = name + ':' + marketId;
529
- }
530
- const orders = await this.subscribePrivate(subscribeObject, messageHash);
531
- if (this.newUpdates) {
532
- limit = orders.getLimit(symbol, limit);
533
- }
534
- return this.filterBySinceLimit(orders, since, limit, 'timestamp', true);
535
- }
536
- handleOrder(client, message) {
537
- // {
538
- // "type": "orders",
539
- // "data": {
540
- // "m": "DIL-ETH",
541
- // "i": "8f75dd30-f12d-11ea-b63c-df3381b4b5b4",
542
- // "w": "0x0AB991497116f7F5532a4c2f4f7B1784488628e1",
543
- // "t": 1599498857138,
544
- // "T": 1599498857092,
545
- // "x": "fill",
546
- // "X": "filled",
547
- // "u": 67695627,
548
- // "o": "limit",
549
- // "S": "buy",
550
- // "q": "0.15000000",
551
- // "z": "0.15000000",
552
- // "Z": "0.01486286",
553
- // "v": "0.09908573",
554
- // "p": "1.00000000",
555
- // "f": "gtc",
556
- // "V": "2",
557
- // "F": [
558
- // {
559
- // "i": "5cdc6d14-bc35-3279-ab5e-40d654ca1523",
560
- // "p": "0.09908577",
561
- // "q": "0.15000000",
562
- // "Q": "0.01486286",
563
- // "t": 1599498857092,
564
- // "s": "sell",
565
- // "u": 6600,
566
- // "f": "0.00030000",
567
- // "a": "DIL",
568
- // "g": "0.00856977",
569
- // "l": "maker",
570
- // "S": "pending"
571
- // }
572
- // ]
573
- // }
574
- // }
575
- const type = this.safeString(message, 'type');
576
- const order = this.safeValue(message, 'data');
577
- const marketId = this.safeString(order, 'm');
578
- const symbol = this.safeSymbol(marketId);
579
- const timestamp = this.safeInteger(order, 't');
580
- const fills = this.safeValue(order, 'F', []);
581
- const trades = [];
582
- for (let i = 0; i < fills.length; i++) {
583
- trades.push(this.parseWsTrade(fills[i]));
584
- }
585
- const id = this.safeString(order, 'i');
586
- const side = this.safeString(order, 's');
587
- const orderType = this.safeString(order, 'o');
588
- const amount = this.safeString(order, 'q');
589
- const filled = this.safeString(order, 'z');
590
- const average = this.safeString(order, 'v');
591
- const price = this.safeString(order, 'price', average); // for market orders
592
- const rawStatus = this.safeString(order, 'X');
593
- const status = this.parseOrderStatus(rawStatus);
594
- const fee = {
595
- 'currency': undefined,
596
- 'cost': undefined,
597
- };
598
- let lastTrade = undefined;
599
- for (let i = 0; i < trades.length; i++) {
600
- lastTrade = trades[i];
601
- fee['currency'] = lastTrade['fee']['currency'];
602
- const stringLastTradeFee = lastTrade['fee']['cost'];
603
- fee['cost'] = Precise.stringAdd(fee['cost'], stringLastTradeFee);
604
- }
605
- const lastTradeTimestamp = this.safeInteger(lastTrade, 'timestamp');
606
- const parsedOrder = this.safeOrder({
607
- 'info': message,
608
- 'id': id,
609
- 'clientOrderId': undefined,
610
- 'timestamp': timestamp,
611
- 'datetime': this.iso8601(timestamp),
612
- 'lastTradeTimestamp': lastTradeTimestamp,
613
- 'symbol': symbol,
614
- 'type': orderType,
615
- 'side': side,
616
- 'price': this.parseNumber(price),
617
- 'stopPrice': undefined,
618
- 'triggerPrice': undefined,
619
- 'amount': this.parseNumber(amount),
620
- 'cost': undefined,
621
- 'average': this.parseNumber(average),
622
- 'filled': this.parseNumber(filled),
623
- 'remaining': undefined,
624
- 'status': status,
625
- 'fee': fee,
626
- 'trades': trades,
627
- });
628
- if (this.orders === undefined) {
629
- const limit = this.safeInteger(this.options, 'ordersLimit', 1000);
630
- this.orders = new ArrayCacheBySymbolById(limit);
631
- }
632
- const orders = this.orders;
633
- orders.append(parsedOrder);
634
- const symbolSpecificMessageHash = type + ':' + marketId;
635
- client.resolve(orders, symbolSpecificMessageHash);
636
- client.resolve(orders, type);
637
- }
638
- async watchTransactions(code = undefined, since = undefined, limit = undefined, params = {}) {
639
- await this.loadMarkets();
640
- const name = 'balances';
641
- const subscribeObject = {
642
- 'name': name,
643
- };
644
- let messageHash = name;
645
- if (code !== undefined) {
646
- messageHash = name + ':' + code;
647
- }
648
- const transactions = await this.subscribePrivate(subscribeObject, messageHash);
649
- if (this.newUpdates) {
650
- limit = transactions.getLimit(code, limit);
651
- }
652
- return this.filterBySinceLimit(transactions, since, limit, 'timestamp');
653
- }
654
- handleTransaction(client, message) {
655
- // Update Speed: Real time, updates on any deposit or withdrawal of the wallet
656
- // { type: "balances",
657
- // "data":
658
- // { w: "0x0AB991497116f7F5532a4c2f4f7B1784488628e1",
659
- // "a": "ETH",
660
- // "q": "0.11198667",
661
- // "f": "0.11198667",
662
- // "l": "0.00000000",
663
- // "d": "0.00" } }
664
- const type = this.safeString(message, 'type');
665
- const data = this.safeValue(message, 'data');
666
- const currencyId = this.safeString(data, 'a');
667
- const messageHash = type + ':' + currencyId;
668
- const code = this.safeCurrencyCode(currencyId);
669
- const address = this.safeString(data, 'w');
670
- const transaction = {
671
- 'info': message,
672
- 'id': undefined,
673
- 'currency': code,
674
- 'amount': undefined,
675
- 'address': address,
676
- 'addressTo': undefined,
677
- 'addressFrom': undefined,
678
- 'tag': undefined,
679
- 'tagTo': undefined,
680
- 'tagFrom': undefined,
681
- 'status': 'ok',
682
- 'type': undefined,
683
- 'updated': undefined,
684
- 'txid': undefined,
685
- 'timestamp': undefined,
686
- 'datetime': undefined,
687
- 'fee': undefined,
688
- };
689
- if (!(code in this.transactions)) {
690
- const limit = this.safeInteger(this.options, 'transactionsLimit', 1000);
691
- this.transactions[code] = new ArrayCache(limit);
692
- }
693
- const transactions = this.transactions[code];
694
- transactions.append(transaction);
695
- client.resolve(transactions, messageHash);
696
- client.resolve(transactions, type);
697
- }
698
- handleMessage(client, message) {
699
- const type = this.safeString(message, 'type');
700
- const methods = {
701
- 'tickers': this.handleTicker,
702
- 'trades': this.handleTrade,
703
- 'subscriptions': this.handleSubscribeMessage,
704
- 'candles': this.handleOHLCV,
705
- 'l2orderbook': this.handleOrderBook,
706
- 'balances': this.handleTransaction,
707
- 'orders': this.handleOrder,
708
- };
709
- if (type in methods) {
710
- const method = methods[type];
711
- method.call(this, client, message);
712
- }
713
- }
714
- }