ccxt 4.2.11 → 4.2.13

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 (392) hide show
  1. package/README.md +5 -5
  2. package/build.sh +2 -2
  3. package/dist/ccxt.browser.js +1347 -490
  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 +2209 -0
  125. package/dist/cjs/js/src/binance.js +9736 -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 +3807 -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 +8291 -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 +3424 -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 +7072 -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 +9049 -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 +761 -0
  185. package/dist/cjs/js/src/indodax.js +1069 -0
  186. package/dist/cjs/js/src/kraken.js +2857 -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 +2851 -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 +7330 -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 +4722 -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 +1608 -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 +1867 -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 +2765 -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/js/ccxt.d.ts +1 -1
  329. package/js/ccxt.js +1 -1
  330. package/js/src/abstract/bigone.d.ts +18 -0
  331. package/js/src/abstract/binance.d.ts +2 -0
  332. package/js/src/abstract/binancecoinm.d.ts +2 -0
  333. package/js/src/abstract/binanceus.d.ts +2 -0
  334. package/js/src/abstract/binanceusdm.d.ts +2 -0
  335. package/js/src/abstract/bingx.d.ts +2 -0
  336. package/js/src/abstract/bybit.d.ts +1 -0
  337. package/js/src/abstract/gate.d.ts +11 -0
  338. package/js/src/abstract/gateio.d.ts +11 -0
  339. package/js/src/abstract/okx.d.ts +1 -0
  340. package/js/src/alpaca.js +18 -18
  341. package/js/src/base/Exchange.d.ts +5 -1
  342. package/js/src/base/Exchange.js +101 -12
  343. package/js/src/bigone.d.ts +3 -2
  344. package/js/src/bigone.js +429 -167
  345. package/js/src/binance.js +48 -34
  346. package/js/src/bingx.js +115 -38
  347. package/js/src/bitfinex.d.ts +2 -2
  348. package/js/src/bitfinex.js +2 -3
  349. package/js/src/bitget.js +33 -13
  350. package/js/src/bitmart.d.ts +2 -2
  351. package/js/src/bitmart.js +5 -5
  352. package/js/src/bitmex.js +1 -0
  353. package/js/src/bybit.js +2 -0
  354. package/js/src/coinbase.d.ts +26 -3
  355. package/js/src/coinbase.js +176 -26
  356. package/js/src/coinlist.js +3 -4
  357. package/js/src/coinone.js +1 -1
  358. package/js/src/coinsph.js +2 -3
  359. package/js/src/deribit.js +1 -0
  360. package/js/src/gate.d.ts +4 -4
  361. package/js/src/gate.js +96 -59
  362. package/js/src/gemini.js +1 -1
  363. package/js/src/hitbtc.d.ts +4 -4
  364. package/js/src/hitbtc.js +2 -3
  365. package/js/src/htx.d.ts +1 -0
  366. package/js/src/htx.js +29 -7
  367. package/js/src/huobijp.js +2 -3
  368. package/js/src/independentreserve.js +7 -5
  369. package/js/src/kraken.js +3 -6
  370. package/js/src/lbank.js +59 -33
  371. package/js/src/mexc.js +2 -1
  372. package/js/src/oceanex.js +1 -1
  373. package/js/src/okx.js +14 -3
  374. package/js/src/phemex.js +9 -2
  375. package/js/src/pro/binance.d.ts +2 -23
  376. package/js/src/pro/binance.js +58 -22
  377. package/js/src/pro/coinbase.d.ts +2 -2
  378. package/js/src/pro/coinbase.js +4 -1
  379. package/js/src/pro/coinbasepro.d.ts +2 -2
  380. package/js/src/pro/hitbtc.d.ts +2 -2
  381. package/js/src/pro/kraken.js +1 -1
  382. package/js/src/pro/okx.d.ts +1 -0
  383. package/js/src/pro/okx.js +52 -2
  384. package/js/src/pro/poloniex.d.ts +2 -2
  385. package/js/src/probit.js +4 -2
  386. package/js/src/upbit.d.ts +3 -101
  387. package/js/src/upbit.js +12 -12
  388. package/js/src/wavesexchange.js +1 -1
  389. package/js/src/woo.d.ts +2 -0
  390. package/js/src/woo.js +52 -0
  391. package/package.json +1 -1
  392. package/skip-tests.json +5 -0
package/js/ccxt.d.ts CHANGED
@@ -4,7 +4,7 @@ import * as functions from './src/base/functions.js';
4
4
  import * as errors from './src/base/errors.js';
5
5
  import type { Market, Trade, Fee, Ticker, OrderBook, Order, Transaction, Tickers, Currency, Balance, DepositAddress, WithdrawalResponse, DepositAddressResponse, OHLCV, Balances, PartialBalances, Dictionary, MinMax, Position, FundingRateHistory, Liquidation, FundingHistory, MarginMode, Greeks } from './src/base/types.js';
6
6
  import { BaseError, ExchangeError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, MarginModeAlreadySet, BadResponse, NullResponse, InsufficientFunds, InvalidAddress, InvalidOrder, OrderNotFound, OrderNotCached, CancelPending, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, NotSupported, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, RequestTimeout, AuthenticationError, AddressPending, NoChange } from './src/base/errors.js';
7
- declare const version = "4.2.10";
7
+ declare const version = "4.2.12";
8
8
  import ace from './src/ace.js';
9
9
  import alpaca from './src/alpaca.js';
10
10
  import ascendex from './src/ascendex.js';
package/js/ccxt.js CHANGED
@@ -38,7 +38,7 @@ import * as errors from './src/base/errors.js';
38
38
  import { BaseError, ExchangeError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, MarginModeAlreadySet, BadResponse, NullResponse, InsufficientFunds, InvalidAddress, InvalidOrder, OrderNotFound, OrderNotCached, CancelPending, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, NotSupported, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, RequestTimeout, AuthenticationError, AddressPending, NoChange } from './src/base/errors.js';
39
39
  //-----------------------------------------------------------------------------
40
40
  // this is updated by vss.js when building
41
- const version = '4.2.11';
41
+ const version = '4.2.13';
42
42
  Exchange.ccxtVersion = version;
43
43
  //-----------------------------------------------------------------------------
44
44
  import ace from './src/ace.js';
@@ -22,6 +22,24 @@ interface Exchange {
22
22
  privatePostOrdersCancel(params?: {}): Promise<implicitReturnType>;
23
23
  privatePostWithdrawals(params?: {}): Promise<implicitReturnType>;
24
24
  privatePostTransfer(params?: {}): Promise<implicitReturnType>;
25
+ contractPublicGetInstruments(params?: {}): Promise<implicitReturnType>;
26
+ contractPublicGetDepthSymbolSnapshot(params?: {}): Promise<implicitReturnType>;
27
+ contractPublicGetInstrumentsDifference(params?: {}): Promise<implicitReturnType>;
28
+ contractPublicGetInstrumentsPrices(params?: {}): Promise<implicitReturnType>;
29
+ contractPrivateGetAccounts(params?: {}): Promise<implicitReturnType>;
30
+ contractPrivateGetOrdersId(params?: {}): Promise<implicitReturnType>;
31
+ contractPrivateGetOrders(params?: {}): Promise<implicitReturnType>;
32
+ contractPrivateGetOrdersOpening(params?: {}): Promise<implicitReturnType>;
33
+ contractPrivateGetOrdersCount(params?: {}): Promise<implicitReturnType>;
34
+ contractPrivateGetOrdersOpeningCount(params?: {}): Promise<implicitReturnType>;
35
+ contractPrivateGetTrades(params?: {}): Promise<implicitReturnType>;
36
+ contractPrivateGetTradesCount(params?: {}): Promise<implicitReturnType>;
37
+ contractPrivatePostOrders(params?: {}): Promise<implicitReturnType>;
38
+ contractPrivatePostOrdersBatch(params?: {}): Promise<implicitReturnType>;
39
+ contractPrivatePutPositionsSymbolMargin(params?: {}): Promise<implicitReturnType>;
40
+ contractPrivatePutPositionsSymbolRiskLimit(params?: {}): Promise<implicitReturnType>;
41
+ contractPrivateDeleteOrdersId(params?: {}): Promise<implicitReturnType>;
42
+ contractPrivateDeleteOrdersBatch(params?: {}): Promise<implicitReturnType>;
25
43
  webExchangeGetUcV2Assets(params?: {}): Promise<implicitReturnType>;
26
44
  }
27
45
  declare abstract class Exchange extends _Exchange {
@@ -17,6 +17,7 @@ interface Exchange {
17
17
  sapiGetAssetConvertTransferQueryByPage(params?: {}): Promise<implicitReturnType>;
18
18
  sapiGetAssetWalletBalance(params?: {}): Promise<implicitReturnType>;
19
19
  sapiGetAssetCustodyTransferHistory(params?: {}): Promise<implicitReturnType>;
20
+ sapiGetMarginBorrowRepay(params?: {}): Promise<implicitReturnType>;
20
21
  sapiGetMarginLoan(params?: {}): Promise<implicitReturnType>;
21
22
  sapiGetMarginRepay(params?: {}): Promise<implicitReturnType>;
22
23
  sapiGetMarginAccount(params?: {}): Promise<implicitReturnType>;
@@ -250,6 +251,7 @@ interface Exchange {
250
251
  sapiPostCapitalWithdrawApply(params?: {}): Promise<implicitReturnType>;
251
252
  sapiPostCapitalContractConvertibleCoins(params?: {}): Promise<implicitReturnType>;
252
253
  sapiPostCapitalDepositCreditApply(params?: {}): Promise<implicitReturnType>;
254
+ sapiPostMarginBorrowRepay(params?: {}): Promise<implicitReturnType>;
253
255
  sapiPostMarginTransfer(params?: {}): Promise<implicitReturnType>;
254
256
  sapiPostMarginLoan(params?: {}): Promise<implicitReturnType>;
255
257
  sapiPostMarginRepay(params?: {}): Promise<implicitReturnType>;
@@ -17,6 +17,7 @@ interface binance {
17
17
  sapiGetAssetConvertTransferQueryByPage(params?: {}): Promise<implicitReturnType>;
18
18
  sapiGetAssetWalletBalance(params?: {}): Promise<implicitReturnType>;
19
19
  sapiGetAssetCustodyTransferHistory(params?: {}): Promise<implicitReturnType>;
20
+ sapiGetMarginBorrowRepay(params?: {}): Promise<implicitReturnType>;
20
21
  sapiGetMarginLoan(params?: {}): Promise<implicitReturnType>;
21
22
  sapiGetMarginRepay(params?: {}): Promise<implicitReturnType>;
22
23
  sapiGetMarginAccount(params?: {}): Promise<implicitReturnType>;
@@ -250,6 +251,7 @@ interface binance {
250
251
  sapiPostCapitalWithdrawApply(params?: {}): Promise<implicitReturnType>;
251
252
  sapiPostCapitalContractConvertibleCoins(params?: {}): Promise<implicitReturnType>;
252
253
  sapiPostCapitalDepositCreditApply(params?: {}): Promise<implicitReturnType>;
254
+ sapiPostMarginBorrowRepay(params?: {}): Promise<implicitReturnType>;
253
255
  sapiPostMarginTransfer(params?: {}): Promise<implicitReturnType>;
254
256
  sapiPostMarginLoan(params?: {}): Promise<implicitReturnType>;
255
257
  sapiPostMarginRepay(params?: {}): Promise<implicitReturnType>;
@@ -17,6 +17,7 @@ interface binance {
17
17
  sapiGetAssetConvertTransferQueryByPage(params?: {}): Promise<implicitReturnType>;
18
18
  sapiGetAssetWalletBalance(params?: {}): Promise<implicitReturnType>;
19
19
  sapiGetAssetCustodyTransferHistory(params?: {}): Promise<implicitReturnType>;
20
+ sapiGetMarginBorrowRepay(params?: {}): Promise<implicitReturnType>;
20
21
  sapiGetMarginLoan(params?: {}): Promise<implicitReturnType>;
21
22
  sapiGetMarginRepay(params?: {}): Promise<implicitReturnType>;
22
23
  sapiGetMarginAccount(params?: {}): Promise<implicitReturnType>;
@@ -250,6 +251,7 @@ interface binance {
250
251
  sapiPostCapitalWithdrawApply(params?: {}): Promise<implicitReturnType>;
251
252
  sapiPostCapitalContractConvertibleCoins(params?: {}): Promise<implicitReturnType>;
252
253
  sapiPostCapitalDepositCreditApply(params?: {}): Promise<implicitReturnType>;
254
+ sapiPostMarginBorrowRepay(params?: {}): Promise<implicitReturnType>;
253
255
  sapiPostMarginTransfer(params?: {}): Promise<implicitReturnType>;
254
256
  sapiPostMarginLoan(params?: {}): Promise<implicitReturnType>;
255
257
  sapiPostMarginRepay(params?: {}): Promise<implicitReturnType>;
@@ -17,6 +17,7 @@ interface binance {
17
17
  sapiGetAssetConvertTransferQueryByPage(params?: {}): Promise<implicitReturnType>;
18
18
  sapiGetAssetWalletBalance(params?: {}): Promise<implicitReturnType>;
19
19
  sapiGetAssetCustodyTransferHistory(params?: {}): Promise<implicitReturnType>;
20
+ sapiGetMarginBorrowRepay(params?: {}): Promise<implicitReturnType>;
20
21
  sapiGetMarginLoan(params?: {}): Promise<implicitReturnType>;
21
22
  sapiGetMarginRepay(params?: {}): Promise<implicitReturnType>;
22
23
  sapiGetMarginAccount(params?: {}): Promise<implicitReturnType>;
@@ -250,6 +251,7 @@ interface binance {
250
251
  sapiPostCapitalWithdrawApply(params?: {}): Promise<implicitReturnType>;
251
252
  sapiPostCapitalContractConvertibleCoins(params?: {}): Promise<implicitReturnType>;
252
253
  sapiPostCapitalDepositCreditApply(params?: {}): Promise<implicitReturnType>;
254
+ sapiPostMarginBorrowRepay(params?: {}): Promise<implicitReturnType>;
253
255
  sapiPostMarginTransfer(params?: {}): Promise<implicitReturnType>;
254
256
  sapiPostMarginLoan(params?: {}): Promise<implicitReturnType>;
255
257
  sapiPostMarginRepay(params?: {}): Promise<implicitReturnType>;
@@ -9,6 +9,7 @@ interface Exchange {
9
9
  spotV1PrivateGetTradeQuery(params?: {}): Promise<implicitReturnType>;
10
10
  spotV1PrivateGetTradeOpenOrders(params?: {}): Promise<implicitReturnType>;
11
11
  spotV1PrivateGetTradeHistoryOrders(params?: {}): Promise<implicitReturnType>;
12
+ spotV1PrivateGetTradeMyTrades(params?: {}): Promise<implicitReturnType>;
12
13
  spotV1PrivateGetUserCommissionRate(params?: {}): Promise<implicitReturnType>;
13
14
  spotV1PrivateGetAccountBalance(params?: {}): Promise<implicitReturnType>;
14
15
  spotV1PrivatePostTradeOrder(params?: {}): Promise<implicitReturnType>;
@@ -38,6 +39,7 @@ interface Exchange {
38
39
  swapV2PrivateGetUserPositions(params?: {}): Promise<implicitReturnType>;
39
40
  swapV2PrivateGetUserIncome(params?: {}): Promise<implicitReturnType>;
40
41
  swapV2PrivateGetTradeOpenOrders(params?: {}): Promise<implicitReturnType>;
42
+ swapV2PrivateGetTradeOpenOrder(params?: {}): Promise<implicitReturnType>;
41
43
  swapV2PrivateGetTradeOrder(params?: {}): Promise<implicitReturnType>;
42
44
  swapV2PrivateGetTradeMarginType(params?: {}): Promise<implicitReturnType>;
43
45
  swapV2PrivateGetTradeLeverage(params?: {}): Promise<implicitReturnType>;
@@ -123,6 +123,7 @@ interface Exchange {
123
123
  privateGetV5AccountWalletBalance(params?: {}): Promise<implicitReturnType>;
124
124
  privateGetV5AccountBorrowHistory(params?: {}): Promise<implicitReturnType>;
125
125
  privateGetV5AccountSetCollateralSwitch(params?: {}): Promise<implicitReturnType>;
126
+ privateGetV5AccountSetCollateralSwitchBatch(params?: {}): Promise<implicitReturnType>;
126
127
  privateGetV5AccountCollateralInfo(params?: {}): Promise<implicitReturnType>;
127
128
  privateGetV5AssetCoinGreeks(params?: {}): Promise<implicitReturnType>;
128
129
  privateGetV5AccountFeeRate(params?: {}): Promise<implicitReturnType>;
@@ -177,6 +177,7 @@ interface Exchange {
177
177
  privateFuturesPostSettleOrders(params?: {}): Promise<implicitReturnType>;
178
178
  privateFuturesPostSettleBatchOrders(params?: {}): Promise<implicitReturnType>;
179
179
  privateFuturesPostSettleCountdownCancelAll(params?: {}): Promise<implicitReturnType>;
180
+ privateFuturesPostSettleBatchCancelOrders(params?: {}): Promise<implicitReturnType>;
180
181
  privateFuturesPostSettlePriceOrders(params?: {}): Promise<implicitReturnType>;
181
182
  privateFuturesPutSettleOrdersOrderId(params?: {}): Promise<implicitReturnType>;
182
183
  privateFuturesDeleteSettleOrders(params?: {}): Promise<implicitReturnType>;
@@ -233,9 +234,19 @@ interface Exchange {
233
234
  privateLoanGetCollateralTotalAmount(params?: {}): Promise<implicitReturnType>;
234
235
  privateLoanGetCollateralLtv(params?: {}): Promise<implicitReturnType>;
235
236
  privateLoanGetCollateralCurrencies(params?: {}): Promise<implicitReturnType>;
237
+ privateLoanGetMultiCollateralOrders(params?: {}): Promise<implicitReturnType>;
238
+ privateLoanGetMultiCollateralOrdersOrderId(params?: {}): Promise<implicitReturnType>;
239
+ privateLoanGetMultiCollateralRepay(params?: {}): Promise<implicitReturnType>;
240
+ privateLoanGetMultiCollateralMortgage(params?: {}): Promise<implicitReturnType>;
241
+ privateLoanGetMultiCollateralCurrencyQuota(params?: {}): Promise<implicitReturnType>;
242
+ privateLoanGetMultiCollateralCurrencies(params?: {}): Promise<implicitReturnType>;
243
+ privateLoanGetMultiCollateralLtv(params?: {}): Promise<implicitReturnType>;
236
244
  privateLoanPostCollateralOrders(params?: {}): Promise<implicitReturnType>;
237
245
  privateLoanPostCollateralRepay(params?: {}): Promise<implicitReturnType>;
238
246
  privateLoanPostCollateralCollaterals(params?: {}): Promise<implicitReturnType>;
247
+ privateLoanPostMultiCollateralOrders(params?: {}): Promise<implicitReturnType>;
248
+ privateLoanPostMultiCollateralRepay(params?: {}): Promise<implicitReturnType>;
249
+ privateLoanPostMultiCollateralMortgage(params?: {}): Promise<implicitReturnType>;
239
250
  privateAccountGetDetail(params?: {}): Promise<implicitReturnType>;
240
251
  privateAccountGetStpGroups(params?: {}): Promise<implicitReturnType>;
241
252
  privateAccountGetStpGroupsStpIdUsers(params?: {}): Promise<implicitReturnType>;
@@ -177,6 +177,7 @@ interface gate {
177
177
  privateFuturesPostSettleOrders(params?: {}): Promise<implicitReturnType>;
178
178
  privateFuturesPostSettleBatchOrders(params?: {}): Promise<implicitReturnType>;
179
179
  privateFuturesPostSettleCountdownCancelAll(params?: {}): Promise<implicitReturnType>;
180
+ privateFuturesPostSettleBatchCancelOrders(params?: {}): Promise<implicitReturnType>;
180
181
  privateFuturesPostSettlePriceOrders(params?: {}): Promise<implicitReturnType>;
181
182
  privateFuturesPutSettleOrdersOrderId(params?: {}): Promise<implicitReturnType>;
182
183
  privateFuturesDeleteSettleOrders(params?: {}): Promise<implicitReturnType>;
@@ -233,9 +234,19 @@ interface gate {
233
234
  privateLoanGetCollateralTotalAmount(params?: {}): Promise<implicitReturnType>;
234
235
  privateLoanGetCollateralLtv(params?: {}): Promise<implicitReturnType>;
235
236
  privateLoanGetCollateralCurrencies(params?: {}): Promise<implicitReturnType>;
237
+ privateLoanGetMultiCollateralOrders(params?: {}): Promise<implicitReturnType>;
238
+ privateLoanGetMultiCollateralOrdersOrderId(params?: {}): Promise<implicitReturnType>;
239
+ privateLoanGetMultiCollateralRepay(params?: {}): Promise<implicitReturnType>;
240
+ privateLoanGetMultiCollateralMortgage(params?: {}): Promise<implicitReturnType>;
241
+ privateLoanGetMultiCollateralCurrencyQuota(params?: {}): Promise<implicitReturnType>;
242
+ privateLoanGetMultiCollateralCurrencies(params?: {}): Promise<implicitReturnType>;
243
+ privateLoanGetMultiCollateralLtv(params?: {}): Promise<implicitReturnType>;
236
244
  privateLoanPostCollateralOrders(params?: {}): Promise<implicitReturnType>;
237
245
  privateLoanPostCollateralRepay(params?: {}): Promise<implicitReturnType>;
238
246
  privateLoanPostCollateralCollaterals(params?: {}): Promise<implicitReturnType>;
247
+ privateLoanPostMultiCollateralOrders(params?: {}): Promise<implicitReturnType>;
248
+ privateLoanPostMultiCollateralRepay(params?: {}): Promise<implicitReturnType>;
249
+ privateLoanPostMultiCollateralMortgage(params?: {}): Promise<implicitReturnType>;
239
250
  privateAccountGetDetail(params?: {}): Promise<implicitReturnType>;
240
251
  privateAccountGetStpGroups(params?: {}): Promise<implicitReturnType>;
241
252
  privateAccountGetStpGroupsStpIdUsers(params?: {}): Promise<implicitReturnType>;
@@ -81,6 +81,7 @@ interface Exchange {
81
81
  privateGetSprdOrder(params?: {}): Promise<implicitReturnType>;
82
82
  privateGetSprdOrdersPending(params?: {}): Promise<implicitReturnType>;
83
83
  privateGetSprdOrdersHistory(params?: {}): Promise<implicitReturnType>;
84
+ privateGetSprdOrdersHistoryArchive(params?: {}): Promise<implicitReturnType>;
84
85
  privateGetSprdTrades(params?: {}): Promise<implicitReturnType>;
85
86
  privateGetTradeOrder(params?: {}): Promise<implicitReturnType>;
86
87
  privateGetTradeOrdersPending(params?: {}): Promise<implicitReturnType>;
package/js/src/alpaca.js CHANGED
@@ -39,7 +39,7 @@ export default class alpaca extends Exchange {
39
39
  'market': 'https://data.sandbox.{hostname}',
40
40
  },
41
41
  'doc': 'https://alpaca.markets/docs/',
42
- 'fees': 'https://alpaca.markets/support/what-are-the-fees-associated-with-crypto-trading/',
42
+ 'fees': 'https://docs.alpaca.markets/docs/crypto-fees',
43
43
  },
44
44
  'has': {
45
45
  'CORS': false,
@@ -210,28 +210,28 @@ export default class alpaca extends Exchange {
210
210
  'trading': {
211
211
  'tierBased': true,
212
212
  'percentage': true,
213
- 'maker': this.parseNumber('0.003'),
214
- 'taker': this.parseNumber('0.003'),
213
+ 'maker': this.parseNumber('0.0015'),
214
+ 'taker': this.parseNumber('0.0025'),
215
215
  'tiers': {
216
216
  'taker': [
217
- [this.parseNumber('0'), this.parseNumber('0.003')],
218
- [this.parseNumber('500000'), this.parseNumber('0.0028')],
219
- [this.parseNumber('1000000'), this.parseNumber('0.0025')],
220
- [this.parseNumber('5000000'), this.parseNumber('0.002')],
221
- [this.parseNumber('10000000'), this.parseNumber('0.0018')],
222
- [this.parseNumber('25000000'), this.parseNumber('0.0015')],
223
- [this.parseNumber('50000000'), this.parseNumber('0.00125')],
217
+ [this.parseNumber('0'), this.parseNumber('0.0025')],
218
+ [this.parseNumber('100000'), this.parseNumber('0.0022')],
219
+ [this.parseNumber('500000'), this.parseNumber('0.0020')],
220
+ [this.parseNumber('1000000'), this.parseNumber('0.0018')],
221
+ [this.parseNumber('10000000'), this.parseNumber('0.0015')],
222
+ [this.parseNumber('25000000'), this.parseNumber('0.0013')],
223
+ [this.parseNumber('50000000'), this.parseNumber('0.0012')],
224
224
  [this.parseNumber('100000000'), this.parseNumber('0.001')],
225
225
  ],
226
226
  'maker': [
227
- [this.parseNumber('0'), this.parseNumber('0.003')],
228
- [this.parseNumber('500000'), this.parseNumber('0.0028')],
229
- [this.parseNumber('1000000'), this.parseNumber('0.0025')],
230
- [this.parseNumber('5000000'), this.parseNumber('0.002')],
231
- [this.parseNumber('10000000'), this.parseNumber('0.0018')],
232
- [this.parseNumber('25000000'), this.parseNumber('0.0015')],
233
- [this.parseNumber('50000000'), this.parseNumber('0.00125')],
234
- [this.parseNumber('100000000'), this.parseNumber('0.001')],
227
+ [this.parseNumber('0'), this.parseNumber('0.0015')],
228
+ [this.parseNumber('100000'), this.parseNumber('0.0012')],
229
+ [this.parseNumber('500000'), this.parseNumber('0.001')],
230
+ [this.parseNumber('1000000'), this.parseNumber('0.0008')],
231
+ [this.parseNumber('10000000'), this.parseNumber('0.0005')],
232
+ [this.parseNumber('25000000'), this.parseNumber('0.0002')],
233
+ [this.parseNumber('50000000'), this.parseNumber('0.0002')],
234
+ [this.parseNumber('100000000'), this.parseNumber('0.00')],
235
235
  ],
236
236
  },
237
237
  },
@@ -308,6 +308,8 @@ export default class Exchange {
308
308
  createStopOrder: any;
309
309
  createStopLimitOrder: any;
310
310
  createStopMarketOrder: any;
311
+ createTrailingAmountOrder: any;
312
+ createTrailingPercentOrder: any;
311
313
  createOrderWs: any;
312
314
  editOrderWs: any;
313
315
  fetchOpenOrdersWs: any;
@@ -765,12 +767,14 @@ export default class Exchange {
765
767
  watchTicker(symbol: string, params?: {}): Promise<Ticker>;
766
768
  fetchTickers(symbols?: string[], params?: {}): Promise<Tickers>;
767
769
  fetchOrderBooks(symbols?: string[], limit?: Int, params?: {}): Promise<Dictionary<OrderBook>>;
768
- watchTickers(symbols?: string[], params?: {}): Promise<Dictionary<Ticker>>;
770
+ watchTickers(symbols?: string[], params?: {}): Promise<Tickers>;
769
771
  fetchOrder(id: string, symbol?: string, params?: {}): Promise<Order>;
770
772
  fetchOrderWs(id: string, symbol?: string, params?: {}): Promise<Order>;
771
773
  fetchOrderStatus(id: string, symbol?: string, params?: {}): Promise<string>;
772
774
  fetchUnifiedOrder(order: any, params?: {}): Promise<Order>;
773
775
  createOrder(symbol: string, type: OrderType, side: OrderSide, amount: any, price?: any, params?: {}): Promise<Order>;
776
+ createTrailingAmountOrder(symbol: string, type: OrderType, side: OrderSide, amount: any, price?: any, trailingAmount?: any, trailingTriggerPrice?: any, params?: {}): Promise<Order>;
777
+ createTrailingPercentOrder(symbol: string, type: OrderType, side: OrderSide, amount: any, price?: any, trailingPercent?: any, trailingTriggerPrice?: any, params?: {}): Promise<Order>;
774
778
  createMarketOrderWithCost(symbol: string, side: OrderSide, cost: any, params?: {}): Promise<Order>;
775
779
  createMarketBuyOrderWithCost(symbol: string, cost: any, params?: {}): Promise<Order>;
776
780
  createMarketSellOrderWithCost(symbol: string, cost: any, params?: {}): Promise<Order>;
@@ -364,6 +364,8 @@ export default class Exchange {
364
364
  'createStopOrder': undefined,
365
365
  'createStopLimitOrder': undefined,
366
366
  'createStopMarketOrder': undefined,
367
+ 'createTrailingAmountOrder': undefined,
368
+ 'createTrailingPercentOrder': undefined,
367
369
  'createOrderWs': undefined,
368
370
  'editOrderWs': undefined,
369
371
  'fetchOpenOrdersWs': undefined,
@@ -656,10 +658,28 @@ export default class Exchange {
656
658
  console.log(...args);
657
659
  }
658
660
  async loadProxyModules() {
661
+ if (this.proxyModulesLoaded) {
662
+ return;
663
+ }
659
664
  this.proxyModulesLoaded = true;
660
- // todo: possible sync alternatives: https://stackoverflow.com/questions/51069002/convert-import-to-synchronous
661
- this.httpProxyAgentModule = await import(/* webpackIgnore: true */ '../static_dependencies/proxies/http-proxy-agent/index.js');
662
- this.httpsProxyAgentModule = await import(/* webpackIgnore: true */ '../static_dependencies/proxies/https-proxy-agent/index.js');
665
+ // we have to handle it with below nested way, because of dynamic
666
+ // import issues (https://github.com/ccxt/ccxt/pull/20687)
667
+ try {
668
+ // todo: possible sync alternatives: https://stackoverflow.com/questions/51069002/convert-import-to-synchronous
669
+ this.httpProxyAgentModule = await import(/* webpackIgnore: true */ '../static_dependencies/proxies/http-proxy-agent/index.js');
670
+ this.httpsProxyAgentModule = await import(/* webpackIgnore: true */ '../static_dependencies/proxies/https-proxy-agent/index.js');
671
+ }
672
+ catch (e) {
673
+ // if several users are using those frameworks which cause exceptions,
674
+ // let them to be able to load modules still, by installing them
675
+ try {
676
+ // @ts-ignore
677
+ this.httpProxyAgentModule = await import(/* webpackIgnore: true */ 'http-proxy-agent');
678
+ // @ts-ignore
679
+ this.httpProxyAgentModule = await import(/* webpackIgnore: true */ 'https-proxy-agent');
680
+ }
681
+ catch { }
682
+ }
663
683
  if (this.socksProxyAgentModuleChecked === false) {
664
684
  this.socksProxyAgentModuleChecked = true;
665
685
  try {
@@ -751,11 +771,10 @@ export default class Exchange {
751
771
  // proxy agents
752
772
  const [httpProxy, httpsProxy, socksProxy] = this.checkProxySettings(url, method, headers, body);
753
773
  this.checkConflictingProxies(httpProxy || httpsProxy || socksProxy, proxyUrl);
774
+ // skip proxies on the browser
754
775
  if (isNode) {
755
- // skip this on the browser
756
- if (!this.proxyModulesLoaded) {
757
- await this.loadProxyModules(); // this is needed in JS, independently whether proxy properties were set or not, we have to load them because of necessity in WS, which would happen beyond 'fetch' method (WS/etc)
758
- }
776
+ // this is needed in JS, independently whether proxy properties were set or not, we have to load them because of necessity in WS, which would happen beyond 'fetch' method (WS/etc)
777
+ await this.loadProxyModules();
759
778
  }
760
779
  const chosenAgent = this.setProxyAgents(httpProxy, httpsProxy, socksProxy);
761
780
  // user-agent
@@ -777,13 +796,29 @@ export default class Exchange {
777
796
  // end of proxies & headers
778
797
  if (this.fetchImplementation === undefined) {
779
798
  if (isNode) {
780
- const module = await import(/* webpackIgnore: true */ '../static_dependencies/node-fetch/index.js');
781
799
  if (this.agent === undefined) {
782
800
  this.agent = this.httpsAgent;
783
801
  }
784
- this.AbortError = module.AbortError;
785
- this.fetchImplementation = module.default;
786
- this.FetchError = module.FetchError;
802
+ try {
803
+ const module = await import(/* webpackIgnore: true */ '../static_dependencies/node-fetch/index.js');
804
+ this.AbortError = module.AbortError;
805
+ this.fetchImplementation = module.default;
806
+ this.FetchError = module.FetchError;
807
+ }
808
+ catch (e) {
809
+ // some users having issues with dynamic imports (https://github.com/ccxt/ccxt/pull/20687)
810
+ // so let them to fallback to node's native fetch
811
+ if (typeof fetch === 'function') {
812
+ this.fetchImplementation = fetch;
813
+ // as it's browser-compatible implementation ( https://nodejs.org/dist/latest-v20.x/docs/api/globals.html#fetch )
814
+ // it throws same error types
815
+ this.AbortError = DOMException;
816
+ this.FetchError = TypeError;
817
+ }
818
+ else {
819
+ throw new Error('Seems, "fetch" function is not available in your node-js version, please use latest node-js version');
820
+ }
821
+ }
787
822
  }
788
823
  else {
789
824
  this.fetchImplementation = self.fetch;
@@ -3738,6 +3773,60 @@ export default class Exchange {
3738
3773
  async createOrder(symbol, type, side, amount, price = undefined, params = {}) {
3739
3774
  throw new NotSupported(this.id + ' createOrder() is not supported yet');
3740
3775
  }
3776
+ async createTrailingAmountOrder(symbol, type, side, amount, price = undefined, trailingAmount = undefined, trailingTriggerPrice = undefined, params = {}) {
3777
+ /**
3778
+ * @method
3779
+ * @name createTrailingAmountOrder
3780
+ * @description create a trailing order by providing the symbol, type, side, amount, price and trailingAmount
3781
+ * @param {string} symbol unified symbol of the market to create an order in
3782
+ * @param {string} type 'market' or 'limit'
3783
+ * @param {string} side 'buy' or 'sell'
3784
+ * @param {float} amount how much you want to trade in units of the base currency, or number of contracts
3785
+ * @param {float} [price] the price for the order to be filled at, in units of the quote currency, ignored in market orders
3786
+ * @param {float} trailingAmount the quote amount to trail away from the current market price
3787
+ * @param {float} [trailingTriggerPrice] the price to activate a trailing order, default uses the price argument
3788
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
3789
+ * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
3790
+ */
3791
+ if (trailingAmount === undefined) {
3792
+ throw new ArgumentsRequired(this.id + ' createTrailingAmountOrder() requires a trailingAmount argument');
3793
+ }
3794
+ params['trailingAmount'] = trailingAmount;
3795
+ if (trailingTriggerPrice !== undefined) {
3796
+ params['trailingTriggerPrice'] = trailingTriggerPrice;
3797
+ }
3798
+ if (this.has['createTrailingAmountOrder']) {
3799
+ return await this.createOrder(symbol, type, side, amount, price, params);
3800
+ }
3801
+ throw new NotSupported(this.id + ' createTrailingAmountOrder() is not supported yet');
3802
+ }
3803
+ async createTrailingPercentOrder(symbol, type, side, amount, price = undefined, trailingPercent = undefined, trailingTriggerPrice = undefined, params = {}) {
3804
+ /**
3805
+ * @method
3806
+ * @name createTrailingPercentOrder
3807
+ * @description create a trailing order by providing the symbol, type, side, amount, price and trailingPercent
3808
+ * @param {string} symbol unified symbol of the market to create an order in
3809
+ * @param {string} type 'market' or 'limit'
3810
+ * @param {string} side 'buy' or 'sell'
3811
+ * @param {float} amount how much you want to trade in units of the base currency, or number of contracts
3812
+ * @param {float} [price] the price for the order to be filled at, in units of the quote currency, ignored in market orders
3813
+ * @param {float} trailingPercent the percent to trail away from the current market price
3814
+ * @param {float} [trailingTriggerPrice] the price to activate a trailing order, default uses the price argument
3815
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
3816
+ * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
3817
+ */
3818
+ if (trailingPercent === undefined) {
3819
+ throw new ArgumentsRequired(this.id + ' createTrailingPercentOrder() requires a trailingPercent argument');
3820
+ }
3821
+ params['trailingPercent'] = trailingPercent;
3822
+ if (trailingTriggerPrice !== undefined) {
3823
+ params['trailingTriggerPrice'] = trailingTriggerPrice;
3824
+ }
3825
+ if (this.has['createTrailingPercentOrder']) {
3826
+ return await this.createOrder(symbol, type, side, amount, price, params);
3827
+ }
3828
+ throw new NotSupported(this.id + ' createTrailingPercentOrder() is not supported yet');
3829
+ }
3741
3830
  async createMarketOrderWithCost(symbol, side, cost, params = {}) {
3742
3831
  /**
3743
3832
  * @method
@@ -3898,7 +3987,7 @@ export default class Exchange {
3898
3987
  throw new NotSupported(this.id + ' fetchFundingHistory() is not supported yet');
3899
3988
  }
3900
3989
  async closePosition(symbol, side = undefined, params = {}) {
3901
- throw new NotSupported(this.id + ' closePositions() is not supported yet');
3990
+ throw new NotSupported(this.id + ' closePosition() is not supported yet');
3902
3991
  }
3903
3992
  async closeAllPositions(params = {}) {
3904
3993
  throw new NotSupported(this.id + ' closeAllPositions() is not supported yet');
@@ -7,13 +7,14 @@ 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>;
15
14
  fetchTime(params?: {}): Promise<number>;
16
15
  fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
16
+ parseContractBidsAsks(bidsAsks: any): any[];
17
+ parseContractOrderBook(orderbook: object, symbol: string, limit?: Int): OrderBook;
17
18
  parseTrade(trade: any, market?: Market): Trade;
18
19
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
19
20
  parseOHLCV(ohlcv: any, market?: Market): OHLCV;