ccxt 4.5.62 → 4.5.64

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 (900) hide show
  1. package/README.md +7 -8
  2. package/dist/ccxt.browser.min.js +4 -4
  3. package/dist/cjs/ccxt.js +11 -12
  4. package/dist/cjs/src/abstract/aftermath.js +1 -1
  5. package/dist/cjs/src/abstract/alpaca.js +1 -1
  6. package/dist/cjs/src/abstract/apex.js +1 -1
  7. package/dist/cjs/src/abstract/aster.js +1 -1
  8. package/dist/cjs/src/abstract/backpack.js +1 -1
  9. package/dist/cjs/src/abstract/bigone.js +1 -1
  10. package/dist/cjs/src/abstract/binance.js +1 -1
  11. package/dist/cjs/src/abstract/bingx.js +1 -1
  12. package/dist/cjs/src/abstract/bit2c.js +1 -1
  13. package/dist/cjs/src/abstract/bitbank.js +1 -1
  14. package/dist/cjs/src/abstract/bitbns.js +1 -1
  15. package/dist/cjs/src/abstract/bitfinex.js +1 -1
  16. package/dist/cjs/src/abstract/bitflyer.js +1 -1
  17. package/dist/cjs/src/abstract/bitget.js +1 -1
  18. package/dist/cjs/src/abstract/bithumb.js +1 -1
  19. package/dist/cjs/src/abstract/bitmart.js +1 -1
  20. package/dist/cjs/src/abstract/bitmex.js +1 -1
  21. package/dist/cjs/src/abstract/bitopro.js +1 -1
  22. package/dist/cjs/src/abstract/bitrue.js +1 -1
  23. package/dist/cjs/src/abstract/bitso.js +1 -1
  24. package/dist/cjs/src/abstract/bitstamp.js +1 -1
  25. package/dist/cjs/src/abstract/bitteam.js +1 -1
  26. package/dist/cjs/src/abstract/bittrade.js +1 -1
  27. package/dist/cjs/src/abstract/bitvavo.js +1 -1
  28. package/dist/cjs/src/abstract/blockchaincom.js +1 -1
  29. package/dist/cjs/src/abstract/blofin.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/bullish.js +1 -1
  34. package/dist/cjs/src/abstract/bybit.js +1 -1
  35. package/dist/cjs/src/abstract/bydfi.js +1 -1
  36. package/dist/cjs/src/abstract/cex.js +1 -1
  37. package/dist/cjs/src/abstract/coinbase.js +1 -1
  38. package/dist/cjs/src/abstract/coinbaseexchange.js +1 -1
  39. package/dist/cjs/src/abstract/coinbaseinternational.js +1 -1
  40. package/dist/cjs/src/abstract/coincheck.js +1 -1
  41. package/dist/cjs/src/abstract/coinex.js +1 -1
  42. package/dist/cjs/src/abstract/coinmate.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/deepcoin.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/dydx.js +1 -1
  54. package/dist/cjs/src/abstract/exmo.js +1 -1
  55. package/dist/cjs/src/abstract/extended.js +1 -1
  56. package/dist/cjs/src/abstract/foxbit.js +1 -1
  57. package/dist/cjs/src/abstract/gate.js +1 -1
  58. package/dist/cjs/src/abstract/gemini.js +1 -1
  59. package/dist/cjs/src/abstract/grvt.js +1 -1
  60. package/dist/cjs/src/abstract/hashkey.js +1 -1
  61. package/dist/cjs/src/abstract/hibachi.js +1 -1
  62. package/dist/cjs/src/abstract/hitbtc.js +1 -1
  63. package/dist/cjs/src/abstract/hollaex.js +1 -1
  64. package/dist/cjs/src/abstract/htx.js +1 -1
  65. package/dist/cjs/src/abstract/hyperliquid.js +1 -1
  66. package/dist/cjs/src/abstract/independentreserve.js +1 -1
  67. package/dist/cjs/src/abstract/indodax.js +1 -1
  68. package/dist/cjs/src/abstract/kraken.js +1 -1
  69. package/dist/cjs/src/abstract/krakenfutures.js +1 -1
  70. package/dist/cjs/src/abstract/kucoin.js +1 -1
  71. package/dist/cjs/src/abstract/latoken.js +1 -1
  72. package/dist/cjs/src/abstract/lbank.js +1 -1
  73. package/dist/cjs/src/abstract/lighter.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/modetrade.js +1 -1
  78. package/dist/cjs/src/abstract/{ascendex.js → mudrex.js} +1 -1
  79. package/dist/cjs/src/abstract/ndax.js +1 -1
  80. package/dist/cjs/src/abstract/okx.js +1 -1
  81. package/dist/cjs/src/abstract/onetrading.js +1 -1
  82. package/dist/cjs/src/abstract/p2b.js +1 -1
  83. package/dist/cjs/src/abstract/pacifica.js +1 -1
  84. package/dist/cjs/src/abstract/paradex.js +1 -1
  85. package/dist/cjs/src/abstract/paymium.js +1 -1
  86. package/dist/cjs/src/abstract/phemex.js +1 -1
  87. package/dist/cjs/src/abstract/poloniex.js +1 -1
  88. package/dist/cjs/src/abstract/tokocrypto.js +1 -1
  89. package/dist/cjs/src/abstract/toobit.js +1 -1
  90. package/dist/cjs/src/abstract/upbit.js +1 -1
  91. package/dist/cjs/src/abstract/weex.js +1 -1
  92. package/dist/cjs/src/abstract/whitebit.js +1 -1
  93. package/dist/cjs/src/abstract/woo.js +1 -1
  94. package/dist/cjs/src/abstract/woofipro.js +1 -1
  95. package/dist/cjs/src/abstract/xt.js +1 -1
  96. package/dist/cjs/src/abstract/zaif.js +1 -1
  97. package/dist/cjs/src/abstract/zebpay.js +1 -1
  98. package/dist/cjs/src/aftermath.js +0 -1
  99. package/dist/cjs/src/alpaca.js +1 -1
  100. package/dist/cjs/src/apex.js +1 -1
  101. package/dist/cjs/src/aster.js +3 -3
  102. package/dist/cjs/src/backpack.js +1 -1
  103. package/dist/cjs/src/base/Exchange.js +34 -3
  104. package/dist/cjs/src/base/Precise.js +0 -6
  105. package/dist/cjs/src/base/errors.js +0 -6
  106. package/dist/cjs/src/base/functions/crypto.js +1 -1
  107. package/dist/cjs/src/base/functions/encode.js +1 -1
  108. package/dist/cjs/src/base/functions/io.js +1 -1
  109. package/dist/cjs/src/base/functions/misc.js +0 -1
  110. package/dist/cjs/src/base/functions/number.js +0 -6
  111. package/dist/cjs/src/base/functions/platform.js +0 -6
  112. package/dist/cjs/src/base/functions/rsa.js +0 -1
  113. package/dist/cjs/src/base/functions/string.js +0 -6
  114. package/dist/cjs/src/base/functions/throttle.js +1 -1
  115. package/dist/cjs/src/base/functions/time.js +0 -6
  116. package/dist/cjs/src/base/functions/totp.js +0 -1
  117. package/dist/cjs/src/base/functions/type.js +0 -6
  118. package/dist/cjs/src/base/functions.js +1 -1
  119. package/dist/cjs/src/base/ws/Cache.js +0 -6
  120. package/dist/cjs/src/base/ws/Client.js +0 -1
  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 +0 -6
  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 +41 -22
  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 +1 -1
  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 +6 -4
  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 +2 -2
  141. package/dist/cjs/src/bitopro.js +1 -1
  142. package/dist/cjs/src/bitrue.js +1 -1
  143. package/dist/cjs/src/bitso.js +1 -1
  144. package/dist/cjs/src/bitstamp.js +3 -2
  145. package/dist/cjs/src/bitteam.js +1 -1
  146. package/dist/cjs/src/bittrade.js +1 -1
  147. package/dist/cjs/src/bitvavo.js +1 -0
  148. package/dist/cjs/src/blockchaincom.js +1 -1
  149. package/dist/cjs/src/blofin.js +1 -1
  150. package/dist/cjs/src/btcbox.js +2 -2
  151. package/dist/cjs/src/btcmarkets.js +1 -1
  152. package/dist/cjs/src/btcturk.js +1 -1
  153. package/dist/cjs/src/bullish.js +2 -2
  154. package/dist/cjs/src/bybit.js +115 -13
  155. package/dist/cjs/src/bybiteu.js +4 -1
  156. package/dist/cjs/src/bydfi.js +1 -1
  157. package/dist/cjs/src/cex.js +2 -1
  158. package/dist/cjs/src/coinbase.js +3 -2
  159. package/dist/cjs/src/coinbaseinternational.js +1 -1
  160. package/dist/cjs/src/coincheck.js +52 -1
  161. package/dist/cjs/src/coinex.js +1 -1
  162. package/dist/cjs/src/coinmate.js +1 -1
  163. package/dist/cjs/src/coinone.js +1 -1
  164. package/dist/cjs/src/coinsph.js +35 -29
  165. package/dist/cjs/src/coinspot.js +1 -1
  166. package/dist/cjs/src/cryptocom.js +1 -1
  167. package/dist/cjs/src/cryptomus.js +1 -1
  168. package/dist/cjs/src/deepcoin.js +1 -1
  169. package/dist/cjs/src/delta.js +24 -2
  170. package/dist/cjs/src/deribit.js +1 -1
  171. package/dist/cjs/src/derive.js +2 -2
  172. package/dist/cjs/src/digifinex.js +13 -1
  173. package/dist/cjs/src/dydx.js +3 -3
  174. package/dist/cjs/src/exmo.js +1 -1
  175. package/dist/cjs/src/extended.js +2 -2
  176. package/dist/cjs/src/fmfwio.js +1 -1
  177. package/dist/cjs/src/foxbit.js +1 -1
  178. package/dist/cjs/src/gate.js +1 -1
  179. package/dist/cjs/src/gateeu.js +2 -1
  180. package/dist/cjs/src/gemini.js +1 -1
  181. package/dist/cjs/src/grvt.js +2 -2
  182. package/dist/cjs/src/hashkey.js +128 -7
  183. package/dist/cjs/src/hibachi.js +21 -11
  184. package/dist/cjs/src/hitbtc.js +0 -1
  185. package/dist/cjs/src/hollaex.js +1 -1
  186. package/dist/cjs/src/htx.js +1 -1
  187. package/dist/cjs/src/hyperliquid.js +14 -7
  188. package/dist/cjs/src/independentreserve.js +1 -1
  189. package/dist/cjs/src/indodax.js +1 -1
  190. package/dist/cjs/src/kraken.js +3 -1
  191. package/dist/cjs/src/krakenfutures.js +1 -1
  192. package/dist/cjs/src/kucoin.js +2 -2
  193. package/dist/cjs/src/kucoineu.js +35 -0
  194. package/dist/cjs/src/kucoinfutures.js +1 -1
  195. package/dist/cjs/src/latoken.js +1 -1
  196. package/dist/cjs/src/lbank.js +1 -1
  197. package/dist/cjs/src/lighter.js +7 -5
  198. package/dist/cjs/src/luno.js +1 -1
  199. package/dist/cjs/src/mercado.js +1 -1
  200. package/dist/cjs/src/mexc.js +1 -1
  201. package/dist/cjs/src/modetrade.js +1 -1
  202. package/dist/cjs/src/mudrex.js +1328 -0
  203. package/dist/cjs/src/myokx.js +4 -1
  204. package/dist/cjs/src/ndax.js +1 -1
  205. package/dist/cjs/src/okx.js +1 -1
  206. package/dist/cjs/src/okxus.js +2 -6
  207. package/dist/cjs/src/onetrading.js +2 -1
  208. package/dist/cjs/src/p2b.js +1 -1
  209. package/dist/cjs/src/pacifica.js +2 -2
  210. package/dist/cjs/src/paradex.js +1 -1
  211. package/dist/cjs/src/paymium.js +1 -1
  212. package/dist/cjs/src/poloniex.js +2 -2
  213. package/dist/cjs/src/pro/alpaca.js +1 -1
  214. package/dist/cjs/src/pro/apex.js +1 -1
  215. package/dist/cjs/src/pro/aster.js +1 -1
  216. package/dist/cjs/src/pro/backpack.js +1 -1
  217. package/dist/cjs/src/pro/bequant.js +1 -1
  218. package/dist/cjs/src/pro/binancecoinm.js +1 -1
  219. package/dist/cjs/src/pro/binanceus.js +1 -1
  220. package/dist/cjs/src/pro/binanceusdm.js +1 -1
  221. package/dist/cjs/src/pro/bingx.js +5 -3
  222. package/dist/cjs/src/pro/bitfinex.js +1 -1
  223. package/dist/cjs/src/pro/bitget.js +10 -8
  224. package/dist/cjs/src/pro/bithumb.js +1 -1
  225. package/dist/cjs/src/pro/bitmart.js +1 -1
  226. package/dist/cjs/src/pro/bitmex.js +1 -1
  227. package/dist/cjs/src/pro/bitrue.js +1 -1
  228. package/dist/cjs/src/pro/bitstamp.js +1 -1
  229. package/dist/cjs/src/pro/bitvavo.js +1 -1
  230. package/dist/cjs/src/pro/blockchaincom.js +1 -1
  231. package/dist/cjs/src/pro/blofin.js +1 -1
  232. package/dist/cjs/src/pro/bullish.js +1 -1
  233. package/dist/cjs/src/pro/bybit.js +1 -1
  234. package/dist/cjs/src/pro/bybiteu.js +1 -1
  235. package/dist/cjs/src/pro/bydfi.js +1 -1
  236. package/dist/cjs/src/pro/cex.js +2 -2
  237. package/dist/cjs/src/pro/coinbase.js +1 -1
  238. package/dist/cjs/src/pro/coinbaseexchange.js +1 -1
  239. package/dist/cjs/src/pro/coinbaseinternational.js +1 -1
  240. package/dist/cjs/src/pro/coincheck.js +1 -1
  241. package/dist/cjs/src/pro/coinex.js +1 -1
  242. package/dist/cjs/src/pro/coinone.js +1 -1
  243. package/dist/cjs/src/pro/cryptocom.js +1 -1
  244. package/dist/cjs/src/pro/deepcoin.js +1 -1
  245. package/dist/cjs/src/pro/deribit.js +1 -1
  246. package/dist/cjs/src/pro/dydx.js +1 -1
  247. package/dist/cjs/src/pro/exmo.js +1 -1
  248. package/dist/cjs/src/pro/gate.js +1 -1
  249. package/dist/cjs/src/pro/gateeu.js +1 -1
  250. package/dist/cjs/src/pro/gemini.js +1 -1
  251. package/dist/cjs/src/pro/grvt.js +2 -2
  252. package/dist/cjs/src/pro/hashkey.js +2 -2
  253. package/dist/cjs/src/pro/hitbtc.js +1 -1
  254. package/dist/cjs/src/pro/hollaex.js +1 -1
  255. package/dist/cjs/src/pro/htx.js +1 -1
  256. package/dist/cjs/src/pro/hyperliquid.js +1 -1
  257. package/dist/cjs/src/pro/independentreserve.js +1 -1
  258. package/dist/cjs/src/pro/kraken.js +2 -2
  259. package/dist/cjs/src/pro/krakenfutures.js +1 -1
  260. package/dist/cjs/src/pro/kucoin.js +1 -1
  261. package/dist/cjs/src/pro/kucoineu.js +29 -0
  262. package/dist/cjs/src/pro/kucoinfutures.js +1 -1
  263. package/dist/cjs/src/pro/lbank.js +0 -1
  264. package/dist/cjs/src/pro/lighter.js +13 -4
  265. package/dist/cjs/src/pro/luno.js +1 -1
  266. package/dist/cjs/src/pro/mexc.js +1 -1
  267. package/dist/cjs/src/pro/mudrex.js +226 -0
  268. package/dist/cjs/src/pro/myokx.js +1 -1
  269. package/dist/cjs/src/pro/ndax.js +1 -1
  270. package/dist/cjs/src/pro/okx.js +1 -1
  271. package/dist/cjs/src/pro/okxus.js +2 -2
  272. package/dist/cjs/src/pro/onetrading.js +1 -1
  273. package/dist/cjs/src/pro/p2b.js +1 -1
  274. package/dist/cjs/src/pro/pacifica.js +1 -1
  275. package/dist/cjs/src/pro/paradex.js +1 -1
  276. package/dist/cjs/src/pro/phemex.js +1 -1
  277. package/dist/cjs/src/pro/poloniex.js +1 -1
  278. package/dist/cjs/src/pro/toobit.js +1 -1
  279. package/dist/cjs/src/pro/upbit.js +1 -1
  280. package/dist/cjs/src/pro/weex.js +1 -1
  281. package/dist/cjs/src/pro/whitebit.js +1 -1
  282. package/dist/cjs/src/pro/xt.js +1 -1
  283. package/dist/cjs/src/protobuf/mexc/compiled.cjs.js +1 -0
  284. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/base/v1beta1/coin.js +0 -1
  285. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/crypto/multisig/v1beta1/multisig.js +0 -1
  286. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/crypto/secp256k1/keys.js +0 -1
  287. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/tx/signing/v1beta1/signing.js +0 -1
  288. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/tx/v1beta1/tx.js +0 -1
  289. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/accountplus/tx.js +0 -1
  290. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/clob_pair.js +0 -1
  291. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order.js +0 -1
  292. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order_removals.js +0 -1
  293. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/tx.js +0 -1
  294. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/transfer.js +0 -1
  295. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/tx.js +0 -1
  296. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/subaccount.js +0 -1
  297. package/dist/cjs/src/static_dependencies/dydx-v4-client/google/protobuf/any.js +0 -1
  298. package/dist/cjs/src/static_dependencies/dydx-v4-client/helpers.js +0 -6
  299. package/dist/cjs/src/static_dependencies/dydx-v4-client/onboarding.js +0 -1
  300. package/dist/cjs/src/static_dependencies/dydx-v4-client/registry.js +0 -1
  301. package/dist/cjs/src/static_dependencies/ethers/abi-coder.js +12 -1
  302. package/dist/cjs/src/static_dependencies/ethers/address/address.js +1 -1
  303. package/dist/cjs/src/static_dependencies/ethers/coders/abstract-coder.js +0 -1
  304. package/dist/cjs/src/static_dependencies/ethers/coders/address.js +0 -1
  305. package/dist/cjs/src/static_dependencies/ethers/coders/anonymous.js +0 -1
  306. package/dist/cjs/src/static_dependencies/ethers/coders/array.js +0 -1
  307. package/dist/cjs/src/static_dependencies/ethers/coders/boolean.js +0 -1
  308. package/dist/cjs/src/static_dependencies/ethers/coders/bytes.js +0 -1
  309. package/dist/cjs/src/static_dependencies/ethers/coders/fixed-bytes.js +0 -1
  310. package/dist/cjs/src/static_dependencies/ethers/coders/null.js +0 -1
  311. package/dist/cjs/src/static_dependencies/ethers/coders/number.js +0 -1
  312. package/dist/cjs/src/static_dependencies/ethers/coders/string.js +0 -1
  313. package/dist/cjs/src/static_dependencies/ethers/coders/tuple.js +0 -1
  314. package/dist/cjs/src/static_dependencies/ethers/fragments.js +0 -6
  315. package/dist/cjs/src/static_dependencies/ethers/hash/typed-data.js +1 -1
  316. package/dist/cjs/src/static_dependencies/ethers/index.js +10 -1
  317. package/dist/cjs/src/static_dependencies/ethers/typed.js +14 -1
  318. package/dist/cjs/src/static_dependencies/ethers/utils/base58.js +13 -1
  319. package/dist/cjs/src/static_dependencies/ethers/utils/data.js +6 -1
  320. package/dist/cjs/src/static_dependencies/ethers/utils/errors.js +9 -1
  321. package/dist/cjs/src/static_dependencies/ethers/utils/fixednumber.js +0 -1
  322. package/dist/cjs/src/static_dependencies/ethers/utils/index.js +7 -1
  323. package/dist/cjs/src/static_dependencies/ethers/utils/maths.js +5 -1
  324. package/dist/cjs/src/static_dependencies/ethers/utils/properties.js +0 -6
  325. package/dist/cjs/src/static_dependencies/ethers/utils/utf8.js +8 -1
  326. package/dist/cjs/src/static_dependencies/fflake/browser.js +1 -1
  327. package/dist/cjs/src/static_dependencies/messagepack/msgpack.js +0 -6
  328. package/dist/cjs/src/static_dependencies/node-fetch/body.js +5 -1
  329. package/dist/cjs/src/static_dependencies/node-fetch/errors/abort-error.js +0 -1
  330. package/dist/cjs/src/static_dependencies/node-fetch/errors/base.js +0 -6
  331. package/dist/cjs/src/static_dependencies/node-fetch/errors/fetch-error.js +0 -1
  332. package/dist/cjs/src/static_dependencies/node-fetch/headers.js +5 -1
  333. package/dist/cjs/src/static_dependencies/node-fetch/index.js +7 -1
  334. package/dist/cjs/src/static_dependencies/node-fetch/request.js +7 -1
  335. package/dist/cjs/src/static_dependencies/node-fetch/response.js +5 -1
  336. package/dist/cjs/src/static_dependencies/node-fetch/utils/get-search.js +0 -6
  337. package/dist/cjs/src/static_dependencies/node-fetch/utils/is-redirect.js +0 -6
  338. package/dist/cjs/src/static_dependencies/node-fetch/utils/is.js +0 -6
  339. package/dist/cjs/src/static_dependencies/node-fetch/utils/referrer.js +0 -1
  340. package/dist/cjs/src/static_dependencies/proxies/agent-base/index.js +0 -1
  341. package/dist/cjs/src/static_dependencies/proxies/http-proxy-agent/index.js +0 -1
  342. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/index.js +0 -1
  343. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +0 -6
  344. package/dist/cjs/src/static_dependencies/qs/formats.js +0 -6
  345. package/dist/cjs/src/static_dependencies/qs/index.js +0 -1
  346. package/dist/cjs/src/static_dependencies/qs/parse.js +0 -1
  347. package/dist/cjs/src/static_dependencies/qs/stringify.js +0 -1
  348. package/dist/cjs/src/static_dependencies/qs/utils.js +0 -6
  349. package/dist/cjs/src/static_dependencies/starknet/constants.js +1 -1
  350. package/dist/cjs/src/static_dependencies/starknet/types/calldata.js +0 -6
  351. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/abi.js +0 -6
  352. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/index.js +0 -6
  353. package/dist/cjs/src/static_dependencies/starknet/types/lib/index.js +0 -6
  354. package/dist/cjs/src/static_dependencies/starknet/types/typedData.js +0 -6
  355. package/dist/cjs/src/static_dependencies/starknet/utils/assert.js +0 -6
  356. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +1 -1
  357. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +1 -1
  358. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +1 -1
  359. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/byteArray.js +0 -1
  360. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/cairo.js +0 -1
  361. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +0 -6
  362. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +0 -6
  363. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +0 -6
  364. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/formatter.js +0 -1
  365. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/index.js +1 -1
  366. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/index.js +0 -1
  367. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +0 -1
  368. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +0 -6
  369. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +0 -1
  370. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/requestParser.js +0 -1
  371. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/responseParser.js +0 -1
  372. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/tuple.js +1 -1
  373. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/validate.js +4 -1
  374. package/dist/cjs/src/static_dependencies/starknet/utils/encode.js +0 -1
  375. package/dist/cjs/src/static_dependencies/starknet/utils/hash/classHash.js +3 -1
  376. package/dist/cjs/src/static_dependencies/starknet/utils/merkle.js +0 -1
  377. package/dist/cjs/src/static_dependencies/starknet/utils/num.js +0 -1
  378. package/dist/cjs/src/static_dependencies/starknet/utils/selector.js +0 -1
  379. package/dist/cjs/src/static_dependencies/starknet/utils/shortString.js +0 -1
  380. package/dist/cjs/src/static_dependencies/starknet/utils/typedData.js +1 -1
  381. package/dist/cjs/src/static_dependencies/watchable/src/unpromise.js +0 -6
  382. package/dist/cjs/src/static_dependencies/zklink/zklink-sdk-web.js +0 -6
  383. package/dist/cjs/src/tokocrypto.js +1 -1
  384. package/dist/cjs/src/toobit.js +1 -1
  385. package/dist/cjs/src/upbit.js +1 -1
  386. package/dist/cjs/src/weex.js +1 -1
  387. package/dist/cjs/src/whitebit.js +1 -1
  388. package/dist/cjs/src/woo.js +1 -1
  389. package/dist/cjs/src/woofipro.js +1 -1
  390. package/dist/cjs/src/xt.js +1 -1
  391. package/dist/cjs/src/zaif.js +1 -1
  392. package/dist/cjs/src/zebpay.js +1 -1
  393. package/js/ccxt.d.ts +14 -14
  394. package/js/ccxt.js +10 -16
  395. package/js/src/abstract/aftermath.js +0 -6
  396. package/js/src/abstract/alpaca.js +0 -6
  397. package/js/src/abstract/apex.js +0 -6
  398. package/js/src/abstract/aster.js +0 -6
  399. package/js/src/abstract/backpack.js +0 -6
  400. package/js/src/abstract/bequant.js +0 -6
  401. package/js/src/abstract/bigone.js +0 -6
  402. package/js/src/abstract/binance.d.ts +3 -0
  403. package/js/src/abstract/binance.js +0 -6
  404. package/js/src/abstract/binancecoinm.d.ts +3 -0
  405. package/js/src/abstract/binancecoinm.js +0 -6
  406. package/js/src/abstract/binanceus.d.ts +3 -0
  407. package/js/src/abstract/binanceus.js +0 -6
  408. package/js/src/abstract/binanceusdm.d.ts +3 -0
  409. package/js/src/abstract/binanceusdm.js +0 -6
  410. package/js/src/abstract/bingx.js +0 -6
  411. package/js/src/abstract/bit2c.js +0 -6
  412. package/js/src/abstract/bitbank.js +0 -6
  413. package/js/src/abstract/bitbns.js +0 -6
  414. package/js/src/abstract/bitfinex.js +0 -6
  415. package/js/src/abstract/bitflyer.js +0 -6
  416. package/js/src/abstract/bitget.js +0 -6
  417. package/js/src/abstract/bithumb.js +0 -6
  418. package/js/src/abstract/bitmart.js +0 -6
  419. package/js/src/abstract/bitmex.js +0 -6
  420. package/js/src/abstract/bitopro.js +0 -6
  421. package/js/src/abstract/bitrue.js +0 -6
  422. package/js/src/abstract/bitso.js +0 -6
  423. package/js/src/abstract/bitstamp.js +0 -6
  424. package/js/src/abstract/bitteam.js +0 -6
  425. package/js/src/abstract/bittrade.js +0 -6
  426. package/js/src/abstract/bitvavo.js +0 -6
  427. package/js/src/abstract/blockchaincom.js +0 -6
  428. package/js/src/abstract/blofin.js +0 -6
  429. package/js/src/abstract/btcbox.js +0 -6
  430. package/js/src/abstract/btcmarkets.js +0 -6
  431. package/js/src/abstract/btcturk.js +0 -6
  432. package/js/src/abstract/bullish.js +0 -6
  433. package/js/src/abstract/bybit.d.ts +39 -0
  434. package/js/src/abstract/bybit.js +0 -6
  435. package/js/src/abstract/bybiteu.d.ts +39 -0
  436. package/js/src/abstract/bybiteu.js +0 -6
  437. package/js/src/abstract/bydfi.js +0 -6
  438. package/js/src/abstract/cex.js +0 -6
  439. package/js/src/abstract/coinbase.js +0 -6
  440. package/js/src/abstract/coinbaseexchange.js +0 -6
  441. package/js/src/abstract/coinbaseinternational.js +0 -6
  442. package/js/src/abstract/coincheck.d.ts +3 -0
  443. package/js/src/abstract/coincheck.js +0 -6
  444. package/js/src/abstract/coinex.js +0 -6
  445. package/js/src/abstract/coinmate.js +0 -6
  446. package/js/src/abstract/coinone.js +0 -6
  447. package/js/src/abstract/coinsph.d.ts +8 -1
  448. package/js/src/abstract/coinsph.js +0 -6
  449. package/js/src/abstract/coinspot.js +0 -6
  450. package/js/src/abstract/cryptocom.js +0 -6
  451. package/js/src/abstract/cryptomus.js +0 -6
  452. package/js/src/abstract/deepcoin.js +0 -6
  453. package/js/src/abstract/delta.js +0 -6
  454. package/js/src/abstract/deribit.js +0 -6
  455. package/js/src/abstract/derive.js +0 -6
  456. package/js/src/abstract/digifinex.js +0 -6
  457. package/js/src/abstract/dydx.js +0 -6
  458. package/js/src/abstract/exmo.js +0 -6
  459. package/js/src/abstract/extended.js +0 -6
  460. package/js/src/abstract/fmfwio.js +0 -6
  461. package/js/src/abstract/foxbit.js +0 -6
  462. package/js/src/abstract/gate.js +0 -6
  463. package/js/src/abstract/gateeu.js +0 -6
  464. package/js/src/abstract/gemini.js +0 -6
  465. package/js/src/abstract/grvt.js +0 -6
  466. package/js/src/abstract/hashkey.js +0 -6
  467. package/js/src/abstract/hibachi.js +0 -6
  468. package/js/src/abstract/hitbtc.js +0 -6
  469. package/js/src/abstract/hollaex.js +0 -6
  470. package/js/src/abstract/htx.js +0 -6
  471. package/js/src/abstract/hyperliquid.js +0 -6
  472. package/js/src/abstract/independentreserve.js +0 -6
  473. package/js/src/abstract/indodax.js +0 -6
  474. package/js/src/abstract/kraken.js +0 -6
  475. package/js/src/abstract/krakenfutures.js +0 -6
  476. package/js/src/abstract/kucoin.js +0 -6
  477. package/js/src/abstract/kucoineu.d.ts +356 -0
  478. package/js/src/abstract/kucoineu.js +5 -0
  479. package/js/src/abstract/kucoinfutures.js +0 -6
  480. package/js/src/abstract/latoken.js +0 -6
  481. package/js/src/abstract/lbank.js +0 -6
  482. package/js/src/abstract/lighter.js +0 -6
  483. package/js/src/abstract/luno.js +0 -6
  484. package/js/src/abstract/mercado.js +0 -6
  485. package/js/src/abstract/mexc.js +0 -6
  486. package/js/src/abstract/modetrade.js +0 -6
  487. package/js/src/abstract/mudrex.d.ts +33 -0
  488. package/js/src/abstract/mudrex.js +5 -0
  489. package/js/src/abstract/myokx.js +0 -6
  490. package/js/src/abstract/ndax.js +0 -6
  491. package/js/src/abstract/okx.js +0 -6
  492. package/js/src/abstract/okxus.js +0 -6
  493. package/js/src/abstract/onetrading.js +0 -6
  494. package/js/src/abstract/p2b.js +0 -6
  495. package/js/src/abstract/pacifica.js +0 -6
  496. package/js/src/abstract/paradex.js +0 -6
  497. package/js/src/abstract/paymium.js +0 -6
  498. package/js/src/abstract/phemex.js +0 -6
  499. package/js/src/abstract/poloniex.js +0 -6
  500. package/js/src/abstract/tokocrypto.js +0 -6
  501. package/js/src/abstract/toobit.js +0 -6
  502. package/js/src/abstract/upbit.js +0 -6
  503. package/js/src/abstract/weex.js +0 -6
  504. package/js/src/abstract/whitebit.js +0 -6
  505. package/js/src/abstract/woo.js +0 -6
  506. package/js/src/abstract/woofipro.js +0 -6
  507. package/js/src/abstract/xt.js +0 -6
  508. package/js/src/abstract/zaif.js +0 -6
  509. package/js/src/abstract/zebpay.js +0 -6
  510. package/js/src/aftermath.js +0 -6
  511. package/js/src/alpaca.js +0 -6
  512. package/js/src/apex.js +0 -6
  513. package/js/src/aster.js +2 -8
  514. package/js/src/backpack.js +0 -6
  515. package/js/src/base/Exchange.d.ts +10 -1
  516. package/js/src/base/Exchange.js +34 -9
  517. package/js/src/base/Precise.js +0 -6
  518. package/js/src/base/errorHierarchy.js +0 -6
  519. package/js/src/base/errors.js +0 -6
  520. package/js/src/base/functions/crypto.js +0 -6
  521. package/js/src/base/functions/encode.js +0 -6
  522. package/js/src/base/functions/generic.js +0 -6
  523. package/js/src/base/functions/io.js +0 -6
  524. package/js/src/base/functions/misc.js +0 -6
  525. package/js/src/base/functions/number.js +0 -6
  526. package/js/src/base/functions/platform.js +0 -6
  527. package/js/src/base/functions/rsa.js +0 -6
  528. package/js/src/base/functions/string.js +0 -6
  529. package/js/src/base/functions/throttle.js +0 -6
  530. package/js/src/base/functions/time.js +0 -6
  531. package/js/src/base/functions/totp.js +0 -6
  532. package/js/src/base/functions/type.js +0 -6
  533. package/js/src/base/functions.js +0 -6
  534. package/js/src/base/types.js +0 -6
  535. package/js/src/base/ws/Cache.js +0 -6
  536. package/js/src/base/ws/Client.js +0 -6
  537. package/js/src/base/ws/Future.js +0 -6
  538. package/js/src/base/ws/OrderBook.js +0 -6
  539. package/js/src/base/ws/OrderBookSide.js +0 -6
  540. package/js/src/base/ws/WsClient.js +0 -6
  541. package/js/src/base/ws/functions.js +0 -6
  542. package/js/src/bequant.js +0 -6
  543. package/js/src/bigone.js +0 -6
  544. package/js/src/binance.js +40 -27
  545. package/js/src/binancecoinm.js +0 -6
  546. package/js/src/binanceus.js +0 -6
  547. package/js/src/binanceusdm.js +0 -6
  548. package/js/src/bingx.js +0 -6
  549. package/js/src/bit2c.js +0 -6
  550. package/js/src/bitbank.js +0 -6
  551. package/js/src/bitbns.js +0 -6
  552. package/js/src/bitfinex.js +0 -6
  553. package/js/src/bitflyer.js +0 -6
  554. package/js/src/bitget.js +5 -9
  555. package/js/src/bithumb.js +0 -6
  556. package/js/src/bitmart.js +0 -6
  557. package/js/src/bitmex.js +1 -7
  558. package/js/src/bitopro.js +0 -6
  559. package/js/src/bitrue.js +0 -6
  560. package/js/src/bitso.js +0 -6
  561. package/js/src/bitstamp.js +2 -7
  562. package/js/src/bitteam.js +0 -6
  563. package/js/src/bittrade.js +0 -6
  564. package/js/src/bitvavo.js +1 -6
  565. package/js/src/blockchaincom.js +0 -6
  566. package/js/src/blofin.js +0 -6
  567. package/js/src/btcbox.js +1 -7
  568. package/js/src/btcmarkets.js +0 -6
  569. package/js/src/btcturk.js +0 -6
  570. package/js/src/bullish.js +1 -7
  571. package/js/src/bybit.d.ts +9 -0
  572. package/js/src/bybit.js +114 -18
  573. package/js/src/bybiteu.js +3 -6
  574. package/js/src/bydfi.js +0 -6
  575. package/js/src/cex.d.ts +1 -0
  576. package/js/src/cex.js +1 -6
  577. package/js/src/coinbase.js +3 -8
  578. package/js/src/coinbaseexchange.js +0 -6
  579. package/js/src/coinbaseinternational.js +1 -7
  580. package/js/src/coincheck.d.ts +9 -0
  581. package/js/src/coincheck.js +51 -6
  582. package/js/src/coinex.js +0 -6
  583. package/js/src/coinmate.js +0 -6
  584. package/js/src/coinone.js +0 -6
  585. package/js/src/coinsph.d.ts +27 -27
  586. package/js/src/coinsph.js +35 -34
  587. package/js/src/coinspot.js +0 -6
  588. package/js/src/cryptocom.js +0 -6
  589. package/js/src/cryptomus.js +0 -6
  590. package/js/src/deepcoin.js +0 -6
  591. package/js/src/delta.d.ts +12 -0
  592. package/js/src/delta.js +23 -7
  593. package/js/src/deribit.js +0 -6
  594. package/js/src/derive.js +1 -7
  595. package/js/src/digifinex.d.ts +12 -0
  596. package/js/src/digifinex.js +12 -6
  597. package/js/src/dydx.d.ts +2 -2
  598. package/js/src/dydx.js +2 -8
  599. package/js/src/exmo.js +0 -6
  600. package/js/src/extended.js +1 -7
  601. package/js/src/fmfwio.js +0 -6
  602. package/js/src/foxbit.js +0 -6
  603. package/js/src/gate.js +0 -6
  604. package/js/src/gateeu.js +1 -6
  605. package/js/src/gemini.js +0 -6
  606. package/js/src/grvt.d.ts +1 -1
  607. package/js/src/grvt.js +1 -7
  608. package/js/src/hashkey.d.ts +40 -3
  609. package/js/src/hashkey.js +127 -12
  610. package/js/src/hibachi.d.ts +9 -5
  611. package/js/src/hibachi.js +20 -16
  612. package/js/src/hitbtc.js +0 -6
  613. package/js/src/hollaex.js +0 -6
  614. package/js/src/htx.js +0 -6
  615. package/js/src/hyperliquid.js +13 -12
  616. package/js/src/independentreserve.js +0 -6
  617. package/js/src/indodax.js +0 -6
  618. package/js/src/kraken.js +2 -6
  619. package/js/src/krakenfutures.js +0 -6
  620. package/js/src/kucoin.js +1 -7
  621. package/js/src/kucoineu.d.ts +4 -0
  622. package/js/src/kucoineu.js +28 -0
  623. package/js/src/kucoinfutures.js +0 -6
  624. package/js/src/latoken.js +0 -6
  625. package/js/src/lbank.js +0 -6
  626. package/js/src/lighter.js +6 -10
  627. package/js/src/luno.js +0 -6
  628. package/js/src/mercado.js +0 -6
  629. package/js/src/mexc.js +0 -6
  630. package/js/src/modetrade.js +0 -6
  631. package/js/src/mudrex.d.ts +310 -0
  632. package/js/src/mudrex.js +1321 -0
  633. package/js/src/myokx.js +3 -6
  634. package/js/src/ndax.js +0 -6
  635. package/js/src/okx.js +0 -6
  636. package/js/src/okxus.js +1 -11
  637. package/js/src/onetrading.js +1 -6
  638. package/js/src/p2b.js +0 -6
  639. package/js/src/pacifica.js +1 -7
  640. package/js/src/paradex.js +0 -6
  641. package/js/src/paymium.js +0 -6
  642. package/js/src/phemex.js +0 -6
  643. package/js/src/poloniex.js +1 -7
  644. package/js/src/pro/aftermath.js +0 -6
  645. package/js/src/pro/alpaca.js +0 -6
  646. package/js/src/pro/apex.js +0 -6
  647. package/js/src/pro/aster.js +0 -6
  648. package/js/src/pro/backpack.js +0 -6
  649. package/js/src/pro/bequant.js +0 -6
  650. package/js/src/pro/binance.js +0 -6
  651. package/js/src/pro/binancecoinm.js +0 -6
  652. package/js/src/pro/binanceus.js +0 -6
  653. package/js/src/pro/binanceusdm.js +0 -6
  654. package/js/src/pro/bingx.js +4 -8
  655. package/js/src/pro/bitfinex.js +0 -6
  656. package/js/src/pro/bitget.js +9 -13
  657. package/js/src/pro/bithumb.js +0 -6
  658. package/js/src/pro/bitmart.js +0 -6
  659. package/js/src/pro/bitmex.js +0 -6
  660. package/js/src/pro/bitopro.js +0 -6
  661. package/js/src/pro/bitrue.js +0 -6
  662. package/js/src/pro/bitstamp.js +0 -6
  663. package/js/src/pro/bittrade.js +0 -6
  664. package/js/src/pro/bitvavo.js +0 -6
  665. package/js/src/pro/blockchaincom.js +0 -6
  666. package/js/src/pro/blofin.js +0 -6
  667. package/js/src/pro/bullish.js +0 -6
  668. package/js/src/pro/bybit.js +0 -6
  669. package/js/src/pro/bybiteu.js +0 -6
  670. package/js/src/pro/bydfi.js +0 -6
  671. package/js/src/pro/cex.d.ts +1 -1
  672. package/js/src/pro/cex.js +1 -7
  673. package/js/src/pro/coinbase.js +0 -6
  674. package/js/src/pro/coinbaseexchange.js +0 -6
  675. package/js/src/pro/coinbaseinternational.js +0 -6
  676. package/js/src/pro/coincheck.js +0 -6
  677. package/js/src/pro/coinex.js +0 -6
  678. package/js/src/pro/coinone.js +0 -6
  679. package/js/src/pro/cryptocom.js +0 -6
  680. package/js/src/pro/deepcoin.js +0 -6
  681. package/js/src/pro/deribit.js +0 -6
  682. package/js/src/pro/derive.js +0 -6
  683. package/js/src/pro/dydx.js +0 -6
  684. package/js/src/pro/exmo.js +0 -6
  685. package/js/src/pro/extended.js +0 -6
  686. package/js/src/pro/gate.js +0 -6
  687. package/js/src/pro/gateeu.js +0 -6
  688. package/js/src/pro/gemini.js +0 -6
  689. package/js/src/pro/grvt.d.ts +1 -1
  690. package/js/src/pro/grvt.js +1 -7
  691. package/js/src/pro/hashkey.d.ts +1 -1
  692. package/js/src/pro/hashkey.js +1 -7
  693. package/js/src/pro/hitbtc.js +0 -6
  694. package/js/src/pro/hollaex.js +0 -6
  695. package/js/src/pro/htx.js +0 -6
  696. package/js/src/pro/hyperliquid.js +0 -6
  697. package/js/src/pro/independentreserve.js +0 -6
  698. package/js/src/pro/kraken.js +1 -7
  699. package/js/src/pro/krakenfutures.js +0 -6
  700. package/js/src/pro/kucoin.js +0 -6
  701. package/js/src/pro/kucoineu.d.ts +4 -0
  702. package/js/src/pro/kucoineu.js +22 -0
  703. package/js/src/pro/kucoinfutures.js +0 -6
  704. package/js/src/pro/lbank.js +0 -6
  705. package/js/src/pro/lighter.js +12 -9
  706. package/js/src/pro/luno.js +0 -6
  707. package/js/src/pro/mexc.js +0 -6
  708. package/js/src/pro/modetrade.js +0 -6
  709. package/js/src/pro/mudrex.d.ts +23 -0
  710. package/js/src/pro/mudrex.js +219 -0
  711. package/js/src/pro/myokx.js +0 -6
  712. package/js/src/pro/ndax.js +0 -6
  713. package/js/src/pro/okx.js +0 -6
  714. package/js/src/pro/okxus.js +1 -7
  715. package/js/src/pro/onetrading.js +0 -6
  716. package/js/src/pro/p2b.js +0 -6
  717. package/js/src/pro/pacifica.js +0 -6
  718. package/js/src/pro/paradex.js +0 -6
  719. package/js/src/pro/phemex.js +0 -6
  720. package/js/src/pro/poloniex.js +0 -6
  721. package/js/src/pro/toobit.js +0 -6
  722. package/js/src/pro/upbit.js +0 -6
  723. package/js/src/pro/weex.js +0 -6
  724. package/js/src/pro/whitebit.js +0 -6
  725. package/js/src/pro/woo.js +0 -6
  726. package/js/src/pro/woofipro.js +0 -6
  727. package/js/src/pro/xt.js +0 -6
  728. package/js/src/protobuf/mexc/compiled.cjs +0 -6
  729. package/js/src/protobuf/mexc/compiled.d.cts +0 -6
  730. package/js/src/static_dependencies/dydx-v4-client/cosmos/base/v1beta1/coin.js +0 -6
  731. package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/multisig/keys.js +0 -6
  732. package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/multisig/v1beta1/multisig.js +0 -6
  733. package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/secp256k1/keys.js +0 -6
  734. package/js/src/static_dependencies/dydx-v4-client/cosmos/tx/signing/v1beta1/signing.js +0 -6
  735. package/js/src/static_dependencies/dydx-v4-client/cosmos/tx/v1beta1/tx.js +0 -6
  736. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/accountplus/tx.js +0 -6
  737. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/block_rate_limit_config.js +0 -6
  738. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/clob_pair.js +0 -6
  739. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/equity_tier_limit_config.js +0 -6
  740. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/finalize_block.js +0 -6
  741. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/liquidations.js +0 -6
  742. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/liquidations_config.js +0 -6
  743. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/matches.js +0 -6
  744. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order.js +0 -6
  745. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order_removals.js +0 -6
  746. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/tx.js +0 -6
  747. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/transfer.js +0 -6
  748. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/tx.js +0 -6
  749. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/asset_position.js +0 -6
  750. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/perpetual_position.js +0 -6
  751. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/subaccount.js +0 -6
  752. package/js/src/static_dependencies/dydx-v4-client/google/protobuf/any.js +0 -6
  753. package/js/src/static_dependencies/dydx-v4-client/helpers.js +0 -6
  754. package/js/src/static_dependencies/dydx-v4-client/long/index.cjs +0 -6
  755. package/js/src/static_dependencies/dydx-v4-client/long/index.d.cts +0 -6
  756. package/js/src/static_dependencies/dydx-v4-client/onboarding.js +0 -6
  757. package/js/src/static_dependencies/dydx-v4-client/registry.js +0 -6
  758. package/js/src/static_dependencies/ethers/abi-coder.js +0 -6
  759. package/js/src/static_dependencies/ethers/address/address.js +0 -6
  760. package/js/src/static_dependencies/ethers/address/checks.js +0 -6
  761. package/js/src/static_dependencies/ethers/address/contract-address.js +0 -6
  762. package/js/src/static_dependencies/ethers/address/index.js +0 -6
  763. package/js/src/static_dependencies/ethers/bytes32.js +0 -6
  764. package/js/src/static_dependencies/ethers/coders/abstract-coder.js +0 -6
  765. package/js/src/static_dependencies/ethers/coders/address.js +0 -6
  766. package/js/src/static_dependencies/ethers/coders/anonymous.js +0 -6
  767. package/js/src/static_dependencies/ethers/coders/array.js +0 -6
  768. package/js/src/static_dependencies/ethers/coders/boolean.js +0 -6
  769. package/js/src/static_dependencies/ethers/coders/bytes.js +0 -6
  770. package/js/src/static_dependencies/ethers/coders/fixed-bytes.js +0 -6
  771. package/js/src/static_dependencies/ethers/coders/null.js +0 -6
  772. package/js/src/static_dependencies/ethers/coders/number.js +0 -6
  773. package/js/src/static_dependencies/ethers/coders/string.js +0 -6
  774. package/js/src/static_dependencies/ethers/coders/tuple.js +0 -6
  775. package/js/src/static_dependencies/ethers/fragments.js +0 -6
  776. package/js/src/static_dependencies/ethers/hash/index.js +0 -6
  777. package/js/src/static_dependencies/ethers/hash/solidity.js +0 -6
  778. package/js/src/static_dependencies/ethers/hash/typed-data.js +0 -6
  779. package/js/src/static_dependencies/ethers/index.js +0 -6
  780. package/js/src/static_dependencies/ethers/interface.js +0 -6
  781. package/js/src/static_dependencies/ethers/typed.js +0 -6
  782. package/js/src/static_dependencies/ethers/utils/base58.js +0 -6
  783. package/js/src/static_dependencies/ethers/utils/base64-browser.js +0 -6
  784. package/js/src/static_dependencies/ethers/utils/base64.js +0 -6
  785. package/js/src/static_dependencies/ethers/utils/data.js +0 -6
  786. package/js/src/static_dependencies/ethers/utils/errors.js +0 -6
  787. package/js/src/static_dependencies/ethers/utils/events.js +0 -6
  788. package/js/src/static_dependencies/ethers/utils/fixednumber.js +0 -6
  789. package/js/src/static_dependencies/ethers/utils/index.js +0 -6
  790. package/js/src/static_dependencies/ethers/utils/maths.js +0 -6
  791. package/js/src/static_dependencies/ethers/utils/properties.js +0 -6
  792. package/js/src/static_dependencies/ethers/utils/rlp-decode.js +0 -6
  793. package/js/src/static_dependencies/ethers/utils/rlp-encode.js +0 -6
  794. package/js/src/static_dependencies/ethers/utils/rlp.js +0 -6
  795. package/js/src/static_dependencies/ethers/utils/units.js +0 -6
  796. package/js/src/static_dependencies/ethers/utils/utf8.js +0 -6
  797. package/js/src/static_dependencies/ethers/utils/uuid.js +0 -6
  798. package/js/src/static_dependencies/fflake/browser.js +0 -6
  799. package/js/src/static_dependencies/messagepack/msgpack.js +0 -6
  800. package/js/src/static_dependencies/node-fetch/body.js +0 -6
  801. package/js/src/static_dependencies/node-fetch/errors/abort-error.js +0 -6
  802. package/js/src/static_dependencies/node-fetch/errors/base.js +0 -6
  803. package/js/src/static_dependencies/node-fetch/errors/fetch-error.js +0 -6
  804. package/js/src/static_dependencies/node-fetch/headers.js +0 -6
  805. package/js/src/static_dependencies/node-fetch/index.js +0 -6
  806. package/js/src/static_dependencies/node-fetch/request.js +0 -6
  807. package/js/src/static_dependencies/node-fetch/response.js +0 -6
  808. package/js/src/static_dependencies/node-fetch/utils/get-search.js +0 -6
  809. package/js/src/static_dependencies/node-fetch/utils/is-redirect.js +0 -6
  810. package/js/src/static_dependencies/node-fetch/utils/is.js +0 -6
  811. package/js/src/static_dependencies/node-fetch/utils/referrer.js +0 -6
  812. package/js/src/static_dependencies/proxies/agent-base/helpers.js +0 -6
  813. package/js/src/static_dependencies/proxies/agent-base/index.js +0 -6
  814. package/js/src/static_dependencies/proxies/http-proxy-agent/index.js +0 -6
  815. package/js/src/static_dependencies/proxies/https-proxy-agent/index.js +0 -6
  816. package/js/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +0 -6
  817. package/js/src/static_dependencies/qs/formats.js +0 -6
  818. package/js/src/static_dependencies/qs/index.js +0 -6
  819. package/js/src/static_dependencies/qs/parse.js +0 -6
  820. package/js/src/static_dependencies/qs/stringify.js +0 -6
  821. package/js/src/static_dependencies/qs/utils.js +0 -6
  822. package/js/src/static_dependencies/starknet/constants.js +0 -6
  823. package/js/src/static_dependencies/starknet/index.js +0 -6
  824. package/js/src/static_dependencies/starknet/types/cairoEnum.js +0 -6
  825. package/js/src/static_dependencies/starknet/types/calldata.js +0 -6
  826. package/js/src/static_dependencies/starknet/types/index.js +0 -6
  827. package/js/src/static_dependencies/starknet/types/lib/contract/abi.js +0 -6
  828. package/js/src/static_dependencies/starknet/types/lib/contract/index.js +0 -6
  829. package/js/src/static_dependencies/starknet/types/lib/contract/legacy.js +0 -6
  830. package/js/src/static_dependencies/starknet/types/lib/contract/sierra.js +0 -6
  831. package/js/src/static_dependencies/starknet/types/lib/index.js +0 -6
  832. package/js/src/static_dependencies/starknet/types/typedData.js +0 -6
  833. package/js/src/static_dependencies/starknet/utils/address.js +0 -6
  834. package/js/src/static_dependencies/starknet/utils/assert.js +0 -6
  835. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +0 -6
  836. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +0 -6
  837. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +0 -6
  838. package/js/src/static_dependencies/starknet/utils/calldata/byteArray.js +0 -6
  839. package/js/src/static_dependencies/starknet/utils/calldata/cairo.js +0 -6
  840. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +0 -6
  841. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +0 -6
  842. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +0 -6
  843. package/js/src/static_dependencies/starknet/utils/calldata/enum/index.js +0 -6
  844. package/js/src/static_dependencies/starknet/utils/calldata/formatter.js +0 -6
  845. package/js/src/static_dependencies/starknet/utils/calldata/index.js +0 -6
  846. package/js/src/static_dependencies/starknet/utils/calldata/parser/index.js +0 -6
  847. package/js/src/static_dependencies/starknet/utils/calldata/parser/interface.js +0 -6
  848. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +0 -6
  849. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +0 -6
  850. package/js/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +0 -6
  851. package/js/src/static_dependencies/starknet/utils/calldata/requestParser.js +0 -6
  852. package/js/src/static_dependencies/starknet/utils/calldata/responseParser.js +0 -6
  853. package/js/src/static_dependencies/starknet/utils/calldata/tuple.js +0 -6
  854. package/js/src/static_dependencies/starknet/utils/calldata/validate.js +0 -6
  855. package/js/src/static_dependencies/starknet/utils/encode.js +0 -6
  856. package/js/src/static_dependencies/starknet/utils/hash/classHash.js +0 -6
  857. package/js/src/static_dependencies/starknet/utils/hash/index.js +0 -6
  858. package/js/src/static_dependencies/starknet/utils/merkle.js +0 -6
  859. package/js/src/static_dependencies/starknet/utils/num.js +0 -6
  860. package/js/src/static_dependencies/starknet/utils/selector.js +0 -6
  861. package/js/src/static_dependencies/starknet/utils/shortString.js +0 -6
  862. package/js/src/static_dependencies/starknet/utils/starknetId.js +0 -6
  863. package/js/src/static_dependencies/starknet/utils/typedData.js +0 -6
  864. package/js/src/static_dependencies/starknet/utils/uint256.js +0 -6
  865. package/js/src/static_dependencies/starknet/utils/url.js +0 -6
  866. package/js/src/static_dependencies/watchable/src/index.js +0 -6
  867. package/js/src/static_dependencies/watchable/src/types.js +0 -6
  868. package/js/src/static_dependencies/watchable/src/unpromise.js +0 -6
  869. package/js/src/static_dependencies/zklink/zklink-sdk-web.js +0 -6
  870. package/js/src/tokocrypto.js +0 -6
  871. package/js/src/toobit.js +0 -6
  872. package/js/src/upbit.js +0 -6
  873. package/js/src/weex.js +0 -6
  874. package/js/src/whitebit.js +0 -6
  875. package/js/src/woo.js +0 -6
  876. package/js/src/woofipro.js +0 -6
  877. package/js/src/xt.js +0 -6
  878. package/js/src/zaif.js +0 -6
  879. package/js/src/zebpay.js +0 -6
  880. package/package.json +17 -11
  881. package/dist/cjs/src/abstract/coinmetro.js +0 -11
  882. package/dist/cjs/src/abstract/novadax.js +0 -11
  883. package/dist/cjs/src/ascendex.js +0 -3780
  884. package/dist/cjs/src/coinmetro.js +0 -2030
  885. package/dist/cjs/src/novadax.js +0 -1678
  886. package/dist/cjs/src/pro/ascendex.js +0 -1013
  887. package/js/src/abstract/ascendex.d.ts +0 -80
  888. package/js/src/abstract/ascendex.js +0 -11
  889. package/js/src/abstract/coinmetro.d.ts +0 -37
  890. package/js/src/abstract/coinmetro.js +0 -11
  891. package/js/src/abstract/novadax.d.ts +0 -32
  892. package/js/src/abstract/novadax.js +0 -11
  893. package/js/src/ascendex.d.ts +0 -436
  894. package/js/src/ascendex.js +0 -3779
  895. package/js/src/coinmetro.d.ts +0 -245
  896. package/js/src/coinmetro.js +0 -2029
  897. package/js/src/novadax.d.ts +0 -279
  898. package/js/src/novadax.js +0 -1677
  899. package/js/src/pro/ascendex.d.ts +0 -99
  900. package/js/src/pro/ascendex.js +0 -1012
@@ -1,1012 +0,0 @@
1
- // ----------------------------------------------------------------------------
2
-
3
- // PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
4
- // https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
- // EDIT THE CORRESPONDENT .ts FILE INSTEAD
6
-
7
- // ---------------------------------------------------------------------------
8
- import { sha256 } from '@noble/hashes/sha2.js';
9
- import ascendexRest from '../ascendex.js';
10
- import { AuthenticationError, NetworkError } from '../base/errors.js';
11
- import { ArrayCache, ArrayCacheByTimestamp, ArrayCacheBySymbolById } from '../base/ws/Cache.js';
12
- // ---------------------------------------------------------------------------
13
- export default class ascendex extends ascendexRest {
14
- describe() {
15
- return this.deepExtend(super.describe(), {
16
- 'has': {
17
- 'ws': true,
18
- 'watchBalance': true,
19
- 'watchOHLCV': true,
20
- 'watchOrderBook': true,
21
- 'watchOrders': true,
22
- 'watchTicker': false,
23
- 'watchTrades': true,
24
- 'watchTradesForSymbols': true,
25
- },
26
- 'urls': {
27
- 'api': {
28
- 'ws': {
29
- 'public': 'wss://ascendex.com:443/api/pro/v2/stream',
30
- 'private': 'wss://ascendex.com:443/{accountGroup}/api/pro/v2/stream',
31
- },
32
- },
33
- 'test': {
34
- 'ws': {
35
- 'public': 'wss://api-test.ascendex-sandbox.com:443/api/pro/v2/stream',
36
- 'private': 'wss://api-test.ascendex-sandbox.com:443/{accountGroup}/api/pro/v2/stream',
37
- },
38
- },
39
- },
40
- 'options': {
41
- 'tradesLimit': 1000,
42
- 'ordersLimit': 1000,
43
- 'OHLCVLimit': 1000,
44
- 'categoriesAccount': {
45
- 'cash': 'spot',
46
- 'futures': 'swap',
47
- 'margin': 'margin',
48
- },
49
- },
50
- });
51
- }
52
- async watchPublic(messageHash, params = {}) {
53
- const url = this.urls['api']['ws']['public'];
54
- const id = this.nonce();
55
- const request = {
56
- 'id': id.toString(),
57
- 'op': 'sub',
58
- };
59
- const message = this.extend(request, params);
60
- return await this.watch(url, messageHash, message, messageHash);
61
- }
62
- async watchPublicMultiple(messageHashes, params = {}) {
63
- const url = this.urls['api']['ws']['public'];
64
- const id = this.nonce();
65
- const request = {
66
- 'id': id.toString(),
67
- 'op': 'sub',
68
- };
69
- const message = this.extend(request, params);
70
- return await this.watchMultiple(url, messageHashes, message, messageHashes);
71
- }
72
- async watchPrivate(channel, messageHash, params = {}) {
73
- await this.loadAccounts();
74
- const accountGroup = this.safeString(this.options, 'account-group');
75
- let url = this.urls['api']['ws']['private'];
76
- url = this.implodeParams(url, { 'accountGroup': accountGroup });
77
- const id = this.nonce();
78
- const request = {
79
- 'id': id.toString(),
80
- 'op': 'sub',
81
- 'ch': channel,
82
- };
83
- const message = this.extend(request, params);
84
- await this.authenticate(url, params);
85
- return await this.watch(url, messageHash, message, channel);
86
- }
87
- /**
88
- * @method
89
- * @name ascendex#watchOHLCV
90
- * @description watches historical candlestick data containing the open, high, low, and close price, and the volume of a market
91
- * @see https://ascendex.github.io/ascendex-pro-api/#channel-bar-data
92
- * @param {string} symbol unified symbol of the market to fetch OHLCV data for
93
- * @param {string} timeframe the length of time each candle represents
94
- * @param {int} [since] timestamp in ms of the earliest candle to fetch
95
- * @param {int} [limit] the maximum amount of candles to fetch
96
- * @param {object} [params] extra parameters specific to the exchange API endpoint
97
- * @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
98
- */
99
- async watchOHLCV(symbol, timeframe = '1m', since = undefined, limit = undefined, params = {}) {
100
- await this.loadMarkets();
101
- const market = this.market(symbol);
102
- symbol = market['symbol'];
103
- if ((limit === undefined) || (limit > 1440)) {
104
- limit = 100;
105
- }
106
- const interval = this.safeString(this.timeframes, timeframe, timeframe);
107
- const channel = 'bar' + ':' + interval + ':' + market['id'];
108
- params = {
109
- 'ch': channel,
110
- };
111
- const ohlcv = await this.watchPublic(channel, params);
112
- if (this.newUpdates) {
113
- limit = ohlcv.getLimit(symbol, limit);
114
- }
115
- return this.filterBySinceLimit(ohlcv, since, limit, 0, true);
116
- }
117
- handleOHLCV(client, message) {
118
- //
119
- // {
120
- // "m": "bar",
121
- // "s": "ASD/USDT",
122
- // "data": {
123
- // "i": "1",
124
- // "ts": 1575398940000,
125
- // "o": "0.04993",
126
- // "c": "0.04970",
127
- // "h": "0.04993",
128
- // "l": "0.04970",
129
- // "v": "8052"
130
- // }
131
- // }
132
- //
133
- const marketId = this.safeString(message, 's');
134
- const symbol = this.safeSymbol(marketId);
135
- const channel = this.safeString(message, 'm');
136
- const data = this.safeValue(message, 'data', {});
137
- const interval = this.safeString(data, 'i');
138
- const messageHash = channel + ':' + interval + ':' + marketId;
139
- const timeframe = this.findTimeframe(interval);
140
- const market = this.market(symbol);
141
- const parsed = this.parseOHLCV(message, market);
142
- this.ohlcvs[symbol] = this.safeValue(this.ohlcvs, symbol, {});
143
- let stored = this.safeValue(this.ohlcvs[symbol], timeframe);
144
- if (stored === undefined) {
145
- const limit = this.safeInteger(this.options, 'OHLCVLimit', 1000);
146
- stored = new ArrayCacheByTimestamp(limit);
147
- this.ohlcvs[symbol][timeframe] = stored;
148
- }
149
- stored.append(parsed);
150
- client.resolve(stored, messageHash);
151
- return message;
152
- }
153
- /**
154
- * @method
155
- * @name ascendex#watchTrades
156
- * @description get the list of most recent trades for a particular symbol
157
- * @see https://ascendex.github.io/ascendex-pro-api/#channel-market-trades
158
- * @param {string} symbol unified symbol of the market to fetch trades for
159
- * @param {int} [since] timestamp in ms of the earliest trade to fetch
160
- * @param {int} [limit] the maximum amount of trades to fetch
161
- * @param {object} [params] extra parameters specific to the exchange API endpoint
162
- * @returns {object[]} a list of [trade structures]{@link https://docs.ccxt.com/?id=public-trades}
163
- */
164
- async watchTrades(symbol, since = undefined, limit = undefined, params = {}) {
165
- return await this.watchTradesForSymbols([symbol], since, limit, params);
166
- }
167
- /**
168
- * @method
169
- * @name ascendex#watchTradesForSymbols
170
- * @description get the list of most recent trades for a list of symbols
171
- * @see https://ascendex.github.io/ascendex-pro-api/#channel-market-trades
172
- * @param {string[]} symbols unified symbol of the market to fetch trades for
173
- * @param {int} [since] timestamp in ms of the earliest trade to fetch
174
- * @param {int} [limit] the maximum amount of trades to fetch
175
- * @param {object} [params] extra parameters specific to the exchange API endpoint
176
- * @param {string} [params.name] the name of the method to call, 'trade' or 'aggTrade', default is 'trade'
177
- * @returns {object[]} a list of [trade structures]{@link https://docs.ccxt.com/?id=public-trades}
178
- */
179
- async watchTradesForSymbols(symbols, since = undefined, limit = undefined, params = {}) {
180
- await this.loadMarkets();
181
- symbols = this.marketSymbols(symbols, undefined, false, true, true);
182
- const marketIds = [];
183
- const messageHashes = [];
184
- if (symbols !== undefined) {
185
- for (let i = 0; i < symbols.length; i++) {
186
- const market = this.market(symbols[i]);
187
- marketIds.push(market['id']);
188
- messageHashes.push('trades:' + market['id']);
189
- }
190
- }
191
- const channel = 'trades:' + marketIds.join(',');
192
- params = this.extend(params, {
193
- 'ch': channel,
194
- });
195
- const trades = await this.watchPublicMultiple(messageHashes, params);
196
- if (this.newUpdates) {
197
- const first = this.safeValue(trades, 0);
198
- const tradeSymbol = this.safeString(first, 'symbol');
199
- limit = trades.getLimit(tradeSymbol, limit);
200
- }
201
- return this.filterBySinceLimit(trades, since, limit, 'timestamp', true);
202
- }
203
- handleTrades(client, message) {
204
- //
205
- // {
206
- // "m": "trades",
207
- // "symbol": "BTC/USDT",
208
- // "data": [
209
- // {
210
- // "p": "40744.28",
211
- // "q": "0.00150",
212
- // "ts": 1647514330758,
213
- // "bm": true,
214
- // "seqnum": 72057633465800320
215
- // }
216
- // ]
217
- // }
218
- //
219
- const marketId = this.safeString(message, 'symbol');
220
- const symbol = this.safeSymbol(marketId);
221
- const channel = this.safeString(message, 'm');
222
- const messageHash = channel + ':' + marketId;
223
- const market = this.market(symbol);
224
- let rawData = this.safeValue(message, 'data');
225
- if (rawData === undefined) {
226
- rawData = [];
227
- }
228
- const trades = this.parseTrades(rawData, market);
229
- let tradesArray = this.safeValue(this.trades, symbol);
230
- if (tradesArray === undefined) {
231
- const limit = this.safeInteger(this.options, 'tradesLimit', 1000);
232
- tradesArray = new ArrayCache(limit);
233
- }
234
- for (let i = 0; i < trades.length; i++) {
235
- tradesArray.append(trades[i]);
236
- }
237
- this.trades[symbol] = tradesArray;
238
- client.resolve(tradesArray, messageHash);
239
- }
240
- /**
241
- * @method
242
- * @name ascendex#watchOrderBook
243
- * @description watches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
244
- * @see https://ascendex.github.io/ascendex-pro-api/#channel-level-2-order-book-updates
245
- * @param {string} symbol unified symbol of the market to fetch the order book for
246
- * @param {int} [limit] the maximum amount of order book entries to return
247
- * @param {object} [params] extra parameters specific to the exchange API endpoint
248
- * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/?id=order-book-structure}
249
- */
250
- async watchOrderBook(symbol, limit = undefined, params = {}) {
251
- await this.loadMarkets();
252
- const market = this.market(symbol);
253
- const channel = 'depth' + ':' + market['id'];
254
- params = this.extend(params, {
255
- 'ch': channel,
256
- });
257
- const orderbook = await this.watchPublic(channel, params);
258
- return orderbook.limit();
259
- }
260
- async watchOrderBookSnapshot(symbol, limit = undefined, params = {}) {
261
- await this.loadMarkets();
262
- const market = this.market(symbol);
263
- const action = 'depth-snapshot';
264
- const channel = action + ':' + market['id'];
265
- params = this.extend(params, {
266
- 'action': action,
267
- 'args': {
268
- 'symbol': market['id'],
269
- },
270
- 'op': 'req',
271
- });
272
- const orderbook = await this.watchPublic(channel, params);
273
- return orderbook.limit();
274
- }
275
- async fetchOrderBookSnapshotCustom(symbol, limit = undefined, params = {}) {
276
- const restOrderBook = await this.fetchRestOrderBookSafe(symbol, limit, params);
277
- if (!(symbol in this.orderbooks)) {
278
- this.orderbooks[symbol] = this.orderBook();
279
- }
280
- const orderbook = this.orderbooks[symbol];
281
- orderbook.reset(restOrderBook);
282
- return orderbook;
283
- }
284
- handleOrderBookSnapshot(client, message) {
285
- //
286
- // {
287
- // "m": "depth",
288
- // "symbol": "BTC/USDT",
289
- // "data": {
290
- // "ts": 1647520500149,
291
- // "seqnum": 28590487626,
292
- // "asks": [
293
- // [Array], [Array], [Array],
294
- // [Array], [Array], [Array],
295
- // ],
296
- // "bids": [
297
- // [Array], [Array], [Array],
298
- // [Array], [Array], [Array],
299
- // ]
300
- // }
301
- // }
302
- //
303
- const marketId = this.safeString(message, 'symbol');
304
- const symbol = this.safeSymbol(marketId);
305
- const channel = this.safeString(message, 'm');
306
- const messageHash = channel + ':' + symbol;
307
- const orderbook = this.orderbooks[symbol];
308
- const data = this.safeValue(message, 'data');
309
- const snapshot = this.parseOrderBook(data, symbol);
310
- snapshot['nonce'] = this.safeInteger(data, 'seqnum');
311
- orderbook.reset(snapshot);
312
- // unroll the accumulated deltas
313
- const messages = orderbook.cache;
314
- for (let i = 0; i < messages.length; i++) {
315
- const messageItem = messages[i];
316
- this.handleOrderBookMessage(client, messageItem, orderbook);
317
- }
318
- this.orderbooks[symbol] = orderbook;
319
- client.resolve(orderbook, messageHash);
320
- }
321
- handleOrderBook(client, message) {
322
- //
323
- // {
324
- // "m": "depth",
325
- // "symbol": "BTC/USDT",
326
- // "data": {
327
- // "ts": 1647515136144,
328
- // "seqnum": 28590470736,
329
- // "asks": [ [Array], [Array] ],
330
- // "bids": [ [Array], [Array], [Array], [Array], [Array], [Array] ]
331
- // }
332
- // }
333
- //
334
- const channel = this.safeString(message, 'm');
335
- const marketId = this.safeString(message, 'symbol');
336
- const symbol = this.safeSymbol(marketId);
337
- const messageHash = channel + ':' + marketId;
338
- if (!(symbol in this.orderbooks)) {
339
- this.orderbooks[symbol] = this.orderBook({});
340
- }
341
- const orderbook = this.orderbooks[symbol];
342
- if (orderbook['nonce'] === undefined) {
343
- orderbook.cache.push(message);
344
- }
345
- else {
346
- this.handleOrderBookMessage(client, message, orderbook);
347
- client.resolve(orderbook, messageHash);
348
- }
349
- }
350
- handleDelta(bookside, delta) {
351
- //
352
- // ["40990.47","0.01619"],
353
- //
354
- const price = this.safeFloat(delta, 0);
355
- const amount = this.safeFloat(delta, 1);
356
- bookside.store(price, amount);
357
- }
358
- handleDeltas(bookside, deltas) {
359
- for (let i = 0; i < deltas.length; i++) {
360
- this.handleDelta(bookside, deltas[i]);
361
- }
362
- }
363
- handleOrderBookMessage(client, message, orderbook) {
364
- //
365
- // {
366
- // "m":"depth",
367
- // "symbol":"BTC/USDT",
368
- // "data":{
369
- // "ts":1647527417715,
370
- // "seqnum":28590257013,
371
- // "asks":[
372
- // ["40990.47","0.01619"],
373
- // ["41021.21","0"],
374
- // ["41031.59","0.06096"]
375
- // ],
376
- // "bids":[
377
- // ["40990.46","0.76114"],
378
- // ["40985.18","0"]
379
- // ]
380
- // }
381
- // }
382
- //
383
- const data = this.safeValue(message, 'data', {});
384
- const seqNum = this.safeInteger(data, 'seqnum');
385
- if (seqNum > orderbook['nonce']) {
386
- const asks = this.safeValue(data, 'asks', []);
387
- const bids = this.safeValue(data, 'bids', []);
388
- this.handleDeltas(orderbook['asks'], asks);
389
- this.handleDeltas(orderbook['bids'], bids);
390
- orderbook['nonce'] = seqNum;
391
- const timestamp = this.safeInteger(data, 'ts');
392
- orderbook['timestamp'] = timestamp;
393
- orderbook['datetime'] = this.iso8601(timestamp);
394
- }
395
- return orderbook;
396
- }
397
- /**
398
- * @method
399
- * @name ascendex#watchBalance
400
- * @description watch balance and get the amount of funds available for trading or funds locked in orders
401
- * @see https://ascendex.github.io/ascendex-pro-api/#channel-order-and-balance
402
- * @param {object} [params] extra parameters specific to the exchange API endpoint
403
- * @returns {object} a [balance structure]{@link https://docs.ccxt.com/?id=balance-structure}
404
- */
405
- async watchBalance(params = {}) {
406
- await this.loadMarkets();
407
- const [type, query] = this.handleMarketTypeAndParams('watchBalance', undefined, params);
408
- let channel = undefined;
409
- let messageHash = undefined;
410
- if ((type === 'spot') || (type === 'margin')) {
411
- const accountCategories = this.safeValue(this.options, 'accountCategories', {});
412
- let accountCategory = this.safeString(accountCategories, type, 'cash'); // cash, margin,
413
- accountCategory = accountCategory.toUpperCase();
414
- channel = 'order:' + accountCategory; // order and balance share the same channel
415
- messageHash = 'balance:' + type;
416
- }
417
- else {
418
- channel = 'futures-account-update';
419
- messageHash = 'balance:swap';
420
- }
421
- return await this.watchPrivate(channel, messageHash, query);
422
- }
423
- handleBalance(client, message) {
424
- //
425
- // cash account
426
- //
427
- // {
428
- // "m": "balance",
429
- // "accountId": "cshQtyfq8XLAA9kcf19h8bXHbAwwoqEo",
430
- // "ac": "CASH",
431
- // "data": {
432
- // "a" : "USDT",
433
- // "sn": 8159798,
434
- // "tb": "600",
435
- // "ab": "600"
436
- // }
437
- // }
438
- //
439
- // margin account
440
- //
441
- // {
442
- // "m": "balance",
443
- // "accountId": "marOxpKJV83dxTRx0Eyxpa0gxc4Txt0P",
444
- // "ac": "MARGIN",
445
- // "data": {
446
- // "a" : "USDT",
447
- // "sn" : 8159802,
448
- // "tb" : "400", // total Balance
449
- // "ab" : "400", // available balance
450
- // "brw": "0", // borrowws
451
- // "int": "0" // interest
452
- // }
453
- // }
454
- //
455
- // futures
456
- // {
457
- // "m" : "futures-account-update", // message
458
- // "e" : "ExecutionReport", // event type
459
- // "t" : 1612508562129, // time
460
- // "acc" : "futures-account-id", // account ID
461
- // "at" : "FUTURES", // account type
462
- // "sn" : 23128, // sequence number,
463
- // "id" : "r177710001cbU3813942147C5kbFGOan",
464
- // "col": [
465
- // {
466
- // "a": "USDT", // asset code
467
- // "b": "1000000", // balance
468
- // "f": "1" // discount factor
469
- // }
470
- // ],
471
- // (...)
472
- //
473
- const channel = this.safeString(message, 'm');
474
- let result = undefined;
475
- let type = undefined;
476
- if ((channel === 'order') || (channel === 'futures-order')) {
477
- const data = this.safeValue(message, 'data');
478
- const marketId = this.safeString(data, 's');
479
- const market = this.safeMarket(marketId);
480
- const baseAccount = this.account();
481
- baseAccount['free'] = this.safeString(data, 'bab');
482
- baseAccount['total'] = this.safeString(data, 'btb');
483
- const quoteAccount = this.account();
484
- quoteAccount['free'] = this.safeString(data, 'qab');
485
- quoteAccount['total'] = this.safeString(data, 'qtb');
486
- if (market['contract']) {
487
- type = 'swap';
488
- result = this.safeValue(this.balance, type, {});
489
- }
490
- else {
491
- type = market['type'];
492
- result = this.safeValue(this.balance, type, {});
493
- }
494
- result[market['base']] = baseAccount;
495
- result[market['quote']] = quoteAccount;
496
- }
497
- else {
498
- const accountType = this.safeStringLower2(message, 'ac', 'at');
499
- const categoriesAccounts = this.safeValue(this.options, 'categoriesAccount');
500
- type = this.safeString(categoriesAccounts, accountType, 'spot');
501
- result = this.safeValue(this.balance, type, {});
502
- const data = this.safeValue(message, 'data');
503
- let balances = undefined;
504
- if (data === undefined) {
505
- balances = this.safeValue(message, 'col');
506
- }
507
- else {
508
- balances = [data];
509
- }
510
- for (let i = 0; i < balances.length; i++) {
511
- const balance = balances[i];
512
- const code = this.safeCurrencyCode(this.safeString(balance, 'a'));
513
- const account = this.account();
514
- account['free'] = this.safeString(balance, 'ab');
515
- account['total'] = this.safeString2(balance, 'tb', 'b');
516
- result[code] = account;
517
- }
518
- }
519
- const messageHash = 'balance' + ':' + type;
520
- client.resolve(this.safeBalance(result), messageHash);
521
- }
522
- /**
523
- * @method
524
- * @name ascendex#watchOrders
525
- * @see https://ascendex.github.io/ascendex-pro-api/#channel-order-and-balance
526
- * @description watches information on multiple orders made by the user
527
- * @param {string} symbol unified market symbol of the market orders were made in
528
- * @param {int} [since] the earliest time in ms to fetch orders for
529
- * @param {int} [limit] the maximum number of order structures to retrieve
530
- * @param {object} [params] extra parameters specific to the exchange API endpoint
531
- * @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/?id=order-structure}
532
- */
533
- async watchOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
534
- await this.loadMarkets();
535
- let market = undefined;
536
- if (symbol !== undefined) {
537
- market = this.market(symbol);
538
- symbol = market['symbol'];
539
- }
540
- const [type, query] = this.handleMarketTypeAndParams('watchOrders', market, params);
541
- let messageHash = undefined;
542
- let channel = undefined;
543
- if (type !== 'spot' && type !== 'margin') {
544
- channel = 'futures-order';
545
- messageHash = 'order:FUTURES';
546
- }
547
- else {
548
- const accountCategories = this.safeValue(this.options, 'accountCategories', {});
549
- let accountCategory = this.safeString(accountCategories, type, 'cash'); // cash, margin
550
- accountCategory = accountCategory.toUpperCase();
551
- messageHash = 'order' + ':' + accountCategory;
552
- channel = messageHash;
553
- }
554
- if (symbol !== undefined) {
555
- messageHash = messageHash + ':' + symbol;
556
- }
557
- const orders = await this.watchPrivate(channel, messageHash, query);
558
- if (this.newUpdates) {
559
- limit = orders.getLimit(symbol, limit);
560
- }
561
- return this.filterBySymbolSinceLimit(orders, symbol, since, limit, true);
562
- }
563
- handleOrder(client, message) {
564
- //
565
- // spot order
566
- // {
567
- // "m": "order",
568
- // "accountId": "cshF5SlR9ukAXoDOuXbND4dVpBMw9gzH",
569
- // "ac": "CASH",
570
- // "data": {
571
- // "sn": 19399016185,
572
- // "orderId": "r17f9d7983faU7223046196CMlrj3bfC",
573
- // "s": "LTC/USDT",
574
- // "ot": "Limit",
575
- // "t": 1647614461160,
576
- // "p": "50",
577
- // "q": "0.1",
578
- // "sd": "Buy",
579
- // "st": "New",
580
- // "ap": "0",
581
- // "cfq": "0",
582
- // "sp": '',
583
- // "err": '',
584
- // "btb": "0",
585
- // "bab": "0",
586
- // "qtb": "8",
587
- // "qab": "2.995",
588
- // "cf": "0",
589
- // "fa": "USDT",
590
- // "ei": "NULL_VAL"
591
- // }
592
- // }
593
- //
594
- // futures order
595
- // {
596
- // "m": "futures-order",
597
- // "sn": 19399927636,
598
- // "e": "ExecutionReport",
599
- // "a": "futF5SlR9ukAXoDOuXbND4dVpBMw9gzH", // account id
600
- // "ac": "FUTURES",
601
- // "t": 1647622515434, // last execution time
602
- // (...)
603
- // }
604
- //
605
- const accountType = this.safeString(message, 'ac');
606
- const messageHash = 'order:' + accountType;
607
- const data = this.safeValue(message, 'data', message);
608
- const order = this.parseWsOrder(data);
609
- if (this.orders === undefined) {
610
- const limit = this.safeInteger(this.options, 'ordersLimit', 1000);
611
- this.orders = new ArrayCacheBySymbolById(limit);
612
- }
613
- const orders = this.orders;
614
- orders.append(order);
615
- const symbolMessageHash = messageHash + ':' + order['symbol'];
616
- client.resolve(orders, symbolMessageHash);
617
- client.resolve(orders, messageHash);
618
- }
619
- parseWsOrder(order, market = undefined) {
620
- //
621
- // spot order
622
- // {
623
- // "sn": 19399016185, //sequence number
624
- // "orderId": "r17f9d7983faU7223046196CMlrj3bfC",
625
- // "s": "LTC/USDT",
626
- // "ot": "Limit", // order type
627
- // "t": 1647614461160, // last execution timestamp
628
- // "p": "50", // price
629
- // "q": "0.1", // quantity
630
- // "sd": "Buy", // side
631
- // "st": "New", // status
632
- // "ap": "0", // average fill price
633
- // "cfq": "0", // cumulated fill quantity
634
- // "sp": '', // stop price
635
- // "err": '',
636
- // "btb": "0", // base asset total balance
637
- // "bab": "0", // base asset available balance
638
- // "qtb": "8", // quote asset total balance
639
- // "qab": "2.995", // quote asset available balance
640
- // "cf": "0", // cumulated commission
641
- // "fa": "USDT", // fee asset
642
- // "ei": "NULL_VAL"
643
- // }
644
- //
645
- // futures order
646
- // {
647
- // "m": "futures-order",
648
- // "sn": 19399927636,
649
- // "e": "ExecutionReport",
650
- // "a": "futF5SlR9ukAXoDOuXbND4dVpBMw9gzH", // account id
651
- // "ac": "FUTURES",
652
- // "t": 1647622515434, // last execution time
653
- // "ct": 1647622515413, // order creation time
654
- // "orderId": "r17f9df469b1U7223046196Okf5Kbmd",
655
- // "sd": "Buy", // side
656
- // "ot": "Limit", // order type
657
- // "ei": "NULL_VAL",
658
- // "q": "1", // quantity
659
- // "p": "50", //price
660
- // "sp": "0", // stopPrice
661
- // "spb": '', // stopTrigger
662
- // "s": "LTC-PERP", // symbol
663
- // "st": "New", // state
664
- // "err": '',
665
- // "lp": "0", // last filled price
666
- // "lq": "0", // last filled quantity (base asset)
667
- // "ap": "0", // average filled price
668
- // "cfq": "0", // cummulative filled quantity (base asset)
669
- // "f": "0", // commission fee of the current execution
670
- // "cf": "0", // cumulative commission fee
671
- // "fa": "USDT", // fee asset
672
- // "psl": "0",
673
- // "pslt": "market",
674
- // "ptp": "0",
675
- // "ptpt": "market"
676
- // }
677
- //
678
- const status = this.parseOrderStatus(this.safeString(order, 'st'));
679
- const marketId = this.safeString(order, 's');
680
- const timestamp = this.safeInteger(order, 't');
681
- const symbol = this.safeSymbol(marketId, market, '/');
682
- const lastTradeTimestamp = this.safeInteger(order, 't');
683
- const price = this.safeString(order, 'p');
684
- const amount = this.safeString(order, 'q');
685
- const average = this.safeString(order, 'ap');
686
- const filled = this.safeString(order, 'cfq');
687
- const id = this.safeString(order, 'orderId');
688
- const type = this.safeStringLower(order, 'ot');
689
- const side = this.safeStringLower(order, 'sd');
690
- const feeCost = this.safeNumber(order, 'cf');
691
- let fee = undefined;
692
- if (feeCost !== undefined) {
693
- const feeCurrencyId = this.safeString(order, 'fa');
694
- const feeCurrencyCode = this.safeCurrencyCode(feeCurrencyId);
695
- fee = {
696
- 'cost': feeCost,
697
- 'currency': feeCurrencyCode,
698
- };
699
- }
700
- const stopPrice = this.parseNumber(this.omitZero(this.safeString(order, 'sp')));
701
- return this.safeOrder({
702
- 'info': order,
703
- 'id': id,
704
- 'clientOrderId': undefined,
705
- 'timestamp': timestamp,
706
- 'datetime': this.iso8601(timestamp),
707
- 'lastTradeTimestamp': lastTradeTimestamp,
708
- 'symbol': symbol,
709
- 'type': type,
710
- 'timeInForce': undefined,
711
- 'postOnly': undefined,
712
- 'side': side,
713
- 'price': price,
714
- 'stopPrice': stopPrice,
715
- 'triggerPrice': stopPrice,
716
- 'amount': amount,
717
- 'cost': undefined,
718
- 'average': average,
719
- 'filled': filled,
720
- 'remaining': undefined,
721
- 'status': status,
722
- 'fee': fee,
723
- 'trades': undefined,
724
- }, market);
725
- }
726
- handleErrorMessage(client, message) {
727
- //
728
- // {
729
- // "m": "disconnected",
730
- // "code": 100005,
731
- // "reason": "INVALID_WS_REQUEST_DATA",
732
- // "info": "Session is disconnected due to missing pong message from the client"
733
- // }
734
- //
735
- const errorCode = this.safeInteger(message, 'code');
736
- try {
737
- if (errorCode !== undefined) {
738
- const feedback = this.id + ' ' + this.json(message);
739
- this.throwExactlyMatchedException(this.exceptions['exact'], errorCode, feedback);
740
- const messageString = this.safeValue(message, 'message');
741
- if (messageString !== undefined) {
742
- this.throwBroadlyMatchedException(this.exceptions['broad'], messageString, feedback);
743
- }
744
- }
745
- return false;
746
- }
747
- catch (e) {
748
- if (e instanceof AuthenticationError) {
749
- const messageHash = 'authenticated';
750
- client.reject(e, messageHash);
751
- if (messageHash in client.subscriptions) {
752
- delete client.subscriptions[messageHash];
753
- }
754
- }
755
- else {
756
- client.reject(e);
757
- }
758
- return true;
759
- }
760
- }
761
- handleAuthenticate(client, message) {
762
- //
763
- // { m: "auth", id: "1647605234", code: 0 }
764
- //
765
- const messageHash = 'authenticated';
766
- client.resolve(message, messageHash);
767
- }
768
- handleMessage(client, message) {
769
- if (this.handleErrorMessage(client, message)) {
770
- return;
771
- }
772
- //
773
- // { m: "ping", hp: 3 }
774
- //
775
- // { m: "sub", ch: "bar:BTC/USDT", code: 0 }
776
- //
777
- // { m: 'sub', id: "1647515701", ch: "depth:BTC/USDT", code: 0 }
778
- //
779
- // { m: "connected", type: "unauth" }
780
- //
781
- // { m: "auth", id: "1647605234", code: 0 }
782
- //
783
- // order or balance sub
784
- // {
785
- // "m": "sub",
786
- // "id": "1647605952",
787
- // "ch": "order:cshF5SlR9ukAXoDOuXbND4dVpBMw9gzH", or futures-order
788
- // "code": 0
789
- // }
790
- //
791
- // ohlcv
792
- // {
793
- // "m": "bar",
794
- // "s": "BTC/USDT",
795
- // "data": {
796
- // "i": "1",
797
- // "ts": 1647510060000,
798
- // "o": "40813.93",
799
- // "c": "40804.57",
800
- // "h": "40814.21",
801
- // "l": "40804.56",
802
- // "v": "0.01537"
803
- // }
804
- // }
805
- //
806
- // trades
807
- //
808
- // {
809
- // "m": "trades",
810
- // "symbol": "BTC/USDT",
811
- // "data": [
812
- // {
813
- // "p": "40762.26",
814
- // "q": "0.01500",
815
- // "ts": 1647514306759,
816
- // "bm": true,
817
- // "seqnum": 72057633465795180
818
- // }
819
- // ]
820
- // }
821
- //
822
- // orderbook deltas
823
- //
824
- // {
825
- // "m":"depth",
826
- // "symbol":"BTC/USDT",
827
- // "data":{
828
- // "ts":1647527417715,
829
- // "seqnum":28590257013,
830
- // "asks":[
831
- // ["40990.47","0.01619"],
832
- // ["41021.21","0"],
833
- // ["41031.59","0.06096"]
834
- // ],
835
- // "bids":[
836
- // ["40990.46","0.76114"],
837
- // ["40985.18","0"]
838
- // ]
839
- // }
840
- // }
841
- //
842
- // orderbook snapshot
843
- // {
844
- // "m": "depth-snapshot",
845
- // "symbol": "BTC/USDT",
846
- // "data": {
847
- // "ts": 1647525938513,
848
- // "seqnum": 28590504772,
849
- // "asks": [
850
- // [Array], [Array], [Array], [Array], [Array], [Array], [Array],
851
- // [Array], [Array], [Array], [Array], [Array], [Array], [Array],
852
- // [Array], [Array], [Array], [Array], [Array], [Array], [Array],
853
- // (...)
854
- // ]
855
- // }
856
- //
857
- // spot order update
858
- // {
859
- // "m": "order",
860
- // "accountId": "cshQtyfq8XLAA9kcf19h8bXHbAwwoqDo",
861
- // "ac": "CASH",
862
- // "data": {
863
- // "s": "BTC/USDT",
864
- // "sn": 8159711,
865
- // "sd": "Buy",
866
- // "ap": "0",
867
- // "bab": "2006.5974027",
868
- // "btb": "2006.5974027",
869
- // "cf": "0",
870
- // "cfq": "0",
871
- // (...)
872
- // }
873
- // }
874
- // future order update
875
- // {
876
- // "m": "futures-order",
877
- // "sn": 19404258063,
878
- // "e": "ExecutionReport",
879
- // "a": "futF5SlR9ukAXoDOuXbND4dVpBMw9gzH",
880
- // "ac": "FUTURES",
881
- // "t": 1647681792543,
882
- // "ct": 1647622515413,
883
- // "orderId": "r17f9df469b1U7223046196Okf5KbmdL",
884
- // (...)
885
- // "ptpt": "None"
886
- // }
887
- //
888
- // balance update cash
889
- // {
890
- // "m": "balance",
891
- // "accountId": "cshQtyfq8XLAA9kcf19h8bXHbAwwoqDo",
892
- // "ac": "CASH",
893
- // "data": {
894
- // "a" : "USDT",
895
- // "sn": 8159798,
896
- // "tb": "600",
897
- // "ab": "600"
898
- // }
899
- // }
900
- //
901
- // balance update margin
902
- // {
903
- // "m": "balance",
904
- // "accountId": "marOxpKJV83dxTRx0Eyxpa0gxc4Txt0P",
905
- // "ac": "MARGIN",
906
- // "data": {
907
- // "a" : "USDT",
908
- // "sn" : 8159802,
909
- // "tb" : "400",
910
- // "ab" : "400",
911
- // "brw": "0",
912
- // "int": "0"
913
- // }
914
- // }
915
- //
916
- const subject = this.safeString(message, 'm');
917
- const methods = {
918
- 'ping': this.handlePing,
919
- 'auth': this.handleAuthenticate,
920
- 'sub': this.handleSubscriptionStatus,
921
- 'depth': this.handleOrderBook,
922
- 'depth-snapshot': this.handleOrderBookSnapshot,
923
- 'trades': this.handleTrades,
924
- 'bar': this.handleOHLCV,
925
- 'balance': this.handleBalance,
926
- 'futures-account-update': this.handleBalance,
927
- };
928
- const method = this.safeValue(methods, subject);
929
- if (method !== undefined) {
930
- method.call(this, client, message);
931
- }
932
- if ((subject === 'order') || (subject === 'futures-order')) {
933
- // this.handleOrder (client, message);
934
- // balance updates may be in the order structure
935
- // they may also be standalone balance updates related to account transfers
936
- this.handleOrder(client, message);
937
- if (subject === 'order') {
938
- this.handleBalance(client, message);
939
- }
940
- }
941
- }
942
- handleSubscriptionStatus(client, message) {
943
- //
944
- // { m: "sub", ch: "bar:BTC/USDT", code: 0 }
945
- //
946
- // { m: 'sub', id: "1647515701", ch: "depth:BTC/USDT", code: 0 }
947
- //
948
- const channel = this.safeString(message, 'ch', '');
949
- if (channel.indexOf('depth') > -1 && !(channel.indexOf('depth-snapshot') > -1)) {
950
- this.handleOrderBookSubscription(client, message);
951
- }
952
- return message;
953
- }
954
- handleOrderBookSubscription(client, message) {
955
- const channel = this.safeString(message, 'ch');
956
- const parts = channel.split(':');
957
- const marketId = parts[1];
958
- const market = this.safeMarket(marketId);
959
- const symbol = market['symbol'];
960
- if (symbol in this.orderbooks) {
961
- delete this.orderbooks[symbol];
962
- }
963
- this.orderbooks[symbol] = this.orderBook({});
964
- if (this.options['defaultType'] === 'swap' || market['contract']) {
965
- this.spawn(this.fetchOrderBookSnapshotCustom, symbol);
966
- }
967
- else {
968
- this.spawn(this.watchOrderBookSnapshot, symbol);
969
- }
970
- }
971
- async pong(client, message) {
972
- //
973
- // { m: "ping", hp: 3 }
974
- //
975
- try {
976
- await client.send({ 'op': 'pong', 'hp': this.safeInteger(message, 'hp') });
977
- }
978
- catch (e) {
979
- const error = new NetworkError(this.id + ' handlePing failed with error ' + this.exceptionMessage(e));
980
- client.reset(error);
981
- }
982
- }
983
- handlePing(client, message) {
984
- this.spawn(this.pong, client, message);
985
- }
986
- async authenticate(url, params = {}) {
987
- this.checkRequiredCredentials();
988
- const messageHash = 'authenticated';
989
- const client = this.client(url);
990
- let future = this.safeValue(client.subscriptions, messageHash);
991
- if (future === undefined) {
992
- const timestamp = this.milliseconds().toString();
993
- const urlParts = url.split('/');
994
- const partsLength = urlParts.length;
995
- const path = this.safeString(urlParts, partsLength - 1);
996
- const version = this.safeString(urlParts, partsLength - 2);
997
- const auth = timestamp + '+' + version + '/' + path;
998
- const secret = this.base64ToBinary(this.secret);
999
- const signature = this.hmac(this.encode(auth), secret, sha256, 'base64');
1000
- const request = {
1001
- 'op': 'auth',
1002
- 'id': this.nonce().toString(),
1003
- 't': timestamp,
1004
- 'key': this.apiKey,
1005
- 'sig': signature,
1006
- };
1007
- future = await this.watch(url, messageHash, this.extend(request, params), messageHash);
1008
- client.subscriptions[messageHash] = future;
1009
- }
1010
- return future;
1011
- }
1012
- }