ccxt 4.2.10 → 4.2.12

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 (383) hide show
  1. package/README.md +5 -5
  2. package/build.sh +4 -4
  3. package/dist/ccxt.browser.js +695 -282
  4. package/dist/ccxt.browser.min.js +3 -3
  5. package/dist/cjs/_virtual/agent.js +7 -0
  6. package/dist/cjs/_virtual/parse-proxy-response.js +7 -0
  7. package/dist/cjs/_virtual/promisify.js +7 -0
  8. package/dist/cjs/ccxt.js +1 -1
  9. package/dist/cjs/js/ccxt.js +474 -0
  10. package/dist/cjs/js/src/abstract/ace.js +9 -0
  11. package/dist/cjs/js/src/abstract/alpaca.js +9 -0
  12. package/dist/cjs/js/src/abstract/ascendex.js +9 -0
  13. package/dist/cjs/js/src/abstract/bigone.js +9 -0
  14. package/dist/cjs/js/src/abstract/binance.js +9 -0
  15. package/dist/cjs/js/src/abstract/bingx.js +9 -0
  16. package/dist/cjs/js/src/abstract/bit2c.js +9 -0
  17. package/dist/cjs/js/src/abstract/bitbank.js +9 -0
  18. package/dist/cjs/js/src/abstract/bitbns.js +9 -0
  19. package/dist/cjs/js/src/abstract/bitfinex.js +9 -0
  20. package/dist/cjs/js/src/abstract/bitfinex2.js +9 -0
  21. package/dist/cjs/js/src/abstract/bitflyer.js +9 -0
  22. package/dist/cjs/js/src/abstract/bitforex.js +9 -0
  23. package/dist/cjs/js/src/abstract/bitget.js +9 -0
  24. package/dist/cjs/js/src/abstract/bithumb.js +9 -0
  25. package/dist/cjs/js/src/abstract/bitmart.js +9 -0
  26. package/dist/cjs/js/src/abstract/bitmex.js +9 -0
  27. package/dist/cjs/js/src/abstract/bitopro.js +9 -0
  28. package/dist/cjs/js/src/abstract/bitpanda.js +9 -0
  29. package/dist/cjs/js/src/abstract/bitrue.js +9 -0
  30. package/dist/cjs/js/src/abstract/bitso.js +9 -0
  31. package/dist/cjs/js/src/abstract/bitstamp.js +9 -0
  32. package/dist/cjs/js/src/abstract/bitteam.js +9 -0
  33. package/dist/cjs/js/src/abstract/bitvavo.js +9 -0
  34. package/dist/cjs/js/src/abstract/bl3p.js +9 -0
  35. package/dist/cjs/js/src/abstract/blockchaincom.js +9 -0
  36. package/dist/cjs/js/src/abstract/btcalpha.js +9 -0
  37. package/dist/cjs/js/src/abstract/btcbox.js +9 -0
  38. package/dist/cjs/js/src/abstract/btcmarkets.js +9 -0
  39. package/dist/cjs/js/src/abstract/btcturk.js +9 -0
  40. package/dist/cjs/js/src/abstract/bybit.js +9 -0
  41. package/dist/cjs/js/src/abstract/cex.js +9 -0
  42. package/dist/cjs/js/src/abstract/coinbase.js +9 -0
  43. package/dist/cjs/js/src/abstract/coinbasepro.js +9 -0
  44. package/dist/cjs/js/src/abstract/coincheck.js +9 -0
  45. package/dist/cjs/js/src/abstract/coinex.js +9 -0
  46. package/dist/cjs/js/src/abstract/coinlist.js +9 -0
  47. package/dist/cjs/js/src/abstract/coinmate.js +9 -0
  48. package/dist/cjs/js/src/abstract/coinone.js +9 -0
  49. package/dist/cjs/js/src/abstract/coinsph.js +9 -0
  50. package/dist/cjs/js/src/abstract/coinspot.js +9 -0
  51. package/dist/cjs/js/src/abstract/cryptocom.js +9 -0
  52. package/dist/cjs/js/src/abstract/currencycom.js +9 -0
  53. package/dist/cjs/js/src/abstract/delta.js +9 -0
  54. package/dist/cjs/js/src/abstract/deribit.js +9 -0
  55. package/dist/cjs/js/src/abstract/digifinex.js +9 -0
  56. package/dist/cjs/js/src/abstract/exmo.js +9 -0
  57. package/dist/cjs/js/src/abstract/gate.js +9 -0
  58. package/dist/cjs/js/src/abstract/gemini.js +9 -0
  59. package/dist/cjs/js/src/abstract/hitbtc.js +9 -0
  60. package/dist/cjs/js/src/abstract/hollaex.js +9 -0
  61. package/dist/cjs/js/src/abstract/htx.js +9 -0
  62. package/dist/cjs/js/src/abstract/huobijp.js +9 -0
  63. package/dist/cjs/js/src/abstract/idex.js +9 -0
  64. package/dist/cjs/js/src/abstract/independentreserve.js +9 -0
  65. package/dist/cjs/js/src/abstract/indodax.js +9 -0
  66. package/dist/cjs/js/src/abstract/kraken.js +9 -0
  67. package/dist/cjs/js/src/abstract/krakenfutures.js +9 -0
  68. package/dist/cjs/js/src/abstract/kucoin.js +9 -0
  69. package/dist/cjs/js/src/abstract/kucoinfutures.js +9 -0
  70. package/dist/cjs/js/src/abstract/kuna.js +9 -0
  71. package/dist/cjs/js/src/abstract/latoken.js +9 -0
  72. package/dist/cjs/js/src/abstract/lbank.js +9 -0
  73. package/dist/cjs/js/src/abstract/luno.js +9 -0
  74. package/dist/cjs/js/src/abstract/lykke.js +9 -0
  75. package/dist/cjs/js/src/abstract/mercado.js +9 -0
  76. package/dist/cjs/js/src/abstract/mexc.js +9 -0
  77. package/dist/cjs/js/src/abstract/ndax.js +9 -0
  78. package/dist/cjs/js/src/abstract/novadax.js +9 -0
  79. package/dist/cjs/js/src/abstract/oceanex.js +9 -0
  80. package/dist/cjs/js/src/abstract/okcoin.js +9 -0
  81. package/dist/cjs/js/src/abstract/okx.js +9 -0
  82. package/dist/cjs/js/src/abstract/p2b.js +9 -0
  83. package/dist/cjs/js/src/abstract/paymium.js +9 -0
  84. package/dist/cjs/js/src/abstract/phemex.js +9 -0
  85. package/dist/cjs/js/src/abstract/poloniex.js +9 -0
  86. package/dist/cjs/js/src/abstract/poloniexfutures.js +9 -0
  87. package/dist/cjs/js/src/abstract/probit.js +9 -0
  88. package/dist/cjs/js/src/abstract/timex.js +9 -0
  89. package/dist/cjs/js/src/abstract/tokocrypto.js +9 -0
  90. package/dist/cjs/js/src/abstract/upbit.js +9 -0
  91. package/dist/cjs/js/src/abstract/wavesexchange.js +9 -0
  92. package/dist/cjs/js/src/abstract/wazirx.js +9 -0
  93. package/dist/cjs/js/src/abstract/whitebit.js +9 -0
  94. package/dist/cjs/js/src/abstract/woo.js +9 -0
  95. package/dist/cjs/js/src/abstract/yobit.js +9 -0
  96. package/dist/cjs/js/src/abstract/zaif.js +9 -0
  97. package/dist/cjs/js/src/abstract/zonda.js +9 -0
  98. package/dist/cjs/js/src/ace.js +1058 -0
  99. package/dist/cjs/js/src/alpaca.js +1125 -0
  100. package/dist/cjs/js/src/ascendex.js +3360 -0
  101. package/dist/cjs/js/src/base/Exchange.js +5110 -0
  102. package/dist/cjs/js/src/base/Precise.js +263 -0
  103. package/dist/cjs/js/src/base/errors.js +299 -0
  104. package/dist/cjs/js/src/base/functions/crypto.js +78 -0
  105. package/dist/cjs/js/src/base/functions/encode.js +44 -0
  106. package/dist/cjs/js/src/base/functions/generic.js +193 -0
  107. package/dist/cjs/js/src/base/functions/misc.js +96 -0
  108. package/dist/cjs/js/src/base/functions/number.js +297 -0
  109. package/dist/cjs/js/src/base/functions/platform.js +28 -0
  110. package/dist/cjs/js/src/base/functions/rsa.js +34 -0
  111. package/dist/cjs/js/src/base/functions/string.js +48 -0
  112. package/dist/cjs/js/src/base/functions/throttle.js +66 -0
  113. package/dist/cjs/js/src/base/functions/time.js +187 -0
  114. package/dist/cjs/js/src/base/functions/totp.js +24 -0
  115. package/dist/cjs/js/src/base/functions/type.js +162 -0
  116. package/dist/cjs/js/src/base/functions.js +157 -0
  117. package/dist/cjs/js/src/base/ws/Cache.js +254 -0
  118. package/dist/cjs/js/src/base/ws/Client.js +299 -0
  119. package/dist/cjs/js/src/base/ws/Future.js +34 -0
  120. package/dist/cjs/js/src/base/ws/OrderBook.js +107 -0
  121. package/dist/cjs/js/src/base/ws/OrderBookSide.js +281 -0
  122. package/dist/cjs/js/src/base/ws/WsClient.js +69 -0
  123. package/dist/cjs/js/src/bequant.js +33 -0
  124. package/dist/cjs/js/src/bigone.js +2142 -0
  125. package/dist/cjs/js/src/binance.js +9729 -0
  126. package/dist/cjs/js/src/binancecoinm.js +45 -0
  127. package/dist/cjs/js/src/binanceus.js +84 -0
  128. package/dist/cjs/js/src/binanceusdm.js +58 -0
  129. package/dist/cjs/js/src/bingx.js +3737 -0
  130. package/dist/cjs/js/src/bit2c.js +916 -0
  131. package/dist/cjs/js/src/bitbank.js +1000 -0
  132. package/dist/cjs/js/src/bitbay.js +17 -0
  133. package/dist/cjs/js/src/bitbns.js +1220 -0
  134. package/dist/cjs/js/src/bitcoincom.js +17 -0
  135. package/dist/cjs/js/src/bitfinex.js +1670 -0
  136. package/dist/cjs/js/src/bitfinex2.js +2990 -0
  137. package/dist/cjs/js/src/bitflyer.js +1045 -0
  138. package/dist/cjs/js/src/bitforex.js +852 -0
  139. package/dist/cjs/js/src/bitget.js +8284 -0
  140. package/dist/cjs/js/src/bithumb.js +1090 -0
  141. package/dist/cjs/js/src/bitmart.js +4454 -0
  142. package/dist/cjs/js/src/bitmex.js +2884 -0
  143. package/dist/cjs/js/src/bitopro.js +1724 -0
  144. package/dist/cjs/js/src/bitpanda.js +2002 -0
  145. package/dist/cjs/js/src/bitrue.js +3253 -0
  146. package/dist/cjs/js/src/bitso.js +1753 -0
  147. package/dist/cjs/js/src/bitstamp.js +2188 -0
  148. package/dist/cjs/js/src/bitteam.js +2309 -0
  149. package/dist/cjs/js/src/bitvavo.js +1968 -0
  150. package/dist/cjs/js/src/bl3p.js +447 -0
  151. package/dist/cjs/js/src/blockchaincom.js +1160 -0
  152. package/dist/cjs/js/src/btcalpha.js +929 -0
  153. package/dist/cjs/js/src/btcbox.js +565 -0
  154. package/dist/cjs/js/src/btcmarkets.js +1237 -0
  155. package/dist/cjs/js/src/btcturk.js +929 -0
  156. package/dist/cjs/js/src/bybit.js +7646 -0
  157. package/dist/cjs/js/src/cex.js +1693 -0
  158. package/dist/cjs/js/src/coinbase.js +3274 -0
  159. package/dist/cjs/js/src/coinbasepro.js +1866 -0
  160. package/dist/cjs/js/src/coincheck.js +843 -0
  161. package/dist/cjs/js/src/coinex.js +5414 -0
  162. package/dist/cjs/js/src/coinlist.js +2329 -0
  163. package/dist/cjs/js/src/coinmate.js +989 -0
  164. package/dist/cjs/js/src/coinone.js +1185 -0
  165. package/dist/cjs/js/src/coinsph.js +1933 -0
  166. package/dist/cjs/js/src/coinspot.js +548 -0
  167. package/dist/cjs/js/src/cryptocom.js +3007 -0
  168. package/dist/cjs/js/src/currencycom.js +2015 -0
  169. package/dist/cjs/js/src/delta.js +3256 -0
  170. package/dist/cjs/js/src/deribit.js +3306 -0
  171. package/dist/cjs/js/src/digifinex.js +4307 -0
  172. package/dist/cjs/js/src/exmo.js +2645 -0
  173. package/dist/cjs/js/src/fmfwio.js +34 -0
  174. package/dist/cjs/js/src/gate.js +7054 -0
  175. package/dist/cjs/js/src/gateio.js +16 -0
  176. package/dist/cjs/js/src/gemini.js +1801 -0
  177. package/dist/cjs/js/src/hitbtc.js +3660 -0
  178. package/dist/cjs/js/src/hitbtc3.js +19 -0
  179. package/dist/cjs/js/src/hollaex.js +1882 -0
  180. package/dist/cjs/js/src/htx.js +9024 -0
  181. package/dist/cjs/js/src/huobi.js +16 -0
  182. package/dist/cjs/js/src/huobijp.js +1918 -0
  183. package/dist/cjs/js/src/idex.js +1770 -0
  184. package/dist/cjs/js/src/independentreserve.js +759 -0
  185. package/dist/cjs/js/src/indodax.js +1069 -0
  186. package/dist/cjs/js/src/kraken.js +2861 -0
  187. package/dist/cjs/js/src/krakenfutures.js +2407 -0
  188. package/dist/cjs/js/src/kucoin.js +4489 -0
  189. package/dist/cjs/js/src/kucoinfutures.js +2475 -0
  190. package/dist/cjs/js/src/kuna.js +1949 -0
  191. package/dist/cjs/js/src/latoken.js +1729 -0
  192. package/dist/cjs/js/src/lbank.js +2825 -0
  193. package/dist/cjs/js/src/luno.js +1044 -0
  194. package/dist/cjs/js/src/lykke.js +1303 -0
  195. package/dist/cjs/js/src/mercado.js +897 -0
  196. package/dist/cjs/js/src/mexc.js +5407 -0
  197. package/dist/cjs/js/src/ndax.js +2450 -0
  198. package/dist/cjs/js/src/novadax.js +1556 -0
  199. package/dist/cjs/js/src/oceanex.js +964 -0
  200. package/dist/cjs/js/src/okcoin.js +3115 -0
  201. package/dist/cjs/js/src/okx.js +7329 -0
  202. package/dist/cjs/js/src/p2b.js +1243 -0
  203. package/dist/cjs/js/src/paymium.js +597 -0
  204. package/dist/cjs/js/src/phemex.js +4715 -0
  205. package/dist/cjs/js/src/poloniex.js +2356 -0
  206. package/dist/cjs/js/src/poloniexfutures.js +1794 -0
  207. package/dist/cjs/js/src/pro/alpaca.js +714 -0
  208. package/dist/cjs/js/src/pro/ascendex.js +957 -0
  209. package/dist/cjs/js/src/pro/bequant.js +33 -0
  210. package/dist/cjs/js/src/pro/binance.js +2796 -0
  211. package/dist/cjs/js/src/pro/binancecoinm.js +23 -0
  212. package/dist/cjs/js/src/pro/binanceus.js +51 -0
  213. package/dist/cjs/js/src/pro/binanceusdm.js +32 -0
  214. package/dist/cjs/js/src/pro/bingx.js +944 -0
  215. package/dist/cjs/js/src/pro/bitcoincom.js +29 -0
  216. package/dist/cjs/js/src/pro/bitfinex.js +672 -0
  217. package/dist/cjs/js/src/pro/bitfinex2.js +1159 -0
  218. package/dist/cjs/js/src/pro/bitget.js +1733 -0
  219. package/dist/cjs/js/src/pro/bitmart.js +1486 -0
  220. package/dist/cjs/js/src/pro/bitmex.js +1576 -0
  221. package/dist/cjs/js/src/pro/bitopro.js +327 -0
  222. package/dist/cjs/js/src/pro/bitpanda.js +1341 -0
  223. package/dist/cjs/js/src/pro/bitrue.js +462 -0
  224. package/dist/cjs/js/src/pro/bitstamp.js +547 -0
  225. package/dist/cjs/js/src/pro/bitvavo.js +704 -0
  226. package/dist/cjs/js/src/pro/blockchaincom.js +794 -0
  227. package/dist/cjs/js/src/pro/bybit.js +1843 -0
  228. package/dist/cjs/js/src/pro/cex.js +1510 -0
  229. package/dist/cjs/js/src/pro/coinbase.js +561 -0
  230. package/dist/cjs/js/src/pro/coinbasepro.js +968 -0
  231. package/dist/cjs/js/src/pro/coinex.js +1095 -0
  232. package/dist/cjs/js/src/pro/cryptocom.js +1020 -0
  233. package/dist/cjs/js/src/pro/currencycom.js +563 -0
  234. package/dist/cjs/js/src/pro/deribit.js +825 -0
  235. package/dist/cjs/js/src/pro/exmo.js +658 -0
  236. package/dist/cjs/js/src/pro/gate.js +1316 -0
  237. package/dist/cjs/js/src/pro/gateio.js +16 -0
  238. package/dist/cjs/js/src/pro/gemini.js +649 -0
  239. package/dist/cjs/js/src/pro/hitbtc.js +1293 -0
  240. package/dist/cjs/js/src/pro/hollaex.js +597 -0
  241. package/dist/cjs/js/src/pro/htx.js +2383 -0
  242. package/dist/cjs/js/src/pro/huobi.js +16 -0
  243. package/dist/cjs/js/src/pro/huobijp.js +606 -0
  244. package/dist/cjs/js/src/pro/idex.js +714 -0
  245. package/dist/cjs/js/src/pro/independentreserve.js +280 -0
  246. package/dist/cjs/js/src/pro/kraken.js +1364 -0
  247. package/dist/cjs/js/src/pro/krakenfutures.js +1500 -0
  248. package/dist/cjs/js/src/pro/kucoin.js +1052 -0
  249. package/dist/cjs/js/src/pro/kucoinfutures.js +981 -0
  250. package/dist/cjs/js/src/pro/luno.js +322 -0
  251. package/dist/cjs/js/src/pro/mexc.js +1170 -0
  252. package/dist/cjs/js/src/pro/ndax.js +545 -0
  253. package/dist/cjs/js/src/pro/okcoin.js +760 -0
  254. package/dist/cjs/js/src/pro/okx.js +1558 -0
  255. package/dist/cjs/js/src/pro/phemex.js +1511 -0
  256. package/dist/cjs/js/src/pro/poloniex.js +1253 -0
  257. package/dist/cjs/js/src/pro/poloniexfutures.js +1014 -0
  258. package/dist/cjs/js/src/pro/probit.js +586 -0
  259. package/dist/cjs/js/src/pro/upbit.js +234 -0
  260. package/dist/cjs/js/src/pro/wazirx.js +776 -0
  261. package/dist/cjs/js/src/pro/whitebit.js +927 -0
  262. package/dist/cjs/js/src/pro/woo.js +769 -0
  263. package/dist/cjs/js/src/probit.js +1865 -0
  264. package/dist/cjs/js/src/static_dependencies/fflake/browser.js +401 -0
  265. package/dist/cjs/js/src/static_dependencies/jsencrypt/JSEncrypt.js +195 -0
  266. package/dist/cjs/js/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +308 -0
  267. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +554 -0
  268. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +94 -0
  269. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +70 -0
  270. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +91 -0
  271. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +16 -0
  272. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +1760 -0
  273. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +52 -0
  274. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +81 -0
  275. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +376 -0
  276. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/util.js +70 -0
  277. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +1580 -0
  278. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +74 -0
  279. package/dist/cjs/js/src/static_dependencies/noble-curves/_shortw_utils.js +24 -0
  280. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/curve.js +158 -0
  281. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/edwards.js +429 -0
  282. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +176 -0
  283. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/modular.js +324 -0
  284. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/montgomery.js +163 -0
  285. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/utils.js +245 -0
  286. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/weierstrass.js +1018 -0
  287. package/dist/cjs/js/src/static_dependencies/noble-curves/ed25519.js +383 -0
  288. package/dist/cjs/js/src/static_dependencies/noble-curves/secp256k1.js +258 -0
  289. package/dist/cjs/js/src/static_dependencies/noble-hashes/_assert.js +53 -0
  290. package/dist/cjs/js/src/static_dependencies/noble-hashes/_sha2.js +120 -0
  291. package/dist/cjs/js/src/static_dependencies/noble-hashes/_u64.js +69 -0
  292. package/dist/cjs/js/src/static_dependencies/noble-hashes/crypto.js +7 -0
  293. package/dist/cjs/js/src/static_dependencies/noble-hashes/hmac.js +83 -0
  294. package/dist/cjs/js/src/static_dependencies/noble-hashes/md5.js +240 -0
  295. package/dist/cjs/js/src/static_dependencies/noble-hashes/sha1.js +91 -0
  296. package/dist/cjs/js/src/static_dependencies/noble-hashes/sha256.js +130 -0
  297. package/dist/cjs/js/src/static_dependencies/noble-hashes/sha3.js +214 -0
  298. package/dist/cjs/js/src/static_dependencies/noble-hashes/sha512.js +239 -0
  299. package/dist/cjs/js/src/static_dependencies/noble-hashes/utils.js +93 -0
  300. package/dist/cjs/js/src/static_dependencies/node-fetch/body.js +354 -0
  301. package/dist/cjs/js/src/static_dependencies/node-fetch/errors/abort-error.js +16 -0
  302. package/dist/cjs/js/src/static_dependencies/node-fetch/errors/base.js +20 -0
  303. package/dist/cjs/js/src/static_dependencies/node-fetch/errors/fetch-error.js +30 -0
  304. package/dist/cjs/js/src/static_dependencies/node-fetch/headers.js +239 -0
  305. package/dist/cjs/js/src/static_dependencies/node-fetch/index.js +372 -0
  306. package/dist/cjs/js/src/static_dependencies/node-fetch/request.js +273 -0
  307. package/dist/cjs/js/src/static_dependencies/node-fetch/response.js +139 -0
  308. package/dist/cjs/js/src/static_dependencies/node-fetch/utils/get-search.js +14 -0
  309. package/dist/cjs/js/src/static_dependencies/node-fetch/utils/is-redirect.js +16 -0
  310. package/dist/cjs/js/src/static_dependencies/node-fetch/utils/is.js +81 -0
  311. package/dist/cjs/js/src/static_dependencies/node-fetch/utils/referrer.js +292 -0
  312. package/dist/cjs/js/src/static_dependencies/proxies/agent-base/index.js +103 -0
  313. package/dist/cjs/js/src/static_dependencies/proxies/http-proxy-agent/index.js +140 -0
  314. package/dist/cjs/js/src/static_dependencies/proxies/https-proxy-agent/index.js +175 -0
  315. package/dist/cjs/js/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +95 -0
  316. package/dist/cjs/js/src/static_dependencies/qs/index.cjs.js +7 -0
  317. package/dist/cjs/js/src/static_dependencies/scure-base/index.js +383 -0
  318. package/dist/cjs/js/src/timex.js +1562 -0
  319. package/dist/cjs/js/src/tokocrypto.js +2542 -0
  320. package/dist/cjs/js/src/upbit.js +1844 -0
  321. package/dist/cjs/js/src/wavesexchange.js +2607 -0
  322. package/dist/cjs/js/src/wazirx.js +953 -0
  323. package/dist/cjs/js/src/whitebit.js +2309 -0
  324. package/dist/cjs/js/src/woo.js +2715 -0
  325. package/dist/cjs/js/src/yobit.js +1314 -0
  326. package/dist/cjs/js/src/zaif.js +736 -0
  327. package/dist/cjs/js/src/zonda.js +1883 -0
  328. package/dist/cjs/src/base/Exchange.js +11 -0
  329. package/dist/cjs/src/bingx.js +0 -10
  330. package/dist/cjs/src/bitget.js +14 -5
  331. package/dist/cjs/src/bybit.js +1 -1
  332. package/dist/cjs/src/kucoin.js +29 -5
  333. package/js/ccxt.d.ts +1 -1
  334. package/js/ccxt.js +1 -1
  335. package/js/src/abstract/bigone.d.ts +18 -0
  336. package/js/src/abstract/binance.d.ts +2 -0
  337. package/js/src/abstract/binancecoinm.d.ts +2 -0
  338. package/js/src/abstract/binanceus.d.ts +2 -0
  339. package/js/src/abstract/binanceusdm.d.ts +2 -0
  340. package/js/src/abstract/bybit.d.ts +1 -0
  341. package/js/src/abstract/gate.d.ts +11 -0
  342. package/js/src/abstract/gateio.d.ts +11 -0
  343. package/js/src/alpaca.js +18 -18
  344. package/js/src/base/Exchange.d.ts +6 -1
  345. package/js/src/base/Exchange.js +112 -12
  346. package/js/src/bigone.d.ts +1 -2
  347. package/js/src/bigone.js +340 -145
  348. package/js/src/binance.js +15 -8
  349. package/js/src/bingx.d.ts +0 -1
  350. package/js/src/bingx.js +9 -12
  351. package/js/src/bitfinex.d.ts +2 -2
  352. package/js/src/bitfinex.js +2 -3
  353. package/js/src/bitget.js +35 -13
  354. package/js/src/bitmart.d.ts +2 -2
  355. package/js/src/bitmart.js +3 -3
  356. package/js/src/bitmex.js +1 -0
  357. package/js/src/bybit.js +3 -1
  358. package/js/src/coinlist.js +2 -3
  359. package/js/src/coinsph.js +2 -3
  360. package/js/src/deribit.js +1 -0
  361. package/js/src/gate.d.ts +4 -4
  362. package/js/src/gate.js +22 -3
  363. package/js/src/hitbtc.d.ts +4 -4
  364. package/js/src/hitbtc.js +2 -3
  365. package/js/src/htx.js +4 -7
  366. package/js/src/huobijp.js +2 -3
  367. package/js/src/kraken.js +1 -0
  368. package/js/src/kucoin.js +29 -5
  369. package/js/src/mexc.js +2 -1
  370. package/js/src/okx.js +13 -3
  371. package/js/src/pro/binance.d.ts +2 -23
  372. package/js/src/pro/binance.js +58 -22
  373. package/js/src/pro/coinbase.d.ts +2 -2
  374. package/js/src/pro/coinbase.js +4 -1
  375. package/js/src/pro/coinbasepro.d.ts +2 -2
  376. package/js/src/pro/hitbtc.d.ts +2 -2
  377. package/js/src/pro/poloniex.d.ts +2 -2
  378. package/js/src/upbit.d.ts +3 -101
  379. package/js/src/upbit.js +12 -12
  380. package/js/src/woo.js +2 -0
  381. package/package.json +11 -11
  382. package/skip-tests.json +5 -0
  383. package/tests-manager.sh +2 -2
@@ -7,8 +7,7 @@ import type { Balances, Currency, Int, Market, OHLCV, Order, OrderBook, OrderSid
7
7
  export default class bigone extends Exchange {
8
8
  describe(): any;
9
9
  fetchCurrencies(params?: {}): Promise<{}>;
10
- fetchMarkets(params?: {}): Promise<import("./base/types.js").MarketInterface[]>;
11
- parseMarket(market: any): Market;
10
+ fetchMarkets(params?: {}): Promise<any[]>;
12
11
  parseTicker(ticker: any, market?: Market): Ticker;
13
12
  fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
14
13
  fetchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
package/js/src/bigone.js CHANGED
@@ -27,10 +27,10 @@ export default class bigone extends Exchange {
27
27
  'has': {
28
28
  'CORS': undefined,
29
29
  'spot': true,
30
- 'margin': undefined,
30
+ 'margin': false,
31
31
  'swap': undefined,
32
32
  'future': undefined,
33
- 'option': undefined,
33
+ 'option': false,
34
34
  'cancelAllOrders': true,
35
35
  'cancelOrder': true,
36
36
  'createMarketBuyOrderWithCost': true,
@@ -84,6 +84,8 @@ export default class bigone extends Exchange {
84
84
  'api': {
85
85
  'public': 'https://{hostname}/api/v3',
86
86
  'private': 'https://{hostname}/api/v3/viewer',
87
+ 'contractPublic': 'https://{hostname}/api/contract/v2',
88
+ 'contractPrivate': 'https://{hostname}/api/contract/v2',
87
89
  'webExchange': 'https://{hostname}/api/',
88
90
  },
89
91
  'www': 'https://big.one',
@@ -123,6 +125,38 @@ export default class bigone extends Exchange {
123
125
  'transfer',
124
126
  ],
125
127
  },
128
+ 'contractPublic': {
129
+ 'get': [
130
+ 'instruments',
131
+ 'depth@{symbol}/snapshot',
132
+ 'instruments/difference',
133
+ 'instruments/prices',
134
+ ],
135
+ },
136
+ 'contractPrivate': {
137
+ 'get': [
138
+ 'accounts',
139
+ 'orders/{id}',
140
+ 'orders',
141
+ 'orders/opening',
142
+ 'orders/count',
143
+ 'orders/opening/count',
144
+ 'trades',
145
+ 'trades/count',
146
+ ],
147
+ 'post': [
148
+ 'orders',
149
+ 'orders/batch',
150
+ ],
151
+ 'put': [
152
+ 'positions/{symbol}/margin',
153
+ 'positions/{symbol}/risk-limit',
154
+ ],
155
+ 'delete': [
156
+ 'orders/{id}',
157
+ 'orders/batch',
158
+ ],
159
+ },
126
160
  'webExchange': {
127
161
  'get': [
128
162
  'uc/v2/assets',
@@ -514,93 +548,214 @@ export default class bigone extends Exchange {
514
548
  // ]
515
549
  // }
516
550
  //
551
+ const contractResponse = await this.contractPublicGetInstruments(params);
552
+ //
553
+ // [
554
+ // {
555
+ // "usdtPrice": 1.00031998,
556
+ // "symbol": "BTCUSD",
557
+ // "btcPrice": 34700.4,
558
+ // "ethPrice": 1787.83,
559
+ // "nextFundingRate": 0.00010,
560
+ // "fundingRate": 0.00010,
561
+ // "latestPrice": 34708.5,
562
+ // "last24hPriceChange": 0.0321,
563
+ // "indexPrice": 34700.4,
564
+ // "volume24h": 261319063,
565
+ // "turnover24h": 8204.129380685496,
566
+ // "nextFundingTime": 1698285600000,
567
+ // "markPrice": 34702.4646738,
568
+ // "last24hMaxPrice": 35127.5,
569
+ // "volume24hInUsd": 0.0,
570
+ // "openValue": 32.88054722085945,
571
+ // "last24hMinPrice": 33552.0,
572
+ // "openInterest": 1141372.0
573
+ // }
574
+ // ...
575
+ // ]
576
+ //
517
577
  const markets = this.safeValue(response, 'data', []);
518
- return this.parseMarkets(markets);
519
- }
520
- parseMarket(market) {
521
- const id = this.safeString(market, 'name');
522
- const baseAsset = this.safeValue(market, 'base_asset', {});
523
- const quoteAsset = this.safeValue(market, 'quote_asset', {});
524
- const baseId = this.safeString(baseAsset, 'symbol');
525
- const quoteId = this.safeString(quoteAsset, 'symbol');
526
- const base = this.safeCurrencyCode(baseId);
527
- const quote = this.safeCurrencyCode(quoteId);
528
- return {
529
- 'id': id,
530
- 'symbol': base + '/' + quote,
531
- 'base': base,
532
- 'quote': quote,
533
- 'settle': undefined,
534
- 'baseId': baseId,
535
- 'quoteId': quoteId,
536
- 'settleId': undefined,
537
- 'type': 'spot',
538
- 'spot': true,
539
- 'margin': false,
540
- 'swap': false,
541
- 'future': false,
542
- 'option': false,
543
- 'active': true,
544
- 'contract': false,
545
- 'linear': undefined,
546
- 'inverse': undefined,
547
- 'contractSize': undefined,
548
- 'expiry': undefined,
549
- 'expiryDatetime': undefined,
550
- 'strike': undefined,
551
- 'optionType': undefined,
552
- 'precision': {
553
- 'amount': this.parseNumber(this.parsePrecision(this.safeString(market, 'base_scale'))),
554
- 'price': this.parseNumber(this.parsePrecision(this.safeString(market, 'quote_scale'))),
555
- },
556
- 'limits': {
557
- 'leverage': {
558
- 'min': undefined,
559
- 'max': undefined,
578
+ const result = [];
579
+ for (let i = 0; i < markets.length; i++) {
580
+ const market = markets[i];
581
+ const baseAsset = this.safeValue(market, 'base_asset', {});
582
+ const quoteAsset = this.safeValue(market, 'quote_asset', {});
583
+ const baseId = this.safeString(baseAsset, 'symbol');
584
+ const quoteId = this.safeString(quoteAsset, 'symbol');
585
+ const base = this.safeCurrencyCode(baseId);
586
+ const quote = this.safeCurrencyCode(quoteId);
587
+ result.push(this.safeMarketStructure({
588
+ 'id': this.safeString(market, 'name'),
589
+ 'uuid': this.safeString(market, 'id'),
590
+ 'symbol': base + '/' + quote,
591
+ 'base': base,
592
+ 'quote': quote,
593
+ 'settle': undefined,
594
+ 'baseId': baseId,
595
+ 'quoteId': quoteId,
596
+ 'settleId': undefined,
597
+ 'type': 'spot',
598
+ 'spot': true,
599
+ 'margin': false,
600
+ 'swap': false,
601
+ 'future': false,
602
+ 'option': false,
603
+ 'active': true,
604
+ 'contract': false,
605
+ 'linear': undefined,
606
+ 'inverse': undefined,
607
+ 'contractSize': undefined,
608
+ 'expiry': undefined,
609
+ 'expiryDatetime': undefined,
610
+ 'strike': undefined,
611
+ 'optionType': undefined,
612
+ 'precision': {
613
+ 'amount': this.parseNumber(this.parsePrecision(this.safeString(market, 'base_scale'))),
614
+ 'price': this.parseNumber(this.parsePrecision(this.safeString(market, 'quote_scale'))),
560
615
  },
561
- 'amount': {
562
- 'min': undefined,
563
- 'max': undefined,
616
+ 'limits': {
617
+ 'leverage': {
618
+ 'min': undefined,
619
+ 'max': undefined,
620
+ },
621
+ 'amount': {
622
+ 'min': undefined,
623
+ 'max': undefined,
624
+ },
625
+ 'price': {
626
+ 'min': undefined,
627
+ 'max': undefined,
628
+ },
629
+ 'cost': {
630
+ 'min': this.safeNumber(market, 'min_quote_value'),
631
+ 'max': this.safeNumber(market, 'max_quote_value'),
632
+ },
564
633
  },
565
- 'price': {
566
- 'min': undefined,
567
- 'max': undefined,
634
+ 'created': undefined,
635
+ 'info': market,
636
+ }));
637
+ }
638
+ for (let i = 0; i < contractResponse.length; i++) {
639
+ const market = contractResponse[i];
640
+ const marketId = this.safeString(market, 'symbol');
641
+ const index = marketId.indexOf('USD');
642
+ const baseId = marketId.slice(0, index);
643
+ const quoteId = marketId.slice(index);
644
+ const inverse = (quoteId === 'USD');
645
+ const settleId = inverse ? baseId : quoteId;
646
+ const base = this.safeCurrencyCode(baseId);
647
+ const quote = this.safeCurrencyCode(quoteId);
648
+ const settle = this.safeCurrencyCode(settleId);
649
+ result.push(this.safeMarketStructure({
650
+ 'id': marketId,
651
+ 'symbol': base + '/' + quote + ':' + settle,
652
+ 'base': base,
653
+ 'quote': quote,
654
+ 'settle': settle,
655
+ 'baseId': baseId,
656
+ 'quoteId': quoteId,
657
+ 'settleId': settleId,
658
+ 'type': 'swap',
659
+ 'spot': false,
660
+ 'margin': false,
661
+ 'swap': true,
662
+ 'future': false,
663
+ 'option': false,
664
+ 'active': true,
665
+ 'contract': true,
666
+ 'linear': !inverse,
667
+ 'inverse': inverse,
668
+ 'contractSize': 1,
669
+ 'expiry': undefined,
670
+ 'expiryDatetime': undefined,
671
+ 'strike': undefined,
672
+ 'optionType': undefined,
673
+ 'precision': {
674
+ 'amount': undefined,
675
+ 'price': undefined,
568
676
  },
569
- 'cost': {
570
- 'min': this.safeNumber(market, 'min_quote_value'),
571
- 'max': this.safeNumber(market, 'max_quote_value'),
677
+ 'limits': {
678
+ 'leverage': {
679
+ 'min': undefined,
680
+ 'max': undefined,
681
+ },
682
+ 'amount': {
683
+ 'min': undefined,
684
+ 'max': undefined,
685
+ },
686
+ 'price': {
687
+ 'min': undefined,
688
+ 'max': undefined,
689
+ },
690
+ 'cost': {
691
+ 'min': undefined,
692
+ 'max': undefined,
693
+ },
572
694
  },
573
- },
574
- 'created': undefined,
575
- 'info': market,
576
- };
695
+ 'info': market,
696
+ }));
697
+ }
698
+ return result;
577
699
  }
578
700
  parseTicker(ticker, market = undefined) {
579
701
  //
580
- // {
581
- // "asset_pair_name":"ETH-BTC",
582
- // "bid":{"price":"0.021593","order_count":1,"quantity":"0.20936"},
583
- // "ask":{"price":"0.021613","order_count":1,"quantity":"2.87064"},
584
- // "open":"0.021795",
585
- // "high":"0.021795",
586
- // "low":"0.021471",
587
- // "close":"0.021613",
588
- // "volume":"117078.90431",
589
- // "daily_change":"-0.000182"
590
- // }
702
+ // spot
591
703
  //
592
- const marketId = this.safeString(ticker, 'asset_pair_name');
593
- const symbol = this.safeSymbol(marketId, market, '-');
594
- const timestamp = undefined;
595
- const close = this.safeString(ticker, 'close');
704
+ // {
705
+ // "asset_pair_name": "ETH-BTC",
706
+ // "bid": {
707
+ // "price": "0.021593",
708
+ // "order_count": 1,
709
+ // "quantity": "0.20936"
710
+ // },
711
+ // "ask": {
712
+ // "price": "0.021613",
713
+ // "order_count": 1,
714
+ // "quantity": "2.87064"
715
+ // },
716
+ // "open": "0.021795",
717
+ // "high": "0.021795",
718
+ // "low": "0.021471",
719
+ // "close": "0.021613",
720
+ // "volume": "117078.90431",
721
+ // "daily_change": "-0.000182"
722
+ // }
723
+ //
724
+ // contract
725
+ //
726
+ // {
727
+ // "usdtPrice": 1.00031998,
728
+ // "symbol": "BTCUSD",
729
+ // "btcPrice": 34700.4,
730
+ // "ethPrice": 1787.83,
731
+ // "nextFundingRate": 0.00010,
732
+ // "fundingRate": 0.00010,
733
+ // "latestPrice": 34708.5,
734
+ // "last24hPriceChange": 0.0321,
735
+ // "indexPrice": 34700.4,
736
+ // "volume24h": 261319063,
737
+ // "turnover24h": 8204.129380685496,
738
+ // "nextFundingTime": 1698285600000,
739
+ // "markPrice": 34702.4646738,
740
+ // "last24hMaxPrice": 35127.5,
741
+ // "volume24hInUsd": 0.0,
742
+ // "openValue": 32.88054722085945,
743
+ // "last24hMinPrice": 33552.0,
744
+ // "openInterest": 1141372.0
745
+ // }
746
+ //
747
+ const marketType = ('asset_pair_name' in ticker) ? 'spot' : 'swap';
748
+ const marketId = this.safeString2(ticker, 'asset_pair_name', 'symbol');
749
+ const symbol = this.safeSymbol(marketId, market, '-', marketType);
750
+ const close = this.safeString2(ticker, 'close', 'latestPrice');
596
751
  const bid = this.safeValue(ticker, 'bid', {});
597
752
  const ask = this.safeValue(ticker, 'ask', {});
598
753
  return this.safeTicker({
599
754
  'symbol': symbol,
600
- 'timestamp': timestamp,
601
- 'datetime': this.iso8601(timestamp),
602
- 'high': this.safeString(ticker, 'high'),
603
- 'low': this.safeString(ticker, 'low'),
755
+ 'timestamp': undefined,
756
+ 'datetime': undefined,
757
+ 'high': this.safeString2(ticker, 'high', 'last24hMaxPrice'),
758
+ 'low': this.safeString2(ticker, 'low', 'last24hMinPrice'),
604
759
  'bid': this.safeString(bid, 'price'),
605
760
  'bidVolume': this.safeString(bid, 'quantity'),
606
761
  'ask': this.safeString(ask, 'price'),
@@ -610,11 +765,11 @@ export default class bigone extends Exchange {
610
765
  'close': close,
611
766
  'last': close,
612
767
  'previousClose': undefined,
613
- 'change': this.safeString(ticker, 'daily_change'),
768
+ 'change': this.safeString2(ticker, 'daily_change', 'last24hPriceChange'),
614
769
  'percentage': undefined,
615
770
  'average': undefined,
616
- 'baseVolume': this.safeString(ticker, 'volume'),
617
- 'quoteVolume': undefined,
771
+ 'baseVolume': this.safeString2(ticker, 'volume', 'volume24h'),
772
+ 'quoteVolume': this.safeString(ticker, 'volume24hInUsd'),
618
773
  'info': ticker,
619
774
  }, market);
620
775
  }
@@ -629,83 +784,123 @@ export default class bigone extends Exchange {
629
784
  */
630
785
  await this.loadMarkets();
631
786
  const market = this.market(symbol);
632
- const request = {
633
- 'asset_pair_name': market['id'],
634
- };
635
- const response = await this.publicGetAssetPairsAssetPairNameTicker(this.extend(request, params));
636
- //
637
- // {
638
- // "code":0,
639
- // "data":{
640
- // "asset_pair_name":"ETH-BTC",
641
- // "bid":{"price":"0.021593","order_count":1,"quantity":"0.20936"},
642
- // "ask":{"price":"0.021613","order_count":1,"quantity":"2.87064"},
643
- // "open":"0.021795",
644
- // "high":"0.021795",
645
- // "low":"0.021471",
646
- // "close":"0.021613",
647
- // "volume":"117078.90431",
648
- // "daily_change":"-0.000182"
649
- // }
650
- // }
651
- //
652
- const ticker = this.safeValue(response, 'data', {});
653
- return this.parseTicker(ticker, market);
787
+ let type = undefined;
788
+ [type, params] = this.handleMarketTypeAndParams('fetchTicker', market, params);
789
+ if (type === 'spot') {
790
+ const request = {
791
+ 'asset_pair_name': market['id'],
792
+ };
793
+ const response = await this.publicGetAssetPairsAssetPairNameTicker(this.extend(request, params));
794
+ //
795
+ // {
796
+ // "code":0,
797
+ // "data":{
798
+ // "asset_pair_name":"ETH-BTC",
799
+ // "bid":{"price":"0.021593","order_count":1,"quantity":"0.20936"},
800
+ // "ask":{"price":"0.021613","order_count":1,"quantity":"2.87064"},
801
+ // "open":"0.021795",
802
+ // "high":"0.021795",
803
+ // "low":"0.021471",
804
+ // "close":"0.021613",
805
+ // "volume":"117078.90431",
806
+ // "daily_change":"-0.000182"
807
+ // }
808
+ // }
809
+ //
810
+ const ticker = this.safeValue(response, 'data', {});
811
+ return this.parseTicker(ticker, market);
812
+ }
813
+ else {
814
+ const tickers = await this.fetchTickers([symbol], params);
815
+ return this.safeValue(tickers, symbol);
816
+ }
654
817
  }
655
818
  async fetchTickers(symbols = undefined, params = {}) {
656
819
  /**
657
820
  * @method
658
821
  * @name bigone#fetchTickers
659
822
  * @description fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
660
- * @param {string[]|undefined} symbols unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
823
+ * @param {string[]} [symbols] unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
661
824
  * @param {object} [params] extra parameters specific to the exchange API endpoint
662
825
  * @returns {object} a dictionary of [ticker structures]{@link https://docs.ccxt.com/#/?id=ticker-structure}
663
826
  */
664
827
  await this.loadMarkets();
828
+ let market = undefined;
829
+ const symbol = this.safeString(symbols, 0);
830
+ if (symbol !== undefined) {
831
+ market = this.market(symbol);
832
+ }
833
+ let type = undefined;
834
+ [type, params] = this.handleMarketTypeAndParams('fetchTickers', market, params);
835
+ const isSpot = type === 'spot';
665
836
  const request = {};
666
837
  symbols = this.marketSymbols(symbols);
667
- if (symbols !== undefined) {
668
- const ids = this.marketIds(symbols);
669
- request['pair_names'] = ids.join(',');
838
+ let data = undefined;
839
+ if (isSpot) {
840
+ if (symbols !== undefined) {
841
+ const ids = this.marketIds(symbols);
842
+ request['pair_names'] = ids.join(',');
843
+ }
844
+ const response = await this.publicGetAssetPairsTickers(this.extend(request, params));
845
+ //
846
+ // {
847
+ // "code": 0,
848
+ // "data": [
849
+ // {
850
+ // "asset_pair_name": "PCX-BTC",
851
+ // "bid": {
852
+ // "price": "0.000234",
853
+ // "order_count": 1,
854
+ // "quantity": "0.518"
855
+ // },
856
+ // "ask": {
857
+ // "price": "0.0002348",
858
+ // "order_count": 1,
859
+ // "quantity": "2.348"
860
+ // },
861
+ // "open": "0.0002343",
862
+ // "high": "0.0002348",
863
+ // "low": "0.0002162",
864
+ // "close": "0.0002348",
865
+ // "volume": "12887.016",
866
+ // "daily_change": "0.0000005"
867
+ // },
868
+ // ...
869
+ // ]
870
+ // }
871
+ //
872
+ data = this.safeValue(response, 'data', []);
670
873
  }
671
- const response = await this.publicGetAssetPairsTickers(this.extend(request, params));
672
- //
673
- // {
674
- // "code":0,
675
- // "data":[
676
- // {
677
- // "asset_pair_name":"PCX-BTC",
678
- // "bid":{"price":"0.000234","order_count":1,"quantity":"0.518"},
679
- // "ask":{"price":"0.0002348","order_count":1,"quantity":"2.348"},
680
- // "open":"0.0002343",
681
- // "high":"0.0002348",
682
- // "low":"0.0002162",
683
- // "close":"0.0002348",
684
- // "volume":"12887.016",
685
- // "daily_change":"0.0000005"
686
- // },
687
- // {
688
- // "asset_pair_name":"GXC-USDT",
689
- // "bid":{"price":"0.5054","order_count":1,"quantity":"40.53"},
690
- // "ask":{"price":"0.5055","order_count":1,"quantity":"38.53"},
691
- // "open":"0.5262",
692
- // "high":"0.5323",
693
- // "low":"0.5055",
694
- // "close":"0.5055",
695
- // "volume":"603963.05",
696
- // "daily_change":"-0.0207"
697
- // }
698
- // ]
699
- // }
700
- //
701
- const tickers = this.safeValue(response, 'data', []);
702
- const result = {};
703
- for (let i = 0; i < tickers.length; i++) {
704
- const ticker = this.parseTicker(tickers[i]);
705
- const symbol = ticker['symbol'];
706
- result[symbol] = ticker;
874
+ else {
875
+ data = await this.contractPublicGetInstruments(params);
876
+ //
877
+ // [
878
+ // {
879
+ // "usdtPrice": 1.00031998,
880
+ // "symbol": "BTCUSD",
881
+ // "btcPrice": 34700.4,
882
+ // "ethPrice": 1787.83,
883
+ // "nextFundingRate": 0.00010,
884
+ // "fundingRate": 0.00010,
885
+ // "latestPrice": 34708.5,
886
+ // "last24hPriceChange": 0.0321,
887
+ // "indexPrice": 34700.4,
888
+ // "volume24h": 261319063,
889
+ // "turnover24h": 8204.129380685496,
890
+ // "nextFundingTime": 1698285600000,
891
+ // "markPrice": 34702.4646738,
892
+ // "last24hMaxPrice": 35127.5,
893
+ // "volume24hInUsd": 0.0,
894
+ // "openValue": 32.88054722085945,
895
+ // "last24hMinPrice": 33552.0,
896
+ // "openInterest": 1141372.0
897
+ // }
898
+ // ...
899
+ // ]
900
+ //
707
901
  }
708
- return this.filterByArrayTickers(result, 'symbol', symbols);
902
+ const tickers = this.parseTickers(data, symbols);
903
+ return this.filterByArrayTickers(tickers, 'symbol', symbols);
709
904
  }
710
905
  async fetchTime(params = {}) {
711
906
  /**
@@ -1519,7 +1714,7 @@ export default class bigone extends Exchange {
1519
1714
  const baseUrl = this.implodeHostname(this.urls['api'][api]);
1520
1715
  let url = baseUrl + '/' + this.implodeParams(path, params);
1521
1716
  headers = {};
1522
- if (api === 'public' || api === 'webExchange') {
1717
+ if (api === 'public' || api === 'webExchange' || api === 'contractPublic') {
1523
1718
  if (Object.keys(query).length) {
1524
1719
  url += '?' + this.urlencode(query);
1525
1720
  }
@@ -1542,7 +1737,7 @@ export default class bigone extends Exchange {
1542
1737
  }
1543
1738
  else if (method === 'POST') {
1544
1739
  headers['Content-Type'] = 'application/json';
1545
- body = this.json(query);
1740
+ body = query;
1546
1741
  }
1547
1742
  }
1548
1743
  headers['User-Agent'] = 'ccxt/' + this.id + '-' + this.version;
@@ -1936,7 +2131,7 @@ export default class bigone extends Exchange {
1936
2131
  //
1937
2132
  const code = this.safeString(response, 'code');
1938
2133
  const message = this.safeString(response, 'message');
1939
- if (code !== '0') {
2134
+ if ((code !== '0') && (code !== undefined)) {
1940
2135
  const feedback = this.id + ' ' + body;
1941
2136
  this.throwExactlyMatchedException(this.exceptions['exact'], message, feedback);
1942
2137
  this.throwExactlyMatchedException(this.exceptions['exact'], code, feedback);