ccxt 4.5.17 → 4.5.19

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 (1014) hide show
  1. package/README.md +10 -6
  2. package/dist/ccxt.browser.min.js +40 -16
  3. package/dist/cjs/_virtual/index.cjs.js +1459 -9
  4. package/dist/cjs/ccxt.js +13 -2
  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/arkham.js +1 -1
  8. package/dist/cjs/src/abstract/ascendex.js +1 -1
  9. package/dist/cjs/src/abstract/backpack.js +1 -1
  10. package/dist/cjs/src/abstract/bigone.js +1 -1
  11. package/dist/cjs/src/abstract/binance.js +1 -1
  12. package/dist/cjs/src/abstract/bingx.js +1 -1
  13. package/dist/cjs/src/abstract/bit2c.js +1 -1
  14. package/dist/cjs/src/abstract/bitbank.js +1 -1
  15. package/dist/cjs/src/abstract/bitbns.js +1 -1
  16. package/dist/cjs/src/abstract/bitfinex.js +1 -1
  17. package/dist/cjs/src/abstract/bitflyer.js +1 -1
  18. package/dist/cjs/src/abstract/bitget.js +1 -1
  19. package/dist/cjs/src/abstract/bithumb.js +1 -1
  20. package/dist/cjs/src/abstract/bitmart.js +1 -1
  21. package/dist/cjs/src/abstract/bitmex.js +1 -1
  22. package/dist/cjs/src/abstract/bitopro.js +1 -1
  23. package/dist/cjs/src/abstract/bitrue.js +1 -1
  24. package/dist/cjs/src/abstract/bitso.js +1 -1
  25. package/dist/cjs/src/abstract/bitstamp.js +1 -1
  26. package/dist/cjs/src/abstract/bitteam.js +1 -1
  27. package/dist/cjs/src/abstract/bittrade.js +1 -1
  28. package/dist/cjs/src/abstract/bitvavo.js +1 -1
  29. package/dist/cjs/src/abstract/blockchaincom.js +1 -1
  30. package/dist/cjs/src/abstract/blofin.js +1 -1
  31. package/dist/cjs/src/abstract/btcalpha.js +1 -1
  32. package/dist/cjs/src/abstract/btcbox.js +1 -1
  33. package/dist/cjs/src/abstract/btcmarkets.js +1 -1
  34. package/dist/cjs/src/abstract/btcturk.js +1 -1
  35. package/dist/cjs/src/abstract/bybit.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/coincatch.js +1 -1
  41. package/dist/cjs/src/abstract/coincheck.js +1 -1
  42. package/dist/cjs/src/abstract/coinex.js +1 -1
  43. package/dist/cjs/src/abstract/coinmate.js +1 -1
  44. package/dist/cjs/src/abstract/coinmetro.js +1 -1
  45. package/dist/cjs/src/abstract/coinone.js +1 -1
  46. package/dist/cjs/src/abstract/coinsph.js +1 -1
  47. package/dist/cjs/src/abstract/coinspot.js +1 -1
  48. package/dist/cjs/src/abstract/cryptocom.js +1 -1
  49. package/dist/cjs/src/abstract/cryptomus.js +1 -1
  50. package/dist/cjs/src/abstract/deepcoin.js +11 -0
  51. package/dist/cjs/src/abstract/defx.js +1 -1
  52. package/dist/cjs/src/abstract/delta.js +1 -1
  53. package/dist/cjs/src/abstract/deribit.js +1 -1
  54. package/dist/cjs/src/abstract/derive.js +1 -1
  55. package/dist/cjs/src/abstract/digifinex.js +1 -1
  56. package/dist/cjs/src/abstract/dydx.js +11 -0
  57. package/dist/cjs/src/abstract/exmo.js +1 -1
  58. package/dist/cjs/src/abstract/foxbit.js +1 -1
  59. package/dist/cjs/src/abstract/gate.js +1 -1
  60. package/dist/cjs/src/abstract/gemini.js +1 -1
  61. package/dist/cjs/src/abstract/hashkey.js +1 -1
  62. package/dist/cjs/src/abstract/hibachi.js +1 -1
  63. package/dist/cjs/src/abstract/hitbtc.js +1 -1
  64. package/dist/cjs/src/abstract/hollaex.js +1 -1
  65. package/dist/cjs/src/abstract/htx.js +1 -1
  66. package/dist/cjs/src/abstract/hyperliquid.js +1 -1
  67. package/dist/cjs/src/abstract/independentreserve.js +1 -1
  68. package/dist/cjs/src/abstract/indodax.js +1 -1
  69. package/dist/cjs/src/abstract/kraken.js +1 -1
  70. package/dist/cjs/src/abstract/krakenfutures.js +1 -1
  71. package/dist/cjs/src/abstract/kucoin.js +1 -1
  72. package/dist/cjs/src/abstract/kucoinfutures.js +1 -1
  73. package/dist/cjs/src/abstract/latoken.js +1 -1
  74. package/dist/cjs/src/abstract/lbank.js +1 -1
  75. package/dist/cjs/src/abstract/luno.js +1 -1
  76. package/dist/cjs/src/abstract/mercado.js +1 -1
  77. package/dist/cjs/src/abstract/mexc.js +1 -1
  78. package/dist/cjs/src/abstract/modetrade.js +1 -1
  79. package/dist/cjs/src/abstract/ndax.js +1 -1
  80. package/dist/cjs/src/abstract/novadax.js +1 -1
  81. package/dist/cjs/src/abstract/oceanex.js +1 -1
  82. package/dist/cjs/src/abstract/okx.js +1 -1
  83. package/dist/cjs/src/abstract/onetrading.js +1 -1
  84. package/dist/cjs/src/abstract/oxfun.js +1 -1
  85. package/dist/cjs/src/abstract/p2b.js +1 -1
  86. package/dist/cjs/src/abstract/paradex.js +1 -1
  87. package/dist/cjs/src/abstract/paymium.js +1 -1
  88. package/dist/cjs/src/abstract/phemex.js +1 -1
  89. package/dist/cjs/src/abstract/poloniex.js +1 -1
  90. package/dist/cjs/src/abstract/probit.js +1 -1
  91. package/dist/cjs/src/abstract/timex.js +1 -1
  92. package/dist/cjs/src/abstract/tokocrypto.js +1 -1
  93. package/dist/cjs/src/abstract/toobit.js +1 -1
  94. package/dist/cjs/src/abstract/upbit.js +1 -1
  95. package/dist/cjs/src/abstract/wavesexchange.js +1 -1
  96. package/dist/cjs/src/abstract/whitebit.js +1 -1
  97. package/dist/cjs/src/abstract/woo.js +1 -1
  98. package/dist/cjs/src/abstract/woofipro.js +1 -1
  99. package/dist/cjs/src/abstract/xt.js +1 -1
  100. package/dist/cjs/src/abstract/yobit.js +1 -1
  101. package/dist/cjs/src/abstract/zaif.js +1 -1
  102. package/dist/cjs/src/abstract/zonda.js +1 -1
  103. package/dist/cjs/src/alpaca.js +1 -1
  104. package/dist/cjs/src/apex.js +34 -16
  105. package/dist/cjs/src/arkham.js +1 -1
  106. package/dist/cjs/src/ascendex.js +1 -1
  107. package/dist/cjs/src/backpack.js +1 -1
  108. package/dist/cjs/src/base/Exchange.js +161 -4
  109. package/dist/cjs/src/base/Precise.js +0 -6
  110. package/dist/cjs/src/base/errors.js +0 -6
  111. package/dist/cjs/src/base/functions/crypto.js +1 -1
  112. package/dist/cjs/src/base/functions/encode.js +1 -1
  113. package/dist/cjs/src/base/functions/misc.js +0 -1
  114. package/dist/cjs/src/base/functions/number.js +0 -6
  115. package/dist/cjs/src/base/functions/platform.js +0 -6
  116. package/dist/cjs/src/base/functions/rsa.js +0 -1
  117. package/dist/cjs/src/base/functions/string.js +0 -6
  118. package/dist/cjs/src/base/functions/throttle.js +1 -1
  119. package/dist/cjs/src/base/functions/time.js +0 -6
  120. package/dist/cjs/src/base/functions/totp.js +0 -1
  121. package/dist/cjs/src/base/functions/type.js +0 -6
  122. package/dist/cjs/src/base/functions.js +1 -1
  123. package/dist/cjs/src/base/ws/Cache.js +0 -6
  124. package/dist/cjs/src/base/ws/Client.js +8 -8
  125. package/dist/cjs/src/base/ws/Future.js +1 -1
  126. package/dist/cjs/src/base/ws/OrderBook.js +1 -1
  127. package/dist/cjs/src/base/ws/OrderBookSide.js +0 -6
  128. package/dist/cjs/src/base/ws/WsClient.js +1 -1
  129. package/dist/cjs/src/bequant.js +1 -1
  130. package/dist/cjs/src/bigone.js +21 -1
  131. package/dist/cjs/src/binance.js +1 -1
  132. package/dist/cjs/src/binancecoinm.js +1 -1
  133. package/dist/cjs/src/binanceus.js +32 -2
  134. package/dist/cjs/src/binanceusdm.js +1 -1
  135. package/dist/cjs/src/bingx.js +21 -1
  136. package/dist/cjs/src/bit2c.js +1 -1
  137. package/dist/cjs/src/bitbank.js +1 -1
  138. package/dist/cjs/src/bitbns.js +1 -1
  139. package/dist/cjs/src/bitfinex.js +1 -1
  140. package/dist/cjs/src/bitflyer.js +1 -1
  141. package/dist/cjs/src/bitget.js +44 -42
  142. package/dist/cjs/src/bithumb.js +1 -1
  143. package/dist/cjs/src/bitmart.js +1 -1
  144. package/dist/cjs/src/bitmex.js +1 -1
  145. package/dist/cjs/src/bitopro.js +1 -1
  146. package/dist/cjs/src/bitrue.js +1 -1
  147. package/dist/cjs/src/bitso.js +1 -1
  148. package/dist/cjs/src/bitstamp.js +1 -1
  149. package/dist/cjs/src/bitteam.js +1 -1
  150. package/dist/cjs/src/bittrade.js +1 -1
  151. package/dist/cjs/src/blockchaincom.js +1 -1
  152. package/dist/cjs/src/blofin.js +5 -2
  153. package/dist/cjs/src/btcalpha.js +1 -1
  154. package/dist/cjs/src/btcbox.js +1 -1
  155. package/dist/cjs/src/btcmarkets.js +1 -1
  156. package/dist/cjs/src/btcturk.js +1 -1
  157. package/dist/cjs/src/bybit.js +4 -1
  158. package/dist/cjs/src/cex.js +1 -1
  159. package/dist/cjs/src/coinbaseadvanced.js +1 -1
  160. package/dist/cjs/src/coincatch.js +1 -1
  161. package/dist/cjs/src/coincheck.js +1 -1
  162. package/dist/cjs/src/coinex.js +1 -1
  163. package/dist/cjs/src/coinmate.js +1 -1
  164. package/dist/cjs/src/coinmetro.js +1 -1
  165. package/dist/cjs/src/coinone.js +1 -1
  166. package/dist/cjs/src/coinsph.js +0 -1
  167. package/dist/cjs/src/coinspot.js +1 -1
  168. package/dist/cjs/src/cryptocom.js +1 -1
  169. package/dist/cjs/src/cryptomus.js +1 -1
  170. package/dist/cjs/src/deepcoin.js +3024 -0
  171. package/dist/cjs/src/defx.js +1 -1
  172. package/dist/cjs/src/delta.js +1 -1
  173. package/dist/cjs/src/deribit.js +7 -1
  174. package/dist/cjs/src/derive.js +1 -1
  175. package/dist/cjs/src/digifinex.js +1 -1
  176. package/dist/cjs/src/dydx.js +2453 -0
  177. package/dist/cjs/src/exmo.js +1 -1
  178. package/dist/cjs/src/fmfwio.js +1 -1
  179. package/dist/cjs/src/foxbit.js +1 -1
  180. package/dist/cjs/src/gate.js +1 -1
  181. package/dist/cjs/src/gateio.js +1 -1
  182. package/dist/cjs/src/gemini.js +1 -1
  183. package/dist/cjs/src/hashkey.js +1 -1
  184. package/dist/cjs/src/hibachi.js +2 -2
  185. package/dist/cjs/src/hitbtc.js +0 -1
  186. package/dist/cjs/src/hollaex.js +1 -1
  187. package/dist/cjs/src/htx.js +1 -1
  188. package/dist/cjs/src/huobi.js +1 -1
  189. package/dist/cjs/src/hyperliquid.js +1 -1
  190. package/dist/cjs/src/independentreserve.js +1 -1
  191. package/dist/cjs/src/indodax.js +1 -1
  192. package/dist/cjs/src/kraken.js +1 -1
  193. package/dist/cjs/src/krakenfutures.js +1 -1
  194. package/dist/cjs/src/kucoin.js +712 -110
  195. package/dist/cjs/src/kucoinfutures.js +1 -1
  196. package/dist/cjs/src/latoken.js +1 -1
  197. package/dist/cjs/src/lbank.js +1 -1
  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/myokx.js +1 -1
  203. package/dist/cjs/src/ndax.js +1 -1
  204. package/dist/cjs/src/novadax.js +1 -1
  205. package/dist/cjs/src/oceanex.js +1 -1
  206. package/dist/cjs/src/okx.js +1 -1
  207. package/dist/cjs/src/okxus.js +1 -1
  208. package/dist/cjs/src/onetrading.js +1 -1
  209. package/dist/cjs/src/oxfun.js +1 -1
  210. package/dist/cjs/src/p2b.js +1 -1
  211. package/dist/cjs/src/paradex.js +1 -1
  212. package/dist/cjs/src/paymium.js +1 -1
  213. package/dist/cjs/src/poloniex.js +1 -1
  214. package/dist/cjs/src/pro/alpaca.js +1 -1
  215. package/dist/cjs/src/pro/apex.js +1 -1
  216. package/dist/cjs/src/pro/arkham.js +1 -1
  217. package/dist/cjs/src/pro/ascendex.js +3 -3
  218. package/dist/cjs/src/pro/backpack.js +1 -1
  219. package/dist/cjs/src/pro/bequant.js +1 -1
  220. package/dist/cjs/src/pro/binance.js +99 -87
  221. package/dist/cjs/src/pro/binancecoinm.js +1 -1
  222. package/dist/cjs/src/pro/binanceus.js +20 -1
  223. package/dist/cjs/src/pro/binanceusdm.js +1 -1
  224. package/dist/cjs/src/pro/bingx.js +1 -1
  225. package/dist/cjs/src/pro/bitfinex.js +1 -1
  226. package/dist/cjs/src/pro/bitget.js +1 -1
  227. package/dist/cjs/src/pro/bithumb.js +1 -1
  228. package/dist/cjs/src/pro/bitmart.js +1 -1
  229. package/dist/cjs/src/pro/bitmex.js +1 -1
  230. package/dist/cjs/src/pro/bitrue.js +1 -1
  231. package/dist/cjs/src/pro/bitstamp.js +1 -1
  232. package/dist/cjs/src/pro/bitvavo.js +1 -1
  233. package/dist/cjs/src/pro/blockchaincom.js +1 -1
  234. package/dist/cjs/src/pro/blofin.js +12 -3
  235. package/dist/cjs/src/pro/bybit.js +1 -1
  236. package/dist/cjs/src/pro/cex.js +1 -1
  237. package/dist/cjs/src/pro/coinbase.js +1 -1
  238. package/dist/cjs/src/pro/coinbaseadvanced.js +1 -1
  239. package/dist/cjs/src/pro/coinbaseexchange.js +1 -1
  240. package/dist/cjs/src/pro/coinbaseinternational.js +1 -1
  241. package/dist/cjs/src/pro/coincatch.js +1 -1
  242. package/dist/cjs/src/pro/coincheck.js +1 -1
  243. package/dist/cjs/src/pro/coinex.js +1 -1
  244. package/dist/cjs/src/pro/coinone.js +1 -1
  245. package/dist/cjs/src/pro/cryptocom.js +1 -1
  246. package/dist/cjs/src/pro/deepcoin.js +1225 -0
  247. package/dist/cjs/src/pro/defx.js +1 -1
  248. package/dist/cjs/src/pro/deribit.js +1 -1
  249. package/dist/cjs/src/pro/dydx.js +418 -0
  250. package/dist/cjs/src/pro/exmo.js +1 -1
  251. package/dist/cjs/src/pro/gate.js +1 -1
  252. package/dist/cjs/src/pro/gateio.js +1 -1
  253. package/dist/cjs/src/pro/gemini.js +1 -1
  254. package/dist/cjs/src/pro/hashkey.js +1 -1
  255. package/dist/cjs/src/pro/hitbtc.js +1 -1
  256. package/dist/cjs/src/pro/hollaex.js +1 -1
  257. package/dist/cjs/src/pro/htx.js +1 -1
  258. package/dist/cjs/src/pro/huobi.js +1 -1
  259. package/dist/cjs/src/pro/hyperliquid.js +1 -1
  260. package/dist/cjs/src/pro/independentreserve.js +1 -1
  261. package/dist/cjs/src/pro/kraken.js +10 -5
  262. package/dist/cjs/src/pro/krakenfutures.js +1 -1
  263. package/dist/cjs/src/pro/kucoin.js +1 -1
  264. package/dist/cjs/src/pro/kucoinfutures.js +1 -1
  265. package/dist/cjs/src/pro/lbank.js +0 -1
  266. package/dist/cjs/src/pro/luno.js +1 -1
  267. package/dist/cjs/src/pro/mexc.js +1 -1
  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 +1 -1
  272. package/dist/cjs/src/pro/onetrading.js +1 -1
  273. package/dist/cjs/src/pro/oxfun.js +1 -1
  274. package/dist/cjs/src/pro/p2b.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/probit.js +1 -1
  279. package/dist/cjs/src/pro/toobit.js +1 -1
  280. package/dist/cjs/src/pro/upbit.js +1 -1
  281. package/dist/cjs/src/pro/whitebit.js +1 -1
  282. package/dist/cjs/src/pro/xt.js +218 -5
  283. package/dist/cjs/src/probit.js +1 -1
  284. package/dist/cjs/src/protobuf/mexc/compiled.cjs.js +2 -0
  285. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/base/v1beta1/coin.js +55 -0
  286. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/crypto/multisig/v1beta1/multisig.js +55 -0
  287. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/crypto/secp256k1/keys.js +47 -0
  288. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/tx/signing/v1beta1/signing.js +342 -0
  289. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/tx/v1beta1/tx.js +716 -0
  290. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/accountplus/tx.js +59 -0
  291. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/clob_pair.js +44 -0
  292. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order.js +379 -0
  293. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order_removals.js +71 -0
  294. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/tx.js +210 -0
  295. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/transfer.js +194 -0
  296. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/tx.js +48 -0
  297. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/subaccount.js +56 -0
  298. package/dist/cjs/src/static_dependencies/dydx-v4-client/google/protobuf/any.js +55 -0
  299. package/dist/cjs/src/static_dependencies/dydx-v4-client/helpers.js +37 -0
  300. package/dist/cjs/src/static_dependencies/dydx-v4-client/long/index.cjs.js +9 -0
  301. package/dist/cjs/src/static_dependencies/dydx-v4-client/onboarding.js +58 -0
  302. package/dist/cjs/src/static_dependencies/dydx-v4-client/registry.js +38 -0
  303. package/dist/cjs/src/static_dependencies/ethers/abi-coder.js +0 -6
  304. package/dist/cjs/src/static_dependencies/ethers/address/address.js +1 -1
  305. package/dist/cjs/src/static_dependencies/ethers/coders/abstract-coder.js +0 -6
  306. package/dist/cjs/src/static_dependencies/ethers/coders/address.js +0 -1
  307. package/dist/cjs/src/static_dependencies/ethers/coders/anonymous.js +0 -1
  308. package/dist/cjs/src/static_dependencies/ethers/coders/array.js +0 -1
  309. package/dist/cjs/src/static_dependencies/ethers/coders/boolean.js +0 -1
  310. package/dist/cjs/src/static_dependencies/ethers/coders/bytes.js +0 -1
  311. package/dist/cjs/src/static_dependencies/ethers/coders/fixed-bytes.js +0 -1
  312. package/dist/cjs/src/static_dependencies/ethers/coders/null.js +0 -1
  313. package/dist/cjs/src/static_dependencies/ethers/coders/number.js +0 -1
  314. package/dist/cjs/src/static_dependencies/ethers/coders/string.js +0 -1
  315. package/dist/cjs/src/static_dependencies/ethers/coders/tuple.js +0 -1
  316. package/dist/cjs/src/static_dependencies/ethers/fragments.js +0 -6
  317. package/dist/cjs/src/static_dependencies/ethers/hash/typed-data.js +0 -6
  318. package/dist/cjs/src/static_dependencies/ethers/index.js +10 -1
  319. package/dist/cjs/src/static_dependencies/ethers/interface.js +0 -6
  320. package/dist/cjs/src/static_dependencies/ethers/typed.js +0 -6
  321. package/dist/cjs/src/static_dependencies/ethers/utils/base58.js +13 -1
  322. package/dist/cjs/src/static_dependencies/ethers/utils/data.js +6 -1
  323. package/dist/cjs/src/static_dependencies/ethers/utils/errors.js +9 -1
  324. package/dist/cjs/src/static_dependencies/ethers/utils/events.js +0 -6
  325. package/dist/cjs/src/static_dependencies/ethers/utils/fixednumber.js +0 -6
  326. package/dist/cjs/src/static_dependencies/ethers/utils/index.js +7 -1
  327. package/dist/cjs/src/static_dependencies/ethers/utils/maths.js +5 -1
  328. package/dist/cjs/src/static_dependencies/ethers/utils/properties.js +0 -6
  329. package/dist/cjs/src/static_dependencies/ethers/utils/utf8.js +8 -1
  330. package/dist/cjs/src/static_dependencies/fflake/browser.js +1 -1
  331. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncrypt.js +0 -1
  332. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +0 -1
  333. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +1 -1
  334. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +0 -6
  335. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +0 -6
  336. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +0 -6
  337. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +0 -1
  338. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +1 -1
  339. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +0 -6
  340. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +1 -1
  341. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +1 -1
  342. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/util.js +0 -6
  343. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +1 -1
  344. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +0 -6
  345. package/dist/cjs/src/static_dependencies/messagepack/msgpack.js +0 -6
  346. package/dist/cjs/src/static_dependencies/noble-curves/_shortw_utils.js +1 -1
  347. package/dist/cjs/src/static_dependencies/noble-curves/abstract/curve.js +1 -1
  348. package/dist/cjs/src/static_dependencies/noble-curves/abstract/edwards.js +1 -1
  349. package/dist/cjs/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +0 -1
  350. package/dist/cjs/src/static_dependencies/noble-curves/abstract/modular.js +1 -1
  351. package/dist/cjs/src/static_dependencies/noble-curves/abstract/montgomery.js +1 -1
  352. package/dist/cjs/src/static_dependencies/noble-curves/abstract/poseidon.js +1 -1
  353. package/dist/cjs/src/static_dependencies/noble-curves/abstract/utils.js +0 -6
  354. package/dist/cjs/src/static_dependencies/noble-curves/abstract/weierstrass.js +1 -1
  355. package/dist/cjs/src/static_dependencies/noble-curves/ed25519.js +1 -1
  356. package/dist/cjs/src/static_dependencies/noble-curves/p256.js +1 -1
  357. package/dist/cjs/src/static_dependencies/noble-curves/secp256k1.js +1 -1
  358. package/dist/cjs/src/static_dependencies/noble-hashes/_assert.js +0 -6
  359. package/dist/cjs/src/static_dependencies/noble-hashes/_sha2.js +0 -1
  360. package/dist/cjs/src/static_dependencies/noble-hashes/_u64.js +0 -6
  361. package/dist/cjs/src/static_dependencies/noble-hashes/crypto.js +0 -6
  362. package/dist/cjs/src/static_dependencies/noble-hashes/hmac.js +0 -1
  363. package/dist/cjs/src/static_dependencies/noble-hashes/md5.js +0 -1
  364. package/dist/cjs/src/static_dependencies/noble-hashes/pbkdf2.js +68 -0
  365. package/dist/cjs/src/static_dependencies/noble-hashes/ripemd160.js +107 -0
  366. package/dist/cjs/src/static_dependencies/noble-hashes/sha1.js +0 -1
  367. package/dist/cjs/src/static_dependencies/noble-hashes/sha256.js +0 -1
  368. package/dist/cjs/src/static_dependencies/noble-hashes/sha3.js +0 -1
  369. package/dist/cjs/src/static_dependencies/noble-hashes/sha512.js +0 -1
  370. package/dist/cjs/src/static_dependencies/noble-hashes/utils.js +51 -2
  371. package/dist/cjs/src/static_dependencies/node-fetch/body.js +5 -1
  372. package/dist/cjs/src/static_dependencies/node-fetch/errors/abort-error.js +0 -1
  373. package/dist/cjs/src/static_dependencies/node-fetch/errors/base.js +0 -6
  374. package/dist/cjs/src/static_dependencies/node-fetch/errors/fetch-error.js +0 -1
  375. package/dist/cjs/src/static_dependencies/node-fetch/headers.js +5 -1
  376. package/dist/cjs/src/static_dependencies/node-fetch/index.js +7 -1
  377. package/dist/cjs/src/static_dependencies/node-fetch/request.js +7 -1
  378. package/dist/cjs/src/static_dependencies/node-fetch/response.js +5 -1
  379. package/dist/cjs/src/static_dependencies/node-fetch/utils/get-search.js +0 -6
  380. package/dist/cjs/src/static_dependencies/node-fetch/utils/is-redirect.js +0 -6
  381. package/dist/cjs/src/static_dependencies/node-fetch/utils/is.js +0 -6
  382. package/dist/cjs/src/static_dependencies/node-fetch/utils/referrer.js +0 -1
  383. package/dist/cjs/src/static_dependencies/proxies/agent-base/index.js +0 -1
  384. package/dist/cjs/src/static_dependencies/proxies/http-proxy-agent/index.js +0 -1
  385. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/index.js +0 -1
  386. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +0 -6
  387. package/dist/cjs/src/static_dependencies/qs/formats.js +0 -6
  388. package/dist/cjs/src/static_dependencies/qs/index.js +0 -1
  389. package/dist/cjs/src/static_dependencies/qs/parse.js +0 -1
  390. package/dist/cjs/src/static_dependencies/qs/stringify.js +0 -1
  391. package/dist/cjs/src/static_dependencies/qs/utils.js +0 -6
  392. package/dist/cjs/src/static_dependencies/scure-base/index.js +29 -6
  393. package/dist/cjs/src/static_dependencies/scure-bip32/index.js +296 -0
  394. package/dist/cjs/src/static_dependencies/scure-bip39/index.js +97 -0
  395. package/dist/cjs/src/static_dependencies/scure-bip39/wordlists/english.js +2054 -0
  396. package/dist/cjs/src/static_dependencies/scure-starknet/index.js +1 -1
  397. package/dist/cjs/src/static_dependencies/starknet/constants.js +1 -1
  398. package/dist/cjs/src/static_dependencies/starknet/types/calldata.js +0 -6
  399. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/abi.js +0 -6
  400. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/index.js +0 -6
  401. package/dist/cjs/src/static_dependencies/starknet/types/lib/index.js +0 -6
  402. package/dist/cjs/src/static_dependencies/starknet/types/typedData.js +0 -6
  403. package/dist/cjs/src/static_dependencies/starknet/utils/assert.js +0 -6
  404. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +1 -1
  405. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +1 -1
  406. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +1 -1
  407. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/byteArray.js +0 -1
  408. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/cairo.js +0 -1
  409. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +0 -6
  410. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +0 -6
  411. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +0 -6
  412. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/formatter.js +0 -1
  413. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/index.js +1 -1
  414. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/index.js +0 -1
  415. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +0 -1
  416. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +0 -6
  417. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +0 -1
  418. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/requestParser.js +0 -1
  419. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/responseParser.js +0 -1
  420. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/tuple.js +1 -1
  421. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/validate.js +4 -1
  422. package/dist/cjs/src/static_dependencies/starknet/utils/encode.js +0 -1
  423. package/dist/cjs/src/static_dependencies/starknet/utils/hash/classHash.js +3 -1
  424. package/dist/cjs/src/static_dependencies/starknet/utils/merkle.js +0 -1
  425. package/dist/cjs/src/static_dependencies/starknet/utils/num.js +0 -1
  426. package/dist/cjs/src/static_dependencies/starknet/utils/selector.js +0 -1
  427. package/dist/cjs/src/static_dependencies/starknet/utils/shortString.js +0 -1
  428. package/dist/cjs/src/static_dependencies/starknet/utils/typedData.js +1 -1
  429. package/dist/cjs/src/static_dependencies/watchable/src/unpromise.js +0 -6
  430. package/dist/cjs/src/static_dependencies/zklink/zklink-sdk-web.js +1 -5
  431. package/dist/cjs/src/timex.js +0 -1
  432. package/dist/cjs/src/tokocrypto.js +1 -1
  433. package/dist/cjs/src/toobit.js +3 -2
  434. package/dist/cjs/src/upbit.js +1 -1
  435. package/dist/cjs/src/wavesexchange.js +1 -1
  436. package/dist/cjs/src/whitebit.js +1 -1
  437. package/dist/cjs/src/woo.js +1 -1
  438. package/dist/cjs/src/woofipro.js +1 -1
  439. package/dist/cjs/src/xt.js +1 -1
  440. package/dist/cjs/src/yobit.js +1 -1
  441. package/dist/cjs/src/zaif.js +1 -1
  442. package/dist/cjs/src/zonda.js +1 -1
  443. package/js/ccxt.d.ts +14 -2
  444. package/js/ccxt.js +10 -8
  445. package/js/src/abstract/alpaca.js +0 -6
  446. package/js/src/abstract/apex.js +0 -6
  447. package/js/src/abstract/arkham.js +0 -6
  448. package/js/src/abstract/ascendex.js +0 -6
  449. package/js/src/abstract/backpack.js +0 -6
  450. package/js/src/abstract/bequant.js +0 -6
  451. package/js/src/abstract/bigone.js +0 -6
  452. package/js/src/abstract/binance.js +0 -6
  453. package/js/src/abstract/binancecoinm.js +0 -6
  454. package/js/src/abstract/binanceus.js +0 -6
  455. package/js/src/abstract/binanceusdm.js +0 -6
  456. package/js/src/abstract/bingx.js +0 -6
  457. package/js/src/abstract/bit2c.js +0 -6
  458. package/js/src/abstract/bitbank.js +0 -6
  459. package/js/src/abstract/bitbns.js +0 -6
  460. package/js/src/abstract/bitfinex.js +0 -6
  461. package/js/src/abstract/bitflyer.js +0 -6
  462. package/js/src/abstract/bitget.d.ts +1 -0
  463. package/js/src/abstract/bitget.js +0 -6
  464. package/js/src/abstract/bithumb.js +0 -6
  465. package/js/src/abstract/bitmart.js +0 -6
  466. package/js/src/abstract/bitmex.js +0 -6
  467. package/js/src/abstract/bitopro.js +0 -6
  468. package/js/src/abstract/bitrue.js +0 -6
  469. package/js/src/abstract/bitso.js +0 -6
  470. package/js/src/abstract/bitstamp.js +0 -6
  471. package/js/src/abstract/bitteam.js +0 -6
  472. package/js/src/abstract/bittrade.js +0 -6
  473. package/js/src/abstract/bitvavo.js +0 -6
  474. package/js/src/abstract/blockchaincom.js +0 -6
  475. package/js/src/abstract/blofin.js +0 -6
  476. package/js/src/abstract/btcalpha.js +0 -6
  477. package/js/src/abstract/btcbox.js +0 -6
  478. package/js/src/abstract/btcmarkets.js +0 -6
  479. package/js/src/abstract/btcturk.js +0 -6
  480. package/js/src/abstract/bybit.d.ts +3 -0
  481. package/js/src/abstract/bybit.js +0 -6
  482. package/js/src/abstract/cex.js +0 -6
  483. package/js/src/abstract/coinbase.js +0 -6
  484. package/js/src/abstract/coinbaseadvanced.js +0 -6
  485. package/js/src/abstract/coinbaseexchange.js +0 -6
  486. package/js/src/abstract/coinbaseinternational.js +0 -6
  487. package/js/src/abstract/coincatch.js +0 -6
  488. package/js/src/abstract/coincheck.js +0 -6
  489. package/js/src/abstract/coinex.js +0 -6
  490. package/js/src/abstract/coinmate.js +0 -6
  491. package/js/src/abstract/coinmetro.js +0 -6
  492. package/js/src/abstract/coinone.js +0 -6
  493. package/js/src/abstract/coinsph.js +0 -6
  494. package/js/src/abstract/coinspot.js +0 -6
  495. package/js/src/abstract/cryptocom.js +0 -6
  496. package/js/src/abstract/cryptomus.js +0 -6
  497. package/js/src/abstract/deepcoin.d.ts +60 -0
  498. package/js/src/abstract/deepcoin.js +5 -0
  499. package/js/src/abstract/defx.js +0 -6
  500. package/js/src/abstract/delta.js +0 -6
  501. package/js/src/abstract/deribit.js +0 -6
  502. package/js/src/abstract/derive.js +0 -6
  503. package/js/src/abstract/digifinex.js +0 -6
  504. package/js/src/abstract/dydx.d.ts +61 -0
  505. package/js/src/abstract/dydx.js +5 -0
  506. package/js/src/abstract/exmo.js +0 -6
  507. package/js/src/abstract/fmfwio.js +0 -6
  508. package/js/src/abstract/foxbit.js +0 -6
  509. package/js/src/abstract/gate.js +0 -6
  510. package/js/src/abstract/gateio.js +0 -6
  511. package/js/src/abstract/gemini.js +0 -6
  512. package/js/src/abstract/hashkey.js +0 -6
  513. package/js/src/abstract/hibachi.js +0 -6
  514. package/js/src/abstract/hitbtc.js +0 -6
  515. package/js/src/abstract/hollaex.js +0 -6
  516. package/js/src/abstract/htx.js +0 -6
  517. package/js/src/abstract/huobi.js +0 -6
  518. package/js/src/abstract/hyperliquid.js +0 -6
  519. package/js/src/abstract/independentreserve.js +0 -6
  520. package/js/src/abstract/indodax.js +0 -6
  521. package/js/src/abstract/kraken.js +0 -6
  522. package/js/src/abstract/krakenfutures.js +0 -6
  523. package/js/src/abstract/kucoin.d.ts +1 -1
  524. package/js/src/abstract/kucoin.js +0 -6
  525. package/js/src/abstract/kucoinfutures.d.ts +1 -1
  526. package/js/src/abstract/kucoinfutures.js +0 -6
  527. package/js/src/abstract/latoken.js +0 -6
  528. package/js/src/abstract/lbank.js +0 -6
  529. package/js/src/abstract/luno.js +0 -6
  530. package/js/src/abstract/mercado.js +0 -6
  531. package/js/src/abstract/mexc.js +0 -6
  532. package/js/src/abstract/modetrade.js +0 -6
  533. package/js/src/abstract/myokx.js +0 -6
  534. package/js/src/abstract/ndax.js +0 -6
  535. package/js/src/abstract/novadax.js +0 -6
  536. package/js/src/abstract/oceanex.js +0 -6
  537. package/js/src/abstract/okx.js +0 -6
  538. package/js/src/abstract/okxus.js +0 -6
  539. package/js/src/abstract/onetrading.js +0 -6
  540. package/js/src/abstract/oxfun.js +0 -6
  541. package/js/src/abstract/p2b.js +0 -6
  542. package/js/src/abstract/paradex.js +0 -6
  543. package/js/src/abstract/paymium.js +0 -6
  544. package/js/src/abstract/phemex.js +0 -6
  545. package/js/src/abstract/poloniex.js +0 -6
  546. package/js/src/abstract/probit.js +0 -6
  547. package/js/src/abstract/timex.js +0 -6
  548. package/js/src/abstract/tokocrypto.js +0 -6
  549. package/js/src/abstract/toobit.js +0 -6
  550. package/js/src/abstract/upbit.js +0 -6
  551. package/js/src/abstract/wavesexchange.js +0 -6
  552. package/js/src/abstract/whitebit.js +0 -6
  553. package/js/src/abstract/woo.js +0 -6
  554. package/js/src/abstract/woofipro.js +0 -6
  555. package/js/src/abstract/xt.js +0 -6
  556. package/js/src/abstract/yobit.js +0 -6
  557. package/js/src/abstract/zaif.js +0 -6
  558. package/js/src/abstract/zonda.js +0 -6
  559. package/js/src/alpaca.js +0 -6
  560. package/js/src/apex.d.ts +2 -0
  561. package/js/src/apex.js +33 -21
  562. package/js/src/arkham.js +0 -6
  563. package/js/src/ascendex.js +0 -6
  564. package/js/src/backpack.js +0 -6
  565. package/js/src/base/Exchange.d.ts +7 -0
  566. package/js/src/base/Exchange.js +160 -10
  567. package/js/src/base/Precise.js +0 -6
  568. package/js/src/base/errorHierarchy.js +0 -6
  569. package/js/src/base/errors.js +0 -6
  570. package/js/src/base/functions/crypto.js +0 -6
  571. package/js/src/base/functions/encode.js +0 -6
  572. package/js/src/base/functions/generic.js +0 -6
  573. package/js/src/base/functions/misc.js +0 -6
  574. package/js/src/base/functions/number.js +0 -6
  575. package/js/src/base/functions/platform.js +0 -6
  576. package/js/src/base/functions/rsa.js +0 -6
  577. package/js/src/base/functions/string.js +0 -6
  578. package/js/src/base/functions/throttle.js +0 -6
  579. package/js/src/base/functions/time.js +0 -6
  580. package/js/src/base/functions/totp.js +0 -6
  581. package/js/src/base/functions/type.js +0 -6
  582. package/js/src/base/functions.js +0 -6
  583. package/js/src/base/types.js +0 -6
  584. package/js/src/base/ws/Cache.js +0 -6
  585. package/js/src/base/ws/Client.js +8 -13
  586. package/js/src/base/ws/Future.js +0 -6
  587. package/js/src/base/ws/OrderBook.js +0 -6
  588. package/js/src/base/ws/OrderBookSide.js +0 -6
  589. package/js/src/base/ws/WsClient.js +0 -6
  590. package/js/src/base/ws/functions.js +0 -6
  591. package/js/src/bequant.js +0 -6
  592. package/js/src/bigone.js +20 -6
  593. package/js/src/binance.js +0 -6
  594. package/js/src/binancecoinm.js +0 -6
  595. package/js/src/binanceus.js +31 -7
  596. package/js/src/binanceusdm.js +0 -6
  597. package/js/src/bingx.js +20 -6
  598. package/js/src/bit2c.js +0 -6
  599. package/js/src/bitbank.js +0 -6
  600. package/js/src/bitbns.js +0 -6
  601. package/js/src/bitfinex.js +0 -6
  602. package/js/src/bitflyer.js +0 -6
  603. package/js/src/bitget.d.ts +3 -3
  604. package/js/src/bitget.js +43 -47
  605. package/js/src/bithumb.js +0 -6
  606. package/js/src/bitmart.js +0 -6
  607. package/js/src/bitmex.js +0 -6
  608. package/js/src/bitopro.js +0 -6
  609. package/js/src/bitrue.js +0 -6
  610. package/js/src/bitso.js +0 -6
  611. package/js/src/bitstamp.js +0 -6
  612. package/js/src/bitteam.js +0 -6
  613. package/js/src/bittrade.js +0 -6
  614. package/js/src/bitvavo.js +0 -6
  615. package/js/src/blockchaincom.js +0 -6
  616. package/js/src/blofin.js +4 -7
  617. package/js/src/btcalpha.js +0 -6
  618. package/js/src/btcbox.js +0 -6
  619. package/js/src/btcmarkets.js +0 -6
  620. package/js/src/btcturk.js +0 -6
  621. package/js/src/bybit.js +3 -6
  622. package/js/src/cex.js +0 -6
  623. package/js/src/coinbase.js +0 -6
  624. package/js/src/coinbaseadvanced.js +0 -6
  625. package/js/src/coinbaseexchange.js +0 -6
  626. package/js/src/coinbaseinternational.js +0 -6
  627. package/js/src/coincatch.js +0 -6
  628. package/js/src/coincheck.js +0 -6
  629. package/js/src/coinex.js +0 -6
  630. package/js/src/coinmate.js +0 -6
  631. package/js/src/coinmetro.js +0 -6
  632. package/js/src/coinone.js +0 -6
  633. package/js/src/coinsph.js +0 -6
  634. package/js/src/coinspot.js +0 -6
  635. package/js/src/cryptocom.js +0 -6
  636. package/js/src/cryptomus.js +0 -6
  637. package/js/src/deepcoin.d.ts +498 -0
  638. package/js/src/deepcoin.js +3016 -0
  639. package/js/src/defx.js +0 -6
  640. package/js/src/delta.js +0 -6
  641. package/js/src/deribit.js +6 -6
  642. package/js/src/derive.js +0 -6
  643. package/js/src/digifinex.js +0 -6
  644. package/js/src/dydx.d.ts +364 -0
  645. package/js/src/dydx.js +2446 -0
  646. package/js/src/exmo.js +0 -6
  647. package/js/src/fmfwio.js +0 -6
  648. package/js/src/foxbit.js +0 -6
  649. package/js/src/gate.js +0 -6
  650. package/js/src/gateio.js +0 -6
  651. package/js/src/gemini.js +0 -6
  652. package/js/src/hashkey.js +0 -6
  653. package/js/src/hibachi.js +1 -7
  654. package/js/src/hitbtc.js +0 -6
  655. package/js/src/hollaex.js +0 -6
  656. package/js/src/htx.js +0 -6
  657. package/js/src/huobi.js +0 -6
  658. package/js/src/hyperliquid.js +0 -6
  659. package/js/src/independentreserve.js +0 -6
  660. package/js/src/indodax.js +0 -6
  661. package/js/src/kraken.js +0 -6
  662. package/js/src/krakenfutures.js +0 -6
  663. package/js/src/kucoin.d.ts +48 -1
  664. package/js/src/kucoin.js +711 -115
  665. package/js/src/kucoinfutures.js +0 -6
  666. package/js/src/latoken.js +0 -6
  667. package/js/src/lbank.js +0 -6
  668. package/js/src/luno.js +0 -6
  669. package/js/src/mercado.js +0 -6
  670. package/js/src/mexc.js +0 -6
  671. package/js/src/modetrade.js +0 -6
  672. package/js/src/myokx.js +0 -6
  673. package/js/src/ndax.js +0 -6
  674. package/js/src/novadax.js +0 -6
  675. package/js/src/oceanex.js +0 -6
  676. package/js/src/okx.js +0 -6
  677. package/js/src/okxus.js +0 -6
  678. package/js/src/onetrading.js +0 -6
  679. package/js/src/oxfun.js +0 -6
  680. package/js/src/p2b.js +0 -6
  681. package/js/src/paradex.js +0 -6
  682. package/js/src/paymium.js +0 -6
  683. package/js/src/phemex.js +0 -6
  684. package/js/src/poloniex.js +0 -6
  685. package/js/src/pro/alpaca.js +0 -6
  686. package/js/src/pro/apex.js +0 -6
  687. package/js/src/pro/arkham.js +0 -6
  688. package/js/src/pro/ascendex.d.ts +1 -1
  689. package/js/src/pro/ascendex.js +2 -8
  690. package/js/src/pro/backpack.js +0 -6
  691. package/js/src/pro/bequant.js +0 -6
  692. package/js/src/pro/binance.d.ts +37 -3
  693. package/js/src/pro/binance.js +99 -96
  694. package/js/src/pro/binancecoinm.js +0 -6
  695. package/js/src/pro/binanceus.js +19 -6
  696. package/js/src/pro/binanceusdm.js +0 -6
  697. package/js/src/pro/bingx.js +0 -6
  698. package/js/src/pro/bitfinex.js +0 -6
  699. package/js/src/pro/bitget.js +0 -6
  700. package/js/src/pro/bithumb.js +0 -6
  701. package/js/src/pro/bitmart.js +0 -6
  702. package/js/src/pro/bitmex.js +0 -6
  703. package/js/src/pro/bitopro.js +0 -6
  704. package/js/src/pro/bitrue.js +0 -6
  705. package/js/src/pro/bitstamp.js +0 -6
  706. package/js/src/pro/bittrade.js +0 -6
  707. package/js/src/pro/bitvavo.js +0 -6
  708. package/js/src/pro/blockchaincom.js +0 -6
  709. package/js/src/pro/blofin.d.ts +5 -0
  710. package/js/src/pro/blofin.js +11 -8
  711. package/js/src/pro/bybit.js +0 -6
  712. package/js/src/pro/cex.js +0 -6
  713. package/js/src/pro/coinbase.js +0 -6
  714. package/js/src/pro/coinbaseadvanced.js +0 -6
  715. package/js/src/pro/coinbaseexchange.js +0 -6
  716. package/js/src/pro/coinbaseinternational.js +0 -6
  717. package/js/src/pro/coincatch.js +0 -6
  718. package/js/src/pro/coincheck.js +0 -6
  719. package/js/src/pro/coinex.js +0 -6
  720. package/js/src/pro/coinone.js +0 -6
  721. package/js/src/pro/cryptocom.js +0 -6
  722. package/js/src/pro/deepcoin.d.ts +169 -0
  723. package/js/src/pro/deepcoin.js +1218 -0
  724. package/js/src/pro/defx.js +0 -6
  725. package/js/src/pro/deribit.js +0 -6
  726. package/js/src/pro/derive.js +0 -6
  727. package/js/src/pro/dydx.d.ts +81 -0
  728. package/js/src/pro/dydx.js +411 -0
  729. package/js/src/pro/exmo.js +0 -6
  730. package/js/src/pro/gate.js +0 -6
  731. package/js/src/pro/gateio.js +0 -6
  732. package/js/src/pro/gemini.js +0 -6
  733. package/js/src/pro/hashkey.js +0 -6
  734. package/js/src/pro/hitbtc.js +0 -6
  735. package/js/src/pro/hollaex.js +0 -6
  736. package/js/src/pro/htx.js +0 -6
  737. package/js/src/pro/huobi.js +0 -6
  738. package/js/src/pro/hyperliquid.js +0 -6
  739. package/js/src/pro/independentreserve.js +0 -6
  740. package/js/src/pro/kraken.js +9 -10
  741. package/js/src/pro/krakenfutures.js +0 -6
  742. package/js/src/pro/kucoin.js +0 -6
  743. package/js/src/pro/kucoinfutures.js +0 -6
  744. package/js/src/pro/lbank.js +0 -6
  745. package/js/src/pro/luno.js +0 -6
  746. package/js/src/pro/mexc.js +0 -6
  747. package/js/src/pro/modetrade.js +0 -6
  748. package/js/src/pro/myokx.js +0 -6
  749. package/js/src/pro/ndax.js +0 -6
  750. package/js/src/pro/okx.js +0 -6
  751. package/js/src/pro/okxus.js +0 -6
  752. package/js/src/pro/onetrading.js +0 -6
  753. package/js/src/pro/oxfun.js +0 -6
  754. package/js/src/pro/p2b.js +0 -6
  755. package/js/src/pro/paradex.js +0 -6
  756. package/js/src/pro/phemex.js +0 -6
  757. package/js/src/pro/poloniex.js +0 -6
  758. package/js/src/pro/probit.js +0 -6
  759. package/js/src/pro/toobit.js +0 -6
  760. package/js/src/pro/upbit.js +0 -6
  761. package/js/src/pro/whitebit.js +0 -6
  762. package/js/src/pro/woo.js +0 -6
  763. package/js/src/pro/woofipro.js +0 -6
  764. package/js/src/pro/xt.d.ts +85 -2
  765. package/js/src/pro/xt.js +217 -10
  766. package/js/src/probit.js +0 -6
  767. package/js/src/protobuf/mexc/compiled.cjs +0 -6
  768. package/js/src/static_dependencies/dydx-v4-client/cosmos/base/v1beta1/coin.d.ts +90 -0
  769. package/js/src/static_dependencies/dydx-v4-client/cosmos/base/v1beta1/coin.js +157 -0
  770. package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/multisig/keys.d.ts +26 -0
  771. package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/multisig/keys.js +45 -0
  772. package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/multisig/v1beta1/multisig.d.ts +48 -0
  773. package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/multisig/v1beta1/multisig.js +79 -0
  774. package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/secp256k1/keys.d.ts +40 -0
  775. package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/secp256k1/keys.js +71 -0
  776. package/js/src/static_dependencies/dydx-v4-client/cosmos/tx/signing/v1beta1/signing.d.ts +162 -0
  777. package/js/src/static_dependencies/dydx-v4-client/cosmos/tx/signing/v1beta1/signing.js +323 -0
  778. package/js/src/static_dependencies/dydx-v4-client/cosmos/tx/v1beta1/tx.d.ts +460 -0
  779. package/js/src/static_dependencies/dydx-v4-client/cosmos/tx/v1beta1/tx.js +692 -0
  780. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/accountplus/tx.d.ts +127 -0
  781. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/accountplus/tx.js +280 -0
  782. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/block_rate_limit_config.d.ts +66 -0
  783. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/block_rate_limit_config.js +103 -0
  784. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/clob_pair.d.ts +127 -0
  785. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/clob_pair.js +251 -0
  786. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/equity_tier_limit_config.d.ts +48 -0
  787. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/equity_tier_limit_config.js +87 -0
  788. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/finalize_block.d.ts +23 -0
  789. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/finalize_block.js +37 -0
  790. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/liquidations.d.ts +92 -0
  791. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/liquidations.js +158 -0
  792. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/liquidations_config.d.ts +124 -0
  793. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/liquidations_config.js +190 -0
  794. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/matches.d.ts +159 -0
  795. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/matches.js +318 -0
  796. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order.d.ts +546 -0
  797. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order.js +866 -0
  798. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order_removals.d.ts +84 -0
  799. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order_removals.js +175 -0
  800. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/tx.d.ts +397 -0
  801. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/tx.js +751 -0
  802. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/transfer.d.ts +120 -0
  803. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/transfer.js +240 -0
  804. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/tx.d.ts +79 -0
  805. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/tx.js +141 -0
  806. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/asset_position.d.ts +32 -0
  807. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/asset_position.js +53 -0
  808. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/perpetual_position.d.ts +34 -0
  809. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/perpetual_position.js +60 -0
  810. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/subaccount.d.ts +62 -0
  811. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/subaccount.js +105 -0
  812. package/js/src/static_dependencies/dydx-v4-client/google/protobuf/any.d.ts +207 -0
  813. package/js/src/static_dependencies/dydx-v4-client/google/protobuf/any.js +44 -0
  814. package/js/src/static_dependencies/dydx-v4-client/helpers.d.ts +82 -0
  815. package/js/src/static_dependencies/dydx-v4-client/helpers.js +144 -0
  816. package/js/src/static_dependencies/dydx-v4-client/long/index.cjs +1467 -0
  817. package/js/src/static_dependencies/dydx-v4-client/long/index.d.cts +2 -0
  818. package/js/src/static_dependencies/dydx-v4-client/onboarding.d.ts +35 -0
  819. package/js/src/static_dependencies/dydx-v4-client/onboarding.js +50 -0
  820. package/js/src/static_dependencies/dydx-v4-client/registry.d.ts +7 -0
  821. package/js/src/static_dependencies/dydx-v4-client/registry.js +30 -0
  822. package/js/src/static_dependencies/ethers/abi-coder.js +0 -6
  823. package/js/src/static_dependencies/ethers/address/address.js +0 -6
  824. package/js/src/static_dependencies/ethers/address/checks.js +0 -6
  825. package/js/src/static_dependencies/ethers/address/contract-address.js +0 -6
  826. package/js/src/static_dependencies/ethers/address/index.js +0 -6
  827. package/js/src/static_dependencies/ethers/bytes32.js +0 -6
  828. package/js/src/static_dependencies/ethers/coders/abstract-coder.js +0 -6
  829. package/js/src/static_dependencies/ethers/coders/address.js +0 -6
  830. package/js/src/static_dependencies/ethers/coders/anonymous.js +0 -6
  831. package/js/src/static_dependencies/ethers/coders/array.js +0 -6
  832. package/js/src/static_dependencies/ethers/coders/boolean.js +0 -6
  833. package/js/src/static_dependencies/ethers/coders/bytes.js +0 -6
  834. package/js/src/static_dependencies/ethers/coders/fixed-bytes.js +0 -6
  835. package/js/src/static_dependencies/ethers/coders/null.js +0 -6
  836. package/js/src/static_dependencies/ethers/coders/number.js +0 -6
  837. package/js/src/static_dependencies/ethers/coders/string.js +0 -6
  838. package/js/src/static_dependencies/ethers/coders/tuple.js +0 -6
  839. package/js/src/static_dependencies/ethers/fragments.js +0 -6
  840. package/js/src/static_dependencies/ethers/hash/index.js +0 -6
  841. package/js/src/static_dependencies/ethers/hash/solidity.js +0 -6
  842. package/js/src/static_dependencies/ethers/hash/typed-data.js +0 -6
  843. package/js/src/static_dependencies/ethers/index.js +0 -6
  844. package/js/src/static_dependencies/ethers/interface.js +0 -6
  845. package/js/src/static_dependencies/ethers/typed.js +0 -6
  846. package/js/src/static_dependencies/ethers/utils/base58.js +0 -6
  847. package/js/src/static_dependencies/ethers/utils/base64-browser.js +0 -6
  848. package/js/src/static_dependencies/ethers/utils/base64.js +0 -6
  849. package/js/src/static_dependencies/ethers/utils/data.js +0 -6
  850. package/js/src/static_dependencies/ethers/utils/errors.js +0 -6
  851. package/js/src/static_dependencies/ethers/utils/events.js +0 -6
  852. package/js/src/static_dependencies/ethers/utils/fixednumber.js +0 -6
  853. package/js/src/static_dependencies/ethers/utils/index.js +0 -6
  854. package/js/src/static_dependencies/ethers/utils/maths.js +0 -6
  855. package/js/src/static_dependencies/ethers/utils/properties.js +0 -6
  856. package/js/src/static_dependencies/ethers/utils/rlp-decode.js +0 -6
  857. package/js/src/static_dependencies/ethers/utils/rlp-encode.js +0 -6
  858. package/js/src/static_dependencies/ethers/utils/rlp.js +0 -6
  859. package/js/src/static_dependencies/ethers/utils/units.js +0 -6
  860. package/js/src/static_dependencies/ethers/utils/utf8.js +0 -6
  861. package/js/src/static_dependencies/ethers/utils/uuid.js +0 -6
  862. package/js/src/static_dependencies/fflake/browser.js +0 -6
  863. package/js/src/static_dependencies/jsencrypt/JSEncrypt.js +0 -6
  864. package/js/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +0 -6
  865. package/js/src/static_dependencies/jsencrypt/index.js +0 -6
  866. package/js/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +0 -6
  867. package/js/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +0 -6
  868. package/js/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +0 -6
  869. package/js/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +0 -6
  870. package/js/src/static_dependencies/jsencrypt/lib/asn1js/oids.js +0 -6
  871. package/js/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +0 -6
  872. package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +0 -6
  873. package/js/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +0 -6
  874. package/js/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +0 -6
  875. package/js/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +0 -6
  876. package/js/src/static_dependencies/jsencrypt/lib/jsbn/util.js +0 -6
  877. package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +0 -6
  878. package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +0 -6
  879. package/js/src/static_dependencies/messagepack/msgpack.js +0 -6
  880. package/js/src/static_dependencies/noble-curves/_shortw_utils.js +0 -6
  881. package/js/src/static_dependencies/noble-curves/abstract/curve.js +0 -6
  882. package/js/src/static_dependencies/noble-curves/abstract/edwards.js +0 -6
  883. package/js/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +0 -6
  884. package/js/src/static_dependencies/noble-curves/abstract/modular.js +0 -6
  885. package/js/src/static_dependencies/noble-curves/abstract/montgomery.js +0 -6
  886. package/js/src/static_dependencies/noble-curves/abstract/poseidon.js +0 -6
  887. package/js/src/static_dependencies/noble-curves/abstract/utils.js +0 -6
  888. package/js/src/static_dependencies/noble-curves/abstract/weierstrass.js +0 -6
  889. package/js/src/static_dependencies/noble-curves/bn.js +0 -6
  890. package/js/src/static_dependencies/noble-curves/ed25519.js +0 -6
  891. package/js/src/static_dependencies/noble-curves/ed448.js +0 -6
  892. package/js/src/static_dependencies/noble-curves/index.js +0 -6
  893. package/js/src/static_dependencies/noble-curves/jubjub.js +0 -6
  894. package/js/src/static_dependencies/noble-curves/p256.js +0 -6
  895. package/js/src/static_dependencies/noble-curves/p384.js +0 -6
  896. package/js/src/static_dependencies/noble-curves/p521.js +0 -6
  897. package/js/src/static_dependencies/noble-curves/pasta.js +0 -6
  898. package/js/src/static_dependencies/noble-curves/secp256k1.js +0 -6
  899. package/js/src/static_dependencies/noble-hashes/_assert.js +0 -6
  900. package/js/src/static_dependencies/noble-hashes/_blake2.js +0 -6
  901. package/js/src/static_dependencies/noble-hashes/_sha2.js +0 -6
  902. package/js/src/static_dependencies/noble-hashes/_u64.js +0 -6
  903. package/js/src/static_dependencies/noble-hashes/argon2.js +0 -6
  904. package/js/src/static_dependencies/noble-hashes/blake2b.js +0 -6
  905. package/js/src/static_dependencies/noble-hashes/blake2s.js +0 -6
  906. package/js/src/static_dependencies/noble-hashes/blake3.js +0 -6
  907. package/js/src/static_dependencies/noble-hashes/crypto.js +0 -6
  908. package/js/src/static_dependencies/noble-hashes/cryptoNode.js +0 -6
  909. package/js/src/static_dependencies/noble-hashes/eskdf.js +0 -6
  910. package/js/src/static_dependencies/noble-hashes/hkdf.js +0 -6
  911. package/js/src/static_dependencies/noble-hashes/hmac.js +0 -6
  912. package/js/src/static_dependencies/noble-hashes/index.js +0 -6
  913. package/js/src/static_dependencies/noble-hashes/md5.js +0 -6
  914. package/js/src/static_dependencies/noble-hashes/pbkdf2.js +0 -6
  915. package/js/src/static_dependencies/noble-hashes/ripemd160.js +0 -6
  916. package/js/src/static_dependencies/noble-hashes/scrypt.js +0 -6
  917. package/js/src/static_dependencies/noble-hashes/sha1.js +0 -6
  918. package/js/src/static_dependencies/noble-hashes/sha256.js +0 -6
  919. package/js/src/static_dependencies/noble-hashes/sha3-addons.js +0 -6
  920. package/js/src/static_dependencies/noble-hashes/sha3.js +0 -6
  921. package/js/src/static_dependencies/noble-hashes/sha512.js +0 -6
  922. package/js/src/static_dependencies/noble-hashes/utils.d.ts +1 -0
  923. package/js/src/static_dependencies/noble-hashes/utils.js +4 -6
  924. package/js/src/static_dependencies/node-fetch/body.js +0 -6
  925. package/js/src/static_dependencies/node-fetch/errors/abort-error.js +0 -6
  926. package/js/src/static_dependencies/node-fetch/errors/base.js +0 -6
  927. package/js/src/static_dependencies/node-fetch/errors/fetch-error.js +0 -6
  928. package/js/src/static_dependencies/node-fetch/headers.js +0 -6
  929. package/js/src/static_dependencies/node-fetch/index.js +0 -6
  930. package/js/src/static_dependencies/node-fetch/request.js +0 -6
  931. package/js/src/static_dependencies/node-fetch/response.js +0 -6
  932. package/js/src/static_dependencies/node-fetch/utils/get-search.js +0 -6
  933. package/js/src/static_dependencies/node-fetch/utils/is-redirect.js +0 -6
  934. package/js/src/static_dependencies/node-fetch/utils/is.js +0 -6
  935. package/js/src/static_dependencies/node-fetch/utils/referrer.js +0 -6
  936. package/js/src/static_dependencies/proxies/agent-base/helpers.js +0 -6
  937. package/js/src/static_dependencies/proxies/agent-base/index.js +0 -6
  938. package/js/src/static_dependencies/proxies/http-proxy-agent/index.js +0 -6
  939. package/js/src/static_dependencies/proxies/https-proxy-agent/index.js +0 -6
  940. package/js/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +0 -6
  941. package/js/src/static_dependencies/qs/formats.js +0 -6
  942. package/js/src/static_dependencies/qs/index.js +0 -6
  943. package/js/src/static_dependencies/qs/parse.js +0 -6
  944. package/js/src/static_dependencies/qs/stringify.js +0 -6
  945. package/js/src/static_dependencies/qs/utils.js +0 -6
  946. package/js/src/static_dependencies/scure-base/index.js +0 -6
  947. package/js/src/static_dependencies/scure-bip32/index.d.ts +49 -0
  948. package/js/src/static_dependencies/scure-bip32/index.js +289 -0
  949. package/js/src/static_dependencies/scure-bip39/index.d.ts +54 -0
  950. package/js/src/static_dependencies/scure-bip39/index.js +134 -0
  951. package/js/src/static_dependencies/scure-bip39/wordlists/english.d.ts +1 -0
  952. package/js/src/static_dependencies/scure-bip39/wordlists/english.js +2048 -0
  953. package/js/src/static_dependencies/scure-starknet/index.js +0 -6
  954. package/js/src/static_dependencies/starknet/constants.js +0 -6
  955. package/js/src/static_dependencies/starknet/index.js +0 -6
  956. package/js/src/static_dependencies/starknet/types/cairoEnum.js +0 -6
  957. package/js/src/static_dependencies/starknet/types/calldata.js +0 -6
  958. package/js/src/static_dependencies/starknet/types/index.js +0 -6
  959. package/js/src/static_dependencies/starknet/types/lib/contract/abi.js +0 -6
  960. package/js/src/static_dependencies/starknet/types/lib/contract/index.js +0 -6
  961. package/js/src/static_dependencies/starknet/types/lib/contract/legacy.js +0 -6
  962. package/js/src/static_dependencies/starknet/types/lib/contract/sierra.js +0 -6
  963. package/js/src/static_dependencies/starknet/types/lib/index.js +0 -6
  964. package/js/src/static_dependencies/starknet/types/typedData.js +0 -6
  965. package/js/src/static_dependencies/starknet/utils/address.js +0 -6
  966. package/js/src/static_dependencies/starknet/utils/assert.js +0 -6
  967. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +0 -6
  968. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +0 -6
  969. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +0 -6
  970. package/js/src/static_dependencies/starknet/utils/calldata/byteArray.js +0 -6
  971. package/js/src/static_dependencies/starknet/utils/calldata/cairo.js +0 -6
  972. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +0 -6
  973. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +0 -6
  974. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +0 -6
  975. package/js/src/static_dependencies/starknet/utils/calldata/enum/index.js +0 -6
  976. package/js/src/static_dependencies/starknet/utils/calldata/formatter.js +0 -6
  977. package/js/src/static_dependencies/starknet/utils/calldata/index.js +0 -6
  978. package/js/src/static_dependencies/starknet/utils/calldata/parser/index.js +0 -6
  979. package/js/src/static_dependencies/starknet/utils/calldata/parser/interface.js +0 -6
  980. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +0 -6
  981. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +0 -6
  982. package/js/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +0 -6
  983. package/js/src/static_dependencies/starknet/utils/calldata/requestParser.js +0 -6
  984. package/js/src/static_dependencies/starknet/utils/calldata/responseParser.js +0 -6
  985. package/js/src/static_dependencies/starknet/utils/calldata/tuple.js +0 -6
  986. package/js/src/static_dependencies/starknet/utils/calldata/validate.js +0 -6
  987. package/js/src/static_dependencies/starknet/utils/encode.js +0 -6
  988. package/js/src/static_dependencies/starknet/utils/hash/classHash.js +0 -6
  989. package/js/src/static_dependencies/starknet/utils/hash/index.js +0 -6
  990. package/js/src/static_dependencies/starknet/utils/merkle.js +0 -6
  991. package/js/src/static_dependencies/starknet/utils/num.js +0 -6
  992. package/js/src/static_dependencies/starknet/utils/selector.js +0 -6
  993. package/js/src/static_dependencies/starknet/utils/shortString.js +0 -6
  994. package/js/src/static_dependencies/starknet/utils/starknetId.js +0 -6
  995. package/js/src/static_dependencies/starknet/utils/typedData.js +0 -6
  996. package/js/src/static_dependencies/starknet/utils/uint256.js +0 -6
  997. package/js/src/static_dependencies/starknet/utils/url.js +0 -6
  998. package/js/src/static_dependencies/watchable/src/index.js +0 -6
  999. package/js/src/static_dependencies/watchable/src/types.js +0 -6
  1000. package/js/src/static_dependencies/watchable/src/unpromise.js +0 -6
  1001. package/js/src/static_dependencies/zklink/zklink-sdk-web.js +0 -6
  1002. package/js/src/timex.js +0 -6
  1003. package/js/src/tokocrypto.js +0 -6
  1004. package/js/src/toobit.js +2 -7
  1005. package/js/src/upbit.js +0 -6
  1006. package/js/src/wavesexchange.js +0 -6
  1007. package/js/src/whitebit.js +0 -6
  1008. package/js/src/woo.js +0 -6
  1009. package/js/src/woofipro.js +0 -6
  1010. package/js/src/xt.js +0 -6
  1011. package/js/src/yobit.js +0 -6
  1012. package/js/src/zaif.js +0 -6
  1013. package/js/src/zonda.js +0 -6
  1014. package/package.json +9 -3
@@ -0,0 +1,1218 @@
1
+ // ---------------------------------------------------------------------------
2
+ import deepcoinRest from '../deepcoin.js';
3
+ import { BadRequest, ExchangeError } from '../base/errors.js';
4
+ import { ArrayCache, ArrayCacheBySymbolById, ArrayCacheBySymbolBySide, ArrayCacheByTimestamp } from '../base/ws/Cache.js';
5
+ // ---------------------------------------------------------------------------
6
+ export default class deepcoin extends deepcoinRest {
7
+ describe() {
8
+ return this.deepExtend(super.describe(), {
9
+ 'has': {
10
+ 'ws': true,
11
+ 'watchTicker': true,
12
+ 'watchMarkPrice': false,
13
+ 'watchMarkPrices': false,
14
+ 'watchTickers': false,
15
+ 'watchBidsAsks': false,
16
+ 'watchOrderBook': true,
17
+ 'watchTrades': true,
18
+ 'watchTradesForSymbols': false,
19
+ 'watchOrderBookForSymbols': false,
20
+ 'watchBalance': false,
21
+ 'watchLiquidations': false,
22
+ 'watchLiquidationsForSymbols': false,
23
+ 'watchMyLiquidations': false,
24
+ 'watchMyLiquidationsForSymbols': false,
25
+ 'watchOHLCV': true,
26
+ 'watchOHLCVForSymbols': false,
27
+ 'watchOrders': true,
28
+ 'watchMyTrades': true,
29
+ 'watchPositions': true,
30
+ 'watchFundingRate': false,
31
+ 'watchFundingRates': false,
32
+ 'createOrderWs': false,
33
+ 'editOrderWs': false,
34
+ 'cancelOrderWs': false,
35
+ 'cancelOrdersWs': false,
36
+ 'cancelAllOrdersWs': false,
37
+ 'unWatchTicker': true,
38
+ 'unWatchTrades': true,
39
+ 'unWatchOHLCV': true,
40
+ 'unWatchOrderBook': true,
41
+ },
42
+ 'urls': {
43
+ 'api': {
44
+ 'ws': {
45
+ 'public': {
46
+ 'spot': 'wss://stream.deepcoin.com/streamlet/trade/public/spot?platform=api',
47
+ 'swap': 'wss://stream.deepcoin.com/streamlet/trade/public/swap?platform=api',
48
+ },
49
+ 'private': 'wss://stream.deepcoin.com/v1/private',
50
+ },
51
+ },
52
+ },
53
+ 'options': {
54
+ 'lastRequestId': undefined,
55
+ 'listenKey': undefined,
56
+ 'listenKeyExpiryTimestamp': undefined,
57
+ 'authenticate': {
58
+ 'method': 'privateGetDeepcoinListenkeyExtend', // refresh existing listen key or 'privateGetDeepcoinListenkeyAcquire' - get a new one
59
+ },
60
+ 'timeframes': {
61
+ '1m': '1m',
62
+ '5m': '5m',
63
+ '15m': '15m',
64
+ '30m': '30m',
65
+ '1h': '1h',
66
+ '4h': '4h',
67
+ '12h': '12h',
68
+ '1d': '1d',
69
+ '1w': '1w',
70
+ '1M': '1o',
71
+ '1y': '1y',
72
+ },
73
+ },
74
+ 'streaming': {
75
+ 'ping': this.ping,
76
+ },
77
+ });
78
+ }
79
+ ping(client) {
80
+ const url = client.url;
81
+ if (url.indexOf('private') >= 0) {
82
+ client.lastPong = this.milliseconds();
83
+ // prevent automatic disconnects on private channel
84
+ }
85
+ return 'ping';
86
+ }
87
+ handlePong(client, message) {
88
+ client.lastPong = this.milliseconds();
89
+ return message;
90
+ }
91
+ requestId() {
92
+ const previousValue = this.safeInteger(this.options, 'lastRequestId', 0);
93
+ const newValue = this.sum(previousValue, 1);
94
+ this.options['lastRequestId'] = newValue;
95
+ return newValue;
96
+ }
97
+ createPublicRequest(market, requestId, topicID, suffix = '', unWatch = false) {
98
+ let marketId = market['symbol']; // spot markets use symbol with slash
99
+ if (market['type'] === 'swap') {
100
+ marketId = market['baseId'] + market['quoteId']; // swap markets use symbol without slash
101
+ }
102
+ let action = '1'; // subscribe
103
+ if (unWatch) {
104
+ action = '0'; // unsubscribe
105
+ }
106
+ const request = {
107
+ 'sendTopicAction': {
108
+ 'Action': action,
109
+ 'FilterValue': 'DeepCoin_' + marketId + suffix,
110
+ 'LocalNo': requestId,
111
+ 'ResumeNo': -1,
112
+ 'TopicID': topicID,
113
+ },
114
+ };
115
+ return request;
116
+ }
117
+ async watchPublic(market, messageHash, topicID, params = {}, suffix = '') {
118
+ const url = this.urls['api']['ws']['public'][market['type']];
119
+ const requestId = this.requestId();
120
+ const request = this.createPublicRequest(market, requestId, topicID, suffix);
121
+ const subscription = {
122
+ 'subHash': messageHash,
123
+ 'id': requestId,
124
+ };
125
+ return await this.watch(url, messageHash, this.deepExtend(request, params), messageHash, subscription);
126
+ }
127
+ async unWatchPublic(market, messageHash, topicID, params = {}, subscription = {}, suffix = '') {
128
+ const url = this.urls['api']['ws']['public'][market['type']];
129
+ const requestId = this.requestId();
130
+ const client = this.client(url);
131
+ const existingSubscription = this.safeDict(client.subscriptions, messageHash);
132
+ if (existingSubscription === undefined) {
133
+ throw new BadRequest(this.id + ' no subscription for ' + messageHash);
134
+ }
135
+ const subId = this.safeInteger(existingSubscription, 'id');
136
+ const request = this.createPublicRequest(market, subId, topicID, suffix, true); // unsubscribe message uses the same id as the original subscribe message
137
+ const unsubHash = 'unsubscribe::' + messageHash;
138
+ subscription = this.extend(subscription, {
139
+ 'subHash': messageHash,
140
+ 'unsubHash': unsubHash,
141
+ 'symbols': [market['symbol']],
142
+ 'id': requestId,
143
+ });
144
+ return await this.watch(url, unsubHash, this.deepExtend(request, params), unsubHash, subscription);
145
+ }
146
+ async watchPrivate(messageHash, params = {}) {
147
+ const listenKey = await this.authenticate();
148
+ const url = this.urls['api']['ws']['private'] + '?listenKey=' + listenKey;
149
+ return await this.watch(url, messageHash, undefined, 'private', params);
150
+ }
151
+ async authenticate(params = {}) {
152
+ this.checkRequiredCredentials();
153
+ const time = this.milliseconds();
154
+ let listenKeyExpiryTimestamp = this.safeInteger(this.options, 'listenKeyExpiryTimestamp', time);
155
+ const expired = (time - listenKeyExpiryTimestamp) > 60000; // 1 minute before expiry
156
+ let listenKey = this.safeString(this.options, 'listenKey');
157
+ let response = undefined;
158
+ if (listenKey === undefined) {
159
+ response = await this.privateGetDeepcoinListenkeyAcquire(params);
160
+ }
161
+ else if (expired) {
162
+ const method = this.safeString(this.options, 'method', 'privateGetDeepcoinListenkeyExtend');
163
+ const getNewKey = (method === 'privateGetDeepcoinListenkeyAcquire');
164
+ if (getNewKey) {
165
+ response = await this.privateGetDeepcoinListenkeyAcquire(params);
166
+ }
167
+ else {
168
+ const request = {
169
+ 'listenkey': listenKey,
170
+ };
171
+ response = await this.privateGetDeepcoinListenkeyExtend(this.extend(request, params));
172
+ }
173
+ }
174
+ if (response !== undefined) {
175
+ const data = this.safeDict(response, 'data', {});
176
+ listenKey = this.safeString(data, 'listenkey');
177
+ listenKeyExpiryTimestamp = this.safeTimestamp(data, 'expire_time');
178
+ this.options['listenKey'] = listenKey;
179
+ this.options['listenKeyExpiryTimestamp'] = listenKeyExpiryTimestamp;
180
+ }
181
+ return listenKey;
182
+ }
183
+ /**
184
+ * @method
185
+ * @name deepcoin#watchTicker
186
+ * @description watches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
187
+ * @see https://www.deepcoin.com/docs/publicWS/latestMarketData
188
+ * @param {string} symbol unified symbol of the market to fetch the ticker for
189
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
190
+ * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
191
+ */
192
+ async watchTicker(symbol, params = {}) {
193
+ await this.loadMarkets();
194
+ const market = this.market(symbol);
195
+ const messageHash = 'ticker' + '::' + market['symbol'];
196
+ return await this.watchPublic(market, messageHash, '7', params);
197
+ }
198
+ /**
199
+ * @method
200
+ * @name deepcoin#unWatchTicker
201
+ * @description unWatches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
202
+ * @see https://www.deepcoin.com/docs/publicWS/latestMarketData
203
+ * @param {string} symbol unified symbol of the market to fetch the ticker for
204
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
205
+ * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
206
+ */
207
+ async unWatchTicker(symbol, params = {}) {
208
+ await this.loadMarkets();
209
+ const market = this.market(symbol);
210
+ const messageHash = 'ticker' + '::' + market['symbol'];
211
+ const subscription = {
212
+ 'topic': 'ticker',
213
+ };
214
+ return await this.unWatchPublic(market, messageHash, '7', params, subscription);
215
+ }
216
+ handleTicker(client, message) {
217
+ //
218
+ // a: 'PO',
219
+ // m: 'Success',
220
+ // tt: 1760913034780,
221
+ // mt: 1760913034780,
222
+ // r: [
223
+ // {
224
+ // d: {
225
+ // I: 'BTC/USDT',
226
+ // U: 1760913034742,
227
+ // PF: 0,
228
+ // E: 0,
229
+ // O: 108479.9,
230
+ // H: 109449.9,
231
+ // L: 108238,
232
+ // V: 789.3424915,
233
+ // T: 43003872.3705223,
234
+ // N: 109345,
235
+ // M: 87294.7,
236
+ // D: 0,
237
+ // V2: 3086.4496105,
238
+ // T2: 332811624.339836,
239
+ // F: 0,
240
+ // C: 0,
241
+ // BP1: 109344.9,
242
+ // AP1: 109345.2
243
+ // }
244
+ // }
245
+ // ]
246
+ //
247
+ const response = this.safeList(message, 'r', []);
248
+ const first = this.safeDict(response, 0, {});
249
+ const data = this.safeDict(first, 'd', {});
250
+ const marketId = this.safeString(data, 'I');
251
+ const market = this.safeMarket(marketId, undefined, '/');
252
+ const symbol = this.safeSymbol(marketId, market);
253
+ const parsedTicker = this.parseWsTicker(data, market);
254
+ const messageHash = 'ticker' + '::' + symbol;
255
+ this.tickers[symbol] = parsedTicker;
256
+ client.resolve(parsedTicker, messageHash);
257
+ }
258
+ parseWsTicker(ticker, market = undefined) {
259
+ //
260
+ // {
261
+ // I: 'BTC/USDT',
262
+ // U: 1760913034742,
263
+ // PF: 0,
264
+ // E: 0,
265
+ // O: 108479.9,
266
+ // H: 109449.9,
267
+ // L: 108238,
268
+ // V: 789.3424915,
269
+ // T: 43003872.3705223,
270
+ // N: 109345,
271
+ // M: 87294.7,
272
+ // D: 0,
273
+ // V2: 3086.4496105,
274
+ // T2: 332811624.339836,
275
+ // F: 0,
276
+ // C: 0,
277
+ // BP1: 109344.9,
278
+ // AP1: 109345.2
279
+ // }
280
+ //
281
+ const timestamp = this.safeInteger(ticker, 'U');
282
+ const high = this.safeNumber(ticker, 'H');
283
+ const low = this.safeNumber(ticker, 'L');
284
+ const open = this.safeNumber(ticker, 'O');
285
+ const last = this.safeNumber(ticker, 'N');
286
+ const bid = this.safeNumber(ticker, 'BP1');
287
+ const ask = this.safeNumber(ticker, 'AP1');
288
+ let baseVolume = this.safeNumber(ticker, 'V');
289
+ let quoteVolume = this.safeNumber(ticker, 'T');
290
+ if (market['inverse']) {
291
+ const temp = baseVolume;
292
+ baseVolume = quoteVolume;
293
+ quoteVolume = temp;
294
+ }
295
+ return this.safeTicker({
296
+ 'symbol': market['symbol'],
297
+ 'timestamp': timestamp,
298
+ 'datetime': this.iso8601(timestamp),
299
+ 'high': high,
300
+ 'low': low,
301
+ 'bid': bid,
302
+ 'bidVolume': undefined,
303
+ 'ask': ask,
304
+ 'askVolume': undefined,
305
+ 'vwap': undefined,
306
+ 'open': open,
307
+ 'close': last,
308
+ 'last': last,
309
+ 'previousClose': undefined,
310
+ 'change': undefined,
311
+ 'percentage': undefined,
312
+ 'average': undefined,
313
+ 'baseVolume': baseVolume,
314
+ 'quoteVolume': quoteVolume,
315
+ 'info': ticker,
316
+ }, market);
317
+ }
318
+ /**
319
+ * @method
320
+ * @name deepcoin#watchTrades
321
+ * @description watches information on multiple trades made in a market
322
+ * @see https://www.deepcoin.com/docs/publicWS/lastTransactions
323
+ * @param {string} symbol unified market symbol of the market trades were made in
324
+ * @param {int} [since] the earliest time in ms to fetch orders for
325
+ * @param {int} [limit] the maximum number of trade structures to retrieve
326
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
327
+ * @returns {object[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=trade-structure}
328
+ */
329
+ async watchTrades(symbol, since = undefined, limit = undefined, params = {}) {
330
+ await this.loadMarkets();
331
+ const market = this.market(symbol);
332
+ const messageHash = 'trades' + '::' + market['symbol'];
333
+ const trades = await this.watchPublic(market, messageHash, '2', params);
334
+ if (this.newUpdates) {
335
+ limit = trades.getLimit(symbol, limit);
336
+ }
337
+ return this.filterBySinceLimit(trades, since, limit, 'timestamp', true);
338
+ }
339
+ /**
340
+ * @method
341
+ * @name deepcoin#unWatchTrades
342
+ * @description unWatches the list of most recent trades for a particular symbol
343
+ * @see https://www.deepcoin.com/docs/publicWS/lastTransactions
344
+ * @param {string} symbol unified symbol of the market to fetch trades for
345
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
346
+ * @returns {object[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=public-trades}
347
+ */
348
+ async unWatchTrades(symbol, params = {}) {
349
+ await this.loadMarkets();
350
+ const market = this.market(symbol);
351
+ const messageHash = 'trades' + '::' + market['symbol'];
352
+ const subscription = {
353
+ 'topic': 'trades',
354
+ };
355
+ return await this.unWatchPublic(market, messageHash, '2', params, subscription);
356
+ }
357
+ handleTrades(client, message) {
358
+ //
359
+ // {
360
+ // "a": "PMT",
361
+ // "b": 0,
362
+ // "tt": 1760968672380,
363
+ // "mt": 1760968672380,
364
+ // "r": [
365
+ // {
366
+ // "d": {
367
+ // "TradeID": "1001056452325378",
368
+ // "I": "BTC/USDT",
369
+ // "D": "1",
370
+ // "P": 111061,
371
+ // "V": 0.00137,
372
+ // "T": 1760968672
373
+ // }
374
+ // }
375
+ // ]
376
+ // }
377
+ //
378
+ const response = this.safeList(message, 'r', []);
379
+ const first = this.safeDict(response, 0, {});
380
+ const data = this.safeDict(first, 'd', {});
381
+ const marketId = this.safeString(data, 'I');
382
+ const market = this.safeMarket(marketId, undefined, '/');
383
+ const symbol = this.safeSymbol(marketId, market);
384
+ if (!(symbol in this.trades)) {
385
+ const limit = this.safeInteger(this.options, 'tradesLimit', 1000);
386
+ this.trades[symbol] = new ArrayCache(limit);
387
+ }
388
+ const strored = this.trades[symbol];
389
+ if (data !== undefined) {
390
+ const trade = this.parseWsTrade(data, market);
391
+ strored.append(trade);
392
+ }
393
+ const messageHash = 'trades' + '::' + symbol;
394
+ client.resolve(strored, messageHash);
395
+ }
396
+ parseWsTrade(trade, market = undefined) {
397
+ //
398
+ // watchTrades
399
+ // {
400
+ // "TradeID": "1001056452325378",
401
+ // "I": "BTC/USDT",
402
+ // "D": "1",
403
+ // "P": 111061,
404
+ // "V": 0.00137,
405
+ // "T": 1760968672
406
+ // }
407
+ //
408
+ // watchMyTrades
409
+ // {
410
+ // "A": "9256245",
411
+ // "CC": "USDT",
412
+ // "CP": 0,
413
+ // "D": "0",
414
+ // "F": 0.152,
415
+ // "I": "DOGE/USDT",
416
+ // "IT": 1761048103,
417
+ // "M": "9256245",
418
+ // "OS": "1001437462198486",
419
+ // "P": 0.19443,
420
+ // "T": 14.77668,
421
+ // "TI": "1001056459096708",
422
+ // "TT": 1761048103,
423
+ // "V": 76,
424
+ // "f": "DOGE",
425
+ // "l": 1,
426
+ // "m": "1",
427
+ // "o": "0"
428
+ // }
429
+ //
430
+ const direction = this.safeString(trade, 'D');
431
+ const timestamp = this.safeTimestamp2(trade, 'TT', 'T');
432
+ const matchRole = this.safeString(trade, 'm');
433
+ let fee = undefined;
434
+ const feeCost = this.safeString(trade, 'F');
435
+ if (feeCost !== undefined) {
436
+ fee = {
437
+ 'cost': feeCost,
438
+ 'currency': this.safeCurrencyCode(this.safeString(trade, 'f')),
439
+ };
440
+ }
441
+ return this.safeTrade({
442
+ 'info': trade,
443
+ 'timestamp': timestamp,
444
+ 'datetime': this.iso8601(timestamp),
445
+ 'symbol': market['symbol'],
446
+ 'id': this.safeString2(trade, 'TradeID', 'TI'),
447
+ 'order': this.safeString(trade, 'OS'),
448
+ 'type': undefined,
449
+ 'takerOrMaker': this.handleTakerOrMaker(matchRole),
450
+ 'side': this.parseTradeSide(direction),
451
+ 'price': this.safeString(trade, 'P'),
452
+ 'amount': this.safeString(trade, 'V'),
453
+ 'cost': this.safeString(trade, 'T'),
454
+ 'fee': fee,
455
+ }, market);
456
+ }
457
+ parseTradeSide(direction) {
458
+ const sides = {
459
+ '0': 'buy',
460
+ '1': 'sell',
461
+ };
462
+ return this.safeString(sides, direction, direction);
463
+ }
464
+ handleTakerOrMaker(matchRole) {
465
+ const roles = {
466
+ '0': 'maker',
467
+ '1': 'taker',
468
+ };
469
+ return this.safeString(roles, matchRole, matchRole);
470
+ }
471
+ /**
472
+ * @method
473
+ * @name deepcoin#watchOHLCV
474
+ * @description watches historical candlestick data containing the open, high, low, and close price, and the volume of a market
475
+ * @see https://www.deepcoin.com/docs/publicWS/KLines
476
+ * @param {string} symbol unified symbol of the market to fetch OHLCV data for
477
+ * @param {string} [timeframe] the length of time each candle represents
478
+ * @param {int} [since] timestamp in ms of the earliest candle to fetch
479
+ * @param {int} [limit] the maximum amount of candles to fetch
480
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
481
+ * @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
482
+ */
483
+ async watchOHLCV(symbol, timeframe = '1m', since = undefined, limit = undefined, params = {}) {
484
+ await this.loadMarkets();
485
+ const market = this.market(symbol);
486
+ symbol = market['symbol'];
487
+ const timeframes = this.safeDict(this.options, 'timeframes', {});
488
+ const interval = this.safeString(timeframes, timeframe, timeframe);
489
+ const messageHash = 'ohlcv' + '::' + symbol + '::' + timeframe;
490
+ const suffix = '_' + interval;
491
+ const ohlcv = await this.watchPublic(market, messageHash, '11', params, suffix);
492
+ if (this.newUpdates) {
493
+ limit = ohlcv.getLimit(symbol, limit);
494
+ }
495
+ return this.filterBySinceLimit(ohlcv, since, limit, 0, true);
496
+ }
497
+ /**
498
+ * @method
499
+ * @name deepcoin#unWatchOHLCV
500
+ * @description watches historical candlestick data containing the open, high, low, and close price, and the volume of a market
501
+ * @see https://docs.backpack.exchange/#tag/Streams/Public/K-Line
502
+ * @param {string} symbol unified symbol of the market to fetch OHLCV data for
503
+ * @param {string} [timeframe] the length of time each candle represents
504
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
505
+ * @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
506
+ */
507
+ async unWatchOHLCV(symbol, timeframe = '1m', params = {}) {
508
+ await this.loadMarkets();
509
+ const market = this.market(symbol);
510
+ symbol = market['symbol'];
511
+ const timeframes = this.safeDict(this.options, 'timeframes', {});
512
+ const interval = this.safeString(timeframes, timeframe, timeframe);
513
+ const messageHash = 'ohlcv' + '::' + symbol + '::' + timeframe;
514
+ const suffix = '_' + interval;
515
+ const subscription = {
516
+ 'topic': 'ohlcv',
517
+ 'symbolsAndTimeframes': [[symbol, timeframe]],
518
+ };
519
+ return await this.unWatchPublic(market, messageHash, '11', params, subscription, suffix);
520
+ }
521
+ handleOHLCV(client, message) {
522
+ //
523
+ // {
524
+ // "a": "PK",
525
+ // "tt": 1760972831580,
526
+ // "mt": 1760972831580,
527
+ // "r": [
528
+ // {
529
+ // "d": {
530
+ // "I": "BTC/USDT",
531
+ // "P": "1m",
532
+ // "B": 1760972820,
533
+ // "O": 111373,
534
+ // "C": 111382.9,
535
+ // "H": 111382.9,
536
+ // "L": 111373,
537
+ // "V": 0.2414172,
538
+ // "M": 26888.19693324
539
+ // },
540
+ // "t": "LK"
541
+ // }
542
+ // ]
543
+ // }
544
+ //
545
+ const response = this.safeList(message, 'r', []);
546
+ const first = this.safeDict(response, 0, {});
547
+ const data = this.safeDict(first, 'd', {});
548
+ const marketId = this.safeString(data, 'I');
549
+ const market = this.safeMarket(marketId, undefined, '/');
550
+ const symbol = this.safeSymbol(marketId, market);
551
+ const interval = this.safeString(data, 'P');
552
+ const timeframe = this.findTimeframe(interval);
553
+ if (!(symbol in this.ohlcvs)) {
554
+ this.ohlcvs[symbol] = {};
555
+ }
556
+ if (!(timeframe in this.ohlcvs[symbol])) {
557
+ const limit = this.safeInteger(this.options, 'OHLCVLimit', 1000);
558
+ this.ohlcvs[symbol][timeframe] = new ArrayCacheByTimestamp(limit);
559
+ }
560
+ const stored = this.ohlcvs[symbol][timeframe];
561
+ if (data !== undefined) {
562
+ const ohlcv = this.parseWsOHLCV(data, market);
563
+ stored.append(ohlcv);
564
+ }
565
+ const messageHash = 'ohlcv' + '::' + symbol + '::' + timeframe;
566
+ client.resolve(stored, messageHash);
567
+ }
568
+ parseWsOHLCV(ohlcv, market = undefined) {
569
+ //
570
+ // {
571
+ // "I": "BTC/USDT",
572
+ // "P": "1m",
573
+ // "B": 1760972820,
574
+ // "O": 111373,
575
+ // "C": 111382.9,
576
+ // "H": 111382.9,
577
+ // "L": 111373,
578
+ // "V": 0.2414172,
579
+ // "M": 26888.19693324
580
+ // }
581
+ //
582
+ return [
583
+ this.safeTimestamp(ohlcv, 'B'),
584
+ this.safeNumber(ohlcv, 'O'),
585
+ this.safeNumber(ohlcv, 'H'),
586
+ this.safeNumber(ohlcv, 'L'),
587
+ this.safeNumber(ohlcv, 'C'),
588
+ this.safeNumber(ohlcv, 'V'),
589
+ ];
590
+ }
591
+ /**
592
+ * @method
593
+ * @name deepcoin#watchOrderBook
594
+ * @description watches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
595
+ * @see https://www.deepcoin.com/docs/publicWS/25LevelIncrementalMarketData
596
+ * @param {string} symbol unified symbol of the market to fetch the order book for
597
+ * @param {int} [limit] the maximum amount of order book entries to return.
598
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
599
+ * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
600
+ */
601
+ async watchOrderBook(symbol, limit = undefined, params = {}) {
602
+ await this.loadMarkets();
603
+ const market = this.market(symbol);
604
+ const messageHash = 'orderbook' + '::' + market['symbol'];
605
+ const suffix = '_0.1';
606
+ const orderbook = await this.watchPublic(market, messageHash, '25', params, suffix);
607
+ return orderbook.limit();
608
+ }
609
+ /**
610
+ * @method
611
+ * @name deepcoin#unWatchOrderBook
612
+ * @description unWatches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
613
+ * @see https://www.deepcoin.com/docs/publicWS/25LevelIncrementalMarketData
614
+ * @param {string} symbol unified array of symbols
615
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
616
+ * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
617
+ */
618
+ async unWatchOrderBook(symbol, params = {}) {
619
+ await this.loadMarkets();
620
+ const market = this.market(symbol);
621
+ const messageHash = 'orderbook' + '::' + market['symbol'];
622
+ const suffix = '_0.1';
623
+ const subscription = {
624
+ 'topic': 'orderbook',
625
+ };
626
+ return await this.unWatchPublic(market, messageHash, '25', params, subscription, suffix);
627
+ }
628
+ handleOrderBook(client, message) {
629
+ //
630
+ // {
631
+ // "a": "PMO",
632
+ // "t": "i", // i - update, f - snapshot
633
+ // "r": [
634
+ // {
635
+ // "d": { "I": "ETH/USDT", "D": "1", "P": 4021, "V": 54.39979 }
636
+ // },
637
+ // {
638
+ // "d": { "I": "ETH/USDT", "D": "0", "P": 4021.1, "V": 49.56724 }
639
+ // }
640
+ // ],
641
+ // "tt": 1760975816446,
642
+ // "mt": 1760975816446
643
+ // }
644
+ //
645
+ const response = this.safeList(message, 'r', []);
646
+ const first = this.safeDict(response, 0, {});
647
+ const data = this.safeDict(first, 'd', {});
648
+ const marketId = this.safeString(data, 'I');
649
+ const market = this.safeMarket(marketId, undefined, '/');
650
+ const symbol = this.safeSymbol(marketId, market);
651
+ if (!(symbol in this.orderbooks)) {
652
+ this.orderbooks[symbol] = this.orderBook();
653
+ }
654
+ const orderbook = this.orderbooks[symbol];
655
+ const type = this.safeString(message, 't');
656
+ if (orderbook['timestamp'] === undefined) {
657
+ if (type === 'f') {
658
+ // snapshot
659
+ this.handleOrderBookSnapshot(client, message);
660
+ }
661
+ else {
662
+ // cache the updates until the snapshot is received
663
+ orderbook.cache.push(message);
664
+ }
665
+ }
666
+ else {
667
+ this.handleOrderBookMessage(client, message, orderbook);
668
+ const messageHash = 'orderbook' + '::' + symbol;
669
+ client.resolve(orderbook, messageHash);
670
+ }
671
+ }
672
+ handleOrderBookSnapshot(client, message) {
673
+ const entries = this.safeList(message, 'r', []);
674
+ const first = this.safeDict(entries, 0, {});
675
+ const data = this.safeDict(first, 'd', {});
676
+ const marketId = this.safeString(data, 'I');
677
+ const market = this.safeMarket(marketId, undefined, '/');
678
+ const symbol = this.safeSymbol(marketId, market);
679
+ const orderbook = this.orderbooks[symbol];
680
+ const orderedEntries = {
681
+ 'bids': [],
682
+ 'asks': [],
683
+ };
684
+ for (let i = 0; i < entries.length; i++) {
685
+ const entry = entries[i];
686
+ const entryData = this.safeDict(entry, 'd', {});
687
+ const side = this.safeString(entryData, 'D');
688
+ const price = this.safeNumber(entryData, 'P');
689
+ const volume = this.safeNumber(entryData, 'V');
690
+ if (side === '0') {
691
+ // bid
692
+ orderedEntries['bids'].push([price, volume]);
693
+ }
694
+ else if (side === '1') {
695
+ // ask
696
+ orderedEntries['asks'].push([price, volume]);
697
+ }
698
+ }
699
+ const timestamp = this.safeInteger(message, 'mt');
700
+ const snapshot = this.parseOrderBook(orderedEntries, symbol, timestamp);
701
+ orderbook.reset(snapshot);
702
+ const cachedMessages = orderbook.cache;
703
+ for (let j = 0; j < cachedMessages.length; j++) {
704
+ const cachedMessage = cachedMessages[j];
705
+ this.handleOrderBookMessage(client, cachedMessage, orderbook);
706
+ }
707
+ orderbook.cache = [];
708
+ const messageHash = 'orderbook' + '::' + symbol;
709
+ client.resolve(orderbook, messageHash);
710
+ }
711
+ handleOrderBookMessage(client, message, orderbook) {
712
+ // {
713
+ // "a": "PMO",
714
+ // "t": "i", // i - update, f - snapshot
715
+ // "r": [
716
+ // {
717
+ // "d": { "I": "ETH/USDT", "D": "1", "P": 4021, "V": 54.39979 }
718
+ // },
719
+ // {
720
+ // "d": { "I": "ETH/USDT", "D": "0", "P": 4021.1, "V": 49.56724 }
721
+ // }
722
+ // ],
723
+ // "tt": 1760975816446,
724
+ // "mt": 1760975816446
725
+ // }
726
+ //
727
+ const timestamp = this.safeInteger(message, 'mt');
728
+ if (timestamp > orderbook['timestamp']) {
729
+ const response = this.safeList(message, 'r', []);
730
+ this.handleDeltas(orderbook, response);
731
+ orderbook['timestamp'] = timestamp;
732
+ orderbook['datetime'] = this.iso8601(timestamp);
733
+ }
734
+ }
735
+ handleDelta(orderbook, entry) {
736
+ const data = this.safeDict(entry, 'd', {});
737
+ const bids = orderbook['bids'];
738
+ const asks = orderbook['asks'];
739
+ const side = this.safeString(data, 'D');
740
+ const price = this.safeNumber(data, 'P');
741
+ const volume = this.safeNumber(data, 'V');
742
+ if (side === '0') {
743
+ // bid
744
+ bids.store(price, volume);
745
+ }
746
+ else if (side === '1') {
747
+ // ask
748
+ asks.store(price, volume);
749
+ }
750
+ }
751
+ /**
752
+ * @method
753
+ * @name deepcoin#watchMyTrades
754
+ * @description watches information on multiple trades made by the user
755
+ * @see https://www.deepcoin.com/docs/privateWS/Trade
756
+ * @param {string} symbol unified market symbol of the market orders were made in
757
+ * @param {int} [since] the earliest time in ms to fetch orders for
758
+ * @param {int} [limit] the maximum number of order structures to retrieve
759
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
760
+ * @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
761
+ */
762
+ async watchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
763
+ let messageHash = 'myTrades';
764
+ await this.loadMarkets();
765
+ if (symbol !== undefined) {
766
+ symbol = this.symbol(symbol);
767
+ messageHash += '::' + symbol;
768
+ }
769
+ const trades = await this.watchPrivate(messageHash, params);
770
+ if (this.newUpdates) {
771
+ limit = trades.getLimit(symbol, limit);
772
+ }
773
+ return this.filterBySymbolSinceLimit(trades, symbol, since, limit, true);
774
+ }
775
+ handleMyTrade(client, message) {
776
+ //
777
+ // {
778
+ // "action": "PushTrade",
779
+ // "result": [
780
+ // {
781
+ // "table": "Trade",
782
+ // "data": {
783
+ // "A": "9256245",
784
+ // "CC": "USDT",
785
+ // "CP": 0,
786
+ // "D": "0",
787
+ // "F": 0.152,
788
+ // "I": "DOGE/USDT",
789
+ // "IT": 1761048103,
790
+ // "M": "9256245",
791
+ // "OS": "1001437462198486",
792
+ // "P": 0.19443,
793
+ // "T": 14.77668,
794
+ // "TI": "1001056459096708",
795
+ // "TT": 1761048103,
796
+ // "V": 76,
797
+ // "f": "DOGE",
798
+ // "l": 1,
799
+ // "m": "1",
800
+ // "o": "0"
801
+ // }
802
+ // }
803
+ // ]
804
+ // }
805
+ //
806
+ const result = this.safeList(message, 'result', []);
807
+ const first = this.safeDict(result, 0, {});
808
+ const data = this.safeDict(first, 'data', {});
809
+ const marketId = this.safeString(data, 'I');
810
+ const market = this.safeMarket(marketId, undefined, '/');
811
+ const symbol = this.safeSymbol(marketId, market);
812
+ const messageHash = 'myTrades';
813
+ const symbolMessageHash = messageHash + '::' + symbol;
814
+ if ((messageHash in client.futures) || (symbolMessageHash in client.futures)) {
815
+ if (this.myTrades === undefined) {
816
+ const limit = this.safeInteger(this.options, 'tradesLimit', 1000);
817
+ this.myTrades = new ArrayCacheBySymbolById(limit);
818
+ }
819
+ const stored = this.myTrades;
820
+ const parsed = this.parseWsTrade(data, market);
821
+ stored.append(parsed);
822
+ client.resolve(stored, messageHash);
823
+ client.resolve(stored, symbolMessageHash);
824
+ }
825
+ }
826
+ /**
827
+ * @method
828
+ * @name deepcoin#watchOrders
829
+ * @description watches information on multiple orders made by the user
830
+ * @see https://www.deepcoin.com/docs/privateWS/order
831
+ * @param {string} symbol unified market symbol of the market orders were made in
832
+ * @param {int} [since] the earliest time in ms to fetch orders for
833
+ * @param {int} [limit] the maximum number of order structures to retrieve
834
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
835
+ * @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
836
+ */
837
+ async watchOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
838
+ let messageHash = 'orders';
839
+ await this.loadMarkets();
840
+ if (symbol !== undefined) {
841
+ symbol = this.symbol(symbol);
842
+ messageHash += '::' + symbol;
843
+ }
844
+ const orders = await this.watchPrivate(messageHash, params);
845
+ if (this.newUpdates) {
846
+ limit = orders.getLimit(symbol, limit);
847
+ }
848
+ return this.filterBySymbolSinceLimit(orders, symbol, since, limit, true);
849
+ }
850
+ handleOrder(client, message) {
851
+ //
852
+ // {
853
+ // "action": "PushOrder",
854
+ // "result": [
855
+ // {
856
+ // "table": "Order",
857
+ // "data": {
858
+ // "D": "0",
859
+ // "I": "DOGE/USDT",
860
+ // "IT": 1761051006,
861
+ // "L": "1001437480817468",
862
+ // "OPT": "4",
863
+ // "OS": "1001437480817468",
864
+ // "OT": "0",
865
+ // "Or": "1",
866
+ // "P": 0.19537,
867
+ // "T": 14.84128,
868
+ // "U": 1761051006,
869
+ // "V": 76,
870
+ // "VT": 76,
871
+ // "i": 1,
872
+ // "l": 1,
873
+ // "o": "0",
874
+ // "p": "0",
875
+ // "t": 0.19528
876
+ // }
877
+ // }
878
+ // ]
879
+ // }
880
+ //
881
+ const result = this.safeList(message, 'result', []);
882
+ const first = this.safeDict(result, 0, {});
883
+ const data = this.safeDict(first, 'data', {});
884
+ const marketId = this.safeString(data, 'I');
885
+ const market = this.safeMarket(marketId, undefined, '/');
886
+ const symbol = this.safeSymbol(marketId, market);
887
+ const messageHash = 'orders';
888
+ const symbolMessageHash = messageHash + '::' + symbol;
889
+ if ((messageHash in client.futures) || (symbolMessageHash in client.futures)) {
890
+ if (this.orders === undefined) {
891
+ const limit = this.safeInteger(this.options, 'ordersLimit', 1000);
892
+ this.orders = new ArrayCacheBySymbolById(limit);
893
+ }
894
+ const parsed = this.parseWsOrder(data, market);
895
+ this.orders.append(parsed);
896
+ client.resolve(this.orders, messageHash);
897
+ client.resolve(this.orders, symbolMessageHash);
898
+ }
899
+ }
900
+ parseWsOrder(order, market = undefined) {
901
+ //
902
+ // {
903
+ // "D": "0",
904
+ // "I": "DOGE/USDT",
905
+ // "IT": 1761051006,
906
+ // "L": "1001437480817468",
907
+ // "OPT": "4",
908
+ // "OS": "1001437480817468",
909
+ // "OT": "0",
910
+ // "Or": "1",
911
+ // "P": 0.19537,
912
+ // "T": 14.84128,
913
+ // "U": 1761051006,
914
+ // "V": 76,
915
+ // "VT": 76,
916
+ // "i": 1,
917
+ // "l": 1,
918
+ // "o": "0",
919
+ // "p": "0",
920
+ // "t": 0.19528
921
+ // }
922
+ //
923
+ const state = this.safeString(order, 'Or');
924
+ const timestamp = this.safeTimestamp(order, 'IT');
925
+ const direction = this.safeString(order, 'D');
926
+ return this.safeOrder({
927
+ 'id': this.safeString(order, 'OS'),
928
+ 'clientOrderId': undefined,
929
+ 'datetime': this.iso8601(timestamp),
930
+ 'timestamp': timestamp,
931
+ 'lastTradeTimestamp': undefined,
932
+ 'lastUpdateTimestamp': this.safeTimestamp(order, 'U'),
933
+ 'status': this.parseWsOrderStatus(state),
934
+ 'symbol': market['symbol'],
935
+ 'type': undefined,
936
+ 'timeInForce': undefined,
937
+ 'side': this.parseTradeSide(direction),
938
+ 'price': this.safeString(order, 'P'),
939
+ 'average': this.safeString(order, 't'),
940
+ 'amount': this.safeString(order, 'V'),
941
+ 'filled': this.safeString(order, 'VT'),
942
+ 'remaining': undefined,
943
+ 'triggerPrice': undefined,
944
+ 'takeProfitPrice': this.safeString(order, 'TPT'),
945
+ 'stopLossPrice': this.safeString(order, 'SLT'),
946
+ 'cost': this.safeString(order, 'T'),
947
+ 'trades': undefined,
948
+ 'fee': undefined,
949
+ 'reduceOnly': undefined,
950
+ 'postOnly': undefined,
951
+ 'info': order,
952
+ }, market);
953
+ }
954
+ parseWsOrderStatus(status) {
955
+ const statuses = {
956
+ '1': 'closed',
957
+ '4': 'open',
958
+ '6': 'canceled',
959
+ };
960
+ return this.safeString(statuses, status, status);
961
+ }
962
+ /**
963
+ * @method
964
+ * @name deepcoin#watchPositions
965
+ * @description watch all open positions
966
+ * @see https://www.deepcoin.com/docs/privateWS/Position
967
+ * @param {string[]} [symbols] list of unified market symbols to watch positions for
968
+ * @param {int} [since] the earliest time in ms to fetch positions for
969
+ * @param {int} [limit] the maximum number of positions to retrieve
970
+ * @param {object} params extra parameters specific to the exchange API endpoint
971
+ * @returns {object[]} a list of [position structure]{@link https://docs.ccxt.com/en/latest/manual.html#position-structure}
972
+ */
973
+ async watchPositions(symbols = undefined, since = undefined, limit = undefined, params = {}) {
974
+ await this.loadMarkets();
975
+ const listenKey = await this.authenticate();
976
+ symbols = this.marketSymbols(symbols);
977
+ const messageHash = 'positions';
978
+ const messageHashes = [];
979
+ if (symbols !== undefined) {
980
+ for (let i = 0; i < symbols.length; i++) {
981
+ const symbol = symbols[i];
982
+ const symbolMessageHash = messageHash + '::' + symbol;
983
+ messageHashes.push(symbolMessageHash);
984
+ }
985
+ }
986
+ else {
987
+ messageHashes.push(messageHash);
988
+ }
989
+ const url = this.urls['api']['ws']['private'] + '?listenKey=' + listenKey;
990
+ const positions = await this.watchMultiple(url, messageHashes, params, ['private']);
991
+ if (this.newUpdates) {
992
+ return positions;
993
+ }
994
+ return this.filterBySymbolsSinceLimit(this.positions, symbols, since, limit, true);
995
+ }
996
+ handlePosition(client, message) {
997
+ //
998
+ // {
999
+ // "action": "PushPosition",
1000
+ // "result": [
1001
+ // {
1002
+ // "table": "Position",
1003
+ // "data": {
1004
+ // "A": "9256245",
1005
+ // "CP": 0,
1006
+ // "I": "DOGE/USDT",
1007
+ // "M": "9256245",
1008
+ // "OP": 0.198845,
1009
+ // "Po": 151.696,
1010
+ // "U": 1761058213,
1011
+ // "i": 1,
1012
+ // "l": 1,
1013
+ // "p": "0",
1014
+ // "u": 0
1015
+ // }
1016
+ // }
1017
+ // ]
1018
+ // }
1019
+ //
1020
+ const result = this.safeList(message, 'result', []);
1021
+ const first = this.safeDict(result, 0, {});
1022
+ const data = this.safeDict(first, 'data', {});
1023
+ const marketId = this.safeString(data, 'I');
1024
+ const market = this.safeMarket(marketId, undefined, '/');
1025
+ const symbol = this.safeSymbol(marketId, market);
1026
+ const messageHash = 'positions';
1027
+ const symbolMessageHash = messageHash + '::' + symbol;
1028
+ if ((messageHash in client.futures) || (symbolMessageHash in client.futures)) {
1029
+ if (this.positions === undefined) {
1030
+ this.positions = new ArrayCacheBySymbolBySide();
1031
+ }
1032
+ const parsed = this.parseWsPosition(data, market);
1033
+ this.positions.append(parsed);
1034
+ client.resolve(this.positions, messageHash);
1035
+ client.resolve(this.positions, symbolMessageHash);
1036
+ }
1037
+ }
1038
+ parseWsPosition(position, market = undefined) {
1039
+ //
1040
+ // {
1041
+ // "A": "9256245",
1042
+ // "CP": 0,
1043
+ // "I": "DOGE/USDT",
1044
+ // "M": "9256245",
1045
+ // "OP": 0.198845,
1046
+ // "Po": 151.696,
1047
+ // "U": 1761058213,
1048
+ // "i": 1,
1049
+ // "l": 1,
1050
+ // "p": "0",
1051
+ // "u": 0
1052
+ // }
1053
+ //
1054
+ const timestamp = this.safeInteger(position, 'U');
1055
+ const direction = this.safeString(position, 'p');
1056
+ const marginMode = this.safeString(position, 'i');
1057
+ return this.safePosition({
1058
+ 'symbol': market['symbol'],
1059
+ 'id': undefined,
1060
+ 'timestamp': timestamp,
1061
+ 'datetime': this.iso8601(timestamp),
1062
+ 'contracts': this.safeString(position, 'Po'),
1063
+ 'contractSize': undefined,
1064
+ 'side': this.parsePositionSide(direction),
1065
+ 'notional': undefined,
1066
+ 'leverage': this.omitZero(this.safeString(position, 'l')),
1067
+ 'unrealizedPnl': undefined,
1068
+ 'realizedPnl': undefined,
1069
+ 'collateral': undefined,
1070
+ 'entryPrice': this.safeString(position, 'OP'),
1071
+ 'markPrice': undefined,
1072
+ 'liquidationPrice': undefined,
1073
+ 'marginMode': this.parseWsMarginMode(marginMode),
1074
+ 'hedged': true,
1075
+ 'maintenanceMargin': this.safeString(position, 'u'),
1076
+ 'maintenanceMarginPercentage': undefined,
1077
+ 'initialMargin': undefined,
1078
+ 'initialMarginPercentage': undefined,
1079
+ 'marginRatio': undefined,
1080
+ 'lastUpdateTimestamp': undefined,
1081
+ 'lastPrice': undefined,
1082
+ 'stopLossPrice': undefined,
1083
+ 'takeProfitPrice': undefined,
1084
+ 'percentage': undefined,
1085
+ 'info': position,
1086
+ });
1087
+ }
1088
+ parsePositionSide(direction) {
1089
+ if (direction === undefined) {
1090
+ return direction;
1091
+ }
1092
+ const directions = {
1093
+ '0': 'long',
1094
+ '1': 'short',
1095
+ };
1096
+ return this.safeString(directions, direction, direction);
1097
+ }
1098
+ parseWsMarginMode(marginMode) {
1099
+ if (marginMode === undefined) {
1100
+ return marginMode;
1101
+ }
1102
+ const modes = {
1103
+ '0': 'isolated',
1104
+ '1': 'cross',
1105
+ };
1106
+ return this.safeString(modes, marginMode, marginMode);
1107
+ }
1108
+ handleMessage(client, message) {
1109
+ if (message === 'pong') {
1110
+ this.handlePong(client, message);
1111
+ }
1112
+ else {
1113
+ const m = this.safeString(message, 'm');
1114
+ if ((m !== undefined) && (m !== 'Success')) {
1115
+ this.handleErrorMessage(client, message);
1116
+ }
1117
+ const action = this.safeString2(message, 'a', 'action');
1118
+ if (action === 'RecvTopicAction') {
1119
+ this.handleSubscriptionStatus(client, message);
1120
+ }
1121
+ else if (action === 'PO') {
1122
+ this.handleTicker(client, message);
1123
+ }
1124
+ else if (action === 'PMT') {
1125
+ this.handleTrades(client, message);
1126
+ }
1127
+ else if (action === 'PK') {
1128
+ this.handleOHLCV(client, message);
1129
+ }
1130
+ else if (action === 'PMO') {
1131
+ this.handleOrderBook(client, message);
1132
+ }
1133
+ else if (action === 'PushTrade') {
1134
+ this.handleMyTrade(client, message);
1135
+ }
1136
+ else if (action === 'PushOrder') {
1137
+ this.handleOrder(client, message);
1138
+ }
1139
+ else if (action === 'PushPosition') {
1140
+ this.handlePosition(client, message);
1141
+ }
1142
+ }
1143
+ }
1144
+ handleSubscriptionStatus(client, message) {
1145
+ //
1146
+ // {
1147
+ // "a": "RecvTopicAction",
1148
+ // "m": "Success",
1149
+ // "r": [
1150
+ // {
1151
+ // "d": {
1152
+ // "A": "0",
1153
+ // "L": 1,
1154
+ // "T": "7",
1155
+ // "F": "DeepCoin_BTC/USDT",
1156
+ // "R": -1
1157
+ // }
1158
+ // }
1159
+ // ]
1160
+ // }
1161
+ //
1162
+ const response = this.safeList(message, 'r', []);
1163
+ const first = this.safeDict(response, 0, {});
1164
+ const data = this.safeDict(first, 'd', {});
1165
+ const action = this.safeString(data, 'A'); // 1 = subscribe, 0 = unsubscribe
1166
+ if (action === '0') {
1167
+ const subscriptionsById = this.indexBy(client.subscriptions, 'id');
1168
+ const subId = this.safeInteger(data, 'L');
1169
+ const subscription = this.safeDict(subscriptionsById, subId, {}); // original watch subscription
1170
+ const subHash = this.safeString(subscription, 'subHash');
1171
+ const unsubHash = 'unsubscribe::' + subHash;
1172
+ const unsubsciption = this.safeDict(client.subscriptions, unsubHash, {}); // unWatch subscription
1173
+ this.handleUnSubscription(client, unsubsciption);
1174
+ }
1175
+ }
1176
+ handleUnSubscription(client, subscription) {
1177
+ const subHash = this.safeString(subscription, 'subHash');
1178
+ const unsubHash = this.safeString(subscription, 'unsubHash');
1179
+ this.cleanUnsubscription(client, subHash, unsubHash);
1180
+ this.cleanCache(subscription);
1181
+ }
1182
+ handleErrorMessage(client, message) {
1183
+ //
1184
+ // {
1185
+ // "a": "RecvTopicAction",
1186
+ // "m": "subscription cluster does not "exist": BTC/USD",
1187
+ // "r": [
1188
+ // {
1189
+ // "d": {
1190
+ // "A": "1",
1191
+ // "L": 1,
1192
+ // "T": "7",
1193
+ // "F": "DeepCoin_BTC/USD",
1194
+ // "R": -1
1195
+ // }
1196
+ // }
1197
+ // ]
1198
+ // }
1199
+ //
1200
+ const messageText = this.safeString(message, 'm', '');
1201
+ const response = this.safeList(message, 'r', []);
1202
+ const first = this.safeDict(response, 0, {});
1203
+ const data = this.safeDict(first, 'd', {});
1204
+ const requestId = this.safeInteger(data, 'L');
1205
+ const subscriptionsById = this.indexBy(client.subscriptions, 'id');
1206
+ const subscription = this.safeDict(subscriptionsById, requestId, {});
1207
+ const messageHash = this.safeString(subscription, 'subHash');
1208
+ const feedback = this.id + ' ' + this.json(message);
1209
+ try {
1210
+ this.throwExactlyMatchedException(this.exceptions['exact'], messageText, feedback);
1211
+ this.throwBroadlyMatchedException(this.exceptions['broad'], messageText, feedback);
1212
+ throw new ExchangeError(feedback);
1213
+ }
1214
+ catch (e) {
1215
+ client.reject(e, messageHash);
1216
+ }
1217
+ }
1218
+ }