ccxt 4.4.71 → 4.4.73

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 (928) hide show
  1. package/README.md +4 -4
  2. package/dist/ccxt.browser.min.js +3 -3
  3. package/dist/cjs/ccxt.js +1 -6
  4. package/dist/cjs/src/abstract/ace.js +1 -1
  5. package/dist/cjs/src/abstract/alpaca.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/bitfinex1.js +1 -1
  15. package/dist/cjs/src/abstract/bitflyer.js +1 -1
  16. package/dist/cjs/src/abstract/bitget.js +1 -1
  17. package/dist/cjs/src/abstract/bithumb.js +1 -1
  18. package/dist/cjs/src/abstract/bitmart.js +1 -1
  19. package/dist/cjs/src/abstract/bitmex.js +1 -1
  20. package/dist/cjs/src/abstract/bitopro.js +1 -1
  21. package/dist/cjs/src/abstract/bitrue.js +1 -1
  22. package/dist/cjs/src/abstract/bitso.js +1 -1
  23. package/dist/cjs/src/abstract/bitstamp.js +1 -1
  24. package/dist/cjs/src/abstract/bitteam.js +1 -1
  25. package/dist/cjs/src/abstract/bitvavo.js +1 -1
  26. package/dist/cjs/src/abstract/bl3p.js +1 -1
  27. package/dist/cjs/src/abstract/blockchaincom.js +1 -1
  28. package/dist/cjs/src/abstract/blofin.js +1 -1
  29. package/dist/cjs/src/abstract/btcalpha.js +1 -1
  30. package/dist/cjs/src/abstract/btcbox.js +1 -1
  31. package/dist/cjs/src/abstract/btcmarkets.js +1 -1
  32. package/dist/cjs/src/abstract/btcturk.js +1 -1
  33. package/dist/cjs/src/abstract/bybit.js +1 -1
  34. package/dist/cjs/src/abstract/cex.js +1 -1
  35. package/dist/cjs/src/abstract/coinbase.js +1 -1
  36. package/dist/cjs/src/abstract/coinbaseexchange.js +1 -1
  37. package/dist/cjs/src/abstract/coinbaseinternational.js +1 -1
  38. package/dist/cjs/src/abstract/coincatch.js +1 -1
  39. package/dist/cjs/src/abstract/coincheck.js +1 -1
  40. package/dist/cjs/src/abstract/coinex.js +1 -1
  41. package/dist/cjs/src/abstract/coinlist.js +1 -1
  42. package/dist/cjs/src/abstract/coinmate.js +1 -1
  43. package/dist/cjs/src/abstract/coinmetro.js +1 -1
  44. package/dist/cjs/src/abstract/coinone.js +1 -1
  45. package/dist/cjs/src/abstract/coinsph.js +1 -1
  46. package/dist/cjs/src/abstract/coinspot.js +1 -1
  47. package/dist/cjs/src/abstract/cryptocom.js +1 -1
  48. package/dist/cjs/src/abstract/cryptomus.js +1 -1
  49. package/dist/cjs/src/abstract/defx.js +1 -1
  50. package/dist/cjs/src/abstract/delta.js +1 -1
  51. package/dist/cjs/src/abstract/deribit.js +1 -1
  52. package/dist/cjs/src/abstract/derive.js +1 -1
  53. package/dist/cjs/src/abstract/digifinex.js +1 -1
  54. package/dist/cjs/src/abstract/ellipx.js +1 -1
  55. package/dist/cjs/src/abstract/exmo.js +1 -1
  56. package/dist/cjs/src/abstract/gate.js +1 -1
  57. package/dist/cjs/src/abstract/gemini.js +1 -1
  58. package/dist/cjs/src/abstract/hashkey.js +1 -1
  59. package/dist/cjs/src/abstract/hitbtc.js +1 -1
  60. package/dist/cjs/src/abstract/hollaex.js +1 -1
  61. package/dist/cjs/src/abstract/htx.js +1 -1
  62. package/dist/cjs/src/abstract/huobijp.js +1 -1
  63. package/dist/cjs/src/abstract/hyperliquid.js +1 -1
  64. package/dist/cjs/src/abstract/idex.js +1 -1
  65. package/dist/cjs/src/abstract/independentreserve.js +1 -1
  66. package/dist/cjs/src/abstract/indodax.js +1 -1
  67. package/dist/cjs/src/abstract/kraken.js +1 -1
  68. package/dist/cjs/src/abstract/krakenfutures.js +1 -1
  69. package/dist/cjs/src/abstract/kucoin.js +1 -1
  70. package/dist/cjs/src/abstract/kucoinfutures.js +1 -1
  71. package/dist/cjs/src/abstract/kuna.js +1 -1
  72. package/dist/cjs/src/abstract/latoken.js +1 -1
  73. package/dist/cjs/src/abstract/lbank.js +1 -1
  74. package/dist/cjs/src/abstract/luno.js +1 -1
  75. package/dist/cjs/src/abstract/mercado.js +1 -1
  76. package/dist/cjs/src/abstract/mexc.js +1 -1
  77. package/dist/cjs/src/abstract/ndax.js +1 -1
  78. package/dist/cjs/src/abstract/novadax.js +1 -1
  79. package/dist/cjs/src/abstract/oceanex.js +1 -1
  80. package/dist/cjs/src/abstract/okcoin.js +1 -1
  81. package/dist/cjs/src/abstract/okx.js +1 -1
  82. package/dist/cjs/src/abstract/onetrading.js +1 -1
  83. package/dist/cjs/src/abstract/oxfun.js +1 -1
  84. package/dist/cjs/src/abstract/p2b.js +1 -1
  85. package/dist/cjs/src/abstract/paradex.js +1 -1
  86. package/dist/cjs/src/abstract/paymium.js +1 -1
  87. package/dist/cjs/src/abstract/phemex.js +1 -1
  88. package/dist/cjs/src/abstract/poloniex.js +1 -1
  89. package/dist/cjs/src/abstract/probit.js +1 -1
  90. package/dist/cjs/src/abstract/timex.js +1 -1
  91. package/dist/cjs/src/abstract/tokocrypto.js +1 -1
  92. package/dist/cjs/src/abstract/tradeogre.js +1 -1
  93. package/dist/cjs/src/abstract/upbit.js +1 -1
  94. package/dist/cjs/src/abstract/vertex.js +1 -1
  95. package/dist/cjs/src/abstract/wavesexchange.js +1 -1
  96. package/dist/cjs/src/abstract/whitebit.js +1 -1
  97. package/dist/cjs/src/abstract/woo.js +1 -1
  98. package/dist/cjs/src/abstract/woofipro.js +1 -1
  99. package/dist/cjs/src/abstract/xt.js +1 -1
  100. package/dist/cjs/src/abstract/yobit.js +1 -1
  101. package/dist/cjs/src/abstract/zaif.js +1 -1
  102. package/dist/cjs/src/abstract/zonda.js +1 -1
  103. package/dist/cjs/src/ace.js +43 -8
  104. package/dist/cjs/src/alpaca.js +47 -1
  105. package/dist/cjs/src/ascendex.js +3 -3
  106. package/dist/cjs/src/base/Exchange.js +17 -17
  107. package/dist/cjs/src/base/Precise.js +6 -0
  108. package/dist/cjs/src/base/errors.js +6 -0
  109. package/dist/cjs/src/base/functions/crypto.js +1 -1
  110. package/dist/cjs/src/base/functions/encode.js +1 -1
  111. package/dist/cjs/src/base/functions/misc.js +1 -0
  112. package/dist/cjs/src/base/functions/number.js +6 -0
  113. package/dist/cjs/src/base/functions/platform.js +6 -0
  114. package/dist/cjs/src/base/functions/rsa.js +1 -0
  115. package/dist/cjs/src/base/functions/string.js +6 -0
  116. package/dist/cjs/src/base/functions/throttle.js +1 -1
  117. package/dist/cjs/src/base/functions/time.js +6 -0
  118. package/dist/cjs/src/base/functions/totp.js +1 -0
  119. package/dist/cjs/src/base/functions/type.js +6 -0
  120. package/dist/cjs/src/base/functions.js +1 -1
  121. package/dist/cjs/src/base/ws/Cache.js +6 -0
  122. package/dist/cjs/src/base/ws/Client.js +1 -0
  123. package/dist/cjs/src/base/ws/Future.js +1 -1
  124. package/dist/cjs/src/base/ws/OrderBook.js +1 -1
  125. package/dist/cjs/src/base/ws/OrderBookSide.js +6 -0
  126. package/dist/cjs/src/base/ws/WsClient.js +1 -1
  127. package/dist/cjs/src/bequant.js +1 -1
  128. package/dist/cjs/src/bigone.js +1 -1
  129. package/dist/cjs/src/binance.js +22 -17
  130. package/dist/cjs/src/binancecoinm.js +1 -1
  131. package/dist/cjs/src/binanceus.js +1 -1
  132. package/dist/cjs/src/binanceusdm.js +1 -1
  133. package/dist/cjs/src/bingx.js +3 -3
  134. package/dist/cjs/src/bit2c.js +12 -1
  135. package/dist/cjs/src/bitbank.js +1 -1
  136. package/dist/cjs/src/bitbns.js +1 -1
  137. package/dist/cjs/src/bitcoincom.js +1 -1
  138. package/dist/cjs/src/bitfinex.js +1 -1
  139. package/dist/cjs/src/bitfinex1.js +1 -1
  140. package/dist/cjs/src/bitflyer.js +1 -1
  141. package/dist/cjs/src/bitget.js +8 -6
  142. package/dist/cjs/src/bithumb.js +1 -1
  143. package/dist/cjs/src/bitmart.js +1 -1
  144. package/dist/cjs/src/bitmex.js +1 -1
  145. package/dist/cjs/src/bitopro.js +1 -1
  146. package/dist/cjs/src/bitpanda.js +1 -1
  147. package/dist/cjs/src/bitrue.js +2 -2
  148. package/dist/cjs/src/bitso.js +1 -1
  149. package/dist/cjs/src/bitstamp.js +1 -1
  150. package/dist/cjs/src/bitteam.js +1 -1
  151. package/dist/cjs/src/bl3p.js +1 -1
  152. package/dist/cjs/src/blockchaincom.js +1 -1
  153. package/dist/cjs/src/blofin.js +1 -1
  154. package/dist/cjs/src/btcalpha.js +1 -1
  155. package/dist/cjs/src/btcbox.js +1 -1
  156. package/dist/cjs/src/btcmarkets.js +1 -1
  157. package/dist/cjs/src/btcturk.js +1 -1
  158. package/dist/cjs/src/bybit.js +10 -1
  159. package/dist/cjs/src/cex.js +2 -1
  160. package/dist/cjs/src/coinbase.js +2 -1
  161. package/dist/cjs/src/coinbaseadvanced.js +1 -1
  162. package/dist/cjs/src/coinbaseexchange.js +1 -0
  163. package/dist/cjs/src/coinbaseinternational.js +1 -0
  164. package/dist/cjs/src/coincatch.js +1 -1
  165. package/dist/cjs/src/coincheck.js +1 -1
  166. package/dist/cjs/src/coinex.js +1 -1
  167. package/dist/cjs/src/coinlist.js +1 -0
  168. package/dist/cjs/src/coinmate.js +1 -1
  169. package/dist/cjs/src/coinmetro.js +1 -1
  170. package/dist/cjs/src/coinone.js +1 -1
  171. package/dist/cjs/src/coinsph.js +1 -0
  172. package/dist/cjs/src/coinspot.js +1 -1
  173. package/dist/cjs/src/cryptocom.js +1 -1
  174. package/dist/cjs/src/cryptomus.js +1 -1
  175. package/dist/cjs/src/defx.js +2 -2
  176. package/dist/cjs/src/delta.js +1 -1
  177. package/dist/cjs/src/deribit.js +2 -1
  178. package/dist/cjs/src/derive.js +16 -8
  179. package/dist/cjs/src/digifinex.js +1 -1
  180. package/dist/cjs/src/ellipx.js +1 -1
  181. package/dist/cjs/src/exmo.js +1 -1
  182. package/dist/cjs/src/fmfwio.js +1 -1
  183. package/dist/cjs/src/gate.js +5 -1
  184. package/dist/cjs/src/gateio.js +1 -1
  185. package/dist/cjs/src/gemini.js +2 -1
  186. package/dist/cjs/src/hashkey.js +1 -1
  187. package/dist/cjs/src/hitbtc.js +1 -0
  188. package/dist/cjs/src/hollaex.js +1 -1
  189. package/dist/cjs/src/htx.js +1 -1
  190. package/dist/cjs/src/huobi.js +1 -1
  191. package/dist/cjs/src/huobijp.js +1 -1
  192. package/dist/cjs/src/hyperliquid.js +41 -1
  193. package/dist/cjs/src/idex.js +1 -1
  194. package/dist/cjs/src/independentreserve.js +1 -1
  195. package/dist/cjs/src/indodax.js +1 -1
  196. package/dist/cjs/src/kraken.js +1 -1
  197. package/dist/cjs/src/krakenfutures.js +5 -1
  198. package/dist/cjs/src/kucoin.js +1 -1
  199. package/dist/cjs/src/kucoinfutures.js +1 -1
  200. package/dist/cjs/src/kuna.js +1 -1
  201. package/dist/cjs/src/latoken.js +1 -1
  202. package/dist/cjs/src/lbank.js +1 -1
  203. package/dist/cjs/src/luno.js +1 -1
  204. package/dist/cjs/src/mercado.js +1 -1
  205. package/dist/cjs/src/mexc.js +1 -1
  206. package/dist/cjs/src/myokx.js +1 -1
  207. package/dist/cjs/src/ndax.js +1 -1
  208. package/dist/cjs/src/novadax.js +1 -1
  209. package/dist/cjs/src/oceanex.js +1 -1
  210. package/dist/cjs/src/okcoin.js +5 -1
  211. package/dist/cjs/src/okx.js +23 -33
  212. package/dist/cjs/src/onetrading.js +1 -1
  213. package/dist/cjs/src/oxfun.js +1 -1
  214. package/dist/cjs/src/p2b.js +1 -1
  215. package/dist/cjs/src/paradex.js +70 -10
  216. package/dist/cjs/src/paymium.js +1 -1
  217. package/dist/cjs/src/poloniex.js +2 -1
  218. package/dist/cjs/src/pro/alpaca.js +1 -1
  219. package/dist/cjs/src/pro/ascendex.js +1 -1
  220. package/dist/cjs/src/pro/bequant.js +1 -1
  221. package/dist/cjs/src/pro/binancecoinm.js +1 -1
  222. package/dist/cjs/src/pro/binanceus.js +1 -1
  223. package/dist/cjs/src/pro/binanceusdm.js +1 -1
  224. package/dist/cjs/src/pro/bingx.js +1 -1
  225. package/dist/cjs/src/pro/bitcoincom.js +1 -1
  226. package/dist/cjs/src/pro/bitfinex.js +1 -1
  227. package/dist/cjs/src/pro/bitfinex1.js +1 -1
  228. package/dist/cjs/src/pro/bitget.js +2 -2
  229. package/dist/cjs/src/pro/bithumb.js +1 -1
  230. package/dist/cjs/src/pro/bitmart.js +20 -8
  231. package/dist/cjs/src/pro/bitmex.js +1 -1
  232. package/dist/cjs/src/pro/bitpanda.js +1 -1
  233. package/dist/cjs/src/pro/bitrue.js +1 -1
  234. package/dist/cjs/src/pro/bitstamp.js +1 -1
  235. package/dist/cjs/src/pro/bitvavo.js +1 -1
  236. package/dist/cjs/src/pro/blockchaincom.js +1 -1
  237. package/dist/cjs/src/pro/blofin.js +1 -1
  238. package/dist/cjs/src/pro/bybit.js +1 -1
  239. package/dist/cjs/src/pro/cex.js +1 -1
  240. package/dist/cjs/src/pro/coinbase.js +1 -1
  241. package/dist/cjs/src/pro/coinbaseadvanced.js +1 -1
  242. package/dist/cjs/src/pro/coinbaseexchange.js +1 -1
  243. package/dist/cjs/src/pro/coinbaseinternational.js +1 -1
  244. package/dist/cjs/src/pro/coincatch.js +1 -1
  245. package/dist/cjs/src/pro/coincheck.js +1 -1
  246. package/dist/cjs/src/pro/coinex.js +1 -1
  247. package/dist/cjs/src/pro/coinone.js +1 -1
  248. package/dist/cjs/src/pro/cryptocom.js +1 -1
  249. package/dist/cjs/src/pro/defx.js +1 -1
  250. package/dist/cjs/src/pro/deribit.js +1 -1
  251. package/dist/cjs/src/pro/derive.js +2 -2
  252. package/dist/cjs/src/pro/exmo.js +1 -1
  253. package/dist/cjs/src/pro/gate.js +1 -1
  254. package/dist/cjs/src/pro/gateio.js +1 -1
  255. package/dist/cjs/src/pro/gemini.js +1 -1
  256. package/dist/cjs/src/pro/hashkey.js +1 -1
  257. package/dist/cjs/src/pro/hitbtc.js +1 -1
  258. package/dist/cjs/src/pro/hollaex.js +1 -1
  259. package/dist/cjs/src/pro/htx.js +1 -1
  260. package/dist/cjs/src/pro/huobi.js +1 -1
  261. package/dist/cjs/src/pro/hyperliquid.js +1 -1
  262. package/dist/cjs/src/pro/idex.js +1 -1
  263. package/dist/cjs/src/pro/independentreserve.js +1 -1
  264. package/dist/cjs/src/pro/kraken.js +1 -1
  265. package/dist/cjs/src/pro/krakenfutures.js +2 -2
  266. package/dist/cjs/src/pro/kucoin.js +1 -1
  267. package/dist/cjs/src/pro/kucoinfutures.js +1 -1
  268. package/dist/cjs/src/pro/lbank.js +1 -0
  269. package/dist/cjs/src/pro/luno.js +1 -1
  270. package/dist/cjs/src/pro/mexc.js +1 -1
  271. package/dist/cjs/src/pro/myokx.js +1 -1
  272. package/dist/cjs/src/pro/ndax.js +1 -1
  273. package/dist/cjs/src/pro/okcoin.js +1 -1
  274. package/dist/cjs/src/pro/okx.js +1 -1
  275. package/dist/cjs/src/pro/onetrading.js +1 -1
  276. package/dist/cjs/src/pro/oxfun.js +1 -1
  277. package/dist/cjs/src/pro/p2b.js +1 -1
  278. package/dist/cjs/src/pro/paradex.js +1 -1
  279. package/dist/cjs/src/pro/phemex.js +1 -1
  280. package/dist/cjs/src/pro/poloniex.js +1 -1
  281. package/dist/cjs/src/pro/probit.js +1 -1
  282. package/dist/cjs/src/pro/upbit.js +1 -1
  283. package/dist/cjs/src/pro/whitebit.js +1 -1
  284. package/dist/cjs/src/pro/xt.js +1 -1
  285. package/dist/cjs/src/probit.js +1 -1
  286. package/dist/cjs/src/static_dependencies/ethers/abi-coder.js +6 -0
  287. package/dist/cjs/src/static_dependencies/ethers/address/address.js +1 -1
  288. package/dist/cjs/src/static_dependencies/ethers/coders/abstract-coder.js +6 -0
  289. package/dist/cjs/src/static_dependencies/ethers/coders/address.js +1 -0
  290. package/dist/cjs/src/static_dependencies/ethers/coders/anonymous.js +1 -0
  291. package/dist/cjs/src/static_dependencies/ethers/coders/array.js +1 -0
  292. package/dist/cjs/src/static_dependencies/ethers/coders/boolean.js +1 -0
  293. package/dist/cjs/src/static_dependencies/ethers/coders/bytes.js +1 -0
  294. package/dist/cjs/src/static_dependencies/ethers/coders/fixed-bytes.js +1 -0
  295. package/dist/cjs/src/static_dependencies/ethers/coders/null.js +1 -0
  296. package/dist/cjs/src/static_dependencies/ethers/coders/number.js +1 -0
  297. package/dist/cjs/src/static_dependencies/ethers/coders/string.js +1 -0
  298. package/dist/cjs/src/static_dependencies/ethers/coders/tuple.js +1 -0
  299. package/dist/cjs/src/static_dependencies/ethers/fragments.js +6 -0
  300. package/dist/cjs/src/static_dependencies/ethers/hash/typed-data.js +6 -0
  301. package/dist/cjs/src/static_dependencies/ethers/index.js +1 -10
  302. package/dist/cjs/src/static_dependencies/ethers/interface.js +6 -0
  303. package/dist/cjs/src/static_dependencies/ethers/typed.js +6 -0
  304. package/dist/cjs/src/static_dependencies/ethers/utils/base58.js +1 -13
  305. package/dist/cjs/src/static_dependencies/ethers/utils/data.js +1 -6
  306. package/dist/cjs/src/static_dependencies/ethers/utils/errors.js +1 -9
  307. package/dist/cjs/src/static_dependencies/ethers/utils/events.js +6 -0
  308. package/dist/cjs/src/static_dependencies/ethers/utils/fixednumber.js +6 -0
  309. package/dist/cjs/src/static_dependencies/ethers/utils/index.js +1 -7
  310. package/dist/cjs/src/static_dependencies/ethers/utils/maths.js +1 -5
  311. package/dist/cjs/src/static_dependencies/ethers/utils/properties.js +6 -0
  312. package/dist/cjs/src/static_dependencies/ethers/utils/utf8.js +1 -8
  313. package/dist/cjs/src/static_dependencies/fflake/browser.js +1 -1
  314. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncrypt.js +1 -0
  315. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +1 -0
  316. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +1 -1
  317. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +6 -0
  318. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +6 -0
  319. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +6 -0
  320. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +1 -0
  321. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +1 -1
  322. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +6 -0
  323. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +1 -1
  324. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +1 -1
  325. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/util.js +6 -0
  326. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +1 -1
  327. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +6 -0
  328. package/dist/cjs/src/static_dependencies/messagepack/msgpack.js +6 -0
  329. package/dist/cjs/src/static_dependencies/noble-curves/_shortw_utils.js +1 -1
  330. package/dist/cjs/src/static_dependencies/noble-curves/abstract/curve.js +1 -1
  331. package/dist/cjs/src/static_dependencies/noble-curves/abstract/edwards.js +1 -1
  332. package/dist/cjs/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +1 -0
  333. package/dist/cjs/src/static_dependencies/noble-curves/abstract/modular.js +1 -1
  334. package/dist/cjs/src/static_dependencies/noble-curves/abstract/montgomery.js +1 -1
  335. package/dist/cjs/src/static_dependencies/noble-curves/abstract/poseidon.js +1 -1
  336. package/dist/cjs/src/static_dependencies/noble-curves/abstract/utils.js +6 -0
  337. package/dist/cjs/src/static_dependencies/noble-curves/abstract/weierstrass.js +1 -1
  338. package/dist/cjs/src/static_dependencies/noble-curves/ed25519.js +1 -1
  339. package/dist/cjs/src/static_dependencies/noble-curves/p256.js +1 -1
  340. package/dist/cjs/src/static_dependencies/noble-curves/secp256k1.js +1 -1
  341. package/dist/cjs/src/static_dependencies/noble-hashes/_assert.js +6 -0
  342. package/dist/cjs/src/static_dependencies/noble-hashes/_sha2.js +1 -0
  343. package/dist/cjs/src/static_dependencies/noble-hashes/_u64.js +6 -0
  344. package/dist/cjs/src/static_dependencies/noble-hashes/crypto.js +6 -0
  345. package/dist/cjs/src/static_dependencies/noble-hashes/hmac.js +1 -0
  346. package/dist/cjs/src/static_dependencies/noble-hashes/md5.js +1 -0
  347. package/dist/cjs/src/static_dependencies/noble-hashes/sha1.js +1 -0
  348. package/dist/cjs/src/static_dependencies/noble-hashes/sha256.js +1 -0
  349. package/dist/cjs/src/static_dependencies/noble-hashes/sha3.js +1 -0
  350. package/dist/cjs/src/static_dependencies/noble-hashes/sha512.js +1 -0
  351. package/dist/cjs/src/static_dependencies/noble-hashes/utils.js +1 -1
  352. package/dist/cjs/src/static_dependencies/node-fetch/body.js +1 -5
  353. package/dist/cjs/src/static_dependencies/node-fetch/errors/abort-error.js +1 -0
  354. package/dist/cjs/src/static_dependencies/node-fetch/errors/base.js +6 -0
  355. package/dist/cjs/src/static_dependencies/node-fetch/errors/fetch-error.js +1 -0
  356. package/dist/cjs/src/static_dependencies/node-fetch/headers.js +1 -5
  357. package/dist/cjs/src/static_dependencies/node-fetch/index.js +1 -7
  358. package/dist/cjs/src/static_dependencies/node-fetch/request.js +1 -7
  359. package/dist/cjs/src/static_dependencies/node-fetch/response.js +1 -5
  360. package/dist/cjs/src/static_dependencies/node-fetch/utils/get-search.js +6 -0
  361. package/dist/cjs/src/static_dependencies/node-fetch/utils/is-redirect.js +6 -0
  362. package/dist/cjs/src/static_dependencies/node-fetch/utils/is.js +6 -0
  363. package/dist/cjs/src/static_dependencies/node-fetch/utils/referrer.js +1 -0
  364. package/dist/cjs/src/static_dependencies/proxies/agent-base/index.js +1 -0
  365. package/dist/cjs/src/static_dependencies/proxies/http-proxy-agent/index.js +1 -0
  366. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/index.js +1 -0
  367. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +6 -0
  368. package/dist/cjs/src/static_dependencies/scure-base/index.js +6 -0
  369. package/dist/cjs/src/static_dependencies/scure-starknet/index.js +1 -1
  370. package/dist/cjs/src/static_dependencies/starknet/constants.js +1 -1
  371. package/dist/cjs/src/static_dependencies/starknet/types/calldata.js +6 -0
  372. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/abi.js +6 -0
  373. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/index.js +6 -0
  374. package/dist/cjs/src/static_dependencies/starknet/types/lib/index.js +6 -0
  375. package/dist/cjs/src/static_dependencies/starknet/types/typedData.js +6 -0
  376. package/dist/cjs/src/static_dependencies/starknet/utils/assert.js +6 -0
  377. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +1 -1
  378. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +1 -1
  379. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +1 -1
  380. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/byteArray.js +1 -0
  381. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/cairo.js +1 -0
  382. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +6 -0
  383. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +6 -0
  384. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +6 -0
  385. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/formatter.js +1 -0
  386. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/index.js +1 -1
  387. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/index.js +1 -0
  388. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +1 -0
  389. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +6 -0
  390. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +1 -0
  391. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/requestParser.js +1 -0
  392. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/responseParser.js +1 -0
  393. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/tuple.js +1 -1
  394. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/validate.js +1 -4
  395. package/dist/cjs/src/static_dependencies/starknet/utils/encode.js +1 -0
  396. package/dist/cjs/src/static_dependencies/starknet/utils/hash/classHash.js +1 -3
  397. package/dist/cjs/src/static_dependencies/starknet/utils/merkle.js +1 -0
  398. package/dist/cjs/src/static_dependencies/starknet/utils/num.js +1 -0
  399. package/dist/cjs/src/static_dependencies/starknet/utils/selector.js +1 -0
  400. package/dist/cjs/src/static_dependencies/starknet/utils/shortString.js +1 -0
  401. package/dist/cjs/src/static_dependencies/starknet/utils/typedData.js +1 -1
  402. package/dist/cjs/src/static_dependencies/watchable/src/unpromise.js +6 -0
  403. package/dist/cjs/src/timex.js +1 -0
  404. package/dist/cjs/src/tokocrypto.js +1 -1
  405. package/dist/cjs/src/tradeogre.js +1 -1
  406. package/dist/cjs/src/upbit.js +1 -1
  407. package/dist/cjs/src/vertex.js +1 -1
  408. package/dist/cjs/src/wavesexchange.js +1 -1
  409. package/dist/cjs/src/whitebit.js +98 -2
  410. package/dist/cjs/src/woo.js +4 -2
  411. package/dist/cjs/src/woofipro.js +2 -2
  412. package/dist/cjs/src/xt.js +1 -1
  413. package/dist/cjs/src/yobit.js +2 -1
  414. package/dist/cjs/src/zaif.js +1 -1
  415. package/dist/cjs/src/zonda.js +1 -1
  416. package/js/ccxt.d.ts +3 -9
  417. package/js/ccxt.js +8 -6
  418. package/js/src/abstract/ace.js +6 -0
  419. package/js/src/abstract/alpaca.js +6 -0
  420. package/js/src/abstract/ascendex.js +6 -0
  421. package/js/src/abstract/bequant.js +6 -0
  422. package/js/src/abstract/bigone.js +6 -0
  423. package/js/src/abstract/binance.js +6 -0
  424. package/js/src/abstract/binancecoinm.js +6 -0
  425. package/js/src/abstract/binanceus.js +6 -0
  426. package/js/src/abstract/binanceusdm.js +6 -0
  427. package/js/src/abstract/bingx.d.ts +1 -1
  428. package/js/src/abstract/bingx.js +6 -0
  429. package/js/src/abstract/bit2c.js +6 -0
  430. package/js/src/abstract/bitbank.js +6 -0
  431. package/js/src/abstract/bitbns.js +6 -0
  432. package/js/src/abstract/bitcoincom.js +6 -0
  433. package/js/src/abstract/bitfinex.js +6 -0
  434. package/js/src/abstract/bitfinex1.js +6 -0
  435. package/js/src/abstract/bitflyer.js +6 -0
  436. package/js/src/abstract/bitget.js +6 -0
  437. package/js/src/abstract/bithumb.js +6 -0
  438. package/js/src/abstract/bitmart.js +6 -0
  439. package/js/src/abstract/bitmex.js +6 -0
  440. package/js/src/abstract/bitopro.js +6 -0
  441. package/js/src/abstract/bitpanda.js +6 -0
  442. package/js/src/abstract/bitrue.js +6 -0
  443. package/js/src/abstract/bitso.js +6 -0
  444. package/js/src/abstract/bitstamp.js +6 -0
  445. package/js/src/abstract/bitteam.js +6 -0
  446. package/js/src/abstract/bitvavo.js +6 -0
  447. package/js/src/abstract/bl3p.js +6 -0
  448. package/js/src/abstract/blockchaincom.js +6 -0
  449. package/js/src/abstract/blofin.js +6 -0
  450. package/js/src/abstract/btcalpha.js +6 -0
  451. package/js/src/abstract/btcbox.js +6 -0
  452. package/js/src/abstract/btcmarkets.js +6 -0
  453. package/js/src/abstract/btcturk.js +6 -0
  454. package/js/src/abstract/bybit.js +6 -0
  455. package/js/src/abstract/cex.js +6 -0
  456. package/js/src/abstract/coinbase.js +6 -0
  457. package/js/src/abstract/coinbaseadvanced.js +6 -0
  458. package/js/src/abstract/coinbaseexchange.js +6 -0
  459. package/js/src/abstract/coinbaseinternational.js +6 -0
  460. package/js/src/abstract/coincatch.js +6 -0
  461. package/js/src/abstract/coincheck.js +6 -0
  462. package/js/src/abstract/coinex.js +6 -0
  463. package/js/src/abstract/coinlist.js +6 -0
  464. package/js/src/abstract/coinmate.js +6 -0
  465. package/js/src/abstract/coinmetro.js +6 -0
  466. package/js/src/abstract/coinone.js +6 -0
  467. package/js/src/abstract/coinsph.js +6 -0
  468. package/js/src/abstract/coinspot.js +6 -0
  469. package/js/src/abstract/cryptocom.js +6 -0
  470. package/js/src/abstract/cryptomus.js +6 -0
  471. package/js/src/abstract/defx.js +6 -0
  472. package/js/src/abstract/delta.js +6 -0
  473. package/js/src/abstract/deribit.js +6 -0
  474. package/js/src/abstract/derive.js +6 -0
  475. package/js/src/abstract/digifinex.js +6 -0
  476. package/js/src/abstract/ellipx.js +6 -0
  477. package/js/src/abstract/exmo.js +6 -0
  478. package/js/src/abstract/fmfwio.js +6 -0
  479. package/js/src/abstract/gate.js +6 -0
  480. package/js/src/abstract/gateio.js +6 -0
  481. package/js/src/abstract/gemini.js +6 -0
  482. package/js/src/abstract/hashkey.js +6 -0
  483. package/js/src/abstract/hitbtc.js +6 -0
  484. package/js/src/abstract/hollaex.js +6 -0
  485. package/js/src/abstract/htx.js +6 -0
  486. package/js/src/abstract/huobi.js +6 -0
  487. package/js/src/abstract/huobijp.js +6 -0
  488. package/js/src/abstract/hyperliquid.js +6 -0
  489. package/js/src/abstract/idex.js +6 -0
  490. package/js/src/abstract/independentreserve.js +6 -0
  491. package/js/src/abstract/indodax.js +6 -0
  492. package/js/src/abstract/kraken.js +6 -0
  493. package/js/src/abstract/krakenfutures.js +6 -0
  494. package/js/src/abstract/kucoin.js +6 -0
  495. package/js/src/abstract/kucoinfutures.js +6 -0
  496. package/js/src/abstract/kuna.js +6 -0
  497. package/js/src/abstract/latoken.js +6 -0
  498. package/js/src/abstract/lbank.js +6 -0
  499. package/js/src/abstract/luno.js +6 -0
  500. package/js/src/abstract/mercado.js +6 -0
  501. package/js/src/abstract/mexc.js +6 -0
  502. package/js/src/abstract/myokx.js +6 -0
  503. package/js/src/abstract/ndax.js +6 -0
  504. package/js/src/abstract/novadax.js +6 -0
  505. package/js/src/abstract/oceanex.js +6 -0
  506. package/js/src/abstract/okcoin.js +6 -0
  507. package/js/src/abstract/okx.js +6 -0
  508. package/js/src/abstract/onetrading.js +6 -0
  509. package/js/src/abstract/oxfun.js +6 -0
  510. package/js/src/abstract/p2b.js +6 -0
  511. package/js/src/abstract/paradex.js +6 -0
  512. package/js/src/abstract/paymium.js +6 -0
  513. package/js/src/abstract/phemex.js +6 -0
  514. package/js/src/abstract/poloniex.js +6 -0
  515. package/js/src/abstract/probit.js +6 -0
  516. package/js/src/abstract/timex.js +6 -0
  517. package/js/src/abstract/tokocrypto.js +6 -0
  518. package/js/src/abstract/tradeogre.js +6 -0
  519. package/js/src/abstract/upbit.js +6 -0
  520. package/js/src/abstract/vertex.js +6 -0
  521. package/js/src/abstract/wavesexchange.js +6 -0
  522. package/js/src/abstract/whitebit.js +6 -0
  523. package/js/src/abstract/woo.js +6 -0
  524. package/js/src/abstract/woofipro.js +6 -0
  525. package/js/src/abstract/xt.js +6 -0
  526. package/js/src/abstract/yobit.js +6 -0
  527. package/js/src/abstract/zaif.js +6 -0
  528. package/js/src/abstract/zonda.js +6 -0
  529. package/js/src/ace.js +48 -7
  530. package/js/src/alpaca.js +52 -0
  531. package/js/src/ascendex.js +8 -2
  532. package/js/src/base/Exchange.d.ts +5 -5
  533. package/js/src/base/Exchange.js +23 -17
  534. package/js/src/base/Precise.js +6 -0
  535. package/js/src/base/errorHierarchy.js +6 -0
  536. package/js/src/base/errors.js +6 -0
  537. package/js/src/base/functions/crypto.js +6 -0
  538. package/js/src/base/functions/encode.js +6 -0
  539. package/js/src/base/functions/generic.js +6 -0
  540. package/js/src/base/functions/misc.js +6 -0
  541. package/js/src/base/functions/number.js +6 -0
  542. package/js/src/base/functions/platform.js +6 -0
  543. package/js/src/base/functions/rsa.js +6 -0
  544. package/js/src/base/functions/string.js +6 -0
  545. package/js/src/base/functions/throttle.js +6 -0
  546. package/js/src/base/functions/time.js +6 -0
  547. package/js/src/base/functions/totp.js +6 -0
  548. package/js/src/base/functions/type.js +6 -0
  549. package/js/src/base/functions.js +6 -0
  550. package/js/src/base/types.d.ts +0 -6
  551. package/js/src/base/types.js +6 -0
  552. package/js/src/base/ws/Cache.js +6 -0
  553. package/js/src/base/ws/Client.js +6 -0
  554. package/js/src/base/ws/Future.js +6 -0
  555. package/js/src/base/ws/OrderBook.js +6 -0
  556. package/js/src/base/ws/OrderBookSide.js +6 -0
  557. package/js/src/base/ws/WsClient.js +6 -0
  558. package/js/src/base/ws/functions.js +6 -0
  559. package/js/src/bequant.js +6 -0
  560. package/js/src/bigone.js +6 -0
  561. package/js/src/binance.js +27 -16
  562. package/js/src/binancecoinm.js +6 -0
  563. package/js/src/binanceus.js +6 -0
  564. package/js/src/binanceusdm.js +6 -0
  565. package/js/src/bingx.js +8 -2
  566. package/js/src/bit2c.js +17 -0
  567. package/js/src/bitbank.js +6 -0
  568. package/js/src/bitbns.js +6 -0
  569. package/js/src/bitcoincom.js +6 -0
  570. package/js/src/bitfinex.js +6 -0
  571. package/js/src/bitflyer.js +6 -0
  572. package/js/src/bitget.js +13 -5
  573. package/js/src/bithumb.js +6 -0
  574. package/js/src/bitmart.js +6 -0
  575. package/js/src/bitmex.js +6 -0
  576. package/js/src/bitopro.js +6 -0
  577. package/js/src/bitpanda.js +6 -0
  578. package/js/src/bitrue.js +7 -1
  579. package/js/src/bitso.js +6 -0
  580. package/js/src/bitstamp.js +6 -0
  581. package/js/src/bitteam.js +6 -0
  582. package/js/src/bitvavo.js +6 -0
  583. package/js/src/bl3p.d.ts +2 -8
  584. package/js/src/bl3p.js +6 -0
  585. package/js/src/blockchaincom.js +6 -0
  586. package/js/src/blofin.js +6 -0
  587. package/js/src/btcalpha.js +6 -0
  588. package/js/src/btcbox.js +6 -0
  589. package/js/src/btcmarkets.js +6 -0
  590. package/js/src/btcturk.js +6 -0
  591. package/js/src/bybit.d.ts +4 -20
  592. package/js/src/bybit.js +15 -0
  593. package/js/src/cex.js +7 -0
  594. package/js/src/coinbase.d.ts +1 -6
  595. package/js/src/coinbase.js +8 -1
  596. package/js/src/coinbaseadvanced.js +6 -0
  597. package/js/src/coinbaseexchange.d.ts +2 -7
  598. package/js/src/coinbaseexchange.js +7 -0
  599. package/js/src/coinbaseinternational.d.ts +2 -7
  600. package/js/src/coinbaseinternational.js +7 -0
  601. package/js/src/coincatch.js +6 -0
  602. package/js/src/coincheck.js +6 -0
  603. package/js/src/coinex.js +6 -0
  604. package/js/src/coinlist.js +6 -0
  605. package/js/src/coinmate.js +6 -0
  606. package/js/src/coinmetro.js +6 -0
  607. package/js/src/coinone.js +6 -0
  608. package/js/src/coinsph.js +6 -0
  609. package/js/src/coinspot.js +6 -0
  610. package/js/src/cryptocom.js +6 -0
  611. package/js/src/cryptomus.js +6 -0
  612. package/js/src/defx.js +7 -1
  613. package/js/src/delta.js +6 -0
  614. package/js/src/deribit.d.ts +1 -6
  615. package/js/src/deribit.js +7 -0
  616. package/js/src/derive.js +21 -7
  617. package/js/src/digifinex.js +6 -0
  618. package/js/src/ellipx.js +6 -0
  619. package/js/src/exmo.js +6 -0
  620. package/js/src/fmfwio.js +6 -0
  621. package/js/src/gate.js +10 -0
  622. package/js/src/gateio.js +6 -0
  623. package/js/src/gemini.d.ts +1 -6
  624. package/js/src/gemini.js +7 -0
  625. package/js/src/hashkey.js +6 -0
  626. package/js/src/hitbtc.d.ts +1 -7
  627. package/js/src/hitbtc.js +6 -0
  628. package/js/src/hollaex.js +6 -0
  629. package/js/src/htx.js +6 -0
  630. package/js/src/huobi.js +6 -0
  631. package/js/src/huobijp.js +6 -0
  632. package/js/src/hyperliquid.d.ts +11 -0
  633. package/js/src/hyperliquid.js +46 -0
  634. package/js/src/idex.js +6 -0
  635. package/js/src/independentreserve.js +6 -0
  636. package/js/src/indodax.js +6 -0
  637. package/js/src/kraken.js +6 -0
  638. package/js/src/krakenfutures.js +10 -0
  639. package/js/src/kucoin.js +6 -0
  640. package/js/src/kucoinfutures.js +6 -0
  641. package/js/src/kuna.js +6 -0
  642. package/js/src/latoken.js +6 -0
  643. package/js/src/lbank.js +6 -0
  644. package/js/src/luno.js +6 -0
  645. package/js/src/mercado.js +6 -0
  646. package/js/src/mexc.js +6 -0
  647. package/js/src/myokx.js +6 -0
  648. package/js/src/ndax.js +6 -0
  649. package/js/src/novadax.js +6 -0
  650. package/js/src/oceanex.js +6 -0
  651. package/js/src/okcoin.js +10 -0
  652. package/js/src/okx.js +28 -32
  653. package/js/src/onetrading.js +6 -0
  654. package/js/src/oxfun.js +6 -0
  655. package/js/src/p2b.js +6 -0
  656. package/js/src/paradex.js +75 -9
  657. package/js/src/paymium.js +6 -0
  658. package/js/src/phemex.js +6 -0
  659. package/js/src/poloniex.d.ts +1 -7
  660. package/js/src/poloniex.js +7 -0
  661. package/js/src/pro/alpaca.js +6 -0
  662. package/js/src/pro/ascendex.js +6 -0
  663. package/js/src/pro/bequant.js +6 -0
  664. package/js/src/pro/binance.js +6 -0
  665. package/js/src/pro/binancecoinm.js +6 -0
  666. package/js/src/pro/binanceus.js +6 -0
  667. package/js/src/pro/binanceusdm.js +6 -0
  668. package/js/src/pro/bingx.js +6 -0
  669. package/js/src/pro/bitcoincom.js +6 -0
  670. package/js/src/pro/bitfinex.js +6 -0
  671. package/js/src/pro/bitget.d.ts +1 -1
  672. package/js/src/pro/bitget.js +7 -1
  673. package/js/src/pro/bithumb.js +6 -0
  674. package/js/src/pro/bitmart.js +25 -7
  675. package/js/src/pro/bitmex.js +6 -0
  676. package/js/src/pro/bitopro.js +6 -0
  677. package/js/src/pro/bitpanda.js +6 -0
  678. package/js/src/pro/bitrue.js +6 -0
  679. package/js/src/pro/bitstamp.js +6 -0
  680. package/js/src/pro/bitvavo.js +6 -0
  681. package/js/src/pro/blockchaincom.js +6 -0
  682. package/js/src/pro/blofin.js +6 -0
  683. package/js/src/pro/bybit.js +6 -0
  684. package/js/src/pro/cex.js +6 -0
  685. package/js/src/pro/coinbase.js +6 -0
  686. package/js/src/pro/coinbaseadvanced.js +6 -0
  687. package/js/src/pro/coinbaseexchange.js +6 -0
  688. package/js/src/pro/coinbaseinternational.js +6 -0
  689. package/js/src/pro/coincatch.js +6 -0
  690. package/js/src/pro/coincheck.js +6 -0
  691. package/js/src/pro/coinex.js +6 -0
  692. package/js/src/pro/coinone.js +6 -0
  693. package/js/src/pro/cryptocom.js +6 -0
  694. package/js/src/pro/defx.js +6 -0
  695. package/js/src/pro/deribit.js +6 -0
  696. package/js/src/pro/derive.js +8 -2
  697. package/js/src/pro/exmo.js +6 -0
  698. package/js/src/pro/gate.js +6 -0
  699. package/js/src/pro/gateio.js +6 -0
  700. package/js/src/pro/gemini.js +6 -0
  701. package/js/src/pro/hashkey.js +6 -0
  702. package/js/src/pro/hitbtc.js +6 -0
  703. package/js/src/pro/hollaex.js +6 -0
  704. package/js/src/pro/htx.js +6 -0
  705. package/js/src/pro/huobi.js +6 -0
  706. package/js/src/pro/huobijp.js +6 -0
  707. package/js/src/pro/hyperliquid.js +6 -0
  708. package/js/src/pro/idex.js +6 -0
  709. package/js/src/pro/independentreserve.js +6 -0
  710. package/js/src/pro/kraken.js +6 -0
  711. package/js/src/pro/krakenfutures.js +7 -1
  712. package/js/src/pro/kucoin.js +6 -0
  713. package/js/src/pro/kucoinfutures.js +6 -0
  714. package/js/src/pro/lbank.js +6 -0
  715. package/js/src/pro/luno.js +6 -0
  716. package/js/src/pro/mexc.js +6 -0
  717. package/js/src/pro/myokx.js +6 -0
  718. package/js/src/pro/ndax.js +6 -0
  719. package/js/src/pro/okcoin.js +6 -0
  720. package/js/src/pro/okx.js +6 -0
  721. package/js/src/pro/onetrading.js +6 -0
  722. package/js/src/pro/oxfun.js +6 -0
  723. package/js/src/pro/p2b.js +6 -0
  724. package/js/src/pro/paradex.js +6 -0
  725. package/js/src/pro/phemex.js +6 -0
  726. package/js/src/pro/poloniex.js +6 -0
  727. package/js/src/pro/probit.js +6 -0
  728. package/js/src/pro/upbit.js +6 -0
  729. package/js/src/pro/vertex.js +6 -0
  730. package/js/src/pro/whitebit.js +6 -0
  731. package/js/src/pro/woo.js +6 -0
  732. package/js/src/pro/woofipro.js +6 -0
  733. package/js/src/pro/xt.js +6 -0
  734. package/js/src/probit.js +6 -0
  735. package/js/src/static_dependencies/ethers/abi-coder.js +6 -0
  736. package/js/src/static_dependencies/ethers/address/address.js +6 -0
  737. package/js/src/static_dependencies/ethers/address/checks.js +6 -0
  738. package/js/src/static_dependencies/ethers/address/contract-address.js +6 -0
  739. package/js/src/static_dependencies/ethers/address/index.js +6 -0
  740. package/js/src/static_dependencies/ethers/bytes32.js +6 -0
  741. package/js/src/static_dependencies/ethers/coders/abstract-coder.js +6 -0
  742. package/js/src/static_dependencies/ethers/coders/address.js +6 -0
  743. package/js/src/static_dependencies/ethers/coders/anonymous.js +6 -0
  744. package/js/src/static_dependencies/ethers/coders/array.js +6 -0
  745. package/js/src/static_dependencies/ethers/coders/boolean.js +6 -0
  746. package/js/src/static_dependencies/ethers/coders/bytes.js +6 -0
  747. package/js/src/static_dependencies/ethers/coders/fixed-bytes.js +6 -0
  748. package/js/src/static_dependencies/ethers/coders/null.js +6 -0
  749. package/js/src/static_dependencies/ethers/coders/number.js +6 -0
  750. package/js/src/static_dependencies/ethers/coders/string.js +6 -0
  751. package/js/src/static_dependencies/ethers/coders/tuple.js +6 -0
  752. package/js/src/static_dependencies/ethers/fragments.js +6 -0
  753. package/js/src/static_dependencies/ethers/hash/index.js +6 -0
  754. package/js/src/static_dependencies/ethers/hash/solidity.js +6 -0
  755. package/js/src/static_dependencies/ethers/hash/typed-data.js +6 -0
  756. package/js/src/static_dependencies/ethers/index.js +6 -0
  757. package/js/src/static_dependencies/ethers/interface.js +6 -0
  758. package/js/src/static_dependencies/ethers/typed.js +6 -0
  759. package/js/src/static_dependencies/ethers/utils/base58.js +6 -0
  760. package/js/src/static_dependencies/ethers/utils/base64-browser.js +6 -0
  761. package/js/src/static_dependencies/ethers/utils/base64.js +6 -0
  762. package/js/src/static_dependencies/ethers/utils/data.js +6 -0
  763. package/js/src/static_dependencies/ethers/utils/errors.js +6 -0
  764. package/js/src/static_dependencies/ethers/utils/events.js +6 -0
  765. package/js/src/static_dependencies/ethers/utils/fixednumber.js +6 -0
  766. package/js/src/static_dependencies/ethers/utils/index.js +6 -0
  767. package/js/src/static_dependencies/ethers/utils/maths.js +6 -0
  768. package/js/src/static_dependencies/ethers/utils/properties.js +6 -0
  769. package/js/src/static_dependencies/ethers/utils/rlp-decode.js +6 -0
  770. package/js/src/static_dependencies/ethers/utils/rlp-encode.js +6 -0
  771. package/js/src/static_dependencies/ethers/utils/rlp.js +6 -0
  772. package/js/src/static_dependencies/ethers/utils/units.js +6 -0
  773. package/js/src/static_dependencies/ethers/utils/utf8.js +6 -0
  774. package/js/src/static_dependencies/ethers/utils/uuid.js +6 -0
  775. package/js/src/static_dependencies/fflake/browser.js +6 -0
  776. package/js/src/static_dependencies/jsencrypt/JSEncrypt.js +6 -0
  777. package/js/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +6 -0
  778. package/js/src/static_dependencies/jsencrypt/index.js +6 -0
  779. package/js/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +6 -0
  780. package/js/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +6 -0
  781. package/js/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +6 -0
  782. package/js/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +6 -0
  783. package/js/src/static_dependencies/jsencrypt/lib/asn1js/oids.js +6 -0
  784. package/js/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +6 -0
  785. package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +6 -0
  786. package/js/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +6 -0
  787. package/js/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +6 -0
  788. package/js/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +6 -0
  789. package/js/src/static_dependencies/jsencrypt/lib/jsbn/util.js +6 -0
  790. package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +6 -0
  791. package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +6 -0
  792. package/js/src/static_dependencies/messagepack/msgpack.js +6 -0
  793. package/js/src/static_dependencies/noble-curves/_shortw_utils.js +6 -0
  794. package/js/src/static_dependencies/noble-curves/abstract/curve.js +6 -0
  795. package/js/src/static_dependencies/noble-curves/abstract/edwards.js +6 -0
  796. package/js/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +6 -0
  797. package/js/src/static_dependencies/noble-curves/abstract/modular.js +6 -0
  798. package/js/src/static_dependencies/noble-curves/abstract/montgomery.js +6 -0
  799. package/js/src/static_dependencies/noble-curves/abstract/poseidon.js +6 -0
  800. package/js/src/static_dependencies/noble-curves/abstract/utils.js +6 -0
  801. package/js/src/static_dependencies/noble-curves/abstract/weierstrass.js +6 -0
  802. package/js/src/static_dependencies/noble-curves/bn.js +6 -0
  803. package/js/src/static_dependencies/noble-curves/ed25519.js +6 -0
  804. package/js/src/static_dependencies/noble-curves/ed448.js +6 -0
  805. package/js/src/static_dependencies/noble-curves/index.js +6 -0
  806. package/js/src/static_dependencies/noble-curves/jubjub.js +6 -0
  807. package/js/src/static_dependencies/noble-curves/p256.js +6 -0
  808. package/js/src/static_dependencies/noble-curves/p384.js +6 -0
  809. package/js/src/static_dependencies/noble-curves/p521.js +6 -0
  810. package/js/src/static_dependencies/noble-curves/pasta.js +6 -0
  811. package/js/src/static_dependencies/noble-curves/secp256k1.js +6 -0
  812. package/js/src/static_dependencies/noble-hashes/_assert.js +6 -0
  813. package/js/src/static_dependencies/noble-hashes/_blake2.js +6 -0
  814. package/js/src/static_dependencies/noble-hashes/_sha2.js +6 -0
  815. package/js/src/static_dependencies/noble-hashes/_u64.js +6 -0
  816. package/js/src/static_dependencies/noble-hashes/argon2.js +6 -0
  817. package/js/src/static_dependencies/noble-hashes/blake2b.js +6 -0
  818. package/js/src/static_dependencies/noble-hashes/blake2s.js +6 -0
  819. package/js/src/static_dependencies/noble-hashes/blake3.js +6 -0
  820. package/js/src/static_dependencies/noble-hashes/crypto.js +6 -0
  821. package/js/src/static_dependencies/noble-hashes/cryptoNode.js +6 -0
  822. package/js/src/static_dependencies/noble-hashes/eskdf.js +6 -0
  823. package/js/src/static_dependencies/noble-hashes/hkdf.js +6 -0
  824. package/js/src/static_dependencies/noble-hashes/hmac.js +6 -0
  825. package/js/src/static_dependencies/noble-hashes/index.js +6 -0
  826. package/js/src/static_dependencies/noble-hashes/md5.js +6 -0
  827. package/js/src/static_dependencies/noble-hashes/pbkdf2.js +6 -0
  828. package/js/src/static_dependencies/noble-hashes/ripemd160.js +6 -0
  829. package/js/src/static_dependencies/noble-hashes/scrypt.js +6 -0
  830. package/js/src/static_dependencies/noble-hashes/sha1.js +6 -0
  831. package/js/src/static_dependencies/noble-hashes/sha256.js +6 -0
  832. package/js/src/static_dependencies/noble-hashes/sha3-addons.js +6 -0
  833. package/js/src/static_dependencies/noble-hashes/sha3.js +6 -0
  834. package/js/src/static_dependencies/noble-hashes/sha512.js +6 -0
  835. package/js/src/static_dependencies/noble-hashes/utils.js +6 -0
  836. package/js/src/static_dependencies/node-fetch/body.js +6 -0
  837. package/js/src/static_dependencies/node-fetch/errors/abort-error.js +6 -0
  838. package/js/src/static_dependencies/node-fetch/errors/base.js +6 -0
  839. package/js/src/static_dependencies/node-fetch/errors/fetch-error.js +6 -0
  840. package/js/src/static_dependencies/node-fetch/headers.js +6 -0
  841. package/js/src/static_dependencies/node-fetch/index.js +6 -0
  842. package/js/src/static_dependencies/node-fetch/request.js +6 -0
  843. package/js/src/static_dependencies/node-fetch/response.js +6 -0
  844. package/js/src/static_dependencies/node-fetch/utils/get-search.js +6 -0
  845. package/js/src/static_dependencies/node-fetch/utils/is-redirect.js +6 -0
  846. package/js/src/static_dependencies/node-fetch/utils/is.js +6 -0
  847. package/js/src/static_dependencies/node-fetch/utils/referrer.js +6 -0
  848. package/js/src/static_dependencies/proxies/agent-base/helpers.js +6 -0
  849. package/js/src/static_dependencies/proxies/agent-base/index.js +6 -0
  850. package/js/src/static_dependencies/proxies/http-proxy-agent/index.js +6 -0
  851. package/js/src/static_dependencies/proxies/https-proxy-agent/index.js +6 -0
  852. package/js/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +6 -0
  853. package/js/src/static_dependencies/qs/formats.cjs +6 -0
  854. package/js/src/static_dependencies/qs/index.cjs +6 -0
  855. package/js/src/static_dependencies/qs/parse.cjs +6 -0
  856. package/js/src/static_dependencies/qs/stringify.cjs +6 -0
  857. package/js/src/static_dependencies/qs/utils.cjs +6 -0
  858. package/js/src/static_dependencies/scure-base/index.js +6 -0
  859. package/js/src/static_dependencies/scure-starknet/index.js +6 -0
  860. package/js/src/static_dependencies/starknet/constants.js +6 -0
  861. package/js/src/static_dependencies/starknet/index.js +6 -0
  862. package/js/src/static_dependencies/starknet/types/cairoEnum.js +6 -0
  863. package/js/src/static_dependencies/starknet/types/calldata.js +6 -0
  864. package/js/src/static_dependencies/starknet/types/index.js +6 -0
  865. package/js/src/static_dependencies/starknet/types/lib/contract/abi.js +6 -0
  866. package/js/src/static_dependencies/starknet/types/lib/contract/index.js +6 -0
  867. package/js/src/static_dependencies/starknet/types/lib/contract/legacy.js +6 -0
  868. package/js/src/static_dependencies/starknet/types/lib/contract/sierra.js +6 -0
  869. package/js/src/static_dependencies/starknet/types/lib/index.js +6 -0
  870. package/js/src/static_dependencies/starknet/types/typedData.js +6 -0
  871. package/js/src/static_dependencies/starknet/utils/address.js +6 -0
  872. package/js/src/static_dependencies/starknet/utils/assert.js +6 -0
  873. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +6 -0
  874. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +6 -0
  875. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +6 -0
  876. package/js/src/static_dependencies/starknet/utils/calldata/byteArray.js +6 -0
  877. package/js/src/static_dependencies/starknet/utils/calldata/cairo.js +6 -0
  878. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +6 -0
  879. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +6 -0
  880. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +6 -0
  881. package/js/src/static_dependencies/starknet/utils/calldata/enum/index.js +6 -0
  882. package/js/src/static_dependencies/starknet/utils/calldata/formatter.js +6 -0
  883. package/js/src/static_dependencies/starknet/utils/calldata/index.js +6 -0
  884. package/js/src/static_dependencies/starknet/utils/calldata/parser/index.js +6 -0
  885. package/js/src/static_dependencies/starknet/utils/calldata/parser/interface.js +6 -0
  886. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +6 -0
  887. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +6 -0
  888. package/js/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +6 -0
  889. package/js/src/static_dependencies/starknet/utils/calldata/requestParser.js +6 -0
  890. package/js/src/static_dependencies/starknet/utils/calldata/responseParser.js +6 -0
  891. package/js/src/static_dependencies/starknet/utils/calldata/tuple.js +6 -0
  892. package/js/src/static_dependencies/starknet/utils/calldata/validate.js +6 -0
  893. package/js/src/static_dependencies/starknet/utils/encode.js +6 -0
  894. package/js/src/static_dependencies/starknet/utils/hash/classHash.js +6 -0
  895. package/js/src/static_dependencies/starknet/utils/hash/index.js +6 -0
  896. package/js/src/static_dependencies/starknet/utils/merkle.js +6 -0
  897. package/js/src/static_dependencies/starknet/utils/num.js +6 -0
  898. package/js/src/static_dependencies/starknet/utils/selector.js +6 -0
  899. package/js/src/static_dependencies/starknet/utils/shortString.js +6 -0
  900. package/js/src/static_dependencies/starknet/utils/starknetId.js +6 -0
  901. package/js/src/static_dependencies/starknet/utils/typedData.js +6 -0
  902. package/js/src/static_dependencies/starknet/utils/uint256.js +6 -0
  903. package/js/src/static_dependencies/starknet/utils/url.js +6 -0
  904. package/js/src/static_dependencies/watchable/src/index.js +6 -0
  905. package/js/src/static_dependencies/watchable/src/types.js +6 -0
  906. package/js/src/static_dependencies/watchable/src/unpromise.js +6 -0
  907. package/js/src/timex.js +6 -0
  908. package/js/src/tokocrypto.js +6 -0
  909. package/js/src/tradeogre.js +6 -0
  910. package/js/src/upbit.js +6 -0
  911. package/js/src/vertex.js +6 -0
  912. package/js/src/wavesexchange.js +6 -0
  913. package/js/src/whitebit.d.ts +36 -1
  914. package/js/src/whitebit.js +103 -1
  915. package/js/src/woo.js +9 -1
  916. package/js/src/woofipro.js +7 -1
  917. package/js/src/xt.js +6 -0
  918. package/js/src/yobit.d.ts +1 -6
  919. package/js/src/yobit.js +7 -0
  920. package/js/src/zaif.js +6 -0
  921. package/js/src/zonda.js +6 -0
  922. package/package.json +1 -1
  923. package/js/src/bitfinex1.d.ts +0 -297
  924. package/js/src/bitfinex1.js +0 -1764
  925. package/js/src/pro/bitfinex1.d.ts +0 -67
  926. package/js/src/pro/bitfinex1.js +0 -670
  927. package/js/src/pro/bitfinex2.d.ts +0 -99
  928. package/js/src/pro/bitfinex2.js +0 -1165
@@ -1,670 +0,0 @@
1
- // ---------------------------------------------------------------------------
2
- import bitfinex1Rest from '../bitfinex1.js';
3
- import { ExchangeError, AuthenticationError } from '../base/errors.js';
4
- import { ArrayCache, ArrayCacheBySymbolById } from '../base/ws/Cache.js';
5
- import { Precise } from '../base/Precise.js';
6
- import { sha384 } from '../static_dependencies/noble-hashes/sha512.js';
7
- // ---------------------------------------------------------------------------
8
- export default class bitfinex1 extends bitfinex1Rest {
9
- describe() {
10
- return this.deepExtend(super.describe(), {
11
- 'has': {
12
- 'ws': true,
13
- 'watchTicker': true,
14
- 'watchTickers': false,
15
- 'watchOrderBook': true,
16
- 'watchTrades': true,
17
- 'watchTradesForSymbols': false,
18
- 'watchBalance': false,
19
- 'watchOHLCV': false, // missing on the exchange side in v1
20
- },
21
- 'urls': {
22
- 'api': {
23
- 'ws': {
24
- 'public': 'wss://api-pub.bitfinex.com/ws/1',
25
- 'private': 'wss://api.bitfinex.com/ws/1',
26
- },
27
- },
28
- },
29
- 'options': {
30
- 'watchOrderBook': {
31
- 'prec': 'P0',
32
- 'freq': 'F0',
33
- },
34
- 'ordersLimit': 1000,
35
- },
36
- });
37
- }
38
- async subscribe(channel, symbol, params = {}) {
39
- await this.loadMarkets();
40
- const market = this.market(symbol);
41
- const marketId = market['id'];
42
- const url = this.urls['api']['ws']['public'];
43
- const messageHash = channel + ':' + marketId;
44
- // const channel = 'trades';
45
- const request = {
46
- 'event': 'subscribe',
47
- 'channel': channel,
48
- 'symbol': marketId,
49
- 'messageHash': messageHash,
50
- };
51
- return await this.watch(url, messageHash, this.deepExtend(request, params), messageHash);
52
- }
53
- /**
54
- * @method
55
- * @name bitfinex1#watchTrades
56
- * @description get the list of most recent trades for a particular symbol
57
- * @see https://docs.bitfinex.com/v1/reference/ws-public-trades
58
- * @param {string} symbol unified symbol of the market to fetch trades for
59
- * @param {int} [since] timestamp in ms of the earliest trade to fetch
60
- * @param {int} [limit] the maximum amount of trades to fetch
61
- * @param {object} [params] extra parameters specific to the exchange API endpoint
62
- * @returns {object[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=public-trades}
63
- */
64
- async watchTrades(symbol, since = undefined, limit = undefined, params = {}) {
65
- await this.loadMarkets();
66
- symbol = this.symbol(symbol);
67
- const trades = await this.subscribe('trades', symbol, params);
68
- if (this.newUpdates) {
69
- limit = trades.getLimit(symbol, limit);
70
- }
71
- return this.filterBySinceLimit(trades, since, limit, 'timestamp', true);
72
- }
73
- /**
74
- * @method
75
- * @name bitfinex1#watchTicker
76
- * @description watches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
77
- * @see https://docs.bitfinex.com/v1/reference/ws-public-ticker
78
- * @param {string} symbol unified symbol of the market to fetch the ticker for
79
- * @param {object} [params] extra parameters specific to the exchange API endpoint
80
- * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
81
- */
82
- async watchTicker(symbol, params = {}) {
83
- return await this.subscribe('ticker', symbol, params);
84
- }
85
- handleTrades(client, message, subscription) {
86
- //
87
- // initial snapshot
88
- //
89
- // [
90
- // 2,
91
- // [
92
- // [ null, 1580565020, 9374.9, 0.005 ],
93
- // [ null, 1580565004, 9374.9, 0.005 ],
94
- // [ null, 1580565003, 9374.9, 0.005 ],
95
- // ]
96
- // ]
97
- //
98
- // when a trade does not have an id yet
99
- //
100
- // // channel id, update type, seq, time, price, amount
101
- // [ 2, "te", "28462857-BTCUSD", 1580565041, 9374.9, 0.005 ],
102
- //
103
- // when a trade already has an id
104
- //
105
- // // channel id, update type, seq, trade id, time, price, amount
106
- // [ 2, "tu", "28462857-BTCUSD", 413357662, 1580565041, 9374.9, 0.005 ]
107
- //
108
- const channel = this.safeValue(subscription, 'channel');
109
- const marketId = this.safeString(subscription, 'pair');
110
- const messageHash = channel + ':' + marketId;
111
- const tradesLimit = this.safeInteger(this.options, 'tradesLimit', 1000);
112
- const market = this.safeMarket(marketId);
113
- const symbol = market['symbol'];
114
- const data = this.safeValue(message, 1);
115
- let stored = this.safeValue(this.trades, symbol);
116
- if (stored === undefined) {
117
- stored = new ArrayCache(tradesLimit);
118
- this.trades[symbol] = stored;
119
- }
120
- if (Array.isArray(data)) {
121
- const trades = this.parseTrades(data, market);
122
- for (let i = 0; i < trades.length; i++) {
123
- stored.append(trades[i]);
124
- }
125
- }
126
- else {
127
- const second = this.safeString(message, 1);
128
- if (second !== 'tu') {
129
- return;
130
- }
131
- const trade = this.parseTrade(message, market);
132
- stored.append(trade);
133
- }
134
- client.resolve(stored, messageHash);
135
- }
136
- parseTrade(trade, market = undefined) {
137
- //
138
- // snapshot trade
139
- //
140
- // // null, time, price, amount
141
- // [ null, 1580565020, 9374.9, 0.005 ],
142
- //
143
- // when a trade does not have an id yet
144
- //
145
- // // channel id, update type, seq, time, price, amount
146
- // [ 2, "te", "28462857-BTCUSD", 1580565041, 9374.9, 0.005 ],
147
- //
148
- // when a trade already has an id
149
- //
150
- // // channel id, update type, seq, trade id, time, price, amount
151
- // [ 2, "tu", "28462857-BTCUSD", 413357662, 1580565041, 9374.9, 0.005 ]
152
- //
153
- if (!Array.isArray(trade)) {
154
- return super.parseTrade(trade, market);
155
- }
156
- const tradeLength = trade.length;
157
- const event = this.safeString(trade, 1);
158
- let id = undefined;
159
- if (event === 'tu') {
160
- id = this.safeString(trade, tradeLength - 4);
161
- }
162
- const timestamp = this.safeTimestamp(trade, tradeLength - 3);
163
- const price = this.safeString(trade, tradeLength - 2);
164
- let amount = this.safeString(trade, tradeLength - 1);
165
- let side = undefined;
166
- if (amount !== undefined) {
167
- side = Precise.stringGt(amount, '0') ? 'buy' : 'sell';
168
- amount = Precise.stringAbs(amount);
169
- }
170
- const seq = this.safeString(trade, 2);
171
- const parts = seq.split('-');
172
- let marketId = this.safeString(parts, 1);
173
- if (marketId !== undefined) {
174
- marketId = marketId.replace('t', '');
175
- }
176
- const symbol = this.safeSymbol(marketId, market);
177
- const takerOrMaker = undefined;
178
- const orderId = undefined;
179
- return this.safeTrade({
180
- 'info': trade,
181
- 'timestamp': timestamp,
182
- 'datetime': this.iso8601(timestamp),
183
- 'symbol': symbol,
184
- 'id': id,
185
- 'order': orderId,
186
- 'type': undefined,
187
- 'takerOrMaker': takerOrMaker,
188
- 'side': side,
189
- 'price': price,
190
- 'amount': amount,
191
- 'cost': undefined,
192
- 'fee': undefined,
193
- });
194
- }
195
- handleTicker(client, message, subscription) {
196
- //
197
- // [
198
- // 2, // 0 CHANNEL_ID integer Channel ID
199
- // 236.62, // 1 BID float Price of last highest bid
200
- // 9.0029, // 2 BID_SIZE float Size of the last highest bid
201
- // 236.88, // 3 ASK float Price of last lowest ask
202
- // 7.1138, // 4 ASK_SIZE float Size of the last lowest ask
203
- // -1.02, // 5 DAILY_CHANGE float Amount that the last price has changed since yesterday
204
- // 0, // 6 DAILY_CHANGE_PERC float Amount that the price has changed expressed in percentage terms
205
- // 236.52, // 7 LAST_PRICE float Price of the last trade.
206
- // 5191.36754297, // 8 VOLUME float Daily volume
207
- // 250.01, // 9 HIGH float Daily high
208
- // 220.05, // 10 LOW float Daily low
209
- // ]
210
- //
211
- const marketId = this.safeString(subscription, 'pair');
212
- const symbol = this.safeSymbol(marketId);
213
- const channel = 'ticker';
214
- const messageHash = channel + ':' + marketId;
215
- const last = this.safeString(message, 7);
216
- const change = this.safeString(message, 5);
217
- let open = undefined;
218
- if ((last !== undefined) && (change !== undefined)) {
219
- open = Precise.stringSub(last, change);
220
- }
221
- const result = this.safeTicker({
222
- 'symbol': symbol,
223
- 'timestamp': undefined,
224
- 'datetime': undefined,
225
- 'high': this.safeString(message, 9),
226
- 'low': this.safeString(message, 10),
227
- 'bid': this.safeString(message, 1),
228
- 'bidVolume': undefined,
229
- 'ask': this.safeString(message, 3),
230
- 'askVolume': undefined,
231
- 'vwap': undefined,
232
- 'open': this.parseNumber(open),
233
- 'close': this.parseNumber(last),
234
- 'last': this.parseNumber(last),
235
- 'previousClose': undefined,
236
- 'change': this.parseNumber(change),
237
- 'percentage': this.safeString(message, 6),
238
- 'average': undefined,
239
- 'baseVolume': this.safeString(message, 8),
240
- 'quoteVolume': undefined,
241
- 'info': message,
242
- });
243
- this.tickers[symbol] = result;
244
- client.resolve(result, messageHash);
245
- }
246
- /**
247
- * @method
248
- * @name bitfinex1#watchOrderBook
249
- * @description watches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
250
- * @see https://docs.bitfinex.com/v1/reference/ws-public-order-books
251
- * @param {string} symbol unified symbol of the market to fetch the order book for
252
- * @param {int} [limit] the maximum amount of order book entries to return
253
- * @param {object} [params] extra parameters specific to the exchange API endpoint
254
- * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
255
- */
256
- async watchOrderBook(symbol, limit = undefined, params = {}) {
257
- if (limit !== undefined) {
258
- if ((limit !== 25) && (limit !== 100)) {
259
- throw new ExchangeError(this.id + ' watchOrderBook limit argument must be undefined, 25 or 100');
260
- }
261
- }
262
- const options = this.safeValue(this.options, 'watchOrderBook', {});
263
- const prec = this.safeString(options, 'prec', 'P0');
264
- const freq = this.safeString(options, 'freq', 'F0');
265
- const request = {
266
- // "event": "subscribe", // added in subscribe()
267
- // "channel": channel, // added in subscribe()
268
- // "symbol": marketId, // added in subscribe()
269
- 'prec': prec,
270
- 'freq': freq,
271
- 'len': limit, // string, number of price points, '25', '100', default = '25'
272
- };
273
- const orderbook = await this.subscribe('book', symbol, this.deepExtend(request, params));
274
- return orderbook.limit();
275
- }
276
- handleOrderBook(client, message, subscription) {
277
- //
278
- // first message (snapshot)
279
- //
280
- // [
281
- // 18691, // channel id
282
- // [
283
- // [ 7364.8, 10, 4.354802 ], // price, count, size > 0 = bid
284
- // [ 7364.7, 1, 0.00288831 ],
285
- // [ 7364.3, 12, 0.048 ],
286
- // [ 7364.9, 3, -0.42028976 ], // price, count, size < 0 = ask
287
- // [ 7365, 1, -0.25 ],
288
- // [ 7365.5, 1, -0.00371937 ],
289
- // ]
290
- // ]
291
- //
292
- // subsequent updates
293
- //
294
- // [
295
- // 30, // channel id
296
- // 9339.9, // price
297
- // 0, // count
298
- // -1, // size > 0 = bid, size < 0 = ask
299
- // ]
300
- //
301
- const marketId = this.safeString(subscription, 'pair');
302
- const symbol = this.safeSymbol(marketId);
303
- const channel = 'book';
304
- const messageHash = channel + ':' + marketId;
305
- const prec = this.safeString(subscription, 'prec', 'P0');
306
- const isRaw = (prec === 'R0');
307
- // if it is an initial snapshot
308
- if (Array.isArray(message[1])) {
309
- const limit = this.safeInteger(subscription, 'len');
310
- if (isRaw) {
311
- // raw order books
312
- this.orderbooks[symbol] = this.indexedOrderBook({}, limit);
313
- }
314
- else {
315
- // P0, P1, P2, P3, P4
316
- this.orderbooks[symbol] = this.countedOrderBook({}, limit);
317
- }
318
- const orderbook = this.orderbooks[symbol];
319
- if (isRaw) {
320
- const deltas = message[1];
321
- for (let i = 0; i < deltas.length; i++) {
322
- const delta = deltas[i];
323
- const id = this.safeString(delta, 0);
324
- const price = this.safeFloat(delta, 1);
325
- const delta2Value = delta[2];
326
- const size = (delta2Value < 0) ? -delta2Value : delta2Value;
327
- const side = (delta2Value < 0) ? 'asks' : 'bids';
328
- const bookside = orderbook[side];
329
- bookside.storeArray([price, size, id]);
330
- }
331
- }
332
- else {
333
- const deltas = message[1];
334
- for (let i = 0; i < deltas.length; i++) {
335
- const delta = deltas[i];
336
- const delta2 = delta[2];
337
- const size = (delta2 < 0) ? -delta2 : delta2;
338
- const side = (delta2 < 0) ? 'asks' : 'bids';
339
- const countedBookSide = orderbook[side];
340
- countedBookSide.storeArray([delta[0], size, delta[1]]);
341
- }
342
- }
343
- client.resolve(orderbook, messageHash);
344
- }
345
- else {
346
- const orderbook = this.orderbooks[symbol];
347
- if (isRaw) {
348
- const id = this.safeString(message, 1);
349
- const price = this.safeString(message, 2);
350
- const message3 = message[3];
351
- const size = (message3 < 0) ? -message3 : message3;
352
- const side = (message3 < 0) ? 'asks' : 'bids';
353
- const bookside = orderbook[side];
354
- // price = 0 means that you have to remove the order from your book
355
- const amount = Precise.stringGt(price, '0') ? size : '0';
356
- bookside.storeArray([this.parseNumber(price), this.parseNumber(amount), id]);
357
- }
358
- else {
359
- const message3Value = message[3];
360
- const size = (message3Value < 0) ? -message3Value : message3Value;
361
- const side = (message3Value < 0) ? 'asks' : 'bids';
362
- const countedBookSide = orderbook[side];
363
- countedBookSide.storeArray([message[1], size, message[2]]);
364
- }
365
- client.resolve(orderbook, messageHash);
366
- }
367
- }
368
- handleHeartbeat(client, message) {
369
- //
370
- // every second (approx) if no other updates are sent
371
- //
372
- // { "event": "heartbeat" }
373
- //
374
- const event = this.safeString(message, 'event');
375
- client.resolve(message, event);
376
- }
377
- handleSystemStatus(client, message) {
378
- //
379
- // todo: answer the question whether handleSystemStatus should be renamed
380
- // and unified as handleStatus for any usage pattern that
381
- // involves system status and maintenance updates
382
- //
383
- // {
384
- // "event": "info",
385
- // "version": 2,
386
- // "serverId": "e293377e-7bb7-427e-b28c-5db045b2c1d1",
387
- // "platform": { status: 1 }, // 1 for operative, 0 for maintenance
388
- // }
389
- //
390
- return message;
391
- }
392
- handleSubscriptionStatus(client, message) {
393
- //
394
- // {
395
- // "event": "subscribed",
396
- // "channel": "book",
397
- // "chanId": 67473,
398
- // "symbol": "tBTCUSD",
399
- // "prec": "P0",
400
- // "freq": "F0",
401
- // "len": "25",
402
- // "pair": "BTCUSD"
403
- // }
404
- //
405
- const channelId = this.safeString(message, 'chanId');
406
- client.subscriptions[channelId] = message;
407
- return message;
408
- }
409
- async authenticate(params = {}) {
410
- const url = this.urls['api']['ws']['private'];
411
- const client = this.client(url);
412
- const future = client.future('authenticated');
413
- const method = 'auth';
414
- const authenticated = this.safeValue(client.subscriptions, method);
415
- if (authenticated === undefined) {
416
- const nonce = this.milliseconds();
417
- const payload = 'AUTH' + nonce.toString();
418
- const signature = this.hmac(this.encode(payload), this.encode(this.secret), sha384, 'hex');
419
- const request = {
420
- 'apiKey': this.apiKey,
421
- 'authSig': signature,
422
- 'authNonce': nonce,
423
- 'authPayload': payload,
424
- 'event': method,
425
- 'filter': [
426
- 'trading',
427
- 'wallet',
428
- ],
429
- };
430
- this.spawn(this.watch, url, method, request, 1);
431
- }
432
- return await future;
433
- }
434
- handleAuthenticationMessage(client, message) {
435
- const status = this.safeString(message, 'status');
436
- if (status === 'OK') {
437
- // we resolve the future here permanently so authentication only happens once
438
- const future = this.safeValue(client.futures, 'authenticated');
439
- future.resolve(true);
440
- }
441
- else {
442
- const error = new AuthenticationError(this.json(message));
443
- client.reject(error, 'authenticated');
444
- // allows further authentication attempts
445
- const method = this.safeString(message, 'event');
446
- if (method in client.subscriptions) {
447
- delete client.subscriptions[method];
448
- }
449
- }
450
- }
451
- async watchOrder(id, symbol = undefined, params = {}) {
452
- await this.loadMarkets();
453
- const url = this.urls['api']['ws']['private'];
454
- await this.authenticate();
455
- return await this.watch(url, id, undefined, 1);
456
- }
457
- /**
458
- * @method
459
- * @name bitfinex1#watchOrders
460
- * @description watches information on multiple orders made by the user
461
- * @see https://docs.bitfinex.com/v1/reference/ws-auth-order-updates
462
- * @see https://docs.bitfinex.com/v1/reference/ws-auth-order-snapshots
463
- * @param {string} symbol unified market symbol of the market orders were made in
464
- * @param {int} [since] the earliest time in ms to fetch orders for
465
- * @param {int} [limit] the maximum number of order structures to retrieve
466
- * @param {object} [params] extra parameters specific to the exchange API endpoint
467
- * @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
468
- */
469
- async watchOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
470
- await this.loadMarkets();
471
- await this.authenticate();
472
- if (symbol !== undefined) {
473
- symbol = this.symbol(symbol);
474
- }
475
- const url = this.urls['api']['ws']['private'];
476
- const orders = await this.watch(url, 'os', undefined, 1);
477
- if (this.newUpdates) {
478
- limit = orders.getLimit(symbol, limit);
479
- }
480
- return this.filterBySymbolSinceLimit(orders, symbol, since, limit, true);
481
- }
482
- handleOrders(client, message, subscription) {
483
- //
484
- // order snapshot
485
- //
486
- // [
487
- // 0,
488
- // "os",
489
- // [
490
- // [
491
- // 45287766631,
492
- // "ETHUST",
493
- // -0.07,
494
- // -0.07,
495
- // "EXCHANGE LIMIT",
496
- // "ACTIVE",
497
- // 210,
498
- // 0,
499
- // "2020-05-16T13:17:46Z",
500
- // 0,
501
- // 0,
502
- // 0
503
- // ]
504
- // ]
505
- // ]
506
- //
507
- // order cancel
508
- //
509
- // [
510
- // 0,
511
- // "oc",
512
- // [
513
- // 45287766631,
514
- // "ETHUST",
515
- // -0.07,
516
- // -0.07,
517
- // "EXCHANGE LIMIT",
518
- // "CANCELED",
519
- // 210,
520
- // 0,
521
- // "2020-05-16T13:17:46Z",
522
- // 0,
523
- // 0,
524
- // 0,
525
- // ]
526
- // ]
527
- //
528
- const data = this.safeValue(message, 2, []);
529
- const messageType = this.safeString(message, 1);
530
- if (messageType === 'os') {
531
- for (let i = 0; i < data.length; i++) {
532
- const value = data[i];
533
- this.handleOrder(client, value);
534
- }
535
- }
536
- else {
537
- this.handleOrder(client, data);
538
- }
539
- if (this.orders !== undefined) {
540
- client.resolve(this.orders, 'os');
541
- }
542
- }
543
- parseWsOrderStatus(status) {
544
- const statuses = {
545
- 'ACTIVE': 'open',
546
- 'CANCELED': 'canceled',
547
- };
548
- return this.safeString(statuses, status, status);
549
- }
550
- handleOrder(client, order) {
551
- // [ 45287766631,
552
- // "ETHUST",
553
- // -0.07,
554
- // -0.07,
555
- // "EXCHANGE LIMIT",
556
- // "CANCELED",
557
- // 210,
558
- // 0,
559
- // "2020-05-16T13:17:46Z",
560
- // 0,
561
- // 0,
562
- // 0 ]
563
- const id = this.safeString(order, 0);
564
- const marketId = this.safeString(order, 1);
565
- const symbol = this.safeSymbol(marketId);
566
- let amount = this.safeString(order, 2);
567
- let remaining = this.safeString(order, 3);
568
- let side = 'buy';
569
- if (Precise.stringLt(amount, '0')) {
570
- amount = Precise.stringAbs(amount);
571
- remaining = Precise.stringAbs(remaining);
572
- side = 'sell';
573
- }
574
- let type = this.safeString(order, 4);
575
- if (type.indexOf('LIMIT') > -1) {
576
- type = 'limit';
577
- }
578
- else if (type.indexOf('MARKET') > -1) {
579
- type = 'market';
580
- }
581
- const status = this.parseWsOrderStatus(this.safeString(order, 5));
582
- const price = this.safeString(order, 6);
583
- const rawDatetime = this.safeString(order, 8);
584
- const timestamp = this.parse8601(rawDatetime);
585
- const parsed = this.safeOrder({
586
- 'info': order,
587
- 'id': id,
588
- 'clientOrderId': undefined,
589
- 'timestamp': timestamp,
590
- 'datetime': this.iso8601(timestamp),
591
- 'lastTradeTimestamp': undefined,
592
- 'symbol': symbol,
593
- 'type': type,
594
- 'side': side,
595
- 'price': price,
596
- 'stopPrice': undefined,
597
- 'triggerPrice': undefined,
598
- 'average': undefined,
599
- 'amount': amount,
600
- 'remaining': remaining,
601
- 'filled': undefined,
602
- 'status': status,
603
- 'fee': undefined,
604
- 'cost': undefined,
605
- 'trades': undefined,
606
- });
607
- if (this.orders === undefined) {
608
- const limit = this.safeInteger(this.options, 'ordersLimit', 1000);
609
- this.orders = new ArrayCacheBySymbolById(limit);
610
- }
611
- const orders = this.orders;
612
- orders.append(parsed);
613
- client.resolve(parsed, id);
614
- return parsed;
615
- }
616
- handleMessage(client, message) {
617
- if (Array.isArray(message)) {
618
- const channelId = this.safeString(message, 0);
619
- //
620
- // [
621
- // 1231,
622
- // "hb",
623
- // ]
624
- //
625
- if (message[1] === 'hb') {
626
- return; // skip heartbeats within subscription channels for now
627
- }
628
- const subscription = this.safeValue(client.subscriptions, channelId, {});
629
- const channel = this.safeString(subscription, 'channel');
630
- const name = this.safeString(message, 1);
631
- const methods = {
632
- 'book': this.handleOrderBook,
633
- // 'ohlc': this.handleOHLCV,
634
- 'ticker': this.handleTicker,
635
- 'trades': this.handleTrades,
636
- 'os': this.handleOrders,
637
- 'on': this.handleOrders,
638
- 'oc': this.handleOrders,
639
- };
640
- const method = this.safeValue2(methods, channel, name);
641
- if (method !== undefined) {
642
- method.call(this, client, message, subscription);
643
- }
644
- }
645
- else {
646
- // todo add bitfinex handleErrorMessage
647
- //
648
- // {
649
- // "event": "info",
650
- // "version": 2,
651
- // "serverId": "e293377e-7bb7-427e-b28c-5db045b2c1d1",
652
- // "platform": { status: 1 }, // 1 for operative, 0 for maintenance
653
- // }
654
- //
655
- const event = this.safeString(message, 'event');
656
- if (event !== undefined) {
657
- const methods = {
658
- 'info': this.handleSystemStatus,
659
- // 'book': 'handleOrderBook',
660
- 'subscribed': this.handleSubscriptionStatus,
661
- 'auth': this.handleAuthenticationMessage,
662
- };
663
- const method = this.safeValue(methods, event);
664
- if (method !== undefined) {
665
- method.call(this, client, message);
666
- }
667
- }
668
- }
669
- }
670
- }