ccxt 4.4.64 → 4.4.67

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 (932) hide show
  1. package/README.md +13 -9
  2. package/dist/ccxt.browser.min.js +6 -6
  3. package/dist/cjs/ccxt.js +9 -6
  4. package/dist/cjs/src/abstract/ace.js +1 -1
  5. package/dist/cjs/src/abstract/alpaca.js +1 -1
  6. package/dist/cjs/src/abstract/ascendex.js +1 -1
  7. package/dist/cjs/src/abstract/bigone.js +1 -1
  8. package/dist/cjs/src/abstract/binance.js +1 -1
  9. package/dist/cjs/src/abstract/bingx.js +1 -1
  10. package/dist/cjs/src/abstract/bit2c.js +1 -1
  11. package/dist/cjs/src/abstract/bitbank.js +1 -1
  12. package/dist/cjs/src/abstract/bitbns.js +1 -1
  13. package/dist/cjs/src/abstract/bitfinex.js +1 -1
  14. package/dist/cjs/src/abstract/bitfinex1.js +1 -1
  15. package/dist/cjs/src/abstract/bitflyer.js +1 -1
  16. package/dist/cjs/src/abstract/bitget.js +1 -1
  17. package/dist/cjs/src/abstract/bithumb.js +1 -1
  18. package/dist/cjs/src/abstract/bitmart.js +1 -1
  19. package/dist/cjs/src/abstract/bitmex.js +1 -1
  20. package/dist/cjs/src/abstract/bitopro.js +1 -1
  21. package/dist/cjs/src/abstract/bitrue.js +1 -1
  22. package/dist/cjs/src/abstract/bitso.js +1 -1
  23. package/dist/cjs/src/abstract/bitstamp.js +1 -1
  24. package/dist/cjs/src/abstract/bitteam.js +1 -1
  25. package/dist/cjs/src/abstract/bitvavo.js +1 -1
  26. package/dist/cjs/src/abstract/bl3p.js +1 -1
  27. package/dist/cjs/src/abstract/blockchaincom.js +1 -1
  28. package/dist/cjs/src/abstract/blofin.js +1 -1
  29. package/dist/cjs/src/abstract/btcalpha.js +1 -1
  30. package/dist/cjs/src/abstract/btcbox.js +1 -1
  31. package/dist/cjs/src/abstract/btcmarkets.js +1 -1
  32. package/dist/cjs/src/abstract/btcturk.js +1 -1
  33. package/dist/cjs/src/abstract/bybit.js +1 -1
  34. package/dist/cjs/src/abstract/cex.js +1 -1
  35. package/dist/cjs/src/abstract/coinbase.js +1 -1
  36. package/dist/cjs/src/abstract/coinbaseexchange.js +1 -1
  37. package/dist/cjs/src/abstract/coinbaseinternational.js +1 -1
  38. package/dist/cjs/src/abstract/coincatch.js +1 -1
  39. package/dist/cjs/src/abstract/coincheck.js +1 -1
  40. package/dist/cjs/src/abstract/coinex.js +1 -1
  41. package/dist/cjs/src/abstract/coinlist.js +1 -1
  42. package/dist/cjs/src/abstract/coinmate.js +1 -1
  43. package/dist/cjs/src/abstract/coinmetro.js +1 -1
  44. package/dist/cjs/src/abstract/coinone.js +1 -1
  45. package/dist/cjs/src/abstract/coinsph.js +1 -1
  46. package/dist/cjs/src/abstract/coinspot.js +1 -1
  47. package/dist/cjs/src/abstract/cryptocom.js +1 -1
  48. package/dist/cjs/src/abstract/cryptomus.js +9 -0
  49. package/dist/cjs/src/abstract/defx.js +1 -1
  50. package/dist/cjs/src/abstract/delta.js +1 -1
  51. package/dist/cjs/src/abstract/deribit.js +1 -1
  52. package/dist/cjs/src/abstract/derive.js +9 -0
  53. package/dist/cjs/src/abstract/digifinex.js +1 -1
  54. package/dist/cjs/src/abstract/ellipx.js +1 -1
  55. package/dist/cjs/src/abstract/exmo.js +1 -1
  56. package/dist/cjs/src/abstract/gate.js +1 -1
  57. package/dist/cjs/src/abstract/gemini.js +1 -1
  58. package/dist/cjs/src/abstract/hashkey.js +1 -1
  59. package/dist/cjs/src/abstract/hitbtc.js +1 -1
  60. package/dist/cjs/src/abstract/hollaex.js +1 -1
  61. package/dist/cjs/src/abstract/htx.js +1 -1
  62. package/dist/cjs/src/abstract/huobijp.js +1 -1
  63. package/dist/cjs/src/abstract/hyperliquid.js +1 -1
  64. package/dist/cjs/src/abstract/idex.js +1 -1
  65. package/dist/cjs/src/abstract/independentreserve.js +1 -1
  66. package/dist/cjs/src/abstract/indodax.js +1 -1
  67. package/dist/cjs/src/abstract/kraken.js +1 -1
  68. package/dist/cjs/src/abstract/krakenfutures.js +1 -1
  69. package/dist/cjs/src/abstract/kucoin.js +1 -1
  70. package/dist/cjs/src/abstract/kucoinfutures.js +1 -1
  71. package/dist/cjs/src/abstract/kuna.js +1 -1
  72. package/dist/cjs/src/abstract/latoken.js +1 -1
  73. package/dist/cjs/src/abstract/lbank.js +1 -1
  74. package/dist/cjs/src/abstract/luno.js +1 -1
  75. package/dist/cjs/src/abstract/mercado.js +1 -1
  76. package/dist/cjs/src/abstract/mexc.js +1 -1
  77. package/dist/cjs/src/abstract/ndax.js +1 -1
  78. package/dist/cjs/src/abstract/novadax.js +1 -1
  79. package/dist/cjs/src/abstract/oceanex.js +1 -1
  80. package/dist/cjs/src/abstract/okcoin.js +1 -1
  81. package/dist/cjs/src/abstract/okx.js +1 -1
  82. package/dist/cjs/src/abstract/onetrading.js +1 -1
  83. package/dist/cjs/src/abstract/oxfun.js +1 -1
  84. package/dist/cjs/src/abstract/p2b.js +1 -1
  85. package/dist/cjs/src/abstract/paradex.js +1 -1
  86. package/dist/cjs/src/abstract/paymium.js +1 -1
  87. package/dist/cjs/src/abstract/phemex.js +1 -1
  88. package/dist/cjs/src/abstract/poloniex.js +1 -1
  89. package/dist/cjs/src/abstract/poloniexfutures.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/tradeogre.js +1 -1
  94. package/dist/cjs/src/abstract/upbit.js +1 -1
  95. package/dist/cjs/src/abstract/vertex.js +1 -1
  96. package/dist/cjs/src/abstract/wavesexchange.js +1 -1
  97. package/dist/cjs/src/abstract/whitebit.js +1 -1
  98. package/dist/cjs/src/abstract/woo.js +1 -1
  99. package/dist/cjs/src/abstract/woofipro.js +1 -1
  100. package/dist/cjs/src/abstract/xt.js +1 -1
  101. package/dist/cjs/src/abstract/yobit.js +1 -1
  102. package/dist/cjs/src/abstract/zaif.js +1 -1
  103. package/dist/cjs/src/abstract/zonda.js +1 -1
  104. package/dist/cjs/src/ace.js +1 -1
  105. package/dist/cjs/src/alpaca.js +1 -1
  106. package/dist/cjs/src/ascendex.js +1 -1
  107. package/dist/cjs/src/base/Exchange.js +7 -0
  108. package/dist/cjs/src/base/Precise.js +0 -6
  109. package/dist/cjs/src/base/errors.js +0 -6
  110. package/dist/cjs/src/base/functions/crypto.js +1 -1
  111. package/dist/cjs/src/base/functions/encode.js +1 -1
  112. package/dist/cjs/src/base/functions/misc.js +0 -1
  113. package/dist/cjs/src/base/functions/number.js +0 -6
  114. package/dist/cjs/src/base/functions/platform.js +0 -6
  115. package/dist/cjs/src/base/functions/rsa.js +0 -1
  116. package/dist/cjs/src/base/functions/string.js +0 -6
  117. package/dist/cjs/src/base/functions/throttle.js +1 -1
  118. package/dist/cjs/src/base/functions/time.js +0 -6
  119. package/dist/cjs/src/base/functions/totp.js +0 -1
  120. package/dist/cjs/src/base/functions/type.js +0 -6
  121. package/dist/cjs/src/base/functions.js +1 -1
  122. package/dist/cjs/src/base/ws/Cache.js +0 -6
  123. package/dist/cjs/src/base/ws/Client.js +0 -1
  124. package/dist/cjs/src/base/ws/Future.js +1 -1
  125. package/dist/cjs/src/base/ws/OrderBook.js +1 -1
  126. package/dist/cjs/src/base/ws/OrderBookSide.js +0 -6
  127. package/dist/cjs/src/base/ws/WsClient.js +1 -1
  128. package/dist/cjs/src/bequant.js +1 -1
  129. package/dist/cjs/src/bigone.js +1 -1
  130. package/dist/cjs/src/binance.js +6 -5
  131. package/dist/cjs/src/binancecoinm.js +1 -1
  132. package/dist/cjs/src/binanceus.js +1 -1
  133. package/dist/cjs/src/binanceusdm.js +1 -1
  134. package/dist/cjs/src/bingx.js +1 -1
  135. package/dist/cjs/src/bit2c.js +1 -1
  136. package/dist/cjs/src/bitbank.js +1 -1
  137. package/dist/cjs/src/bitbns.js +1 -1
  138. package/dist/cjs/src/bitcoincom.js +1 -1
  139. package/dist/cjs/src/bitfinex.js +1 -1
  140. package/dist/cjs/src/bitfinex1.js +1 -1
  141. package/dist/cjs/src/bitflyer.js +1 -1
  142. package/dist/cjs/src/bitget.js +25 -14
  143. package/dist/cjs/src/bithumb.js +1 -1
  144. package/dist/cjs/src/bitmart.js +1 -1
  145. package/dist/cjs/src/bitmex.js +1 -1
  146. package/dist/cjs/src/bitopro.js +1 -1
  147. package/dist/cjs/src/bitpanda.js +1 -1
  148. package/dist/cjs/src/bitrue.js +6 -3
  149. package/dist/cjs/src/bitso.js +1 -1
  150. package/dist/cjs/src/bitstamp.js +1 -1
  151. package/dist/cjs/src/bitteam.js +1 -1
  152. package/dist/cjs/src/bl3p.js +1 -1
  153. package/dist/cjs/src/blockchaincom.js +1 -1
  154. package/dist/cjs/src/blofin.js +1 -1
  155. package/dist/cjs/src/btcalpha.js +1 -1
  156. package/dist/cjs/src/btcbox.js +1 -1
  157. package/dist/cjs/src/btcmarkets.js +1 -1
  158. package/dist/cjs/src/btcturk.js +1 -1
  159. package/dist/cjs/src/bybit.js +1 -1
  160. package/dist/cjs/src/cex.js +1 -1
  161. package/dist/cjs/src/coinbaseadvanced.js +1 -1
  162. package/dist/cjs/src/coincatch.js +1 -1
  163. package/dist/cjs/src/coincheck.js +1 -1
  164. package/dist/cjs/src/coinex.js +1 -1
  165. package/dist/cjs/src/coinlist.js +0 -1
  166. package/dist/cjs/src/coinmate.js +1 -1
  167. package/dist/cjs/src/coinmetro.js +1 -1
  168. package/dist/cjs/src/coinone.js +1 -1
  169. package/dist/cjs/src/coinsph.js +0 -1
  170. package/dist/cjs/src/coinspot.js +1 -1
  171. package/dist/cjs/src/cryptocom.js +3 -1
  172. package/dist/cjs/src/cryptomus.js +1099 -0
  173. package/dist/cjs/src/defx.js +1 -1
  174. package/dist/cjs/src/delta.js +1 -1
  175. package/dist/cjs/src/deribit.js +1 -1
  176. package/dist/cjs/src/derive.js +2611 -0
  177. package/dist/cjs/src/digifinex.js +1 -1
  178. package/dist/cjs/src/ellipx.js +1 -1
  179. package/dist/cjs/src/exmo.js +1 -1
  180. package/dist/cjs/src/fmfwio.js +1 -1
  181. package/dist/cjs/src/gate.js +7 -2
  182. package/dist/cjs/src/gateio.js +1 -1
  183. package/dist/cjs/src/gemini.js +1 -1
  184. package/dist/cjs/src/hashkey.js +1 -1
  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 +22 -6
  188. package/dist/cjs/src/huobi.js +1 -1
  189. package/dist/cjs/src/huobijp.js +1 -1
  190. package/dist/cjs/src/hyperliquid.js +121 -74
  191. package/dist/cjs/src/idex.js +1 -1
  192. package/dist/cjs/src/independentreserve.js +1 -1
  193. package/dist/cjs/src/indodax.js +1 -1
  194. package/dist/cjs/src/kraken.js +1 -1
  195. package/dist/cjs/src/krakenfutures.js +1 -1
  196. package/dist/cjs/src/kucoin.js +1 -1
  197. package/dist/cjs/src/kucoinfutures.js +1 -1
  198. package/dist/cjs/src/kuna.js +1 -1
  199. package/dist/cjs/src/latoken.js +1 -1
  200. package/dist/cjs/src/lbank.js +1 -1
  201. package/dist/cjs/src/luno.js +1 -1
  202. package/dist/cjs/src/mercado.js +1 -1
  203. package/dist/cjs/src/mexc.js +1 -1
  204. package/dist/cjs/src/myokx.js +1 -1
  205. package/dist/cjs/src/ndax.js +1 -1
  206. package/dist/cjs/src/novadax.js +1 -1
  207. package/dist/cjs/src/oceanex.js +1 -1
  208. package/dist/cjs/src/okcoin.js +1 -1
  209. package/dist/cjs/src/okx.js +1 -1
  210. package/dist/cjs/src/onetrading.js +1 -1
  211. package/dist/cjs/src/oxfun.js +1 -1
  212. package/dist/cjs/src/p2b.js +1 -1
  213. package/dist/cjs/src/paradex.js +63 -15
  214. package/dist/cjs/src/paymium.js +1 -1
  215. package/dist/cjs/src/poloniex.js +1 -1
  216. package/dist/cjs/src/poloniexfutures.js +1 -1
  217. package/dist/cjs/src/pro/alpaca.js +1 -1
  218. package/dist/cjs/src/pro/ascendex.js +1 -1
  219. package/dist/cjs/src/pro/bequant.js +1 -1
  220. package/dist/cjs/src/pro/binancecoinm.js +1 -1
  221. package/dist/cjs/src/pro/binanceus.js +1 -1
  222. package/dist/cjs/src/pro/binanceusdm.js +1 -1
  223. package/dist/cjs/src/pro/bingx.js +1 -1
  224. package/dist/cjs/src/pro/bitcoincom.js +1 -1
  225. package/dist/cjs/src/pro/bitfinex.js +1 -1
  226. package/dist/cjs/src/pro/bitfinex1.js +1 -1
  227. package/dist/cjs/src/pro/bitget.js +1 -1
  228. package/dist/cjs/src/pro/bithumb.js +1 -1
  229. package/dist/cjs/src/pro/bitmart.js +1 -1
  230. package/dist/cjs/src/pro/bitmex.js +1 -1
  231. package/dist/cjs/src/pro/bitpanda.js +1 -1
  232. package/dist/cjs/src/pro/bitrue.js +1 -1
  233. package/dist/cjs/src/pro/bitstamp.js +1 -1
  234. package/dist/cjs/src/pro/bitvavo.js +1 -1
  235. package/dist/cjs/src/pro/blockchaincom.js +1 -1
  236. package/dist/cjs/src/pro/blofin.js +1 -1
  237. package/dist/cjs/src/pro/bybit.js +4 -3
  238. package/dist/cjs/src/pro/cex.js +1 -1
  239. package/dist/cjs/src/pro/coinbase.js +1 -1
  240. package/dist/cjs/src/pro/coinbaseadvanced.js +1 -1
  241. package/dist/cjs/src/pro/coinbaseexchange.js +1 -1
  242. package/dist/cjs/src/pro/coinbaseinternational.js +1 -1
  243. package/dist/cjs/src/pro/coincatch.js +1 -1
  244. package/dist/cjs/src/pro/coincheck.js +1 -1
  245. package/dist/cjs/src/pro/coinex.js +1 -1
  246. package/dist/cjs/src/pro/coinone.js +1 -1
  247. package/dist/cjs/src/pro/cryptocom.js +1 -1
  248. package/dist/cjs/src/pro/defx.js +1 -1
  249. package/dist/cjs/src/pro/deribit.js +1 -1
  250. package/dist/cjs/src/pro/derive.js +752 -0
  251. package/dist/cjs/src/pro/exmo.js +1 -1
  252. package/dist/cjs/src/pro/gate.js +7 -3
  253. package/dist/cjs/src/pro/gateio.js +1 -1
  254. package/dist/cjs/src/pro/gemini.js +1 -1
  255. package/dist/cjs/src/pro/hashkey.js +1 -1
  256. package/dist/cjs/src/pro/hitbtc.js +1 -1
  257. package/dist/cjs/src/pro/hollaex.js +1 -1
  258. package/dist/cjs/src/pro/htx.js +1 -1
  259. package/dist/cjs/src/pro/huobi.js +1 -1
  260. package/dist/cjs/src/pro/hyperliquid.js +4 -4
  261. package/dist/cjs/src/pro/idex.js +1 -1
  262. package/dist/cjs/src/pro/independentreserve.js +1 -1
  263. package/dist/cjs/src/pro/kraken.js +1 -1
  264. package/dist/cjs/src/pro/krakenfutures.js +1 -1
  265. package/dist/cjs/src/pro/kucoin.js +1 -1
  266. package/dist/cjs/src/pro/kucoinfutures.js +1 -1
  267. package/dist/cjs/src/pro/lbank.js +0 -1
  268. package/dist/cjs/src/pro/luno.js +1 -1
  269. package/dist/cjs/src/pro/mexc.js +1 -1
  270. package/dist/cjs/src/pro/myokx.js +1 -1
  271. package/dist/cjs/src/pro/ndax.js +1 -1
  272. package/dist/cjs/src/pro/okcoin.js +1 -1
  273. package/dist/cjs/src/pro/okx.js +1 -1
  274. package/dist/cjs/src/pro/onetrading.js +1 -1
  275. package/dist/cjs/src/pro/oxfun.js +1 -1
  276. package/dist/cjs/src/pro/p2b.js +1 -1
  277. package/dist/cjs/src/pro/paradex.js +1 -1
  278. package/dist/cjs/src/pro/phemex.js +1 -1
  279. package/dist/cjs/src/pro/poloniex.js +1 -1
  280. package/dist/cjs/src/pro/poloniexfutures.js +1 -1
  281. package/dist/cjs/src/pro/probit.js +1 -1
  282. package/dist/cjs/src/pro/upbit.js +1 -1
  283. package/dist/cjs/src/pro/whitebit.js +1 -1
  284. package/dist/cjs/src/pro/xt.js +1 -1
  285. package/dist/cjs/src/probit.js +1 -1
  286. package/dist/cjs/src/static_dependencies/ethers/abi-coder.js +0 -6
  287. package/dist/cjs/src/static_dependencies/ethers/address/address.js +1 -1
  288. package/dist/cjs/src/static_dependencies/ethers/coders/abstract-coder.js +0 -6
  289. package/dist/cjs/src/static_dependencies/ethers/coders/address.js +0 -1
  290. package/dist/cjs/src/static_dependencies/ethers/coders/anonymous.js +0 -1
  291. package/dist/cjs/src/static_dependencies/ethers/coders/array.js +0 -1
  292. package/dist/cjs/src/static_dependencies/ethers/coders/boolean.js +0 -1
  293. package/dist/cjs/src/static_dependencies/ethers/coders/bytes.js +0 -1
  294. package/dist/cjs/src/static_dependencies/ethers/coders/fixed-bytes.js +0 -1
  295. package/dist/cjs/src/static_dependencies/ethers/coders/null.js +0 -1
  296. package/dist/cjs/src/static_dependencies/ethers/coders/number.js +0 -1
  297. package/dist/cjs/src/static_dependencies/ethers/coders/string.js +0 -1
  298. package/dist/cjs/src/static_dependencies/ethers/coders/tuple.js +0 -1
  299. package/dist/cjs/src/static_dependencies/ethers/fragments.js +0 -6
  300. package/dist/cjs/src/static_dependencies/ethers/hash/typed-data.js +0 -6
  301. package/dist/cjs/src/static_dependencies/ethers/index.js +10 -1
  302. package/dist/cjs/src/static_dependencies/ethers/interface.js +0 -6
  303. package/dist/cjs/src/static_dependencies/ethers/typed.js +0 -6
  304. package/dist/cjs/src/static_dependencies/ethers/utils/base58.js +13 -1
  305. package/dist/cjs/src/static_dependencies/ethers/utils/data.js +6 -1
  306. package/dist/cjs/src/static_dependencies/ethers/utils/errors.js +9 -1
  307. package/dist/cjs/src/static_dependencies/ethers/utils/events.js +0 -6
  308. package/dist/cjs/src/static_dependencies/ethers/utils/fixednumber.js +0 -6
  309. package/dist/cjs/src/static_dependencies/ethers/utils/index.js +7 -1
  310. package/dist/cjs/src/static_dependencies/ethers/utils/maths.js +5 -1
  311. package/dist/cjs/src/static_dependencies/ethers/utils/properties.js +0 -6
  312. package/dist/cjs/src/static_dependencies/ethers/utils/utf8.js +8 -1
  313. package/dist/cjs/src/static_dependencies/fflake/browser.js +1 -1
  314. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncrypt.js +0 -1
  315. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +0 -1
  316. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +1 -1
  317. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +0 -6
  318. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +0 -6
  319. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +0 -6
  320. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +0 -1
  321. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +1 -1
  322. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +0 -6
  323. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +1 -1
  324. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +1 -1
  325. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/util.js +0 -6
  326. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +1 -1
  327. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +0 -6
  328. package/dist/cjs/src/static_dependencies/messagepack/msgpack.js +0 -6
  329. package/dist/cjs/src/static_dependencies/noble-curves/_shortw_utils.js +1 -1
  330. package/dist/cjs/src/static_dependencies/noble-curves/abstract/curve.js +1 -1
  331. package/dist/cjs/src/static_dependencies/noble-curves/abstract/edwards.js +1 -1
  332. package/dist/cjs/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +0 -1
  333. package/dist/cjs/src/static_dependencies/noble-curves/abstract/modular.js +1 -1
  334. package/dist/cjs/src/static_dependencies/noble-curves/abstract/montgomery.js +1 -1
  335. package/dist/cjs/src/static_dependencies/noble-curves/abstract/poseidon.js +1 -1
  336. package/dist/cjs/src/static_dependencies/noble-curves/abstract/utils.js +0 -6
  337. package/dist/cjs/src/static_dependencies/noble-curves/abstract/weierstrass.js +1 -1
  338. package/dist/cjs/src/static_dependencies/noble-curves/ed25519.js +1 -1
  339. package/dist/cjs/src/static_dependencies/noble-curves/p256.js +1 -1
  340. package/dist/cjs/src/static_dependencies/noble-curves/secp256k1.js +1 -1
  341. package/dist/cjs/src/static_dependencies/noble-hashes/_assert.js +0 -6
  342. package/dist/cjs/src/static_dependencies/noble-hashes/_sha2.js +0 -1
  343. package/dist/cjs/src/static_dependencies/noble-hashes/_u64.js +0 -6
  344. package/dist/cjs/src/static_dependencies/noble-hashes/crypto.js +0 -6
  345. package/dist/cjs/src/static_dependencies/noble-hashes/hmac.js +0 -1
  346. package/dist/cjs/src/static_dependencies/noble-hashes/md5.js +0 -1
  347. package/dist/cjs/src/static_dependencies/noble-hashes/sha1.js +0 -1
  348. package/dist/cjs/src/static_dependencies/noble-hashes/sha256.js +0 -1
  349. package/dist/cjs/src/static_dependencies/noble-hashes/sha3.js +0 -1
  350. package/dist/cjs/src/static_dependencies/noble-hashes/sha512.js +0 -1
  351. package/dist/cjs/src/static_dependencies/noble-hashes/utils.js +1 -1
  352. package/dist/cjs/src/static_dependencies/node-fetch/body.js +5 -1
  353. package/dist/cjs/src/static_dependencies/node-fetch/errors/abort-error.js +0 -1
  354. package/dist/cjs/src/static_dependencies/node-fetch/errors/base.js +0 -6
  355. package/dist/cjs/src/static_dependencies/node-fetch/errors/fetch-error.js +0 -1
  356. package/dist/cjs/src/static_dependencies/node-fetch/headers.js +5 -1
  357. package/dist/cjs/src/static_dependencies/node-fetch/index.js +7 -1
  358. package/dist/cjs/src/static_dependencies/node-fetch/request.js +7 -1
  359. package/dist/cjs/src/static_dependencies/node-fetch/response.js +5 -1
  360. package/dist/cjs/src/static_dependencies/node-fetch/utils/get-search.js +0 -6
  361. package/dist/cjs/src/static_dependencies/node-fetch/utils/is-redirect.js +0 -6
  362. package/dist/cjs/src/static_dependencies/node-fetch/utils/is.js +0 -6
  363. package/dist/cjs/src/static_dependencies/node-fetch/utils/referrer.js +0 -1
  364. package/dist/cjs/src/static_dependencies/proxies/agent-base/index.js +0 -1
  365. package/dist/cjs/src/static_dependencies/proxies/http-proxy-agent/index.js +0 -1
  366. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/index.js +0 -1
  367. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +0 -6
  368. package/dist/cjs/src/static_dependencies/scure-base/index.js +0 -6
  369. package/dist/cjs/src/static_dependencies/scure-starknet/index.js +1 -1
  370. package/dist/cjs/src/static_dependencies/starknet/constants.js +1 -1
  371. package/dist/cjs/src/static_dependencies/starknet/types/calldata.js +0 -6
  372. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/abi.js +0 -6
  373. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/index.js +0 -6
  374. package/dist/cjs/src/static_dependencies/starknet/types/lib/index.js +0 -6
  375. package/dist/cjs/src/static_dependencies/starknet/types/typedData.js +0 -6
  376. package/dist/cjs/src/static_dependencies/starknet/utils/assert.js +0 -6
  377. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +1 -1
  378. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +1 -1
  379. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +1 -1
  380. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/byteArray.js +0 -1
  381. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/cairo.js +0 -1
  382. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +0 -6
  383. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +0 -6
  384. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +0 -6
  385. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/formatter.js +0 -1
  386. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/index.js +1 -1
  387. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/index.js +0 -1
  388. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +0 -1
  389. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +0 -6
  390. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +0 -1
  391. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/requestParser.js +0 -1
  392. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/responseParser.js +0 -1
  393. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/tuple.js +1 -1
  394. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/validate.js +4 -1
  395. package/dist/cjs/src/static_dependencies/starknet/utils/encode.js +0 -1
  396. package/dist/cjs/src/static_dependencies/starknet/utils/hash/classHash.js +3 -1
  397. package/dist/cjs/src/static_dependencies/starknet/utils/merkle.js +0 -1
  398. package/dist/cjs/src/static_dependencies/starknet/utils/num.js +0 -1
  399. package/dist/cjs/src/static_dependencies/starknet/utils/selector.js +0 -1
  400. package/dist/cjs/src/static_dependencies/starknet/utils/shortString.js +0 -1
  401. package/dist/cjs/src/static_dependencies/starknet/utils/typedData.js +1 -1
  402. package/dist/cjs/src/static_dependencies/watchable/src/unpromise.js +0 -6
  403. package/dist/cjs/src/timex.js +0 -1
  404. package/dist/cjs/src/tokocrypto.js +1 -1
  405. package/dist/cjs/src/tradeogre.js +138 -13
  406. package/dist/cjs/src/upbit.js +1 -1
  407. package/dist/cjs/src/vertex.js +1 -1
  408. package/dist/cjs/src/wavesexchange.js +1 -1
  409. package/dist/cjs/src/whitebit.js +283 -2
  410. package/dist/cjs/src/woo.js +1 -1
  411. package/dist/cjs/src/woofipro.js +1 -1
  412. package/dist/cjs/src/xt.js +1 -1
  413. package/dist/cjs/src/yobit.js +1 -1
  414. package/dist/cjs/src/zaif.js +1 -1
  415. package/dist/cjs/src/zonda.js +1 -1
  416. package/js/ccxt.d.ts +11 -8
  417. package/js/ccxt.js +8 -12
  418. package/js/src/abstract/ace.js +0 -6
  419. package/js/src/abstract/alpaca.js +0 -6
  420. package/js/src/abstract/ascendex.js +0 -6
  421. package/js/src/abstract/bequant.js +0 -6
  422. package/js/src/abstract/bigone.js +0 -6
  423. package/js/src/abstract/binance.js +0 -6
  424. package/js/src/abstract/binancecoinm.js +0 -6
  425. package/js/src/abstract/binanceus.js +0 -6
  426. package/js/src/abstract/binanceusdm.js +0 -6
  427. package/js/src/abstract/bingx.js +0 -6
  428. package/js/src/abstract/bit2c.js +0 -6
  429. package/js/src/abstract/bitbank.js +0 -6
  430. package/js/src/abstract/bitbns.js +0 -6
  431. package/js/src/abstract/bitcoincom.js +0 -6
  432. package/js/src/abstract/bitfinex.js +0 -6
  433. package/js/src/abstract/bitfinex1.js +0 -6
  434. package/js/src/abstract/bitflyer.js +0 -6
  435. package/js/src/abstract/bitget.js +0 -6
  436. package/js/src/abstract/bithumb.js +0 -6
  437. package/js/src/abstract/bitmart.js +0 -6
  438. package/js/src/abstract/bitmex.js +0 -6
  439. package/js/src/abstract/bitopro.js +0 -6
  440. package/js/src/abstract/bitpanda.js +0 -6
  441. package/js/src/abstract/bitrue.js +0 -6
  442. package/js/src/abstract/bitso.js +0 -6
  443. package/js/src/abstract/bitstamp.js +0 -6
  444. package/js/src/abstract/bitteam.js +0 -6
  445. package/js/src/abstract/bitvavo.js +0 -6
  446. package/js/src/abstract/bl3p.js +0 -6
  447. package/js/src/abstract/blockchaincom.js +0 -6
  448. package/js/src/abstract/blofin.js +0 -6
  449. package/js/src/abstract/btcalpha.js +0 -6
  450. package/js/src/abstract/btcbox.js +0 -6
  451. package/js/src/abstract/btcmarkets.js +0 -6
  452. package/js/src/abstract/btcturk.js +0 -6
  453. package/js/src/abstract/bybit.js +0 -6
  454. package/js/src/abstract/cex.js +0 -6
  455. package/js/src/abstract/coinbase.js +0 -6
  456. package/js/src/abstract/coinbaseadvanced.js +0 -6
  457. package/js/src/abstract/coinbaseexchange.js +0 -6
  458. package/js/src/abstract/coinbaseinternational.js +0 -6
  459. package/js/src/abstract/coincatch.js +0 -6
  460. package/js/src/abstract/coincheck.js +0 -6
  461. package/js/src/abstract/coinex.js +0 -6
  462. package/js/src/abstract/coinlist.js +0 -6
  463. package/js/src/abstract/coinmate.js +0 -6
  464. package/js/src/abstract/coinmetro.js +0 -6
  465. package/js/src/abstract/coinone.js +0 -6
  466. package/js/src/abstract/coinsph.js +0 -6
  467. package/js/src/abstract/coinspot.js +0 -6
  468. package/js/src/abstract/cryptocom.js +0 -6
  469. package/js/src/abstract/cryptomus.d.ts +23 -0
  470. package/js/src/abstract/cryptomus.js +5 -0
  471. package/js/src/abstract/defx.js +0 -6
  472. package/js/src/abstract/delta.js +0 -6
  473. package/js/src/abstract/deribit.js +0 -6
  474. package/js/src/abstract/derive.d.ts +120 -0
  475. package/js/src/abstract/derive.js +5 -0
  476. package/js/src/abstract/digifinex.js +0 -6
  477. package/js/src/abstract/ellipx.js +0 -6
  478. package/js/src/abstract/exmo.js +0 -6
  479. package/js/src/abstract/fmfwio.js +0 -6
  480. package/js/src/abstract/gate.js +0 -6
  481. package/js/src/abstract/gateio.js +0 -6
  482. package/js/src/abstract/gemini.js +0 -6
  483. package/js/src/abstract/hashkey.js +0 -6
  484. package/js/src/abstract/hitbtc.js +0 -6
  485. package/js/src/abstract/hollaex.js +0 -6
  486. package/js/src/abstract/htx.js +0 -6
  487. package/js/src/abstract/huobi.js +0 -6
  488. package/js/src/abstract/huobijp.js +0 -6
  489. package/js/src/abstract/hyperliquid.js +0 -6
  490. package/js/src/abstract/idex.js +0 -6
  491. package/js/src/abstract/independentreserve.js +0 -6
  492. package/js/src/abstract/indodax.js +0 -6
  493. package/js/src/abstract/kraken.js +0 -6
  494. package/js/src/abstract/krakenfutures.js +0 -6
  495. package/js/src/abstract/kucoin.js +0 -6
  496. package/js/src/abstract/kucoinfutures.js +0 -6
  497. package/js/src/abstract/kuna.js +0 -6
  498. package/js/src/abstract/latoken.js +0 -6
  499. package/js/src/abstract/lbank.js +0 -6
  500. package/js/src/abstract/luno.js +0 -6
  501. package/js/src/abstract/mercado.js +0 -6
  502. package/js/src/abstract/mexc.js +0 -6
  503. package/js/src/abstract/myokx.js +0 -6
  504. package/js/src/abstract/ndax.js +0 -6
  505. package/js/src/abstract/novadax.js +0 -6
  506. package/js/src/abstract/oceanex.js +0 -6
  507. package/js/src/abstract/okcoin.js +0 -6
  508. package/js/src/abstract/okx.js +0 -6
  509. package/js/src/abstract/onetrading.js +0 -6
  510. package/js/src/abstract/oxfun.js +0 -6
  511. package/js/src/abstract/p2b.js +0 -6
  512. package/js/src/abstract/paradex.js +0 -6
  513. package/js/src/abstract/paymium.js +0 -6
  514. package/js/src/abstract/phemex.js +0 -6
  515. package/js/src/abstract/poloniex.js +0 -6
  516. package/js/src/abstract/poloniexfutures.js +0 -6
  517. package/js/src/abstract/probit.js +0 -6
  518. package/js/src/abstract/timex.js +0 -6
  519. package/js/src/abstract/tokocrypto.js +0 -6
  520. package/js/src/abstract/tradeogre.d.ts +1 -0
  521. package/js/src/abstract/tradeogre.js +0 -6
  522. package/js/src/abstract/upbit.js +0 -6
  523. package/js/src/abstract/vertex.js +0 -6
  524. package/js/src/abstract/wavesexchange.js +0 -6
  525. package/js/src/abstract/whitebit.d.ts +16 -0
  526. package/js/src/abstract/whitebit.js +0 -6
  527. package/js/src/abstract/woo.js +0 -6
  528. package/js/src/abstract/woofipro.js +0 -6
  529. package/js/src/abstract/xt.js +0 -6
  530. package/js/src/abstract/yobit.js +0 -6
  531. package/js/src/abstract/zaif.js +0 -6
  532. package/js/src/abstract/zonda.js +0 -6
  533. package/js/src/ace.js +0 -6
  534. package/js/src/alpaca.js +0 -6
  535. package/js/src/ascendex.js +0 -6
  536. package/js/src/base/Exchange.d.ts +2 -0
  537. package/js/src/base/Exchange.js +7 -6
  538. package/js/src/base/Precise.js +0 -6
  539. package/js/src/base/errorHierarchy.js +0 -6
  540. package/js/src/base/errors.js +0 -6
  541. package/js/src/base/functions/crypto.js +0 -6
  542. package/js/src/base/functions/encode.js +0 -6
  543. package/js/src/base/functions/generic.js +0 -6
  544. package/js/src/base/functions/misc.js +0 -6
  545. package/js/src/base/functions/number.js +0 -6
  546. package/js/src/base/functions/platform.js +0 -6
  547. package/js/src/base/functions/rsa.js +0 -6
  548. package/js/src/base/functions/string.js +0 -6
  549. package/js/src/base/functions/throttle.js +0 -6
  550. package/js/src/base/functions/time.js +0 -6
  551. package/js/src/base/functions/totp.js +0 -6
  552. package/js/src/base/functions/type.js +0 -6
  553. package/js/src/base/functions.js +0 -6
  554. package/js/src/base/types.js +0 -6
  555. package/js/src/base/ws/Cache.js +0 -6
  556. package/js/src/base/ws/Client.js +0 -6
  557. package/js/src/base/ws/Future.js +0 -6
  558. package/js/src/base/ws/OrderBook.js +0 -6
  559. package/js/src/base/ws/OrderBookSide.js +0 -6
  560. package/js/src/base/ws/WsClient.js +0 -6
  561. package/js/src/base/ws/functions.js +0 -6
  562. package/js/src/bequant.js +0 -6
  563. package/js/src/bigone.js +0 -6
  564. package/js/src/binance.js +5 -10
  565. package/js/src/binancecoinm.js +0 -6
  566. package/js/src/binanceus.js +0 -6
  567. package/js/src/binanceusdm.js +0 -6
  568. package/js/src/bingx.js +0 -6
  569. package/js/src/bit2c.js +0 -6
  570. package/js/src/bitbank.js +0 -6
  571. package/js/src/bitbns.js +0 -6
  572. package/js/src/bitcoincom.js +0 -6
  573. package/js/src/bitfinex.js +0 -6
  574. package/js/src/bitfinex1.js +0 -6
  575. package/js/src/bitflyer.js +0 -6
  576. package/js/src/bitget.d.ts +12 -4
  577. package/js/src/bitget.js +24 -19
  578. package/js/src/bithumb.js +0 -6
  579. package/js/src/bitmart.js +0 -6
  580. package/js/src/bitmex.js +0 -6
  581. package/js/src/bitopro.js +0 -6
  582. package/js/src/bitpanda.js +0 -6
  583. package/js/src/bitrue.d.ts +1 -0
  584. package/js/src/bitrue.js +5 -8
  585. package/js/src/bitso.js +0 -6
  586. package/js/src/bitstamp.js +0 -6
  587. package/js/src/bitteam.js +0 -6
  588. package/js/src/bitvavo.js +0 -6
  589. package/js/src/bl3p.js +0 -6
  590. package/js/src/blockchaincom.js +0 -6
  591. package/js/src/blofin.js +0 -6
  592. package/js/src/btcalpha.js +0 -6
  593. package/js/src/btcbox.js +0 -6
  594. package/js/src/btcmarkets.js +0 -6
  595. package/js/src/btcturk.js +0 -6
  596. package/js/src/bybit.js +0 -6
  597. package/js/src/cex.js +0 -6
  598. package/js/src/coinbase.js +0 -6
  599. package/js/src/coinbaseadvanced.js +0 -6
  600. package/js/src/coinbaseexchange.js +0 -6
  601. package/js/src/coinbaseinternational.js +0 -6
  602. package/js/src/coincatch.js +0 -6
  603. package/js/src/coincheck.js +0 -6
  604. package/js/src/coinex.js +0 -6
  605. package/js/src/coinlist.js +0 -6
  606. package/js/src/coinmate.js +0 -6
  607. package/js/src/coinmetro.js +0 -6
  608. package/js/src/coinone.js +0 -6
  609. package/js/src/coinsph.js +0 -6
  610. package/js/src/coinspot.js +0 -6
  611. package/js/src/cryptocom.js +2 -6
  612. package/js/src/cryptomus.d.ts +32 -0
  613. package/js/src/cryptomus.js +1094 -0
  614. package/js/src/defx.js +0 -6
  615. package/js/src/delta.js +0 -6
  616. package/js/src/deribit.js +0 -6
  617. package/js/src/derive.d.ts +324 -0
  618. package/js/src/derive.js +2604 -0
  619. package/js/src/digifinex.js +0 -6
  620. package/js/src/ellipx.js +0 -6
  621. package/js/src/exmo.js +0 -6
  622. package/js/src/fmfwio.js +0 -6
  623. package/js/src/gate.js +6 -7
  624. package/js/src/gateio.js +0 -6
  625. package/js/src/gemini.js +0 -6
  626. package/js/src/hashkey.js +0 -6
  627. package/js/src/hitbtc.js +0 -6
  628. package/js/src/hollaex.js +0 -6
  629. package/js/src/htx.js +21 -11
  630. package/js/src/huobi.js +0 -6
  631. package/js/src/huobijp.js +0 -6
  632. package/js/src/hyperliquid.d.ts +12 -3
  633. package/js/src/hyperliquid.js +120 -79
  634. package/js/src/idex.js +0 -6
  635. package/js/src/independentreserve.js +0 -6
  636. package/js/src/indodax.js +0 -6
  637. package/js/src/kraken.js +0 -6
  638. package/js/src/krakenfutures.js +0 -6
  639. package/js/src/kucoin.js +0 -6
  640. package/js/src/kucoinfutures.js +0 -6
  641. package/js/src/kuna.js +0 -6
  642. package/js/src/latoken.js +0 -6
  643. package/js/src/lbank.js +0 -6
  644. package/js/src/luno.js +0 -6
  645. package/js/src/mercado.js +0 -6
  646. package/js/src/mexc.js +0 -6
  647. package/js/src/myokx.js +0 -6
  648. package/js/src/ndax.js +0 -6
  649. package/js/src/novadax.js +0 -6
  650. package/js/src/oceanex.js +0 -6
  651. package/js/src/okcoin.js +0 -6
  652. package/js/src/okx.js +0 -6
  653. package/js/src/onetrading.js +0 -6
  654. package/js/src/oxfun.js +0 -6
  655. package/js/src/p2b.js +0 -6
  656. package/js/src/paradex.d.ts +2 -0
  657. package/js/src/paradex.js +62 -20
  658. package/js/src/paymium.js +0 -6
  659. package/js/src/phemex.js +0 -6
  660. package/js/src/poloniex.js +0 -6
  661. package/js/src/poloniexfutures.js +0 -6
  662. package/js/src/pro/alpaca.js +0 -6
  663. package/js/src/pro/ascendex.js +0 -6
  664. package/js/src/pro/bequant.js +0 -6
  665. package/js/src/pro/binance.js +0 -6
  666. package/js/src/pro/binancecoinm.js +0 -6
  667. package/js/src/pro/binanceus.js +0 -6
  668. package/js/src/pro/binanceusdm.js +0 -6
  669. package/js/src/pro/bingx.js +0 -6
  670. package/js/src/pro/bitcoincom.js +0 -6
  671. package/js/src/pro/bitfinex.js +0 -6
  672. package/js/src/pro/bitfinex1.js +0 -6
  673. package/js/src/pro/bitget.js +0 -6
  674. package/js/src/pro/bithumb.js +0 -6
  675. package/js/src/pro/bitmart.js +0 -6
  676. package/js/src/pro/bitmex.js +0 -6
  677. package/js/src/pro/bitopro.js +0 -6
  678. package/js/src/pro/bitpanda.js +0 -6
  679. package/js/src/pro/bitrue.js +0 -6
  680. package/js/src/pro/bitstamp.js +0 -6
  681. package/js/src/pro/bitvavo.js +0 -6
  682. package/js/src/pro/blockchaincom.js +0 -6
  683. package/js/src/pro/blofin.js +0 -6
  684. package/js/src/pro/bybit.js +3 -8
  685. package/js/src/pro/cex.js +0 -6
  686. package/js/src/pro/coinbase.js +0 -6
  687. package/js/src/pro/coinbaseadvanced.js +0 -6
  688. package/js/src/pro/coinbaseexchange.js +0 -6
  689. package/js/src/pro/coinbaseinternational.js +0 -6
  690. package/js/src/pro/coincatch.js +0 -6
  691. package/js/src/pro/coincheck.js +0 -6
  692. package/js/src/pro/coinex.js +0 -6
  693. package/js/src/pro/coinone.js +0 -6
  694. package/js/src/pro/cryptocom.js +0 -6
  695. package/js/src/pro/defx.js +0 -6
  696. package/js/src/pro/deribit.js +0 -6
  697. package/js/src/pro/derive.d.ts +100 -0
  698. package/js/src/pro/derive.js +747 -0
  699. package/js/src/pro/exmo.js +0 -6
  700. package/js/src/pro/gate.js +6 -8
  701. package/js/src/pro/gateio.js +0 -6
  702. package/js/src/pro/gemini.js +0 -6
  703. package/js/src/pro/hashkey.js +0 -6
  704. package/js/src/pro/hitbtc.js +0 -6
  705. package/js/src/pro/hollaex.js +0 -6
  706. package/js/src/pro/htx.js +0 -6
  707. package/js/src/pro/huobi.js +0 -6
  708. package/js/src/pro/huobijp.js +0 -6
  709. package/js/src/pro/hyperliquid.d.ts +0 -1
  710. package/js/src/pro/hyperliquid.js +3 -9
  711. package/js/src/pro/idex.js +0 -6
  712. package/js/src/pro/independentreserve.js +0 -6
  713. package/js/src/pro/kraken.js +0 -6
  714. package/js/src/pro/krakenfutures.js +0 -6
  715. package/js/src/pro/kucoin.js +0 -6
  716. package/js/src/pro/kucoinfutures.js +0 -6
  717. package/js/src/pro/lbank.js +0 -6
  718. package/js/src/pro/luno.js +0 -6
  719. package/js/src/pro/mexc.js +0 -6
  720. package/js/src/pro/myokx.js +0 -6
  721. package/js/src/pro/ndax.js +0 -6
  722. package/js/src/pro/okcoin.js +0 -6
  723. package/js/src/pro/okx.js +0 -6
  724. package/js/src/pro/onetrading.js +0 -6
  725. package/js/src/pro/oxfun.js +0 -6
  726. package/js/src/pro/p2b.js +0 -6
  727. package/js/src/pro/paradex.js +0 -6
  728. package/js/src/pro/phemex.js +0 -6
  729. package/js/src/pro/poloniex.js +0 -6
  730. package/js/src/pro/poloniexfutures.js +0 -6
  731. package/js/src/pro/probit.js +0 -6
  732. package/js/src/pro/upbit.js +0 -6
  733. package/js/src/pro/vertex.js +0 -6
  734. package/js/src/pro/whitebit.js +0 -6
  735. package/js/src/pro/woo.js +0 -6
  736. package/js/src/pro/woofipro.js +0 -6
  737. package/js/src/pro/xt.js +0 -6
  738. package/js/src/probit.js +0 -6
  739. package/js/src/static_dependencies/ethers/abi-coder.js +0 -6
  740. package/js/src/static_dependencies/ethers/address/address.js +0 -6
  741. package/js/src/static_dependencies/ethers/address/checks.js +0 -6
  742. package/js/src/static_dependencies/ethers/address/contract-address.js +0 -6
  743. package/js/src/static_dependencies/ethers/address/index.js +0 -6
  744. package/js/src/static_dependencies/ethers/bytes32.js +0 -6
  745. package/js/src/static_dependencies/ethers/coders/abstract-coder.js +0 -6
  746. package/js/src/static_dependencies/ethers/coders/address.js +0 -6
  747. package/js/src/static_dependencies/ethers/coders/anonymous.js +0 -6
  748. package/js/src/static_dependencies/ethers/coders/array.js +0 -6
  749. package/js/src/static_dependencies/ethers/coders/boolean.js +0 -6
  750. package/js/src/static_dependencies/ethers/coders/bytes.js +0 -6
  751. package/js/src/static_dependencies/ethers/coders/fixed-bytes.js +0 -6
  752. package/js/src/static_dependencies/ethers/coders/null.js +0 -6
  753. package/js/src/static_dependencies/ethers/coders/number.js +0 -6
  754. package/js/src/static_dependencies/ethers/coders/string.js +0 -6
  755. package/js/src/static_dependencies/ethers/coders/tuple.js +0 -6
  756. package/js/src/static_dependencies/ethers/fragments.js +0 -6
  757. package/js/src/static_dependencies/ethers/hash/index.js +0 -6
  758. package/js/src/static_dependencies/ethers/hash/solidity.js +0 -6
  759. package/js/src/static_dependencies/ethers/hash/typed-data.js +0 -6
  760. package/js/src/static_dependencies/ethers/index.js +0 -6
  761. package/js/src/static_dependencies/ethers/interface.js +0 -6
  762. package/js/src/static_dependencies/ethers/typed.js +0 -6
  763. package/js/src/static_dependencies/ethers/utils/base58.js +0 -6
  764. package/js/src/static_dependencies/ethers/utils/base64-browser.js +0 -6
  765. package/js/src/static_dependencies/ethers/utils/base64.js +0 -6
  766. package/js/src/static_dependencies/ethers/utils/data.js +0 -6
  767. package/js/src/static_dependencies/ethers/utils/errors.js +0 -6
  768. package/js/src/static_dependencies/ethers/utils/events.js +0 -6
  769. package/js/src/static_dependencies/ethers/utils/fixednumber.js +0 -6
  770. package/js/src/static_dependencies/ethers/utils/index.js +0 -6
  771. package/js/src/static_dependencies/ethers/utils/maths.js +0 -6
  772. package/js/src/static_dependencies/ethers/utils/properties.js +0 -6
  773. package/js/src/static_dependencies/ethers/utils/rlp-decode.js +0 -6
  774. package/js/src/static_dependencies/ethers/utils/rlp-encode.js +0 -6
  775. package/js/src/static_dependencies/ethers/utils/rlp.js +0 -6
  776. package/js/src/static_dependencies/ethers/utils/units.js +0 -6
  777. package/js/src/static_dependencies/ethers/utils/utf8.js +0 -6
  778. package/js/src/static_dependencies/ethers/utils/uuid.js +0 -6
  779. package/js/src/static_dependencies/fflake/browser.js +0 -6
  780. package/js/src/static_dependencies/jsencrypt/JSEncrypt.js +0 -6
  781. package/js/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +0 -6
  782. package/js/src/static_dependencies/jsencrypt/index.js +0 -6
  783. package/js/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +0 -6
  784. package/js/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +0 -6
  785. package/js/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +0 -6
  786. package/js/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +0 -6
  787. package/js/src/static_dependencies/jsencrypt/lib/asn1js/oids.js +0 -6
  788. package/js/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +0 -6
  789. package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +0 -6
  790. package/js/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +0 -6
  791. package/js/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +0 -6
  792. package/js/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +0 -6
  793. package/js/src/static_dependencies/jsencrypt/lib/jsbn/util.js +0 -6
  794. package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +0 -6
  795. package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +0 -6
  796. package/js/src/static_dependencies/messagepack/msgpack.js +0 -6
  797. package/js/src/static_dependencies/noble-curves/_shortw_utils.js +0 -6
  798. package/js/src/static_dependencies/noble-curves/abstract/curve.js +0 -6
  799. package/js/src/static_dependencies/noble-curves/abstract/edwards.js +0 -6
  800. package/js/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +0 -6
  801. package/js/src/static_dependencies/noble-curves/abstract/modular.js +0 -6
  802. package/js/src/static_dependencies/noble-curves/abstract/montgomery.js +0 -6
  803. package/js/src/static_dependencies/noble-curves/abstract/poseidon.js +0 -6
  804. package/js/src/static_dependencies/noble-curves/abstract/utils.js +0 -6
  805. package/js/src/static_dependencies/noble-curves/abstract/weierstrass.js +0 -6
  806. package/js/src/static_dependencies/noble-curves/bn.js +0 -6
  807. package/js/src/static_dependencies/noble-curves/ed25519.js +0 -6
  808. package/js/src/static_dependencies/noble-curves/ed448.js +0 -6
  809. package/js/src/static_dependencies/noble-curves/index.js +0 -6
  810. package/js/src/static_dependencies/noble-curves/jubjub.js +0 -6
  811. package/js/src/static_dependencies/noble-curves/p256.js +0 -6
  812. package/js/src/static_dependencies/noble-curves/p384.js +0 -6
  813. package/js/src/static_dependencies/noble-curves/p521.js +0 -6
  814. package/js/src/static_dependencies/noble-curves/pasta.js +0 -6
  815. package/js/src/static_dependencies/noble-curves/secp256k1.js +0 -6
  816. package/js/src/static_dependencies/noble-hashes/_assert.js +0 -6
  817. package/js/src/static_dependencies/noble-hashes/_blake2.js +0 -6
  818. package/js/src/static_dependencies/noble-hashes/_sha2.js +0 -6
  819. package/js/src/static_dependencies/noble-hashes/_u64.js +0 -6
  820. package/js/src/static_dependencies/noble-hashes/argon2.js +0 -6
  821. package/js/src/static_dependencies/noble-hashes/blake2b.js +0 -6
  822. package/js/src/static_dependencies/noble-hashes/blake2s.js +0 -6
  823. package/js/src/static_dependencies/noble-hashes/blake3.js +0 -6
  824. package/js/src/static_dependencies/noble-hashes/crypto.js +0 -6
  825. package/js/src/static_dependencies/noble-hashes/cryptoNode.js +0 -6
  826. package/js/src/static_dependencies/noble-hashes/eskdf.js +0 -6
  827. package/js/src/static_dependencies/noble-hashes/hkdf.js +0 -6
  828. package/js/src/static_dependencies/noble-hashes/hmac.js +0 -6
  829. package/js/src/static_dependencies/noble-hashes/index.js +0 -6
  830. package/js/src/static_dependencies/noble-hashes/md5.js +0 -6
  831. package/js/src/static_dependencies/noble-hashes/pbkdf2.js +0 -6
  832. package/js/src/static_dependencies/noble-hashes/ripemd160.js +0 -6
  833. package/js/src/static_dependencies/noble-hashes/scrypt.js +0 -6
  834. package/js/src/static_dependencies/noble-hashes/sha1.js +0 -6
  835. package/js/src/static_dependencies/noble-hashes/sha256.js +0 -6
  836. package/js/src/static_dependencies/noble-hashes/sha3-addons.js +0 -6
  837. package/js/src/static_dependencies/noble-hashes/sha3.js +0 -6
  838. package/js/src/static_dependencies/noble-hashes/sha512.js +0 -6
  839. package/js/src/static_dependencies/noble-hashes/utils.js +0 -6
  840. package/js/src/static_dependencies/node-fetch/body.js +0 -6
  841. package/js/src/static_dependencies/node-fetch/errors/abort-error.js +0 -6
  842. package/js/src/static_dependencies/node-fetch/errors/base.js +0 -6
  843. package/js/src/static_dependencies/node-fetch/errors/fetch-error.js +0 -6
  844. package/js/src/static_dependencies/node-fetch/headers.js +0 -6
  845. package/js/src/static_dependencies/node-fetch/index.js +0 -6
  846. package/js/src/static_dependencies/node-fetch/request.js +0 -6
  847. package/js/src/static_dependencies/node-fetch/response.js +0 -6
  848. package/js/src/static_dependencies/node-fetch/utils/get-search.js +0 -6
  849. package/js/src/static_dependencies/node-fetch/utils/is-redirect.js +0 -6
  850. package/js/src/static_dependencies/node-fetch/utils/is.js +0 -6
  851. package/js/src/static_dependencies/node-fetch/utils/referrer.js +0 -6
  852. package/js/src/static_dependencies/proxies/agent-base/helpers.js +0 -6
  853. package/js/src/static_dependencies/proxies/agent-base/index.js +0 -6
  854. package/js/src/static_dependencies/proxies/http-proxy-agent/index.js +0 -6
  855. package/js/src/static_dependencies/proxies/https-proxy-agent/index.js +0 -6
  856. package/js/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +0 -6
  857. package/js/src/static_dependencies/qs/formats.cjs +0 -6
  858. package/js/src/static_dependencies/qs/index.cjs +0 -6
  859. package/js/src/static_dependencies/qs/parse.cjs +0 -6
  860. package/js/src/static_dependencies/qs/stringify.cjs +0 -6
  861. package/js/src/static_dependencies/qs/utils.cjs +0 -6
  862. package/js/src/static_dependencies/scure-base/index.js +0 -6
  863. package/js/src/static_dependencies/scure-starknet/index.js +0 -6
  864. package/js/src/static_dependencies/starknet/constants.js +0 -6
  865. package/js/src/static_dependencies/starknet/index.js +0 -6
  866. package/js/src/static_dependencies/starknet/types/cairoEnum.js +0 -6
  867. package/js/src/static_dependencies/starknet/types/calldata.js +0 -6
  868. package/js/src/static_dependencies/starknet/types/index.js +0 -6
  869. package/js/src/static_dependencies/starknet/types/lib/contract/abi.js +0 -6
  870. package/js/src/static_dependencies/starknet/types/lib/contract/index.js +0 -6
  871. package/js/src/static_dependencies/starknet/types/lib/contract/legacy.js +0 -6
  872. package/js/src/static_dependencies/starknet/types/lib/contract/sierra.js +0 -6
  873. package/js/src/static_dependencies/starknet/types/lib/index.js +0 -6
  874. package/js/src/static_dependencies/starknet/types/typedData.js +0 -6
  875. package/js/src/static_dependencies/starknet/utils/address.js +0 -6
  876. package/js/src/static_dependencies/starknet/utils/assert.js +0 -6
  877. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +0 -6
  878. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +0 -6
  879. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +0 -6
  880. package/js/src/static_dependencies/starknet/utils/calldata/byteArray.js +0 -6
  881. package/js/src/static_dependencies/starknet/utils/calldata/cairo.js +0 -6
  882. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +0 -6
  883. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +0 -6
  884. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +0 -6
  885. package/js/src/static_dependencies/starknet/utils/calldata/enum/index.js +0 -6
  886. package/js/src/static_dependencies/starknet/utils/calldata/formatter.js +0 -6
  887. package/js/src/static_dependencies/starknet/utils/calldata/index.js +0 -6
  888. package/js/src/static_dependencies/starknet/utils/calldata/parser/index.js +0 -6
  889. package/js/src/static_dependencies/starknet/utils/calldata/parser/interface.js +0 -6
  890. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +0 -6
  891. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +0 -6
  892. package/js/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +0 -6
  893. package/js/src/static_dependencies/starknet/utils/calldata/requestParser.js +0 -6
  894. package/js/src/static_dependencies/starknet/utils/calldata/responseParser.js +0 -6
  895. package/js/src/static_dependencies/starknet/utils/calldata/tuple.js +0 -6
  896. package/js/src/static_dependencies/starknet/utils/calldata/validate.js +0 -6
  897. package/js/src/static_dependencies/starknet/utils/encode.js +0 -6
  898. package/js/src/static_dependencies/starknet/utils/hash/classHash.js +0 -6
  899. package/js/src/static_dependencies/starknet/utils/hash/index.js +0 -6
  900. package/js/src/static_dependencies/starknet/utils/merkle.js +0 -6
  901. package/js/src/static_dependencies/starknet/utils/num.js +0 -6
  902. package/js/src/static_dependencies/starknet/utils/selector.js +0 -6
  903. package/js/src/static_dependencies/starknet/utils/shortString.js +0 -6
  904. package/js/src/static_dependencies/starknet/utils/starknetId.js +0 -6
  905. package/js/src/static_dependencies/starknet/utils/typedData.js +0 -6
  906. package/js/src/static_dependencies/starknet/utils/uint256.js +0 -6
  907. package/js/src/static_dependencies/starknet/utils/url.js +0 -6
  908. package/js/src/static_dependencies/watchable/src/index.js +0 -6
  909. package/js/src/static_dependencies/watchable/src/types.js +0 -6
  910. package/js/src/static_dependencies/watchable/src/unpromise.js +0 -6
  911. package/js/src/timex.js +0 -6
  912. package/js/src/tokocrypto.js +0 -6
  913. package/js/src/tradeogre.d.ts +23 -1
  914. package/js/src/tradeogre.js +137 -18
  915. package/js/src/upbit.js +0 -6
  916. package/js/src/vertex.js +0 -6
  917. package/js/src/wavesexchange.js +0 -6
  918. package/js/src/whitebit.d.ts +66 -1
  919. package/js/src/whitebit.js +282 -7
  920. package/js/src/woo.js +0 -6
  921. package/js/src/woofipro.js +0 -6
  922. package/js/src/xt.js +0 -6
  923. package/js/src/yobit.js +0 -6
  924. package/js/src/zaif.js +0 -6
  925. package/js/src/zonda.js +0 -6
  926. package/package.json +1 -1
  927. package/js/src/abstract/currencycom.d.ts +0 -71
  928. package/js/src/abstract/currencycom.js +0 -11
  929. package/js/src/currencycom.d.ts +0 -284
  930. package/js/src/currencycom.js +0 -2123
  931. package/js/src/pro/currencycom.d.ts +0 -88
  932. package/js/src/pro/currencycom.js +0 -564
@@ -0,0 +1,747 @@
1
+ // ----------------------------------------------------------------------------
2
+ import deriveRest from '../derive.js';
3
+ import { ExchangeError, AuthenticationError, UnsubscribeError } from '../base/errors.js';
4
+ import { ArrayCacheBySymbolById, ArrayCache } from '../base/ws/Cache.js';
5
+ // ----------------------------------------------------------------------------
6
+ export default class derive extends deriveRest {
7
+ describe() {
8
+ return this.deepExtend(super.describe(), {
9
+ 'has': {
10
+ 'ws': false,
11
+ 'watchBalance': false,
12
+ 'watchMyTrades': true,
13
+ 'watchOHLCV': false,
14
+ 'watchOrderBook': true,
15
+ 'watchOrders': true,
16
+ 'watchTicker': true,
17
+ 'watchTickers': false,
18
+ 'watchBidsAsks': false,
19
+ 'watchTrades': true,
20
+ 'watchTradesForSymbols': false,
21
+ 'watchPositions': false,
22
+ },
23
+ 'urls': {
24
+ 'api': {
25
+ 'ws': 'wss://api.lyra.finance/ws',
26
+ },
27
+ 'test': {
28
+ 'ws': 'wss://api-demo.lyra.finance/ws',
29
+ },
30
+ },
31
+ 'options': {
32
+ 'tradesLimit': 1000,
33
+ 'ordersLimit': 1000,
34
+ 'requestId': {},
35
+ },
36
+ 'streaming': {
37
+ 'keepAlive': 9000,
38
+ },
39
+ 'exceptions': {
40
+ 'ws': {
41
+ 'exact': {},
42
+ },
43
+ },
44
+ });
45
+ }
46
+ requestId(url) {
47
+ const options = this.safeValue(this.options, 'requestId', {});
48
+ const previousValue = this.safeInteger(options, url, 0);
49
+ const newValue = this.sum(previousValue, 1);
50
+ this.options['requestId'][url] = newValue;
51
+ return newValue;
52
+ }
53
+ async watchPublic(messageHash, message, subscription) {
54
+ const url = this.urls['api']['ws'];
55
+ const requestId = this.requestId(url);
56
+ const request = this.extend(message, {
57
+ 'id': requestId,
58
+ });
59
+ subscription = this.extend(subscription, {
60
+ 'id': requestId,
61
+ 'method': 'subscribe',
62
+ });
63
+ return await this.watch(url, messageHash, request, messageHash, subscription);
64
+ }
65
+ /**
66
+ * @method
67
+ * @name derive#watchOrderBook
68
+ * @see https://docs.derive.xyz/reference/orderbook-instrument_name-group-depth
69
+ * @description watches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
70
+ * @param {string} symbol unified symbol of the market to fetch the order book for
71
+ * @param {int} [limit] the maximum amount of order book entries to return.
72
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
73
+ * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
74
+ */
75
+ async watchOrderBook(symbol, limit = undefined, params = {}) {
76
+ await this.loadMarkets();
77
+ if (limit === undefined) {
78
+ limit = 10;
79
+ }
80
+ const market = this.market(symbol);
81
+ const topic = 'orderbook.' + market['id'] + '.10.' + this.numberToString(limit);
82
+ const request = {
83
+ 'method': 'subscribe',
84
+ 'params': {
85
+ 'channels': [
86
+ topic,
87
+ ],
88
+ },
89
+ };
90
+ const subscription = {
91
+ 'name': topic,
92
+ 'symbol': symbol,
93
+ 'limit': limit,
94
+ 'params': params,
95
+ };
96
+ const orderbook = await this.watchPublic(topic, request, subscription);
97
+ return orderbook.limit();
98
+ }
99
+ handleOrderBook(client, message) {
100
+ //
101
+ // {
102
+ // method: 'subscription',
103
+ // params: {
104
+ // channel: 'orderbook.BTC-PERP.10.1',
105
+ // data: {
106
+ // timestamp: 1738331231506,
107
+ // instrument_name: 'BTC-PERP',
108
+ // publish_id: 628419,
109
+ // bids: [ [ '104669', '40' ] ],
110
+ // asks: [ [ '104736', '40' ] ]
111
+ // }
112
+ // }
113
+ // }
114
+ //
115
+ const params = this.safeDict(message, 'params');
116
+ const data = this.safeDict(params, 'data');
117
+ const marketId = this.safeString(data, 'instrument_name');
118
+ const market = this.safeMarket(marketId);
119
+ const symbol = market['symbol'];
120
+ const topic = this.safeString(params, 'channel');
121
+ if (!(symbol in this.orderbooks)) {
122
+ const defaultLimit = this.safeInteger(this.options, 'watchOrderBookLimit', 1000);
123
+ const subscription = client.subscriptions[topic];
124
+ const limit = this.safeInteger(subscription, 'limit', defaultLimit);
125
+ this.orderbooks[symbol] = this.orderBook({}, limit);
126
+ }
127
+ const orderbook = this.orderbooks[symbol];
128
+ const timestamp = this.safeInteger(data, 'timestamp');
129
+ const snapshot = this.parseOrderBook(data, symbol, timestamp, 'bids', 'asks');
130
+ orderbook.reset(snapshot);
131
+ client.resolve(orderbook, topic);
132
+ }
133
+ /**
134
+ * @method
135
+ * @name derive#watchTicker
136
+ * @see https://docs.derive.xyz/reference/ticker-instrument_name-interval
137
+ * @description watches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
138
+ * @param {string} symbol unified symbol of the market to fetch the ticker for
139
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
140
+ * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
141
+ */
142
+ async watchTicker(symbol, params = {}) {
143
+ await this.loadMarkets();
144
+ const market = this.market(symbol);
145
+ const topic = 'ticker.' + market['id'] + '.100';
146
+ const request = {
147
+ 'method': 'subscribe',
148
+ 'params': {
149
+ 'channels': [
150
+ topic,
151
+ ],
152
+ },
153
+ };
154
+ const subscription = {
155
+ 'name': topic,
156
+ 'symbol': symbol,
157
+ 'params': params,
158
+ };
159
+ return await this.watchPublic(topic, request, subscription);
160
+ }
161
+ handleTicker(client, message) {
162
+ //
163
+ // {
164
+ // method: 'subscription',
165
+ // params: {
166
+ // channel: 'ticker.BTC-PERP.100',
167
+ // data: {
168
+ // timestamp: 1738485104439,
169
+ // instrument_ticker: {
170
+ // instrument_type: 'perp',
171
+ // instrument_name: 'BTC-PERP',
172
+ // scheduled_activation: 1701840228,
173
+ // scheduled_deactivation: '9223372036854775807',
174
+ // is_active: true,
175
+ // tick_size: '0.1',
176
+ // minimum_amount: '0.01',
177
+ // maximum_amount: '10000',
178
+ // amount_step: '0.001',
179
+ // mark_price_fee_rate_cap: '0',
180
+ // maker_fee_rate: '0.0001',
181
+ // taker_fee_rate: '0.0003',
182
+ // base_fee: '0.1',
183
+ // base_currency: 'BTC',
184
+ // quote_currency: 'USD',
185
+ // option_details: null,
186
+ // perp_details: {
187
+ // index: 'BTC-USD',
188
+ // max_rate_per_hour: '0.004',
189
+ // min_rate_per_hour: '-0.004',
190
+ // static_interest_rate: '0.0000125',
191
+ // aggregate_funding: '10581.779418721074588722',
192
+ // funding_rate: '0.000024792239208858'
193
+ // },
194
+ // erc20_details: null,
195
+ // base_asset_address: '0xDBa83C0C654DB1cd914FA2710bA743e925B53086',
196
+ // base_asset_sub_id: '0',
197
+ // pro_rata_fraction: '0',
198
+ // fifo_min_allocation: '0',
199
+ // pro_rata_amount_step: '0.1',
200
+ // best_ask_amount: '0.131',
201
+ // best_ask_price: '99898.6',
202
+ // best_bid_amount: '0.056',
203
+ // best_bid_price: '99889.1',
204
+ // five_percent_bid_depth: '11.817',
205
+ // five_percent_ask_depth: '9.116',
206
+ // option_pricing: null,
207
+ // index_price: '99883.8',
208
+ // mark_price: '99897.52408421244763303548098',
209
+ // stats: {
210
+ // contract_volume: '92.395',
211
+ // num_trades: '2924',
212
+ // open_interest: '33.743468027373780786',
213
+ // high: '102320.4',
214
+ // low: '99064.3',
215
+ // percent_change: '-0.021356',
216
+ // usd_change: '-2178'
217
+ // },
218
+ // timestamp: 1738485165881,
219
+ // min_price: '97939.1',
220
+ // max_price: '101895.2'
221
+ // }
222
+ // }
223
+ // }
224
+ // }
225
+ //
226
+ const params = this.safeDict(message, 'params');
227
+ const rawData = this.safeDict(params, 'data');
228
+ const data = this.safeDict(rawData, 'instrument_ticker');
229
+ const topic = this.safeValue(params, 'channel');
230
+ const ticker = this.parseTicker(data);
231
+ this.tickers[ticker['symbol']] = ticker;
232
+ client.resolve(ticker, topic);
233
+ return message;
234
+ }
235
+ /**
236
+ * @method
237
+ * @name derive#unWatchOrderBook
238
+ * @description unsubscribe from the orderbook channel
239
+ * @param {string} symbol unified symbol of the market to fetch the order book for
240
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
241
+ * @param {int} [params.limit] orderbook limit, default is undefined
242
+ * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
243
+ */
244
+ async unWatchOrderBook(symbol, params = {}) {
245
+ await this.loadMarkets();
246
+ let limit = this.safeInteger(params, 'limit');
247
+ if (limit === undefined) {
248
+ limit = 10;
249
+ }
250
+ const market = this.market(symbol);
251
+ const topic = 'orderbook.' + market['id'] + '.10.' + this.numberToString(limit);
252
+ const messageHash = 'unwatch' + topic;
253
+ const request = {
254
+ 'method': 'unsubscribe',
255
+ 'params': {
256
+ 'channels': [
257
+ topic,
258
+ ],
259
+ },
260
+ };
261
+ const subscription = {
262
+ 'name': topic,
263
+ };
264
+ return await this.unWatchPublic(messageHash, request, subscription);
265
+ }
266
+ /**
267
+ * @method
268
+ * @name derive#unWatchTrades
269
+ * @description unsubscribe from the trades channel
270
+ * @param {string} symbol unified symbol of the market to unwatch the trades for
271
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
272
+ * @returns {any} status of the unwatch request
273
+ */
274
+ async unWatchTrades(symbol, params = {}) {
275
+ await this.loadMarkets();
276
+ const market = this.market(symbol);
277
+ const topic = 'trades.' + market['id'];
278
+ const messageHah = 'unwatch' + topic;
279
+ const request = {
280
+ 'method': 'unsubscribe',
281
+ 'params': {
282
+ 'channels': [
283
+ topic,
284
+ ],
285
+ },
286
+ };
287
+ const subscription = {
288
+ 'name': topic,
289
+ };
290
+ return await this.unWatchPublic(messageHah, request, subscription);
291
+ }
292
+ async unWatchPublic(messageHash, message, subscription) {
293
+ const url = this.urls['api']['ws'];
294
+ const requestId = this.requestId(url);
295
+ const request = this.extend(message, {
296
+ 'id': requestId,
297
+ });
298
+ subscription = this.extend(subscription, {
299
+ 'id': requestId,
300
+ 'method': 'unsubscribe',
301
+ });
302
+ return await this.watch(url, messageHash, request, messageHash, subscription);
303
+ }
304
+ handleOrderBookUnSubscription(client, topic) {
305
+ const parsedTopic = topic.split('.');
306
+ const marketId = this.safeString(parsedTopic, 1);
307
+ const market = this.safeMarket(marketId);
308
+ const symbol = market['symbol'];
309
+ if (symbol in this.orderbooks) {
310
+ delete this.orderbooks[symbol];
311
+ }
312
+ if (topic in client.subscriptions) {
313
+ delete client.subscriptions[topic];
314
+ }
315
+ const error = new UnsubscribeError(this.id + ' orderbook ' + symbol);
316
+ client.reject(error, topic);
317
+ client.resolve(error, 'unwatch' + topic);
318
+ }
319
+ handleTradesUnSubscription(client, topic) {
320
+ const parsedTopic = topic.split('.');
321
+ const marketId = this.safeString(parsedTopic, 1);
322
+ const market = this.safeMarket(marketId);
323
+ const symbol = market['symbol'];
324
+ if (symbol in this.orderbooks) {
325
+ delete this.trades[symbol];
326
+ }
327
+ if (topic in client.subscriptions) {
328
+ delete client.subscriptions[topic];
329
+ }
330
+ const error = new UnsubscribeError(this.id + ' trades ' + symbol);
331
+ client.reject(error, topic);
332
+ client.resolve(error, 'unwatch' + topic);
333
+ }
334
+ handleUnSubscribe(client, message) {
335
+ //
336
+ // {
337
+ // id: 1,
338
+ // result: {
339
+ // status: { 'orderbook.BTC-PERP.10.10': 'ok' },
340
+ // remaining_subscriptions: []
341
+ // }
342
+ // }
343
+ //
344
+ const result = this.safeDict(message, 'result');
345
+ const status = this.safeDict(result, 'status');
346
+ if (status !== undefined) {
347
+ const topics = Object.keys(status);
348
+ for (let i = 0; i < topics.length; i++) {
349
+ const topic = topics[i];
350
+ if (topic.indexOf('orderbook') >= 0) {
351
+ this.handleOrderBookUnSubscription(client, topic);
352
+ }
353
+ else if (topic.indexOf('trades') >= 0) {
354
+ this.handleTradesUnSubscription(client, topic);
355
+ }
356
+ }
357
+ }
358
+ return message;
359
+ }
360
+ /**
361
+ * @method
362
+ * @name derive#watchTrades
363
+ * @description watches information on multiple trades made in a market
364
+ * @see https://docs.derive.xyz/reference/trades-instrument_name
365
+ * @param {string} symbol unified market symbol of the market trades were made in
366
+ * @param {int} [since] the earliest time in ms to fetch trades for
367
+ * @param {int} [limit] the maximum number of trade structures to retrieve
368
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
369
+ * @returns {object[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=trade-structure}
370
+ */
371
+ async watchTrades(symbol, since = undefined, limit = undefined, params = {}) {
372
+ await this.loadMarkets();
373
+ const market = this.market(symbol);
374
+ const topic = 'trades.' + market['id'];
375
+ const request = {
376
+ 'method': 'subscribe',
377
+ 'params': {
378
+ 'channels': [
379
+ topic,
380
+ ],
381
+ },
382
+ };
383
+ const subscription = {
384
+ 'name': topic,
385
+ 'symbol': symbol,
386
+ 'params': params,
387
+ };
388
+ const trades = await this.watchPublic(topic, request, subscription);
389
+ if (this.newUpdates) {
390
+ limit = trades.getLimit(market['symbol'], limit);
391
+ }
392
+ return this.filterBySymbolSinceLimit(trades, symbol, since, limit, true);
393
+ }
394
+ handleTrade(client, message) {
395
+ //
396
+ //
397
+ const params = this.safeDict(message, 'params');
398
+ const data = this.safeDict(params, 'data');
399
+ const topic = this.safeValue(params, 'channel');
400
+ const parsedTopic = topic.split('.');
401
+ const marketId = this.safeString(parsedTopic, 1);
402
+ const market = this.safeMarket(marketId);
403
+ const symbol = market['symbol'];
404
+ let tradesArray = this.safeValue(this.trades, symbol);
405
+ if (tradesArray === undefined) {
406
+ const limit = this.safeInteger(this.options, 'tradesLimit', 1000);
407
+ tradesArray = new ArrayCache(limit);
408
+ }
409
+ for (let i = 0; i < data.length; i++) {
410
+ const trade = this.parseTrade(data[i]);
411
+ tradesArray.append(trade);
412
+ }
413
+ this.trades[symbol] = tradesArray;
414
+ client.resolve(tradesArray, topic);
415
+ }
416
+ async authenticate(params = {}) {
417
+ this.checkRequiredCredentials();
418
+ const url = this.urls['api']['ws'];
419
+ const client = this.client(url);
420
+ const messageHash = 'authenticated';
421
+ const future = client.future(messageHash);
422
+ const authenticated = this.safeValue(client.subscriptions, messageHash);
423
+ if (authenticated === undefined) {
424
+ const requestId = this.requestId(url);
425
+ const now = this.milliseconds().toString();
426
+ const signature = this.signMessage(now, this.privateKey);
427
+ const contractWalletAddress = this.safeString(this.options, 'contractWalletAddress');
428
+ const request = {
429
+ 'id': requestId,
430
+ 'method': 'public/login',
431
+ 'params': {
432
+ 'wallet': contractWalletAddress,
433
+ 'timestamp': now,
434
+ 'signature': signature,
435
+ },
436
+ };
437
+ // const subscription: Dict = {
438
+ // 'name': topic,
439
+ // 'symbol': symbol,
440
+ // 'params': params,
441
+ // };
442
+ const message = this.extend(request, params);
443
+ this.watch(url, messageHash, message, messageHash, message);
444
+ }
445
+ return await future;
446
+ }
447
+ async watchPrivate(messageHash, message, subscription) {
448
+ await this.authenticate();
449
+ const url = this.urls['api']['ws'];
450
+ const requestId = this.requestId(url);
451
+ const request = this.extend(message, {
452
+ 'id': requestId,
453
+ });
454
+ subscription = this.extend(subscription, {
455
+ 'id': requestId,
456
+ 'method': 'subscribe',
457
+ });
458
+ return await this.watch(url, messageHash, request, messageHash, subscription);
459
+ }
460
+ /**
461
+ * @method
462
+ * @name derive#watchOrders
463
+ * @see https://docs.derive.xyz/reference/subaccount_id-orders
464
+ * @description watches information on multiple orders made by the user
465
+ * @param {string} symbol unified market symbol of the market orders were made in
466
+ * @param {int} [since] the earliest time in ms to fetch orders for
467
+ * @param {int} [limit] the maximum number of order structures to retrieve
468
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
469
+ * @param {string} [params.subaccount_id] *required* the subaccount id
470
+ * @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
471
+ */
472
+ async watchOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
473
+ await this.loadMarkets();
474
+ let subaccountId = undefined;
475
+ [subaccountId, params] = this.handleDeriveSubaccountId('watchOrders', params);
476
+ const topic = this.numberToString(subaccountId) + '.orders';
477
+ let messageHash = topic;
478
+ if (symbol !== undefined) {
479
+ const market = this.market(symbol);
480
+ symbol = market['symbol'];
481
+ messageHash += ':' + symbol;
482
+ }
483
+ const request = {
484
+ 'method': 'subscribe',
485
+ 'params': {
486
+ 'channels': [
487
+ topic,
488
+ ],
489
+ },
490
+ };
491
+ const subscription = {
492
+ 'name': topic,
493
+ 'params': params,
494
+ };
495
+ const message = this.extend(request, params);
496
+ const orders = await this.watchPrivate(messageHash, message, subscription);
497
+ if (this.newUpdates) {
498
+ limit = orders.getLimit(symbol, limit);
499
+ }
500
+ return this.filterBySymbolSinceLimit(orders, symbol, since, limit, true);
501
+ }
502
+ handleOrder(client, message) {
503
+ //
504
+ // {
505
+ // method: 'subscription',
506
+ // params: {
507
+ // channel: '130837.orders',
508
+ // data: [
509
+ // {
510
+ // subaccount_id: 130837,
511
+ // order_id: '1f44c564-5658-4b69-b8c4-4019924207d5',
512
+ // instrument_name: 'BTC-PERP',
513
+ // direction: 'buy',
514
+ // label: 'test1234',
515
+ // quote_id: null,
516
+ // creation_timestamp: 1738578974146,
517
+ // last_update_timestamp: 1738578974146,
518
+ // limit_price: '10000',
519
+ // amount: '0.01',
520
+ // filled_amount: '0',
521
+ // average_price: '0',
522
+ // order_fee: '0',
523
+ // order_type: 'limit',
524
+ // time_in_force: 'post_only',
525
+ // order_status: 'untriggered',
526
+ // max_fee: '219',
527
+ // signature_expiry_sec: 1746354973,
528
+ // nonce: 1738578973570,
529
+ // signer: '0x30CB7B06AdD6749BbE146A6827502B8f2a79269A',
530
+ // signature: '0xc6927095f74a0d3b1aeef8c0579d120056530479f806e9d2e6616df742a8934c69046361beae833b32b25c0145e318438d7d1624bb835add956f63aa37192f571c',
531
+ // cancel_reason: '',
532
+ // mmp: false,
533
+ // is_transfer: false,
534
+ // replaced_order_id: null,
535
+ // trigger_type: 'stoploss',
536
+ // trigger_price_type: 'mark',
537
+ // trigger_price: '102800',
538
+ // trigger_reject_message: null
539
+ // }
540
+ // ]
541
+ // }
542
+ // }
543
+ //
544
+ const params = this.safeDict(message, 'params');
545
+ const topic = this.safeString(params, 'channel');
546
+ const rawOrders = this.safeList(params, 'data');
547
+ for (let i = 0; i < rawOrders.length; i++) {
548
+ const data = rawOrders[i];
549
+ const parsed = this.parseOrder(data);
550
+ const symbol = this.safeString(parsed, 'symbol');
551
+ const orderId = this.safeString(parsed, 'id');
552
+ if (symbol !== undefined) {
553
+ if (this.orders === undefined) {
554
+ const limit = this.safeInteger(this.options, 'ordersLimit', 1000);
555
+ this.orders = new ArrayCacheBySymbolById(limit);
556
+ }
557
+ const cachedOrders = this.orders;
558
+ const orders = this.safeValue(cachedOrders.hashmap, symbol, {});
559
+ const order = this.safeValue(orders, orderId);
560
+ if (order !== undefined) {
561
+ const fee = this.safeValue(order, 'fee');
562
+ if (fee !== undefined) {
563
+ parsed['fee'] = fee;
564
+ }
565
+ const fees = this.safeValue(order, 'fees');
566
+ if (fees !== undefined) {
567
+ parsed['fees'] = fees;
568
+ }
569
+ parsed['trades'] = this.safeValue(order, 'trades');
570
+ parsed['timestamp'] = this.safeInteger(order, 'timestamp');
571
+ parsed['datetime'] = this.safeString(order, 'datetime');
572
+ }
573
+ cachedOrders.append(parsed);
574
+ const messageHashSymbol = topic + ':' + symbol;
575
+ client.resolve(this.orders, messageHashSymbol);
576
+ }
577
+ }
578
+ client.resolve(this.orders, topic);
579
+ }
580
+ /**
581
+ * @method
582
+ * @name derive#watchMyTrades
583
+ * @see https://docs.derive.xyz/reference/subaccount_id-trades
584
+ * @description watches information on multiple trades made by the user
585
+ * @param {string} symbol unified market symbol of the market orders were made in
586
+ * @param {int} [since] the earliest time in ms to fetch orders for
587
+ * @param {int} [limit] the maximum number of order structures to retrieve
588
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
589
+ * @param {string} [params.subaccount_id] *required* the subaccount id
590
+ * @returns {object[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=trade-structure}
591
+ */
592
+ async watchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
593
+ await this.loadMarkets();
594
+ let subaccountId = undefined;
595
+ [subaccountId, params] = this.handleDeriveSubaccountId('watchMyTrades', params);
596
+ const topic = this.numberToString(subaccountId) + '.trades';
597
+ let messageHash = topic;
598
+ if (symbol !== undefined) {
599
+ const market = this.market(symbol);
600
+ symbol = market['symbol'];
601
+ messageHash += ':' + symbol;
602
+ }
603
+ const request = {
604
+ 'method': 'subscribe',
605
+ 'params': {
606
+ 'channels': [
607
+ topic,
608
+ ],
609
+ },
610
+ };
611
+ const subscription = {
612
+ 'name': topic,
613
+ 'params': params,
614
+ };
615
+ const message = this.extend(request, params);
616
+ const trades = await this.watchPrivate(messageHash, message, subscription);
617
+ if (this.newUpdates) {
618
+ limit = trades.getLimit(symbol, limit);
619
+ }
620
+ return this.filterBySymbolSinceLimit(trades, symbol, since, limit, true);
621
+ }
622
+ handleMyTrade(client, message) {
623
+ //
624
+ //
625
+ let myTrades = this.myTrades;
626
+ if (myTrades === undefined) {
627
+ const limit = this.safeInteger(this.options, 'tradesLimit', 1000);
628
+ myTrades = new ArrayCacheBySymbolById(limit);
629
+ }
630
+ const params = this.safeDict(message, 'params');
631
+ const topic = this.safeString(params, 'channel');
632
+ const rawTrades = this.safeList(params, 'data');
633
+ for (let i = 0; i < rawTrades.length; i++) {
634
+ const trade = this.parseTrade(message);
635
+ myTrades.append(trade);
636
+ client.resolve(myTrades, topic);
637
+ const messageHash = topic + trade['symbol'];
638
+ client.resolve(myTrades, messageHash);
639
+ }
640
+ }
641
+ handleErrorMessage(client, message) {
642
+ //
643
+ // {
644
+ // id: '690c6276-0fc6-4121-aafa-f28bf5adedcb',
645
+ // error: { code: -32600, message: 'Invalid Request' }
646
+ // }
647
+ //
648
+ if (!('error' in message)) {
649
+ return false;
650
+ }
651
+ const errorMessage = this.safeDict(message, 'error');
652
+ const errorCode = this.safeString(errorMessage, 'code');
653
+ try {
654
+ if (errorCode !== undefined) {
655
+ const feedback = this.id + ' ' + this.json(message);
656
+ this.throwExactlyMatchedException(this.exceptions['exact'], errorCode, feedback);
657
+ throw new ExchangeError(feedback);
658
+ }
659
+ return false;
660
+ }
661
+ catch (error) {
662
+ if (error instanceof AuthenticationError) {
663
+ const messageHash = 'authenticated';
664
+ client.reject(error, messageHash);
665
+ if (messageHash in client.subscriptions) {
666
+ delete client.subscriptions[messageHash];
667
+ }
668
+ }
669
+ else {
670
+ client.reject(error);
671
+ }
672
+ return true;
673
+ }
674
+ }
675
+ handleMessage(client, message) {
676
+ if (this.handleErrorMessage(client, message)) {
677
+ return;
678
+ }
679
+ const methods = {
680
+ 'orderbook': this.handleOrderBook,
681
+ 'ticker': this.handleTicker,
682
+ 'trades': this.handleTrade,
683
+ 'orders': this.handleOrder,
684
+ 'mytrades': this.handleMyTrade,
685
+ };
686
+ let event = undefined;
687
+ const params = this.safeDict(message, 'params');
688
+ if (params !== undefined) {
689
+ const channel = this.safeString(params, 'channel');
690
+ if (channel !== undefined) {
691
+ const parsedChannel = channel.split('.');
692
+ if ((channel.indexOf('orders') >= 0) || channel.indexOf('trades') > 0) {
693
+ event = this.safeString(parsedChannel, 1);
694
+ // {subaccounr_id}.trades
695
+ if (event === 'trades') {
696
+ event = 'mytrades';
697
+ }
698
+ }
699
+ else {
700
+ event = this.safeString(parsedChannel, 0);
701
+ }
702
+ }
703
+ }
704
+ const method = this.safeValue(methods, event);
705
+ if (method !== undefined) {
706
+ method.call(this, client, message);
707
+ return;
708
+ }
709
+ if ('id' in message) {
710
+ const id = this.safeString(message, 'id');
711
+ const subscriptionsById = this.indexBy(client.subscriptions, 'id');
712
+ const subscription = this.safeValue(subscriptionsById, id, {});
713
+ if ('method' in subscription) {
714
+ if (subscription['method'] === 'public/login') {
715
+ this.handleAuth(client, message);
716
+ }
717
+ else if (subscription['method'] === 'unsubscribe') {
718
+ this.handleUnSubscribe(client, message);
719
+ }
720
+ // could handleSubscribe
721
+ }
722
+ }
723
+ }
724
+ handleAuth(client, message) {
725
+ //
726
+ // {
727
+ // id: 1,
728
+ // result: [ 130837 ]
729
+ // }
730
+ //
731
+ const messageHash = 'authenticated';
732
+ const ids = this.safeList(message, 'result');
733
+ if (ids.length > 0) {
734
+ // client.resolve (message, messageHash);
735
+ const future = this.safeValue(client.futures, 'authenticated');
736
+ future.resolve(true);
737
+ }
738
+ else {
739
+ const error = new AuthenticationError(this.json(message));
740
+ client.reject(error, messageHash);
741
+ // allows further authentication attempts
742
+ if (messageHash in client.subscriptions) {
743
+ delete client.subscriptions['authenticated'];
744
+ }
745
+ }
746
+ }
747
+ }