ccxt 4.2.18 → 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 (426) hide show
  1. package/README.md +8 -8
  2. package/dist/ccxt.browser.js +34202 -33193
  3. package/dist/ccxt.browser.min.js +2 -2
  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/hitbtc.js +5 -4
  49. package/dist/cjs/src/pro/htx.js +6 -1
  50. package/dist/cjs/src/pro/kraken.js +1 -1
  51. package/dist/cjs/src/pro/krakenfutures.js +7 -1
  52. package/dist/cjs/src/pro/kucoin.js +46 -36
  53. package/dist/cjs/src/pro/kucoinfutures.js +45 -37
  54. package/dist/cjs/src/pro/lbank.js +881 -0
  55. package/dist/cjs/src/pro/okx.js +52 -2
  56. package/dist/cjs/{js/src/pro/bitpanda.js → src/pro/onetrading.js} +4 -7
  57. package/dist/cjs/src/pro/poloniex.js +2 -2
  58. package/dist/cjs/src/pro/poloniexfutures.js +43 -35
  59. package/dist/cjs/src/pro/woo.js +126 -0
  60. package/dist/cjs/src/probit.js +4 -2
  61. package/dist/cjs/src/upbit.js +12 -12
  62. package/dist/cjs/src/wavesexchange.js +1 -1
  63. package/dist/cjs/src/whitebit.js +1 -0
  64. package/dist/cjs/src/woo.js +56 -0
  65. package/js/ccxt.d.ts +11 -2
  66. package/js/ccxt.js +8 -2
  67. package/js/src/abstract/bitpanda.d.ts +4 -4
  68. package/js/src/abstract/bitstamp.d.ts +8 -0
  69. package/js/src/abstract/gate.d.ts +1 -0
  70. package/js/src/abstract/gateio.d.ts +1 -0
  71. package/js/src/abstract/htx.d.ts +3 -0
  72. package/js/src/abstract/huobi.d.ts +3 -0
  73. package/js/src/abstract/luno.d.ts +1 -0
  74. package/js/src/abstract/onetrading.d.ts +38 -0
  75. package/js/src/ascendex.js +2 -0
  76. package/js/src/bingx.js +1 -1
  77. package/js/src/bitget.js +22 -3
  78. package/js/src/bitpanda.d.ts +2 -72
  79. package/js/src/bitpanda.js +5 -1991
  80. package/js/src/bitstamp.js +8 -0
  81. package/js/src/deribit.js +11 -3
  82. package/js/src/gate.d.ts +1 -0
  83. package/js/src/gate.js +50 -110
  84. package/js/src/htx.js +3 -0
  85. package/js/src/kraken.d.ts +1 -0
  86. package/js/src/kraken.js +39 -38
  87. package/js/src/lbank.js +1 -0
  88. package/js/src/luno.d.ts +3 -1
  89. package/js/src/luno.js +84 -2
  90. package/js/src/mexc.js +1 -2
  91. package/js/src/onetrading.d.ts +74 -0
  92. package/js/src/onetrading.js +2003 -0
  93. package/js/src/poloniexfutures.js +1 -0
  94. package/js/src/pro/binance.js +6 -1
  95. package/js/src/pro/bitpanda.d.ts +2 -34
  96. package/js/src/pro/bitpanda.js +5 -1330
  97. package/js/src/pro/lbank.d.ts +29 -0
  98. package/js/src/pro/lbank.js +882 -0
  99. package/js/src/pro/onetrading.d.ts +36 -0
  100. package/js/src/pro/onetrading.js +1339 -0
  101. package/package.json +2 -2
  102. package/rollup.config.js +2 -0
  103. package/skip-tests.json +2 -1
  104. package/test-commonjs.cjs +25 -1
  105. package/dist/cjs/js/ccxt.js +0 -478
  106. package/dist/cjs/js/src/abstract/alpaca.js +0 -9
  107. package/dist/cjs/js/src/abstract/ascendex.js +0 -9
  108. package/dist/cjs/js/src/abstract/bigone.js +0 -9
  109. package/dist/cjs/js/src/abstract/binance.js +0 -9
  110. package/dist/cjs/js/src/abstract/bingx.js +0 -9
  111. package/dist/cjs/js/src/abstract/bit2c.js +0 -9
  112. package/dist/cjs/js/src/abstract/bitbank.js +0 -9
  113. package/dist/cjs/js/src/abstract/bitbns.js +0 -9
  114. package/dist/cjs/js/src/abstract/bitfinex.js +0 -9
  115. package/dist/cjs/js/src/abstract/bitfinex2.js +0 -9
  116. package/dist/cjs/js/src/abstract/bitflyer.js +0 -9
  117. package/dist/cjs/js/src/abstract/bitforex.js +0 -9
  118. package/dist/cjs/js/src/abstract/bitget.js +0 -9
  119. package/dist/cjs/js/src/abstract/bithumb.js +0 -9
  120. package/dist/cjs/js/src/abstract/bitmart.js +0 -9
  121. package/dist/cjs/js/src/abstract/bitmex.js +0 -9
  122. package/dist/cjs/js/src/abstract/bitopro.js +0 -9
  123. package/dist/cjs/js/src/abstract/bitpanda.js +0 -9
  124. package/dist/cjs/js/src/abstract/bitrue.js +0 -9
  125. package/dist/cjs/js/src/abstract/bitso.js +0 -9
  126. package/dist/cjs/js/src/abstract/bitstamp.js +0 -9
  127. package/dist/cjs/js/src/abstract/bitteam.js +0 -9
  128. package/dist/cjs/js/src/abstract/bitvavo.js +0 -9
  129. package/dist/cjs/js/src/abstract/bl3p.js +0 -9
  130. package/dist/cjs/js/src/abstract/blockchaincom.js +0 -9
  131. package/dist/cjs/js/src/abstract/btcalpha.js +0 -9
  132. package/dist/cjs/js/src/abstract/btcbox.js +0 -9
  133. package/dist/cjs/js/src/abstract/btcmarkets.js +0 -9
  134. package/dist/cjs/js/src/abstract/btcturk.js +0 -9
  135. package/dist/cjs/js/src/abstract/bybit.js +0 -9
  136. package/dist/cjs/js/src/abstract/cex.js +0 -9
  137. package/dist/cjs/js/src/abstract/coinbase.js +0 -9
  138. package/dist/cjs/js/src/abstract/coinbasepro.js +0 -9
  139. package/dist/cjs/js/src/abstract/coincheck.js +0 -9
  140. package/dist/cjs/js/src/abstract/coinex.js +0 -9
  141. package/dist/cjs/js/src/abstract/coinlist.js +0 -9
  142. package/dist/cjs/js/src/abstract/coinmate.js +0 -9
  143. package/dist/cjs/js/src/abstract/coinone.js +0 -9
  144. package/dist/cjs/js/src/abstract/coinsph.js +0 -9
  145. package/dist/cjs/js/src/abstract/coinspot.js +0 -9
  146. package/dist/cjs/js/src/abstract/cryptocom.js +0 -9
  147. package/dist/cjs/js/src/abstract/currencycom.js +0 -9
  148. package/dist/cjs/js/src/abstract/delta.js +0 -9
  149. package/dist/cjs/js/src/abstract/deribit.js +0 -9
  150. package/dist/cjs/js/src/abstract/digifinex.js +0 -9
  151. package/dist/cjs/js/src/abstract/exmo.js +0 -9
  152. package/dist/cjs/js/src/abstract/gate.js +0 -9
  153. package/dist/cjs/js/src/abstract/gemini.js +0 -9
  154. package/dist/cjs/js/src/abstract/hitbtc.js +0 -9
  155. package/dist/cjs/js/src/abstract/hollaex.js +0 -9
  156. package/dist/cjs/js/src/abstract/htx.js +0 -9
  157. package/dist/cjs/js/src/abstract/huobijp.js +0 -9
  158. package/dist/cjs/js/src/abstract/idex.js +0 -9
  159. package/dist/cjs/js/src/abstract/independentreserve.js +0 -9
  160. package/dist/cjs/js/src/abstract/indodax.js +0 -9
  161. package/dist/cjs/js/src/abstract/kraken.js +0 -9
  162. package/dist/cjs/js/src/abstract/krakenfutures.js +0 -9
  163. package/dist/cjs/js/src/abstract/kucoin.js +0 -9
  164. package/dist/cjs/js/src/abstract/kucoinfutures.js +0 -9
  165. package/dist/cjs/js/src/abstract/kuna.js +0 -9
  166. package/dist/cjs/js/src/abstract/latoken.js +0 -9
  167. package/dist/cjs/js/src/abstract/lbank.js +0 -9
  168. package/dist/cjs/js/src/abstract/luno.js +0 -9
  169. package/dist/cjs/js/src/abstract/lykke.js +0 -9
  170. package/dist/cjs/js/src/abstract/mercado.js +0 -9
  171. package/dist/cjs/js/src/abstract/mexc.js +0 -9
  172. package/dist/cjs/js/src/abstract/ndax.js +0 -9
  173. package/dist/cjs/js/src/abstract/novadax.js +0 -9
  174. package/dist/cjs/js/src/abstract/oceanex.js +0 -9
  175. package/dist/cjs/js/src/abstract/okcoin.js +0 -9
  176. package/dist/cjs/js/src/abstract/okx.js +0 -9
  177. package/dist/cjs/js/src/abstract/p2b.js +0 -9
  178. package/dist/cjs/js/src/abstract/paymium.js +0 -9
  179. package/dist/cjs/js/src/abstract/phemex.js +0 -9
  180. package/dist/cjs/js/src/abstract/poloniex.js +0 -9
  181. package/dist/cjs/js/src/abstract/poloniexfutures.js +0 -9
  182. package/dist/cjs/js/src/abstract/probit.js +0 -9
  183. package/dist/cjs/js/src/abstract/timex.js +0 -9
  184. package/dist/cjs/js/src/abstract/tokocrypto.js +0 -9
  185. package/dist/cjs/js/src/abstract/upbit.js +0 -9
  186. package/dist/cjs/js/src/abstract/wavesexchange.js +0 -9
  187. package/dist/cjs/js/src/abstract/wazirx.js +0 -9
  188. package/dist/cjs/js/src/abstract/whitebit.js +0 -9
  189. package/dist/cjs/js/src/abstract/woo.js +0 -9
  190. package/dist/cjs/js/src/abstract/yobit.js +0 -9
  191. package/dist/cjs/js/src/abstract/zaif.js +0 -9
  192. package/dist/cjs/js/src/abstract/zonda.js +0 -9
  193. package/dist/cjs/js/src/ace.js +0 -1058
  194. package/dist/cjs/js/src/alpaca.js +0 -1125
  195. package/dist/cjs/js/src/ascendex.js +0 -3365
  196. package/dist/cjs/js/src/base/Exchange.js +0 -5260
  197. package/dist/cjs/js/src/base/Precise.js +0 -263
  198. package/dist/cjs/js/src/base/errors.js +0 -299
  199. package/dist/cjs/js/src/base/functions/crypto.js +0 -78
  200. package/dist/cjs/js/src/base/functions/encode.js +0 -44
  201. package/dist/cjs/js/src/base/functions/generic.js +0 -193
  202. package/dist/cjs/js/src/base/functions/misc.js +0 -96
  203. package/dist/cjs/js/src/base/functions/number.js +0 -297
  204. package/dist/cjs/js/src/base/functions/platform.js +0 -28
  205. package/dist/cjs/js/src/base/functions/rsa.js +0 -34
  206. package/dist/cjs/js/src/base/functions/string.js +0 -48
  207. package/dist/cjs/js/src/base/functions/throttle.js +0 -66
  208. package/dist/cjs/js/src/base/functions/time.js +0 -187
  209. package/dist/cjs/js/src/base/functions/totp.js +0 -24
  210. package/dist/cjs/js/src/base/functions/type.js +0 -162
  211. package/dist/cjs/js/src/base/functions.js +0 -157
  212. package/dist/cjs/js/src/base/ws/Cache.js +0 -254
  213. package/dist/cjs/js/src/base/ws/Client.js +0 -299
  214. package/dist/cjs/js/src/base/ws/Future.js +0 -34
  215. package/dist/cjs/js/src/base/ws/OrderBook.js +0 -107
  216. package/dist/cjs/js/src/base/ws/OrderBookSide.js +0 -281
  217. package/dist/cjs/js/src/base/ws/WsClient.js +0 -69
  218. package/dist/cjs/js/src/bequant.js +0 -33
  219. package/dist/cjs/js/src/bigone.js +0 -2213
  220. package/dist/cjs/js/src/binance.js +0 -9851
  221. package/dist/cjs/js/src/binancecoinm.js +0 -45
  222. package/dist/cjs/js/src/binanceus.js +0 -92
  223. package/dist/cjs/js/src/binanceusdm.js +0 -58
  224. package/dist/cjs/js/src/bingx.js +0 -3872
  225. package/dist/cjs/js/src/bit2c.js +0 -916
  226. package/dist/cjs/js/src/bitbank.js +0 -1000
  227. package/dist/cjs/js/src/bitbay.js +0 -17
  228. package/dist/cjs/js/src/bitbns.js +0 -1220
  229. package/dist/cjs/js/src/bitcoincom.js +0 -17
  230. package/dist/cjs/js/src/bitfinex.js +0 -1670
  231. package/dist/cjs/js/src/bitfinex2.js +0 -2990
  232. package/dist/cjs/js/src/bitflyer.js +0 -1045
  233. package/dist/cjs/js/src/bitforex.js +0 -852
  234. package/dist/cjs/js/src/bitget.js +0 -8295
  235. package/dist/cjs/js/src/bithumb.js +0 -1090
  236. package/dist/cjs/js/src/bitmart.js +0 -4454
  237. package/dist/cjs/js/src/bitmex.js +0 -2881
  238. package/dist/cjs/js/src/bitopro.js +0 -1724
  239. package/dist/cjs/js/src/bitrue.js +0 -3253
  240. package/dist/cjs/js/src/bitso.js +0 -1753
  241. package/dist/cjs/js/src/bitstamp.js +0 -2188
  242. package/dist/cjs/js/src/bitteam.js +0 -2309
  243. package/dist/cjs/js/src/bitvavo.js +0 -1968
  244. package/dist/cjs/js/src/bl3p.js +0 -447
  245. package/dist/cjs/js/src/blockchaincom.js +0 -1160
  246. package/dist/cjs/js/src/btcalpha.js +0 -929
  247. package/dist/cjs/js/src/btcbox.js +0 -565
  248. package/dist/cjs/js/src/btcmarkets.js +0 -1237
  249. package/dist/cjs/js/src/btcturk.js +0 -929
  250. package/dist/cjs/js/src/bybit.js +0 -7624
  251. package/dist/cjs/js/src/cex.js +0 -1693
  252. package/dist/cjs/js/src/coinbase.js +0 -3424
  253. package/dist/cjs/js/src/coinbasepro.js +0 -1866
  254. package/dist/cjs/js/src/coincheck.js +0 -844
  255. package/dist/cjs/js/src/coinex.js +0 -5417
  256. package/dist/cjs/js/src/coinlist.js +0 -2337
  257. package/dist/cjs/js/src/coinmate.js +0 -989
  258. package/dist/cjs/js/src/coinone.js +0 -1185
  259. package/dist/cjs/js/src/coinsph.js +0 -1933
  260. package/dist/cjs/js/src/coinspot.js +0 -548
  261. package/dist/cjs/js/src/cryptocom.js +0 -3007
  262. package/dist/cjs/js/src/currencycom.js +0 -2015
  263. package/dist/cjs/js/src/delta.js +0 -3262
  264. package/dist/cjs/js/src/deribit.js +0 -3310
  265. package/dist/cjs/js/src/digifinex.js +0 -4307
  266. package/dist/cjs/js/src/exmo.js +0 -2645
  267. package/dist/cjs/js/src/fmfwio.js +0 -34
  268. package/dist/cjs/js/src/gate.js +0 -7077
  269. package/dist/cjs/js/src/gateio.js +0 -16
  270. package/dist/cjs/js/src/gemini.js +0 -1801
  271. package/dist/cjs/js/src/hitbtc.js +0 -3660
  272. package/dist/cjs/js/src/hitbtc3.js +0 -19
  273. package/dist/cjs/js/src/hollaex.js +0 -1882
  274. package/dist/cjs/js/src/htx.js +0 -9174
  275. package/dist/cjs/js/src/huobi.js +0 -16
  276. package/dist/cjs/js/src/huobijp.js +0 -1918
  277. package/dist/cjs/js/src/idex.js +0 -1770
  278. package/dist/cjs/js/src/independentreserve.js +0 -761
  279. package/dist/cjs/js/src/indodax.js +0 -1069
  280. package/dist/cjs/js/src/kraken.js +0 -2891
  281. package/dist/cjs/js/src/krakenfutures.js +0 -2407
  282. package/dist/cjs/js/src/kucoin.js +0 -4494
  283. package/dist/cjs/js/src/kucoinfutures.js +0 -2529
  284. package/dist/cjs/js/src/kuna.js +0 -1949
  285. package/dist/cjs/js/src/latoken.js +0 -1729
  286. package/dist/cjs/js/src/lbank.js +0 -2851
  287. package/dist/cjs/js/src/luno.js +0 -1044
  288. package/dist/cjs/js/src/lykke.js +0 -1303
  289. package/dist/cjs/js/src/mercado.js +0 -897
  290. package/dist/cjs/js/src/mexc.js +0 -5407
  291. package/dist/cjs/js/src/ndax.js +0 -2450
  292. package/dist/cjs/js/src/novadax.js +0 -1556
  293. package/dist/cjs/js/src/oceanex.js +0 -964
  294. package/dist/cjs/js/src/okcoin.js +0 -3115
  295. package/dist/cjs/js/src/okx.js +0 -7331
  296. package/dist/cjs/js/src/p2b.js +0 -1243
  297. package/dist/cjs/js/src/paymium.js +0 -597
  298. package/dist/cjs/js/src/phemex.js +0 -4725
  299. package/dist/cjs/js/src/poloniex.js +0 -2356
  300. package/dist/cjs/js/src/poloniexfutures.js +0 -1794
  301. package/dist/cjs/js/src/pro/alpaca.js +0 -714
  302. package/dist/cjs/js/src/pro/ascendex.js +0 -957
  303. package/dist/cjs/js/src/pro/bequant.js +0 -33
  304. package/dist/cjs/js/src/pro/binance.js +0 -2796
  305. package/dist/cjs/js/src/pro/binancecoinm.js +0 -23
  306. package/dist/cjs/js/src/pro/binanceus.js +0 -51
  307. package/dist/cjs/js/src/pro/binanceusdm.js +0 -32
  308. package/dist/cjs/js/src/pro/bingx.js +0 -944
  309. package/dist/cjs/js/src/pro/bitcoincom.js +0 -29
  310. package/dist/cjs/js/src/pro/bitfinex.js +0 -672
  311. package/dist/cjs/js/src/pro/bitfinex2.js +0 -1159
  312. package/dist/cjs/js/src/pro/bitget.js +0 -1733
  313. package/dist/cjs/js/src/pro/bitmart.js +0 -1486
  314. package/dist/cjs/js/src/pro/bitmex.js +0 -1576
  315. package/dist/cjs/js/src/pro/bitopro.js +0 -327
  316. package/dist/cjs/js/src/pro/bitrue.js +0 -462
  317. package/dist/cjs/js/src/pro/bitstamp.js +0 -547
  318. package/dist/cjs/js/src/pro/bitvavo.js +0 -704
  319. package/dist/cjs/js/src/pro/blockchaincom.js +0 -794
  320. package/dist/cjs/js/src/pro/bybit.js +0 -1843
  321. package/dist/cjs/js/src/pro/cex.js +0 -1510
  322. package/dist/cjs/js/src/pro/coinbase.js +0 -561
  323. package/dist/cjs/js/src/pro/coinbasepro.js +0 -968
  324. package/dist/cjs/js/src/pro/coinex.js +0 -1095
  325. package/dist/cjs/js/src/pro/cryptocom.js +0 -1020
  326. package/dist/cjs/js/src/pro/currencycom.js +0 -563
  327. package/dist/cjs/js/src/pro/deribit.js +0 -825
  328. package/dist/cjs/js/src/pro/exmo.js +0 -658
  329. package/dist/cjs/js/src/pro/gate.js +0 -1316
  330. package/dist/cjs/js/src/pro/gateio.js +0 -16
  331. package/dist/cjs/js/src/pro/gemini.js +0 -649
  332. package/dist/cjs/js/src/pro/hitbtc.js +0 -1294
  333. package/dist/cjs/js/src/pro/hollaex.js +0 -597
  334. package/dist/cjs/js/src/pro/htx.js +0 -2388
  335. package/dist/cjs/js/src/pro/huobi.js +0 -16
  336. package/dist/cjs/js/src/pro/huobijp.js +0 -606
  337. package/dist/cjs/js/src/pro/idex.js +0 -714
  338. package/dist/cjs/js/src/pro/independentreserve.js +0 -280
  339. package/dist/cjs/js/src/pro/kraken.js +0 -1364
  340. package/dist/cjs/js/src/pro/krakenfutures.js +0 -1506
  341. package/dist/cjs/js/src/pro/kucoin.js +0 -1062
  342. package/dist/cjs/js/src/pro/kucoinfutures.js +0 -989
  343. package/dist/cjs/js/src/pro/luno.js +0 -322
  344. package/dist/cjs/js/src/pro/mexc.js +0 -1170
  345. package/dist/cjs/js/src/pro/ndax.js +0 -545
  346. package/dist/cjs/js/src/pro/okcoin.js +0 -760
  347. package/dist/cjs/js/src/pro/okx.js +0 -1608
  348. package/dist/cjs/js/src/pro/phemex.js +0 -1511
  349. package/dist/cjs/js/src/pro/poloniex.js +0 -1253
  350. package/dist/cjs/js/src/pro/poloniexfutures.js +0 -1022
  351. package/dist/cjs/js/src/pro/probit.js +0 -586
  352. package/dist/cjs/js/src/pro/upbit.js +0 -234
  353. package/dist/cjs/js/src/pro/wazirx.js +0 -776
  354. package/dist/cjs/js/src/pro/whitebit.js +0 -927
  355. package/dist/cjs/js/src/pro/woo.js +0 -895
  356. package/dist/cjs/js/src/probit.js +0 -1867
  357. package/dist/cjs/js/src/static_dependencies/fflake/browser.js +0 -401
  358. package/dist/cjs/js/src/static_dependencies/jsencrypt/JSEncrypt.js +0 -195
  359. package/dist/cjs/js/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +0 -308
  360. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +0 -554
  361. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +0 -94
  362. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +0 -70
  363. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +0 -91
  364. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +0 -16
  365. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +0 -1760
  366. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +0 -52
  367. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +0 -81
  368. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +0 -376
  369. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/util.js +0 -70
  370. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +0 -1580
  371. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +0 -74
  372. package/dist/cjs/js/src/static_dependencies/noble-curves/_shortw_utils.js +0 -24
  373. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/curve.js +0 -158
  374. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/edwards.js +0 -429
  375. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +0 -176
  376. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/modular.js +0 -324
  377. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/montgomery.js +0 -163
  378. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/utils.js +0 -245
  379. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/weierstrass.js +0 -1018
  380. package/dist/cjs/js/src/static_dependencies/noble-curves/ed25519.js +0 -383
  381. package/dist/cjs/js/src/static_dependencies/noble-curves/secp256k1.js +0 -258
  382. package/dist/cjs/js/src/static_dependencies/noble-hashes/_assert.js +0 -53
  383. package/dist/cjs/js/src/static_dependencies/noble-hashes/_sha2.js +0 -120
  384. package/dist/cjs/js/src/static_dependencies/noble-hashes/_u64.js +0 -69
  385. package/dist/cjs/js/src/static_dependencies/noble-hashes/crypto.js +0 -7
  386. package/dist/cjs/js/src/static_dependencies/noble-hashes/hmac.js +0 -83
  387. package/dist/cjs/js/src/static_dependencies/noble-hashes/md5.js +0 -240
  388. package/dist/cjs/js/src/static_dependencies/noble-hashes/sha1.js +0 -91
  389. package/dist/cjs/js/src/static_dependencies/noble-hashes/sha256.js +0 -130
  390. package/dist/cjs/js/src/static_dependencies/noble-hashes/sha3.js +0 -214
  391. package/dist/cjs/js/src/static_dependencies/noble-hashes/sha512.js +0 -239
  392. package/dist/cjs/js/src/static_dependencies/noble-hashes/utils.js +0 -93
  393. package/dist/cjs/js/src/static_dependencies/node-fetch/body.js +0 -354
  394. package/dist/cjs/js/src/static_dependencies/node-fetch/errors/abort-error.js +0 -16
  395. package/dist/cjs/js/src/static_dependencies/node-fetch/errors/base.js +0 -20
  396. package/dist/cjs/js/src/static_dependencies/node-fetch/errors/fetch-error.js +0 -30
  397. package/dist/cjs/js/src/static_dependencies/node-fetch/headers.js +0 -239
  398. package/dist/cjs/js/src/static_dependencies/node-fetch/index.js +0 -372
  399. package/dist/cjs/js/src/static_dependencies/node-fetch/request.js +0 -273
  400. package/dist/cjs/js/src/static_dependencies/node-fetch/response.js +0 -139
  401. package/dist/cjs/js/src/static_dependencies/node-fetch/utils/get-search.js +0 -14
  402. package/dist/cjs/js/src/static_dependencies/node-fetch/utils/is-redirect.js +0 -16
  403. package/dist/cjs/js/src/static_dependencies/node-fetch/utils/is.js +0 -81
  404. package/dist/cjs/js/src/static_dependencies/node-fetch/utils/referrer.js +0 -292
  405. package/dist/cjs/js/src/static_dependencies/proxies/agent-base/index.js +0 -103
  406. package/dist/cjs/js/src/static_dependencies/proxies/http-proxy-agent/index.js +0 -140
  407. package/dist/cjs/js/src/static_dependencies/proxies/https-proxy-agent/index.js +0 -175
  408. package/dist/cjs/js/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +0 -95
  409. package/dist/cjs/js/src/static_dependencies/qs/index.cjs.js +0 -7
  410. package/dist/cjs/js/src/static_dependencies/scure-base/index.js +0 -383
  411. package/dist/cjs/js/src/timex.js +0 -1562
  412. package/dist/cjs/js/src/tokocrypto.js +0 -2542
  413. package/dist/cjs/js/src/upbit.js +0 -1844
  414. package/dist/cjs/js/src/wavesexchange.js +0 -2607
  415. package/dist/cjs/js/src/wazirx.js +0 -953
  416. package/dist/cjs/js/src/whitebit.js +0 -2310
  417. package/dist/cjs/js/src/woo.js +0 -2769
  418. package/dist/cjs/js/src/yobit.js +0 -1314
  419. package/dist/cjs/js/src/zaif.js +0 -736
  420. package/dist/cjs/js/src/zonda.js +0 -1883
  421. package/dist/cjs/src/abstract/bitpanda.js +0 -9
  422. package/test.ts +0 -0
  423. /package/dist/cjs/{js/src/abstract/ace.js → src/abstract/onetrading.js} +0 -0
  424. /package/dist/cjs/{js/src → src}/pro/coincheck.js +0 -0
  425. /package/dist/cjs/{js/src → src}/pro/coinone.js +0 -0
  426. /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;