ccxt 4.4.65 → 4.4.68

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