ccxt 4.4.95 → 4.4.97

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 (502) hide show
  1. package/README.md +18 -18
  2. package/dist/ccxt.browser.min.js +3 -3
  3. package/dist/cjs/ccxt.js +4 -1
  4. package/dist/cjs/src/abstract/alpaca.js +1 -1
  5. package/dist/cjs/src/abstract/apex.js +1 -1
  6. package/dist/cjs/src/abstract/ascendex.js +1 -1
  7. package/dist/cjs/src/abstract/bigone.js +1 -1
  8. package/dist/cjs/src/abstract/binance.js +1 -1
  9. package/dist/cjs/src/abstract/bingx.js +1 -1
  10. package/dist/cjs/src/abstract/bit2c.js +1 -1
  11. package/dist/cjs/src/abstract/bitbank.js +1 -1
  12. package/dist/cjs/src/abstract/bitbns.js +1 -1
  13. package/dist/cjs/src/abstract/bitfinex.js +1 -1
  14. package/dist/cjs/src/abstract/bitflyer.js +1 -1
  15. package/dist/cjs/src/abstract/bitget.js +1 -1
  16. package/dist/cjs/src/abstract/bithumb.js +1 -1
  17. package/dist/cjs/src/abstract/bitmart.js +1 -1
  18. package/dist/cjs/src/abstract/bitmex.js +1 -1
  19. package/dist/cjs/src/abstract/bitopro.js +1 -1
  20. package/dist/cjs/src/abstract/bitrue.js +1 -1
  21. package/dist/cjs/src/abstract/bitso.js +1 -1
  22. package/dist/cjs/src/abstract/bitstamp.js +1 -1
  23. package/dist/cjs/src/abstract/bitteam.js +1 -1
  24. package/dist/cjs/src/abstract/bittrade.js +1 -1
  25. package/dist/cjs/src/abstract/bitvavo.js +1 -1
  26. package/dist/cjs/src/abstract/blockchaincom.js +1 -1
  27. package/dist/cjs/src/abstract/blofin.js +1 -1
  28. package/dist/cjs/src/abstract/btcalpha.js +1 -1
  29. package/dist/cjs/src/abstract/btcbox.js +1 -1
  30. package/dist/cjs/src/abstract/btcmarkets.js +1 -1
  31. package/dist/cjs/src/abstract/btcturk.js +1 -1
  32. package/dist/cjs/src/abstract/bybit.js +1 -1
  33. package/dist/cjs/src/abstract/cex.js +1 -1
  34. package/dist/cjs/src/abstract/coinbase.js +1 -1
  35. package/dist/cjs/src/abstract/coinbaseexchange.js +1 -1
  36. package/dist/cjs/src/abstract/coinbaseinternational.js +1 -1
  37. package/dist/cjs/src/abstract/coincatch.js +1 -1
  38. package/dist/cjs/src/abstract/coincheck.js +1 -1
  39. package/dist/cjs/src/abstract/coinex.js +1 -1
  40. package/dist/cjs/src/abstract/coinmate.js +1 -1
  41. package/dist/cjs/src/abstract/coinmetro.js +1 -1
  42. package/dist/cjs/src/abstract/coinone.js +1 -1
  43. package/dist/cjs/src/abstract/coinsph.js +1 -1
  44. package/dist/cjs/src/abstract/coinspot.js +1 -1
  45. package/dist/cjs/src/abstract/cryptocom.js +1 -1
  46. package/dist/cjs/src/abstract/cryptomus.js +1 -1
  47. package/dist/cjs/src/abstract/defx.js +1 -1
  48. package/dist/cjs/src/abstract/delta.js +1 -1
  49. package/dist/cjs/src/abstract/deribit.js +1 -1
  50. package/dist/cjs/src/abstract/derive.js +1 -1
  51. package/dist/cjs/src/abstract/digifinex.js +1 -1
  52. package/dist/cjs/src/abstract/ellipx.js +1 -1
  53. package/dist/cjs/src/abstract/exmo.js +1 -1
  54. package/dist/cjs/src/abstract/foxbit.js +9 -0
  55. package/dist/cjs/src/abstract/gate.js +1 -1
  56. package/dist/cjs/src/abstract/gemini.js +1 -1
  57. package/dist/cjs/src/abstract/hashkey.js +1 -1
  58. package/dist/cjs/src/abstract/hitbtc.js +1 -1
  59. package/dist/cjs/src/abstract/hollaex.js +1 -1
  60. package/dist/cjs/src/abstract/htx.js +1 -1
  61. package/dist/cjs/src/abstract/hyperliquid.js +1 -1
  62. package/dist/cjs/src/abstract/independentreserve.js +1 -1
  63. package/dist/cjs/src/abstract/indodax.js +1 -1
  64. package/dist/cjs/src/abstract/kraken.js +1 -1
  65. package/dist/cjs/src/abstract/krakenfutures.js +1 -1
  66. package/dist/cjs/src/abstract/kucoin.js +1 -1
  67. package/dist/cjs/src/abstract/kucoinfutures.js +1 -1
  68. package/dist/cjs/src/abstract/latoken.js +1 -1
  69. package/dist/cjs/src/abstract/lbank.js +1 -1
  70. package/dist/cjs/src/abstract/luno.js +1 -1
  71. package/dist/cjs/src/abstract/mercado.js +1 -1
  72. package/dist/cjs/src/abstract/mexc.js +1 -1
  73. package/dist/cjs/src/abstract/modetrade.js +1 -1
  74. package/dist/cjs/src/abstract/ndax.js +1 -1
  75. package/dist/cjs/src/abstract/novadax.js +1 -1
  76. package/dist/cjs/src/abstract/oceanex.js +1 -1
  77. package/dist/cjs/src/abstract/okcoin.js +1 -1
  78. package/dist/cjs/src/abstract/okx.js +1 -1
  79. package/dist/cjs/src/abstract/onetrading.js +1 -1
  80. package/dist/cjs/src/abstract/oxfun.js +1 -1
  81. package/dist/cjs/src/abstract/p2b.js +1 -1
  82. package/dist/cjs/src/abstract/paradex.js +1 -1
  83. package/dist/cjs/src/abstract/paymium.js +1 -1
  84. package/dist/cjs/src/abstract/phemex.js +1 -1
  85. package/dist/cjs/src/abstract/poloniex.js +1 -1
  86. package/dist/cjs/src/abstract/probit.js +1 -1
  87. package/dist/cjs/src/abstract/timex.js +1 -1
  88. package/dist/cjs/src/abstract/tokocrypto.js +1 -1
  89. package/dist/cjs/src/abstract/tradeogre.js +1 -1
  90. package/dist/cjs/src/abstract/upbit.js +1 -1
  91. package/dist/cjs/src/abstract/vertex.js +1 -1
  92. package/dist/cjs/src/abstract/wavesexchange.js +1 -1
  93. package/dist/cjs/src/abstract/whitebit.js +1 -1
  94. package/dist/cjs/src/abstract/woo.js +1 -1
  95. package/dist/cjs/src/abstract/woofipro.js +1 -1
  96. package/dist/cjs/src/abstract/xt.js +1 -1
  97. package/dist/cjs/src/abstract/yobit.js +1 -1
  98. package/dist/cjs/src/abstract/zaif.js +1 -1
  99. package/dist/cjs/src/abstract/zonda.js +1 -1
  100. package/dist/cjs/src/alpaca.js +1 -1
  101. package/dist/cjs/src/apex.js +3 -3
  102. package/dist/cjs/src/ascendex.js +4 -4
  103. package/dist/cjs/src/base/Exchange.js +69 -17
  104. package/dist/cjs/src/base/Precise.js +6 -0
  105. package/dist/cjs/src/base/errors.js +6 -0
  106. package/dist/cjs/src/base/functions/crypto.js +1 -1
  107. package/dist/cjs/src/base/functions/encode.js +1 -1
  108. package/dist/cjs/src/base/functions/misc.js +1 -0
  109. package/dist/cjs/src/base/functions/number.js +36 -9
  110. package/dist/cjs/src/base/functions/platform.js +6 -0
  111. package/dist/cjs/src/base/functions/rsa.js +1 -0
  112. package/dist/cjs/src/base/functions/string.js +6 -0
  113. package/dist/cjs/src/base/functions/throttle.js +1 -1
  114. package/dist/cjs/src/base/functions/time.js +6 -0
  115. package/dist/cjs/src/base/functions/totp.js +1 -0
  116. package/dist/cjs/src/base/functions/type.js +6 -0
  117. package/dist/cjs/src/base/functions.js +1 -1
  118. package/dist/cjs/src/base/ws/Cache.js +6 -0
  119. package/dist/cjs/src/base/ws/Client.js +1 -0
  120. package/dist/cjs/src/base/ws/Future.js +1 -1
  121. package/dist/cjs/src/base/ws/OrderBook.js +1 -1
  122. package/dist/cjs/src/base/ws/OrderBookSide.js +6 -0
  123. package/dist/cjs/src/base/ws/WsClient.js +1 -1
  124. package/dist/cjs/src/bequant.js +1 -1
  125. package/dist/cjs/src/bigone.js +1 -1
  126. package/dist/cjs/src/binance.js +96 -35
  127. package/dist/cjs/src/binancecoinm.js +6 -2
  128. package/dist/cjs/src/binanceus.js +4 -2
  129. package/dist/cjs/src/binanceusdm.js +4 -2
  130. package/dist/cjs/src/bingx.js +2 -2
  131. package/dist/cjs/src/bit2c.js +1 -1
  132. package/dist/cjs/src/bitbank.js +1 -1
  133. package/dist/cjs/src/bitbns.js +1 -1
  134. package/dist/cjs/src/bitfinex.js +1 -1
  135. package/dist/cjs/src/bitflyer.js +1 -1
  136. package/dist/cjs/src/bitget.js +32 -144
  137. package/dist/cjs/src/bithumb.js +1 -1
  138. package/dist/cjs/src/bitmart.js +3 -3
  139. package/dist/cjs/src/bitmex.js +1 -1
  140. package/dist/cjs/src/bitopro.js +1 -1
  141. package/dist/cjs/src/bitrue.js +16 -9
  142. package/dist/cjs/src/bitso.js +1 -1
  143. package/dist/cjs/src/bitstamp.js +1 -1
  144. package/dist/cjs/src/bitteam.js +1 -1
  145. package/dist/cjs/src/bittrade.js +1 -1
  146. package/dist/cjs/src/blockchaincom.js +1 -1
  147. package/dist/cjs/src/blofin.js +1 -1
  148. package/dist/cjs/src/btcalpha.js +1 -1
  149. package/dist/cjs/src/btcbox.js +1 -1
  150. package/dist/cjs/src/btcmarkets.js +1 -1
  151. package/dist/cjs/src/btcturk.js +1 -1
  152. package/dist/cjs/src/bybit.js +17 -6
  153. package/dist/cjs/src/cex.js +1 -1
  154. package/dist/cjs/src/coinbaseadvanced.js +1 -1
  155. package/dist/cjs/src/coinbaseexchange.js +4 -2
  156. package/dist/cjs/src/coincatch.js +1 -1
  157. package/dist/cjs/src/coincheck.js +1 -1
  158. package/dist/cjs/src/coinex.js +1 -1
  159. package/dist/cjs/src/coinmate.js +1 -1
  160. package/dist/cjs/src/coinmetro.js +1 -1
  161. package/dist/cjs/src/coinone.js +1 -1
  162. package/dist/cjs/src/coinsph.js +1 -0
  163. package/dist/cjs/src/coinspot.js +37 -2
  164. package/dist/cjs/src/cryptocom.js +79 -3
  165. package/dist/cjs/src/cryptomus.js +42 -2
  166. package/dist/cjs/src/defx.js +2 -2
  167. package/dist/cjs/src/delta.js +1 -1
  168. package/dist/cjs/src/deribit.js +1 -1
  169. package/dist/cjs/src/derive.js +2 -2
  170. package/dist/cjs/src/digifinex.js +1 -1
  171. package/dist/cjs/src/ellipx.js +41 -1
  172. package/dist/cjs/src/exmo.js +2 -2
  173. package/dist/cjs/src/fmfwio.js +1 -1
  174. package/dist/cjs/src/foxbit.js +2016 -0
  175. package/dist/cjs/src/gate.js +2 -3
  176. package/dist/cjs/src/gateio.js +1 -1
  177. package/dist/cjs/src/gemini.js +1 -1
  178. package/dist/cjs/src/hashkey.js +40 -1
  179. package/dist/cjs/src/hitbtc.js +1 -0
  180. package/dist/cjs/src/hollaex.js +1 -1
  181. package/dist/cjs/src/htx.js +1 -1
  182. package/dist/cjs/src/huobi.js +1 -1
  183. package/dist/cjs/src/hyperliquid.js +45 -30
  184. package/dist/cjs/src/independentreserve.js +36 -1
  185. package/dist/cjs/src/indodax.js +35 -1
  186. package/dist/cjs/src/kraken.js +1 -1
  187. package/dist/cjs/src/krakenfutures.js +1 -1
  188. package/dist/cjs/src/kucoin.js +4 -3
  189. package/dist/cjs/src/kucoinfutures.js +4 -3
  190. package/dist/cjs/src/latoken.js +43 -1
  191. package/dist/cjs/src/lbank.js +1 -1
  192. package/dist/cjs/src/luno.js +37 -1
  193. package/dist/cjs/src/mercado.js +35 -1
  194. package/dist/cjs/src/mexc.js +32 -39
  195. package/dist/cjs/src/modetrade.js +4 -4
  196. package/dist/cjs/src/myokx.js +1 -1
  197. package/dist/cjs/src/ndax.js +1 -1
  198. package/dist/cjs/src/novadax.js +1 -1
  199. package/dist/cjs/src/oceanex.js +1 -1
  200. package/dist/cjs/src/okcoin.js +2 -2
  201. package/dist/cjs/src/okx.js +13 -4
  202. package/dist/cjs/src/okxus.js +1 -1
  203. package/dist/cjs/src/onetrading.js +2 -2
  204. package/dist/cjs/src/oxfun.js +3 -2
  205. package/dist/cjs/src/p2b.js +1 -1
  206. package/dist/cjs/src/paradex.js +3 -3
  207. package/dist/cjs/src/paymium.js +1 -1
  208. package/dist/cjs/src/phemex.js +36 -31
  209. package/dist/cjs/src/poloniex.js +1 -1
  210. package/dist/cjs/src/pro/alpaca.js +1 -1
  211. package/dist/cjs/src/pro/apex.js +1 -1
  212. package/dist/cjs/src/pro/ascendex.js +1 -1
  213. package/dist/cjs/src/pro/bequant.js +1 -1
  214. package/dist/cjs/src/pro/binancecoinm.js +4 -2
  215. package/dist/cjs/src/pro/binanceus.js +4 -2
  216. package/dist/cjs/src/pro/binanceusdm.js +4 -2
  217. package/dist/cjs/src/pro/bingx.js +1 -1
  218. package/dist/cjs/src/pro/bitfinex.js +1 -1
  219. package/dist/cjs/src/pro/bitget.js +1 -1
  220. package/dist/cjs/src/pro/bithumb.js +1 -1
  221. package/dist/cjs/src/pro/bitmart.js +1 -1
  222. package/dist/cjs/src/pro/bitmex.js +1 -1
  223. package/dist/cjs/src/pro/bitrue.js +1 -1
  224. package/dist/cjs/src/pro/bitstamp.js +1 -1
  225. package/dist/cjs/src/pro/bitvavo.js +1 -1
  226. package/dist/cjs/src/pro/blockchaincom.js +1 -1
  227. package/dist/cjs/src/pro/blofin.js +1 -1
  228. package/dist/cjs/src/pro/bybit.js +34 -1
  229. package/dist/cjs/src/pro/cex.js +1 -1
  230. package/dist/cjs/src/pro/coinbase.js +1 -1
  231. package/dist/cjs/src/pro/coinbaseadvanced.js +1 -1
  232. package/dist/cjs/src/pro/coinbaseexchange.js +1 -1
  233. package/dist/cjs/src/pro/coinbaseinternational.js +1 -1
  234. package/dist/cjs/src/pro/coincatch.js +1 -1
  235. package/dist/cjs/src/pro/coincheck.js +1 -1
  236. package/dist/cjs/src/pro/coinex.js +1 -1
  237. package/dist/cjs/src/pro/coinone.js +1 -1
  238. package/dist/cjs/src/pro/cryptocom.js +1 -1
  239. package/dist/cjs/src/pro/defx.js +1 -1
  240. package/dist/cjs/src/pro/deribit.js +1 -1
  241. package/dist/cjs/src/pro/exmo.js +1 -1
  242. package/dist/cjs/src/pro/gate.js +1 -1
  243. package/dist/cjs/src/pro/gateio.js +1 -1
  244. package/dist/cjs/src/pro/gemini.js +1 -1
  245. package/dist/cjs/src/pro/hashkey.js +1 -1
  246. package/dist/cjs/src/pro/hitbtc.js +1 -1
  247. package/dist/cjs/src/pro/hollaex.js +1 -1
  248. package/dist/cjs/src/pro/htx.js +1 -1
  249. package/dist/cjs/src/pro/huobi.js +1 -1
  250. package/dist/cjs/src/pro/hyperliquid.js +1 -1
  251. package/dist/cjs/src/pro/independentreserve.js +1 -1
  252. package/dist/cjs/src/pro/kraken.js +1 -1
  253. package/dist/cjs/src/pro/krakenfutures.js +1 -1
  254. package/dist/cjs/src/pro/kucoin.js +1 -1
  255. package/dist/cjs/src/pro/kucoinfutures.js +1 -1
  256. package/dist/cjs/src/pro/lbank.js +1 -0
  257. package/dist/cjs/src/pro/luno.js +1 -1
  258. package/dist/cjs/src/pro/mexc.js +1 -1
  259. package/dist/cjs/src/pro/myokx.js +1 -1
  260. package/dist/cjs/src/pro/ndax.js +1 -1
  261. package/dist/cjs/src/pro/okcoin.js +1 -1
  262. package/dist/cjs/src/pro/okx.js +1 -1
  263. package/dist/cjs/src/pro/okxus.js +1 -1
  264. package/dist/cjs/src/pro/onetrading.js +1 -1
  265. package/dist/cjs/src/pro/oxfun.js +1 -1
  266. package/dist/cjs/src/pro/p2b.js +1 -1
  267. package/dist/cjs/src/pro/paradex.js +1 -1
  268. package/dist/cjs/src/pro/phemex.js +1 -1
  269. package/dist/cjs/src/pro/poloniex.js +1 -1
  270. package/dist/cjs/src/pro/probit.js +1 -1
  271. package/dist/cjs/src/pro/tradeogre.js +1 -1
  272. package/dist/cjs/src/pro/upbit.js +1 -1
  273. package/dist/cjs/src/pro/whitebit.js +1 -1
  274. package/dist/cjs/src/pro/xt.js +1 -1
  275. package/dist/cjs/src/probit.js +1 -1
  276. package/dist/cjs/src/static_dependencies/ethers/abi-coder.js +6 -0
  277. package/dist/cjs/src/static_dependencies/ethers/address/address.js +1 -1
  278. package/dist/cjs/src/static_dependencies/ethers/coders/abstract-coder.js +6 -0
  279. package/dist/cjs/src/static_dependencies/ethers/coders/address.js +1 -0
  280. package/dist/cjs/src/static_dependencies/ethers/coders/anonymous.js +1 -0
  281. package/dist/cjs/src/static_dependencies/ethers/coders/array.js +1 -0
  282. package/dist/cjs/src/static_dependencies/ethers/coders/boolean.js +1 -0
  283. package/dist/cjs/src/static_dependencies/ethers/coders/bytes.js +1 -0
  284. package/dist/cjs/src/static_dependencies/ethers/coders/fixed-bytes.js +1 -0
  285. package/dist/cjs/src/static_dependencies/ethers/coders/null.js +1 -0
  286. package/dist/cjs/src/static_dependencies/ethers/coders/number.js +1 -0
  287. package/dist/cjs/src/static_dependencies/ethers/coders/string.js +1 -0
  288. package/dist/cjs/src/static_dependencies/ethers/coders/tuple.js +1 -0
  289. package/dist/cjs/src/static_dependencies/ethers/fragments.js +6 -0
  290. package/dist/cjs/src/static_dependencies/ethers/hash/typed-data.js +6 -0
  291. package/dist/cjs/src/static_dependencies/ethers/index.js +1 -10
  292. package/dist/cjs/src/static_dependencies/ethers/interface.js +6 -0
  293. package/dist/cjs/src/static_dependencies/ethers/typed.js +6 -0
  294. package/dist/cjs/src/static_dependencies/ethers/utils/base58.js +1 -13
  295. package/dist/cjs/src/static_dependencies/ethers/utils/data.js +1 -6
  296. package/dist/cjs/src/static_dependencies/ethers/utils/errors.js +1 -9
  297. package/dist/cjs/src/static_dependencies/ethers/utils/events.js +6 -0
  298. package/dist/cjs/src/static_dependencies/ethers/utils/fixednumber.js +6 -0
  299. package/dist/cjs/src/static_dependencies/ethers/utils/index.js +1 -7
  300. package/dist/cjs/src/static_dependencies/ethers/utils/maths.js +1 -5
  301. package/dist/cjs/src/static_dependencies/ethers/utils/properties.js +6 -0
  302. package/dist/cjs/src/static_dependencies/ethers/utils/utf8.js +1 -8
  303. package/dist/cjs/src/static_dependencies/fflake/browser.js +1 -1
  304. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncrypt.js +1 -0
  305. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +1 -0
  306. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +1 -1
  307. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +6 -0
  308. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +6 -0
  309. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +6 -0
  310. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +1 -0
  311. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +1 -1
  312. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +6 -0
  313. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +1 -1
  314. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +1 -1
  315. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/util.js +6 -0
  316. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +1 -1
  317. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +6 -0
  318. package/dist/cjs/src/static_dependencies/messagepack/msgpack.js +6 -0
  319. package/dist/cjs/src/static_dependencies/noble-curves/_shortw_utils.js +1 -1
  320. package/dist/cjs/src/static_dependencies/noble-curves/abstract/curve.js +1 -1
  321. package/dist/cjs/src/static_dependencies/noble-curves/abstract/edwards.js +1 -1
  322. package/dist/cjs/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +1 -0
  323. package/dist/cjs/src/static_dependencies/noble-curves/abstract/modular.js +1 -1
  324. package/dist/cjs/src/static_dependencies/noble-curves/abstract/montgomery.js +1 -1
  325. package/dist/cjs/src/static_dependencies/noble-curves/abstract/poseidon.js +1 -1
  326. package/dist/cjs/src/static_dependencies/noble-curves/abstract/utils.js +6 -0
  327. package/dist/cjs/src/static_dependencies/noble-curves/abstract/weierstrass.js +1 -1
  328. package/dist/cjs/src/static_dependencies/noble-curves/ed25519.js +1 -1
  329. package/dist/cjs/src/static_dependencies/noble-curves/p256.js +1 -1
  330. package/dist/cjs/src/static_dependencies/noble-curves/secp256k1.js +1 -1
  331. package/dist/cjs/src/static_dependencies/noble-hashes/_assert.js +6 -0
  332. package/dist/cjs/src/static_dependencies/noble-hashes/_sha2.js +1 -0
  333. package/dist/cjs/src/static_dependencies/noble-hashes/_u64.js +6 -0
  334. package/dist/cjs/src/static_dependencies/noble-hashes/crypto.js +6 -0
  335. package/dist/cjs/src/static_dependencies/noble-hashes/hmac.js +1 -0
  336. package/dist/cjs/src/static_dependencies/noble-hashes/md5.js +1 -0
  337. package/dist/cjs/src/static_dependencies/noble-hashes/sha1.js +1 -0
  338. package/dist/cjs/src/static_dependencies/noble-hashes/sha256.js +1 -0
  339. package/dist/cjs/src/static_dependencies/noble-hashes/sha3.js +1 -0
  340. package/dist/cjs/src/static_dependencies/noble-hashes/sha512.js +1 -0
  341. package/dist/cjs/src/static_dependencies/noble-hashes/utils.js +1 -1
  342. package/dist/cjs/src/static_dependencies/node-fetch/body.js +1 -5
  343. package/dist/cjs/src/static_dependencies/node-fetch/errors/abort-error.js +1 -0
  344. package/dist/cjs/src/static_dependencies/node-fetch/errors/base.js +6 -0
  345. package/dist/cjs/src/static_dependencies/node-fetch/errors/fetch-error.js +1 -0
  346. package/dist/cjs/src/static_dependencies/node-fetch/headers.js +1 -5
  347. package/dist/cjs/src/static_dependencies/node-fetch/index.js +1 -7
  348. package/dist/cjs/src/static_dependencies/node-fetch/request.js +1 -7
  349. package/dist/cjs/src/static_dependencies/node-fetch/response.js +1 -5
  350. package/dist/cjs/src/static_dependencies/node-fetch/utils/get-search.js +6 -0
  351. package/dist/cjs/src/static_dependencies/node-fetch/utils/is-redirect.js +6 -0
  352. package/dist/cjs/src/static_dependencies/node-fetch/utils/is.js +6 -0
  353. package/dist/cjs/src/static_dependencies/node-fetch/utils/referrer.js +1 -0
  354. package/dist/cjs/src/static_dependencies/proxies/agent-base/index.js +1 -0
  355. package/dist/cjs/src/static_dependencies/proxies/http-proxy-agent/index.js +1 -0
  356. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/index.js +1 -0
  357. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +6 -0
  358. package/dist/cjs/src/static_dependencies/scure-base/index.js +6 -0
  359. package/dist/cjs/src/static_dependencies/scure-starknet/index.js +1 -1
  360. package/dist/cjs/src/static_dependencies/starknet/constants.js +1 -1
  361. package/dist/cjs/src/static_dependencies/starknet/types/calldata.js +6 -0
  362. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/abi.js +6 -0
  363. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/index.js +6 -0
  364. package/dist/cjs/src/static_dependencies/starknet/types/lib/index.js +6 -0
  365. package/dist/cjs/src/static_dependencies/starknet/types/typedData.js +6 -0
  366. package/dist/cjs/src/static_dependencies/starknet/utils/assert.js +6 -0
  367. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +1 -1
  368. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +1 -1
  369. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +1 -1
  370. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/byteArray.js +1 -0
  371. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/cairo.js +1 -0
  372. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +6 -0
  373. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +6 -0
  374. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +6 -0
  375. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/formatter.js +1 -0
  376. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/index.js +1 -1
  377. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/index.js +1 -0
  378. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +1 -0
  379. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +6 -0
  380. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +1 -0
  381. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/requestParser.js +1 -0
  382. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/responseParser.js +1 -0
  383. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/tuple.js +1 -1
  384. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/validate.js +1 -4
  385. package/dist/cjs/src/static_dependencies/starknet/utils/encode.js +1 -0
  386. package/dist/cjs/src/static_dependencies/starknet/utils/hash/classHash.js +1 -3
  387. package/dist/cjs/src/static_dependencies/starknet/utils/merkle.js +1 -0
  388. package/dist/cjs/src/static_dependencies/starknet/utils/num.js +1 -0
  389. package/dist/cjs/src/static_dependencies/starknet/utils/selector.js +1 -0
  390. package/dist/cjs/src/static_dependencies/starknet/utils/shortString.js +1 -0
  391. package/dist/cjs/src/static_dependencies/starknet/utils/typedData.js +1 -1
  392. package/dist/cjs/src/static_dependencies/watchable/src/unpromise.js +6 -0
  393. package/dist/cjs/src/static_dependencies/zklink/zklink-sdk-web.js +6 -0
  394. package/dist/cjs/src/timex.js +1 -0
  395. package/dist/cjs/src/tokocrypto.js +1 -1
  396. package/dist/cjs/src/tradeogre.js +1 -1
  397. package/dist/cjs/src/upbit.js +1 -1
  398. package/dist/cjs/src/vertex.js +4 -3
  399. package/dist/cjs/src/wavesexchange.js +1 -1
  400. package/dist/cjs/src/whitebit.js +1 -1
  401. package/dist/cjs/src/woo.js +9 -4
  402. package/dist/cjs/src/woofipro.js +3 -3
  403. package/dist/cjs/src/xt.js +1 -1
  404. package/dist/cjs/src/yobit.js +1 -1
  405. package/dist/cjs/src/zaif.js +1 -1
  406. package/dist/cjs/src/zonda.js +1 -1
  407. package/js/ccxt.d.ts +5 -2
  408. package/js/ccxt.js +4 -2
  409. package/js/src/abstract/binance.d.ts +3 -0
  410. package/js/src/abstract/binancecoinm.d.ts +3 -0
  411. package/js/src/abstract/binanceus.d.ts +3 -0
  412. package/js/src/abstract/binanceusdm.d.ts +3 -0
  413. package/js/src/abstract/foxbit.d.ts +29 -0
  414. package/js/src/abstract/foxbit.js +5 -0
  415. package/js/src/abstract/phemex.d.ts +1 -0
  416. package/js/src/apex.d.ts +2 -2
  417. package/js/src/apex.js +2 -2
  418. package/js/src/ascendex.d.ts +1 -1
  419. package/js/src/ascendex.js +3 -3
  420. package/js/src/base/Exchange.d.ts +20 -11
  421. package/js/src/base/Exchange.js +69 -17
  422. package/js/src/base/functions/number.js +30 -9
  423. package/js/src/binance.d.ts +1 -0
  424. package/js/src/binance.js +95 -34
  425. package/js/src/binancecoinm.js +5 -1
  426. package/js/src/binanceus.js +3 -1
  427. package/js/src/binanceusdm.js +3 -1
  428. package/js/src/bingx.js +1 -1
  429. package/js/src/bitget.js +31 -143
  430. package/js/src/bitmart.d.ts +2 -2
  431. package/js/src/bitmart.js +2 -2
  432. package/js/src/bitrue.js +15 -8
  433. package/js/src/bittrade.d.ts +1 -1
  434. package/js/src/blofin.d.ts +1 -1
  435. package/js/src/bybit.d.ts +1 -1
  436. package/js/src/bybit.js +16 -5
  437. package/js/src/coinbaseexchange.d.ts +3 -3
  438. package/js/src/coinbaseexchange.js +4 -2
  439. package/js/src/coinbaseinternational.d.ts +2 -2
  440. package/js/src/coinspot.d.ts +1 -1
  441. package/js/src/coinspot.js +36 -1
  442. package/js/src/cryptocom.d.ts +13 -2
  443. package/js/src/cryptocom.js +78 -2
  444. package/js/src/cryptomus.d.ts +1 -1
  445. package/js/src/cryptomus.js +41 -1
  446. package/js/src/defx.d.ts +2 -2
  447. package/js/src/defx.js +1 -1
  448. package/js/src/derive.d.ts +2 -2
  449. package/js/src/derive.js +1 -1
  450. package/js/src/digifinex.d.ts +1 -1
  451. package/js/src/ellipx.js +40 -0
  452. package/js/src/exmo.js +1 -1
  453. package/js/src/foxbit.d.ts +352 -0
  454. package/js/src/foxbit.js +2010 -0
  455. package/js/src/gate.js +1 -2
  456. package/js/src/hashkey.js +39 -0
  457. package/js/src/htx.d.ts +2 -2
  458. package/js/src/hyperliquid.d.ts +2 -2
  459. package/js/src/hyperliquid.js +44 -29
  460. package/js/src/independentreserve.js +35 -0
  461. package/js/src/indodax.js +34 -0
  462. package/js/src/krakenfutures.d.ts +1 -1
  463. package/js/src/kucoin.d.ts +1 -1
  464. package/js/src/kucoin.js +3 -2
  465. package/js/src/kucoinfutures.d.ts +3 -3
  466. package/js/src/kucoinfutures.js +3 -2
  467. package/js/src/latoken.js +42 -0
  468. package/js/src/luno.js +36 -0
  469. package/js/src/mercado.js +34 -0
  470. package/js/src/mexc.d.ts +1 -2
  471. package/js/src/mexc.js +31 -38
  472. package/js/src/modetrade.d.ts +2 -4
  473. package/js/src/modetrade.js +3 -3
  474. package/js/src/ndax.d.ts +1 -1
  475. package/js/src/okcoin.d.ts +1 -1
  476. package/js/src/okcoin.js +1 -1
  477. package/js/src/okx.d.ts +1 -1
  478. package/js/src/okx.js +12 -3
  479. package/js/src/onetrading.d.ts +1 -1
  480. package/js/src/onetrading.js +1 -1
  481. package/js/src/oxfun.d.ts +1 -1
  482. package/js/src/oxfun.js +2 -1
  483. package/js/src/paradex.d.ts +1 -1
  484. package/js/src/paradex.js +2 -2
  485. package/js/src/phemex.js +36 -31
  486. package/js/src/pro/binancecoinm.js +3 -1
  487. package/js/src/pro/binanceus.js +3 -1
  488. package/js/src/pro/binanceusdm.js +3 -1
  489. package/js/src/pro/bybit.d.ts +11 -1
  490. package/js/src/pro/bybit.js +33 -0
  491. package/js/src/static_dependencies/fflake/browser.d.ts +5 -5
  492. package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.d.ts +1 -1
  493. package/js/src/static_dependencies/noble-curves/abstract/weierstrass.d.ts +1 -0
  494. package/js/src/static_dependencies/starknet/utils/calldata/parser/index.d.ts +1 -1
  495. package/js/src/timex.d.ts +1 -1
  496. package/js/src/vertex.d.ts +2 -2
  497. package/js/src/vertex.js +3 -2
  498. package/js/src/woo.d.ts +1 -1
  499. package/js/src/woo.js +8 -3
  500. package/js/src/woofipro.d.ts +2 -4
  501. package/js/src/woofipro.js +2 -2
  502. package/package.json +1 -2
@@ -7,7 +7,7 @@ var utils = require('../../static_dependencies/noble-curves/abstract/utils.js');
7
7
  var msgpack = require('../../static_dependencies/messagepack/msgpack.js');
8
8
  var index$1 = require('../../static_dependencies/qs/index.cjs.js');
9
9
 
10
- /* eslint-disable */
10
+ // ----------------------------------------------------------------------------
11
11
  /* ------------------------------------------------------------------------ */
12
12
  const json = (data, params = undefined) => JSON.stringify(data), isJsonEncodedObject = (object) => ((typeof object === 'string') &&
13
13
  (object.length >= 2) &&
@@ -6,6 +6,7 @@ var number = require('./number.js');
6
6
  var type = require('./type.js');
7
7
  var errors = require('../errors.js');
8
8
 
9
+ // ----------------------------------------------------------------------------
9
10
  //-------------------------------------------------------------------------
10
11
  // converts timeframe to seconds
11
12
  const parseTimeframe = (timeframe) => {
@@ -2,6 +2,12 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ // ----------------------------------------------------------------------------
6
+
7
+ // PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
8
+ // https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
9
+ // EDIT THE CORRESPONDENT .ts FILE INSTEAD
10
+
5
11
  // ------------------------------------------------------------------------
6
12
  //
7
13
  // NB: initially, I used objects for options passing:
@@ -34,6 +40,8 @@ const precisionConstants = {
34
40
  NO_PADDING,
35
41
  PAD_WITH_ZERO,
36
42
  };
43
+ const assert = (x, y) => { if (!x)
44
+ throw new Error(y || 'assertion failed'); };
37
45
  /* ------------------------------------------------------------------------ */
38
46
  // See https://stackoverflow.com/questions/1685680/how-to-avoid-scientific-notation-for-large-numbers-in-javascript for discussion
39
47
  function numberToString(x) {
@@ -99,14 +107,21 @@ const decimalToPrecision = (x, roundingMode, numPrecisionDigits, countingMode =
99
107
  return _decimalToPrecision(x, roundingMode, numPrecisionDigits, countingMode, paddingMode);
100
108
  };
101
109
  const _decimalToPrecision = (x, roundingMode, numPrecisionDigits, countingMode = DECIMAL_PLACES, paddingMode = NO_PADDING) => {
110
+ assert(numPrecisionDigits !== undefined, 'numPrecisionDigits should not be undefined');
111
+ if (typeof numPrecisionDigits === 'string') {
112
+ numPrecisionDigits = parseFloat(numPrecisionDigits);
113
+ }
114
+ assert(Number.isFinite(numPrecisionDigits), 'numPrecisionDigits has an invalid number');
102
115
  if (countingMode === TICK_SIZE) {
103
- if (typeof numPrecisionDigits === 'string') {
104
- numPrecisionDigits = parseFloat(numPrecisionDigits);
105
- }
106
- if (numPrecisionDigits <= 0) {
107
- throw new Error('TICK_SIZE cant be used with negative or zero numPrecisionDigits');
108
- }
116
+ assert(numPrecisionDigits > 0, 'negative or zero numPrecisionDigits can not be used with TICK_SIZE precisionMode');
109
117
  }
118
+ else {
119
+ assert(Number.isInteger(numPrecisionDigits), 'numPrecisionDigits must be an integer with DECIMAL_PLACES or SIGNIFICANT_DIGITS precisionMode');
120
+ }
121
+ assert((roundingMode === ROUND) || (roundingMode === TRUNCATE), 'invalid roundingMode provided');
122
+ assert(countingMode === DECIMAL_PLACES || countingMode === SIGNIFICANT_DIGITS || countingMode === TICK_SIZE, 'invalid countingMode provided');
123
+ assert(paddingMode === NO_PADDING || paddingMode === PAD_WITH_ZERO, 'invalid paddingMode provided');
124
+ // end of checks
110
125
  if (numPrecisionDigits < 0) {
111
126
  const toNearest = Math.pow(10, -numPrecisionDigits);
112
127
  if (roundingMode === ROUND) {
@@ -120,6 +135,21 @@ const _decimalToPrecision = (x, roundingMode, numPrecisionDigits, countingMode =
120
135
  if (countingMode === TICK_SIZE) {
121
136
  const precisionDigitsString = _decimalToPrecision(numPrecisionDigits, ROUND, 22, DECIMAL_PLACES, NO_PADDING);
122
137
  const newNumPrecisionDigits = precisionFromString(precisionDigitsString);
138
+ if (roundingMode === TRUNCATE) {
139
+ // First, truncate the string to avoid floating-point precision issues
140
+ const xStr = numberToString(x);
141
+ const truncatedX = truncate_to_string(xStr, Math.max(0, newNumPrecisionDigits));
142
+ const xNum = Number(truncatedX);
143
+ const scale = Math.pow(10, newNumPrecisionDigits);
144
+ const xScaled = Math.round(xNum * scale);
145
+ const tickScaled = Math.round(numPrecisionDigits * scale);
146
+ const ticks = Math.trunc(xScaled / tickScaled);
147
+ x = (ticks * tickScaled) / scale;
148
+ if (paddingMode === NO_PADDING) {
149
+ return String(Number(x.toFixed(newNumPrecisionDigits)));
150
+ }
151
+ return _decimalToPrecision(x, ROUND, newNumPrecisionDigits, DECIMAL_PLACES, paddingMode);
152
+ }
123
153
  let missing = x % numPrecisionDigits;
124
154
  // See: https://github.com/ccxt/ccxt/pull/6486
125
155
  missing = Number(_decimalToPrecision(missing, ROUND, 8, DECIMAL_PLACES, NO_PADDING));
@@ -143,9 +173,6 @@ const _decimalToPrecision = (x, roundingMode, numPrecisionDigits, countingMode =
143
173
  }
144
174
  }
145
175
  }
146
- else if (roundingMode === TRUNCATE) {
147
- x = x - missing;
148
- }
149
176
  }
150
177
  return _decimalToPrecision(x, ROUND, newNumPrecisionDigits, DECIMAL_PLACES, paddingMode);
151
178
  }
@@ -2,6 +2,12 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ // ----------------------------------------------------------------------------
6
+
7
+ // PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
8
+ // https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
9
+ // EDIT THE CORRESPONDENT .ts FILE INSTEAD
10
+
5
11
  // @ts-nocheck
6
12
  // ----------------------------------------------------------------------------
7
13
  // There's been a lot of messing with this code...
@@ -8,6 +8,7 @@ var encode = require('./encode.js');
8
8
  var crypto = require('./crypto.js');
9
9
  var p256 = require('../../static_dependencies/noble-curves/p256.js');
10
10
 
11
+ // ----------------------------------------------------------------------------
11
12
  function rsa(request, secret, hash) {
12
13
  const RSA = new JSEncrypt.JSEncrypt();
13
14
  const digester = (input) => index.base16.encode(hash(input));
@@ -2,6 +2,12 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ // ----------------------------------------------------------------------------
6
+
7
+ // PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
8
+ // https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
9
+ // EDIT THE CORRESPONDENT .ts FILE INSTEAD
10
+
5
11
  // ----------------------------------------------------------------------------
6
12
  // unCamelCase has to work with the following edge cases
7
13
  //
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var time = require('./time.js');
6
6
 
7
- //@ts-nocheck
7
+ // ----------------------------------------------------------------------------
8
8
  /* ------------------------------------------------------------------------ */
9
9
  class Throttler {
10
10
  constructor(config) {
@@ -2,6 +2,12 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ // ----------------------------------------------------------------------------
6
+
7
+ // PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
8
+ // https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
9
+ // EDIT THE CORRESPONDENT .ts FILE INSTEAD
10
+
5
11
  // @ts-nocheck
6
12
  const now = Date.now; // TODO: figure out how to utilize performance.now () properly – it's not as easy as it does not return a unix timestamp...
7
13
  const microseconds = () => now() * 1000; // TODO: utilize performance.now for that purpose
@@ -6,6 +6,7 @@ var index = require('../../static_dependencies/scure-base/index.js');
6
6
  var sha1 = require('../../static_dependencies/noble-hashes/sha1.js');
7
7
  var crypto = require('./crypto.js');
8
8
 
9
+ // ----------------------------------------------------------------------------
9
10
  function totp(secret) {
10
11
  const dec2hex = (s) => ((s < 15.5 ? '0' : '') + Math.round(s).toString(16));
11
12
  const hex2dec = (s) => parseInt(s, 16);
@@ -2,6 +2,12 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ // ----------------------------------------------------------------------------
6
+
7
+ // PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
8
+ // https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
9
+ // EDIT THE CORRESPONDENT .ts FILE INSTEAD
10
+
5
11
  /* ------------------------------------------------------------------------ */
6
12
  const isNumber = Number.isFinite;
7
13
  const isInteger = Number.isInteger;
@@ -13,7 +13,7 @@ var time = require('./functions/time.js');
13
13
  var throttle = require('./functions/throttle.js');
14
14
  var misc = require('./functions/misc.js');
15
15
 
16
- /* ------------------------------------------------------------------------ */
16
+ // ----------------------------------------------------------------------------
17
17
  /* ------------------------------------------------------------------------ */
18
18
 
19
19
  exports.isBrowser = platform.isBrowser;
@@ -2,6 +2,12 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ // ----------------------------------------------------------------------------
6
+
7
+ // PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
8
+ // https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
9
+ // EDIT THE CORRESPONDENT .ts FILE INSTEAD
10
+
5
11
  /* eslint-disable max-classes-per-file */
6
12
  // @ts-nocheck
7
13
  class BaseCache extends Array {
@@ -10,6 +10,7 @@ require('../functions/crypto.js');
10
10
  var time = require('../functions/time.js');
11
11
  var index = require('../../static_dependencies/scure-base/index.js');
12
12
 
13
+ // ----------------------------------------------------------------------------
13
14
  class Client {
14
15
  constructor(url, onMessageCallback, onErrorCallback, onCloseCallback, onConnectedCallback, config = {}) {
15
16
  this.verbose = false;
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var unpromise = require('../../static_dependencies/watchable/src/unpromise.js');
6
6
 
7
- // @ts-nocheck
7
+ // ----------------------------------------------------------------------------
8
8
  function Future() {
9
9
  let resolve = undefined, reject = undefined;
10
10
  const p = new Promise((resolve_, reject_) => {
@@ -6,7 +6,7 @@ var time = require('../functions/time.js');
6
6
  var generic = require('../functions/generic.js');
7
7
  var OrderBookSide = require('./OrderBookSide.js');
8
8
 
9
- /* eslint-disable max-classes-per-file */
9
+ // ----------------------------------------------------------------------------
10
10
  class OrderBook {
11
11
  constructor(snapshot = {}, depth = undefined) {
12
12
  this.cache = []; // make prop visible so we use typed OrderBooks
@@ -2,6 +2,12 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ // ----------------------------------------------------------------------------
6
+
7
+ // PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
8
+ // https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
9
+ // EDIT THE CORRESPONDENT .ts FILE INSTEAD
10
+
5
11
  /* eslint-disable max-classes-per-file */
6
12
  // @ts-nocheck
7
13
  // ----------------------------------------------------------------------------
@@ -13,7 +13,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
13
13
 
14
14
  var WebSocket__default = /*#__PURE__*/_interopDefaultLegacy(WebSocket);
15
15
 
16
- // eslint-disable-next-line no-shadow
16
+ // ----------------------------------------------------------------------------
17
17
  // eslint-disable-next-line no-restricted-globals
18
18
  const WebSocketPlatform = platform.isNode || !misc.selfIsDefined() ? WebSocket__default["default"] : self.WebSocket;
19
19
  class WsClient extends Client {
@@ -2,7 +2,7 @@
2
2
 
3
3
  var hitbtc = require('./hitbtc.js');
4
4
 
5
- // ---------------------------------------------------------------------------
5
+ // ----------------------------------------------------------------------------
6
6
  // ---------------------------------------------------------------------------
7
7
  class bequant extends hitbtc {
8
8
  describe() {
@@ -7,7 +7,7 @@ var rsa = require('./base/functions/rsa.js');
7
7
  var sha256 = require('./static_dependencies/noble-hashes/sha256.js');
8
8
  var Precise = require('./base/Precise.js');
9
9
 
10
- // ---------------------------------------------------------------------------
10
+ // ----------------------------------------------------------------------------
11
11
  // ---------------------------------------------------------------------------
12
12
  /**
13
13
  * @class bigone
@@ -9,7 +9,7 @@ var rsa = require('./base/functions/rsa.js');
9
9
  var crypto = require('./base/functions/crypto.js');
10
10
  var ed25519 = require('./static_dependencies/noble-curves/ed25519.js');
11
11
 
12
- // ---------------------------------------------------------------------------
12
+ // ----------------------------------------------------------------------------
13
13
  // ---------------------------------------------------------------------------
14
14
  /**
15
15
  * @class binance
@@ -482,6 +482,7 @@ class binance extends binance$1 {
482
482
  'portfolio/balance': 2,
483
483
  'portfolio/negative-balance-exchange-record': 2,
484
484
  'portfolio/pmloan-history': 5,
485
+ 'portfolio/earn-asset-balance': 150,
485
486
  // staking
486
487
  'staking/productList': 0.1,
487
488
  'staking/position': 0.1,
@@ -640,6 +641,7 @@ class binance extends binance$1 {
640
641
  'portfolio/repay-futures-negative-balance': 150,
641
642
  'portfolio/mint': 20,
642
643
  'portfolio/redeem': 20,
644
+ 'portfolio/earn-asset-transfer': 150,
643
645
  'lending/auto-invest/plan/add': 0.1,
644
646
  'lending/auto-invest/plan/edit': 0.1,
645
647
  'lending/auto-invest/plan/edit-status': 0.1,
@@ -828,6 +830,7 @@ class binance extends binance$1 {
828
830
  'apiTradingStatus': { 'cost': 1, 'noSymbol': 10 },
829
831
  'lvtKlines': 1,
830
832
  'convert/exchangeInfo': 4,
833
+ 'insuranceBalance': 1,
831
834
  },
832
835
  },
833
836
  'fapiData': {
@@ -1265,12 +1268,14 @@ class binance extends binance$1 {
1265
1268
  'options': {
1266
1269
  'sandboxMode': false,
1267
1270
  'fetchMargins': true,
1268
- 'fetchMarkets': [
1269
- 'spot',
1270
- 'linear',
1271
- 'inverse', // allows CORS in browsers
1272
- // 'option', // does not allow CORS, enable outside of the browser only
1273
- ],
1271
+ 'fetchMarkets': {
1272
+ 'types': [
1273
+ 'spot',
1274
+ 'linear',
1275
+ 'inverse', // allows CORS in browsers
1276
+ // 'option', // does not allow CORS, enable outside of the browser only
1277
+ ],
1278
+ },
1274
1279
  'loadAllOptions': false,
1275
1280
  'fetchCurrencies': true,
1276
1281
  // 'fetchTradesMethod': 'publicGetAggTrades', // publicGetTrades, publicGetHistoricalTrades, eapiPublicGetTrades
@@ -3037,7 +3042,16 @@ class binance extends binance$1 {
3037
3042
  */
3038
3043
  async fetchMarkets(params = {}) {
3039
3044
  const promisesRaw = [];
3040
- const rawFetchMarkets = this.safeList(this.options, 'fetchMarkets', ['spot', 'linear', 'inverse']);
3045
+ let rawFetchMarkets = undefined;
3046
+ const defaultTypes = ['spot', 'linear', 'inverse'];
3047
+ const fetchMarketsOptions = this.safeDict(this.options, 'fetchMarkets');
3048
+ if (fetchMarketsOptions !== undefined) {
3049
+ rawFetchMarkets = this.safeList(fetchMarketsOptions, 'types', defaultTypes);
3050
+ }
3051
+ else {
3052
+ // for backward-compatibility
3053
+ rawFetchMarkets = this.safeList(this.options, 'fetchMarkets', defaultTypes);
3054
+ }
3041
3055
  // handle loadAllOptions option
3042
3056
  const loadAllOptions = this.safeBool(this.options, 'loadAllOptions', false);
3043
3057
  if (loadAllOptions) {
@@ -4007,29 +4021,52 @@ class binance extends binance$1 {
4007
4021
  // "time": 1597370495002
4008
4022
  // }
4009
4023
  //
4010
- // {
4011
- // "symbol": "ETHBTC",
4012
- // "priceChange": "0.00068700",
4013
- // "priceChangePercent": "2.075",
4014
- // "weightedAvgPrice": "0.03342681",
4015
- // "prevClosePrice": "0.03310300",
4016
- // "lastPrice": "0.03378900",
4017
- // "lastQty": "0.07700000",
4018
- // "bidPrice": "0.03378900",
4019
- // "bidQty": "7.16800000",
4020
- // "askPrice": "0.03379000",
4021
- // "askQty": "24.00000000",
4022
- // "openPrice": "0.03310200",
4023
- // "highPrice": "0.03388900",
4024
- // "lowPrice": "0.03306900",
4025
- // "volume": "205478.41000000",
4026
- // "quoteVolume": "6868.48826294",
4027
- // "openTime": 1601469986932,
4028
- // "closeTime": 1601556386932,
4029
- // "firstId": 196098772,
4030
- // "lastId": 196186315,
4031
- // "count": 87544
4032
- // }
4024
+ // spot - ticker
4025
+ //
4026
+ // {
4027
+ // "symbol": "BTCUSDT",
4028
+ // "priceChange": "-188.18000000",
4029
+ // "priceChangePercent": "-0.159",
4030
+ // "weightedAvgPrice": "118356.64734074",
4031
+ // "lastPrice": "118449.03000000",
4032
+ // "prevClosePrice": "118637.22000000", // field absent in rolling ticker
4033
+ // "lastQty": "0.00731000", // field absent in rolling ticker
4034
+ // "bidPrice": "118449.02000000", // field absent in rolling ticker
4035
+ // "bidQty": "7.15931000", // field absent in rolling ticker
4036
+ // "askPrice": "118449.03000000", // field absent in rolling ticker
4037
+ // "askQty": "0.09592000", // field absent in rolling ticker
4038
+ // "openPrice": "118637.21000000",
4039
+ // "highPrice": "119273.36000000",
4040
+ // "lowPrice": "117427.50000000",
4041
+ // "volume": "14741.41491000",
4042
+ // "quoteVolume": "1744744445.80640740",
4043
+ // "openTime": "1753701474013",
4044
+ // "closeTime": "1753787874013",
4045
+ // "firstId": "5116031635",
4046
+ // "lastId": "5117964946",
4047
+ // "count": "1933312"
4048
+ // }
4049
+ //
4050
+ // usdm tickers
4051
+ //
4052
+ // {
4053
+ // "symbol": "SUSDT",
4054
+ // "priceChange": "-0.0229000",
4055
+ // "priceChangePercent": "-6.777",
4056
+ // "weightedAvgPrice": "0.3210035",
4057
+ // "lastPrice": "0.3150000",
4058
+ // "lastQty": "16",
4059
+ // "openPrice": "0.3379000",
4060
+ // "highPrice": "0.3411000",
4061
+ // "lowPrice": "0.3071000",
4062
+ // "volume": "120588225",
4063
+ // "quoteVolume": "38709237.2289000",
4064
+ // "openTime": "1753701720000",
4065
+ // "closeTime": "1753788172414",
4066
+ // "firstId": "72234973",
4067
+ // "lastId": "72423677",
4068
+ // "count": "188700"
4069
+ // }
4033
4070
  //
4034
4071
  // coinm
4035
4072
  //
@@ -4402,11 +4439,24 @@ class binance extends binance$1 {
4402
4439
  response = await this.dapiPublicGetTicker24hr(params);
4403
4440
  }
4404
4441
  else if (type === 'spot') {
4405
- const request = {};
4406
- if (symbols !== undefined) {
4407
- request['symbols'] = this.json(this.marketIds(symbols));
4442
+ const rolling = this.safeBool(params, 'rolling', false);
4443
+ params = this.omit(params, 'rolling');
4444
+ if (rolling) {
4445
+ symbols = this.marketSymbols(symbols);
4446
+ const request = {
4447
+ 'symbols': this.json(this.marketIds(symbols)),
4448
+ };
4449
+ response = await this.publicGetTicker(this.extend(request, params));
4450
+ // parseTicker is not able to handle marketType for spot-rolling ticker fields, so we need custom parsing
4451
+ return this.parseTickersForRolling(response, symbols);
4452
+ }
4453
+ else {
4454
+ const request = {};
4455
+ if (symbols !== undefined) {
4456
+ request['symbols'] = this.json(this.marketIds(symbols));
4457
+ }
4458
+ response = await this.publicGetTicker24hr(this.extend(request, params));
4408
4459
  }
4409
- response = await this.publicGetTicker24hr(this.extend(request, params));
4410
4460
  }
4411
4461
  else if (type === 'option') {
4412
4462
  response = await this.eapiPublicGetTicker(params);
@@ -4416,6 +4466,17 @@ class binance extends binance$1 {
4416
4466
  }
4417
4467
  return this.parseTickers(response, symbols);
4418
4468
  }
4469
+ parseTickersForRolling(response, symbols) {
4470
+ const results = [];
4471
+ for (let i = 0; i < response.length; i++) {
4472
+ const marketId = this.safeString(response[i], 'symbol');
4473
+ const tickerMarket = this.safeMarket(marketId, undefined, undefined, 'spot');
4474
+ const parsedTicker = this.parseTicker(response[i]);
4475
+ parsedTicker['symbol'] = tickerMarket['symbol'];
4476
+ results.push(parsedTicker);
4477
+ }
4478
+ return this.filterByArray(results, 'symbol', symbols);
4479
+ }
4419
4480
  /**
4420
4481
  * @method
4421
4482
  * @name binance#fetchMarkPrice
@@ -2,7 +2,7 @@
2
2
 
3
3
  var binance = require('./binance.js');
4
4
 
5
- // ---------------------------------------------------------------------------
5
+ // ----------------------------------------------------------------------------
6
6
  // ---------------------------------------------------------------------------
7
7
  class binancecoinm extends binance {
8
8
  describe() {
@@ -27,7 +27,11 @@ class binancecoinm extends binance {
27
27
  'createStopMarketOrder': true,
28
28
  },
29
29
  'options': {
30
- 'fetchMarkets': ['inverse'],
30
+ 'fetchMarkets': {
31
+ 'types': [
32
+ 'inverse',
33
+ ],
34
+ },
31
35
  'defaultSubType': 'inverse',
32
36
  'leverageBrackets': undefined,
33
37
  },
@@ -2,7 +2,7 @@
2
2
 
3
3
  var binance = require('./binance.js');
4
4
 
5
- // ---------------------------------------------------------------------------
5
+ // ----------------------------------------------------------------------------
6
6
  // ---------------------------------------------------------------------------
7
7
  class binanceus extends binance {
8
8
  describe() {
@@ -38,7 +38,9 @@ class binanceus extends binance {
38
38
  },
39
39
  },
40
40
  'options': {
41
- 'fetchMarkets': ['spot'],
41
+ 'fetchMarkets': {
42
+ 'types': ['spot'],
43
+ },
42
44
  'defaultType': 'spot',
43
45
  'fetchMargins': false,
44
46
  'quoteOrderQty': false,
@@ -3,7 +3,7 @@
3
3
  var binance = require('./binance.js');
4
4
  var errors = require('./base/errors.js');
5
5
 
6
- // ---------------------------------------------------------------------------
6
+ // ----------------------------------------------------------------------------
7
7
  // ---------------------------------------------------------------------------
8
8
  class binanceusdm extends binance {
9
9
  describe() {
@@ -28,7 +28,9 @@ class binanceusdm extends binance {
28
28
  'createStopMarketOrder': true,
29
29
  },
30
30
  'options': {
31
- 'fetchMarkets': ['linear'],
31
+ 'fetchMarkets': {
32
+ 'types': ['linear'],
33
+ },
32
34
  'defaultSubType': 'linear',
33
35
  // https://www.binance.com/en/support/faq/360033162192
34
36
  // tier amount, maintenance margin, initial margin,
@@ -6,7 +6,7 @@ var Precise = require('./base/Precise.js');
6
6
  var sha256 = require('./static_dependencies/noble-hashes/sha256.js');
7
7
  var number = require('./base/functions/number.js');
8
8
 
9
- // ---------------------------------------------------------------------------
9
+ // ----------------------------------------------------------------------------
10
10
  // ---------------------------------------------------------------------------
11
11
  /**
12
12
  * @class bingx
@@ -5301,7 +5301,7 @@ class bingx extends bingx$1 {
5301
5301
  const id = this.safeString(transaction, 'id', dataId);
5302
5302
  const address = this.safeString(transaction, 'address');
5303
5303
  const tag = this.safeString(transaction, 'addressTag');
5304
- let timestamp = this.safeInteger(transaction, 'insertTime');
5304
+ let timestamp = this.safeInteger2(transaction, 'insertTime', 'timestamp');
5305
5305
  let datetime = this.iso8601(timestamp);
5306
5306
  if (timestamp === undefined) {
5307
5307
  datetime = this.safeString(transaction, 'applyTime');
@@ -6,7 +6,7 @@ var Precise = require('./base/Precise.js');
6
6
  var number = require('./base/functions/number.js');
7
7
  var sha512 = require('./static_dependencies/noble-hashes/sha512.js');
8
8
 
9
- // ---------------------------------------------------------------------------
9
+ // ----------------------------------------------------------------------------
10
10
  // ---------------------------------------------------------------------------
11
11
  /**
12
12
  * @class bit2c
@@ -5,7 +5,7 @@ var errors = require('./base/errors.js');
5
5
  var number = require('./base/functions/number.js');
6
6
  var sha256 = require('./static_dependencies/noble-hashes/sha256.js');
7
7
 
8
- // ---------------------------------------------------------------------------
8
+ // ----------------------------------------------------------------------------
9
9
  // ---------------------------------------------------------------------------
10
10
  /**
11
11
  * @class bitbank
@@ -6,7 +6,7 @@ var Precise = require('./base/Precise.js');
6
6
  var number = require('./base/functions/number.js');
7
7
  var sha512 = require('./static_dependencies/noble-hashes/sha512.js');
8
8
 
9
- // ---------------------------------------------------------------------------
9
+ // ----------------------------------------------------------------------------
10
10
  // ---------------------------------------------------------------------------
11
11
  /**
12
12
  * @class bitbns
@@ -6,7 +6,7 @@ var bitfinex$1 = require('./abstract/bitfinex.js');
6
6
  var number = require('./base/functions/number.js');
7
7
  var sha512 = require('./static_dependencies/noble-hashes/sha512.js');
8
8
 
9
- // ---------------------------------------------------------------------------
9
+ // ----------------------------------------------------------------------------
10
10
  // ---------------------------------------------------------------------------
11
11
  /**
12
12
  * @class bitfinex
@@ -6,7 +6,7 @@ var number = require('./base/functions/number.js');
6
6
  var sha256 = require('./static_dependencies/noble-hashes/sha256.js');
7
7
  var Precise = require('./base/Precise.js');
8
8
 
9
- // ---------------------------------------------------------------------------
9
+ // ----------------------------------------------------------------------------
10
10
  // ---------------------------------------------------------------------------
11
11
  /**
12
12
  * @class bitflyer