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
@@ -0,0 +1,447 @@
1
+ 'use strict';
2
+
3
+ var bl3p$1 = require('./abstract/bl3p.js');
4
+ var Precise = require('./base/Precise.js');
5
+ var number = require('./base/functions/number.js');
6
+ var sha512 = require('./static_dependencies/noble-hashes/sha512.js');
7
+
8
+ // ---------------------------------------------------------------------------
9
+ // ---------------------------------------------------------------------------
10
+ /**
11
+ * @class bl3p
12
+ * @augments Exchange
13
+ */
14
+ class bl3p extends bl3p$1 {
15
+ describe() {
16
+ return this.deepExtend(super.describe(), {
17
+ 'id': 'bl3p',
18
+ 'name': 'BL3P',
19
+ 'countries': ['NL'],
20
+ 'rateLimit': 1000,
21
+ 'version': '1',
22
+ 'comment': 'An exchange market by BitonicNL',
23
+ 'pro': false,
24
+ 'has': {
25
+ 'CORS': undefined,
26
+ 'spot': true,
27
+ 'margin': false,
28
+ 'swap': false,
29
+ 'future': false,
30
+ 'option': false,
31
+ 'addMargin': false,
32
+ 'cancelOrder': true,
33
+ 'closeAllPositions': false,
34
+ 'closePosition': false,
35
+ 'createOrder': true,
36
+ 'createReduceOnlyOrder': false,
37
+ 'createStopLimitOrder': false,
38
+ 'createStopMarketOrder': false,
39
+ 'createStopOrder': false,
40
+ 'fetchBalance': true,
41
+ 'fetchBorrowRateHistories': false,
42
+ 'fetchBorrowRateHistory': false,
43
+ 'fetchCrossBorrowRate': false,
44
+ 'fetchCrossBorrowRates': false,
45
+ 'fetchFundingHistory': false,
46
+ 'fetchFundingRate': false,
47
+ 'fetchFundingRateHistory': false,
48
+ 'fetchFundingRates': false,
49
+ 'fetchIndexOHLCV': false,
50
+ 'fetchIsolatedBorrowRate': false,
51
+ 'fetchIsolatedBorrowRates': false,
52
+ 'fetchLeverage': false,
53
+ 'fetchMarginMode': false,
54
+ 'fetchMarkOHLCV': false,
55
+ 'fetchOpenInterestHistory': false,
56
+ 'fetchOrderBook': true,
57
+ 'fetchPosition': false,
58
+ 'fetchPositionMode': false,
59
+ 'fetchPositions': false,
60
+ 'fetchPositionsRisk': false,
61
+ 'fetchPremiumIndexOHLCV': false,
62
+ 'fetchTicker': true,
63
+ 'fetchTrades': true,
64
+ 'fetchTradingFee': false,
65
+ 'fetchTradingFees': true,
66
+ 'fetchTransfer': false,
67
+ 'fetchTransfers': false,
68
+ 'reduceMargin': false,
69
+ 'setLeverage': false,
70
+ 'setMarginMode': false,
71
+ 'setPositionMode': false,
72
+ 'transfer': false,
73
+ 'ws': false,
74
+ },
75
+ 'urls': {
76
+ 'logo': 'https://user-images.githubusercontent.com/1294454/28501752-60c21b82-6feb-11e7-818b-055ee6d0e754.jpg',
77
+ 'api': {
78
+ 'rest': 'https://api.bl3p.eu',
79
+ },
80
+ 'www': 'https://bl3p.eu',
81
+ 'doc': [
82
+ 'https://github.com/BitonicNL/bl3p-api/tree/master/docs',
83
+ 'https://bl3p.eu/api',
84
+ 'https://bitonic.nl/en/api',
85
+ ],
86
+ },
87
+ 'api': {
88
+ 'public': {
89
+ 'get': [
90
+ '{market}/ticker',
91
+ '{market}/orderbook',
92
+ '{market}/trades',
93
+ ],
94
+ },
95
+ 'private': {
96
+ 'post': [
97
+ '{market}/money/depth/full',
98
+ '{market}/money/order/add',
99
+ '{market}/money/order/cancel',
100
+ '{market}/money/order/result',
101
+ '{market}/money/orders',
102
+ '{market}/money/orders/history',
103
+ '{market}/money/trades/fetch',
104
+ 'GENMKT/money/info',
105
+ 'GENMKT/money/deposit_address',
106
+ 'GENMKT/money/new_deposit_address',
107
+ 'GENMKT/money/wallet/history',
108
+ 'GENMKT/money/withdraw',
109
+ ],
110
+ },
111
+ },
112
+ 'markets': {
113
+ 'BTC/EUR': this.safeMarketStructure({ 'id': 'BTCEUR', 'symbol': 'BTC/EUR', 'base': 'BTC', 'quote': 'EUR', 'baseId': 'BTC', 'quoteId': 'EUR', 'maker': 0.0025, 'taker': 0.0025, 'type': 'spot', 'spot': true }),
114
+ },
115
+ 'precisionMode': number.TICK_SIZE,
116
+ });
117
+ }
118
+ parseBalance(response) {
119
+ const data = this.safeValue(response, 'data', {});
120
+ const wallets = this.safeValue(data, 'wallets', {});
121
+ const result = { 'info': data };
122
+ const codes = Object.keys(this.currencies);
123
+ for (let i = 0; i < codes.length; i++) {
124
+ const code = codes[i];
125
+ const currency = this.currency(code);
126
+ const currencyId = currency['id'];
127
+ const wallet = this.safeValue(wallets, currencyId, {});
128
+ const available = this.safeValue(wallet, 'available', {});
129
+ const balance = this.safeValue(wallet, 'balance', {});
130
+ const account = this.account();
131
+ account['free'] = this.safeString(available, 'value');
132
+ account['total'] = this.safeString(balance, 'value');
133
+ result[code] = account;
134
+ }
135
+ return this.safeBalance(result);
136
+ }
137
+ async fetchBalance(params = {}) {
138
+ /**
139
+ * @method
140
+ * @name bl3p#fetchBalance
141
+ * @description query for balance and get the amount of funds available for trading or funds locked in orders
142
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
143
+ * @returns {object} a [balance structure]{@link https://docs.ccxt.com/#/?id=balance-structure}
144
+ */
145
+ await this.loadMarkets();
146
+ const response = await this.privatePostGENMKTMoneyInfo(params);
147
+ return this.parseBalance(response);
148
+ }
149
+ parseBidAsk(bidask, priceKey = 0, amountKey = 1, countOrIdKey = 2) {
150
+ const price = this.safeString(bidask, priceKey);
151
+ const size = this.safeString(bidask, amountKey);
152
+ return [
153
+ this.parseNumber(Precise["default"].stringDiv(price, '100000.0')),
154
+ this.parseNumber(Precise["default"].stringDiv(size, '100000000.0')),
155
+ ];
156
+ }
157
+ async fetchOrderBook(symbol, limit = undefined, params = {}) {
158
+ /**
159
+ * @method
160
+ * @name bl3p#fetchOrderBook
161
+ * @description fetches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
162
+ * @param {string} symbol unified symbol of the market to fetch the order book for
163
+ * @param {int} [limit] the maximum amount of order book entries to return
164
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
165
+ * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
166
+ */
167
+ const market = this.market(symbol);
168
+ const request = {
169
+ 'market': market['id'],
170
+ };
171
+ const response = await this.publicGetMarketOrderbook(this.extend(request, params));
172
+ const orderbook = this.safeValue(response, 'data');
173
+ return this.parseOrderBook(orderbook, market['symbol'], undefined, 'bids', 'asks', 'price_int', 'amount_int');
174
+ }
175
+ parseTicker(ticker, market = undefined) {
176
+ //
177
+ // {
178
+ // "currency":"BTC",
179
+ // "last":32654.55595,
180
+ // "bid":32552.3642,
181
+ // "ask":32703.58231,
182
+ // "high":33500,
183
+ // "low":31943,
184
+ // "timestamp":1643372789,
185
+ // "volume":{
186
+ // "24h":2.27372413,
187
+ // "30d":320.79375456
188
+ // }
189
+ // }
190
+ //
191
+ const symbol = this.safeSymbol(undefined, market);
192
+ const timestamp = this.safeTimestamp(ticker, 'timestamp');
193
+ const last = this.safeString(ticker, 'last');
194
+ const volume = this.safeValue(ticker, 'volume', {});
195
+ return this.safeTicker({
196
+ 'symbol': symbol,
197
+ 'timestamp': timestamp,
198
+ 'datetime': this.iso8601(timestamp),
199
+ 'high': this.safeString(ticker, 'high'),
200
+ 'low': this.safeString(ticker, 'low'),
201
+ 'bid': this.safeString(ticker, 'bid'),
202
+ 'bidVolume': undefined,
203
+ 'ask': this.safeString(ticker, 'ask'),
204
+ 'askVolume': undefined,
205
+ 'vwap': undefined,
206
+ 'open': undefined,
207
+ 'close': last,
208
+ 'last': last,
209
+ 'previousClose': undefined,
210
+ 'change': undefined,
211
+ 'percentage': undefined,
212
+ 'average': undefined,
213
+ 'baseVolume': this.safeString(volume, '24h'),
214
+ 'quoteVolume': undefined,
215
+ 'info': ticker,
216
+ }, market);
217
+ }
218
+ async fetchTicker(symbol, params = {}) {
219
+ /**
220
+ * @method
221
+ * @name bl3p#fetchTicker
222
+ * @description fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
223
+ * @param {string} symbol unified symbol of the market to fetch the ticker for
224
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
225
+ * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
226
+ */
227
+ const market = this.market(symbol);
228
+ const request = {
229
+ 'market': market['id'],
230
+ };
231
+ const ticker = await this.publicGetMarketTicker(this.extend(request, params));
232
+ //
233
+ // {
234
+ // "currency":"BTC",
235
+ // "last":32654.55595,
236
+ // "bid":32552.3642,
237
+ // "ask":32703.58231,
238
+ // "high":33500,
239
+ // "low":31943,
240
+ // "timestamp":1643372789,
241
+ // "volume":{
242
+ // "24h":2.27372413,
243
+ // "30d":320.79375456
244
+ // }
245
+ // }
246
+ //
247
+ return this.parseTicker(ticker, market);
248
+ }
249
+ parseTrade(trade, market = undefined) {
250
+ //
251
+ // fetchTrades
252
+ //
253
+ // {
254
+ // "trade_id": "2518789",
255
+ // "date": "1694348697745",
256
+ // "amount_int": "2959153",
257
+ // "price_int": "2416231440"
258
+ // }
259
+ //
260
+ const id = this.safeString(trade, 'trade_id');
261
+ const timestamp = this.safeInteger(trade, 'date');
262
+ const price = this.safeString(trade, 'price_int');
263
+ const amount = this.safeString(trade, 'amount_int');
264
+ market = this.safeMarket(undefined, market);
265
+ return this.safeTrade({
266
+ 'id': id,
267
+ 'info': trade,
268
+ 'timestamp': timestamp,
269
+ 'datetime': this.iso8601(timestamp),
270
+ 'symbol': market['symbol'],
271
+ 'type': undefined,
272
+ 'side': undefined,
273
+ 'order': undefined,
274
+ 'takerOrMaker': undefined,
275
+ 'price': Precise["default"].stringDiv(price, '100000'),
276
+ 'amount': Precise["default"].stringDiv(amount, '100000000'),
277
+ 'cost': undefined,
278
+ 'fee': undefined,
279
+ }, market);
280
+ }
281
+ async fetchTrades(symbol, since = undefined, limit = undefined, params = {}) {
282
+ /**
283
+ * @method
284
+ * @name bl3p#fetchTrades
285
+ * @description get the list of most recent trades for a particular symbol
286
+ * @param {string} symbol unified symbol of the market to fetch trades for
287
+ * @param {int} [since] timestamp in ms of the earliest trade to fetch
288
+ * @param {int} [limit] the maximum amount of trades to fetch
289
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
290
+ * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=public-trades}
291
+ */
292
+ const market = this.market(symbol);
293
+ const response = await this.publicGetMarketTrades(this.extend({
294
+ 'market': market['id'],
295
+ }, params));
296
+ //
297
+ // {
298
+ // "result": "success",
299
+ // "data": {
300
+ // "trades": [
301
+ // {
302
+ // "trade_id": "2518789",
303
+ // "date": "1694348697745",
304
+ // "amount_int": "2959153",
305
+ // "price_int": "2416231440"
306
+ // },
307
+ // ]
308
+ // }
309
+ // }
310
+ const result = this.parseTrades(response['data']['trades'], market, since, limit);
311
+ return result;
312
+ }
313
+ async fetchTradingFees(params = {}) {
314
+ /**
315
+ * @method
316
+ * @name bl3p#fetchTradingFees
317
+ * @description fetch the trading fees for multiple markets
318
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
319
+ * @returns {object} a dictionary of [fee structures]{@link https://docs.ccxt.com/#/?id=fee-structure} indexed by market symbols
320
+ */
321
+ await this.loadMarkets();
322
+ const response = await this.privatePostGENMKTMoneyInfo(params);
323
+ //
324
+ // {
325
+ // "result": "success",
326
+ // "data": {
327
+ // "user_id": "13396",
328
+ // "wallets": {
329
+ // "BTC": {
330
+ // "balance": {
331
+ // "value_int": "0",
332
+ // "display": "0.00000000 BTC",
333
+ // "currency": "BTC",
334
+ // "value": "0.00000000",
335
+ // "display_short": "0.00 BTC"
336
+ // },
337
+ // "available": {
338
+ // "value_int": "0",
339
+ // "display": "0.00000000 BTC",
340
+ // "currency": "BTC",
341
+ // "value": "0.00000000",
342
+ // "display_short": "0.00 BTC"
343
+ // }
344
+ // },
345
+ // ...
346
+ // },
347
+ // "trade_fee": "0.25"
348
+ // }
349
+ // }
350
+ //
351
+ const data = this.safeValue(response, 'data', {});
352
+ const feeString = this.safeString(data, 'trade_fee');
353
+ const fee = this.parseNumber(Precise["default"].stringDiv(feeString, '100'));
354
+ const result = {};
355
+ for (let i = 0; i < this.symbols.length; i++) {
356
+ const symbol = this.symbols[i];
357
+ result[symbol] = {
358
+ 'info': data,
359
+ 'symbol': symbol,
360
+ 'maker': fee,
361
+ 'taker': fee,
362
+ 'percentage': true,
363
+ 'tierBased': false,
364
+ };
365
+ }
366
+ return result;
367
+ }
368
+ async createOrder(symbol, type, side, amount, price = undefined, params = {}) {
369
+ /**
370
+ * @method
371
+ * @name bl3p#createOrder
372
+ * @description create a trade order
373
+ * @see https://github.com/BitonicNL/bl3p-api/blob/master/examples/nodejs/example.md#21---create-an-order
374
+ * @param {string} symbol unified symbol of the market to create an order in
375
+ * @param {string} type 'market' or 'limit'
376
+ * @param {string} side 'buy' or 'sell'
377
+ * @param {float} amount how much of currency you want to trade in units of base currency
378
+ * @param {float} [price] the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
379
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
380
+ *
381
+ * EXCHANGE SPECIFIC PARAMETERS
382
+ * @param {int} [params.amount_funds] maximal EUR amount to spend (*1e5)
383
+ * @param {string} [params.fee_currency] 'EUR' or 'BTC'
384
+ * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
385
+ */
386
+ const market = this.market(symbol);
387
+ const amountString = this.numberToString(amount);
388
+ const priceString = this.numberToString(price);
389
+ const order = {
390
+ 'market': market['id'],
391
+ 'amount_int': parseInt(Precise["default"].stringMul(amountString, '100000000')),
392
+ 'fee_currency': market['quote'],
393
+ 'type': (side === 'buy') ? 'bid' : 'ask',
394
+ };
395
+ if (type === 'limit') {
396
+ order['price_int'] = parseInt(Precise["default"].stringMul(priceString, '100000.0'));
397
+ }
398
+ const response = await this.privatePostMarketMoneyOrderAdd(this.extend(order, params));
399
+ const orderId = this.safeString(response['data'], 'order_id');
400
+ return this.safeOrder({
401
+ 'info': response,
402
+ 'id': orderId,
403
+ }, market);
404
+ }
405
+ async cancelOrder(id, symbol = undefined, params = {}) {
406
+ /**
407
+ * @method
408
+ * @name bl3p#cancelOrder
409
+ * @description cancels an open order
410
+ * @param {string} id order id
411
+ * @param {string} symbol unified symbol of the market the order was made in
412
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
413
+ * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
414
+ */
415
+ const request = {
416
+ 'order_id': id,
417
+ };
418
+ return await this.privatePostMarketMoneyOrderCancel(this.extend(request, params));
419
+ }
420
+ sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
421
+ const request = this.implodeParams(path, params);
422
+ let url = this.urls['api']['rest'] + '/' + this.version + '/' + request;
423
+ const query = this.omit(params, this.extractParams(path));
424
+ if (api === 'public') {
425
+ if (Object.keys(query).length) {
426
+ url += '?' + this.urlencode(query);
427
+ }
428
+ }
429
+ else {
430
+ this.checkRequiredCredentials();
431
+ const nonce = this.nonce();
432
+ body = this.urlencode(this.extend({ 'nonce': nonce }, query));
433
+ const secret = this.base64ToBinary(this.secret);
434
+ // eslint-disable-next-line quotes
435
+ const auth = request + "\0" + body;
436
+ const signature = this.hmac(this.encode(auth), secret, sha512.sha512, 'base64');
437
+ headers = {
438
+ 'Content-Type': 'application/x-www-form-urlencoded',
439
+ 'Rest-Key': this.apiKey,
440
+ 'Rest-Sign': signature,
441
+ };
442
+ }
443
+ return { 'url': url, 'method': method, 'body': body, 'headers': headers };
444
+ }
445
+ }
446
+
447
+ module.exports = bl3p;