ccxt 4.2.11 → 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 (375) hide show
  1. package/README.md +5 -5
  2. package/build.sh +2 -2
  3. package/dist/ccxt.browser.js +640 -261
  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/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/bybit.d.ts +1 -0
  336. package/js/src/abstract/gate.d.ts +11 -0
  337. package/js/src/abstract/gateio.d.ts +11 -0
  338. package/js/src/alpaca.js +18 -18
  339. package/js/src/base/Exchange.d.ts +5 -1
  340. package/js/src/base/Exchange.js +101 -12
  341. package/js/src/bigone.d.ts +1 -2
  342. package/js/src/bigone.js +340 -145
  343. package/js/src/binance.js +15 -8
  344. package/js/src/bingx.js +9 -2
  345. package/js/src/bitfinex.d.ts +2 -2
  346. package/js/src/bitfinex.js +2 -3
  347. package/js/src/bitget.js +21 -8
  348. package/js/src/bitmart.d.ts +2 -2
  349. package/js/src/bitmart.js +3 -3
  350. package/js/src/bitmex.js +1 -0
  351. package/js/src/bybit.js +2 -0
  352. package/js/src/coinlist.js +2 -3
  353. package/js/src/coinsph.js +2 -3
  354. package/js/src/deribit.js +1 -0
  355. package/js/src/gate.d.ts +4 -4
  356. package/js/src/gate.js +22 -3
  357. package/js/src/hitbtc.d.ts +4 -4
  358. package/js/src/hitbtc.js +2 -3
  359. package/js/src/htx.js +4 -7
  360. package/js/src/huobijp.js +2 -3
  361. package/js/src/kraken.js +1 -0
  362. package/js/src/mexc.js +2 -1
  363. package/js/src/okx.js +13 -3
  364. package/js/src/pro/binance.d.ts +2 -23
  365. package/js/src/pro/binance.js +58 -22
  366. package/js/src/pro/coinbase.d.ts +2 -2
  367. package/js/src/pro/coinbase.js +4 -1
  368. package/js/src/pro/coinbasepro.d.ts +2 -2
  369. package/js/src/pro/hitbtc.d.ts +2 -2
  370. package/js/src/pro/poloniex.d.ts +2 -2
  371. package/js/src/upbit.d.ts +3 -101
  372. package/js/src/upbit.js +12 -12
  373. package/js/src/woo.js +2 -0
  374. package/package.json +1 -1
  375. package/skip-tests.json +5 -0
@@ -0,0 +1,308 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var base64$1 = require('./lib/jsbn/base64.js');
6
+ var hex = require('./lib/asn1js/hex.js');
7
+ var base64 = require('./lib/asn1js/base64.js');
8
+ var asn1 = require('./lib/asn1js/asn1.js');
9
+ var rsa = require('./lib/jsbn/rsa.js');
10
+ var jsbn = require('./lib/jsbn/jsbn.js');
11
+ var asn11_0 = require('./lib/jsrsasign/asn1-1.0.js');
12
+
13
+ /**
14
+ * Create a new JSEncryptRSAKey that extends Tom Wu's RSA key object.
15
+ * This object is just a decorator for parsing the key parameter
16
+ * @param {string|Object} key - The key in string format, or an object containing
17
+ * the parameters needed to build a RSAKey object.
18
+ * @constructor
19
+ */
20
+ class JSEncryptRSAKey extends rsa.RSAKey {
21
+ constructor(key) {
22
+ super();
23
+ // Call the super constructor.
24
+ // RSAKey.call(this);
25
+ // If a key key was provided.
26
+ if (key) {
27
+ // If this is a string...
28
+ if (typeof key === "string") {
29
+ this.parseKey(key);
30
+ }
31
+ else if (JSEncryptRSAKey.hasPrivateKeyProperty(key) ||
32
+ JSEncryptRSAKey.hasPublicKeyProperty(key)) {
33
+ // Set the values for the key.
34
+ this.parsePropertiesFrom(key);
35
+ }
36
+ }
37
+ }
38
+ /**
39
+ * Method to parse a pem encoded string containing both a public or private key.
40
+ * The method will translate the pem encoded string in a der encoded string and
41
+ * will parse private key and public key parameters. This method accepts public key
42
+ * in the rsaencryption pkcs #1 format (oid: 1.2.840.113549.1.1.1).
43
+ *
44
+ * @todo Check how many rsa formats use the same format of pkcs #1.
45
+ *
46
+ * The format is defined as:
47
+ * PublicKeyInfo ::= SEQUENCE {
48
+ * algorithm AlgorithmIdentifier,
49
+ * PublicKey BIT STRING
50
+ * }
51
+ * Where AlgorithmIdentifier is:
52
+ * AlgorithmIdentifier ::= SEQUENCE {
53
+ * algorithm OBJECT IDENTIFIER, the OID of the enc algorithm
54
+ * parameters ANY DEFINED BY algorithm OPTIONAL (NULL for PKCS #1)
55
+ * }
56
+ * and PublicKey is a SEQUENCE encapsulated in a BIT STRING
57
+ * RSAPublicKey ::= SEQUENCE {
58
+ * modulus INTEGER, -- n
59
+ * publicExponent INTEGER -- e
60
+ * }
61
+ * it's possible to examine the structure of the keys obtained from openssl using
62
+ * an asn.1 dumper as the one used here to parse the components: http://lapo.it/asn1js/
63
+ * @argument {string} pem the pem encoded string, can include the BEGIN/END header/footer
64
+ * @private
65
+ */
66
+ parseKey(pem) {
67
+ try {
68
+ let modulus = 0;
69
+ let public_exponent = 0;
70
+ const reHex = /^\s*(?:[0-9A-Fa-f][0-9A-Fa-f]\s*)+$/;
71
+ const der = reHex.test(pem) ? hex.Hex.decode(pem) : base64.Base64.unarmor(pem);
72
+ let asn1$1 = asn1.ASN1.decode(der);
73
+ // Fixes a bug with OpenSSL 1.0+ private keys
74
+ if (asn1$1.sub.length === 3) {
75
+ asn1$1 = asn1$1.sub[2].sub[0];
76
+ }
77
+ if (asn1$1.sub.length === 9) {
78
+ // Parse the private key.
79
+ modulus = asn1$1.sub[1].getHexStringValue(); // bigint
80
+ this.n = jsbn.parseBigInt(modulus, 16);
81
+ public_exponent = asn1$1.sub[2].getHexStringValue(); // int
82
+ this.e = parseInt(public_exponent, 16);
83
+ const private_exponent = asn1$1.sub[3].getHexStringValue(); // bigint
84
+ this.d = jsbn.parseBigInt(private_exponent, 16);
85
+ const prime1 = asn1$1.sub[4].getHexStringValue(); // bigint
86
+ this.p = jsbn.parseBigInt(prime1, 16);
87
+ const prime2 = asn1$1.sub[5].getHexStringValue(); // bigint
88
+ this.q = jsbn.parseBigInt(prime2, 16);
89
+ const exponent1 = asn1$1.sub[6].getHexStringValue(); // bigint
90
+ this.dmp1 = jsbn.parseBigInt(exponent1, 16);
91
+ const exponent2 = asn1$1.sub[7].getHexStringValue(); // bigint
92
+ this.dmq1 = jsbn.parseBigInt(exponent2, 16);
93
+ const coefficient = asn1$1.sub[8].getHexStringValue(); // bigint
94
+ this.coeff = jsbn.parseBigInt(coefficient, 16);
95
+ }
96
+ else if (asn1$1.sub.length === 2) {
97
+ if (asn1$1.sub[0].sub) {
98
+ // Parse ASN.1 SubjectPublicKeyInfo type as defined by X.509
99
+ var bit_string = asn1$1.sub[1];
100
+ var sequence = bit_string.sub[0];
101
+ modulus = sequence.sub[0].getHexStringValue();
102
+ this.n = jsbn.parseBigInt(modulus, 16);
103
+ public_exponent = sequence.sub[1].getHexStringValue();
104
+ this.e = parseInt(public_exponent, 16);
105
+ }
106
+ else {
107
+ // Parse ASN.1 RSAPublicKey type as defined by PKCS #1
108
+ modulus = asn1$1.sub[0].getHexStringValue();
109
+ this.n = jsbn.parseBigInt(modulus, 16);
110
+ public_exponent = asn1$1.sub[1].getHexStringValue();
111
+ this.e = parseInt(public_exponent, 16);
112
+ }
113
+ }
114
+ else {
115
+ return false;
116
+ }
117
+ return true;
118
+ }
119
+ catch (ex) {
120
+ return false;
121
+ }
122
+ }
123
+ /**
124
+ * Translate rsa parameters in a hex encoded string representing the rsa key.
125
+ *
126
+ * The translation follow the ASN.1 notation :
127
+ * RSAPrivateKey ::= SEQUENCE {
128
+ * version Version,
129
+ * modulus INTEGER, -- n
130
+ * publicExponent INTEGER, -- e
131
+ * privateExponent INTEGER, -- d
132
+ * prime1 INTEGER, -- p
133
+ * prime2 INTEGER, -- q
134
+ * exponent1 INTEGER, -- d mod (p1)
135
+ * exponent2 INTEGER, -- d mod (q-1)
136
+ * coefficient INTEGER, -- (inverse of q) mod p
137
+ * }
138
+ * @returns {string} DER Encoded String representing the rsa private key
139
+ * @private
140
+ */
141
+ getPrivateBaseKey() {
142
+ const options = {
143
+ array: [
144
+ new asn11_0.KJUR.asn1.DERInteger({ int: 0 }),
145
+ new asn11_0.KJUR.asn1.DERInteger({ bigint: this.n }),
146
+ new asn11_0.KJUR.asn1.DERInteger({ int: this.e }),
147
+ new asn11_0.KJUR.asn1.DERInteger({ bigint: this.d }),
148
+ new asn11_0.KJUR.asn1.DERInteger({ bigint: this.p }),
149
+ new asn11_0.KJUR.asn1.DERInteger({ bigint: this.q }),
150
+ new asn11_0.KJUR.asn1.DERInteger({ bigint: this.dmp1 }),
151
+ new asn11_0.KJUR.asn1.DERInteger({ bigint: this.dmq1 }),
152
+ new asn11_0.KJUR.asn1.DERInteger({ bigint: this.coeff }),
153
+ ],
154
+ };
155
+ const seq = new asn11_0.KJUR.asn1.DERSequence(options);
156
+ return seq.getEncodedHex();
157
+ }
158
+ /**
159
+ * base64 (pem) encoded version of the DER encoded representation
160
+ * @returns {string} pem encoded representation without header and footer
161
+ * @public
162
+ */
163
+ getPrivateBaseKeyB64() {
164
+ return base64$1.hex2b64(this.getPrivateBaseKey());
165
+ }
166
+ /**
167
+ * Translate rsa parameters in a hex encoded string representing the rsa public key.
168
+ * The representation follow the ASN.1 notation :
169
+ * PublicKeyInfo ::= SEQUENCE {
170
+ * algorithm AlgorithmIdentifier,
171
+ * PublicKey BIT STRING
172
+ * }
173
+ * Where AlgorithmIdentifier is:
174
+ * AlgorithmIdentifier ::= SEQUENCE {
175
+ * algorithm OBJECT IDENTIFIER, the OID of the enc algorithm
176
+ * parameters ANY DEFINED BY algorithm OPTIONAL (NULL for PKCS #1)
177
+ * }
178
+ * and PublicKey is a SEQUENCE encapsulated in a BIT STRING
179
+ * RSAPublicKey ::= SEQUENCE {
180
+ * modulus INTEGER, -- n
181
+ * publicExponent INTEGER -- e
182
+ * }
183
+ * @returns {string} DER Encoded String representing the rsa public key
184
+ * @private
185
+ */
186
+ getPublicBaseKey() {
187
+ const first_sequence = new asn11_0.KJUR.asn1.DERSequence({
188
+ array: [
189
+ new asn11_0.KJUR.asn1.DERObjectIdentifier({ oid: "1.2.840.113549.1.1.1" }),
190
+ new asn11_0.KJUR.asn1.DERNull(),
191
+ ],
192
+ });
193
+ const second_sequence = new asn11_0.KJUR.asn1.DERSequence({
194
+ array: [
195
+ new asn11_0.KJUR.asn1.DERInteger({ bigint: this.n }),
196
+ new asn11_0.KJUR.asn1.DERInteger({ int: this.e }),
197
+ ],
198
+ });
199
+ const bit_string = new asn11_0.KJUR.asn1.DERBitString({
200
+ hex: "00" + second_sequence.getEncodedHex(),
201
+ });
202
+ const seq = new asn11_0.KJUR.asn1.DERSequence({
203
+ array: [first_sequence, bit_string],
204
+ });
205
+ return seq.getEncodedHex();
206
+ }
207
+ /**
208
+ * base64 (pem) encoded version of the DER encoded representation
209
+ * @returns {string} pem encoded representation without header and footer
210
+ * @public
211
+ */
212
+ getPublicBaseKeyB64() {
213
+ return base64$1.hex2b64(this.getPublicBaseKey());
214
+ }
215
+ /**
216
+ * wrap the string in block of width chars. The default value for rsa keys is 64
217
+ * characters.
218
+ * @param {string} str the pem encoded string without header and footer
219
+ * @param {Number} [width=64] - the length the string has to be wrapped at
220
+ * @returns {string}
221
+ * @private
222
+ */
223
+ static wordwrap(str, width) {
224
+ width = width || 64;
225
+ if (!str) {
226
+ return str;
227
+ }
228
+ const regex = "(.{1," + width + "})( +|$\n?)|(.{1," + width + "})";
229
+ return str.match(RegExp(regex, "g")).join("\n");
230
+ }
231
+ /**
232
+ * Retrieve the pem encoded private key
233
+ * @returns {string} the pem encoded private key with header/footer
234
+ * @public
235
+ */
236
+ getPrivateKey() {
237
+ let key = "-----BEGIN RSA PRIVATE KEY-----\n";
238
+ key += JSEncryptRSAKey.wordwrap(this.getPrivateBaseKeyB64()) + "\n";
239
+ key += "-----END RSA PRIVATE KEY-----";
240
+ return key;
241
+ }
242
+ /**
243
+ * Retrieve the pem encoded public key
244
+ * @returns {string} the pem encoded public key with header/footer
245
+ * @public
246
+ */
247
+ getPublicKey() {
248
+ let key = "-----BEGIN PUBLIC KEY-----\n";
249
+ key += JSEncryptRSAKey.wordwrap(this.getPublicBaseKeyB64()) + "\n";
250
+ key += "-----END PUBLIC KEY-----";
251
+ return key;
252
+ }
253
+ /**
254
+ * Check if the object contains the necessary parameters to populate the rsa modulus
255
+ * and public exponent parameters.
256
+ * @param {object} [obj={}] - An object that may contain the two public key
257
+ * parameters
258
+ * @returns {boolean} true if the object contains both the modulus and the public exponent
259
+ * properties (n and e)
260
+ * @todo check for types of n and e. N should be a parseable bigInt object, E should
261
+ * be a parseable integer number
262
+ * @private
263
+ */
264
+ static hasPublicKeyProperty(obj) {
265
+ obj = obj || {};
266
+ return obj.hasOwnProperty("n") && obj.hasOwnProperty("e");
267
+ }
268
+ /**
269
+ * Check if the object contains ALL the parameters of an RSA key.
270
+ * @param {object} [obj={}] - An object that may contain nine rsa key
271
+ * parameters
272
+ * @returns {boolean} true if the object contains all the parameters needed
273
+ * @todo check for types of the parameters all the parameters but the public exponent
274
+ * should be parseable bigint objects, the public exponent should be a parseable integer number
275
+ * @private
276
+ */
277
+ static hasPrivateKeyProperty(obj) {
278
+ obj = obj || {};
279
+ return (obj.hasOwnProperty("n") &&
280
+ obj.hasOwnProperty("e") &&
281
+ obj.hasOwnProperty("d") &&
282
+ obj.hasOwnProperty("p") &&
283
+ obj.hasOwnProperty("q") &&
284
+ obj.hasOwnProperty("dmp1") &&
285
+ obj.hasOwnProperty("dmq1") &&
286
+ obj.hasOwnProperty("coeff"));
287
+ }
288
+ /**
289
+ * Parse the properties of obj in the current rsa object. Obj should AT LEAST
290
+ * include the modulus and public exponent (n, e) parameters.
291
+ * @param {object} obj - the object containing rsa parameters
292
+ * @private
293
+ */
294
+ parsePropertiesFrom(obj) {
295
+ this.n = obj.n;
296
+ this.e = obj.e;
297
+ if (obj.hasOwnProperty("d")) {
298
+ this.d = obj.d;
299
+ this.p = obj.p;
300
+ this.q = obj.q;
301
+ this.dmp1 = obj.dmp1;
302
+ this.dmq1 = obj.dmq1;
303
+ this.coeff = obj.coeff;
304
+ }
305
+ }
306
+ }
307
+
308
+ exports.JSEncryptRSAKey = JSEncryptRSAKey;