ccxt 4.4.45 → 4.4.47

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 (495) hide show
  1. package/README.md +3 -4
  2. package/dist/ccxt.browser.min.js +15 -15
  3. package/dist/cjs/ccxt.js +1 -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/currencycom.js +1 -1
  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/digifinex.js +1 -1
  53. package/dist/cjs/src/abstract/ellipx.js +1 -1
  54. package/dist/cjs/src/abstract/exmo.js +1 -1
  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/huobijp.js +1 -1
  62. package/dist/cjs/src/abstract/hyperliquid.js +1 -1
  63. package/dist/cjs/src/abstract/idex.js +1 -1
  64. package/dist/cjs/src/abstract/independentreserve.js +1 -1
  65. package/dist/cjs/src/abstract/indodax.js +1 -1
  66. package/dist/cjs/src/abstract/kraken.js +1 -1
  67. package/dist/cjs/src/abstract/krakenfutures.js +1 -1
  68. package/dist/cjs/src/abstract/kucoin.js +1 -1
  69. package/dist/cjs/src/abstract/kucoinfutures.js +1 -1
  70. package/dist/cjs/src/abstract/kuna.js +1 -1
  71. package/dist/cjs/src/abstract/latoken.js +1 -1
  72. package/dist/cjs/src/abstract/lbank.js +1 -1
  73. package/dist/cjs/src/abstract/luno.js +1 -1
  74. package/dist/cjs/src/abstract/lykke.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/wazirx.js +1 -1
  98. package/dist/cjs/src/abstract/whitebit.js +1 -1
  99. package/dist/cjs/src/abstract/woo.js +1 -1
  100. package/dist/cjs/src/abstract/woofipro.js +1 -1
  101. package/dist/cjs/src/abstract/xt.js +1 -1
  102. package/dist/cjs/src/abstract/yobit.js +1 -1
  103. package/dist/cjs/src/abstract/zaif.js +1 -1
  104. package/dist/cjs/src/abstract/zonda.js +1 -1
  105. package/dist/cjs/src/ace.js +59 -1
  106. package/dist/cjs/src/alpaca.js +81 -1
  107. package/dist/cjs/src/ascendex.js +116 -4
  108. package/dist/cjs/src/base/Exchange.js +16 -14
  109. package/dist/cjs/src/base/Precise.js +6 -0
  110. package/dist/cjs/src/base/errors.js +6 -0
  111. package/dist/cjs/src/base/functions/crypto.js +1 -1
  112. package/dist/cjs/src/base/functions/encode.js +1 -1
  113. package/dist/cjs/src/base/functions/misc.js +1 -0
  114. package/dist/cjs/src/base/functions/number.js +6 -0
  115. package/dist/cjs/src/base/functions/platform.js +6 -0
  116. package/dist/cjs/src/base/functions/rsa.js +1 -0
  117. package/dist/cjs/src/base/functions/string.js +6 -0
  118. package/dist/cjs/src/base/functions/throttle.js +1 -1
  119. package/dist/cjs/src/base/functions/time.js +6 -0
  120. package/dist/cjs/src/base/functions/totp.js +1 -0
  121. package/dist/cjs/src/base/functions/type.js +6 -0
  122. package/dist/cjs/src/base/functions.js +1 -1
  123. package/dist/cjs/src/base/ws/Cache.js +6 -0
  124. package/dist/cjs/src/base/ws/Client.js +1 -0
  125. package/dist/cjs/src/base/ws/Future.js +1 -1
  126. package/dist/cjs/src/base/ws/OrderBook.js +1 -1
  127. package/dist/cjs/src/base/ws/OrderBookSide.js +6 -0
  128. package/dist/cjs/src/base/ws/WsClient.js +1 -1
  129. package/dist/cjs/src/bequant.js +1 -1
  130. package/dist/cjs/src/bigone.js +117 -5
  131. package/dist/cjs/src/binance.js +5 -6
  132. package/dist/cjs/src/binancecoinm.js +1 -1
  133. package/dist/cjs/src/binanceus.js +11 -1
  134. package/dist/cjs/src/binanceusdm.js +1 -1
  135. package/dist/cjs/src/bingx.js +2 -3
  136. package/dist/cjs/src/bit2c.js +57 -1
  137. package/dist/cjs/src/bitbank.js +59 -1
  138. package/dist/cjs/src/bitbns.js +61 -1
  139. package/dist/cjs/src/bitcoincom.js +1 -1
  140. package/dist/cjs/src/bitfinex.js +3 -4
  141. package/dist/cjs/src/bitfinex1.js +12 -2
  142. package/dist/cjs/src/bitflyer.js +72 -1
  143. package/dist/cjs/src/bitget.js +104 -42
  144. package/dist/cjs/src/bithumb.js +55 -1
  145. package/dist/cjs/src/bitmart.js +1 -1
  146. package/dist/cjs/src/bitmex.js +2 -3
  147. package/dist/cjs/src/bitopro.js +75 -1
  148. package/dist/cjs/src/bitpanda.js +1 -1
  149. package/dist/cjs/src/bitrue.js +98 -18
  150. package/dist/cjs/src/bitso.js +60 -1
  151. package/dist/cjs/src/bitstamp.js +1 -1
  152. package/dist/cjs/src/bitteam.js +74 -1
  153. package/dist/cjs/src/bitvavo.js +68 -2
  154. package/dist/cjs/src/bl3p.js +43 -1
  155. package/dist/cjs/src/blockchaincom.js +67 -3
  156. package/dist/cjs/src/blofin.js +88 -2
  157. package/dist/cjs/src/btcalpha.js +74 -1
  158. package/dist/cjs/src/btcbox.js +59 -1
  159. package/dist/cjs/src/btcmarkets.js +74 -1
  160. package/dist/cjs/src/btcturk.js +62 -1
  161. package/dist/cjs/src/bybit.js +91 -41
  162. package/dist/cjs/src/cex.js +58 -1
  163. package/dist/cjs/src/coinbase.js +1 -1
  164. package/dist/cjs/src/coinbaseadvanced.js +1 -1
  165. package/dist/cjs/src/coinbaseexchange.js +76 -0
  166. package/dist/cjs/src/coincatch.js +1 -1
  167. package/dist/cjs/src/coincheck.js +1 -1
  168. package/dist/cjs/src/coinex.js +2 -3
  169. package/dist/cjs/src/coinlist.js +1 -0
  170. package/dist/cjs/src/coinmate.js +1 -1
  171. package/dist/cjs/src/coinmetro.js +1 -1
  172. package/dist/cjs/src/coinone.js +1 -1
  173. package/dist/cjs/src/coinsph.js +1 -0
  174. package/dist/cjs/src/coinspot.js +1 -1
  175. package/dist/cjs/src/cryptocom.js +1 -1
  176. package/dist/cjs/src/currencycom.js +1 -1
  177. package/dist/cjs/src/defx.js +1 -1
  178. package/dist/cjs/src/delta.js +12 -7
  179. package/dist/cjs/src/deribit.js +1 -1
  180. package/dist/cjs/src/digifinex.js +1 -1
  181. package/dist/cjs/src/ellipx.js +1 -1
  182. package/dist/cjs/src/exmo.js +1 -1
  183. package/dist/cjs/src/fmfwio.js +1 -1
  184. package/dist/cjs/src/gate.js +4 -5
  185. package/dist/cjs/src/gateio.js +1 -1
  186. package/dist/cjs/src/gemini.js +1 -1
  187. package/dist/cjs/src/hashkey.js +2 -3
  188. package/dist/cjs/src/hitbtc.js +1 -0
  189. package/dist/cjs/src/hollaex.js +2 -2
  190. package/dist/cjs/src/htx.js +3 -5
  191. package/dist/cjs/src/huobi.js +1 -1
  192. package/dist/cjs/src/huobijp.js +1 -1
  193. package/dist/cjs/src/hyperliquid.js +8 -8
  194. package/dist/cjs/src/idex.js +1 -1
  195. package/dist/cjs/src/independentreserve.js +1 -1
  196. package/dist/cjs/src/indodax.js +1 -1
  197. package/dist/cjs/src/kraken.js +1 -1
  198. package/dist/cjs/src/krakenfutures.js +4 -1
  199. package/dist/cjs/src/kucoin.js +1 -1
  200. package/dist/cjs/src/kucoinfutures.js +1 -1
  201. package/dist/cjs/src/kuna.js +1 -1
  202. package/dist/cjs/src/latoken.js +1 -1
  203. package/dist/cjs/src/lbank.js +2 -3
  204. package/dist/cjs/src/luno.js +1 -1
  205. package/dist/cjs/src/lykke.js +1 -1
  206. package/dist/cjs/src/mercado.js +1 -1
  207. package/dist/cjs/src/mexc.js +2 -1
  208. package/dist/cjs/src/myokx.js +1 -1
  209. package/dist/cjs/src/ndax.js +1 -1
  210. package/dist/cjs/src/novadax.js +1 -1
  211. package/dist/cjs/src/oceanex.js +1 -1
  212. package/dist/cjs/src/okcoin.js +1 -1
  213. package/dist/cjs/src/okx.js +14 -10
  214. package/dist/cjs/src/onetrading.js +23 -5
  215. package/dist/cjs/src/oxfun.js +2 -3
  216. package/dist/cjs/src/p2b.js +1 -1
  217. package/dist/cjs/src/paradex.js +1 -1
  218. package/dist/cjs/src/paymium.js +1 -1
  219. package/dist/cjs/src/poloniex.js +1 -1
  220. package/dist/cjs/src/poloniexfutures.js +1 -1
  221. package/dist/cjs/src/pro/alpaca.js +1 -1
  222. package/dist/cjs/src/pro/ascendex.js +1 -1
  223. package/dist/cjs/src/pro/bequant.js +1 -1
  224. package/dist/cjs/src/pro/binancecoinm.js +1 -1
  225. package/dist/cjs/src/pro/binanceus.js +1 -1
  226. package/dist/cjs/src/pro/binanceusdm.js +1 -1
  227. package/dist/cjs/src/pro/bingx.js +4 -7
  228. package/dist/cjs/src/pro/bitcoincom.js +1 -1
  229. package/dist/cjs/src/pro/bitfinex.js +1 -1
  230. package/dist/cjs/src/pro/bitfinex1.js +1 -1
  231. package/dist/cjs/src/pro/bitget.js +3 -6
  232. package/dist/cjs/src/pro/bithumb.js +1 -1
  233. package/dist/cjs/src/pro/bitmart.js +1 -1
  234. package/dist/cjs/src/pro/bitmex.js +1 -1
  235. package/dist/cjs/src/pro/bitpanda.js +1 -1
  236. package/dist/cjs/src/pro/bitrue.js +1 -1
  237. package/dist/cjs/src/pro/bitstamp.js +1 -1
  238. package/dist/cjs/src/pro/bitvavo.js +1 -1
  239. package/dist/cjs/src/pro/blockchaincom.js +1 -1
  240. package/dist/cjs/src/pro/blofin.js +1 -1
  241. package/dist/cjs/src/pro/bybit.js +1 -1
  242. package/dist/cjs/src/pro/cex.js +1 -1
  243. package/dist/cjs/src/pro/coinbase.js +1 -1
  244. package/dist/cjs/src/pro/coinbaseadvanced.js +1 -1
  245. package/dist/cjs/src/pro/coinbaseexchange.js +1 -1
  246. package/dist/cjs/src/pro/coinbaseinternational.js +1 -1
  247. package/dist/cjs/src/pro/coincatch.js +1 -1
  248. package/dist/cjs/src/pro/coincheck.js +1 -1
  249. package/dist/cjs/src/pro/coinex.js +2 -2
  250. package/dist/cjs/src/pro/coinone.js +1 -1
  251. package/dist/cjs/src/pro/cryptocom.js +1 -1
  252. package/dist/cjs/src/pro/currencycom.js +1 -1
  253. package/dist/cjs/src/pro/defx.js +1 -1
  254. package/dist/cjs/src/pro/deribit.js +1 -1
  255. package/dist/cjs/src/pro/exmo.js +1 -1
  256. package/dist/cjs/src/pro/gate.js +1 -1
  257. package/dist/cjs/src/pro/gateio.js +1 -1
  258. package/dist/cjs/src/pro/gemini.js +1 -1
  259. package/dist/cjs/src/pro/hashkey.js +1 -1
  260. package/dist/cjs/src/pro/hitbtc.js +1 -1
  261. package/dist/cjs/src/pro/hollaex.js +1 -1
  262. package/dist/cjs/src/pro/htx.js +1 -1
  263. package/dist/cjs/src/pro/huobi.js +1 -1
  264. package/dist/cjs/src/pro/hyperliquid.js +1 -1
  265. package/dist/cjs/src/pro/idex.js +1 -1
  266. package/dist/cjs/src/pro/independentreserve.js +1 -1
  267. package/dist/cjs/src/pro/kraken.js +1 -1
  268. package/dist/cjs/src/pro/krakenfutures.js +1 -1
  269. package/dist/cjs/src/pro/kucoin.js +1 -1
  270. package/dist/cjs/src/pro/kucoinfutures.js +1 -1
  271. package/dist/cjs/src/pro/lbank.js +1 -0
  272. package/dist/cjs/src/pro/luno.js +1 -1
  273. package/dist/cjs/src/pro/mexc.js +1 -1
  274. package/dist/cjs/src/pro/myokx.js +1 -1
  275. package/dist/cjs/src/pro/ndax.js +1 -1
  276. package/dist/cjs/src/pro/okcoin.js +1 -1
  277. package/dist/cjs/src/pro/okx.js +1 -1
  278. package/dist/cjs/src/pro/onetrading.js +1 -1
  279. package/dist/cjs/src/pro/oxfun.js +1 -1
  280. package/dist/cjs/src/pro/p2b.js +1 -1
  281. package/dist/cjs/src/pro/paradex.js +1 -1
  282. package/dist/cjs/src/pro/phemex.js +1 -1
  283. package/dist/cjs/src/pro/poloniex.js +1 -1
  284. package/dist/cjs/src/pro/poloniexfutures.js +1 -1
  285. package/dist/cjs/src/pro/probit.js +1 -1
  286. package/dist/cjs/src/pro/upbit.js +1 -1
  287. package/dist/cjs/src/pro/wazirx.js +1 -1
  288. package/dist/cjs/src/pro/whitebit.js +1 -1
  289. package/dist/cjs/src/pro/xt.js +2 -2
  290. package/dist/cjs/src/probit.js +1 -1
  291. package/dist/cjs/src/static_dependencies/ethers/abi-coder.js +6 -0
  292. package/dist/cjs/src/static_dependencies/ethers/address/address.js +1 -1
  293. package/dist/cjs/src/static_dependencies/ethers/coders/abstract-coder.js +6 -0
  294. package/dist/cjs/src/static_dependencies/ethers/coders/address.js +1 -0
  295. package/dist/cjs/src/static_dependencies/ethers/coders/anonymous.js +1 -0
  296. package/dist/cjs/src/static_dependencies/ethers/coders/array.js +1 -0
  297. package/dist/cjs/src/static_dependencies/ethers/coders/boolean.js +1 -0
  298. package/dist/cjs/src/static_dependencies/ethers/coders/bytes.js +1 -0
  299. package/dist/cjs/src/static_dependencies/ethers/coders/fixed-bytes.js +1 -0
  300. package/dist/cjs/src/static_dependencies/ethers/coders/null.js +1 -0
  301. package/dist/cjs/src/static_dependencies/ethers/coders/number.js +1 -0
  302. package/dist/cjs/src/static_dependencies/ethers/coders/string.js +1 -0
  303. package/dist/cjs/src/static_dependencies/ethers/coders/tuple.js +1 -0
  304. package/dist/cjs/src/static_dependencies/ethers/fragments.js +6 -0
  305. package/dist/cjs/src/static_dependencies/ethers/hash/typed-data.js +6 -0
  306. package/dist/cjs/src/static_dependencies/ethers/index.js +1 -10
  307. package/dist/cjs/src/static_dependencies/ethers/interface.js +6 -0
  308. package/dist/cjs/src/static_dependencies/ethers/typed.js +6 -0
  309. package/dist/cjs/src/static_dependencies/ethers/utils/base58.js +1 -13
  310. package/dist/cjs/src/static_dependencies/ethers/utils/data.js +1 -6
  311. package/dist/cjs/src/static_dependencies/ethers/utils/errors.js +1 -9
  312. package/dist/cjs/src/static_dependencies/ethers/utils/events.js +6 -0
  313. package/dist/cjs/src/static_dependencies/ethers/utils/fixednumber.js +6 -0
  314. package/dist/cjs/src/static_dependencies/ethers/utils/index.js +1 -7
  315. package/dist/cjs/src/static_dependencies/ethers/utils/maths.js +1 -5
  316. package/dist/cjs/src/static_dependencies/ethers/utils/properties.js +6 -0
  317. package/dist/cjs/src/static_dependencies/ethers/utils/utf8.js +1 -8
  318. package/dist/cjs/src/static_dependencies/fflake/browser.js +1 -1
  319. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncrypt.js +1 -0
  320. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +1 -0
  321. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +1 -1
  322. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +6 -0
  323. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +6 -0
  324. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +6 -0
  325. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +1 -0
  326. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +1 -1
  327. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +6 -0
  328. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +1 -1
  329. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +1 -1
  330. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/util.js +6 -0
  331. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +1 -1
  332. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +6 -0
  333. package/dist/cjs/src/static_dependencies/messagepack/msgpack.js +6 -0
  334. package/dist/cjs/src/static_dependencies/noble-curves/_shortw_utils.js +1 -1
  335. package/dist/cjs/src/static_dependencies/noble-curves/abstract/curve.js +1 -1
  336. package/dist/cjs/src/static_dependencies/noble-curves/abstract/edwards.js +1 -1
  337. package/dist/cjs/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +1 -0
  338. package/dist/cjs/src/static_dependencies/noble-curves/abstract/modular.js +1 -1
  339. package/dist/cjs/src/static_dependencies/noble-curves/abstract/montgomery.js +1 -1
  340. package/dist/cjs/src/static_dependencies/noble-curves/abstract/poseidon.js +1 -1
  341. package/dist/cjs/src/static_dependencies/noble-curves/abstract/utils.js +6 -0
  342. package/dist/cjs/src/static_dependencies/noble-curves/abstract/weierstrass.js +1 -1
  343. package/dist/cjs/src/static_dependencies/noble-curves/ed25519.js +1 -1
  344. package/dist/cjs/src/static_dependencies/noble-curves/p256.js +1 -1
  345. package/dist/cjs/src/static_dependencies/noble-curves/secp256k1.js +1 -1
  346. package/dist/cjs/src/static_dependencies/noble-hashes/_assert.js +6 -0
  347. package/dist/cjs/src/static_dependencies/noble-hashes/_sha2.js +1 -0
  348. package/dist/cjs/src/static_dependencies/noble-hashes/_u64.js +6 -0
  349. package/dist/cjs/src/static_dependencies/noble-hashes/crypto.js +6 -0
  350. package/dist/cjs/src/static_dependencies/noble-hashes/hmac.js +1 -0
  351. package/dist/cjs/src/static_dependencies/noble-hashes/md5.js +1 -0
  352. package/dist/cjs/src/static_dependencies/noble-hashes/sha1.js +1 -0
  353. package/dist/cjs/src/static_dependencies/noble-hashes/sha256.js +1 -0
  354. package/dist/cjs/src/static_dependencies/noble-hashes/sha3.js +1 -0
  355. package/dist/cjs/src/static_dependencies/noble-hashes/sha512.js +1 -0
  356. package/dist/cjs/src/static_dependencies/noble-hashes/utils.js +1 -1
  357. package/dist/cjs/src/static_dependencies/node-fetch/body.js +1 -5
  358. package/dist/cjs/src/static_dependencies/node-fetch/errors/abort-error.js +1 -0
  359. package/dist/cjs/src/static_dependencies/node-fetch/errors/base.js +6 -0
  360. package/dist/cjs/src/static_dependencies/node-fetch/errors/fetch-error.js +1 -0
  361. package/dist/cjs/src/static_dependencies/node-fetch/headers.js +1 -5
  362. package/dist/cjs/src/static_dependencies/node-fetch/index.js +1 -7
  363. package/dist/cjs/src/static_dependencies/node-fetch/request.js +1 -7
  364. package/dist/cjs/src/static_dependencies/node-fetch/response.js +1 -5
  365. package/dist/cjs/src/static_dependencies/node-fetch/utils/get-search.js +6 -0
  366. package/dist/cjs/src/static_dependencies/node-fetch/utils/is-redirect.js +6 -0
  367. package/dist/cjs/src/static_dependencies/node-fetch/utils/is.js +6 -0
  368. package/dist/cjs/src/static_dependencies/node-fetch/utils/referrer.js +1 -0
  369. package/dist/cjs/src/static_dependencies/proxies/agent-base/index.js +1 -0
  370. package/dist/cjs/src/static_dependencies/proxies/http-proxy-agent/index.js +1 -0
  371. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/index.js +1 -0
  372. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +6 -0
  373. package/dist/cjs/src/static_dependencies/scure-base/index.js +6 -0
  374. package/dist/cjs/src/static_dependencies/scure-starknet/index.js +1 -1
  375. package/dist/cjs/src/static_dependencies/starknet/constants.js +1 -1
  376. package/dist/cjs/src/static_dependencies/starknet/types/calldata.js +6 -0
  377. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/abi.js +6 -0
  378. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/index.js +6 -0
  379. package/dist/cjs/src/static_dependencies/starknet/types/lib/index.js +6 -0
  380. package/dist/cjs/src/static_dependencies/starknet/types/typedData.js +6 -0
  381. package/dist/cjs/src/static_dependencies/starknet/utils/assert.js +6 -0
  382. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +1 -1
  383. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +1 -1
  384. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +1 -1
  385. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/byteArray.js +1 -0
  386. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/cairo.js +1 -0
  387. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +6 -0
  388. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +6 -0
  389. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +6 -0
  390. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/formatter.js +1 -0
  391. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/index.js +1 -1
  392. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/index.js +1 -0
  393. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +1 -0
  394. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +6 -0
  395. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +1 -0
  396. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/requestParser.js +1 -0
  397. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/responseParser.js +1 -0
  398. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/tuple.js +1 -1
  399. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/validate.js +1 -4
  400. package/dist/cjs/src/static_dependencies/starknet/utils/encode.js +1 -0
  401. package/dist/cjs/src/static_dependencies/starknet/utils/hash/classHash.js +1 -3
  402. package/dist/cjs/src/static_dependencies/starknet/utils/merkle.js +1 -0
  403. package/dist/cjs/src/static_dependencies/starknet/utils/num.js +1 -0
  404. package/dist/cjs/src/static_dependencies/starknet/utils/selector.js +1 -0
  405. package/dist/cjs/src/static_dependencies/starknet/utils/shortString.js +1 -0
  406. package/dist/cjs/src/static_dependencies/starknet/utils/typedData.js +1 -1
  407. package/dist/cjs/src/static_dependencies/watchable/src/unpromise.js +6 -0
  408. package/dist/cjs/src/timex.js +1 -0
  409. package/dist/cjs/src/tokocrypto.js +1 -1
  410. package/dist/cjs/src/tradeogre.js +1 -1
  411. package/dist/cjs/src/upbit.js +1 -1
  412. package/dist/cjs/src/vertex.js +1 -1
  413. package/dist/cjs/src/wavesexchange.js +1 -1
  414. package/dist/cjs/src/wazirx.js +1 -0
  415. package/dist/cjs/src/whitebit.js +3 -3
  416. package/dist/cjs/src/woo.js +2 -3
  417. package/dist/cjs/src/woofipro.js +2 -3
  418. package/dist/cjs/src/xt.js +1 -1
  419. package/dist/cjs/src/yobit.js +1 -1
  420. package/dist/cjs/src/zaif.js +1 -1
  421. package/dist/cjs/src/zonda.js +1 -1
  422. package/js/ccxt.d.ts +1 -1
  423. package/js/ccxt.js +1 -1
  424. package/js/src/abstract/binance.d.ts +1 -0
  425. package/js/src/abstract/binancecoinm.d.ts +1 -0
  426. package/js/src/abstract/binanceus.d.ts +1 -0
  427. package/js/src/abstract/binanceusdm.d.ts +1 -0
  428. package/js/src/abstract/bybit.d.ts +1 -0
  429. package/js/src/ace.js +58 -0
  430. package/js/src/alpaca.js +80 -0
  431. package/js/src/ascendex.d.ts +1 -0
  432. package/js/src/ascendex.js +115 -3
  433. package/js/src/base/Exchange.d.ts +2 -2
  434. package/js/src/base/Exchange.js +16 -14
  435. package/js/src/bigone.d.ts +1 -0
  436. package/js/src/bigone.js +116 -4
  437. package/js/src/binance.js +4 -5
  438. package/js/src/binanceus.js +10 -0
  439. package/js/src/bingx.js +1 -2
  440. package/js/src/bit2c.js +56 -0
  441. package/js/src/bitbank.js +58 -0
  442. package/js/src/bitbns.js +60 -0
  443. package/js/src/bitfinex.js +2 -3
  444. package/js/src/bitfinex1.d.ts +2 -1
  445. package/js/src/bitfinex1.js +11 -1
  446. package/js/src/bitflyer.js +71 -0
  447. package/js/src/bitget.js +103 -41
  448. package/js/src/bithumb.js +54 -0
  449. package/js/src/bitmex.js +1 -2
  450. package/js/src/bitopro.js +74 -0
  451. package/js/src/bitrue.d.ts +11 -16
  452. package/js/src/bitrue.js +97 -17
  453. package/js/src/bitso.js +59 -0
  454. package/js/src/bitteam.js +73 -0
  455. package/js/src/bitvavo.d.ts +3 -2
  456. package/js/src/bitvavo.js +68 -2
  457. package/js/src/bl3p.js +42 -0
  458. package/js/src/blockchaincom.js +66 -2
  459. package/js/src/blofin.js +87 -1
  460. package/js/src/btcalpha.js +73 -0
  461. package/js/src/btcbox.js +58 -0
  462. package/js/src/btcmarkets.js +73 -0
  463. package/js/src/btcturk.js +61 -0
  464. package/js/src/bybit.js +90 -40
  465. package/js/src/cex.js +57 -0
  466. package/js/src/coinbase.js +1 -1
  467. package/js/src/coinbaseexchange.js +76 -0
  468. package/js/src/coinex.js +1 -2
  469. package/js/src/delta.d.ts +2 -1
  470. package/js/src/delta.js +11 -6
  471. package/js/src/gate.js +3 -4
  472. package/js/src/hashkey.js +1 -2
  473. package/js/src/hollaex.js +1 -1
  474. package/js/src/htx.js +2 -4
  475. package/js/src/hyperliquid.js +7 -7
  476. package/js/src/krakenfutures.js +3 -0
  477. package/js/src/lbank.js +1 -2
  478. package/js/src/mexc.js +1 -0
  479. package/js/src/okx.js +13 -9
  480. package/js/src/onetrading.d.ts +2 -1
  481. package/js/src/onetrading.js +22 -4
  482. package/js/src/oxfun.js +1 -2
  483. package/js/src/pro/bingx.js +3 -6
  484. package/js/src/pro/bitget.js +2 -5
  485. package/js/src/pro/coinex.js +1 -1
  486. package/js/src/pro/xt.js +1 -1
  487. package/js/src/static_dependencies/qs/formats.d.cts +0 -6
  488. package/js/src/static_dependencies/qs/index.d.cts +0 -6
  489. package/js/src/static_dependencies/qs/parse.d.cts +0 -6
  490. package/js/src/static_dependencies/qs/stringify.d.cts +0 -6
  491. package/js/src/static_dependencies/qs/utils.d.cts +0 -6
  492. package/js/src/whitebit.js +2 -2
  493. package/js/src/woo.js +1 -2
  494. package/js/src/woofipro.js +1 -2
  495. package/package.json +12 -2
@@ -6,7 +6,7 @@ var Precise = require('./base/Precise.js');
6
6
  var number = require('./base/functions/number.js');
7
7
  var sha256 = require('./static_dependencies/noble-hashes/sha256.js');
8
8
 
9
- // ---------------------------------------------------------------------------
9
+ // ----------------------------------------------------------------------------
10
10
  // ---------------------------------------------------------------------------
11
11
  /**
12
12
  * @class ascendex
@@ -295,6 +295,100 @@ class ascendex extends ascendex$1 {
295
295
  'AKT': 'Akash',
296
296
  },
297
297
  },
298
+ 'features': {
299
+ 'default': {
300
+ 'sandbox': true,
301
+ 'createOrder': {
302
+ 'marginMode': true,
303
+ 'triggerPrice': true,
304
+ 'triggerPriceType': undefined,
305
+ 'triggerDirection': false,
306
+ 'stopLossPrice': false,
307
+ 'takeProfitPrice': false,
308
+ 'attachedStopLossTakeProfit': undefined,
309
+ 'timeInForce': {
310
+ 'IOC': true,
311
+ 'FOK': true,
312
+ 'PO': true,
313
+ 'GTD': false,
314
+ },
315
+ 'hedged': false,
316
+ 'trailing': false,
317
+ 'leverage': false,
318
+ 'marketBuyRequiresPrice': false,
319
+ 'marketBuyByCost': false,
320
+ 'selfTradePrevention': false,
321
+ 'iceberg': false,
322
+ },
323
+ 'createOrders': {
324
+ 'max': 10,
325
+ },
326
+ 'fetchMyTrades': undefined,
327
+ 'fetchOrder': {
328
+ 'marginMode': false,
329
+ 'trigger': false,
330
+ 'trailing': false,
331
+ 'marketType': true,
332
+ },
333
+ 'fetchOpenOrders': {
334
+ 'marginMode': false,
335
+ 'limit': undefined,
336
+ 'trigger': false,
337
+ 'trailing': false,
338
+ 'marketType': true,
339
+ },
340
+ 'fetchOrders': undefined,
341
+ 'fetchClosedOrders': undefined,
342
+ 'fetchOHLCV': {
343
+ 'limit': 500,
344
+ },
345
+ },
346
+ 'spot': {
347
+ 'extends': 'default',
348
+ 'fetchClosedOrders': {
349
+ 'marginMode': false,
350
+ 'limit': 1000,
351
+ 'daysBack': 100000,
352
+ 'daysBackCanceled': 1,
353
+ 'untilDays': 100000,
354
+ 'trigger': false,
355
+ 'trailing': false,
356
+ },
357
+ },
358
+ 'forDerivatives': {
359
+ 'extends': 'default',
360
+ 'createOrder': {
361
+ // todo: implementation
362
+ 'attachedStopLossTakeProfit': {
363
+ 'triggerPriceType': {
364
+ 'last': true,
365
+ 'mark': false,
366
+ 'index': false,
367
+ },
368
+ 'price': false,
369
+ },
370
+ },
371
+ 'fetchClosedOrders': {
372
+ 'marginMode': false,
373
+ 'limit': 1000,
374
+ 'daysBack': undefined,
375
+ 'daysBackCanceled': undefined,
376
+ 'untilDays': undefined,
377
+ 'trigger': false,
378
+ 'trailing': false,
379
+ },
380
+ },
381
+ 'swap': {
382
+ 'linear': {
383
+ 'extends': 'forDerivatives',
384
+ },
385
+ 'inverse': undefined,
386
+ },
387
+ 'future': {
388
+ 'linear': undefined,
389
+ 'inverse': undefined,
390
+ },
391
+ },
298
392
  'exceptions': {
299
393
  'exact': {
300
394
  // not documented
@@ -1114,6 +1208,7 @@ class ascendex extends ascendex$1 {
1114
1208
  * @param {int} [since] timestamp in ms of the earliest candle to fetch
1115
1209
  * @param {int} [limit] the maximum amount of candles to fetch
1116
1210
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1211
+ * @param {int} [params.until] timestamp in ms of the latest candle to fetch
1117
1212
  * @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
1118
1213
  */
1119
1214
  async fetchOHLCV(symbol, timeframe = '1m', since = undefined, limit = undefined, params = {}) {
@@ -1128,6 +1223,7 @@ class ascendex extends ascendex$1 {
1128
1223
  const duration = this.parseTimeframe(timeframe);
1129
1224
  const options = this.safeDict(this.options, 'fetchOHLCV', {});
1130
1225
  const defaultLimit = this.safeInteger(options, 'limit', 500);
1226
+ const until = this.safeInteger(params, 'until');
1131
1227
  if (since !== undefined) {
1132
1228
  request['from'] = since;
1133
1229
  if (limit === undefined) {
@@ -1136,11 +1232,28 @@ class ascendex extends ascendex$1 {
1136
1232
  else {
1137
1233
  limit = Math.min(limit, defaultLimit);
1138
1234
  }
1139
- request['to'] = this.sum(since, limit * duration * 1000, 1);
1235
+ const toWithLimit = this.sum(since, limit * duration * 1000, 1);
1236
+ if (until !== undefined) {
1237
+ request['to'] = Math.min(toWithLimit, until + 1);
1238
+ }
1239
+ else {
1240
+ request['to'] = toWithLimit;
1241
+ }
1242
+ }
1243
+ else if (until !== undefined) {
1244
+ request['to'] = until + 1;
1245
+ if (limit === undefined) {
1246
+ limit = defaultLimit;
1247
+ }
1248
+ else {
1249
+ limit = Math.min(limit, defaultLimit);
1250
+ }
1251
+ request['from'] = until - (limit * duration * 1000);
1140
1252
  }
1141
1253
  else if (limit !== undefined) {
1142
1254
  request['n'] = limit; // max 500
1143
1255
  }
1256
+ params = this.omit(params, 'until');
1144
1257
  const response = await this.v1PublicGetBarhist(this.extend(request, params));
1145
1258
  //
1146
1259
  // {
@@ -2834,8 +2947,7 @@ class ascendex extends ascendex$1 {
2834
2947
  //
2835
2948
  const data = this.safeDict(response, 'data', {});
2836
2949
  const contracts = this.safeList(data, 'contracts', []);
2837
- const result = this.parseFundingRates(contracts);
2838
- return this.filterByArray(result, 'symbol', symbols);
2950
+ return this.parseFundingRates(contracts, symbols);
2839
2951
  }
2840
2952
  async modifyMarginHelper(symbol, amount, type, params = {}) {
2841
2953
  await this.loadMarkets();
@@ -104,7 +104,7 @@ class Exchange {
104
104
  this.requiresWeb3 = false;
105
105
  this.requiresEddsa = false;
106
106
  this.precision = undefined;
107
- this.enableLastJsonResponse = true;
107
+ this.enableLastJsonResponse = false;
108
108
  this.enableLastHttpResponse = true;
109
109
  this.enableLastResponseHeaders = true;
110
110
  this.last_http_response = undefined;
@@ -5734,21 +5734,14 @@ class Exchange {
5734
5734
  parseFundingRate(contract, market = undefined) {
5735
5735
  throw new errors.NotSupported(this.id + ' parseFundingRate() is not supported yet');
5736
5736
  }
5737
- parseFundingRates(response, market = undefined) {
5738
- const result = {};
5737
+ parseFundingRates(response, symbols = undefined) {
5738
+ const fundingRates = {};
5739
5739
  for (let i = 0; i < response.length; i++) {
5740
- const parsed = this.parseFundingRate(response[i], market);
5741
- result[parsed['symbol']] = parsed;
5742
- }
5743
- return result;
5744
- }
5745
- parseOpenInterests(response, market = undefined) {
5746
- const result = {};
5747
- for (let i = 0; i < response.length; i++) {
5748
- const parsed = this.parseOpenInterest(response[i], market);
5749
- result[parsed['symbol']] = parsed;
5740
+ const entry = response[i];
5741
+ const parsed = this.parseFundingRate(entry);
5742
+ fundingRates[parsed['symbol']] = parsed;
5750
5743
  }
5751
- return result;
5744
+ return this.filterByArray(fundingRates, 'symbol', symbols);
5752
5745
  }
5753
5746
  parseLongShortRatio(info, market = undefined) {
5754
5747
  throw new errors.NotSupported(this.id + ' parseLongShortRatio() is not supported yet');
@@ -5859,6 +5852,15 @@ class Exchange {
5859
5852
  parseOpenInterest(interest, market = undefined) {
5860
5853
  throw new errors.NotSupported(this.id + ' parseOpenInterest () is not supported yet');
5861
5854
  }
5855
+ parseOpenInterests(response, symbols = undefined) {
5856
+ const result = {};
5857
+ for (let i = 0; i < response.length; i++) {
5858
+ const entry = response[i];
5859
+ const parsed = this.parseOpenInterest(entry);
5860
+ result[parsed['symbol']] = parsed;
5861
+ }
5862
+ return this.filterByArray(result, 'symbol', symbols);
5863
+ }
5862
5864
  parseOpenInterestsHistory(response, market = undefined, since = undefined, limit = undefined) {
5863
5865
  const interests = [];
5864
5866
  for (let i = 0; i < response.length; i++) {
@@ -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
  const zero = BigInt(0);
6
12
  const minusOne = BigInt(-1);
7
13
  const base = BigInt(10);
@@ -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
  class BaseError extends Error {
7
13
  constructor(message) {
@@ -10,7 +10,7 @@ var secp256k1 = require('../../static_dependencies/noble-curves/secp256k1.js');
10
10
  var p256 = require('../../static_dependencies/noble-curves/p256.js');
11
11
  var utils = require('../../static_dependencies/noble-curves/abstract/utils.js');
12
12
 
13
- /* ------------------------------------------------------------------------ */
13
+ // ----------------------------------------------------------------------------
14
14
  /* ------------------------------------------------------------------------ */
15
15
  const encoders = {
16
16
  binary: x => x,
@@ -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:
@@ -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.useMessageQueue = 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
@@ -296,6 +296,105 @@ class bigone extends bigone$1 {
296
296
  // undetermined: XinFin, YAS, Ycash
297
297
  },
298
298
  },
299
+ 'features': {
300
+ 'default': {
301
+ 'sandbox': false,
302
+ 'createOrder': {
303
+ 'marginMode': false,
304
+ 'triggerPrice': true,
305
+ 'triggerPriceType': undefined,
306
+ 'triggerDirection': true,
307
+ 'stopLossPrice': false,
308
+ 'takeProfitPrice': false,
309
+ 'attachedStopLossTakeProfit': undefined,
310
+ 'timeInForce': {
311
+ 'IOC': true,
312
+ 'FOK': false,
313
+ 'PO': true,
314
+ 'GTD': false,
315
+ },
316
+ 'hedged': false,
317
+ 'trailing': false,
318
+ 'leverage': false,
319
+ 'marketBuyRequiresPrice': true,
320
+ 'marketBuyByCost': true,
321
+ 'selfTradePrevention': false,
322
+ 'iceberg': false,
323
+ },
324
+ 'createOrders': undefined,
325
+ 'fetchMyTrades': {
326
+ 'marginMode': false,
327
+ 'limit': 200,
328
+ 'daysBack': undefined,
329
+ 'untilDays': undefined,
330
+ },
331
+ 'fetchOrder': {
332
+ 'marginMode': false,
333
+ 'trigger': false,
334
+ 'trailing': false,
335
+ },
336
+ 'fetchOpenOrders': {
337
+ 'marginMode': false,
338
+ 'limit': 200,
339
+ 'trigger': false,
340
+ 'trailing': false,
341
+ },
342
+ 'fetchOrders': {
343
+ 'marginMode': false,
344
+ 'limit': 200,
345
+ 'daysBack': undefined,
346
+ 'untilDays': undefined,
347
+ 'trigger': false,
348
+ 'trailing': false,
349
+ },
350
+ 'fetchClosedOrders': {
351
+ 'marginMode': false,
352
+ 'limit': 200,
353
+ 'daysBack': undefined,
354
+ 'daysBackCanceled': undefined,
355
+ 'untilDays': undefined,
356
+ 'trigger': false,
357
+ 'trailing': false,
358
+ },
359
+ 'fetchOHLCV': {
360
+ 'limit': 500,
361
+ },
362
+ },
363
+ 'spot': {
364
+ 'extends': 'default',
365
+ },
366
+ 'forDerivatives': {
367
+ 'extends': 'default',
368
+ 'createOrder': {
369
+ // todo: implement
370
+ 'triggerPriceType': {
371
+ 'mark': true,
372
+ 'index': true,
373
+ 'last': true,
374
+ },
375
+ },
376
+ 'fetchOrders': {
377
+ 'daysBack': 100000,
378
+ 'untilDays': 100000,
379
+ },
380
+ 'fetchClosedOrders': {
381
+ 'daysBack': 100000,
382
+ 'untilDays': 100000,
383
+ },
384
+ },
385
+ 'swap': {
386
+ 'linear': {
387
+ 'extends': 'forDerivatives',
388
+ },
389
+ 'inverse': {
390
+ 'extends': 'forDerivatives',
391
+ },
392
+ },
393
+ 'future': {
394
+ 'linear': undefined,
395
+ 'inverse': undefined,
396
+ },
397
+ },
299
398
  'precisionMode': number.TICK_SIZE,
300
399
  'exceptions': {
301
400
  'exact': {
@@ -1202,6 +1301,7 @@ class bigone extends bigone$1 {
1202
1301
  * @param {int} [since] timestamp in ms of the earliest candle to fetch
1203
1302
  * @param {int} [limit] the maximum amount of candles to fetch
1204
1303
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1304
+ * @param {int} [params.until] timestamp in ms of the earliest candle to fetch
1205
1305
  * @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
1206
1306
  */
1207
1307
  async fetchOHLCV(symbol, timeframe = '1m', since = undefined, limit = undefined, params = {}) {
@@ -1210,20 +1310,32 @@ class bigone extends bigone$1 {
1210
1310
  if (market['contract']) {
1211
1311
  throw new errors.BadRequest(this.id + ' fetchOHLCV () can only fetch ohlcvs for spot markets');
1212
1312
  }
1313
+ const until = this.safeInteger(params, 'until');
1314
+ const untilIsDefined = (until !== undefined);
1315
+ const sinceIsDefined = (since !== undefined);
1213
1316
  if (limit === undefined) {
1214
- limit = 100; // default 100, max 500
1317
+ limit = (sinceIsDefined && untilIsDefined) ? 500 : 100; // default 100, max 500, if since and limit defined then fetch all the candles between them unless it exceeds the max of 500
1215
1318
  }
1216
1319
  const request = {
1217
1320
  'asset_pair_name': market['id'],
1218
1321
  'period': this.safeString(this.timeframes, timeframe, timeframe),
1219
1322
  'limit': limit,
1220
1323
  };
1221
- if (since !== undefined) {
1324
+ if (sinceIsDefined) {
1222
1325
  // const start = this.parseToInt (since / 1000);
1223
1326
  const duration = this.parseTimeframe(timeframe);
1224
- const end = this.sum(since, limit * duration * 1000);
1225
- request['time'] = this.iso8601(end);
1327
+ const endByLimit = this.sum(since, limit * duration * 1000);
1328
+ if (untilIsDefined) {
1329
+ request['time'] = this.iso8601(Math.min(endByLimit, until + 1));
1330
+ }
1331
+ else {
1332
+ request['time'] = this.iso8601(endByLimit);
1333
+ }
1334
+ }
1335
+ else if (untilIsDefined) {
1336
+ request['time'] = this.iso8601(until + 1);
1226
1337
  }
1338
+ params = this.omit(params, 'until');
1227
1339
  const response = await this.publicGetAssetPairsAssetPairNameCandles(this.extend(request, params));
1228
1340
  //
1229
1341
  // {