ccxt 4.4.46 → 4.4.48

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 (517) hide show
  1. package/README.md +3 -4
  2. package/dist/ccxt.browser.min.js +16 -16
  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 +60 -2
  106. package/dist/cjs/src/alpaca.js +81 -1
  107. package/dist/cjs/src/ascendex.js +96 -3
  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 +22 -19
  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 +6 -5
  144. package/dist/cjs/src/bithumb.js +55 -1
  145. package/dist/cjs/src/bitmart.js +8 -3
  146. package/dist/cjs/src/bitmex.js +7 -5
  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 +16 -5
  162. package/dist/cjs/src/cex.js +58 -1
  163. package/dist/cjs/src/coinbase.js +12 -2
  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 +87 -3
  167. package/dist/cjs/src/coincheck.js +53 -1
  168. package/dist/cjs/src/coinex.js +2 -3
  169. package/dist/cjs/src/coinlist.js +78 -0
  170. package/dist/cjs/src/coinmate.js +64 -1
  171. package/dist/cjs/src/coinmetro.js +69 -1
  172. package/dist/cjs/src/coinone.js +57 -1
  173. package/dist/cjs/src/coinsph.js +68 -1
  174. package/dist/cjs/src/coinspot.js +48 -1
  175. package/dist/cjs/src/cryptocom.js +1 -1
  176. package/dist/cjs/src/currencycom.js +73 -1
  177. package/dist/cjs/src/defx.js +94 -7
  178. package/dist/cjs/src/delta.js +85 -4
  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 +14 -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 +13 -7
  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 +12 -6
  194. package/dist/cjs/src/idex.js +1 -1
  195. package/dist/cjs/src/independentreserve.js +61 -1
  196. package/dist/cjs/src/indodax.js +1 -1
  197. package/dist/cjs/src/kraken.js +2 -2
  198. package/dist/cjs/src/krakenfutures.js +8 -5
  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 +1 -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 +23 -11
  214. package/dist/cjs/src/onetrading.js +1 -1
  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 +6 -3
  218. package/dist/cjs/src/paymium.js +1 -1
  219. package/dist/cjs/src/phemex.js +103 -0
  220. package/dist/cjs/src/poloniex.js +62 -1
  221. package/dist/cjs/src/poloniexfutures.js +75 -1
  222. package/dist/cjs/src/pro/alpaca.js +1 -1
  223. package/dist/cjs/src/pro/ascendex.js +1 -1
  224. package/dist/cjs/src/pro/bequant.js +1 -1
  225. package/dist/cjs/src/pro/binancecoinm.js +1 -1
  226. package/dist/cjs/src/pro/binanceus.js +1 -1
  227. package/dist/cjs/src/pro/binanceusdm.js +1 -1
  228. package/dist/cjs/src/pro/bingx.js +4 -7
  229. package/dist/cjs/src/pro/bitcoincom.js +1 -1
  230. package/dist/cjs/src/pro/bitfinex.js +1 -1
  231. package/dist/cjs/src/pro/bitfinex1.js +1 -1
  232. package/dist/cjs/src/pro/bitget.js +3 -6
  233. package/dist/cjs/src/pro/bithumb.js +1 -1
  234. package/dist/cjs/src/pro/bitmart.js +1 -1
  235. package/dist/cjs/src/pro/bitmex.js +1 -1
  236. package/dist/cjs/src/pro/bitpanda.js +1 -1
  237. package/dist/cjs/src/pro/bitrue.js +1 -1
  238. package/dist/cjs/src/pro/bitstamp.js +1 -1
  239. package/dist/cjs/src/pro/bitvavo.js +1 -1
  240. package/dist/cjs/src/pro/blockchaincom.js +1 -1
  241. package/dist/cjs/src/pro/blofin.js +1 -1
  242. package/dist/cjs/src/pro/bybit.js +1 -1
  243. package/dist/cjs/src/pro/cex.js +1 -1
  244. package/dist/cjs/src/pro/coinbase.js +1 -1
  245. package/dist/cjs/src/pro/coinbaseadvanced.js +1 -1
  246. package/dist/cjs/src/pro/coinbaseexchange.js +1 -1
  247. package/dist/cjs/src/pro/coinbaseinternational.js +1 -1
  248. package/dist/cjs/src/pro/coincatch.js +1 -1
  249. package/dist/cjs/src/pro/coincheck.js +1 -1
  250. package/dist/cjs/src/pro/coinex.js +1 -1
  251. package/dist/cjs/src/pro/coinone.js +1 -1
  252. package/dist/cjs/src/pro/cryptocom.js +1 -1
  253. package/dist/cjs/src/pro/currencycom.js +1 -1
  254. package/dist/cjs/src/pro/defx.js +1 -1
  255. package/dist/cjs/src/pro/deribit.js +1 -1
  256. package/dist/cjs/src/pro/exmo.js +1 -1
  257. package/dist/cjs/src/pro/gate.js +1 -1
  258. package/dist/cjs/src/pro/gateio.js +1 -1
  259. package/dist/cjs/src/pro/gemini.js +1 -1
  260. package/dist/cjs/src/pro/hashkey.js +1 -1
  261. package/dist/cjs/src/pro/hitbtc.js +1 -1
  262. package/dist/cjs/src/pro/hollaex.js +1 -1
  263. package/dist/cjs/src/pro/htx.js +1 -1
  264. package/dist/cjs/src/pro/huobi.js +1 -1
  265. package/dist/cjs/src/pro/hyperliquid.js +1 -1
  266. package/dist/cjs/src/pro/idex.js +1 -1
  267. package/dist/cjs/src/pro/independentreserve.js +1 -1
  268. package/dist/cjs/src/pro/kraken.js +1 -1
  269. package/dist/cjs/src/pro/krakenfutures.js +1 -1
  270. package/dist/cjs/src/pro/kucoin.js +1 -1
  271. package/dist/cjs/src/pro/kucoinfutures.js +1 -1
  272. package/dist/cjs/src/pro/lbank.js +1 -0
  273. package/dist/cjs/src/pro/luno.js +1 -1
  274. package/dist/cjs/src/pro/mexc.js +1 -1
  275. package/dist/cjs/src/pro/myokx.js +1 -1
  276. package/dist/cjs/src/pro/ndax.js +1 -1
  277. package/dist/cjs/src/pro/okcoin.js +1 -1
  278. package/dist/cjs/src/pro/okx.js +1 -1
  279. package/dist/cjs/src/pro/onetrading.js +1 -1
  280. package/dist/cjs/src/pro/oxfun.js +1 -1
  281. package/dist/cjs/src/pro/p2b.js +1 -1
  282. package/dist/cjs/src/pro/paradex.js +1 -1
  283. package/dist/cjs/src/pro/phemex.js +1 -1
  284. package/dist/cjs/src/pro/poloniex.js +1 -1
  285. package/dist/cjs/src/pro/poloniexfutures.js +1 -1
  286. package/dist/cjs/src/pro/probit.js +1 -1
  287. package/dist/cjs/src/pro/upbit.js +1 -1
  288. package/dist/cjs/src/pro/wazirx.js +1 -1
  289. package/dist/cjs/src/pro/whitebit.js +1 -1
  290. package/dist/cjs/src/pro/xt.js +2 -2
  291. package/dist/cjs/src/probit.js +1 -1
  292. package/dist/cjs/src/static_dependencies/ethers/abi-coder.js +6 -0
  293. package/dist/cjs/src/static_dependencies/ethers/address/address.js +1 -1
  294. package/dist/cjs/src/static_dependencies/ethers/coders/abstract-coder.js +6 -0
  295. package/dist/cjs/src/static_dependencies/ethers/coders/address.js +1 -0
  296. package/dist/cjs/src/static_dependencies/ethers/coders/anonymous.js +1 -0
  297. package/dist/cjs/src/static_dependencies/ethers/coders/array.js +1 -0
  298. package/dist/cjs/src/static_dependencies/ethers/coders/boolean.js +1 -0
  299. package/dist/cjs/src/static_dependencies/ethers/coders/bytes.js +1 -0
  300. package/dist/cjs/src/static_dependencies/ethers/coders/fixed-bytes.js +1 -0
  301. package/dist/cjs/src/static_dependencies/ethers/coders/null.js +1 -0
  302. package/dist/cjs/src/static_dependencies/ethers/coders/number.js +1 -0
  303. package/dist/cjs/src/static_dependencies/ethers/coders/string.js +1 -0
  304. package/dist/cjs/src/static_dependencies/ethers/coders/tuple.js +1 -0
  305. package/dist/cjs/src/static_dependencies/ethers/fragments.js +6 -0
  306. package/dist/cjs/src/static_dependencies/ethers/hash/typed-data.js +6 -0
  307. package/dist/cjs/src/static_dependencies/ethers/index.js +1 -10
  308. package/dist/cjs/src/static_dependencies/ethers/interface.js +6 -0
  309. package/dist/cjs/src/static_dependencies/ethers/typed.js +6 -0
  310. package/dist/cjs/src/static_dependencies/ethers/utils/base58.js +1 -13
  311. package/dist/cjs/src/static_dependencies/ethers/utils/data.js +1 -6
  312. package/dist/cjs/src/static_dependencies/ethers/utils/errors.js +1 -9
  313. package/dist/cjs/src/static_dependencies/ethers/utils/events.js +6 -0
  314. package/dist/cjs/src/static_dependencies/ethers/utils/fixednumber.js +6 -0
  315. package/dist/cjs/src/static_dependencies/ethers/utils/index.js +1 -7
  316. package/dist/cjs/src/static_dependencies/ethers/utils/maths.js +1 -5
  317. package/dist/cjs/src/static_dependencies/ethers/utils/properties.js +6 -0
  318. package/dist/cjs/src/static_dependencies/ethers/utils/utf8.js +1 -8
  319. package/dist/cjs/src/static_dependencies/fflake/browser.js +1 -1
  320. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncrypt.js +1 -0
  321. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +1 -0
  322. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +1 -1
  323. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +6 -0
  324. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +6 -0
  325. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +6 -0
  326. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +1 -0
  327. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +1 -1
  328. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +6 -0
  329. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +1 -1
  330. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +1 -1
  331. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/util.js +6 -0
  332. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +1 -1
  333. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +6 -0
  334. package/dist/cjs/src/static_dependencies/messagepack/msgpack.js +6 -0
  335. package/dist/cjs/src/static_dependencies/noble-curves/_shortw_utils.js +1 -1
  336. package/dist/cjs/src/static_dependencies/noble-curves/abstract/curve.js +1 -1
  337. package/dist/cjs/src/static_dependencies/noble-curves/abstract/edwards.js +1 -1
  338. package/dist/cjs/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +1 -0
  339. package/dist/cjs/src/static_dependencies/noble-curves/abstract/modular.js +1 -1
  340. package/dist/cjs/src/static_dependencies/noble-curves/abstract/montgomery.js +1 -1
  341. package/dist/cjs/src/static_dependencies/noble-curves/abstract/poseidon.js +1 -1
  342. package/dist/cjs/src/static_dependencies/noble-curves/abstract/utils.js +6 -0
  343. package/dist/cjs/src/static_dependencies/noble-curves/abstract/weierstrass.js +1 -1
  344. package/dist/cjs/src/static_dependencies/noble-curves/ed25519.js +1 -1
  345. package/dist/cjs/src/static_dependencies/noble-curves/p256.js +1 -1
  346. package/dist/cjs/src/static_dependencies/noble-curves/secp256k1.js +1 -1
  347. package/dist/cjs/src/static_dependencies/noble-hashes/_assert.js +6 -0
  348. package/dist/cjs/src/static_dependencies/noble-hashes/_sha2.js +1 -0
  349. package/dist/cjs/src/static_dependencies/noble-hashes/_u64.js +6 -0
  350. package/dist/cjs/src/static_dependencies/noble-hashes/crypto.js +6 -0
  351. package/dist/cjs/src/static_dependencies/noble-hashes/hmac.js +1 -0
  352. package/dist/cjs/src/static_dependencies/noble-hashes/md5.js +1 -0
  353. package/dist/cjs/src/static_dependencies/noble-hashes/sha1.js +1 -0
  354. package/dist/cjs/src/static_dependencies/noble-hashes/sha256.js +1 -0
  355. package/dist/cjs/src/static_dependencies/noble-hashes/sha3.js +1 -0
  356. package/dist/cjs/src/static_dependencies/noble-hashes/sha512.js +1 -0
  357. package/dist/cjs/src/static_dependencies/noble-hashes/utils.js +1 -1
  358. package/dist/cjs/src/static_dependencies/node-fetch/body.js +1 -5
  359. package/dist/cjs/src/static_dependencies/node-fetch/errors/abort-error.js +1 -0
  360. package/dist/cjs/src/static_dependencies/node-fetch/errors/base.js +6 -0
  361. package/dist/cjs/src/static_dependencies/node-fetch/errors/fetch-error.js +1 -0
  362. package/dist/cjs/src/static_dependencies/node-fetch/headers.js +1 -5
  363. package/dist/cjs/src/static_dependencies/node-fetch/index.js +1 -7
  364. package/dist/cjs/src/static_dependencies/node-fetch/request.js +1 -7
  365. package/dist/cjs/src/static_dependencies/node-fetch/response.js +1 -5
  366. package/dist/cjs/src/static_dependencies/node-fetch/utils/get-search.js +6 -0
  367. package/dist/cjs/src/static_dependencies/node-fetch/utils/is-redirect.js +6 -0
  368. package/dist/cjs/src/static_dependencies/node-fetch/utils/is.js +6 -0
  369. package/dist/cjs/src/static_dependencies/node-fetch/utils/referrer.js +1 -0
  370. package/dist/cjs/src/static_dependencies/proxies/agent-base/index.js +1 -0
  371. package/dist/cjs/src/static_dependencies/proxies/http-proxy-agent/index.js +1 -0
  372. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/index.js +1 -0
  373. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +6 -0
  374. package/dist/cjs/src/static_dependencies/scure-base/index.js +6 -0
  375. package/dist/cjs/src/static_dependencies/scure-starknet/index.js +1 -1
  376. package/dist/cjs/src/static_dependencies/starknet/constants.js +1 -1
  377. package/dist/cjs/src/static_dependencies/starknet/types/calldata.js +6 -0
  378. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/abi.js +6 -0
  379. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/index.js +6 -0
  380. package/dist/cjs/src/static_dependencies/starknet/types/lib/index.js +6 -0
  381. package/dist/cjs/src/static_dependencies/starknet/types/typedData.js +6 -0
  382. package/dist/cjs/src/static_dependencies/starknet/utils/assert.js +6 -0
  383. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +1 -1
  384. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +1 -1
  385. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +1 -1
  386. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/byteArray.js +1 -0
  387. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/cairo.js +1 -0
  388. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +6 -0
  389. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +6 -0
  390. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +6 -0
  391. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/formatter.js +1 -0
  392. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/index.js +1 -1
  393. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/index.js +1 -0
  394. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +1 -0
  395. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +6 -0
  396. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +1 -0
  397. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/requestParser.js +1 -0
  398. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/responseParser.js +1 -0
  399. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/tuple.js +1 -1
  400. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/validate.js +1 -4
  401. package/dist/cjs/src/static_dependencies/starknet/utils/encode.js +1 -0
  402. package/dist/cjs/src/static_dependencies/starknet/utils/hash/classHash.js +1 -3
  403. package/dist/cjs/src/static_dependencies/starknet/utils/merkle.js +1 -0
  404. package/dist/cjs/src/static_dependencies/starknet/utils/num.js +1 -0
  405. package/dist/cjs/src/static_dependencies/starknet/utils/selector.js +1 -0
  406. package/dist/cjs/src/static_dependencies/starknet/utils/shortString.js +1 -0
  407. package/dist/cjs/src/static_dependencies/starknet/utils/typedData.js +1 -1
  408. package/dist/cjs/src/static_dependencies/watchable/src/unpromise.js +6 -0
  409. package/dist/cjs/src/timex.js +1 -0
  410. package/dist/cjs/src/tokocrypto.js +1 -1
  411. package/dist/cjs/src/tradeogre.js +1 -1
  412. package/dist/cjs/src/upbit.js +62 -1
  413. package/dist/cjs/src/vertex.js +1 -1
  414. package/dist/cjs/src/wavesexchange.js +1 -1
  415. package/dist/cjs/src/wazirx.js +1 -0
  416. package/dist/cjs/src/whitebit.js +3 -3
  417. package/dist/cjs/src/woo.js +8 -4
  418. package/dist/cjs/src/woofipro.js +2 -3
  419. package/dist/cjs/src/xt.js +1 -1
  420. package/dist/cjs/src/yobit.js +1 -1
  421. package/dist/cjs/src/zaif.js +1 -1
  422. package/dist/cjs/src/zonda.js +1 -1
  423. package/js/ccxt.d.ts +1 -1
  424. package/js/ccxt.js +1 -1
  425. package/js/src/abstract/binance.d.ts +1 -0
  426. package/js/src/abstract/binancecoinm.d.ts +1 -0
  427. package/js/src/abstract/binanceus.d.ts +1 -0
  428. package/js/src/abstract/binanceusdm.d.ts +1 -0
  429. package/js/src/abstract/bybit.d.ts +1 -0
  430. package/js/src/abstract/independentreserve.d.ts +6 -0
  431. package/js/src/ace.js +59 -1
  432. package/js/src/alpaca.js +80 -0
  433. package/js/src/ascendex.js +95 -2
  434. package/js/src/base/Exchange.d.ts +2 -2
  435. package/js/src/base/Exchange.js +16 -14
  436. package/js/src/bigone.d.ts +1 -0
  437. package/js/src/bigone.js +116 -4
  438. package/js/src/binance.d.ts +7 -0
  439. package/js/src/binance.js +21 -18
  440. package/js/src/binanceus.js +10 -0
  441. package/js/src/bingx.js +1 -2
  442. package/js/src/bit2c.js +56 -0
  443. package/js/src/bitbank.js +58 -0
  444. package/js/src/bitbns.js +60 -0
  445. package/js/src/bitfinex.js +2 -3
  446. package/js/src/bitfinex1.d.ts +2 -1
  447. package/js/src/bitfinex1.js +11 -1
  448. package/js/src/bitflyer.js +71 -0
  449. package/js/src/bitget.js +5 -4
  450. package/js/src/bithumb.js +54 -0
  451. package/js/src/bitmart.js +7 -2
  452. package/js/src/bitmex.js +6 -4
  453. package/js/src/bitopro.js +74 -0
  454. package/js/src/bitrue.d.ts +11 -16
  455. package/js/src/bitrue.js +97 -17
  456. package/js/src/bitso.js +59 -0
  457. package/js/src/bitteam.js +73 -0
  458. package/js/src/bitvavo.d.ts +3 -2
  459. package/js/src/bitvavo.js +68 -2
  460. package/js/src/bl3p.js +42 -0
  461. package/js/src/blockchaincom.js +66 -2
  462. package/js/src/blofin.js +87 -1
  463. package/js/src/btcalpha.js +73 -0
  464. package/js/src/btcbox.js +58 -0
  465. package/js/src/btcmarkets.js +73 -0
  466. package/js/src/btcturk.js +61 -0
  467. package/js/src/bybit.d.ts +1 -1
  468. package/js/src/bybit.js +15 -4
  469. package/js/src/cex.js +57 -0
  470. package/js/src/coinbase.d.ts +1 -0
  471. package/js/src/coinbase.js +12 -2
  472. package/js/src/coinbaseexchange.js +76 -0
  473. package/js/src/coincatch.d.ts +1 -2
  474. package/js/src/coincatch.js +86 -2
  475. package/js/src/coincheck.js +52 -0
  476. package/js/src/coinex.js +1 -2
  477. package/js/src/coinlist.js +77 -0
  478. package/js/src/coinmate.js +63 -0
  479. package/js/src/coinmetro.js +68 -0
  480. package/js/src/coinone.js +56 -0
  481. package/js/src/coinsph.d.ts +1 -1
  482. package/js/src/coinsph.js +67 -1
  483. package/js/src/coinspot.js +47 -0
  484. package/js/src/currencycom.js +72 -0
  485. package/js/src/defx.js +93 -6
  486. package/js/src/delta.js +84 -3
  487. package/js/src/gate.d.ts +1 -0
  488. package/js/src/gate.js +13 -4
  489. package/js/src/hashkey.js +1 -2
  490. package/js/src/hollaex.js +1 -1
  491. package/js/src/htx.d.ts +1 -0
  492. package/js/src/htx.js +12 -6
  493. package/js/src/hyperliquid.js +11 -5
  494. package/js/src/independentreserve.js +60 -0
  495. package/js/src/kraken.js +1 -1
  496. package/js/src/krakenfutures.js +7 -4
  497. package/js/src/lbank.js +1 -2
  498. package/js/src/okx.d.ts +1 -0
  499. package/js/src/okx.js +22 -10
  500. package/js/src/oxfun.js +1 -2
  501. package/js/src/paradex.js +5 -2
  502. package/js/src/phemex.js +103 -0
  503. package/js/src/poloniex.js +61 -0
  504. package/js/src/poloniexfutures.js +74 -0
  505. package/js/src/pro/bingx.js +3 -6
  506. package/js/src/pro/bitget.js +2 -5
  507. package/js/src/pro/xt.js +1 -1
  508. package/js/src/static_dependencies/qs/formats.d.cts +0 -6
  509. package/js/src/static_dependencies/qs/index.d.cts +0 -6
  510. package/js/src/static_dependencies/qs/parse.d.cts +0 -6
  511. package/js/src/static_dependencies/qs/stringify.d.cts +0 -6
  512. package/js/src/static_dependencies/qs/utils.d.cts +0 -6
  513. package/js/src/upbit.js +61 -0
  514. package/js/src/whitebit.js +2 -2
  515. package/js/src/woo.js +7 -3
  516. package/js/src/woofipro.js +1 -2
  517. package/package.json +12 -2
@@ -79,7 +79,7 @@ export default class Exchange {
79
79
  this.requiresWeb3 = false;
80
80
  this.requiresEddsa = false;
81
81
  this.precision = undefined;
82
- this.enableLastJsonResponse = true;
82
+ this.enableLastJsonResponse = false;
83
83
  this.enableLastHttpResponse = true;
84
84
  this.enableLastResponseHeaders = true;
85
85
  this.last_http_response = undefined;
@@ -5717,21 +5717,14 @@ export default class Exchange {
5717
5717
  parseFundingRate(contract, market = undefined) {
5718
5718
  throw new NotSupported(this.id + ' parseFundingRate() is not supported yet');
5719
5719
  }
5720
- parseFundingRates(response, market = undefined) {
5721
- const result = {};
5720
+ parseFundingRates(response, symbols = undefined) {
5721
+ const fundingRates = {};
5722
5722
  for (let i = 0; i < response.length; i++) {
5723
- const parsed = this.parseFundingRate(response[i], market);
5724
- result[parsed['symbol']] = parsed;
5725
- }
5726
- return result;
5727
- }
5728
- parseOpenInterests(response, market = undefined) {
5729
- const result = {};
5730
- for (let i = 0; i < response.length; i++) {
5731
- const parsed = this.parseOpenInterest(response[i], market);
5732
- result[parsed['symbol']] = parsed;
5723
+ const entry = response[i];
5724
+ const parsed = this.parseFundingRate(entry);
5725
+ fundingRates[parsed['symbol']] = parsed;
5733
5726
  }
5734
- return result;
5727
+ return this.filterByArray(fundingRates, 'symbol', symbols);
5735
5728
  }
5736
5729
  parseLongShortRatio(info, market = undefined) {
5737
5730
  throw new NotSupported(this.id + ' parseLongShortRatio() is not supported yet');
@@ -5842,6 +5835,15 @@ export default class Exchange {
5842
5835
  parseOpenInterest(interest, market = undefined) {
5843
5836
  throw new NotSupported(this.id + ' parseOpenInterest () is not supported yet');
5844
5837
  }
5838
+ parseOpenInterests(response, symbols = undefined) {
5839
+ const result = {};
5840
+ for (let i = 0; i < response.length; i++) {
5841
+ const entry = response[i];
5842
+ const parsed = this.parseOpenInterest(entry);
5843
+ result[parsed['symbol']] = parsed;
5844
+ }
5845
+ return this.filterByArray(result, 'symbol', symbols);
5846
+ }
5845
5847
  parseOpenInterestsHistory(response, market = undefined, since = undefined, limit = undefined) {
5846
5848
  const interests = [];
5847
5849
  for (let i = 0; i < response.length; i++) {
@@ -90,6 +90,7 @@ export default class bigone extends Exchange {
90
90
  * @param {int} [since] timestamp in ms of the earliest candle to fetch
91
91
  * @param {int} [limit] the maximum amount of candles to fetch
92
92
  * @param {object} [params] extra parameters specific to the exchange API endpoint
93
+ * @param {int} [params.until] timestamp in ms of the earliest candle to fetch
93
94
  * @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
94
95
  */
95
96
  fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
package/js/src/bigone.js CHANGED
@@ -299,6 +299,105 @@ export default class bigone extends Exchange {
299
299
  // undetermined: XinFin, YAS, Ycash
300
300
  },
301
301
  },
302
+ 'features': {
303
+ 'default': {
304
+ 'sandbox': false,
305
+ 'createOrder': {
306
+ 'marginMode': false,
307
+ 'triggerPrice': true,
308
+ 'triggerPriceType': undefined,
309
+ 'triggerDirection': true,
310
+ 'stopLossPrice': false,
311
+ 'takeProfitPrice': false,
312
+ 'attachedStopLossTakeProfit': undefined,
313
+ 'timeInForce': {
314
+ 'IOC': true,
315
+ 'FOK': false,
316
+ 'PO': true,
317
+ 'GTD': false,
318
+ },
319
+ 'hedged': false,
320
+ 'trailing': false,
321
+ 'leverage': false,
322
+ 'marketBuyRequiresPrice': true,
323
+ 'marketBuyByCost': true,
324
+ 'selfTradePrevention': false,
325
+ 'iceberg': false,
326
+ },
327
+ 'createOrders': undefined,
328
+ 'fetchMyTrades': {
329
+ 'marginMode': false,
330
+ 'limit': 200,
331
+ 'daysBack': undefined,
332
+ 'untilDays': undefined,
333
+ },
334
+ 'fetchOrder': {
335
+ 'marginMode': false,
336
+ 'trigger': false,
337
+ 'trailing': false,
338
+ },
339
+ 'fetchOpenOrders': {
340
+ 'marginMode': false,
341
+ 'limit': 200,
342
+ 'trigger': false,
343
+ 'trailing': false,
344
+ },
345
+ 'fetchOrders': {
346
+ 'marginMode': false,
347
+ 'limit': 200,
348
+ 'daysBack': undefined,
349
+ 'untilDays': undefined,
350
+ 'trigger': false,
351
+ 'trailing': false,
352
+ },
353
+ 'fetchClosedOrders': {
354
+ 'marginMode': false,
355
+ 'limit': 200,
356
+ 'daysBack': undefined,
357
+ 'daysBackCanceled': undefined,
358
+ 'untilDays': undefined,
359
+ 'trigger': false,
360
+ 'trailing': false,
361
+ },
362
+ 'fetchOHLCV': {
363
+ 'limit': 500,
364
+ },
365
+ },
366
+ 'spot': {
367
+ 'extends': 'default',
368
+ },
369
+ 'forDerivatives': {
370
+ 'extends': 'default',
371
+ 'createOrder': {
372
+ // todo: implement
373
+ 'triggerPriceType': {
374
+ 'mark': true,
375
+ 'index': true,
376
+ 'last': true,
377
+ },
378
+ },
379
+ 'fetchOrders': {
380
+ 'daysBack': 100000,
381
+ 'untilDays': 100000,
382
+ },
383
+ 'fetchClosedOrders': {
384
+ 'daysBack': 100000,
385
+ 'untilDays': 100000,
386
+ },
387
+ },
388
+ 'swap': {
389
+ 'linear': {
390
+ 'extends': 'forDerivatives',
391
+ },
392
+ 'inverse': {
393
+ 'extends': 'forDerivatives',
394
+ },
395
+ },
396
+ 'future': {
397
+ 'linear': undefined,
398
+ 'inverse': undefined,
399
+ },
400
+ },
302
401
  'precisionMode': TICK_SIZE,
303
402
  'exceptions': {
304
403
  'exact': {
@@ -1205,6 +1304,7 @@ export default class bigone extends Exchange {
1205
1304
  * @param {int} [since] timestamp in ms of the earliest candle to fetch
1206
1305
  * @param {int} [limit] the maximum amount of candles to fetch
1207
1306
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1307
+ * @param {int} [params.until] timestamp in ms of the earliest candle to fetch
1208
1308
  * @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
1209
1309
  */
1210
1310
  async fetchOHLCV(symbol, timeframe = '1m', since = undefined, limit = undefined, params = {}) {
@@ -1213,20 +1313,32 @@ export default class bigone extends Exchange {
1213
1313
  if (market['contract']) {
1214
1314
  throw new BadRequest(this.id + ' fetchOHLCV () can only fetch ohlcvs for spot markets');
1215
1315
  }
1316
+ const until = this.safeInteger(params, 'until');
1317
+ const untilIsDefined = (until !== undefined);
1318
+ const sinceIsDefined = (since !== undefined);
1216
1319
  if (limit === undefined) {
1217
- limit = 100; // default 100, max 500
1320
+ 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
1218
1321
  }
1219
1322
  const request = {
1220
1323
  'asset_pair_name': market['id'],
1221
1324
  'period': this.safeString(this.timeframes, timeframe, timeframe),
1222
1325
  'limit': limit,
1223
1326
  };
1224
- if (since !== undefined) {
1327
+ if (sinceIsDefined) {
1225
1328
  // const start = this.parseToInt (since / 1000);
1226
1329
  const duration = this.parseTimeframe(timeframe);
1227
- const end = this.sum(since, limit * duration * 1000);
1228
- request['time'] = this.iso8601(end);
1330
+ const endByLimit = this.sum(since, limit * duration * 1000);
1331
+ if (untilIsDefined) {
1332
+ request['time'] = this.iso8601(Math.min(endByLimit, until + 1));
1333
+ }
1334
+ else {
1335
+ request['time'] = this.iso8601(endByLimit);
1336
+ }
1337
+ }
1338
+ else if (untilIsDefined) {
1339
+ request['time'] = this.iso8601(until + 1);
1229
1340
  }
1341
+ params = this.omit(params, 'until');
1230
1342
  const response = await this.publicGetAssetPairsAssetPairNameCandles(this.extend(request, params));
1231
1343
  //
1232
1344
  // {
@@ -872,6 +872,13 @@ export default class binance extends Exchange {
872
872
  * @returns {object[]} a list of [funding rate structures]{@link https://docs.ccxt.com/#/?id=funding-rate-history-structure}
873
873
  */
874
874
  fetchFundingRateHistory(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<FundingRateHistory[]>;
875
+ parseFundingRateHistory(contract: any, market?: Market): {
876
+ info: any;
877
+ symbol: string;
878
+ fundingRate: number;
879
+ timestamp: number;
880
+ datetime: string;
881
+ };
875
882
  /**
876
883
  * @method
877
884
  * @name binance#fetchFundingRates
package/js/src/binance.js CHANGED
@@ -1128,6 +1128,7 @@ export default class binance extends Exchange {
1128
1128
  'um/symbolConfig': 1,
1129
1129
  'cm/accountConfig': 1,
1130
1130
  'cm/symbolConfig': 1,
1131
+ 'rateLimit/order': 1,
1131
1132
  },
1132
1133
  'post': {
1133
1134
  'um/order': 1,
@@ -9872,20 +9873,24 @@ export default class binance extends Exchange {
9872
9873
  // "fundingTime": "1621267200000",
9873
9874
  // }
9874
9875
  //
9875
- const rates = [];
9876
- for (let i = 0; i < response.length; i++) {
9877
- const entry = response[i];
9878
- const timestamp = this.safeInteger(entry, 'fundingTime');
9879
- rates.push({
9880
- 'info': entry,
9881
- 'symbol': this.safeSymbol(this.safeString(entry, 'symbol'), undefined, undefined, 'swap'),
9882
- 'fundingRate': this.safeNumber(entry, 'fundingRate'),
9883
- 'timestamp': timestamp,
9884
- 'datetime': this.iso8601(timestamp),
9885
- });
9886
- }
9887
- const sorted = this.sortBy(rates, 'timestamp');
9888
- return this.filterBySymbolSinceLimit(sorted, symbol, since, limit);
9876
+ return this.parseFundingRateHistories(response, market, since, limit);
9877
+ }
9878
+ parseFundingRateHistory(contract, market = undefined) {
9879
+ //
9880
+ // {
9881
+ // "symbol": "BTCUSDT",
9882
+ // "fundingRate": "0.00063521",
9883
+ // "fundingTime": "1621267200000",
9884
+ // }
9885
+ //
9886
+ const timestamp = this.safeInteger(contract, 'fundingTime');
9887
+ return {
9888
+ 'info': contract,
9889
+ 'symbol': this.safeSymbol(this.safeString(contract, 'symbol'), undefined, undefined, 'swap'),
9890
+ 'fundingRate': this.safeNumber(contract, 'fundingRate'),
9891
+ 'timestamp': timestamp,
9892
+ 'datetime': this.iso8601(timestamp),
9893
+ };
9889
9894
  }
9890
9895
  /**
9891
9896
  * @method
@@ -9916,8 +9921,7 @@ export default class binance extends Exchange {
9916
9921
  else {
9917
9922
  throw new NotSupported(this.id + ' fetchFundingRates() supports linear and inverse contracts only');
9918
9923
  }
9919
- const result = this.parseFundingRates(response);
9920
- return this.filterByArray(result, 'symbol', symbols);
9924
+ return this.parseFundingRates(response, symbols);
9921
9925
  }
9922
9926
  parseFundingRate(contract, market = undefined) {
9923
9927
  // ensure it matches with https://www.binance.com/en/futures/funding-history/0
@@ -14195,8 +14199,7 @@ export default class binance extends Exchange {
14195
14199
  // },
14196
14200
  // ]
14197
14201
  //
14198
- const result = this.parseFundingRates(response, market);
14199
- return this.filterByArray(result, 'symbol', symbols);
14202
+ return this.parseFundingRates(response, symbols);
14200
14203
  }
14201
14204
  /**
14202
14205
  * @method
@@ -208,6 +208,16 @@ export default class binanceus extends binance {
208
208
  },
209
209
  },
210
210
  },
211
+ 'features': {
212
+ 'swap': {
213
+ 'linear': undefined,
214
+ 'inverse': undefined,
215
+ },
216
+ 'future': {
217
+ 'linear': undefined,
218
+ 'inverse': undefined,
219
+ },
220
+ },
211
221
  });
212
222
  }
213
223
  }
package/js/src/bingx.js CHANGED
@@ -1570,8 +1570,7 @@ export default class bingx extends Exchange {
1570
1570
  symbols = this.marketSymbols(symbols, 'swap', true);
1571
1571
  const response = await this.swapV2PublicGetQuotePremiumIndex(this.extend(params));
1572
1572
  const data = this.safeList(response, 'data', []);
1573
- const result = this.parseFundingRates(data);
1574
- return this.filterByArray(result, 'symbol', symbols);
1573
+ return this.parseFundingRates(data, symbols);
1575
1574
  }
1576
1575
  parseFundingRate(contract, market = undefined) {
1577
1576
  //
package/js/src/bit2c.js CHANGED
@@ -173,6 +173,62 @@ export default class bit2c extends Exchange {
173
173
  'options': {
174
174
  'fetchTradesMethod': 'public_get_exchanges_pair_trades',
175
175
  },
176
+ 'features': {
177
+ 'spot': {
178
+ 'sandbox': false,
179
+ 'createOrder': {
180
+ 'marginMode': false,
181
+ 'triggerPrice': false,
182
+ 'triggerPriceType': undefined,
183
+ 'triggerDirection': false,
184
+ 'stopLossPrice': false,
185
+ 'takeProfitPrice': false,
186
+ 'attachedStopLossTakeProfit': undefined,
187
+ 'timeInForce': {
188
+ 'IOC': false,
189
+ 'FOK': false,
190
+ 'PO': false,
191
+ 'GTD': false,
192
+ },
193
+ 'hedged': false,
194
+ 'trailing': false,
195
+ 'leverage': false,
196
+ 'marketBuyRequiresPrice': false,
197
+ 'marketBuyByCost': false,
198
+ 'selfTradePrevention': false,
199
+ 'iceberg': false,
200
+ },
201
+ 'createOrders': undefined,
202
+ 'fetchMyTrades': {
203
+ 'marginMode': false,
204
+ 'limit': 100,
205
+ 'daysBack': 30,
206
+ 'untilDays': 30,
207
+ },
208
+ 'fetchOrder': {
209
+ 'marginMode': false,
210
+ 'trigger': false,
211
+ 'trailing': false,
212
+ },
213
+ 'fetchOpenOrders': {
214
+ 'marginMode': false,
215
+ 'limit': undefined,
216
+ 'trigger': false,
217
+ 'trailing': false,
218
+ },
219
+ 'fetchOrders': undefined,
220
+ 'fetchClosedOrders': undefined,
221
+ 'fetchOHLCV': undefined,
222
+ },
223
+ 'swap': {
224
+ 'linear': undefined,
225
+ 'inverse': undefined,
226
+ },
227
+ 'future': {
228
+ 'linear': undefined,
229
+ 'inverse': undefined,
230
+ },
231
+ },
176
232
  'precisionMode': TICK_SIZE,
177
233
  'exceptions': {
178
234
  'exact': {
package/js/src/bitbank.js CHANGED
@@ -149,6 +149,64 @@ export default class bitbank extends Exchange {
149
149
  ],
150
150
  },
151
151
  },
152
+ 'features': {
153
+ 'spot': {
154
+ 'sandbox': false,
155
+ 'createOrder': {
156
+ 'marginMode': false,
157
+ 'triggerPrice': true,
158
+ 'triggerPriceType': undefined,
159
+ 'triggerDirection': false,
160
+ 'stopLossPrice': false,
161
+ 'takeProfitPrice': false,
162
+ 'attachedStopLossTakeProfit': undefined,
163
+ 'timeInForce': {
164
+ 'IOC': false,
165
+ 'FOK': false,
166
+ 'PO': true,
167
+ 'GTD': false,
168
+ },
169
+ 'hedged': false,
170
+ 'trailing': false,
171
+ 'leverage': false,
172
+ 'marketBuyRequiresPrice': false,
173
+ 'marketBuyByCost': false,
174
+ 'selfTradePrevention': false,
175
+ 'iceberg': false,
176
+ },
177
+ 'createOrders': undefined,
178
+ 'fetchMyTrades': {
179
+ 'marginMode': false,
180
+ 'limit': 1000,
181
+ 'daysBack': undefined,
182
+ 'untilDays': undefined,
183
+ },
184
+ 'fetchOrder': {
185
+ 'marginMode': false,
186
+ 'trigger': false,
187
+ 'trailing': false,
188
+ },
189
+ 'fetchOpenOrders': {
190
+ 'marginMode': false,
191
+ 'limit': 1000,
192
+ 'trigger': false,
193
+ 'trailing': false,
194
+ },
195
+ 'fetchOrders': undefined,
196
+ 'fetchClosedOrders': undefined,
197
+ 'fetchOHLCV': {
198
+ 'limit': 1000,
199
+ },
200
+ },
201
+ 'swap': {
202
+ 'linear': undefined,
203
+ 'inverse': undefined,
204
+ },
205
+ 'future': {
206
+ 'linear': undefined,
207
+ 'inverse': undefined,
208
+ },
209
+ },
152
210
  'precisionMode': TICK_SIZE,
153
211
  'exceptions': {
154
212
  'exact': {
package/js/src/bitbns.js CHANGED
@@ -147,6 +147,66 @@ export default class bitbns extends Exchange {
147
147
  },
148
148
  },
149
149
  'precisionMode': TICK_SIZE,
150
+ 'features': {
151
+ 'spot': {
152
+ 'sandbox': false,
153
+ 'createOrder': {
154
+ 'marginMode': false,
155
+ 'triggerPrice': true,
156
+ 'triggerPriceType': undefined,
157
+ 'triggerDirection': false,
158
+ 'stopLossPrice': false,
159
+ 'takeProfitPrice': false,
160
+ 'attachedStopLossTakeProfit': undefined,
161
+ 'timeInForce': {
162
+ 'IOC': false,
163
+ 'FOK': false,
164
+ 'PO': false,
165
+ 'GTD': false,
166
+ },
167
+ 'hedged': false,
168
+ 'trailing': false,
169
+ 'leverage': false,
170
+ 'marketBuyRequiresPrice': false,
171
+ 'marketBuyByCost': false,
172
+ 'selfTradePrevention': false,
173
+ 'iceberg': false,
174
+ },
175
+ 'createOrders': undefined,
176
+ 'fetchMyTrades': {
177
+ 'marginMode': false,
178
+ 'limit': undefined,
179
+ 'daysBack': undefined,
180
+ 'untilDays': undefined,
181
+ },
182
+ 'fetchOrder': {
183
+ 'marginMode': false,
184
+ 'trigger': false,
185
+ 'trailing': false,
186
+ },
187
+ 'fetchOpenOrders': {
188
+ 'marginMode': false,
189
+ 'limit': undefined,
190
+ 'trigger': true,
191
+ 'trailing': false,
192
+ },
193
+ 'fetchOrders': undefined,
194
+ 'fetchClosedOrders': undefined,
195
+ // todo: implement fetchOHLCV
196
+ 'fetchOHLCV': {
197
+ 'limit': 100,
198
+ },
199
+ },
200
+ // todo: implement swap methods
201
+ 'swap': {
202
+ 'linear': undefined,
203
+ 'inverse': undefined,
204
+ },
205
+ 'future': {
206
+ 'linear': undefined,
207
+ 'inverse': undefined,
208
+ },
209
+ },
150
210
  'exceptions': {
151
211
  'exact': {
152
212
  '400': BadRequest,
@@ -3139,7 +3139,7 @@ export default class bitfinex extends Exchange {
3139
3139
  // ]
3140
3140
  // ]
3141
3141
  //
3142
- return this.parseFundingRates(response);
3142
+ return this.parseFundingRates(response, symbols);
3143
3143
  }
3144
3144
  /**
3145
3145
  * @method
@@ -3372,8 +3372,7 @@ export default class bitfinex extends Exchange {
3372
3372
  // ]
3373
3373
  // ]
3374
3374
  //
3375
- const result = this.parseOpenInterests(response);
3376
- return this.filterByArray(result, 'symbol', symbols);
3375
+ return this.parseOpenInterests(response, symbols);
3377
3376
  }
3378
3377
  /**
3379
3378
  * @method
@@ -216,7 +216,7 @@ export default class bitfinex1 extends Exchange {
216
216
  parseOHLCV(ohlcv: any, market?: Market): OHLCV;
217
217
  /**
218
218
  * @method
219
- * @name bitfinex#fetchOHLCV
219
+ * @name bitfinex1#fetchOHLCV
220
220
  * @description fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
221
221
  * @see https://docs.bitfinex.com/reference/rest-public-candles#aggregate-funding-currency-candles
222
222
  * @param {string} symbol unified symbol of the market to fetch OHLCV data for
@@ -224,6 +224,7 @@ export default class bitfinex1 extends Exchange {
224
224
  * @param {int} [since] timestamp in ms of the earliest candle to fetch
225
225
  * @param {int} [limit] the maximum amount of candles to fetch
226
226
  * @param {object} [params] extra parameters specific to the exchange API endpoint
227
+ * @param {int} [params.until] timestamp in ms of the latest candle to fetch
227
228
  * @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
228
229
  */
229
230
  fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
@@ -1376,7 +1376,7 @@ export default class bitfinex1 extends Exchange {
1376
1376
  }
1377
1377
  /**
1378
1378
  * @method
1379
- * @name bitfinex#fetchOHLCV
1379
+ * @name bitfinex1#fetchOHLCV
1380
1380
  * @description fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
1381
1381
  * @see https://docs.bitfinex.com/reference/rest-public-candles#aggregate-funding-currency-candles
1382
1382
  * @param {string} symbol unified symbol of the market to fetch OHLCV data for
@@ -1384,6 +1384,7 @@ export default class bitfinex1 extends Exchange {
1384
1384
  * @param {int} [since] timestamp in ms of the earliest candle to fetch
1385
1385
  * @param {int} [limit] the maximum amount of candles to fetch
1386
1386
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1387
+ * @param {int} [params.until] timestamp in ms of the latest candle to fetch
1387
1388
  * @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
1388
1389
  */
1389
1390
  async fetchOHLCV(symbol, timeframe = '1m', since = undefined, limit = undefined, params = {}) {
@@ -1402,9 +1403,18 @@ export default class bitfinex1 extends Exchange {
1402
1403
  'sort': 1,
1403
1404
  'limit': limit,
1404
1405
  };
1406
+ const until = this.safeInteger(params, 'until');
1405
1407
  if (since !== undefined) {
1406
1408
  request['start'] = since;
1407
1409
  }
1410
+ else if (until !== undefined) {
1411
+ const duration = this.parseTimeframe(timeframe);
1412
+ request['start'] = until - ((limit - 1) * duration * 1000);
1413
+ }
1414
+ if (until !== undefined) {
1415
+ request['end'] = until;
1416
+ }
1417
+ params = this.omit(params, 'until');
1408
1418
  const response = await this.v2GetCandlesTradeTimeframeSymbolHist(this.extend(request, params));
1409
1419
  //
1410
1420
  // [