ccxt 4.4.89 → 4.4.91

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 (913) hide show
  1. package/README.md +15 -17
  2. package/dist/ccxt.browser.min.js +3 -3
  3. package/dist/cjs/ccxt.js +1 -4
  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/bittrade.js +1 -1
  25. package/dist/cjs/src/abstract/bitvavo.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/hyperliquid.js +1 -1
  62. package/dist/cjs/src/abstract/independentreserve.js +1 -1
  63. package/dist/cjs/src/abstract/indodax.js +1 -1
  64. package/dist/cjs/src/abstract/kraken.js +1 -1
  65. package/dist/cjs/src/abstract/krakenfutures.js +1 -1
  66. package/dist/cjs/src/abstract/kucoin.js +1 -1
  67. package/dist/cjs/src/abstract/kucoinfutures.js +1 -1
  68. package/dist/cjs/src/abstract/latoken.js +1 -1
  69. package/dist/cjs/src/abstract/lbank.js +1 -1
  70. package/dist/cjs/src/abstract/luno.js +1 -1
  71. package/dist/cjs/src/abstract/mercado.js +1 -1
  72. package/dist/cjs/src/abstract/mexc.js +1 -1
  73. package/dist/cjs/src/abstract/modetrade.js +1 -1
  74. package/dist/cjs/src/abstract/ndax.js +1 -1
  75. package/dist/cjs/src/abstract/novadax.js +1 -1
  76. package/dist/cjs/src/abstract/oceanex.js +1 -1
  77. package/dist/cjs/src/abstract/okcoin.js +1 -1
  78. package/dist/cjs/src/abstract/okx.js +1 -1
  79. package/dist/cjs/src/abstract/onetrading.js +1 -1
  80. package/dist/cjs/src/abstract/oxfun.js +1 -1
  81. package/dist/cjs/src/abstract/p2b.js +1 -1
  82. package/dist/cjs/src/abstract/paradex.js +1 -1
  83. package/dist/cjs/src/abstract/paymium.js +1 -1
  84. package/dist/cjs/src/abstract/phemex.js +1 -1
  85. package/dist/cjs/src/abstract/poloniex.js +1 -1
  86. package/dist/cjs/src/abstract/probit.js +1 -1
  87. package/dist/cjs/src/abstract/timex.js +1 -1
  88. package/dist/cjs/src/abstract/tokocrypto.js +1 -1
  89. package/dist/cjs/src/abstract/tradeogre.js +1 -1
  90. package/dist/cjs/src/abstract/upbit.js +1 -1
  91. package/dist/cjs/src/abstract/vertex.js +1 -1
  92. package/dist/cjs/src/abstract/wavesexchange.js +1 -1
  93. package/dist/cjs/src/abstract/whitebit.js +1 -1
  94. package/dist/cjs/src/abstract/woo.js +1 -1
  95. package/dist/cjs/src/abstract/woofipro.js +1 -1
  96. package/dist/cjs/src/abstract/xt.js +1 -1
  97. package/dist/cjs/src/abstract/yobit.js +1 -1
  98. package/dist/cjs/src/abstract/zaif.js +1 -1
  99. package/dist/cjs/src/abstract/zonda.js +1 -1
  100. package/dist/cjs/src/alpaca.js +1 -1
  101. package/dist/cjs/src/apex.js +1 -1
  102. package/dist/cjs/src/ascendex.js +1 -1
  103. package/dist/cjs/src/base/Exchange.js +11 -12
  104. package/dist/cjs/src/base/Precise.js +6 -0
  105. package/dist/cjs/src/base/errors.js +6 -0
  106. package/dist/cjs/src/base/functions/crypto.js +1 -1
  107. package/dist/cjs/src/base/functions/encode.js +2 -2
  108. package/dist/cjs/src/base/functions/generic.js +6 -0
  109. package/dist/cjs/src/base/functions/misc.js +1 -0
  110. package/dist/cjs/src/base/functions/number.js +6 -0
  111. package/dist/cjs/src/base/functions/platform.js +6 -0
  112. package/dist/cjs/src/base/functions/rsa.js +1 -0
  113. package/dist/cjs/src/base/functions/string.js +6 -0
  114. package/dist/cjs/src/base/functions/throttle.js +1 -1
  115. package/dist/cjs/src/base/functions/time.js +6 -0
  116. package/dist/cjs/src/base/functions/totp.js +1 -0
  117. package/dist/cjs/src/base/functions/type.js +6 -0
  118. package/dist/cjs/src/base/functions.js +2 -1
  119. package/dist/cjs/src/base/ws/Cache.js +6 -0
  120. package/dist/cjs/src/base/ws/Client.js +5 -34
  121. package/dist/cjs/src/base/ws/Future.js +1 -1
  122. package/dist/cjs/src/base/ws/OrderBook.js +1 -1
  123. package/dist/cjs/src/base/ws/OrderBookSide.js +6 -0
  124. package/dist/cjs/src/base/ws/WsClient.js +1 -1
  125. package/dist/cjs/src/bequant.js +1 -1
  126. package/dist/cjs/src/bigone.js +1 -1
  127. package/dist/cjs/src/binance.js +3 -3
  128. package/dist/cjs/src/binancecoinm.js +1 -1
  129. package/dist/cjs/src/binanceus.js +1 -1
  130. package/dist/cjs/src/binanceusdm.js +1 -1
  131. package/dist/cjs/src/bingx.js +14 -12
  132. package/dist/cjs/src/bit2c.js +1 -1
  133. package/dist/cjs/src/bitbank.js +1 -1
  134. package/dist/cjs/src/bitbns.js +1 -1
  135. package/dist/cjs/src/bitfinex.js +1 -1
  136. package/dist/cjs/src/bitflyer.js +1 -1
  137. package/dist/cjs/src/bitget.js +494 -155
  138. package/dist/cjs/src/bithumb.js +1 -1
  139. package/dist/cjs/src/bitmart.js +1 -1
  140. package/dist/cjs/src/bitmex.js +3 -2
  141. package/dist/cjs/src/bitopro.js +1 -1
  142. package/dist/cjs/src/bitrue.js +73 -67
  143. package/dist/cjs/src/bitso.js +1 -1
  144. package/dist/cjs/src/bitstamp.js +1 -1
  145. package/dist/cjs/src/bitteam.js +1 -1
  146. package/dist/cjs/src/bittrade.js +1 -1
  147. package/dist/cjs/src/blockchaincom.js +1 -1
  148. package/dist/cjs/src/blofin.js +1 -1
  149. package/dist/cjs/src/btcalpha.js +1 -1
  150. package/dist/cjs/src/btcbox.js +36 -1
  151. package/dist/cjs/src/btcmarkets.js +36 -1
  152. package/dist/cjs/src/btcturk.js +36 -1
  153. package/dist/cjs/src/bybit.js +10 -4
  154. package/dist/cjs/src/cex.js +62 -1
  155. package/dist/cjs/src/coinbase.js +1 -4
  156. package/dist/cjs/src/coinbaseadvanced.js +1 -1
  157. package/dist/cjs/src/coincatch.js +1 -1
  158. package/dist/cjs/src/coincheck.js +1 -1
  159. package/dist/cjs/src/coinex.js +1 -1
  160. package/dist/cjs/src/coinlist.js +1 -0
  161. package/dist/cjs/src/coinmate.js +1 -1
  162. package/dist/cjs/src/coinmetro.js +1 -1
  163. package/dist/cjs/src/coinone.js +1 -1
  164. package/dist/cjs/src/coinsph.js +1 -0
  165. package/dist/cjs/src/coinspot.js +1 -1
  166. package/dist/cjs/src/cryptocom.js +22 -3
  167. package/dist/cjs/src/cryptomus.js +2 -2
  168. package/dist/cjs/src/defx.js +1 -1
  169. package/dist/cjs/src/delta.js +3 -3
  170. package/dist/cjs/src/deribit.js +1 -1
  171. package/dist/cjs/src/derive.js +1 -1
  172. package/dist/cjs/src/digifinex.js +1 -1
  173. package/dist/cjs/src/ellipx.js +1 -1
  174. package/dist/cjs/src/exmo.js +15 -8
  175. package/dist/cjs/src/fmfwio.js +2 -2
  176. package/dist/cjs/src/gate.js +3 -3
  177. package/dist/cjs/src/gateio.js +1 -1
  178. package/dist/cjs/src/gemini.js +1 -1
  179. package/dist/cjs/src/hashkey.js +1 -1
  180. package/dist/cjs/src/hitbtc.js +1 -0
  181. package/dist/cjs/src/hollaex.js +29 -25
  182. package/dist/cjs/src/htx.js +1 -1
  183. package/dist/cjs/src/huobi.js +1 -1
  184. package/dist/cjs/src/hyperliquid.js +116 -60
  185. package/dist/cjs/src/independentreserve.js +1 -1
  186. package/dist/cjs/src/indodax.js +1 -1
  187. package/dist/cjs/src/kraken.js +30 -2
  188. package/dist/cjs/src/krakenfutures.js +1 -1
  189. package/dist/cjs/src/kucoin.js +1 -1
  190. package/dist/cjs/src/kucoinfutures.js +1 -1
  191. package/dist/cjs/src/latoken.js +1 -1
  192. package/dist/cjs/src/lbank.js +1 -1
  193. package/dist/cjs/src/luno.js +1 -1
  194. package/dist/cjs/src/mercado.js +1 -1
  195. package/dist/cjs/src/mexc.js +2 -1
  196. package/dist/cjs/src/modetrade.js +3 -3
  197. package/dist/cjs/src/myokx.js +1 -1
  198. package/dist/cjs/src/ndax.js +1 -1
  199. package/dist/cjs/src/novadax.js +1 -1
  200. package/dist/cjs/src/oceanex.js +1 -1
  201. package/dist/cjs/src/okcoin.js +1 -1
  202. package/dist/cjs/src/okx.js +1 -1
  203. package/dist/cjs/src/okxus.js +1 -1
  204. package/dist/cjs/src/onetrading.js +1 -1
  205. package/dist/cjs/src/oxfun.js +1 -1
  206. package/dist/cjs/src/p2b.js +1 -1
  207. package/dist/cjs/src/paradex.js +2 -2
  208. package/dist/cjs/src/paymium.js +1 -1
  209. package/dist/cjs/src/poloniex.js +1 -1
  210. package/dist/cjs/src/pro/alpaca.js +1 -1
  211. package/dist/cjs/src/pro/apex.js +1 -1
  212. package/dist/cjs/src/pro/ascendex.js +1 -1
  213. package/dist/cjs/src/pro/bequant.js +1 -1
  214. package/dist/cjs/src/pro/binancecoinm.js +1 -1
  215. package/dist/cjs/src/pro/binanceus.js +1 -1
  216. package/dist/cjs/src/pro/binanceusdm.js +1 -1
  217. package/dist/cjs/src/pro/bingx.js +1 -1
  218. package/dist/cjs/src/pro/bitfinex.js +1 -1
  219. package/dist/cjs/src/pro/bitget.js +1 -1
  220. package/dist/cjs/src/pro/bithumb.js +1 -1
  221. package/dist/cjs/src/pro/bitmart.js +1 -1
  222. package/dist/cjs/src/pro/bitmex.js +1 -1
  223. package/dist/cjs/src/pro/bitrue.js +1 -1
  224. package/dist/cjs/src/pro/bitstamp.js +2 -2
  225. package/dist/cjs/src/pro/bitvavo.js +1 -1
  226. package/dist/cjs/src/pro/blockchaincom.js +1 -1
  227. package/dist/cjs/src/pro/blofin.js +1 -1
  228. package/dist/cjs/src/pro/bybit.js +7 -144
  229. package/dist/cjs/src/pro/cex.js +1 -1
  230. package/dist/cjs/src/pro/coinbase.js +1 -1
  231. package/dist/cjs/src/pro/coinbaseadvanced.js +1 -1
  232. package/dist/cjs/src/pro/coinbaseexchange.js +1 -1
  233. package/dist/cjs/src/pro/coinbaseinternational.js +1 -1
  234. package/dist/cjs/src/pro/coincatch.js +1 -1
  235. package/dist/cjs/src/pro/coincheck.js +1 -1
  236. package/dist/cjs/src/pro/coinex.js +1 -1
  237. package/dist/cjs/src/pro/coinone.js +1 -1
  238. package/dist/cjs/src/pro/cryptocom.js +1 -1
  239. package/dist/cjs/src/pro/defx.js +1 -1
  240. package/dist/cjs/src/pro/deribit.js +1 -1
  241. package/dist/cjs/src/pro/exmo.js +1 -1
  242. package/dist/cjs/src/pro/gate.js +1 -1
  243. package/dist/cjs/src/pro/gateio.js +1 -1
  244. package/dist/cjs/src/pro/gemini.js +1 -1
  245. package/dist/cjs/src/pro/hashkey.js +1 -1
  246. package/dist/cjs/src/pro/hitbtc.js +1 -1
  247. package/dist/cjs/src/pro/hollaex.js +1 -1
  248. package/dist/cjs/src/pro/htx.js +1 -1
  249. package/dist/cjs/src/pro/huobi.js +1 -1
  250. package/dist/cjs/src/pro/hyperliquid.js +1 -1
  251. package/dist/cjs/src/pro/independentreserve.js +1 -1
  252. package/dist/cjs/src/pro/kraken.js +252 -265
  253. package/dist/cjs/src/pro/krakenfutures.js +1 -1
  254. package/dist/cjs/src/pro/kucoin.js +1 -1
  255. package/dist/cjs/src/pro/kucoinfutures.js +1 -1
  256. package/dist/cjs/src/pro/lbank.js +1 -0
  257. package/dist/cjs/src/pro/luno.js +1 -1
  258. package/dist/cjs/src/pro/mexc.js +1 -2
  259. package/dist/cjs/src/pro/myokx.js +1 -1
  260. package/dist/cjs/src/pro/ndax.js +1 -1
  261. package/dist/cjs/src/pro/okcoin.js +1 -1
  262. package/dist/cjs/src/pro/okx.js +1 -1
  263. package/dist/cjs/src/pro/okxus.js +1 -1
  264. package/dist/cjs/src/pro/onetrading.js +1 -1
  265. package/dist/cjs/src/pro/oxfun.js +1 -1
  266. package/dist/cjs/src/pro/p2b.js +1 -1
  267. package/dist/cjs/src/pro/paradex.js +1 -1
  268. package/dist/cjs/src/pro/phemex.js +1 -1
  269. package/dist/cjs/src/pro/poloniex.js +1 -1
  270. package/dist/cjs/src/pro/probit.js +1 -1
  271. package/dist/cjs/src/pro/tradeogre.js +1 -1
  272. package/dist/cjs/src/pro/upbit.js +1 -1
  273. package/dist/cjs/src/pro/whitebit.js +1 -1
  274. package/dist/cjs/src/pro/xt.js +1 -1
  275. package/dist/cjs/src/probit.js +1 -1
  276. package/dist/cjs/src/static_dependencies/ethers/abi-coder.js +6 -0
  277. package/dist/cjs/src/static_dependencies/ethers/address/address.js +1 -1
  278. package/dist/cjs/src/static_dependencies/ethers/coders/abstract-coder.js +6 -0
  279. package/dist/cjs/src/static_dependencies/ethers/coders/address.js +1 -0
  280. package/dist/cjs/src/static_dependencies/ethers/coders/anonymous.js +1 -0
  281. package/dist/cjs/src/static_dependencies/ethers/coders/array.js +1 -0
  282. package/dist/cjs/src/static_dependencies/ethers/coders/boolean.js +1 -0
  283. package/dist/cjs/src/static_dependencies/ethers/coders/bytes.js +1 -0
  284. package/dist/cjs/src/static_dependencies/ethers/coders/fixed-bytes.js +1 -0
  285. package/dist/cjs/src/static_dependencies/ethers/coders/null.js +1 -0
  286. package/dist/cjs/src/static_dependencies/ethers/coders/number.js +1 -0
  287. package/dist/cjs/src/static_dependencies/ethers/coders/string.js +1 -0
  288. package/dist/cjs/src/static_dependencies/ethers/coders/tuple.js +1 -0
  289. package/dist/cjs/src/static_dependencies/ethers/fragments.js +6 -0
  290. package/dist/cjs/src/static_dependencies/ethers/hash/typed-data.js +6 -0
  291. package/dist/cjs/src/static_dependencies/ethers/index.js +1 -10
  292. package/dist/cjs/src/static_dependencies/ethers/interface.js +6 -0
  293. package/dist/cjs/src/static_dependencies/ethers/typed.js +6 -0
  294. package/dist/cjs/src/static_dependencies/ethers/utils/base58.js +1 -13
  295. package/dist/cjs/src/static_dependencies/ethers/utils/data.js +1 -6
  296. package/dist/cjs/src/static_dependencies/ethers/utils/errors.js +1 -9
  297. package/dist/cjs/src/static_dependencies/ethers/utils/events.js +6 -0
  298. package/dist/cjs/src/static_dependencies/ethers/utils/fixednumber.js +6 -0
  299. package/dist/cjs/src/static_dependencies/ethers/utils/index.js +1 -7
  300. package/dist/cjs/src/static_dependencies/ethers/utils/maths.js +1 -5
  301. package/dist/cjs/src/static_dependencies/ethers/utils/properties.js +6 -0
  302. package/dist/cjs/src/static_dependencies/ethers/utils/utf8.js +1 -8
  303. package/dist/cjs/src/static_dependencies/fflake/browser.js +1 -1
  304. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncrypt.js +1 -0
  305. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +1 -0
  306. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +1 -1
  307. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +6 -0
  308. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +6 -0
  309. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +6 -0
  310. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +1 -0
  311. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +1 -1
  312. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +6 -0
  313. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +1 -1
  314. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +1 -1
  315. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/util.js +6 -0
  316. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +1 -1
  317. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +6 -0
  318. package/dist/cjs/src/static_dependencies/messagepack/msgpack.js +6 -0
  319. package/dist/cjs/src/static_dependencies/noble-curves/_shortw_utils.js +1 -1
  320. package/dist/cjs/src/static_dependencies/noble-curves/abstract/curve.js +1 -1
  321. package/dist/cjs/src/static_dependencies/noble-curves/abstract/edwards.js +1 -1
  322. package/dist/cjs/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +1 -0
  323. package/dist/cjs/src/static_dependencies/noble-curves/abstract/modular.js +1 -1
  324. package/dist/cjs/src/static_dependencies/noble-curves/abstract/montgomery.js +1 -1
  325. package/dist/cjs/src/static_dependencies/noble-curves/abstract/poseidon.js +1 -1
  326. package/dist/cjs/src/static_dependencies/noble-curves/abstract/utils.js +6 -0
  327. package/dist/cjs/src/static_dependencies/noble-curves/abstract/weierstrass.js +1 -1
  328. package/dist/cjs/src/static_dependencies/noble-curves/ed25519.js +1 -1
  329. package/dist/cjs/src/static_dependencies/noble-curves/p256.js +1 -1
  330. package/dist/cjs/src/static_dependencies/noble-curves/secp256k1.js +1 -1
  331. package/dist/cjs/src/static_dependencies/noble-hashes/_assert.js +6 -0
  332. package/dist/cjs/src/static_dependencies/noble-hashes/_sha2.js +1 -0
  333. package/dist/cjs/src/static_dependencies/noble-hashes/_u64.js +6 -0
  334. package/dist/cjs/src/static_dependencies/noble-hashes/crypto.js +6 -0
  335. package/dist/cjs/src/static_dependencies/noble-hashes/hmac.js +1 -0
  336. package/dist/cjs/src/static_dependencies/noble-hashes/md5.js +1 -0
  337. package/dist/cjs/src/static_dependencies/noble-hashes/sha1.js +1 -0
  338. package/dist/cjs/src/static_dependencies/noble-hashes/sha256.js +1 -0
  339. package/dist/cjs/src/static_dependencies/noble-hashes/sha3.js +1 -0
  340. package/dist/cjs/src/static_dependencies/noble-hashes/sha512.js +1 -0
  341. package/dist/cjs/src/static_dependencies/noble-hashes/utils.js +1 -1
  342. package/dist/cjs/src/static_dependencies/node-fetch/body.js +1 -5
  343. package/dist/cjs/src/static_dependencies/node-fetch/errors/abort-error.js +1 -0
  344. package/dist/cjs/src/static_dependencies/node-fetch/errors/base.js +6 -0
  345. package/dist/cjs/src/static_dependencies/node-fetch/errors/fetch-error.js +1 -0
  346. package/dist/cjs/src/static_dependencies/node-fetch/headers.js +1 -5
  347. package/dist/cjs/src/static_dependencies/node-fetch/index.js +1 -7
  348. package/dist/cjs/src/static_dependencies/node-fetch/request.js +1 -7
  349. package/dist/cjs/src/static_dependencies/node-fetch/response.js +1 -5
  350. package/dist/cjs/src/static_dependencies/node-fetch/utils/get-search.js +6 -0
  351. package/dist/cjs/src/static_dependencies/node-fetch/utils/is-redirect.js +6 -0
  352. package/dist/cjs/src/static_dependencies/node-fetch/utils/is.js +6 -0
  353. package/dist/cjs/src/static_dependencies/node-fetch/utils/referrer.js +1 -0
  354. package/dist/cjs/src/static_dependencies/proxies/agent-base/index.js +1 -0
  355. package/dist/cjs/src/static_dependencies/proxies/http-proxy-agent/index.js +1 -0
  356. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/index.js +1 -0
  357. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +6 -0
  358. package/dist/cjs/src/static_dependencies/scure-base/index.js +6 -0
  359. package/dist/cjs/src/static_dependencies/scure-starknet/index.js +1 -1
  360. package/dist/cjs/src/static_dependencies/starknet/constants.js +1 -1
  361. package/dist/cjs/src/static_dependencies/starknet/types/calldata.js +6 -0
  362. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/abi.js +6 -0
  363. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/index.js +6 -0
  364. package/dist/cjs/src/static_dependencies/starknet/types/lib/index.js +6 -0
  365. package/dist/cjs/src/static_dependencies/starknet/types/typedData.js +6 -0
  366. package/dist/cjs/src/static_dependencies/starknet/utils/assert.js +6 -0
  367. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +1 -1
  368. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +1 -1
  369. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +1 -1
  370. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/byteArray.js +1 -0
  371. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/cairo.js +1 -0
  372. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +6 -0
  373. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +6 -0
  374. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +6 -0
  375. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/formatter.js +1 -0
  376. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/index.js +1 -1
  377. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/index.js +1 -0
  378. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +1 -0
  379. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +6 -0
  380. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +1 -0
  381. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/requestParser.js +1 -0
  382. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/responseParser.js +1 -0
  383. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/tuple.js +1 -1
  384. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/validate.js +1 -4
  385. package/dist/cjs/src/static_dependencies/starknet/utils/encode.js +1 -0
  386. package/dist/cjs/src/static_dependencies/starknet/utils/hash/classHash.js +1 -3
  387. package/dist/cjs/src/static_dependencies/starknet/utils/merkle.js +1 -0
  388. package/dist/cjs/src/static_dependencies/starknet/utils/num.js +1 -0
  389. package/dist/cjs/src/static_dependencies/starknet/utils/selector.js +1 -0
  390. package/dist/cjs/src/static_dependencies/starknet/utils/shortString.js +1 -0
  391. package/dist/cjs/src/static_dependencies/starknet/utils/typedData.js +1 -1
  392. package/dist/cjs/src/static_dependencies/watchable/src/unpromise.js +6 -0
  393. package/dist/cjs/src/static_dependencies/zklink/zklink-sdk-web.js +6 -0
  394. package/dist/cjs/src/timex.js +1 -0
  395. package/dist/cjs/src/tokocrypto.js +1 -1
  396. package/dist/cjs/src/tradeogre.js +4 -4
  397. package/dist/cjs/src/upbit.js +1 -1
  398. package/dist/cjs/src/vertex.js +1 -1
  399. package/dist/cjs/src/wavesexchange.js +1 -1
  400. package/dist/cjs/src/whitebit.js +1 -1
  401. package/dist/cjs/src/woo.js +1 -1
  402. package/dist/cjs/src/woofipro.js +1 -1
  403. package/dist/cjs/src/xt.js +2 -2
  404. package/dist/cjs/src/yobit.js +1 -1
  405. package/dist/cjs/src/zaif.js +1 -1
  406. package/dist/cjs/src/zonda.js +1 -1
  407. package/js/ccxt.d.ts +2 -5
  408. package/js/ccxt.js +8 -4
  409. package/js/src/abstract/alpaca.js +6 -0
  410. package/js/src/abstract/apex.js +6 -0
  411. package/js/src/abstract/ascendex.js +6 -0
  412. package/js/src/abstract/bequant.js +6 -0
  413. package/js/src/abstract/bigone.js +6 -0
  414. package/js/src/abstract/binance.js +6 -0
  415. package/js/src/abstract/binancecoinm.js +6 -0
  416. package/js/src/abstract/binanceus.js +6 -0
  417. package/js/src/abstract/binanceusdm.js +6 -0
  418. package/js/src/abstract/bingx.js +6 -0
  419. package/js/src/abstract/bit2c.js +6 -0
  420. package/js/src/abstract/bitbank.js +6 -0
  421. package/js/src/abstract/bitbns.js +6 -0
  422. package/js/src/abstract/bitfinex.js +6 -0
  423. package/js/src/abstract/bitflyer.js +6 -0
  424. package/js/src/abstract/bitget.d.ts +58 -0
  425. package/js/src/abstract/bitget.js +6 -0
  426. package/js/src/abstract/bithumb.js +6 -0
  427. package/js/src/abstract/bitmart.js +6 -0
  428. package/js/src/abstract/bitmex.js +6 -0
  429. package/js/src/abstract/bitopro.js +6 -0
  430. package/js/src/abstract/bitrue.js +6 -0
  431. package/js/src/abstract/bitso.js +6 -0
  432. package/js/src/abstract/bitstamp.js +6 -0
  433. package/js/src/abstract/bitteam.js +6 -0
  434. package/js/src/abstract/bittrade.js +6 -0
  435. package/js/src/abstract/bitvavo.js +6 -0
  436. package/js/src/abstract/blockchaincom.js +6 -0
  437. package/js/src/abstract/blofin.js +6 -0
  438. package/js/src/abstract/btcalpha.js +6 -0
  439. package/js/src/abstract/btcbox.js +6 -0
  440. package/js/src/abstract/btcmarkets.js +6 -0
  441. package/js/src/abstract/btcturk.js +6 -0
  442. package/js/src/abstract/bybit.js +6 -0
  443. package/js/src/abstract/cex.js +6 -0
  444. package/js/src/abstract/coinbase.js +6 -0
  445. package/js/src/abstract/coinbaseadvanced.js +6 -0
  446. package/js/src/abstract/coinbaseexchange.js +6 -0
  447. package/js/src/abstract/coinbaseinternational.js +6 -0
  448. package/js/src/abstract/coincatch.js +6 -0
  449. package/js/src/abstract/coincheck.js +6 -0
  450. package/js/src/abstract/coinex.js +6 -0
  451. package/js/src/abstract/coinmate.js +6 -0
  452. package/js/src/abstract/coinmetro.js +6 -0
  453. package/js/src/abstract/coinone.js +6 -0
  454. package/js/src/abstract/coinsph.js +6 -0
  455. package/js/src/abstract/coinspot.js +6 -0
  456. package/js/src/abstract/cryptocom.js +6 -0
  457. package/js/src/abstract/cryptomus.js +6 -0
  458. package/js/src/abstract/defx.js +6 -0
  459. package/js/src/abstract/delta.js +6 -0
  460. package/js/src/abstract/deribit.js +6 -0
  461. package/js/src/abstract/derive.js +6 -0
  462. package/js/src/abstract/digifinex.js +6 -0
  463. package/js/src/abstract/ellipx.js +6 -0
  464. package/js/src/abstract/exmo.js +6 -0
  465. package/js/src/abstract/fmfwio.js +6 -0
  466. package/js/src/abstract/gate.js +6 -0
  467. package/js/src/abstract/gateio.js +6 -0
  468. package/js/src/abstract/gemini.js +6 -0
  469. package/js/src/abstract/hashkey.js +6 -0
  470. package/js/src/abstract/hitbtc.js +6 -0
  471. package/js/src/abstract/hollaex.js +6 -0
  472. package/js/src/abstract/htx.js +6 -0
  473. package/js/src/abstract/huobi.js +6 -0
  474. package/js/src/abstract/hyperliquid.js +6 -0
  475. package/js/src/abstract/independentreserve.js +6 -0
  476. package/js/src/abstract/indodax.js +6 -0
  477. package/js/src/abstract/kraken.js +6 -0
  478. package/js/src/abstract/krakenfutures.js +6 -0
  479. package/js/src/abstract/kucoin.js +6 -0
  480. package/js/src/abstract/kucoinfutures.js +6 -0
  481. package/js/src/abstract/latoken.js +6 -0
  482. package/js/src/abstract/lbank.js +6 -0
  483. package/js/src/abstract/luno.js +6 -0
  484. package/js/src/abstract/mercado.js +6 -0
  485. package/js/src/abstract/mexc.js +6 -0
  486. package/js/src/abstract/modetrade.js +6 -0
  487. package/js/src/abstract/myokx.js +6 -0
  488. package/js/src/abstract/ndax.js +6 -0
  489. package/js/src/abstract/novadax.js +6 -0
  490. package/js/src/abstract/oceanex.js +6 -0
  491. package/js/src/abstract/okcoin.js +6 -0
  492. package/js/src/abstract/okx.js +6 -0
  493. package/js/src/abstract/okxus.js +6 -0
  494. package/js/src/abstract/onetrading.js +6 -0
  495. package/js/src/abstract/oxfun.js +6 -0
  496. package/js/src/abstract/p2b.js +6 -0
  497. package/js/src/abstract/paradex.js +6 -0
  498. package/js/src/abstract/paymium.js +6 -0
  499. package/js/src/abstract/phemex.js +6 -0
  500. package/js/src/abstract/poloniex.js +6 -0
  501. package/js/src/abstract/probit.js +6 -0
  502. package/js/src/abstract/timex.js +6 -0
  503. package/js/src/abstract/tokocrypto.js +6 -0
  504. package/js/src/abstract/tradeogre.js +6 -0
  505. package/js/src/abstract/upbit.js +6 -0
  506. package/js/src/abstract/vertex.js +6 -0
  507. package/js/src/abstract/wavesexchange.js +6 -0
  508. package/js/src/abstract/whitebit.js +6 -0
  509. package/js/src/abstract/woo.js +6 -0
  510. package/js/src/abstract/woofipro.js +6 -0
  511. package/js/src/abstract/xt.js +6 -0
  512. package/js/src/abstract/yobit.js +6 -0
  513. package/js/src/abstract/zaif.js +6 -0
  514. package/js/src/abstract/zonda.js +6 -0
  515. package/js/src/alpaca.js +6 -0
  516. package/js/src/apex.js +6 -0
  517. package/js/src/ascendex.js +6 -0
  518. package/js/src/base/Exchange.d.ts +6 -4
  519. package/js/src/base/Exchange.js +18 -13
  520. package/js/src/base/Precise.js +6 -0
  521. package/js/src/base/errorHierarchy.js +6 -0
  522. package/js/src/base/errors.js +6 -0
  523. package/js/src/base/functions/crypto.js +6 -0
  524. package/js/src/base/functions/encode.d.ts +1 -1
  525. package/js/src/base/functions/encode.js +7 -1
  526. package/js/src/base/functions/generic.d.ts +2 -1
  527. package/js/src/base/functions/generic.js +12 -1
  528. package/js/src/base/functions/misc.js +6 -0
  529. package/js/src/base/functions/number.js +6 -0
  530. package/js/src/base/functions/platform.js +6 -0
  531. package/js/src/base/functions/rsa.js +6 -0
  532. package/js/src/base/functions/string.js +6 -0
  533. package/js/src/base/functions/throttle.js +6 -0
  534. package/js/src/base/functions/time.js +6 -0
  535. package/js/src/base/functions/totp.js +6 -0
  536. package/js/src/base/functions/type.js +6 -0
  537. package/js/src/base/functions.js +6 -0
  538. package/js/src/base/types.js +6 -0
  539. package/js/src/base/ws/Cache.js +6 -0
  540. package/js/src/base/ws/Client.d.ts +0 -2
  541. package/js/src/base/ws/Client.js +10 -34
  542. package/js/src/base/ws/Future.js +6 -0
  543. package/js/src/base/ws/OrderBook.js +6 -0
  544. package/js/src/base/ws/OrderBookSide.js +6 -0
  545. package/js/src/base/ws/WsClient.js +6 -0
  546. package/js/src/base/ws/functions.js +6 -0
  547. package/js/src/bequant.js +6 -0
  548. package/js/src/bigone.js +6 -0
  549. package/js/src/binance.js +8 -2
  550. package/js/src/binancecoinm.js +6 -0
  551. package/js/src/binanceus.js +6 -0
  552. package/js/src/binanceusdm.js +6 -0
  553. package/js/src/bingx.d.ts +1 -1
  554. package/js/src/bingx.js +19 -11
  555. package/js/src/bit2c.js +6 -0
  556. package/js/src/bitbank.js +6 -0
  557. package/js/src/bitbns.js +6 -0
  558. package/js/src/bitfinex.js +6 -0
  559. package/js/src/bitflyer.js +6 -0
  560. package/js/src/bitget.d.ts +4 -1
  561. package/js/src/bitget.js +499 -154
  562. package/js/src/bithumb.js +6 -0
  563. package/js/src/bitmart.js +6 -0
  564. package/js/src/bitmex.js +8 -1
  565. package/js/src/bitopro.js +6 -0
  566. package/js/src/bitrue.js +78 -66
  567. package/js/src/bitso.js +6 -0
  568. package/js/src/bitstamp.js +6 -0
  569. package/js/src/bitteam.js +6 -0
  570. package/js/src/bittrade.js +6 -0
  571. package/js/src/bitvavo.js +6 -0
  572. package/js/src/blockchaincom.js +6 -0
  573. package/js/src/blofin.js +6 -0
  574. package/js/src/btcalpha.js +6 -0
  575. package/js/src/btcbox.js +41 -0
  576. package/js/src/btcmarkets.js +41 -0
  577. package/js/src/btcturk.js +41 -0
  578. package/js/src/bybit.js +15 -3
  579. package/js/src/cex.js +67 -0
  580. package/js/src/coinbase.d.ts +1 -1
  581. package/js/src/coinbase.js +7 -4
  582. package/js/src/coinbaseadvanced.js +6 -0
  583. package/js/src/coinbaseexchange.d.ts +1 -1
  584. package/js/src/coinbaseexchange.js +6 -0
  585. package/js/src/coinbaseinternational.js +6 -0
  586. package/js/src/coincatch.js +6 -0
  587. package/js/src/coincheck.js +6 -0
  588. package/js/src/coinex.js +6 -0
  589. package/js/src/coinmate.js +6 -0
  590. package/js/src/coinmetro.js +6 -0
  591. package/js/src/coinone.js +6 -0
  592. package/js/src/coinsph.js +6 -0
  593. package/js/src/coinspot.js +6 -0
  594. package/js/src/cryptocom.js +27 -2
  595. package/js/src/cryptomus.js +7 -1
  596. package/js/src/defx.js +6 -0
  597. package/js/src/delta.js +8 -2
  598. package/js/src/deribit.js +6 -0
  599. package/js/src/derive.js +6 -0
  600. package/js/src/digifinex.js +6 -0
  601. package/js/src/ellipx.js +6 -0
  602. package/js/src/exmo.js +20 -7
  603. package/js/src/fmfwio.js +8 -2
  604. package/js/src/gate.js +8 -2
  605. package/js/src/gateio.js +6 -0
  606. package/js/src/gemini.js +6 -0
  607. package/js/src/hashkey.js +6 -0
  608. package/js/src/hitbtc.js +6 -0
  609. package/js/src/hollaex.d.ts +1 -2
  610. package/js/src/hollaex.js +35 -25
  611. package/js/src/htx.js +6 -0
  612. package/js/src/huobi.js +6 -0
  613. package/js/src/hyperliquid.d.ts +1 -0
  614. package/js/src/hyperliquid.js +121 -59
  615. package/js/src/independentreserve.js +6 -0
  616. package/js/src/indodax.js +6 -0
  617. package/js/src/kraken.js +35 -1
  618. package/js/src/krakenfutures.js +6 -0
  619. package/js/src/kucoin.js +6 -0
  620. package/js/src/kucoinfutures.js +6 -0
  621. package/js/src/latoken.js +6 -0
  622. package/js/src/lbank.js +6 -0
  623. package/js/src/luno.js +6 -0
  624. package/js/src/mercado.js +6 -0
  625. package/js/src/mexc.js +7 -0
  626. package/js/src/modetrade.js +8 -2
  627. package/js/src/myokx.js +6 -0
  628. package/js/src/ndax.js +6 -0
  629. package/js/src/novadax.js +6 -0
  630. package/js/src/oceanex.js +6 -0
  631. package/js/src/okcoin.js +6 -0
  632. package/js/src/okx.js +6 -0
  633. package/js/src/okxus.js +6 -0
  634. package/js/src/onetrading.js +6 -0
  635. package/js/src/oxfun.js +6 -0
  636. package/js/src/p2b.d.ts +1 -2
  637. package/js/src/p2b.js +6 -0
  638. package/js/src/paradex.js +7 -1
  639. package/js/src/paymium.js +6 -0
  640. package/js/src/phemex.js +6 -0
  641. package/js/src/poloniex.js +6 -0
  642. package/js/src/pro/alpaca.js +6 -0
  643. package/js/src/pro/apex.js +6 -0
  644. package/js/src/pro/ascendex.js +6 -0
  645. package/js/src/pro/bequant.js +6 -0
  646. package/js/src/pro/binance.js +6 -0
  647. package/js/src/pro/binancecoinm.js +6 -0
  648. package/js/src/pro/binanceus.js +6 -0
  649. package/js/src/pro/binanceusdm.js +6 -0
  650. package/js/src/pro/bingx.js +6 -0
  651. package/js/src/pro/bitfinex.js +6 -0
  652. package/js/src/pro/bitget.js +6 -0
  653. package/js/src/pro/bithumb.js +6 -0
  654. package/js/src/pro/bitmart.js +6 -0
  655. package/js/src/pro/bitmex.js +6 -0
  656. package/js/src/pro/bitopro.js +6 -0
  657. package/js/src/pro/bitrue.js +6 -0
  658. package/js/src/pro/bitstamp.js +7 -1
  659. package/js/src/pro/bittrade.js +6 -0
  660. package/js/src/pro/bitvavo.js +6 -0
  661. package/js/src/pro/blockchaincom.js +6 -0
  662. package/js/src/pro/blofin.js +6 -0
  663. package/js/src/pro/bybit.d.ts +0 -1
  664. package/js/src/pro/bybit.js +12 -143
  665. package/js/src/pro/cex.js +6 -0
  666. package/js/src/pro/coinbase.js +6 -0
  667. package/js/src/pro/coinbaseadvanced.js +6 -0
  668. package/js/src/pro/coinbaseexchange.js +6 -0
  669. package/js/src/pro/coinbaseinternational.js +6 -0
  670. package/js/src/pro/coincatch.js +6 -0
  671. package/js/src/pro/coincheck.js +6 -0
  672. package/js/src/pro/coinex.js +6 -0
  673. package/js/src/pro/coinone.js +6 -0
  674. package/js/src/pro/cryptocom.js +6 -0
  675. package/js/src/pro/defx.js +6 -0
  676. package/js/src/pro/deribit.js +6 -0
  677. package/js/src/pro/derive.js +6 -0
  678. package/js/src/pro/exmo.js +6 -0
  679. package/js/src/pro/gate.js +6 -0
  680. package/js/src/pro/gateio.js +6 -0
  681. package/js/src/pro/gemini.js +6 -0
  682. package/js/src/pro/hashkey.js +6 -0
  683. package/js/src/pro/hitbtc.js +6 -0
  684. package/js/src/pro/hollaex.js +6 -0
  685. package/js/src/pro/htx.js +6 -0
  686. package/js/src/pro/huobi.js +6 -0
  687. package/js/src/pro/hyperliquid.js +6 -0
  688. package/js/src/pro/independentreserve.js +6 -0
  689. package/js/src/pro/kraken.d.ts +17 -17
  690. package/js/src/pro/kraken.js +257 -264
  691. package/js/src/pro/krakenfutures.js +6 -0
  692. package/js/src/pro/kucoin.js +6 -0
  693. package/js/src/pro/kucoinfutures.js +6 -0
  694. package/js/src/pro/lbank.js +6 -0
  695. package/js/src/pro/luno.js +6 -0
  696. package/js/src/pro/mexc.js +6 -1
  697. package/js/src/pro/modetrade.js +6 -0
  698. package/js/src/pro/myokx.js +6 -0
  699. package/js/src/pro/ndax.js +6 -0
  700. package/js/src/pro/okcoin.js +6 -0
  701. package/js/src/pro/okx.js +6 -0
  702. package/js/src/pro/okxus.js +6 -0
  703. package/js/src/pro/onetrading.js +6 -0
  704. package/js/src/pro/oxfun.js +6 -0
  705. package/js/src/pro/p2b.js +6 -0
  706. package/js/src/pro/paradex.js +6 -0
  707. package/js/src/pro/phemex.js +6 -0
  708. package/js/src/pro/poloniex.js +6 -0
  709. package/js/src/pro/probit.js +6 -0
  710. package/js/src/pro/tradeogre.js +6 -0
  711. package/js/src/pro/upbit.js +6 -0
  712. package/js/src/pro/vertex.js +6 -0
  713. package/js/src/pro/whitebit.js +6 -0
  714. package/js/src/pro/woo.js +6 -0
  715. package/js/src/pro/woofipro.js +6 -0
  716. package/js/src/pro/xt.js +6 -0
  717. package/js/src/probit.js +6 -0
  718. package/js/src/static_dependencies/ethers/abi-coder.js +6 -0
  719. package/js/src/static_dependencies/ethers/address/address.js +6 -0
  720. package/js/src/static_dependencies/ethers/address/checks.js +6 -0
  721. package/js/src/static_dependencies/ethers/address/contract-address.js +6 -0
  722. package/js/src/static_dependencies/ethers/address/index.js +6 -0
  723. package/js/src/static_dependencies/ethers/bytes32.js +6 -0
  724. package/js/src/static_dependencies/ethers/coders/abstract-coder.js +6 -0
  725. package/js/src/static_dependencies/ethers/coders/address.js +6 -0
  726. package/js/src/static_dependencies/ethers/coders/anonymous.js +6 -0
  727. package/js/src/static_dependencies/ethers/coders/array.js +6 -0
  728. package/js/src/static_dependencies/ethers/coders/boolean.js +6 -0
  729. package/js/src/static_dependencies/ethers/coders/bytes.js +6 -0
  730. package/js/src/static_dependencies/ethers/coders/fixed-bytes.js +6 -0
  731. package/js/src/static_dependencies/ethers/coders/null.js +6 -0
  732. package/js/src/static_dependencies/ethers/coders/number.js +6 -0
  733. package/js/src/static_dependencies/ethers/coders/string.js +6 -0
  734. package/js/src/static_dependencies/ethers/coders/tuple.js +6 -0
  735. package/js/src/static_dependencies/ethers/fragments.js +6 -0
  736. package/js/src/static_dependencies/ethers/hash/index.js +6 -0
  737. package/js/src/static_dependencies/ethers/hash/solidity.js +6 -0
  738. package/js/src/static_dependencies/ethers/hash/typed-data.js +6 -0
  739. package/js/src/static_dependencies/ethers/index.js +6 -0
  740. package/js/src/static_dependencies/ethers/interface.js +6 -0
  741. package/js/src/static_dependencies/ethers/typed.js +6 -0
  742. package/js/src/static_dependencies/ethers/utils/base58.js +6 -0
  743. package/js/src/static_dependencies/ethers/utils/base64-browser.js +6 -0
  744. package/js/src/static_dependencies/ethers/utils/base64.js +6 -0
  745. package/js/src/static_dependencies/ethers/utils/data.js +6 -0
  746. package/js/src/static_dependencies/ethers/utils/errors.js +6 -0
  747. package/js/src/static_dependencies/ethers/utils/events.js +6 -0
  748. package/js/src/static_dependencies/ethers/utils/fixednumber.js +6 -0
  749. package/js/src/static_dependencies/ethers/utils/index.js +6 -0
  750. package/js/src/static_dependencies/ethers/utils/maths.js +6 -0
  751. package/js/src/static_dependencies/ethers/utils/properties.js +6 -0
  752. package/js/src/static_dependencies/ethers/utils/rlp-decode.js +6 -0
  753. package/js/src/static_dependencies/ethers/utils/rlp-encode.js +6 -0
  754. package/js/src/static_dependencies/ethers/utils/rlp.js +6 -0
  755. package/js/src/static_dependencies/ethers/utils/units.js +6 -0
  756. package/js/src/static_dependencies/ethers/utils/utf8.js +6 -0
  757. package/js/src/static_dependencies/ethers/utils/uuid.js +6 -0
  758. package/js/src/static_dependencies/fflake/browser.d.ts +5 -5
  759. package/js/src/static_dependencies/fflake/browser.js +6 -0
  760. package/js/src/static_dependencies/jsencrypt/JSEncrypt.js +6 -0
  761. package/js/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +6 -0
  762. package/js/src/static_dependencies/jsencrypt/index.js +6 -0
  763. package/js/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +6 -0
  764. package/js/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +6 -0
  765. package/js/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +6 -0
  766. package/js/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +6 -0
  767. package/js/src/static_dependencies/jsencrypt/lib/asn1js/oids.js +6 -0
  768. package/js/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +6 -0
  769. package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.d.ts +1 -1
  770. package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +6 -0
  771. package/js/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +6 -0
  772. package/js/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +6 -0
  773. package/js/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +6 -0
  774. package/js/src/static_dependencies/jsencrypt/lib/jsbn/util.js +6 -0
  775. package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +6 -0
  776. package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +6 -0
  777. package/js/src/static_dependencies/messagepack/msgpack.js +6 -0
  778. package/js/src/static_dependencies/noble-curves/_shortw_utils.js +6 -0
  779. package/js/src/static_dependencies/noble-curves/abstract/curve.js +6 -0
  780. package/js/src/static_dependencies/noble-curves/abstract/edwards.js +6 -0
  781. package/js/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +6 -0
  782. package/js/src/static_dependencies/noble-curves/abstract/modular.js +6 -0
  783. package/js/src/static_dependencies/noble-curves/abstract/montgomery.js +6 -0
  784. package/js/src/static_dependencies/noble-curves/abstract/poseidon.js +6 -0
  785. package/js/src/static_dependencies/noble-curves/abstract/utils.js +6 -0
  786. package/js/src/static_dependencies/noble-curves/abstract/weierstrass.d.ts +0 -1
  787. package/js/src/static_dependencies/noble-curves/abstract/weierstrass.js +6 -0
  788. package/js/src/static_dependencies/noble-curves/bn.js +6 -0
  789. package/js/src/static_dependencies/noble-curves/ed25519.js +6 -0
  790. package/js/src/static_dependencies/noble-curves/ed448.js +6 -0
  791. package/js/src/static_dependencies/noble-curves/index.js +6 -0
  792. package/js/src/static_dependencies/noble-curves/jubjub.js +6 -0
  793. package/js/src/static_dependencies/noble-curves/p256.js +6 -0
  794. package/js/src/static_dependencies/noble-curves/p384.js +6 -0
  795. package/js/src/static_dependencies/noble-curves/p521.js +6 -0
  796. package/js/src/static_dependencies/noble-curves/pasta.js +6 -0
  797. package/js/src/static_dependencies/noble-curves/secp256k1.js +6 -0
  798. package/js/src/static_dependencies/noble-hashes/_assert.js +6 -0
  799. package/js/src/static_dependencies/noble-hashes/_blake2.js +6 -0
  800. package/js/src/static_dependencies/noble-hashes/_sha2.js +6 -0
  801. package/js/src/static_dependencies/noble-hashes/_u64.js +6 -0
  802. package/js/src/static_dependencies/noble-hashes/argon2.js +6 -0
  803. package/js/src/static_dependencies/noble-hashes/blake2b.js +6 -0
  804. package/js/src/static_dependencies/noble-hashes/blake2s.js +6 -0
  805. package/js/src/static_dependencies/noble-hashes/blake3.js +6 -0
  806. package/js/src/static_dependencies/noble-hashes/crypto.js +6 -0
  807. package/js/src/static_dependencies/noble-hashes/cryptoNode.js +6 -0
  808. package/js/src/static_dependencies/noble-hashes/eskdf.js +6 -0
  809. package/js/src/static_dependencies/noble-hashes/hkdf.js +6 -0
  810. package/js/src/static_dependencies/noble-hashes/hmac.js +6 -0
  811. package/js/src/static_dependencies/noble-hashes/index.js +6 -0
  812. package/js/src/static_dependencies/noble-hashes/md5.js +6 -0
  813. package/js/src/static_dependencies/noble-hashes/pbkdf2.js +6 -0
  814. package/js/src/static_dependencies/noble-hashes/ripemd160.js +6 -0
  815. package/js/src/static_dependencies/noble-hashes/scrypt.js +6 -0
  816. package/js/src/static_dependencies/noble-hashes/sha1.js +6 -0
  817. package/js/src/static_dependencies/noble-hashes/sha256.js +6 -0
  818. package/js/src/static_dependencies/noble-hashes/sha3-addons.js +6 -0
  819. package/js/src/static_dependencies/noble-hashes/sha3.js +6 -0
  820. package/js/src/static_dependencies/noble-hashes/sha512.js +6 -0
  821. package/js/src/static_dependencies/noble-hashes/utils.js +6 -0
  822. package/js/src/static_dependencies/node-fetch/body.js +6 -0
  823. package/js/src/static_dependencies/node-fetch/errors/abort-error.js +6 -0
  824. package/js/src/static_dependencies/node-fetch/errors/base.js +6 -0
  825. package/js/src/static_dependencies/node-fetch/errors/fetch-error.js +6 -0
  826. package/js/src/static_dependencies/node-fetch/headers.js +6 -0
  827. package/js/src/static_dependencies/node-fetch/index.js +6 -0
  828. package/js/src/static_dependencies/node-fetch/request.js +6 -0
  829. package/js/src/static_dependencies/node-fetch/response.js +6 -0
  830. package/js/src/static_dependencies/node-fetch/utils/get-search.js +6 -0
  831. package/js/src/static_dependencies/node-fetch/utils/is-redirect.js +6 -0
  832. package/js/src/static_dependencies/node-fetch/utils/is.js +6 -0
  833. package/js/src/static_dependencies/node-fetch/utils/referrer.js +6 -0
  834. package/js/src/static_dependencies/proxies/agent-base/helpers.js +6 -0
  835. package/js/src/static_dependencies/proxies/agent-base/index.js +6 -0
  836. package/js/src/static_dependencies/proxies/http-proxy-agent/index.js +6 -0
  837. package/js/src/static_dependencies/proxies/https-proxy-agent/index.js +6 -0
  838. package/js/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +6 -0
  839. package/js/src/static_dependencies/qs/formats.cjs +6 -0
  840. package/js/src/static_dependencies/qs/index.cjs +6 -0
  841. package/js/src/static_dependencies/qs/parse.cjs +6 -0
  842. package/js/src/static_dependencies/qs/stringify.cjs +6 -0
  843. package/js/src/static_dependencies/qs/utils.cjs +6 -0
  844. package/js/src/static_dependencies/scure-base/index.js +6 -0
  845. package/js/src/static_dependencies/scure-starknet/index.js +6 -0
  846. package/js/src/static_dependencies/starknet/constants.js +6 -0
  847. package/js/src/static_dependencies/starknet/index.js +6 -0
  848. package/js/src/static_dependencies/starknet/types/cairoEnum.js +6 -0
  849. package/js/src/static_dependencies/starknet/types/calldata.js +6 -0
  850. package/js/src/static_dependencies/starknet/types/index.js +6 -0
  851. package/js/src/static_dependencies/starknet/types/lib/contract/abi.js +6 -0
  852. package/js/src/static_dependencies/starknet/types/lib/contract/index.js +6 -0
  853. package/js/src/static_dependencies/starknet/types/lib/contract/legacy.js +6 -0
  854. package/js/src/static_dependencies/starknet/types/lib/contract/sierra.js +6 -0
  855. package/js/src/static_dependencies/starknet/types/lib/index.js +6 -0
  856. package/js/src/static_dependencies/starknet/types/typedData.js +6 -0
  857. package/js/src/static_dependencies/starknet/utils/address.js +6 -0
  858. package/js/src/static_dependencies/starknet/utils/assert.js +6 -0
  859. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +6 -0
  860. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +6 -0
  861. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +6 -0
  862. package/js/src/static_dependencies/starknet/utils/calldata/byteArray.js +6 -0
  863. package/js/src/static_dependencies/starknet/utils/calldata/cairo.js +6 -0
  864. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +6 -0
  865. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +6 -0
  866. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +6 -0
  867. package/js/src/static_dependencies/starknet/utils/calldata/enum/index.js +6 -0
  868. package/js/src/static_dependencies/starknet/utils/calldata/formatter.js +6 -0
  869. package/js/src/static_dependencies/starknet/utils/calldata/index.js +6 -0
  870. package/js/src/static_dependencies/starknet/utils/calldata/parser/index.d.ts +1 -1
  871. package/js/src/static_dependencies/starknet/utils/calldata/parser/index.js +6 -0
  872. package/js/src/static_dependencies/starknet/utils/calldata/parser/interface.js +6 -0
  873. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +6 -0
  874. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +6 -0
  875. package/js/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +6 -0
  876. package/js/src/static_dependencies/starknet/utils/calldata/requestParser.js +6 -0
  877. package/js/src/static_dependencies/starknet/utils/calldata/responseParser.js +6 -0
  878. package/js/src/static_dependencies/starknet/utils/calldata/tuple.js +6 -0
  879. package/js/src/static_dependencies/starknet/utils/calldata/validate.js +6 -0
  880. package/js/src/static_dependencies/starknet/utils/encode.js +6 -0
  881. package/js/src/static_dependencies/starknet/utils/hash/classHash.js +6 -0
  882. package/js/src/static_dependencies/starknet/utils/hash/index.js +6 -0
  883. package/js/src/static_dependencies/starknet/utils/merkle.js +6 -0
  884. package/js/src/static_dependencies/starknet/utils/num.js +6 -0
  885. package/js/src/static_dependencies/starknet/utils/selector.js +6 -0
  886. package/js/src/static_dependencies/starknet/utils/shortString.js +6 -0
  887. package/js/src/static_dependencies/starknet/utils/starknetId.js +6 -0
  888. package/js/src/static_dependencies/starknet/utils/typedData.js +6 -0
  889. package/js/src/static_dependencies/starknet/utils/uint256.js +6 -0
  890. package/js/src/static_dependencies/starknet/utils/url.js +6 -0
  891. package/js/src/static_dependencies/watchable/src/index.js +6 -0
  892. package/js/src/static_dependencies/watchable/src/types.js +6 -0
  893. package/js/src/static_dependencies/watchable/src/unpromise.js +6 -0
  894. package/js/src/static_dependencies/zklink/zklink-sdk-web.js +6 -0
  895. package/js/src/timex.js +6 -0
  896. package/js/src/tokocrypto.js +6 -0
  897. package/js/src/tradeogre.d.ts +1 -2
  898. package/js/src/tradeogre.js +9 -3
  899. package/js/src/upbit.js +6 -0
  900. package/js/src/vertex.js +6 -0
  901. package/js/src/wavesexchange.js +6 -0
  902. package/js/src/whitebit.js +6 -0
  903. package/js/src/woo.js +6 -0
  904. package/js/src/woofipro.js +6 -0
  905. package/js/src/xt.js +7 -1
  906. package/js/src/yobit.js +6 -0
  907. package/js/src/zaif.js +6 -0
  908. package/js/src/zonda.js +6 -0
  909. package/package.json +1 -1
  910. package/js/src/abstract/coinlist.d.ts +0 -60
  911. package/js/src/abstract/coinlist.js +0 -5
  912. package/js/src/coinlist.d.ts +0 -384
  913. package/js/src/coinlist.js +0 -2604
@@ -1,3 +1,9 @@
1
+ // ----------------------------------------------------------------------------
2
+
3
+ // PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
4
+ // https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
+ // EDIT THE CORRESPONDENT .ts FILE INSTEAD
6
+
1
7
  // ---------------------------------------------------------------------------
2
8
  import krakenRest from '../kraken.js';
3
9
  import { ExchangeError, BadSymbol, PermissionDenied, AccountSuspended, BadRequest, InsufficientFunds, InvalidOrder, OrderNotFound, NotSupported, RateLimitExceeded, ExchangeNotAvailable, ChecksumError, AuthenticationError, ArgumentsRequired } from '../base/errors.js';
@@ -34,6 +40,7 @@ export default class kraken extends krakenRest {
34
40
  'public': 'wss://ws.kraken.com',
35
41
  'private': 'wss://ws-auth.kraken.com',
36
42
  'privateV2': 'wss://ws-auth.kraken.com/v2',
43
+ 'publicV2': 'wss://ws.kraken.com/v2',
37
44
  'beta': 'wss://beta-ws.kraken.com',
38
45
  'beta-private': 'wss://beta-ws-auth.kraken.com',
39
46
  },
@@ -48,9 +55,13 @@ export default class kraken extends krakenRest {
48
55
  'ordersLimit': 1000,
49
56
  'symbolsByOrderId': {},
50
57
  'watchOrderBook': {
51
- 'checksum': true,
58
+ 'checksum': false,
52
59
  },
53
60
  },
61
+ 'streaming': {
62
+ 'ping': this.ping,
63
+ 'keepAlive': 6000,
64
+ },
54
65
  'exceptions': {
55
66
  'ws': {
56
67
  'exact': {
@@ -101,6 +112,7 @@ export default class kraken extends krakenRest {
101
112
  'EService:Market in post_only mode': NotSupported,
102
113
  'EService:Unavailable': ExchangeNotAvailable,
103
114
  'ETrade:Invalid request': BadRequest,
115
+ 'ESession:Invalid session': AuthenticationError,
104
116
  },
105
117
  },
106
118
  },
@@ -368,8 +380,8 @@ export default class kraken extends krakenRest {
368
380
  /**
369
381
  * @method
370
382
  * @name kraken#cancelOrdersWs
371
- * @see https://docs.kraken.com/api/docs/websocket-v1/cancelorder
372
383
  * @description cancel multiple orders
384
+ * @see https://docs.kraken.com/api/docs/websocket-v2/cancel_order
373
385
  * @param {string[]} ids order ids
374
386
  * @param {string} [symbol] unified market symbol, default is undefined
375
387
  * @param {object} [params] extra parameters specific to the exchange API endpoint
@@ -397,8 +409,8 @@ export default class kraken extends krakenRest {
397
409
  /**
398
410
  * @method
399
411
  * @name kraken#cancelOrderWs
400
- * @see https://docs.kraken.com/api/docs/websocket-v1/cancelorder
401
412
  * @description cancels an open order
413
+ * @see https://docs.kraken.com/api/docs/websocket-v2/cancel_order
402
414
  * @param {string} id order id
403
415
  * @param {string} [symbol] unified symbol of the market the order was made in
404
416
  * @param {object} [params] extra parameters specific to the exchange API endpoint
@@ -442,8 +454,8 @@ export default class kraken extends krakenRest {
442
454
  /**
443
455
  * @method
444
456
  * @name kraken#cancelAllOrdersWs
445
- * @see https://docs.kraken.com/api/docs/websocket-v1/cancelall
446
457
  * @description cancel all open orders
458
+ * @see https://docs.kraken.com/api/docs/websocket-v2/cancel_all
447
459
  * @param {string} [symbol] unified market symbol, only orders in the market of this symbol are cancelled when symbol is not undefined
448
460
  * @param {object} [params] extra parameters specific to the exchange API endpoint
449
461
  * @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
@@ -482,54 +494,57 @@ export default class kraken extends krakenRest {
482
494
  const reqId = this.safeValue(message, 'req_id');
483
495
  client.resolve(message, reqId);
484
496
  }
485
- handleTicker(client, message, subscription) {
497
+ handleTicker(client, message) {
486
498
  //
487
- // [
488
- // 0, // channelID
489
- // {
490
- // "a": [ "5525.40000", 1, "1.000" ], // ask, wholeAskVolume, askVolume
491
- // "b": [ "5525.10000", 1, "1.000" ], // bid, wholeBidVolume, bidVolume
492
- // "c": [ "5525.10000", "0.00398963" ], // closing price, volume
493
- // "h": [ "5783.00000", "5783.00000" ], // high price today, high price 24h ago
494
- // "l": [ "5505.00000", "5505.00000" ], // low price today, low price 24h ago
495
- // "o": [ "5760.70000", "5763.40000" ], // open price today, open price 24h ago
496
- // "p": [ "5631.44067", "5653.78939" ], // vwap today, vwap 24h ago
497
- // "t": [ 11493, 16267 ], // number of trades today, 24 hours ago
498
- // "v": [ "2634.11501494", "3591.17907851" ], // volume today, volume 24 hours ago
499
- // },
500
- // "ticker",
501
- // "XBT/USD"
502
- // ]
499
+ // {
500
+ // "channel": "ticker",
501
+ // "type": "snapshot",
502
+ // "data": [
503
+ // {
504
+ // "symbol": "BTC/USD",
505
+ // "bid": 108359.8,
506
+ // "bid_qty": 0.01362603,
507
+ // "ask": 108359.9,
508
+ // "ask_qty": 17.17988863,
509
+ // "last": 108359.8,
510
+ // "volume": 2158.32346723,
511
+ // "vwap": 108894.5,
512
+ // "low": 106824,
513
+ // "high": 111300,
514
+ // "change": -2679.9,
515
+ // "change_pct": -2.41
516
+ // }
517
+ // ]
518
+ // }
503
519
  //
504
- const wsName = message[3];
505
- const market = this.safeValue(this.options['marketsByWsName'], wsName);
506
- const symbol = market['symbol'];
520
+ const data = this.safeList(message, 'data', []);
521
+ const ticker = data[0];
522
+ const symbol = this.safeString(ticker, 'symbol');
507
523
  const messageHash = this.getMessageHash('ticker', undefined, symbol);
508
- const ticker = message[1];
509
- const vwap = this.safeString(ticker['p'], 0);
524
+ const vwap = this.safeString(ticker, 'vwap');
510
525
  let quoteVolume = undefined;
511
- const baseVolume = this.safeString(ticker['v'], 0);
526
+ const baseVolume = this.safeString(ticker, 'volume');
512
527
  if (baseVolume !== undefined && vwap !== undefined) {
513
528
  quoteVolume = Precise.stringMul(baseVolume, vwap);
514
529
  }
515
- const last = this.safeString(ticker['c'], 0);
530
+ const last = this.safeString(ticker, 'last');
516
531
  const result = this.safeTicker({
517
532
  'symbol': symbol,
518
533
  'timestamp': undefined,
519
534
  'datetime': undefined,
520
- 'high': this.safeString(ticker['h'], 0),
521
- 'low': this.safeString(ticker['l'], 0),
522
- 'bid': this.safeString(ticker['b'], 0),
523
- 'bidVolume': this.safeString(ticker['b'], 2),
524
- 'ask': this.safeString(ticker['a'], 0),
525
- 'askVolume': this.safeString(ticker['a'], 2),
535
+ 'high': this.safeString(ticker, 'high'),
536
+ 'low': this.safeString(ticker, 'low'),
537
+ 'bid': this.safeString(ticker, 'bid'),
538
+ 'bidVolume': this.safeString(ticker, 'bid_qty'),
539
+ 'ask': this.safeString(ticker, 'ask'),
540
+ 'askVolume': this.safeString(ticker, 'ask_qty'),
526
541
  'vwap': vwap,
527
- 'open': this.safeString(ticker['o'], 0),
542
+ 'open': undefined,
528
543
  'close': last,
529
544
  'last': last,
530
545
  'previousClose': undefined,
531
- 'change': undefined,
532
- 'percentage': undefined,
546
+ 'change': this.safeString(ticker, 'change'),
547
+ 'percentage': this.safeString(ticker, 'change_pct'),
533
548
  'average': undefined,
534
549
  'baseVolume': baseVolume,
535
550
  'quoteVolume': quoteVolume,
@@ -538,31 +553,36 @@ export default class kraken extends krakenRest {
538
553
  this.tickers[symbol] = result;
539
554
  client.resolve(result, messageHash);
540
555
  }
541
- handleTrades(client, message, subscription) {
556
+ handleTrades(client, message) {
542
557
  //
543
- // [
544
- // 0, // channelID
545
- // [ // price volume time side type misc
546
- // [ "5541.20000", "0.15850568", "1534614057.321596", "s", "l", "" ],
547
- // [ "6060.00000", "0.02455000", "1534614057.324998", "b", "l", "" ],
548
- // ],
549
- // "trade",
550
- // "XBT/USD"
551
- // ]
558
+ // {
559
+ // "channel": "trade",
560
+ // "type": "update",
561
+ // "data": [
562
+ // {
563
+ // "symbol": "MATIC/USD",
564
+ // "side": "sell",
565
+ // "price": 0.5117,
566
+ // "qty": 40.0,
567
+ // "ord_type": "market",
568
+ // "trade_id": 4665906,
569
+ // "timestamp": "2023-09-25T07:49:37.708706Z"
570
+ // }
571
+ // ]
572
+ // }
552
573
  //
553
- const wsName = this.safeString(message, 3);
554
- const name = this.safeString(message, 2);
555
- const market = this.safeValue(this.options['marketsByWsName'], wsName);
556
- const symbol = market['symbol'];
557
- const messageHash = this.getMessageHash(name, undefined, symbol);
574
+ const data = this.safeList(message, 'data', []);
575
+ const trade = data[0];
576
+ const symbol = this.safeString(trade, 'symbol');
577
+ const messageHash = this.getMessageHash('trade', undefined, symbol);
558
578
  let stored = this.safeValue(this.trades, symbol);
559
579
  if (stored === undefined) {
560
580
  const limit = this.safeInteger(this.options, 'tradesLimit', 1000);
561
581
  stored = new ArrayCache(limit);
562
582
  this.trades[symbol] = stored;
563
583
  }
564
- const trades = this.safeValue(message, 1, []);
565
- const parsed = this.parseTrades(trades, market);
584
+ const market = this.market(symbol);
585
+ const parsed = this.parseTrades(data, market);
566
586
  for (let i = 0; i < parsed.length; i++) {
567
587
  stored.append(parsed[i]);
568
588
  }
@@ -650,7 +670,7 @@ export default class kraken extends krakenRest {
650
670
  * @method
651
671
  * @name kraken#watchTicker
652
672
  * @description watches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
653
- * @see https://docs.kraken.com/api/docs/websocket-v1/ticker
673
+ * @see https://docs.kraken.com/api/docs/websocket-v2/ticker
654
674
  * @param {string} symbol unified symbol of the market to fetch the ticker for
655
675
  * @param {object} [params] extra parameters specific to the exchange API endpoint
656
676
  * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
@@ -665,7 +685,7 @@ export default class kraken extends krakenRest {
665
685
  * @method
666
686
  * @name kraken#watchTickers
667
687
  * @description watches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
668
- * @see https://docs.kraken.com/api/docs/websocket-v1/ticker
688
+ * @see https://docs.kraken.com/api/docs/websocket-v2/ticker
669
689
  * @param {string[]} symbols
670
690
  * @param {object} [params] extra parameters specific to the exchange API endpoint
671
691
  * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
@@ -684,8 +704,8 @@ export default class kraken extends krakenRest {
684
704
  /**
685
705
  * @method
686
706
  * @name kraken#watchBidsAsks
687
- * @see https://docs.kraken.com/api/docs/websocket-v1/spread
688
707
  * @description watches best bid & ask for symbols
708
+ * @see https://docs.kraken.com/api/docs/websocket-v2/ticker
689
709
  * @param {string[]} symbols unified symbol of the market to fetch the ticker for
690
710
  * @param {object} [params] extra parameters specific to the exchange API endpoint
691
711
  * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
@@ -693,7 +713,8 @@ export default class kraken extends krakenRest {
693
713
  async watchBidsAsks(symbols = undefined, params = {}) {
694
714
  await this.loadMarkets();
695
715
  symbols = this.marketSymbols(symbols, undefined, false);
696
- const ticker = await this.watchMultiHelper('bidask', 'spread', symbols, undefined, params);
716
+ params['event_trigger'] = 'bbo';
717
+ const ticker = await this.watchMultiHelper('bidask', 'ticker', symbols, undefined, params);
697
718
  if (this.newUpdates) {
698
719
  const result = {};
699
720
  result[ticker['symbol']] = ticker;
@@ -701,49 +722,11 @@ export default class kraken extends krakenRest {
701
722
  }
702
723
  return this.filterByArray(this.bidsasks, 'symbol', symbols);
703
724
  }
704
- handleBidAsk(client, message, subscription) {
705
- //
706
- // [
707
- // 7208974, // channelID
708
- // [
709
- // "63758.60000", // bid
710
- // "63759.10000", // ask
711
- // "1726814731.089778", // timestamp
712
- // "0.00057917", // bid_volume
713
- // "0.15681688" // ask_volume
714
- // ],
715
- // "spread",
716
- // "XBT/USDT"
717
- // ]
718
- //
719
- const parsedTicker = this.parseWsBidAsk(message);
720
- const symbol = parsedTicker['symbol'];
721
- this.bidsasks[symbol] = parsedTicker;
722
- const messageHash = this.getMessageHash('bidask', undefined, symbol);
723
- client.resolve(parsedTicker, messageHash);
724
- }
725
- parseWsBidAsk(ticker, market = undefined) {
726
- const data = this.safeList(ticker, 1, []);
727
- const marketId = this.safeString(ticker, 3);
728
- market = this.safeValue(this.options['marketsByWsName'], marketId);
729
- const symbol = this.safeString(market, 'symbol');
730
- const timestamp = this.parseToInt(this.safeInteger(data, 2)) * 1000;
731
- return this.safeTicker({
732
- 'symbol': symbol,
733
- 'timestamp': timestamp,
734
- 'datetime': this.iso8601(timestamp),
735
- 'ask': this.safeString(data, 1),
736
- 'askVolume': this.safeString(data, 4),
737
- 'bid': this.safeString(data, 0),
738
- 'bidVolume': this.safeString(data, 3),
739
- 'info': ticker,
740
- }, market);
741
- }
742
725
  /**
743
726
  * @method
744
727
  * @name kraken#watchTrades
745
728
  * @description get the list of most recent trades for a particular symbol
746
- * @see https://docs.kraken.com/api/docs/websocket-v1/trade
729
+ * @see https://docs.kraken.com/api/docs/websocket-v2/trade
747
730
  * @param {string} symbol unified symbol of the market to fetch trades for
748
731
  * @param {int} [since] timestamp in ms of the earliest trade to fetch
749
732
  * @param {int} [limit] the maximum amount of trades to fetch
@@ -756,8 +739,8 @@ export default class kraken extends krakenRest {
756
739
  /**
757
740
  * @method
758
741
  * @name kraken#watchTradesForSymbols
759
- * @see https://docs.kraken.com/api/docs/websocket-v1/trade
760
742
  * @description get the list of most recent trades for a list of symbols
743
+ * @see https://docs.kraken.com/api/docs/websocket-v2/trade
761
744
  * @param {string[]} symbols unified symbol of the market to fetch trades for
762
745
  * @param {int} [since] timestamp in ms of the earliest trade to fetch
763
746
  * @param {int} [limit] the maximum amount of trades to fetch
@@ -777,7 +760,7 @@ export default class kraken extends krakenRest {
777
760
  * @method
778
761
  * @name kraken#watchOrderBook
779
762
  * @description watches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
780
- * @see https://docs.kraken.com/api/docs/websocket-v1/book
763
+ * @see https://docs.kraken.com/api/docs/websocket-v2/book
781
764
  * @param {string} symbol unified symbol of the market to fetch the order book for
782
765
  * @param {int} [limit] the maximum amount of order book entries to return
783
766
  * @param {object} [params] extra parameters specific to the exchange API endpoint
@@ -790,7 +773,7 @@ export default class kraken extends krakenRest {
790
773
  * @method
791
774
  * @name kraken#watchOrderBookForSymbols
792
775
  * @description watches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
793
- * @see https://docs.kraken.com/api/docs/websocket-v1/book
776
+ * @see https://docs.kraken.com/api/docs/websocket-v2/book
794
777
  * @param {string[]} symbols unified array of symbols
795
778
  * @param {int} [limit] the maximum amount of order book entries to return
796
779
  * @param {object} [params] extra parameters specific to the exchange API endpoint
@@ -800,7 +783,7 @@ export default class kraken extends krakenRest {
800
783
  const request = {};
801
784
  if (limit !== undefined) {
802
785
  if (this.inArray(limit, [10, 25, 100, 500, 1000])) {
803
- request['subscription'] = {
786
+ request['params'] = {
804
787
  'depth': limit, // default 10, valid options 10, 25, 100, 500, 1000
805
788
  };
806
789
  }
@@ -866,6 +849,21 @@ export default class kraken extends krakenRest {
866
849
  }
867
850
  return markets;
868
851
  }
852
+ ping(client) {
853
+ const url = client.url;
854
+ const request = {};
855
+ if (url.indexOf('v2') >= 0) {
856
+ request['method'] = 'ping';
857
+ }
858
+ else {
859
+ request['event'] = 'ping';
860
+ }
861
+ return request;
862
+ }
863
+ handlePong(client, message) {
864
+ client.lastPong = this.milliseconds();
865
+ return message;
866
+ }
869
867
  async watchHeartbeat(params = {}) {
870
868
  await this.loadMarkets();
871
869
  const event = 'heartbeat';
@@ -881,175 +879,165 @@ export default class kraken extends krakenRest {
881
879
  const event = this.safeString(message, 'event');
882
880
  client.resolve(message, event);
883
881
  }
884
- handleOrderBook(client, message, subscription) {
882
+ handleOrderBook(client, message) {
885
883
  //
886
884
  // first message (snapshot)
887
885
  //
888
- // [
889
- // 1234, // channelID
890
- // {
891
- // "as": [
892
- // [ "5541.30000", "2.50700000", "1534614248.123678" ],
893
- // [ "5541.80000", "0.33000000", "1534614098.345543" ],
894
- // [ "5542.70000", "0.64700000", "1534614244.654432" ]
895
- // ],
896
- // "bs": [
897
- // [ "5541.20000", "1.52900000", "1534614248.765567" ],
898
- // [ "5539.90000", "0.30000000", "1534614241.769870" ],
899
- // [ "5539.50000", "5.00000000", "1534613831.243486" ]
900
- // ]
901
- // },
902
- // "book-10",
903
- // "XBT/USD"
904
- // ]
886
+ // {
887
+ // "channel": "book",
888
+ // "type": "snapshot",
889
+ // "data": [
890
+ // {
891
+ // "symbol": "MATIC/USD",
892
+ // "bids": [
893
+ // {
894
+ // "price": 0.5666,
895
+ // "qty": 4831.75496356
896
+ // },
897
+ // {
898
+ // "price": 0.5665,
899
+ // "qty": 6658.22734739
900
+ // }
901
+ // ],
902
+ // "asks": [
903
+ // {
904
+ // "price": 0.5668,
905
+ // "qty": 4410.79769741
906
+ // },
907
+ // {
908
+ // "price": 0.5669,
909
+ // "qty": 4655.40412487
910
+ // }
911
+ // ],
912
+ // "checksum": 2439117997
913
+ // }
914
+ // ]
915
+ // }
905
916
  //
906
917
  // subsequent updates
907
918
  //
908
- // [
909
- // 1234,
910
- // { // optional
911
- // "a": [
912
- // [ "5541.30000", "2.50700000", "1534614248.456738" ],
913
- // [ "5542.50000", "0.40100000", "1534614248.456738" ]
914
- // ]
915
- // },
916
- // { // optional
917
- // "b": [
918
- // [ "5541.30000", "0.00000000", "1534614335.345903" ]
919
- // ]
920
- // },
921
- // "book-10",
922
- // "XBT/USD"
923
- // ]
919
+ // {
920
+ // "channel": "book",
921
+ // "type": "update",
922
+ // "data": [
923
+ // {
924
+ // "symbol": "MATIC/USD",
925
+ // "bids": [
926
+ // {
927
+ // "price": 0.5657,
928
+ // "qty": 1098.3947558
929
+ // }
930
+ // ],
931
+ // "asks": [],
932
+ // "checksum": 2114181697,
933
+ // "timestamp": "2023-10-06T17:35:55.440295Z"
934
+ // }
935
+ // ]
936
+ // }
924
937
  //
925
- const messageLength = message.length;
926
- const wsName = message[messageLength - 1];
927
- const bookDepthString = message[messageLength - 2];
928
- const parts = bookDepthString.split('-');
929
- const depth = this.safeInteger(parts, 1, 10);
930
- const market = this.safeValue(this.options['marketsByWsName'], wsName);
931
- const symbol = market['symbol'];
932
- let timestamp = undefined;
938
+ const type = this.safeString(message, 'type');
939
+ const data = this.safeList(message, 'data', []);
940
+ const first = this.safeDict(data, 0, {});
941
+ const symbol = this.safeString(first, 'symbol');
942
+ const a = this.safeValue(first, 'asks', []);
943
+ const b = this.safeValue(first, 'bids', []);
944
+ const c = this.safeInteger(first, 'checksum');
933
945
  const messageHash = this.getMessageHash('orderbook', undefined, symbol);
934
- // if this is a snapshot
935
- if ('as' in message[1]) {
936
- // todo get depth from marketsByWsName
946
+ let orderbook = undefined;
947
+ if (type === 'update') {
948
+ orderbook = this.orderbooks[symbol];
949
+ const storedAsks = orderbook['asks'];
950
+ const storedBids = orderbook['bids'];
951
+ if (a !== undefined) {
952
+ this.customHandleDeltas(storedAsks, a);
953
+ }
954
+ if (b !== undefined) {
955
+ this.customHandleDeltas(storedBids, b);
956
+ }
957
+ const datetime = this.safeString(first, 'timestamp');
958
+ orderbook['symbol'] = symbol;
959
+ orderbook['timestamp'] = this.parse8601(datetime);
960
+ orderbook['datetime'] = datetime;
961
+ }
962
+ else {
963
+ // snapshot
964
+ const depth = a.length;
937
965
  this.orderbooks[symbol] = this.orderBook({}, depth);
938
- const orderbook = this.orderbooks[symbol];
939
- const sides = {
940
- 'as': 'asks',
941
- 'bs': 'bids',
942
- };
943
- const keys = Object.keys(sides);
966
+ orderbook = this.orderbooks[symbol];
967
+ const keys = ['asks', 'bids'];
944
968
  for (let i = 0; i < keys.length; i++) {
945
969
  const key = keys[i];
946
- const side = sides[key];
947
- const bookside = orderbook[side];
948
- const deltas = this.safeValue(message[1], key, []);
949
- timestamp = this.customHandleDeltas(bookside, deltas, timestamp);
970
+ const bookside = orderbook[key];
971
+ const deltas = this.safeValue(first, key, []);
972
+ if (deltas.length > 0) {
973
+ this.customHandleDeltas(bookside, deltas);
974
+ }
950
975
  }
951
976
  orderbook['symbol'] = symbol;
952
- orderbook['timestamp'] = timestamp;
953
- orderbook['datetime'] = this.iso8601(timestamp);
954
- client.resolve(orderbook, messageHash);
955
977
  }
956
- else {
957
- const orderbook = this.orderbooks[symbol];
958
- // else, if this is an orderbook update
959
- let a = undefined;
960
- let b = undefined;
961
- let c = undefined;
962
- if (messageLength === 5) {
963
- a = this.safeValue(message[1], 'a', []);
964
- b = this.safeValue(message[2], 'b', []);
965
- c = this.safeInteger(message[1], 'c');
966
- c = this.safeInteger(message[2], 'c', c);
967
- }
968
- else {
969
- c = this.safeInteger(message[1], 'c');
970
- if ('a' in message[1]) {
971
- a = this.safeValue(message[1], 'a', []);
978
+ orderbook.limit();
979
+ // checksum temporarily disabled because the exchange checksum was not reliable
980
+ const checksum = this.handleOption('watchOrderBook', 'checksum', false);
981
+ if (checksum) {
982
+ const payloadArray = [];
983
+ if (c !== undefined) {
984
+ const checkAsks = orderbook['asks'];
985
+ const checkBids = orderbook['bids'];
986
+ // const checkAsks = asks.map ((elem) => [ elem['price'], elem['qty'] ]);
987
+ // const checkBids = bids.map ((elem) => [ elem['price'], elem['qty'] ]);
988
+ for (let i = 0; i < 10; i++) {
989
+ const currentAsk = this.safeValue(checkAsks, i, {});
990
+ const formattedAsk = this.formatNumber(currentAsk[0]) + this.formatNumber(currentAsk[1]);
991
+ payloadArray.push(formattedAsk);
972
992
  }
973
- else {
974
- b = this.safeValue(message[1], 'b', []);
993
+ for (let i = 0; i < 10; i++) {
994
+ const currentBid = this.safeValue(checkBids, i, {});
995
+ const formattedBid = this.formatNumber(currentBid[0]) + this.formatNumber(currentBid[1]);
996
+ payloadArray.push(formattedBid);
975
997
  }
976
998
  }
977
- const storedAsks = orderbook['asks'];
978
- const storedBids = orderbook['bids'];
979
- let example = undefined;
980
- if (a !== undefined) {
981
- timestamp = this.customHandleDeltas(storedAsks, a, timestamp);
982
- example = this.safeValue(a, 0);
983
- }
984
- if (b !== undefined) {
985
- timestamp = this.customHandleDeltas(storedBids, b, timestamp);
986
- example = this.safeValue(b, 0);
987
- }
988
- // don't remove this line or I will poop on your face
989
- orderbook.limit();
990
- const checksum = this.handleOption('watchOrderBook', 'checksum', true);
991
- if (checksum) {
992
- const priceString = this.safeString(example, 0);
993
- const amountString = this.safeString(example, 1);
994
- const priceParts = priceString.split('.');
995
- const amountParts = amountString.split('.');
996
- const priceLength = priceParts[1].length - 0;
997
- const amountLength = amountParts[1].length - 0;
998
- const payloadArray = [];
999
- if (c !== undefined) {
1000
- for (let i = 0; i < 10; i++) {
1001
- const formatted = this.formatNumber(storedAsks[i][0], priceLength) + this.formatNumber(storedAsks[i][1], amountLength);
1002
- payloadArray.push(formatted);
1003
- }
1004
- for (let i = 0; i < 10; i++) {
1005
- const formatted = this.formatNumber(storedBids[i][0], priceLength) + this.formatNumber(storedBids[i][1], amountLength);
1006
- payloadArray.push(formatted);
1007
- }
1008
- }
1009
- const payload = payloadArray.join('');
1010
- const localChecksum = this.crc32(payload, false);
1011
- if (localChecksum !== c) {
1012
- const error = new ChecksumError(this.id + ' ' + this.orderbookChecksumMessage(symbol));
1013
- delete client.subscriptions[messageHash];
1014
- delete this.orderbooks[symbol];
1015
- client.reject(error, messageHash);
1016
- return;
1017
- }
999
+ const payload = payloadArray.join('');
1000
+ const localChecksum = this.crc32(payload, false);
1001
+ if (localChecksum !== c) {
1002
+ const error = new ChecksumError(this.id + ' ' + this.orderbookChecksumMessage(symbol));
1003
+ delete client.subscriptions[messageHash];
1004
+ delete this.orderbooks[symbol];
1005
+ client.reject(error, messageHash);
1006
+ return;
1018
1007
  }
1019
- orderbook['symbol'] = symbol;
1020
- orderbook['timestamp'] = timestamp;
1021
- orderbook['datetime'] = this.iso8601(timestamp);
1022
- client.resolve(orderbook, messageHash);
1008
+ }
1009
+ client.resolve(orderbook, messageHash);
1010
+ }
1011
+ customHandleDeltas(bookside, deltas) {
1012
+ // const sortOrder = (key === 'bids') ? true : false;
1013
+ for (let j = 0; j < deltas.length; j++) {
1014
+ const delta = deltas[j];
1015
+ const price = this.safeNumber(delta, 'price');
1016
+ const amount = this.safeNumber(delta, 'qty');
1017
+ bookside.store(price, amount);
1018
+ // if (amount === 0) {
1019
+ // const index = bookside.findIndex ((x: Int) => x[0] === price);
1020
+ // bookside.splice (index, 1);
1021
+ // } else {
1022
+ // bookside.store (price, amount);
1023
+ // }
1024
+ // bookside = this.sortBy (bookside, 0, sortOrder);
1025
+ // bookside.slice (0, 9);
1023
1026
  }
1024
1027
  }
1025
- formatNumber(n, length) {
1026
- const stringNumber = this.numberToString(n);
1027
- const parts = stringNumber.split('.');
1028
+ formatNumber(data) {
1029
+ const parts = data.split('.');
1028
1030
  const integer = this.safeString(parts, 0);
1029
1031
  const decimals = this.safeString(parts, 1, '');
1030
- const paddedDecimals = decimals.padEnd(length, '0');
1031
- const joined = integer + paddedDecimals;
1032
+ let joinedResult = integer + decimals;
1032
1033
  let i = 0;
1033
- while (joined[i] === '0') {
1034
+ while (joinedResult[i] === '0') {
1034
1035
  i += 1;
1035
1036
  }
1036
1037
  if (i > 0) {
1037
- return joined.slice(i);
1038
+ joinedResult = joinedResult.slice(i);
1038
1039
  }
1039
- else {
1040
- return joined;
1041
- }
1042
- }
1043
- customHandleDeltas(bookside, deltas, timestamp = undefined) {
1044
- for (let j = 0; j < deltas.length; j++) {
1045
- const delta = deltas[j];
1046
- const price = this.parseNumber(delta[0]);
1047
- const amount = this.parseNumber(delta[1]);
1048
- const oldTimestamp = timestamp ? timestamp : 0;
1049
- timestamp = Math.max(oldTimestamp, this.parseToInt(parseFloat(delta[2]) * 1000));
1050
- bookside.store(price, amount);
1051
- }
1052
- return timestamp;
1040
+ return joinedResult;
1053
1041
  }
1054
1042
  handleSystemStatus(client, message) {
1055
1043
  //
@@ -1085,7 +1073,11 @@ export default class kraken extends krakenRest {
1085
1073
  const client = this.client(url);
1086
1074
  const authenticated = 'authenticated';
1087
1075
  let subscription = this.safeValue(client.subscriptions, authenticated);
1088
- if (subscription === undefined) {
1076
+ const now = this.seconds();
1077
+ const start = this.safeInteger(subscription, 'start');
1078
+ const expires = this.safeInteger(subscription, 'expires');
1079
+ if ((subscription === undefined) || ((subscription !== undefined) && (start + expires) <= now)) {
1080
+ // https://docs.kraken.com/api/docs/rest-api/get-websockets-token
1089
1081
  const response = await this.privatePostGetWebSocketsToken(params);
1090
1082
  //
1091
1083
  // {
@@ -1096,7 +1088,8 @@ export default class kraken extends krakenRest {
1096
1088
  // }
1097
1089
  // }
1098
1090
  //
1099
- subscription = this.safeValue(response, 'result');
1091
+ subscription = this.safeDict(response, 'result');
1092
+ subscription['start'] = now;
1100
1093
  client.subscriptions[authenticated] = subscription;
1101
1094
  }
1102
1095
  return this.safeString(subscription, 'token');
@@ -1562,25 +1555,25 @@ export default class kraken extends krakenRest {
1562
1555
  symbols = this.marketSymbols(symbols, undefined, false, true, false);
1563
1556
  const messageHashes = [];
1564
1557
  for (let i = 0; i < symbols.length; i++) {
1565
- messageHashes.push(this.getMessageHash(unifiedName, undefined, this.symbol(symbols[i])));
1566
- }
1567
- // for WS subscriptions, we can't use .marketIds (symbols), instead a custom is field needed
1568
- const markets = this.marketsForSymbols(symbols);
1569
- const wsMarketIds = [];
1570
- for (let i = 0; i < markets.length; i++) {
1571
- const wsMarketId = this.safeString(markets[i]['info'], 'wsname');
1572
- wsMarketIds.push(wsMarketId);
1558
+ const eventTrigger = this.safeString(params, 'event_trigger');
1559
+ if (eventTrigger !== undefined) {
1560
+ messageHashes.push(this.getMessageHash(channelName, undefined, this.symbol(symbols[i])));
1561
+ }
1562
+ else {
1563
+ messageHashes.push(this.getMessageHash(unifiedName, undefined, this.symbol(symbols[i])));
1564
+ }
1573
1565
  }
1574
1566
  const request = {
1575
- 'event': 'subscribe',
1576
- 'reqid': this.requestId(),
1577
- 'pair': wsMarketIds,
1578
- 'subscription': {
1579
- 'name': channelName,
1567
+ 'method': 'subscribe',
1568
+ 'params': {
1569
+ 'channel': channelName,
1570
+ 'symbol': symbols,
1580
1571
  },
1572
+ 'req_id': this.requestId(),
1581
1573
  };
1582
- const url = this.urls['api']['ws']['public'];
1583
- return await this.watchMultiple(url, messageHashes, this.deepExtend(request, params), messageHashes, subscriptionArgs);
1574
+ request['params'] = this.deepExtend(request['params'], params);
1575
+ const url = this.urls['api']['ws']['publicV2'];
1576
+ return await this.watchMultiple(url, messageHashes, request, messageHashes, subscriptionArgs);
1584
1577
  }
1585
1578
  /**
1586
1579
  * @method
@@ -1745,11 +1738,7 @@ export default class kraken extends krakenRest {
1745
1738
  const name = this.safeString(info, 'name');
1746
1739
  const methods = {
1747
1740
  // public
1748
- 'book': this.handleOrderBook,
1749
1741
  'ohlc': this.handleOHLCV,
1750
- 'ticker': this.handleTicker,
1751
- 'spread': this.handleBidAsk,
1752
- 'trade': this.handleTrades,
1753
1742
  // private
1754
1743
  'openOrders': this.handleOrders,
1755
1744
  'ownTrades': this.handleMyTrades,
@@ -1764,6 +1753,9 @@ export default class kraken extends krakenRest {
1764
1753
  if (channel !== undefined) {
1765
1754
  const methods = {
1766
1755
  'balances': this.handleBalance,
1756
+ 'book': this.handleOrderBook,
1757
+ 'ticker': this.handleTicker,
1758
+ 'trade': this.handleTrades,
1767
1759
  };
1768
1760
  const method = this.safeValue(methods, channel);
1769
1761
  if (method !== undefined) {
@@ -1780,6 +1772,7 @@ export default class kraken extends krakenRest {
1780
1772
  'amend_order': this.handleCreateEditOrder,
1781
1773
  'cancel_order': this.handleCancelOrder,
1782
1774
  'cancel_all': this.handleCancelAllOrders,
1775
+ 'pong': this.handlePong,
1783
1776
  };
1784
1777
  const method = this.safeValue(methods, event);
1785
1778
  if (method !== undefined) {