ccxt 4.2.17 → 4.2.19

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 (439) hide show
  1. package/README.md +9 -9
  2. package/dist/ccxt.browser.js +48992 -47725
  3. package/dist/ccxt.browser.min.js +3 -3
  4. package/dist/cjs/ccxt.js +12 -1
  5. package/dist/cjs/src/alpaca.js +18 -18
  6. package/dist/cjs/src/ascendex.js +13 -6
  7. package/dist/cjs/src/base/Exchange.js +266 -27
  8. package/dist/cjs/src/bigone.js +434 -168
  9. package/dist/cjs/src/binance.js +163 -34
  10. package/dist/cjs/src/binanceus.js +8 -0
  11. package/dist/cjs/src/bingx.js +183 -41
  12. package/dist/cjs/src/bitfinex.js +2 -3
  13. package/dist/cjs/src/bitget.js +59 -16
  14. package/dist/cjs/src/bitmart.js +5 -5
  15. package/dist/cjs/src/bitmex.js +4 -6
  16. package/dist/cjs/src/bitpanda.js +5 -1991
  17. package/dist/cjs/src/bitstamp.js +8 -0
  18. package/dist/cjs/src/bybit.js +27 -47
  19. package/dist/cjs/src/coinbase.js +176 -26
  20. package/dist/cjs/src/coincheck.js +1 -0
  21. package/dist/cjs/src/coinex.js +3 -0
  22. package/dist/cjs/src/coinlist.js +13 -6
  23. package/dist/cjs/src/coinone.js +2 -2
  24. package/dist/cjs/src/coinsph.js +4 -5
  25. package/dist/cjs/src/delta.js +7 -1
  26. package/dist/cjs/src/deribit.js +17 -4
  27. package/dist/cjs/src/gate.js +151 -169
  28. package/dist/cjs/src/gemini.js +1 -1
  29. package/dist/cjs/src/hitbtc.js +2 -3
  30. package/dist/cjs/src/htx.js +157 -7
  31. package/dist/cjs/src/huobijp.js +2 -3
  32. package/dist/cjs/src/independentreserve.js +7 -5
  33. package/dist/cjs/src/kraken.js +86 -54
  34. package/dist/cjs/src/kucoin.js +5 -0
  35. package/dist/cjs/src/kucoinfutures.js +131 -77
  36. package/dist/cjs/src/lbank.js +60 -33
  37. package/dist/cjs/src/luno.js +84 -2
  38. package/dist/cjs/src/mexc.js +3 -3
  39. package/dist/cjs/src/oceanex.js +1 -1
  40. package/dist/cjs/src/okx.js +23 -11
  41. package/dist/cjs/{js/src/bitpanda.js → src/onetrading.js} +39 -39
  42. package/dist/cjs/src/phemex.js +37 -27
  43. package/dist/cjs/src/poloniexfutures.js +1 -0
  44. package/dist/cjs/src/pro/binance.js +66 -25
  45. package/dist/cjs/src/pro/bitget.js +1 -1
  46. package/dist/cjs/src/pro/bitpanda.js +5 -1330
  47. package/dist/cjs/src/pro/coinbase.js +4 -1
  48. package/dist/cjs/src/pro/coincheck.js +208 -0
  49. package/dist/cjs/src/pro/hitbtc.js +5 -4
  50. package/dist/cjs/src/pro/htx.js +6 -1
  51. package/dist/cjs/src/pro/kraken.js +1 -1
  52. package/dist/cjs/src/pro/krakenfutures.js +7 -1
  53. package/dist/cjs/src/pro/kucoin.js +46 -36
  54. package/dist/cjs/src/pro/kucoinfutures.js +45 -37
  55. package/dist/cjs/src/pro/lbank.js +881 -0
  56. package/dist/cjs/src/pro/okx.js +52 -2
  57. package/dist/cjs/{js/src/pro/bitpanda.js → src/pro/onetrading.js} +4 -7
  58. package/dist/cjs/src/pro/poloniex.js +2 -2
  59. package/dist/cjs/src/pro/poloniexfutures.js +43 -35
  60. package/dist/cjs/src/pro/woo.js +126 -0
  61. package/dist/cjs/src/probit.js +4 -2
  62. package/dist/cjs/src/upbit.js +12 -12
  63. package/dist/cjs/src/wavesexchange.js +1 -1
  64. package/dist/cjs/src/whitebit.js +1 -0
  65. package/dist/cjs/src/woo.js +56 -0
  66. package/js/ccxt.d.ts +14 -2
  67. package/js/ccxt.js +10 -2
  68. package/js/src/abstract/bitpanda.d.ts +4 -4
  69. package/js/src/abstract/bitstamp.d.ts +8 -0
  70. package/js/src/abstract/gate.d.ts +1 -0
  71. package/js/src/abstract/gateio.d.ts +1 -0
  72. package/js/src/abstract/htx.d.ts +3 -0
  73. package/js/src/abstract/huobi.d.ts +3 -0
  74. package/js/src/abstract/luno.d.ts +1 -0
  75. package/js/src/abstract/onetrading.d.ts +38 -0
  76. package/js/src/ascendex.js +2 -0
  77. package/js/src/base/Exchange.d.ts +2 -3
  78. package/js/src/base/Exchange.js +5 -2
  79. package/js/src/binance.js +7 -1
  80. package/js/src/bingx.d.ts +1 -0
  81. package/js/src/bingx.js +26 -0
  82. package/js/src/bitget.js +22 -3
  83. package/js/src/bitpanda.d.ts +2 -72
  84. package/js/src/bitpanda.js +5 -1991
  85. package/js/src/bitstamp.js +8 -0
  86. package/js/src/bybit.js +21 -47
  87. package/js/src/coincheck.js +1 -0
  88. package/js/src/deribit.js +16 -4
  89. package/js/src/gate.d.ts +1 -0
  90. package/js/src/gate.js +50 -110
  91. package/js/src/htx.js +3 -0
  92. package/js/src/kraken.d.ts +1 -0
  93. package/js/src/kraken.js +40 -39
  94. package/js/src/lbank.js +1 -0
  95. package/js/src/luno.d.ts +3 -1
  96. package/js/src/luno.js +84 -2
  97. package/js/src/mexc.js +1 -2
  98. package/js/src/onetrading.d.ts +74 -0
  99. package/js/src/onetrading.js +2003 -0
  100. package/js/src/poloniexfutures.js +1 -0
  101. package/js/src/pro/binance.js +7 -2
  102. package/js/src/pro/bitget.js +1 -1
  103. package/js/src/pro/bitpanda.d.ts +2 -34
  104. package/js/src/pro/bitpanda.js +5 -1330
  105. package/js/src/pro/coincheck.d.ts +12 -0
  106. package/js/src/pro/coincheck.js +209 -0
  107. package/js/src/pro/kucoin.js +43 -35
  108. package/js/src/pro/kucoinfutures.js +45 -37
  109. package/js/src/pro/lbank.d.ts +29 -0
  110. package/js/src/pro/lbank.js +882 -0
  111. package/js/src/pro/onetrading.d.ts +36 -0
  112. package/js/src/pro/onetrading.js +1339 -0
  113. package/js/src/pro/poloniexfutures.js +43 -35
  114. package/js/src/whitebit.js +1 -0
  115. package/package.json +2 -2
  116. package/rollup.config.js +2 -0
  117. package/skip-tests.json +14 -2
  118. package/test-commonjs.cjs +25 -1
  119. package/dist/cjs/js/ccxt.js +0 -476
  120. package/dist/cjs/js/src/abstract/alpaca.js +0 -9
  121. package/dist/cjs/js/src/abstract/ascendex.js +0 -9
  122. package/dist/cjs/js/src/abstract/bigone.js +0 -9
  123. package/dist/cjs/js/src/abstract/binance.js +0 -9
  124. package/dist/cjs/js/src/abstract/bingx.js +0 -9
  125. package/dist/cjs/js/src/abstract/bit2c.js +0 -9
  126. package/dist/cjs/js/src/abstract/bitbank.js +0 -9
  127. package/dist/cjs/js/src/abstract/bitbns.js +0 -9
  128. package/dist/cjs/js/src/abstract/bitfinex.js +0 -9
  129. package/dist/cjs/js/src/abstract/bitfinex2.js +0 -9
  130. package/dist/cjs/js/src/abstract/bitflyer.js +0 -9
  131. package/dist/cjs/js/src/abstract/bitforex.js +0 -9
  132. package/dist/cjs/js/src/abstract/bitget.js +0 -9
  133. package/dist/cjs/js/src/abstract/bithumb.js +0 -9
  134. package/dist/cjs/js/src/abstract/bitmart.js +0 -9
  135. package/dist/cjs/js/src/abstract/bitmex.js +0 -9
  136. package/dist/cjs/js/src/abstract/bitopro.js +0 -9
  137. package/dist/cjs/js/src/abstract/bitpanda.js +0 -9
  138. package/dist/cjs/js/src/abstract/bitrue.js +0 -9
  139. package/dist/cjs/js/src/abstract/bitso.js +0 -9
  140. package/dist/cjs/js/src/abstract/bitstamp.js +0 -9
  141. package/dist/cjs/js/src/abstract/bitteam.js +0 -9
  142. package/dist/cjs/js/src/abstract/bitvavo.js +0 -9
  143. package/dist/cjs/js/src/abstract/bl3p.js +0 -9
  144. package/dist/cjs/js/src/abstract/blockchaincom.js +0 -9
  145. package/dist/cjs/js/src/abstract/btcalpha.js +0 -9
  146. package/dist/cjs/js/src/abstract/btcbox.js +0 -9
  147. package/dist/cjs/js/src/abstract/btcmarkets.js +0 -9
  148. package/dist/cjs/js/src/abstract/btcturk.js +0 -9
  149. package/dist/cjs/js/src/abstract/bybit.js +0 -9
  150. package/dist/cjs/js/src/abstract/cex.js +0 -9
  151. package/dist/cjs/js/src/abstract/coinbase.js +0 -9
  152. package/dist/cjs/js/src/abstract/coinbasepro.js +0 -9
  153. package/dist/cjs/js/src/abstract/coincheck.js +0 -9
  154. package/dist/cjs/js/src/abstract/coinex.js +0 -9
  155. package/dist/cjs/js/src/abstract/coinlist.js +0 -9
  156. package/dist/cjs/js/src/abstract/coinmate.js +0 -9
  157. package/dist/cjs/js/src/abstract/coinone.js +0 -9
  158. package/dist/cjs/js/src/abstract/coinsph.js +0 -9
  159. package/dist/cjs/js/src/abstract/coinspot.js +0 -9
  160. package/dist/cjs/js/src/abstract/cryptocom.js +0 -9
  161. package/dist/cjs/js/src/abstract/currencycom.js +0 -9
  162. package/dist/cjs/js/src/abstract/delta.js +0 -9
  163. package/dist/cjs/js/src/abstract/deribit.js +0 -9
  164. package/dist/cjs/js/src/abstract/digifinex.js +0 -9
  165. package/dist/cjs/js/src/abstract/exmo.js +0 -9
  166. package/dist/cjs/js/src/abstract/gate.js +0 -9
  167. package/dist/cjs/js/src/abstract/gemini.js +0 -9
  168. package/dist/cjs/js/src/abstract/hitbtc.js +0 -9
  169. package/dist/cjs/js/src/abstract/hollaex.js +0 -9
  170. package/dist/cjs/js/src/abstract/htx.js +0 -9
  171. package/dist/cjs/js/src/abstract/huobijp.js +0 -9
  172. package/dist/cjs/js/src/abstract/idex.js +0 -9
  173. package/dist/cjs/js/src/abstract/independentreserve.js +0 -9
  174. package/dist/cjs/js/src/abstract/indodax.js +0 -9
  175. package/dist/cjs/js/src/abstract/kraken.js +0 -9
  176. package/dist/cjs/js/src/abstract/krakenfutures.js +0 -9
  177. package/dist/cjs/js/src/abstract/kucoin.js +0 -9
  178. package/dist/cjs/js/src/abstract/kucoinfutures.js +0 -9
  179. package/dist/cjs/js/src/abstract/kuna.js +0 -9
  180. package/dist/cjs/js/src/abstract/latoken.js +0 -9
  181. package/dist/cjs/js/src/abstract/lbank.js +0 -9
  182. package/dist/cjs/js/src/abstract/luno.js +0 -9
  183. package/dist/cjs/js/src/abstract/lykke.js +0 -9
  184. package/dist/cjs/js/src/abstract/mercado.js +0 -9
  185. package/dist/cjs/js/src/abstract/mexc.js +0 -9
  186. package/dist/cjs/js/src/abstract/ndax.js +0 -9
  187. package/dist/cjs/js/src/abstract/novadax.js +0 -9
  188. package/dist/cjs/js/src/abstract/oceanex.js +0 -9
  189. package/dist/cjs/js/src/abstract/okcoin.js +0 -9
  190. package/dist/cjs/js/src/abstract/okx.js +0 -9
  191. package/dist/cjs/js/src/abstract/p2b.js +0 -9
  192. package/dist/cjs/js/src/abstract/paymium.js +0 -9
  193. package/dist/cjs/js/src/abstract/phemex.js +0 -9
  194. package/dist/cjs/js/src/abstract/poloniex.js +0 -9
  195. package/dist/cjs/js/src/abstract/poloniexfutures.js +0 -9
  196. package/dist/cjs/js/src/abstract/probit.js +0 -9
  197. package/dist/cjs/js/src/abstract/timex.js +0 -9
  198. package/dist/cjs/js/src/abstract/tokocrypto.js +0 -9
  199. package/dist/cjs/js/src/abstract/upbit.js +0 -9
  200. package/dist/cjs/js/src/abstract/wavesexchange.js +0 -9
  201. package/dist/cjs/js/src/abstract/wazirx.js +0 -9
  202. package/dist/cjs/js/src/abstract/whitebit.js +0 -9
  203. package/dist/cjs/js/src/abstract/woo.js +0 -9
  204. package/dist/cjs/js/src/abstract/yobit.js +0 -9
  205. package/dist/cjs/js/src/abstract/zaif.js +0 -9
  206. package/dist/cjs/js/src/abstract/zonda.js +0 -9
  207. package/dist/cjs/js/src/ace.js +0 -1058
  208. package/dist/cjs/js/src/alpaca.js +0 -1125
  209. package/dist/cjs/js/src/ascendex.js +0 -3365
  210. package/dist/cjs/js/src/base/Exchange.js +0 -5257
  211. package/dist/cjs/js/src/base/Precise.js +0 -263
  212. package/dist/cjs/js/src/base/errors.js +0 -299
  213. package/dist/cjs/js/src/base/functions/crypto.js +0 -78
  214. package/dist/cjs/js/src/base/functions/encode.js +0 -44
  215. package/dist/cjs/js/src/base/functions/generic.js +0 -193
  216. package/dist/cjs/js/src/base/functions/misc.js +0 -96
  217. package/dist/cjs/js/src/base/functions/number.js +0 -297
  218. package/dist/cjs/js/src/base/functions/platform.js +0 -28
  219. package/dist/cjs/js/src/base/functions/rsa.js +0 -34
  220. package/dist/cjs/js/src/base/functions/string.js +0 -48
  221. package/dist/cjs/js/src/base/functions/throttle.js +0 -66
  222. package/dist/cjs/js/src/base/functions/time.js +0 -187
  223. package/dist/cjs/js/src/base/functions/totp.js +0 -24
  224. package/dist/cjs/js/src/base/functions/type.js +0 -162
  225. package/dist/cjs/js/src/base/functions.js +0 -157
  226. package/dist/cjs/js/src/base/ws/Cache.js +0 -254
  227. package/dist/cjs/js/src/base/ws/Client.js +0 -299
  228. package/dist/cjs/js/src/base/ws/Future.js +0 -34
  229. package/dist/cjs/js/src/base/ws/OrderBook.js +0 -107
  230. package/dist/cjs/js/src/base/ws/OrderBookSide.js +0 -281
  231. package/dist/cjs/js/src/base/ws/WsClient.js +0 -69
  232. package/dist/cjs/js/src/bequant.js +0 -33
  233. package/dist/cjs/js/src/bigone.js +0 -2213
  234. package/dist/cjs/js/src/binance.js +0 -9845
  235. package/dist/cjs/js/src/binancecoinm.js +0 -45
  236. package/dist/cjs/js/src/binanceus.js +0 -92
  237. package/dist/cjs/js/src/binanceusdm.js +0 -58
  238. package/dist/cjs/js/src/bingx.js +0 -3846
  239. package/dist/cjs/js/src/bit2c.js +0 -916
  240. package/dist/cjs/js/src/bitbank.js +0 -1000
  241. package/dist/cjs/js/src/bitbay.js +0 -17
  242. package/dist/cjs/js/src/bitbns.js +0 -1220
  243. package/dist/cjs/js/src/bitcoincom.js +0 -17
  244. package/dist/cjs/js/src/bitfinex.js +0 -1670
  245. package/dist/cjs/js/src/bitfinex2.js +0 -2990
  246. package/dist/cjs/js/src/bitflyer.js +0 -1045
  247. package/dist/cjs/js/src/bitforex.js +0 -852
  248. package/dist/cjs/js/src/bitget.js +0 -8295
  249. package/dist/cjs/js/src/bithumb.js +0 -1090
  250. package/dist/cjs/js/src/bitmart.js +0 -4454
  251. package/dist/cjs/js/src/bitmex.js +0 -2881
  252. package/dist/cjs/js/src/bitopro.js +0 -1724
  253. package/dist/cjs/js/src/bitrue.js +0 -3253
  254. package/dist/cjs/js/src/bitso.js +0 -1753
  255. package/dist/cjs/js/src/bitstamp.js +0 -2188
  256. package/dist/cjs/js/src/bitteam.js +0 -2309
  257. package/dist/cjs/js/src/bitvavo.js +0 -1968
  258. package/dist/cjs/js/src/bl3p.js +0 -447
  259. package/dist/cjs/js/src/blockchaincom.js +0 -1160
  260. package/dist/cjs/js/src/btcalpha.js +0 -929
  261. package/dist/cjs/js/src/btcbox.js +0 -565
  262. package/dist/cjs/js/src/btcmarkets.js +0 -1237
  263. package/dist/cjs/js/src/btcturk.js +0 -929
  264. package/dist/cjs/js/src/bybit.js +0 -7650
  265. package/dist/cjs/js/src/cex.js +0 -1693
  266. package/dist/cjs/js/src/coinbase.js +0 -3424
  267. package/dist/cjs/js/src/coinbasepro.js +0 -1866
  268. package/dist/cjs/js/src/coincheck.js +0 -843
  269. package/dist/cjs/js/src/coinex.js +0 -5417
  270. package/dist/cjs/js/src/coinlist.js +0 -2337
  271. package/dist/cjs/js/src/coinmate.js +0 -989
  272. package/dist/cjs/js/src/coinone.js +0 -1185
  273. package/dist/cjs/js/src/coinsph.js +0 -1933
  274. package/dist/cjs/js/src/coinspot.js +0 -548
  275. package/dist/cjs/js/src/cryptocom.js +0 -3007
  276. package/dist/cjs/js/src/currencycom.js +0 -2015
  277. package/dist/cjs/js/src/delta.js +0 -3262
  278. package/dist/cjs/js/src/deribit.js +0 -3306
  279. package/dist/cjs/js/src/digifinex.js +0 -4307
  280. package/dist/cjs/js/src/exmo.js +0 -2645
  281. package/dist/cjs/js/src/fmfwio.js +0 -34
  282. package/dist/cjs/js/src/gate.js +0 -7077
  283. package/dist/cjs/js/src/gateio.js +0 -16
  284. package/dist/cjs/js/src/gemini.js +0 -1801
  285. package/dist/cjs/js/src/hitbtc.js +0 -3660
  286. package/dist/cjs/js/src/hitbtc3.js +0 -19
  287. package/dist/cjs/js/src/hollaex.js +0 -1882
  288. package/dist/cjs/js/src/htx.js +0 -9174
  289. package/dist/cjs/js/src/huobi.js +0 -16
  290. package/dist/cjs/js/src/huobijp.js +0 -1918
  291. package/dist/cjs/js/src/idex.js +0 -1770
  292. package/dist/cjs/js/src/independentreserve.js +0 -761
  293. package/dist/cjs/js/src/indodax.js +0 -1069
  294. package/dist/cjs/js/src/kraken.js +0 -2891
  295. package/dist/cjs/js/src/krakenfutures.js +0 -2407
  296. package/dist/cjs/js/src/kucoin.js +0 -4494
  297. package/dist/cjs/js/src/kucoinfutures.js +0 -2529
  298. package/dist/cjs/js/src/kuna.js +0 -1949
  299. package/dist/cjs/js/src/latoken.js +0 -1729
  300. package/dist/cjs/js/src/lbank.js +0 -2851
  301. package/dist/cjs/js/src/luno.js +0 -1044
  302. package/dist/cjs/js/src/lykke.js +0 -1303
  303. package/dist/cjs/js/src/mercado.js +0 -897
  304. package/dist/cjs/js/src/mexc.js +0 -5407
  305. package/dist/cjs/js/src/ndax.js +0 -2450
  306. package/dist/cjs/js/src/novadax.js +0 -1556
  307. package/dist/cjs/js/src/oceanex.js +0 -964
  308. package/dist/cjs/js/src/okcoin.js +0 -3115
  309. package/dist/cjs/js/src/okx.js +0 -7331
  310. package/dist/cjs/js/src/p2b.js +0 -1243
  311. package/dist/cjs/js/src/paymium.js +0 -597
  312. package/dist/cjs/js/src/phemex.js +0 -4725
  313. package/dist/cjs/js/src/poloniex.js +0 -2356
  314. package/dist/cjs/js/src/poloniexfutures.js +0 -1794
  315. package/dist/cjs/js/src/pro/alpaca.js +0 -714
  316. package/dist/cjs/js/src/pro/ascendex.js +0 -957
  317. package/dist/cjs/js/src/pro/bequant.js +0 -33
  318. package/dist/cjs/js/src/pro/binance.js +0 -2796
  319. package/dist/cjs/js/src/pro/binancecoinm.js +0 -23
  320. package/dist/cjs/js/src/pro/binanceus.js +0 -51
  321. package/dist/cjs/js/src/pro/binanceusdm.js +0 -32
  322. package/dist/cjs/js/src/pro/bingx.js +0 -944
  323. package/dist/cjs/js/src/pro/bitcoincom.js +0 -29
  324. package/dist/cjs/js/src/pro/bitfinex.js +0 -672
  325. package/dist/cjs/js/src/pro/bitfinex2.js +0 -1159
  326. package/dist/cjs/js/src/pro/bitget.js +0 -1733
  327. package/dist/cjs/js/src/pro/bitmart.js +0 -1486
  328. package/dist/cjs/js/src/pro/bitmex.js +0 -1576
  329. package/dist/cjs/js/src/pro/bitopro.js +0 -327
  330. package/dist/cjs/js/src/pro/bitrue.js +0 -462
  331. package/dist/cjs/js/src/pro/bitstamp.js +0 -547
  332. package/dist/cjs/js/src/pro/bitvavo.js +0 -704
  333. package/dist/cjs/js/src/pro/blockchaincom.js +0 -794
  334. package/dist/cjs/js/src/pro/bybit.js +0 -1843
  335. package/dist/cjs/js/src/pro/cex.js +0 -1510
  336. package/dist/cjs/js/src/pro/coinbase.js +0 -561
  337. package/dist/cjs/js/src/pro/coinbasepro.js +0 -968
  338. package/dist/cjs/js/src/pro/coinex.js +0 -1095
  339. package/dist/cjs/js/src/pro/cryptocom.js +0 -1020
  340. package/dist/cjs/js/src/pro/currencycom.js +0 -563
  341. package/dist/cjs/js/src/pro/deribit.js +0 -825
  342. package/dist/cjs/js/src/pro/exmo.js +0 -658
  343. package/dist/cjs/js/src/pro/gate.js +0 -1316
  344. package/dist/cjs/js/src/pro/gateio.js +0 -16
  345. package/dist/cjs/js/src/pro/gemini.js +0 -649
  346. package/dist/cjs/js/src/pro/hitbtc.js +0 -1294
  347. package/dist/cjs/js/src/pro/hollaex.js +0 -597
  348. package/dist/cjs/js/src/pro/htx.js +0 -2388
  349. package/dist/cjs/js/src/pro/huobi.js +0 -16
  350. package/dist/cjs/js/src/pro/huobijp.js +0 -606
  351. package/dist/cjs/js/src/pro/idex.js +0 -714
  352. package/dist/cjs/js/src/pro/independentreserve.js +0 -280
  353. package/dist/cjs/js/src/pro/kraken.js +0 -1364
  354. package/dist/cjs/js/src/pro/krakenfutures.js +0 -1506
  355. package/dist/cjs/js/src/pro/kucoin.js +0 -1054
  356. package/dist/cjs/js/src/pro/kucoinfutures.js +0 -981
  357. package/dist/cjs/js/src/pro/luno.js +0 -322
  358. package/dist/cjs/js/src/pro/mexc.js +0 -1170
  359. package/dist/cjs/js/src/pro/ndax.js +0 -545
  360. package/dist/cjs/js/src/pro/okcoin.js +0 -760
  361. package/dist/cjs/js/src/pro/okx.js +0 -1608
  362. package/dist/cjs/js/src/pro/phemex.js +0 -1511
  363. package/dist/cjs/js/src/pro/poloniex.js +0 -1253
  364. package/dist/cjs/js/src/pro/poloniexfutures.js +0 -1014
  365. package/dist/cjs/js/src/pro/probit.js +0 -586
  366. package/dist/cjs/js/src/pro/upbit.js +0 -234
  367. package/dist/cjs/js/src/pro/wazirx.js +0 -776
  368. package/dist/cjs/js/src/pro/whitebit.js +0 -927
  369. package/dist/cjs/js/src/pro/woo.js +0 -895
  370. package/dist/cjs/js/src/probit.js +0 -1867
  371. package/dist/cjs/js/src/static_dependencies/fflake/browser.js +0 -401
  372. package/dist/cjs/js/src/static_dependencies/jsencrypt/JSEncrypt.js +0 -195
  373. package/dist/cjs/js/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +0 -308
  374. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +0 -554
  375. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +0 -94
  376. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +0 -70
  377. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +0 -91
  378. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +0 -16
  379. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +0 -1760
  380. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +0 -52
  381. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +0 -81
  382. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +0 -376
  383. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/util.js +0 -70
  384. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +0 -1580
  385. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +0 -74
  386. package/dist/cjs/js/src/static_dependencies/noble-curves/_shortw_utils.js +0 -24
  387. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/curve.js +0 -158
  388. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/edwards.js +0 -429
  389. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +0 -176
  390. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/modular.js +0 -324
  391. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/montgomery.js +0 -163
  392. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/utils.js +0 -245
  393. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/weierstrass.js +0 -1018
  394. package/dist/cjs/js/src/static_dependencies/noble-curves/ed25519.js +0 -383
  395. package/dist/cjs/js/src/static_dependencies/noble-curves/secp256k1.js +0 -258
  396. package/dist/cjs/js/src/static_dependencies/noble-hashes/_assert.js +0 -53
  397. package/dist/cjs/js/src/static_dependencies/noble-hashes/_sha2.js +0 -120
  398. package/dist/cjs/js/src/static_dependencies/noble-hashes/_u64.js +0 -69
  399. package/dist/cjs/js/src/static_dependencies/noble-hashes/crypto.js +0 -7
  400. package/dist/cjs/js/src/static_dependencies/noble-hashes/hmac.js +0 -83
  401. package/dist/cjs/js/src/static_dependencies/noble-hashes/md5.js +0 -240
  402. package/dist/cjs/js/src/static_dependencies/noble-hashes/sha1.js +0 -91
  403. package/dist/cjs/js/src/static_dependencies/noble-hashes/sha256.js +0 -130
  404. package/dist/cjs/js/src/static_dependencies/noble-hashes/sha3.js +0 -214
  405. package/dist/cjs/js/src/static_dependencies/noble-hashes/sha512.js +0 -239
  406. package/dist/cjs/js/src/static_dependencies/noble-hashes/utils.js +0 -93
  407. package/dist/cjs/js/src/static_dependencies/node-fetch/body.js +0 -354
  408. package/dist/cjs/js/src/static_dependencies/node-fetch/errors/abort-error.js +0 -16
  409. package/dist/cjs/js/src/static_dependencies/node-fetch/errors/base.js +0 -20
  410. package/dist/cjs/js/src/static_dependencies/node-fetch/errors/fetch-error.js +0 -30
  411. package/dist/cjs/js/src/static_dependencies/node-fetch/headers.js +0 -239
  412. package/dist/cjs/js/src/static_dependencies/node-fetch/index.js +0 -372
  413. package/dist/cjs/js/src/static_dependencies/node-fetch/request.js +0 -273
  414. package/dist/cjs/js/src/static_dependencies/node-fetch/response.js +0 -139
  415. package/dist/cjs/js/src/static_dependencies/node-fetch/utils/get-search.js +0 -14
  416. package/dist/cjs/js/src/static_dependencies/node-fetch/utils/is-redirect.js +0 -16
  417. package/dist/cjs/js/src/static_dependencies/node-fetch/utils/is.js +0 -81
  418. package/dist/cjs/js/src/static_dependencies/node-fetch/utils/referrer.js +0 -292
  419. package/dist/cjs/js/src/static_dependencies/proxies/agent-base/index.js +0 -103
  420. package/dist/cjs/js/src/static_dependencies/proxies/http-proxy-agent/index.js +0 -140
  421. package/dist/cjs/js/src/static_dependencies/proxies/https-proxy-agent/index.js +0 -175
  422. package/dist/cjs/js/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +0 -95
  423. package/dist/cjs/js/src/static_dependencies/qs/index.cjs.js +0 -7
  424. package/dist/cjs/js/src/static_dependencies/scure-base/index.js +0 -383
  425. package/dist/cjs/js/src/timex.js +0 -1562
  426. package/dist/cjs/js/src/tokocrypto.js +0 -2542
  427. package/dist/cjs/js/src/upbit.js +0 -1844
  428. package/dist/cjs/js/src/wavesexchange.js +0 -2607
  429. package/dist/cjs/js/src/wazirx.js +0 -953
  430. package/dist/cjs/js/src/whitebit.js +0 -2309
  431. package/dist/cjs/js/src/woo.js +0 -2769
  432. package/dist/cjs/js/src/yobit.js +0 -1314
  433. package/dist/cjs/js/src/zaif.js +0 -736
  434. package/dist/cjs/js/src/zonda.js +0 -1883
  435. package/dist/cjs/src/abstract/bitpanda.js +0 -9
  436. package/test.ts +0 -0
  437. /package/dist/cjs/{js/src/abstract/ace.js → src/abstract/onetrading.js} +0 -0
  438. /package/dist/cjs/{js/src → src}/pro/coinone.js +0 -0
  439. /package/js/src/abstract/{bitpanda.js → onetrading.js} +0 -0
@@ -1,130 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var _sha2 = require('./_sha2.js');
6
- var utils = require('./utils.js');
7
-
8
- // Choice: a ? b : c
9
- const Chi = (a, b, c) => (a & b) ^ (~a & c);
10
- // Majority function, true if any two inpust is true
11
- const Maj = (a, b, c) => (a & b) ^ (a & c) ^ (b & c);
12
- // Round constants:
13
- // first 32 bits of the fractional parts of the cube roots of the first 64 primes 2..311)
14
- // prettier-ignore
15
- const SHA256_K = new Uint32Array([
16
- 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
17
- 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
18
- 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
19
- 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
20
- 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
21
- 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
22
- 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
23
- 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2
24
- ]);
25
- // Initial state (first 32 bits of the fractional parts of the square roots of the first 8 primes 2..19):
26
- // prettier-ignore
27
- const IV = new Uint32Array([
28
- 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19
29
- ]);
30
- // Temporary buffer, not used to store anything between runs
31
- // Named this way because it matches specification.
32
- const SHA256_W = new Uint32Array(64);
33
- class SHA256 extends _sha2.SHA2 {
34
- constructor() {
35
- super(64, 32, 8, false);
36
- // We cannot use array here since array allows indexing by variable
37
- // which means optimizer/compiler cannot use registers.
38
- this.A = IV[0] | 0;
39
- this.B = IV[1] | 0;
40
- this.C = IV[2] | 0;
41
- this.D = IV[3] | 0;
42
- this.E = IV[4] | 0;
43
- this.F = IV[5] | 0;
44
- this.G = IV[6] | 0;
45
- this.H = IV[7] | 0;
46
- }
47
- get() {
48
- const { A, B, C, D, E, F, G, H } = this;
49
- return [A, B, C, D, E, F, G, H];
50
- }
51
- // prettier-ignore
52
- set(A, B, C, D, E, F, G, H) {
53
- this.A = A | 0;
54
- this.B = B | 0;
55
- this.C = C | 0;
56
- this.D = D | 0;
57
- this.E = E | 0;
58
- this.F = F | 0;
59
- this.G = G | 0;
60
- this.H = H | 0;
61
- }
62
- process(view, offset) {
63
- // Extend the first 16 words into the remaining 48 words w[16..63] of the message schedule array
64
- for (let i = 0; i < 16; i++, offset += 4)
65
- SHA256_W[i] = view.getUint32(offset, false);
66
- for (let i = 16; i < 64; i++) {
67
- const W15 = SHA256_W[i - 15];
68
- const W2 = SHA256_W[i - 2];
69
- const s0 = utils.rotr(W15, 7) ^ utils.rotr(W15, 18) ^ (W15 >>> 3);
70
- const s1 = utils.rotr(W2, 17) ^ utils.rotr(W2, 19) ^ (W2 >>> 10);
71
- SHA256_W[i] = (s1 + SHA256_W[i - 7] + s0 + SHA256_W[i - 16]) | 0;
72
- }
73
- // Compression function main loop, 64 rounds
74
- let { A, B, C, D, E, F, G, H } = this;
75
- for (let i = 0; i < 64; i++) {
76
- const sigma1 = utils.rotr(E, 6) ^ utils.rotr(E, 11) ^ utils.rotr(E, 25);
77
- const T1 = (H + sigma1 + Chi(E, F, G) + SHA256_K[i] + SHA256_W[i]) | 0;
78
- const sigma0 = utils.rotr(A, 2) ^ utils.rotr(A, 13) ^ utils.rotr(A, 22);
79
- const T2 = (sigma0 + Maj(A, B, C)) | 0;
80
- H = G;
81
- G = F;
82
- F = E;
83
- E = (D + T1) | 0;
84
- D = C;
85
- C = B;
86
- B = A;
87
- A = (T1 + T2) | 0;
88
- }
89
- // Add the compressed chunk to the current hash value
90
- A = (A + this.A) | 0;
91
- B = (B + this.B) | 0;
92
- C = (C + this.C) | 0;
93
- D = (D + this.D) | 0;
94
- E = (E + this.E) | 0;
95
- F = (F + this.F) | 0;
96
- G = (G + this.G) | 0;
97
- H = (H + this.H) | 0;
98
- this.set(A, B, C, D, E, F, G, H);
99
- }
100
- roundClean() {
101
- SHA256_W.fill(0);
102
- }
103
- destroy() {
104
- this.set(0, 0, 0, 0, 0, 0, 0, 0);
105
- this.buffer.fill(0);
106
- }
107
- }
108
- // Constants from https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf
109
- class SHA224 extends SHA256 {
110
- constructor() {
111
- super();
112
- this.A = 0xc1059ed8 | 0;
113
- this.B = 0x367cd507 | 0;
114
- this.C = 0x3070dd17 | 0;
115
- this.D = 0xf70e5939 | 0;
116
- this.E = 0xffc00b31 | 0;
117
- this.F = 0x68581511 | 0;
118
- this.G = 0x64f98fa7 | 0;
119
- this.H = 0xbefa4fa4 | 0;
120
- this.outputLen = 28;
121
- }
122
- }
123
- /**
124
- * SHA2-256 hash function
125
- * @param message - data that would be hashed
126
- */
127
- const sha256 = utils.wrapConstructor(() => new SHA256());
128
- utils.wrapConstructor(() => new SHA224());
129
-
130
- exports.sha256 = sha256;
@@ -1,214 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var _assert = require('./_assert.js');
6
- var _u64 = require('./_u64.js');
7
- var utils = require('./utils.js');
8
-
9
- // Various per round constants calculations
10
- const [SHA3_PI, SHA3_ROTL, _SHA3_IOTA] = [[], [], []];
11
- const _0n = BigInt(0);
12
- const _1n = BigInt(1);
13
- const _2n = BigInt(2);
14
- const _7n = BigInt(7);
15
- const _256n = BigInt(256);
16
- const _0x71n = BigInt(0x71);
17
- for (let round = 0, R = _1n, x = 1, y = 0; round < 24; round++) {
18
- // Pi
19
- [x, y] = [y, (2 * x + 3 * y) % 5];
20
- SHA3_PI.push(2 * (5 * y + x));
21
- // Rotational
22
- SHA3_ROTL.push((((round + 1) * (round + 2)) / 2) % 64);
23
- // Iota
24
- let t = _0n;
25
- for (let j = 0; j < 7; j++) {
26
- R = ((R << _1n) ^ ((R >> _7n) * _0x71n)) % _256n;
27
- if (R & _2n)
28
- t ^= _1n << ((_1n << BigInt(j)) - _1n);
29
- }
30
- _SHA3_IOTA.push(t);
31
- }
32
- const [SHA3_IOTA_H, SHA3_IOTA_L] = _u64["default"].split(_SHA3_IOTA, true);
33
- // Left rotation (without 0, 32, 64)
34
- const rotlH = (h, l, s) => s > 32 ? _u64["default"].rotlBH(h, l, s) : _u64["default"].rotlSH(h, l, s);
35
- const rotlL = (h, l, s) => s > 32 ? _u64["default"].rotlBL(h, l, s) : _u64["default"].rotlSL(h, l, s);
36
- // Same as keccakf1600, but allows to skip some rounds
37
- function keccakP(s, rounds = 24) {
38
- const B = new Uint32Array(5 * 2);
39
- // NOTE: all indices are x2 since we store state as u32 instead of u64 (bigints to slow in js)
40
- for (let round = 24 - rounds; round < 24; round++) {
41
- // Theta θ
42
- for (let x = 0; x < 10; x++)
43
- B[x] = s[x] ^ s[x + 10] ^ s[x + 20] ^ s[x + 30] ^ s[x + 40];
44
- for (let x = 0; x < 10; x += 2) {
45
- const idx1 = (x + 8) % 10;
46
- const idx0 = (x + 2) % 10;
47
- const B0 = B[idx0];
48
- const B1 = B[idx0 + 1];
49
- const Th = rotlH(B0, B1, 1) ^ B[idx1];
50
- const Tl = rotlL(B0, B1, 1) ^ B[idx1 + 1];
51
- for (let y = 0; y < 50; y += 10) {
52
- s[x + y] ^= Th;
53
- s[x + y + 1] ^= Tl;
54
- }
55
- }
56
- // Rho (ρ) and Pi (π)
57
- let curH = s[2];
58
- let curL = s[3];
59
- for (let t = 0; t < 24; t++) {
60
- const shift = SHA3_ROTL[t];
61
- const Th = rotlH(curH, curL, shift);
62
- const Tl = rotlL(curH, curL, shift);
63
- const PI = SHA3_PI[t];
64
- curH = s[PI];
65
- curL = s[PI + 1];
66
- s[PI] = Th;
67
- s[PI + 1] = Tl;
68
- }
69
- // Chi (χ)
70
- for (let y = 0; y < 50; y += 10) {
71
- for (let x = 0; x < 10; x++)
72
- B[x] = s[y + x];
73
- for (let x = 0; x < 10; x++)
74
- s[y + x] ^= ~B[(x + 2) % 10] & B[(x + 4) % 10];
75
- }
76
- // Iota (ι)
77
- s[0] ^= SHA3_IOTA_H[round];
78
- s[1] ^= SHA3_IOTA_L[round];
79
- }
80
- B.fill(0);
81
- }
82
- class Keccak extends utils.Hash {
83
- // NOTE: we accept arguments in bytes instead of bits here.
84
- constructor(blockLen, suffix, outputLen, enableXOF = false, rounds = 24) {
85
- super();
86
- this.blockLen = blockLen;
87
- this.suffix = suffix;
88
- this.outputLen = outputLen;
89
- this.enableXOF = enableXOF;
90
- this.rounds = rounds;
91
- this.pos = 0;
92
- this.posOut = 0;
93
- this.finished = false;
94
- this.destroyed = false;
95
- // Can be passed from user as dkLen
96
- _assert["default"].number(outputLen);
97
- // 1600 = 5x5 matrix of 64bit. 1600 bits === 200 bytes
98
- if (0 >= this.blockLen || this.blockLen >= 200)
99
- throw new Error('Sha3 supports only keccak-f1600 function');
100
- this.state = new Uint8Array(200);
101
- this.state32 = utils.u32(this.state);
102
- }
103
- keccak() {
104
- keccakP(this.state32, this.rounds);
105
- this.posOut = 0;
106
- this.pos = 0;
107
- }
108
- update(data) {
109
- _assert["default"].exists(this);
110
- const { blockLen, state } = this;
111
- data = utils.toBytes(data);
112
- const len = data.length;
113
- for (let pos = 0; pos < len;) {
114
- const take = Math.min(blockLen - this.pos, len - pos);
115
- for (let i = 0; i < take; i++)
116
- state[this.pos++] ^= data[pos++];
117
- if (this.pos === blockLen)
118
- this.keccak();
119
- }
120
- return this;
121
- }
122
- finish() {
123
- if (this.finished)
124
- return;
125
- this.finished = true;
126
- const { state, suffix, pos, blockLen } = this;
127
- // Do the padding
128
- state[pos] ^= suffix;
129
- if ((suffix & 0x80) !== 0 && pos === blockLen - 1)
130
- this.keccak();
131
- state[blockLen - 1] ^= 0x80;
132
- this.keccak();
133
- }
134
- writeInto(out) {
135
- _assert["default"].exists(this, false);
136
- _assert["default"].bytes(out);
137
- this.finish();
138
- const bufferOut = this.state;
139
- const { blockLen } = this;
140
- for (let pos = 0, len = out.length; pos < len;) {
141
- if (this.posOut >= blockLen)
142
- this.keccak();
143
- const take = Math.min(blockLen - this.posOut, len - pos);
144
- out.set(bufferOut.subarray(this.posOut, this.posOut + take), pos);
145
- this.posOut += take;
146
- pos += take;
147
- }
148
- return out;
149
- }
150
- xofInto(out) {
151
- // Sha3/Keccak usage with XOF is probably mistake, only SHAKE instances can do XOF
152
- if (!this.enableXOF)
153
- throw new Error('XOF is not possible for this instance');
154
- return this.writeInto(out);
155
- }
156
- xof(bytes) {
157
- _assert["default"].number(bytes);
158
- return this.xofInto(new Uint8Array(bytes));
159
- }
160
- digestInto(out) {
161
- _assert["default"].output(out, this);
162
- if (this.finished)
163
- throw new Error('digest() was already called');
164
- this.writeInto(out);
165
- this.destroy();
166
- return out;
167
- }
168
- digest() {
169
- return this.digestInto(new Uint8Array(this.outputLen));
170
- }
171
- destroy() {
172
- this.destroyed = true;
173
- this.state.fill(0);
174
- }
175
- _cloneInto(to) {
176
- const { blockLen, suffix, outputLen, rounds, enableXOF } = this;
177
- to || (to = new Keccak(blockLen, suffix, outputLen, enableXOF, rounds));
178
- to.state32.set(this.state32);
179
- to.pos = this.pos;
180
- to.posOut = this.posOut;
181
- to.finished = this.finished;
182
- to.rounds = rounds;
183
- // Suffix can change in cSHAKE
184
- to.suffix = suffix;
185
- to.outputLen = outputLen;
186
- to.enableXOF = enableXOF;
187
- to.destroyed = this.destroyed;
188
- return to;
189
- }
190
- }
191
- const gen = (suffix, blockLen, outputLen) => utils.wrapConstructor(() => new Keccak(blockLen, suffix, outputLen));
192
- gen(0x06, 144, 224 / 8);
193
- /**
194
- * SHA3-256 hash function
195
- * @param message - that would be hashed
196
- */
197
- gen(0x06, 136, 256 / 8);
198
- gen(0x06, 104, 384 / 8);
199
- gen(0x06, 72, 512 / 8);
200
- gen(0x01, 144, 224 / 8);
201
- /**
202
- * keccak-256 hash function. Different from SHA3-256.
203
- * @param message - that would be hashed
204
- */
205
- const keccak_256 = gen(0x01, 136, 256 / 8);
206
- gen(0x01, 104, 384 / 8);
207
- gen(0x01, 72, 512 / 8);
208
- const genShake = (suffix, blockLen, outputLen) => utils.wrapConstructorWithOpts((opts = {}) => new Keccak(blockLen, suffix, opts.dkLen === undefined ? outputLen : opts.dkLen, true));
209
- genShake(0x1f, 168, 128 / 8);
210
- genShake(0x1f, 136, 256 / 8);
211
-
212
- exports.Keccak = Keccak;
213
- exports.keccakP = keccakP;
214
- exports.keccak_256 = keccak_256;
@@ -1,239 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var _sha2 = require('./_sha2.js');
6
- var _u64 = require('./_u64.js');
7
- var utils = require('./utils.js');
8
-
9
- // Round contants (first 32 bits of the fractional parts of the cube roots of the first 80 primes 2..409):
10
- // prettier-ignore
11
- const [SHA512_Kh, SHA512_Kl] = _u64["default"].split([
12
- '0x428a2f98d728ae22', '0x7137449123ef65cd', '0xb5c0fbcfec4d3b2f', '0xe9b5dba58189dbbc',
13
- '0x3956c25bf348b538', '0x59f111f1b605d019', '0x923f82a4af194f9b', '0xab1c5ed5da6d8118',
14
- '0xd807aa98a3030242', '0x12835b0145706fbe', '0x243185be4ee4b28c', '0x550c7dc3d5ffb4e2',
15
- '0x72be5d74f27b896f', '0x80deb1fe3b1696b1', '0x9bdc06a725c71235', '0xc19bf174cf692694',
16
- '0xe49b69c19ef14ad2', '0xefbe4786384f25e3', '0x0fc19dc68b8cd5b5', '0x240ca1cc77ac9c65',
17
- '0x2de92c6f592b0275', '0x4a7484aa6ea6e483', '0x5cb0a9dcbd41fbd4', '0x76f988da831153b5',
18
- '0x983e5152ee66dfab', '0xa831c66d2db43210', '0xb00327c898fb213f', '0xbf597fc7beef0ee4',
19
- '0xc6e00bf33da88fc2', '0xd5a79147930aa725', '0x06ca6351e003826f', '0x142929670a0e6e70',
20
- '0x27b70a8546d22ffc', '0x2e1b21385c26c926', '0x4d2c6dfc5ac42aed', '0x53380d139d95b3df',
21
- '0x650a73548baf63de', '0x766a0abb3c77b2a8', '0x81c2c92e47edaee6', '0x92722c851482353b',
22
- '0xa2bfe8a14cf10364', '0xa81a664bbc423001', '0xc24b8b70d0f89791', '0xc76c51a30654be30',
23
- '0xd192e819d6ef5218', '0xd69906245565a910', '0xf40e35855771202a', '0x106aa07032bbd1b8',
24
- '0x19a4c116b8d2d0c8', '0x1e376c085141ab53', '0x2748774cdf8eeb99', '0x34b0bcb5e19b48a8',
25
- '0x391c0cb3c5c95a63', '0x4ed8aa4ae3418acb', '0x5b9cca4f7763e373', '0x682e6ff3d6b2b8a3',
26
- '0x748f82ee5defb2fc', '0x78a5636f43172f60', '0x84c87814a1f0ab72', '0x8cc702081a6439ec',
27
- '0x90befffa23631e28', '0xa4506cebde82bde9', '0xbef9a3f7b2c67915', '0xc67178f2e372532b',
28
- '0xca273eceea26619c', '0xd186b8c721c0c207', '0xeada7dd6cde0eb1e', '0xf57d4f7fee6ed178',
29
- '0x06f067aa72176fba', '0x0a637dc5a2c898a6', '0x113f9804bef90dae', '0x1b710b35131c471b',
30
- '0x28db77f523047d84', '0x32caab7b40c72493', '0x3c9ebe0a15c9bebc', '0x431d67c49c100d4c',
31
- '0x4cc5d4becb3e42b6', '0x597f299cfc657e2a', '0x5fcb6fab3ad6faec', '0x6c44198c4a475817'
32
- ].map(n => BigInt(n)));
33
- // Temporary buffer, not used to store anything between runs
34
- const SHA512_W_H = new Uint32Array(80);
35
- const SHA512_W_L = new Uint32Array(80);
36
- class SHA512 extends _sha2.SHA2 {
37
- constructor() {
38
- super(128, 64, 16, false);
39
- // We cannot use array here since array allows indexing by variable which means optimizer/compiler cannot use registers.
40
- // Also looks cleaner and easier to verify with spec.
41
- // Initial state (first 32 bits of the fractional parts of the square roots of the first 8 primes 2..19):
42
- // h -- high 32 bits, l -- low 32 bits
43
- this.Ah = 0x6a09e667 | 0;
44
- this.Al = 0xf3bcc908 | 0;
45
- this.Bh = 0xbb67ae85 | 0;
46
- this.Bl = 0x84caa73b | 0;
47
- this.Ch = 0x3c6ef372 | 0;
48
- this.Cl = 0xfe94f82b | 0;
49
- this.Dh = 0xa54ff53a | 0;
50
- this.Dl = 0x5f1d36f1 | 0;
51
- this.Eh = 0x510e527f | 0;
52
- this.El = 0xade682d1 | 0;
53
- this.Fh = 0x9b05688c | 0;
54
- this.Fl = 0x2b3e6c1f | 0;
55
- this.Gh = 0x1f83d9ab | 0;
56
- this.Gl = 0xfb41bd6b | 0;
57
- this.Hh = 0x5be0cd19 | 0;
58
- this.Hl = 0x137e2179 | 0;
59
- }
60
- // prettier-ignore
61
- get() {
62
- const { Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl } = this;
63
- return [Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl];
64
- }
65
- // prettier-ignore
66
- set(Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl) {
67
- this.Ah = Ah | 0;
68
- this.Al = Al | 0;
69
- this.Bh = Bh | 0;
70
- this.Bl = Bl | 0;
71
- this.Ch = Ch | 0;
72
- this.Cl = Cl | 0;
73
- this.Dh = Dh | 0;
74
- this.Dl = Dl | 0;
75
- this.Eh = Eh | 0;
76
- this.El = El | 0;
77
- this.Fh = Fh | 0;
78
- this.Fl = Fl | 0;
79
- this.Gh = Gh | 0;
80
- this.Gl = Gl | 0;
81
- this.Hh = Hh | 0;
82
- this.Hl = Hl | 0;
83
- }
84
- process(view, offset) {
85
- // Extend the first 16 words into the remaining 64 words w[16..79] of the message schedule array
86
- for (let i = 0; i < 16; i++, offset += 4) {
87
- SHA512_W_H[i] = view.getUint32(offset);
88
- SHA512_W_L[i] = view.getUint32((offset += 4));
89
- }
90
- for (let i = 16; i < 80; i++) {
91
- // s0 := (w[i-15] rightrotate 1) xor (w[i-15] rightrotate 8) xor (w[i-15] rightshift 7)
92
- const W15h = SHA512_W_H[i - 15] | 0;
93
- const W15l = SHA512_W_L[i - 15] | 0;
94
- const s0h = _u64["default"].rotrSH(W15h, W15l, 1) ^ _u64["default"].rotrSH(W15h, W15l, 8) ^ _u64["default"].shrSH(W15h, W15l, 7);
95
- const s0l = _u64["default"].rotrSL(W15h, W15l, 1) ^ _u64["default"].rotrSL(W15h, W15l, 8) ^ _u64["default"].shrSL(W15h, W15l, 7);
96
- // s1 := (w[i-2] rightrotate 19) xor (w[i-2] rightrotate 61) xor (w[i-2] rightshift 6)
97
- const W2h = SHA512_W_H[i - 2] | 0;
98
- const W2l = SHA512_W_L[i - 2] | 0;
99
- const s1h = _u64["default"].rotrSH(W2h, W2l, 19) ^ _u64["default"].rotrBH(W2h, W2l, 61) ^ _u64["default"].shrSH(W2h, W2l, 6);
100
- const s1l = _u64["default"].rotrSL(W2h, W2l, 19) ^ _u64["default"].rotrBL(W2h, W2l, 61) ^ _u64["default"].shrSL(W2h, W2l, 6);
101
- // SHA256_W[i] = s0 + s1 + SHA256_W[i - 7] + SHA256_W[i - 16];
102
- const SUMl = _u64["default"].add4L(s0l, s1l, SHA512_W_L[i - 7], SHA512_W_L[i - 16]);
103
- const SUMh = _u64["default"].add4H(SUMl, s0h, s1h, SHA512_W_H[i - 7], SHA512_W_H[i - 16]);
104
- SHA512_W_H[i] = SUMh | 0;
105
- SHA512_W_L[i] = SUMl | 0;
106
- }
107
- let { Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl } = this;
108
- // Compression function main loop, 80 rounds
109
- for (let i = 0; i < 80; i++) {
110
- // S1 := (e rightrotate 14) xor (e rightrotate 18) xor (e rightrotate 41)
111
- const sigma1h = _u64["default"].rotrSH(Eh, El, 14) ^ _u64["default"].rotrSH(Eh, El, 18) ^ _u64["default"].rotrBH(Eh, El, 41);
112
- const sigma1l = _u64["default"].rotrSL(Eh, El, 14) ^ _u64["default"].rotrSL(Eh, El, 18) ^ _u64["default"].rotrBL(Eh, El, 41);
113
- //const T1 = (H + sigma1 + Chi(E, F, G) + SHA256_K[i] + SHA256_W[i]) | 0;
114
- const CHIh = (Eh & Fh) ^ (~Eh & Gh);
115
- const CHIl = (El & Fl) ^ (~El & Gl);
116
- // T1 = H + sigma1 + Chi(E, F, G) + SHA512_K[i] + SHA512_W[i]
117
- // prettier-ignore
118
- const T1ll = _u64["default"].add5L(Hl, sigma1l, CHIl, SHA512_Kl[i], SHA512_W_L[i]);
119
- const T1h = _u64["default"].add5H(T1ll, Hh, sigma1h, CHIh, SHA512_Kh[i], SHA512_W_H[i]);
120
- const T1l = T1ll | 0;
121
- // S0 := (a rightrotate 28) xor (a rightrotate 34) xor (a rightrotate 39)
122
- const sigma0h = _u64["default"].rotrSH(Ah, Al, 28) ^ _u64["default"].rotrBH(Ah, Al, 34) ^ _u64["default"].rotrBH(Ah, Al, 39);
123
- const sigma0l = _u64["default"].rotrSL(Ah, Al, 28) ^ _u64["default"].rotrBL(Ah, Al, 34) ^ _u64["default"].rotrBL(Ah, Al, 39);
124
- const MAJh = (Ah & Bh) ^ (Ah & Ch) ^ (Bh & Ch);
125
- const MAJl = (Al & Bl) ^ (Al & Cl) ^ (Bl & Cl);
126
- Hh = Gh | 0;
127
- Hl = Gl | 0;
128
- Gh = Fh | 0;
129
- Gl = Fl | 0;
130
- Fh = Eh | 0;
131
- Fl = El | 0;
132
- ({ h: Eh, l: El } = _u64["default"].add(Dh | 0, Dl | 0, T1h | 0, T1l | 0));
133
- Dh = Ch | 0;
134
- Dl = Cl | 0;
135
- Ch = Bh | 0;
136
- Cl = Bl | 0;
137
- Bh = Ah | 0;
138
- Bl = Al | 0;
139
- const All = _u64["default"].add3L(T1l, sigma0l, MAJl);
140
- Ah = _u64["default"].add3H(All, T1h, sigma0h, MAJh);
141
- Al = All | 0;
142
- }
143
- // Add the compressed chunk to the current hash value
144
- ({ h: Ah, l: Al } = _u64["default"].add(this.Ah | 0, this.Al | 0, Ah | 0, Al | 0));
145
- ({ h: Bh, l: Bl } = _u64["default"].add(this.Bh | 0, this.Bl | 0, Bh | 0, Bl | 0));
146
- ({ h: Ch, l: Cl } = _u64["default"].add(this.Ch | 0, this.Cl | 0, Ch | 0, Cl | 0));
147
- ({ h: Dh, l: Dl } = _u64["default"].add(this.Dh | 0, this.Dl | 0, Dh | 0, Dl | 0));
148
- ({ h: Eh, l: El } = _u64["default"].add(this.Eh | 0, this.El | 0, Eh | 0, El | 0));
149
- ({ h: Fh, l: Fl } = _u64["default"].add(this.Fh | 0, this.Fl | 0, Fh | 0, Fl | 0));
150
- ({ h: Gh, l: Gl } = _u64["default"].add(this.Gh | 0, this.Gl | 0, Gh | 0, Gl | 0));
151
- ({ h: Hh, l: Hl } = _u64["default"].add(this.Hh | 0, this.Hl | 0, Hh | 0, Hl | 0));
152
- this.set(Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl);
153
- }
154
- roundClean() {
155
- SHA512_W_H.fill(0);
156
- SHA512_W_L.fill(0);
157
- }
158
- destroy() {
159
- this.buffer.fill(0);
160
- this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
161
- }
162
- }
163
- class SHA512_224 extends SHA512 {
164
- constructor() {
165
- super();
166
- // h -- high 32 bits, l -- low 32 bits
167
- this.Ah = 0x8c3d37c8 | 0;
168
- this.Al = 0x19544da2 | 0;
169
- this.Bh = 0x73e19966 | 0;
170
- this.Bl = 0x89dcd4d6 | 0;
171
- this.Ch = 0x1dfab7ae | 0;
172
- this.Cl = 0x32ff9c82 | 0;
173
- this.Dh = 0x679dd514 | 0;
174
- this.Dl = 0x582f9fcf | 0;
175
- this.Eh = 0x0f6d2b69 | 0;
176
- this.El = 0x7bd44da8 | 0;
177
- this.Fh = 0x77e36f73 | 0;
178
- this.Fl = 0x04c48942 | 0;
179
- this.Gh = 0x3f9d85a8 | 0;
180
- this.Gl = 0x6a1d36c8 | 0;
181
- this.Hh = 0x1112e6ad | 0;
182
- this.Hl = 0x91d692a1 | 0;
183
- this.outputLen = 28;
184
- }
185
- }
186
- class SHA512_256 extends SHA512 {
187
- constructor() {
188
- super();
189
- // h -- high 32 bits, l -- low 32 bits
190
- this.Ah = 0x22312194 | 0;
191
- this.Al = 0xfc2bf72c | 0;
192
- this.Bh = 0x9f555fa3 | 0;
193
- this.Bl = 0xc84c64c2 | 0;
194
- this.Ch = 0x2393b86b | 0;
195
- this.Cl = 0x6f53b151 | 0;
196
- this.Dh = 0x96387719 | 0;
197
- this.Dl = 0x5940eabd | 0;
198
- this.Eh = 0x96283ee2 | 0;
199
- this.El = 0xa88effe3 | 0;
200
- this.Fh = 0xbe5e1e25 | 0;
201
- this.Fl = 0x53863992 | 0;
202
- this.Gh = 0x2b0199fc | 0;
203
- this.Gl = 0x2c85b8aa | 0;
204
- this.Hh = 0x0eb72ddc | 0;
205
- this.Hl = 0x81c52ca2 | 0;
206
- this.outputLen = 32;
207
- }
208
- }
209
- class SHA384 extends SHA512 {
210
- constructor() {
211
- super();
212
- // h -- high 32 bits, l -- low 32 bits
213
- this.Ah = 0xcbbb9d5d | 0;
214
- this.Al = 0xc1059ed8 | 0;
215
- this.Bh = 0x629a292a | 0;
216
- this.Bl = 0x367cd507 | 0;
217
- this.Ch = 0x9159015a | 0;
218
- this.Cl = 0x3070dd17 | 0;
219
- this.Dh = 0x152fecd8 | 0;
220
- this.Dl = 0xf70e5939 | 0;
221
- this.Eh = 0x67332667 | 0;
222
- this.El = 0xffc00b31 | 0;
223
- this.Fh = 0x8eb44a87 | 0;
224
- this.Fl = 0x68581511 | 0;
225
- this.Gh = 0xdb0c2e0d | 0;
226
- this.Gl = 0x64f98fa7 | 0;
227
- this.Hh = 0x47b5481d | 0;
228
- this.Hl = 0xbefa4fa4 | 0;
229
- this.outputLen = 48;
230
- }
231
- }
232
- const sha512 = utils.wrapConstructor(() => new SHA512());
233
- utils.wrapConstructor(() => new SHA512_224());
234
- utils.wrapConstructor(() => new SHA512_256());
235
- const sha384 = utils.wrapConstructor(() => new SHA384());
236
-
237
- exports.SHA512 = SHA512;
238
- exports.sha384 = sha384;
239
- exports.sha512 = sha512;
@@ -1,93 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var crypto = require('./crypto.js');
6
-
7
- /*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */
8
- const u32 = (arr) => new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4));
9
- // Cast array to view
10
- const createView = (arr) => new DataView(arr.buffer, arr.byteOffset, arr.byteLength);
11
- // The rotate right (circular right shift) operation for uint32
12
- const rotr = (word, shift) => (word << (32 - shift)) | (word >>> shift);
13
- // big-endian hardware is rare. Just in case someone still decides to run hashes:
14
- // early-throw an error because we don't support BE yet.
15
- const isLE = new Uint8Array(new Uint32Array([0x11223344]).buffer)[0] === 0x44;
16
- if (!isLE)
17
- throw new Error('Non little-endian hardware is not supported');
18
- Array.from({ length: 256 }, (v, i) => i.toString(16).padStart(2, '0'));
19
- function utf8ToBytes(str) {
20
- if (typeof str !== 'string') {
21
- throw new TypeError(`utf8ToBytes expected string, got ${typeof str}`);
22
- }
23
- return new TextEncoder().encode(str);
24
- }
25
- function toBytes(data) {
26
- if (typeof data === 'string')
27
- data = utf8ToBytes(data);
28
- if (!(data instanceof Uint8Array))
29
- throw new TypeError(`Expected input type is Uint8Array (got ${typeof data})`);
30
- return data;
31
- }
32
- /**
33
- * Concats Uint8Array-s into one; like `Buffer.concat([buf1, buf2])`
34
- * @example concatBytes(buf1, buf2)
35
- */
36
- function concatBytes(...arrays) {
37
- if (!arrays.every((a) => a instanceof Uint8Array))
38
- throw new Error('Uint8Array list expected');
39
- if (arrays.length === 1)
40
- return arrays[0];
41
- const length = arrays.reduce((a, arr) => a + arr.length, 0);
42
- const result = new Uint8Array(length);
43
- for (let i = 0, pad = 0; i < arrays.length; i++) {
44
- const arr = arrays[i];
45
- result.set(arr, pad);
46
- pad += arr.length;
47
- }
48
- return result;
49
- }
50
- // For runtime check if class implements interface
51
- class Hash {
52
- // Safe version that clones internal state
53
- clone() {
54
- return this._cloneInto();
55
- }
56
- }
57
- function wrapConstructor(hashConstructor) {
58
- const hashC = (message) => hashConstructor().update(toBytes(message)).digest();
59
- const tmp = hashConstructor();
60
- hashC.outputLen = tmp.outputLen;
61
- hashC.blockLen = tmp.blockLen;
62
- hashC.create = () => hashConstructor();
63
- return hashC;
64
- }
65
- function wrapConstructorWithOpts(hashCons) {
66
- const hashC = (msg, opts) => hashCons(opts).update(toBytes(msg)).digest();
67
- const tmp = hashCons({});
68
- hashC.outputLen = tmp.outputLen;
69
- hashC.blockLen = tmp.blockLen;
70
- hashC.create = (opts) => hashCons(opts);
71
- return hashC;
72
- }
73
- /**
74
- * Secure PRNG. Uses `globalThis.crypto` or node.js crypto module.
75
- */
76
- function randomBytes(bytesLength = 32) {
77
- if (crypto.crypto && typeof crypto.crypto.getRandomValues === 'function') {
78
- return crypto.crypto.getRandomValues(new Uint8Array(bytesLength));
79
- }
80
- throw new Error('crypto.getRandomValues must be defined');
81
- }
82
-
83
- exports.Hash = Hash;
84
- exports.concatBytes = concatBytes;
85
- exports.createView = createView;
86
- exports.isLE = isLE;
87
- exports.randomBytes = randomBytes;
88
- exports.rotr = rotr;
89
- exports.toBytes = toBytes;
90
- exports.u32 = u32;
91
- exports.utf8ToBytes = utf8ToBytes;
92
- exports.wrapConstructor = wrapConstructor;
93
- exports.wrapConstructorWithOpts = wrapConstructorWithOpts;