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.
- package/README.md +9 -9
- package/dist/ccxt.browser.js +48992 -47725
- package/dist/ccxt.browser.min.js +3 -3
- package/dist/cjs/ccxt.js +12 -1
- package/dist/cjs/src/alpaca.js +18 -18
- package/dist/cjs/src/ascendex.js +13 -6
- package/dist/cjs/src/base/Exchange.js +266 -27
- package/dist/cjs/src/bigone.js +434 -168
- package/dist/cjs/src/binance.js +163 -34
- package/dist/cjs/src/binanceus.js +8 -0
- package/dist/cjs/src/bingx.js +183 -41
- package/dist/cjs/src/bitfinex.js +2 -3
- package/dist/cjs/src/bitget.js +59 -16
- package/dist/cjs/src/bitmart.js +5 -5
- package/dist/cjs/src/bitmex.js +4 -6
- package/dist/cjs/src/bitpanda.js +5 -1991
- package/dist/cjs/src/bitstamp.js +8 -0
- package/dist/cjs/src/bybit.js +27 -47
- package/dist/cjs/src/coinbase.js +176 -26
- package/dist/cjs/src/coincheck.js +1 -0
- package/dist/cjs/src/coinex.js +3 -0
- package/dist/cjs/src/coinlist.js +13 -6
- package/dist/cjs/src/coinone.js +2 -2
- package/dist/cjs/src/coinsph.js +4 -5
- package/dist/cjs/src/delta.js +7 -1
- package/dist/cjs/src/deribit.js +17 -4
- package/dist/cjs/src/gate.js +151 -169
- package/dist/cjs/src/gemini.js +1 -1
- package/dist/cjs/src/hitbtc.js +2 -3
- package/dist/cjs/src/htx.js +157 -7
- package/dist/cjs/src/huobijp.js +2 -3
- package/dist/cjs/src/independentreserve.js +7 -5
- package/dist/cjs/src/kraken.js +86 -54
- package/dist/cjs/src/kucoin.js +5 -0
- package/dist/cjs/src/kucoinfutures.js +131 -77
- package/dist/cjs/src/lbank.js +60 -33
- package/dist/cjs/src/luno.js +84 -2
- package/dist/cjs/src/mexc.js +3 -3
- package/dist/cjs/src/oceanex.js +1 -1
- package/dist/cjs/src/okx.js +23 -11
- package/dist/cjs/{js/src/bitpanda.js → src/onetrading.js} +39 -39
- package/dist/cjs/src/phemex.js +37 -27
- package/dist/cjs/src/poloniexfutures.js +1 -0
- package/dist/cjs/src/pro/binance.js +66 -25
- package/dist/cjs/src/pro/bitget.js +1 -1
- package/dist/cjs/src/pro/bitpanda.js +5 -1330
- package/dist/cjs/src/pro/coinbase.js +4 -1
- package/dist/cjs/src/pro/coincheck.js +208 -0
- package/dist/cjs/src/pro/hitbtc.js +5 -4
- package/dist/cjs/src/pro/htx.js +6 -1
- package/dist/cjs/src/pro/kraken.js +1 -1
- package/dist/cjs/src/pro/krakenfutures.js +7 -1
- package/dist/cjs/src/pro/kucoin.js +46 -36
- package/dist/cjs/src/pro/kucoinfutures.js +45 -37
- package/dist/cjs/src/pro/lbank.js +881 -0
- package/dist/cjs/src/pro/okx.js +52 -2
- package/dist/cjs/{js/src/pro/bitpanda.js → src/pro/onetrading.js} +4 -7
- package/dist/cjs/src/pro/poloniex.js +2 -2
- package/dist/cjs/src/pro/poloniexfutures.js +43 -35
- package/dist/cjs/src/pro/woo.js +126 -0
- package/dist/cjs/src/probit.js +4 -2
- package/dist/cjs/src/upbit.js +12 -12
- package/dist/cjs/src/wavesexchange.js +1 -1
- package/dist/cjs/src/whitebit.js +1 -0
- package/dist/cjs/src/woo.js +56 -0
- package/js/ccxt.d.ts +14 -2
- package/js/ccxt.js +10 -2
- package/js/src/abstract/bitpanda.d.ts +4 -4
- package/js/src/abstract/bitstamp.d.ts +8 -0
- package/js/src/abstract/gate.d.ts +1 -0
- package/js/src/abstract/gateio.d.ts +1 -0
- package/js/src/abstract/htx.d.ts +3 -0
- package/js/src/abstract/huobi.d.ts +3 -0
- package/js/src/abstract/luno.d.ts +1 -0
- package/js/src/abstract/onetrading.d.ts +38 -0
- package/js/src/ascendex.js +2 -0
- package/js/src/base/Exchange.d.ts +2 -3
- package/js/src/base/Exchange.js +5 -2
- package/js/src/binance.js +7 -1
- package/js/src/bingx.d.ts +1 -0
- package/js/src/bingx.js +26 -0
- package/js/src/bitget.js +22 -3
- package/js/src/bitpanda.d.ts +2 -72
- package/js/src/bitpanda.js +5 -1991
- package/js/src/bitstamp.js +8 -0
- package/js/src/bybit.js +21 -47
- package/js/src/coincheck.js +1 -0
- package/js/src/deribit.js +16 -4
- package/js/src/gate.d.ts +1 -0
- package/js/src/gate.js +50 -110
- package/js/src/htx.js +3 -0
- package/js/src/kraken.d.ts +1 -0
- package/js/src/kraken.js +40 -39
- package/js/src/lbank.js +1 -0
- package/js/src/luno.d.ts +3 -1
- package/js/src/luno.js +84 -2
- package/js/src/mexc.js +1 -2
- package/js/src/onetrading.d.ts +74 -0
- package/js/src/onetrading.js +2003 -0
- package/js/src/poloniexfutures.js +1 -0
- package/js/src/pro/binance.js +7 -2
- package/js/src/pro/bitget.js +1 -1
- package/js/src/pro/bitpanda.d.ts +2 -34
- package/js/src/pro/bitpanda.js +5 -1330
- package/js/src/pro/coincheck.d.ts +12 -0
- package/js/src/pro/coincheck.js +209 -0
- package/js/src/pro/kucoin.js +43 -35
- package/js/src/pro/kucoinfutures.js +45 -37
- package/js/src/pro/lbank.d.ts +29 -0
- package/js/src/pro/lbank.js +882 -0
- package/js/src/pro/onetrading.d.ts +36 -0
- package/js/src/pro/onetrading.js +1339 -0
- package/js/src/pro/poloniexfutures.js +43 -35
- package/js/src/whitebit.js +1 -0
- package/package.json +2 -2
- package/rollup.config.js +2 -0
- package/skip-tests.json +14 -2
- package/test-commonjs.cjs +25 -1
- package/dist/cjs/js/ccxt.js +0 -476
- package/dist/cjs/js/src/abstract/alpaca.js +0 -9
- package/dist/cjs/js/src/abstract/ascendex.js +0 -9
- package/dist/cjs/js/src/abstract/bigone.js +0 -9
- package/dist/cjs/js/src/abstract/binance.js +0 -9
- package/dist/cjs/js/src/abstract/bingx.js +0 -9
- package/dist/cjs/js/src/abstract/bit2c.js +0 -9
- package/dist/cjs/js/src/abstract/bitbank.js +0 -9
- package/dist/cjs/js/src/abstract/bitbns.js +0 -9
- package/dist/cjs/js/src/abstract/bitfinex.js +0 -9
- package/dist/cjs/js/src/abstract/bitfinex2.js +0 -9
- package/dist/cjs/js/src/abstract/bitflyer.js +0 -9
- package/dist/cjs/js/src/abstract/bitforex.js +0 -9
- package/dist/cjs/js/src/abstract/bitget.js +0 -9
- package/dist/cjs/js/src/abstract/bithumb.js +0 -9
- package/dist/cjs/js/src/abstract/bitmart.js +0 -9
- package/dist/cjs/js/src/abstract/bitmex.js +0 -9
- package/dist/cjs/js/src/abstract/bitopro.js +0 -9
- package/dist/cjs/js/src/abstract/bitpanda.js +0 -9
- package/dist/cjs/js/src/abstract/bitrue.js +0 -9
- package/dist/cjs/js/src/abstract/bitso.js +0 -9
- package/dist/cjs/js/src/abstract/bitstamp.js +0 -9
- package/dist/cjs/js/src/abstract/bitteam.js +0 -9
- package/dist/cjs/js/src/abstract/bitvavo.js +0 -9
- package/dist/cjs/js/src/abstract/bl3p.js +0 -9
- package/dist/cjs/js/src/abstract/blockchaincom.js +0 -9
- package/dist/cjs/js/src/abstract/btcalpha.js +0 -9
- package/dist/cjs/js/src/abstract/btcbox.js +0 -9
- package/dist/cjs/js/src/abstract/btcmarkets.js +0 -9
- package/dist/cjs/js/src/abstract/btcturk.js +0 -9
- package/dist/cjs/js/src/abstract/bybit.js +0 -9
- package/dist/cjs/js/src/abstract/cex.js +0 -9
- package/dist/cjs/js/src/abstract/coinbase.js +0 -9
- package/dist/cjs/js/src/abstract/coinbasepro.js +0 -9
- package/dist/cjs/js/src/abstract/coincheck.js +0 -9
- package/dist/cjs/js/src/abstract/coinex.js +0 -9
- package/dist/cjs/js/src/abstract/coinlist.js +0 -9
- package/dist/cjs/js/src/abstract/coinmate.js +0 -9
- package/dist/cjs/js/src/abstract/coinone.js +0 -9
- package/dist/cjs/js/src/abstract/coinsph.js +0 -9
- package/dist/cjs/js/src/abstract/coinspot.js +0 -9
- package/dist/cjs/js/src/abstract/cryptocom.js +0 -9
- package/dist/cjs/js/src/abstract/currencycom.js +0 -9
- package/dist/cjs/js/src/abstract/delta.js +0 -9
- package/dist/cjs/js/src/abstract/deribit.js +0 -9
- package/dist/cjs/js/src/abstract/digifinex.js +0 -9
- package/dist/cjs/js/src/abstract/exmo.js +0 -9
- package/dist/cjs/js/src/abstract/gate.js +0 -9
- package/dist/cjs/js/src/abstract/gemini.js +0 -9
- package/dist/cjs/js/src/abstract/hitbtc.js +0 -9
- package/dist/cjs/js/src/abstract/hollaex.js +0 -9
- package/dist/cjs/js/src/abstract/htx.js +0 -9
- package/dist/cjs/js/src/abstract/huobijp.js +0 -9
- package/dist/cjs/js/src/abstract/idex.js +0 -9
- package/dist/cjs/js/src/abstract/independentreserve.js +0 -9
- package/dist/cjs/js/src/abstract/indodax.js +0 -9
- package/dist/cjs/js/src/abstract/kraken.js +0 -9
- package/dist/cjs/js/src/abstract/krakenfutures.js +0 -9
- package/dist/cjs/js/src/abstract/kucoin.js +0 -9
- package/dist/cjs/js/src/abstract/kucoinfutures.js +0 -9
- package/dist/cjs/js/src/abstract/kuna.js +0 -9
- package/dist/cjs/js/src/abstract/latoken.js +0 -9
- package/dist/cjs/js/src/abstract/lbank.js +0 -9
- package/dist/cjs/js/src/abstract/luno.js +0 -9
- package/dist/cjs/js/src/abstract/lykke.js +0 -9
- package/dist/cjs/js/src/abstract/mercado.js +0 -9
- package/dist/cjs/js/src/abstract/mexc.js +0 -9
- package/dist/cjs/js/src/abstract/ndax.js +0 -9
- package/dist/cjs/js/src/abstract/novadax.js +0 -9
- package/dist/cjs/js/src/abstract/oceanex.js +0 -9
- package/dist/cjs/js/src/abstract/okcoin.js +0 -9
- package/dist/cjs/js/src/abstract/okx.js +0 -9
- package/dist/cjs/js/src/abstract/p2b.js +0 -9
- package/dist/cjs/js/src/abstract/paymium.js +0 -9
- package/dist/cjs/js/src/abstract/phemex.js +0 -9
- package/dist/cjs/js/src/abstract/poloniex.js +0 -9
- package/dist/cjs/js/src/abstract/poloniexfutures.js +0 -9
- package/dist/cjs/js/src/abstract/probit.js +0 -9
- package/dist/cjs/js/src/abstract/timex.js +0 -9
- package/dist/cjs/js/src/abstract/tokocrypto.js +0 -9
- package/dist/cjs/js/src/abstract/upbit.js +0 -9
- package/dist/cjs/js/src/abstract/wavesexchange.js +0 -9
- package/dist/cjs/js/src/abstract/wazirx.js +0 -9
- package/dist/cjs/js/src/abstract/whitebit.js +0 -9
- package/dist/cjs/js/src/abstract/woo.js +0 -9
- package/dist/cjs/js/src/abstract/yobit.js +0 -9
- package/dist/cjs/js/src/abstract/zaif.js +0 -9
- package/dist/cjs/js/src/abstract/zonda.js +0 -9
- package/dist/cjs/js/src/ace.js +0 -1058
- package/dist/cjs/js/src/alpaca.js +0 -1125
- package/dist/cjs/js/src/ascendex.js +0 -3365
- package/dist/cjs/js/src/base/Exchange.js +0 -5257
- package/dist/cjs/js/src/base/Precise.js +0 -263
- package/dist/cjs/js/src/base/errors.js +0 -299
- package/dist/cjs/js/src/base/functions/crypto.js +0 -78
- package/dist/cjs/js/src/base/functions/encode.js +0 -44
- package/dist/cjs/js/src/base/functions/generic.js +0 -193
- package/dist/cjs/js/src/base/functions/misc.js +0 -96
- package/dist/cjs/js/src/base/functions/number.js +0 -297
- package/dist/cjs/js/src/base/functions/platform.js +0 -28
- package/dist/cjs/js/src/base/functions/rsa.js +0 -34
- package/dist/cjs/js/src/base/functions/string.js +0 -48
- package/dist/cjs/js/src/base/functions/throttle.js +0 -66
- package/dist/cjs/js/src/base/functions/time.js +0 -187
- package/dist/cjs/js/src/base/functions/totp.js +0 -24
- package/dist/cjs/js/src/base/functions/type.js +0 -162
- package/dist/cjs/js/src/base/functions.js +0 -157
- package/dist/cjs/js/src/base/ws/Cache.js +0 -254
- package/dist/cjs/js/src/base/ws/Client.js +0 -299
- package/dist/cjs/js/src/base/ws/Future.js +0 -34
- package/dist/cjs/js/src/base/ws/OrderBook.js +0 -107
- package/dist/cjs/js/src/base/ws/OrderBookSide.js +0 -281
- package/dist/cjs/js/src/base/ws/WsClient.js +0 -69
- package/dist/cjs/js/src/bequant.js +0 -33
- package/dist/cjs/js/src/bigone.js +0 -2213
- package/dist/cjs/js/src/binance.js +0 -9845
- package/dist/cjs/js/src/binancecoinm.js +0 -45
- package/dist/cjs/js/src/binanceus.js +0 -92
- package/dist/cjs/js/src/binanceusdm.js +0 -58
- package/dist/cjs/js/src/bingx.js +0 -3846
- package/dist/cjs/js/src/bit2c.js +0 -916
- package/dist/cjs/js/src/bitbank.js +0 -1000
- package/dist/cjs/js/src/bitbay.js +0 -17
- package/dist/cjs/js/src/bitbns.js +0 -1220
- package/dist/cjs/js/src/bitcoincom.js +0 -17
- package/dist/cjs/js/src/bitfinex.js +0 -1670
- package/dist/cjs/js/src/bitfinex2.js +0 -2990
- package/dist/cjs/js/src/bitflyer.js +0 -1045
- package/dist/cjs/js/src/bitforex.js +0 -852
- package/dist/cjs/js/src/bitget.js +0 -8295
- package/dist/cjs/js/src/bithumb.js +0 -1090
- package/dist/cjs/js/src/bitmart.js +0 -4454
- package/dist/cjs/js/src/bitmex.js +0 -2881
- package/dist/cjs/js/src/bitopro.js +0 -1724
- package/dist/cjs/js/src/bitrue.js +0 -3253
- package/dist/cjs/js/src/bitso.js +0 -1753
- package/dist/cjs/js/src/bitstamp.js +0 -2188
- package/dist/cjs/js/src/bitteam.js +0 -2309
- package/dist/cjs/js/src/bitvavo.js +0 -1968
- package/dist/cjs/js/src/bl3p.js +0 -447
- package/dist/cjs/js/src/blockchaincom.js +0 -1160
- package/dist/cjs/js/src/btcalpha.js +0 -929
- package/dist/cjs/js/src/btcbox.js +0 -565
- package/dist/cjs/js/src/btcmarkets.js +0 -1237
- package/dist/cjs/js/src/btcturk.js +0 -929
- package/dist/cjs/js/src/bybit.js +0 -7650
- package/dist/cjs/js/src/cex.js +0 -1693
- package/dist/cjs/js/src/coinbase.js +0 -3424
- package/dist/cjs/js/src/coinbasepro.js +0 -1866
- package/dist/cjs/js/src/coincheck.js +0 -843
- package/dist/cjs/js/src/coinex.js +0 -5417
- package/dist/cjs/js/src/coinlist.js +0 -2337
- package/dist/cjs/js/src/coinmate.js +0 -989
- package/dist/cjs/js/src/coinone.js +0 -1185
- package/dist/cjs/js/src/coinsph.js +0 -1933
- package/dist/cjs/js/src/coinspot.js +0 -548
- package/dist/cjs/js/src/cryptocom.js +0 -3007
- package/dist/cjs/js/src/currencycom.js +0 -2015
- package/dist/cjs/js/src/delta.js +0 -3262
- package/dist/cjs/js/src/deribit.js +0 -3306
- package/dist/cjs/js/src/digifinex.js +0 -4307
- package/dist/cjs/js/src/exmo.js +0 -2645
- package/dist/cjs/js/src/fmfwio.js +0 -34
- package/dist/cjs/js/src/gate.js +0 -7077
- package/dist/cjs/js/src/gateio.js +0 -16
- package/dist/cjs/js/src/gemini.js +0 -1801
- package/dist/cjs/js/src/hitbtc.js +0 -3660
- package/dist/cjs/js/src/hitbtc3.js +0 -19
- package/dist/cjs/js/src/hollaex.js +0 -1882
- package/dist/cjs/js/src/htx.js +0 -9174
- package/dist/cjs/js/src/huobi.js +0 -16
- package/dist/cjs/js/src/huobijp.js +0 -1918
- package/dist/cjs/js/src/idex.js +0 -1770
- package/dist/cjs/js/src/independentreserve.js +0 -761
- package/dist/cjs/js/src/indodax.js +0 -1069
- package/dist/cjs/js/src/kraken.js +0 -2891
- package/dist/cjs/js/src/krakenfutures.js +0 -2407
- package/dist/cjs/js/src/kucoin.js +0 -4494
- package/dist/cjs/js/src/kucoinfutures.js +0 -2529
- package/dist/cjs/js/src/kuna.js +0 -1949
- package/dist/cjs/js/src/latoken.js +0 -1729
- package/dist/cjs/js/src/lbank.js +0 -2851
- package/dist/cjs/js/src/luno.js +0 -1044
- package/dist/cjs/js/src/lykke.js +0 -1303
- package/dist/cjs/js/src/mercado.js +0 -897
- package/dist/cjs/js/src/mexc.js +0 -5407
- package/dist/cjs/js/src/ndax.js +0 -2450
- package/dist/cjs/js/src/novadax.js +0 -1556
- package/dist/cjs/js/src/oceanex.js +0 -964
- package/dist/cjs/js/src/okcoin.js +0 -3115
- package/dist/cjs/js/src/okx.js +0 -7331
- package/dist/cjs/js/src/p2b.js +0 -1243
- package/dist/cjs/js/src/paymium.js +0 -597
- package/dist/cjs/js/src/phemex.js +0 -4725
- package/dist/cjs/js/src/poloniex.js +0 -2356
- package/dist/cjs/js/src/poloniexfutures.js +0 -1794
- package/dist/cjs/js/src/pro/alpaca.js +0 -714
- package/dist/cjs/js/src/pro/ascendex.js +0 -957
- package/dist/cjs/js/src/pro/bequant.js +0 -33
- package/dist/cjs/js/src/pro/binance.js +0 -2796
- package/dist/cjs/js/src/pro/binancecoinm.js +0 -23
- package/dist/cjs/js/src/pro/binanceus.js +0 -51
- package/dist/cjs/js/src/pro/binanceusdm.js +0 -32
- package/dist/cjs/js/src/pro/bingx.js +0 -944
- package/dist/cjs/js/src/pro/bitcoincom.js +0 -29
- package/dist/cjs/js/src/pro/bitfinex.js +0 -672
- package/dist/cjs/js/src/pro/bitfinex2.js +0 -1159
- package/dist/cjs/js/src/pro/bitget.js +0 -1733
- package/dist/cjs/js/src/pro/bitmart.js +0 -1486
- package/dist/cjs/js/src/pro/bitmex.js +0 -1576
- package/dist/cjs/js/src/pro/bitopro.js +0 -327
- package/dist/cjs/js/src/pro/bitrue.js +0 -462
- package/dist/cjs/js/src/pro/bitstamp.js +0 -547
- package/dist/cjs/js/src/pro/bitvavo.js +0 -704
- package/dist/cjs/js/src/pro/blockchaincom.js +0 -794
- package/dist/cjs/js/src/pro/bybit.js +0 -1843
- package/dist/cjs/js/src/pro/cex.js +0 -1510
- package/dist/cjs/js/src/pro/coinbase.js +0 -561
- package/dist/cjs/js/src/pro/coinbasepro.js +0 -968
- package/dist/cjs/js/src/pro/coinex.js +0 -1095
- package/dist/cjs/js/src/pro/cryptocom.js +0 -1020
- package/dist/cjs/js/src/pro/currencycom.js +0 -563
- package/dist/cjs/js/src/pro/deribit.js +0 -825
- package/dist/cjs/js/src/pro/exmo.js +0 -658
- package/dist/cjs/js/src/pro/gate.js +0 -1316
- package/dist/cjs/js/src/pro/gateio.js +0 -16
- package/dist/cjs/js/src/pro/gemini.js +0 -649
- package/dist/cjs/js/src/pro/hitbtc.js +0 -1294
- package/dist/cjs/js/src/pro/hollaex.js +0 -597
- package/dist/cjs/js/src/pro/htx.js +0 -2388
- package/dist/cjs/js/src/pro/huobi.js +0 -16
- package/dist/cjs/js/src/pro/huobijp.js +0 -606
- package/dist/cjs/js/src/pro/idex.js +0 -714
- package/dist/cjs/js/src/pro/independentreserve.js +0 -280
- package/dist/cjs/js/src/pro/kraken.js +0 -1364
- package/dist/cjs/js/src/pro/krakenfutures.js +0 -1506
- package/dist/cjs/js/src/pro/kucoin.js +0 -1054
- package/dist/cjs/js/src/pro/kucoinfutures.js +0 -981
- package/dist/cjs/js/src/pro/luno.js +0 -322
- package/dist/cjs/js/src/pro/mexc.js +0 -1170
- package/dist/cjs/js/src/pro/ndax.js +0 -545
- package/dist/cjs/js/src/pro/okcoin.js +0 -760
- package/dist/cjs/js/src/pro/okx.js +0 -1608
- package/dist/cjs/js/src/pro/phemex.js +0 -1511
- package/dist/cjs/js/src/pro/poloniex.js +0 -1253
- package/dist/cjs/js/src/pro/poloniexfutures.js +0 -1014
- package/dist/cjs/js/src/pro/probit.js +0 -586
- package/dist/cjs/js/src/pro/upbit.js +0 -234
- package/dist/cjs/js/src/pro/wazirx.js +0 -776
- package/dist/cjs/js/src/pro/whitebit.js +0 -927
- package/dist/cjs/js/src/pro/woo.js +0 -895
- package/dist/cjs/js/src/probit.js +0 -1867
- package/dist/cjs/js/src/static_dependencies/fflake/browser.js +0 -401
- package/dist/cjs/js/src/static_dependencies/jsencrypt/JSEncrypt.js +0 -195
- package/dist/cjs/js/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +0 -308
- package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +0 -554
- package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +0 -94
- package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +0 -70
- package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +0 -91
- package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +0 -16
- package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +0 -1760
- package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +0 -52
- package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +0 -81
- package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +0 -376
- package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/util.js +0 -70
- package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +0 -1580
- package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +0 -74
- package/dist/cjs/js/src/static_dependencies/noble-curves/_shortw_utils.js +0 -24
- package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/curve.js +0 -158
- package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/edwards.js +0 -429
- package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +0 -176
- package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/modular.js +0 -324
- package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/montgomery.js +0 -163
- package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/utils.js +0 -245
- package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/weierstrass.js +0 -1018
- package/dist/cjs/js/src/static_dependencies/noble-curves/ed25519.js +0 -383
- package/dist/cjs/js/src/static_dependencies/noble-curves/secp256k1.js +0 -258
- package/dist/cjs/js/src/static_dependencies/noble-hashes/_assert.js +0 -53
- package/dist/cjs/js/src/static_dependencies/noble-hashes/_sha2.js +0 -120
- package/dist/cjs/js/src/static_dependencies/noble-hashes/_u64.js +0 -69
- package/dist/cjs/js/src/static_dependencies/noble-hashes/crypto.js +0 -7
- package/dist/cjs/js/src/static_dependencies/noble-hashes/hmac.js +0 -83
- package/dist/cjs/js/src/static_dependencies/noble-hashes/md5.js +0 -240
- package/dist/cjs/js/src/static_dependencies/noble-hashes/sha1.js +0 -91
- package/dist/cjs/js/src/static_dependencies/noble-hashes/sha256.js +0 -130
- package/dist/cjs/js/src/static_dependencies/noble-hashes/sha3.js +0 -214
- package/dist/cjs/js/src/static_dependencies/noble-hashes/sha512.js +0 -239
- package/dist/cjs/js/src/static_dependencies/noble-hashes/utils.js +0 -93
- package/dist/cjs/js/src/static_dependencies/node-fetch/body.js +0 -354
- package/dist/cjs/js/src/static_dependencies/node-fetch/errors/abort-error.js +0 -16
- package/dist/cjs/js/src/static_dependencies/node-fetch/errors/base.js +0 -20
- package/dist/cjs/js/src/static_dependencies/node-fetch/errors/fetch-error.js +0 -30
- package/dist/cjs/js/src/static_dependencies/node-fetch/headers.js +0 -239
- package/dist/cjs/js/src/static_dependencies/node-fetch/index.js +0 -372
- package/dist/cjs/js/src/static_dependencies/node-fetch/request.js +0 -273
- package/dist/cjs/js/src/static_dependencies/node-fetch/response.js +0 -139
- package/dist/cjs/js/src/static_dependencies/node-fetch/utils/get-search.js +0 -14
- package/dist/cjs/js/src/static_dependencies/node-fetch/utils/is-redirect.js +0 -16
- package/dist/cjs/js/src/static_dependencies/node-fetch/utils/is.js +0 -81
- package/dist/cjs/js/src/static_dependencies/node-fetch/utils/referrer.js +0 -292
- package/dist/cjs/js/src/static_dependencies/proxies/agent-base/index.js +0 -103
- package/dist/cjs/js/src/static_dependencies/proxies/http-proxy-agent/index.js +0 -140
- package/dist/cjs/js/src/static_dependencies/proxies/https-proxy-agent/index.js +0 -175
- package/dist/cjs/js/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +0 -95
- package/dist/cjs/js/src/static_dependencies/qs/index.cjs.js +0 -7
- package/dist/cjs/js/src/static_dependencies/scure-base/index.js +0 -383
- package/dist/cjs/js/src/timex.js +0 -1562
- package/dist/cjs/js/src/tokocrypto.js +0 -2542
- package/dist/cjs/js/src/upbit.js +0 -1844
- package/dist/cjs/js/src/wavesexchange.js +0 -2607
- package/dist/cjs/js/src/wazirx.js +0 -953
- package/dist/cjs/js/src/whitebit.js +0 -2309
- package/dist/cjs/js/src/woo.js +0 -2769
- package/dist/cjs/js/src/yobit.js +0 -1314
- package/dist/cjs/js/src/zaif.js +0 -736
- package/dist/cjs/js/src/zonda.js +0 -1883
- package/dist/cjs/src/abstract/bitpanda.js +0 -9
- package/test.ts +0 -0
- /package/dist/cjs/{js/src/abstract/ace.js → src/abstract/onetrading.js} +0 -0
- /package/dist/cjs/{js/src → src}/pro/coinone.js +0 -0
- /package/js/src/abstract/{bitpanda.js → onetrading.js} +0 -0
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
function number(n) {
|
|
6
|
-
if (!Number.isSafeInteger(n) || n < 0)
|
|
7
|
-
throw new Error(`Wrong positive integer: ${n}`);
|
|
8
|
-
}
|
|
9
|
-
function bool(b) {
|
|
10
|
-
if (typeof b !== 'boolean')
|
|
11
|
-
throw new Error(`Expected boolean, not ${b}`);
|
|
12
|
-
}
|
|
13
|
-
function bytes(b, ...lengths) {
|
|
14
|
-
if (!(b instanceof Uint8Array))
|
|
15
|
-
throw new TypeError('Expected Uint8Array');
|
|
16
|
-
if (lengths.length > 0 && !lengths.includes(b.length))
|
|
17
|
-
throw new TypeError(`Expected Uint8Array of length ${lengths}, not of length=${b.length}`);
|
|
18
|
-
}
|
|
19
|
-
function hash(hash) {
|
|
20
|
-
if (typeof hash !== 'function' || typeof hash.create !== 'function')
|
|
21
|
-
throw new Error('Hash should be wrapped by utils.wrapConstructor');
|
|
22
|
-
number(hash.outputLen);
|
|
23
|
-
number(hash.blockLen);
|
|
24
|
-
}
|
|
25
|
-
function exists(instance, checkFinished = true) {
|
|
26
|
-
if (instance.destroyed)
|
|
27
|
-
throw new Error('Hash instance has been destroyed');
|
|
28
|
-
if (checkFinished && instance.finished)
|
|
29
|
-
throw new Error('Hash#digest() has already been called');
|
|
30
|
-
}
|
|
31
|
-
function output(out, instance) {
|
|
32
|
-
bytes(out);
|
|
33
|
-
const min = instance.outputLen;
|
|
34
|
-
if (out.length < min) {
|
|
35
|
-
throw new Error(`digestInto() expects output buffer of length at least ${min}`);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
const assert = {
|
|
39
|
-
number,
|
|
40
|
-
bool,
|
|
41
|
-
bytes,
|
|
42
|
-
hash,
|
|
43
|
-
exists,
|
|
44
|
-
output,
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
exports.bool = bool;
|
|
48
|
-
exports.bytes = bytes;
|
|
49
|
-
exports["default"] = assert;
|
|
50
|
-
exports.exists = exists;
|
|
51
|
-
exports.hash = hash;
|
|
52
|
-
exports.number = number;
|
|
53
|
-
exports.output = output;
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var _assert = require('./_assert.js');
|
|
6
|
-
var utils = require('./utils.js');
|
|
7
|
-
|
|
8
|
-
// Polyfill for Safari 14
|
|
9
|
-
function setBigUint64(view, byteOffset, value, isLE) {
|
|
10
|
-
if (typeof view.setBigUint64 === 'function')
|
|
11
|
-
return view.setBigUint64(byteOffset, value, isLE);
|
|
12
|
-
const _32n = BigInt(32);
|
|
13
|
-
const _u32_max = BigInt(0xffffffff);
|
|
14
|
-
const wh = Number((value >> _32n) & _u32_max);
|
|
15
|
-
const wl = Number(value & _u32_max);
|
|
16
|
-
const h = isLE ? 4 : 0;
|
|
17
|
-
const l = isLE ? 0 : 4;
|
|
18
|
-
view.setUint32(byteOffset + h, wh, isLE);
|
|
19
|
-
view.setUint32(byteOffset + l, wl, isLE);
|
|
20
|
-
}
|
|
21
|
-
// Base SHA2 class (RFC 6234)
|
|
22
|
-
class SHA2 extends utils.Hash {
|
|
23
|
-
constructor(blockLen, outputLen, padOffset, isLE) {
|
|
24
|
-
super();
|
|
25
|
-
this.blockLen = blockLen;
|
|
26
|
-
this.outputLen = outputLen;
|
|
27
|
-
this.padOffset = padOffset;
|
|
28
|
-
this.isLE = isLE;
|
|
29
|
-
this.finished = false;
|
|
30
|
-
this.length = 0;
|
|
31
|
-
this.pos = 0;
|
|
32
|
-
this.destroyed = false;
|
|
33
|
-
this.buffer = new Uint8Array(blockLen);
|
|
34
|
-
this.view = utils.createView(this.buffer);
|
|
35
|
-
}
|
|
36
|
-
update(data) {
|
|
37
|
-
_assert["default"].exists(this);
|
|
38
|
-
const { view, buffer, blockLen } = this;
|
|
39
|
-
data = utils.toBytes(data);
|
|
40
|
-
const len = data.length;
|
|
41
|
-
for (let pos = 0; pos < len;) {
|
|
42
|
-
const take = Math.min(blockLen - this.pos, len - pos);
|
|
43
|
-
// Fast path: we have at least one block in input, cast it to view and process
|
|
44
|
-
if (take === blockLen) {
|
|
45
|
-
const dataView = utils.createView(data);
|
|
46
|
-
for (; blockLen <= len - pos; pos += blockLen)
|
|
47
|
-
this.process(dataView, pos);
|
|
48
|
-
continue;
|
|
49
|
-
}
|
|
50
|
-
buffer.set(data.subarray(pos, pos + take), this.pos);
|
|
51
|
-
this.pos += take;
|
|
52
|
-
pos += take;
|
|
53
|
-
if (this.pos === blockLen) {
|
|
54
|
-
this.process(view, 0);
|
|
55
|
-
this.pos = 0;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
this.length += data.length;
|
|
59
|
-
this.roundClean();
|
|
60
|
-
return this;
|
|
61
|
-
}
|
|
62
|
-
digestInto(out) {
|
|
63
|
-
_assert["default"].exists(this);
|
|
64
|
-
_assert["default"].output(out, this);
|
|
65
|
-
this.finished = true;
|
|
66
|
-
// Padding
|
|
67
|
-
// We can avoid allocation of buffer for padding completely if it
|
|
68
|
-
// was previously not allocated here. But it won't change performance.
|
|
69
|
-
const { buffer, view, blockLen, isLE } = this;
|
|
70
|
-
let { pos } = this;
|
|
71
|
-
// append the bit '1' to the message
|
|
72
|
-
buffer[pos++] = 0b10000000;
|
|
73
|
-
this.buffer.subarray(pos).fill(0);
|
|
74
|
-
// we have less than padOffset left in buffer, so we cannot put length in current block, need process it and pad again
|
|
75
|
-
if (this.padOffset > blockLen - pos) {
|
|
76
|
-
this.process(view, 0);
|
|
77
|
-
pos = 0;
|
|
78
|
-
}
|
|
79
|
-
// Pad until full block byte with zeros
|
|
80
|
-
for (let i = pos; i < blockLen; i++)
|
|
81
|
-
buffer[i] = 0;
|
|
82
|
-
// Note: sha512 requires length to be 128bit integer, but length in JS will overflow before that
|
|
83
|
-
// You need to write around 2 exabytes (u64_max / 8 / (1024**6)) for this to happen.
|
|
84
|
-
// So we just write lowest 64 bits of that value.
|
|
85
|
-
setBigUint64(view, blockLen - 8, BigInt(this.length * 8), isLE);
|
|
86
|
-
this.process(view, 0);
|
|
87
|
-
const oview = utils.createView(out);
|
|
88
|
-
const len = this.outputLen;
|
|
89
|
-
// NOTE: we do division by 4 later, which should be fused in single op with modulo by JIT
|
|
90
|
-
if (len % 4)
|
|
91
|
-
throw new Error('_sha2: outputLen should be aligned to 32bit');
|
|
92
|
-
const outLen = len / 4;
|
|
93
|
-
const state = this.get();
|
|
94
|
-
if (outLen > state.length)
|
|
95
|
-
throw new Error('_sha2: outputLen bigger than state');
|
|
96
|
-
for (let i = 0; i < outLen; i++)
|
|
97
|
-
oview.setUint32(4 * i, state[i], isLE);
|
|
98
|
-
}
|
|
99
|
-
digest() {
|
|
100
|
-
const { buffer, outputLen } = this;
|
|
101
|
-
this.digestInto(buffer);
|
|
102
|
-
const res = buffer.slice(0, outputLen);
|
|
103
|
-
this.destroy();
|
|
104
|
-
return res;
|
|
105
|
-
}
|
|
106
|
-
_cloneInto(to) {
|
|
107
|
-
to || (to = new this.constructor());
|
|
108
|
-
to.set(...this.get());
|
|
109
|
-
const { blockLen, buffer, length, finished, destroyed, pos } = this;
|
|
110
|
-
to.length = length;
|
|
111
|
-
to.pos = pos;
|
|
112
|
-
to.finished = finished;
|
|
113
|
-
to.destroyed = destroyed;
|
|
114
|
-
if (length % blockLen)
|
|
115
|
-
to.buffer.set(buffer);
|
|
116
|
-
return to;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
exports.SHA2 = SHA2;
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
const U32_MASK64 = BigInt(2 ** 32 - 1);
|
|
6
|
-
const _32n = BigInt(32);
|
|
7
|
-
// We are not using BigUint64Array, because they are extremely slow as per 2022
|
|
8
|
-
function fromBig(n, le = false) {
|
|
9
|
-
if (le)
|
|
10
|
-
return { h: Number(n & U32_MASK64), l: Number((n >> _32n) & U32_MASK64) };
|
|
11
|
-
return { h: Number((n >> _32n) & U32_MASK64) | 0, l: Number(n & U32_MASK64) | 0 };
|
|
12
|
-
}
|
|
13
|
-
function split(lst, le = false) {
|
|
14
|
-
let Ah = new Uint32Array(lst.length);
|
|
15
|
-
let Al = new Uint32Array(lst.length);
|
|
16
|
-
for (let i = 0; i < lst.length; i++) {
|
|
17
|
-
const { h, l } = fromBig(lst[i], le);
|
|
18
|
-
[Ah[i], Al[i]] = [h, l];
|
|
19
|
-
}
|
|
20
|
-
return [Ah, Al];
|
|
21
|
-
}
|
|
22
|
-
const toBig = (h, l) => (BigInt(h >>> 0) << _32n) | BigInt(l >>> 0);
|
|
23
|
-
// for Shift in [0, 32)
|
|
24
|
-
const shrSH = (h, l, s) => h >>> s;
|
|
25
|
-
const shrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);
|
|
26
|
-
// Right rotate for Shift in [1, 32)
|
|
27
|
-
const rotrSH = (h, l, s) => (h >>> s) | (l << (32 - s));
|
|
28
|
-
const rotrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);
|
|
29
|
-
// Right rotate for Shift in (32, 64), NOTE: 32 is special case.
|
|
30
|
-
const rotrBH = (h, l, s) => (h << (64 - s)) | (l >>> (s - 32));
|
|
31
|
-
const rotrBL = (h, l, s) => (h >>> (s - 32)) | (l << (64 - s));
|
|
32
|
-
// Right rotate for shift===32 (just swaps l&h)
|
|
33
|
-
const rotr32H = (h, l) => l;
|
|
34
|
-
const rotr32L = (h, l) => h;
|
|
35
|
-
// Left rotate for Shift in [1, 32)
|
|
36
|
-
const rotlSH = (h, l, s) => (h << s) | (l >>> (32 - s));
|
|
37
|
-
const rotlSL = (h, l, s) => (l << s) | (h >>> (32 - s));
|
|
38
|
-
// Left rotate for Shift in (32, 64), NOTE: 32 is special case.
|
|
39
|
-
const rotlBH = (h, l, s) => (l << (s - 32)) | (h >>> (64 - s));
|
|
40
|
-
const rotlBL = (h, l, s) => (h << (s - 32)) | (l >>> (64 - s));
|
|
41
|
-
// JS uses 32-bit signed integers for bitwise operations which means we cannot
|
|
42
|
-
// simple take carry out of low bit sum by shift, we need to use division.
|
|
43
|
-
// Removing "export" has 5% perf penalty -_-
|
|
44
|
-
function add(Ah, Al, Bh, Bl) {
|
|
45
|
-
const l = (Al >>> 0) + (Bl >>> 0);
|
|
46
|
-
return { h: (Ah + Bh + ((l / 2 ** 32) | 0)) | 0, l: l | 0 };
|
|
47
|
-
}
|
|
48
|
-
// Addition with more than 2 elements
|
|
49
|
-
const add3L = (Al, Bl, Cl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0);
|
|
50
|
-
const add3H = (low, Ah, Bh, Ch) => (Ah + Bh + Ch + ((low / 2 ** 32) | 0)) | 0;
|
|
51
|
-
const add4L = (Al, Bl, Cl, Dl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0);
|
|
52
|
-
const add4H = (low, Ah, Bh, Ch, Dh) => (Ah + Bh + Ch + Dh + ((low / 2 ** 32) | 0)) | 0;
|
|
53
|
-
const add5L = (Al, Bl, Cl, Dl, El) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0);
|
|
54
|
-
const add5H = (low, Ah, Bh, Ch, Dh, Eh) => (Ah + Bh + Ch + Dh + Eh + ((low / 2 ** 32) | 0)) | 0;
|
|
55
|
-
// prettier-ignore
|
|
56
|
-
const u64 = {
|
|
57
|
-
fromBig, split, toBig,
|
|
58
|
-
shrSH, shrSL,
|
|
59
|
-
rotrSH, rotrSL, rotrBH, rotrBL,
|
|
60
|
-
rotr32H, rotr32L,
|
|
61
|
-
rotlSH, rotlSL, rotlBH, rotlBL,
|
|
62
|
-
add, add3L, add3H, add4L, add4H, add5H, add5L,
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
exports.add = add;
|
|
66
|
-
exports["default"] = u64;
|
|
67
|
-
exports.fromBig = fromBig;
|
|
68
|
-
exports.split = split;
|
|
69
|
-
exports.toBig = toBig;
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var _assert = require('./_assert.js');
|
|
6
|
-
var utils = require('./utils.js');
|
|
7
|
-
|
|
8
|
-
// HMAC (RFC 2104)
|
|
9
|
-
class HMAC extends utils.Hash {
|
|
10
|
-
constructor(hash, _key) {
|
|
11
|
-
super();
|
|
12
|
-
this.finished = false;
|
|
13
|
-
this.destroyed = false;
|
|
14
|
-
_assert["default"].hash(hash);
|
|
15
|
-
const key = utils.toBytes(_key);
|
|
16
|
-
this.iHash = hash.create();
|
|
17
|
-
if (typeof this.iHash.update !== 'function')
|
|
18
|
-
throw new TypeError('Expected instance of class which extends utils.Hash');
|
|
19
|
-
this.blockLen = this.iHash.blockLen;
|
|
20
|
-
this.outputLen = this.iHash.outputLen;
|
|
21
|
-
const blockLen = this.blockLen;
|
|
22
|
-
const pad = new Uint8Array(blockLen);
|
|
23
|
-
// blockLen can be bigger than outputLen
|
|
24
|
-
pad.set(key.length > blockLen ? hash.create().update(key).digest() : key);
|
|
25
|
-
for (let i = 0; i < pad.length; i++)
|
|
26
|
-
pad[i] ^= 0x36;
|
|
27
|
-
this.iHash.update(pad);
|
|
28
|
-
// By doing update (processing of first block) of outer hash here we can re-use it between multiple calls via clone
|
|
29
|
-
this.oHash = hash.create();
|
|
30
|
-
// Undo internal XOR && apply outer XOR
|
|
31
|
-
for (let i = 0; i < pad.length; i++)
|
|
32
|
-
pad[i] ^= 0x36 ^ 0x5c;
|
|
33
|
-
this.oHash.update(pad);
|
|
34
|
-
pad.fill(0);
|
|
35
|
-
}
|
|
36
|
-
update(buf) {
|
|
37
|
-
_assert["default"].exists(this);
|
|
38
|
-
this.iHash.update(buf);
|
|
39
|
-
return this;
|
|
40
|
-
}
|
|
41
|
-
digestInto(out) {
|
|
42
|
-
_assert["default"].exists(this);
|
|
43
|
-
_assert["default"].bytes(out, this.outputLen);
|
|
44
|
-
this.finished = true;
|
|
45
|
-
this.iHash.digestInto(out);
|
|
46
|
-
this.oHash.update(out);
|
|
47
|
-
this.oHash.digestInto(out);
|
|
48
|
-
this.destroy();
|
|
49
|
-
}
|
|
50
|
-
digest() {
|
|
51
|
-
const out = new Uint8Array(this.oHash.outputLen);
|
|
52
|
-
this.digestInto(out);
|
|
53
|
-
return out;
|
|
54
|
-
}
|
|
55
|
-
_cloneInto(to) {
|
|
56
|
-
// Create new instance without calling constructor since key already in state and we don't know it.
|
|
57
|
-
to || (to = Object.create(Object.getPrototypeOf(this), {}));
|
|
58
|
-
const { oHash, iHash, finished, destroyed, blockLen, outputLen } = this;
|
|
59
|
-
to = to;
|
|
60
|
-
to.finished = finished;
|
|
61
|
-
to.destroyed = destroyed;
|
|
62
|
-
to.blockLen = blockLen;
|
|
63
|
-
to.outputLen = outputLen;
|
|
64
|
-
to.oHash = oHash._cloneInto(to.oHash);
|
|
65
|
-
to.iHash = iHash._cloneInto(to.iHash);
|
|
66
|
-
return to;
|
|
67
|
-
}
|
|
68
|
-
destroy() {
|
|
69
|
-
this.destroyed = true;
|
|
70
|
-
this.oHash.destroy();
|
|
71
|
-
this.iHash.destroy();
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* HMAC: RFC2104 message authentication code.
|
|
76
|
-
* @param hash - function that would be used e.g. sha256
|
|
77
|
-
* @param key - message key
|
|
78
|
-
* @param message - message data
|
|
79
|
-
*/
|
|
80
|
-
const hmac = (hash, key, message) => new HMAC(hash, key).update(message).digest();
|
|
81
|
-
hmac.create = (hash, key) => new HMAC(hash, key);
|
|
82
|
-
|
|
83
|
-
exports.hmac = hmac;
|
|
@@ -1,240 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var utils = require('./utils.js');
|
|
6
|
-
|
|
7
|
-
/*
|
|
8
|
-
* Fastest md5 implementation around (JKM md5).
|
|
9
|
-
* Credits: Joseph Myers
|
|
10
|
-
*
|
|
11
|
-
* @see http://www.myersdaily.org/joseph/javascript/md5-text.html
|
|
12
|
-
* @see http://jsperf.com/md5-shootout/7
|
|
13
|
-
*/
|
|
14
|
-
/* this function is much faster,
|
|
15
|
-
so if possible we use it. Some IEs
|
|
16
|
-
are the only ones I know of that
|
|
17
|
-
need the idiotic second function,
|
|
18
|
-
generated by an if clause. */
|
|
19
|
-
/* Modified by frosty00 from
|
|
20
|
-
https://github.com/satazor/js-spark-md5
|
|
21
|
-
to fit with the noble-hashes API
|
|
22
|
-
not a default hash function in the noble hashes API
|
|
23
|
-
*/
|
|
24
|
-
function md5cycle(x, k) {
|
|
25
|
-
var a = x[0], b = x[1], c = x[2], d = x[3];
|
|
26
|
-
a += (b & c | ~b & d) + k[0] - 680876936 | 0;
|
|
27
|
-
a = (a << 7 | a >>> 25) + b | 0;
|
|
28
|
-
d += (a & b | ~a & c) + k[1] - 389564586 | 0;
|
|
29
|
-
d = (d << 12 | d >>> 20) + a | 0;
|
|
30
|
-
c += (d & a | ~d & b) + k[2] + 606105819 | 0;
|
|
31
|
-
c = (c << 17 | c >>> 15) + d | 0;
|
|
32
|
-
b += (c & d | ~c & a) + k[3] - 1044525330 | 0;
|
|
33
|
-
b = (b << 22 | b >>> 10) + c | 0;
|
|
34
|
-
a += (b & c | ~b & d) + k[4] - 176418897 | 0;
|
|
35
|
-
a = (a << 7 | a >>> 25) + b | 0;
|
|
36
|
-
d += (a & b | ~a & c) + k[5] + 1200080426 | 0;
|
|
37
|
-
d = (d << 12 | d >>> 20) + a | 0;
|
|
38
|
-
c += (d & a | ~d & b) + k[6] - 1473231341 | 0;
|
|
39
|
-
c = (c << 17 | c >>> 15) + d | 0;
|
|
40
|
-
b += (c & d | ~c & a) + k[7] - 45705983 | 0;
|
|
41
|
-
b = (b << 22 | b >>> 10) + c | 0;
|
|
42
|
-
a += (b & c | ~b & d) + k[8] + 1770035416 | 0;
|
|
43
|
-
a = (a << 7 | a >>> 25) + b | 0;
|
|
44
|
-
d += (a & b | ~a & c) + k[9] - 1958414417 | 0;
|
|
45
|
-
d = (d << 12 | d >>> 20) + a | 0;
|
|
46
|
-
c += (d & a | ~d & b) + k[10] - 42063 | 0;
|
|
47
|
-
c = (c << 17 | c >>> 15) + d | 0;
|
|
48
|
-
b += (c & d | ~c & a) + k[11] - 1990404162 | 0;
|
|
49
|
-
b = (b << 22 | b >>> 10) + c | 0;
|
|
50
|
-
a += (b & c | ~b & d) + k[12] + 1804603682 | 0;
|
|
51
|
-
a = (a << 7 | a >>> 25) + b | 0;
|
|
52
|
-
d += (a & b | ~a & c) + k[13] - 40341101 | 0;
|
|
53
|
-
d = (d << 12 | d >>> 20) + a | 0;
|
|
54
|
-
c += (d & a | ~d & b) + k[14] - 1502002290 | 0;
|
|
55
|
-
c = (c << 17 | c >>> 15) + d | 0;
|
|
56
|
-
b += (c & d | ~c & a) + k[15] + 1236535329 | 0;
|
|
57
|
-
b = (b << 22 | b >>> 10) + c | 0;
|
|
58
|
-
a += (b & d | c & ~d) + k[1] - 165796510 | 0;
|
|
59
|
-
a = (a << 5 | a >>> 27) + b | 0;
|
|
60
|
-
d += (a & c | b & ~c) + k[6] - 1069501632 | 0;
|
|
61
|
-
d = (d << 9 | d >>> 23) + a | 0;
|
|
62
|
-
c += (d & b | a & ~b) + k[11] + 643717713 | 0;
|
|
63
|
-
c = (c << 14 | c >>> 18) + d | 0;
|
|
64
|
-
b += (c & a | d & ~a) + k[0] - 373897302 | 0;
|
|
65
|
-
b = (b << 20 | b >>> 12) + c | 0;
|
|
66
|
-
a += (b & d | c & ~d) + k[5] - 701558691 | 0;
|
|
67
|
-
a = (a << 5 | a >>> 27) + b | 0;
|
|
68
|
-
d += (a & c | b & ~c) + k[10] + 38016083 | 0;
|
|
69
|
-
d = (d << 9 | d >>> 23) + a | 0;
|
|
70
|
-
c += (d & b | a & ~b) + k[15] - 660478335 | 0;
|
|
71
|
-
c = (c << 14 | c >>> 18) + d | 0;
|
|
72
|
-
b += (c & a | d & ~a) + k[4] - 405537848 | 0;
|
|
73
|
-
b = (b << 20 | b >>> 12) + c | 0;
|
|
74
|
-
a += (b & d | c & ~d) + k[9] + 568446438 | 0;
|
|
75
|
-
a = (a << 5 | a >>> 27) + b | 0;
|
|
76
|
-
d += (a & c | b & ~c) + k[14] - 1019803690 | 0;
|
|
77
|
-
d = (d << 9 | d >>> 23) + a | 0;
|
|
78
|
-
c += (d & b | a & ~b) + k[3] - 187363961 | 0;
|
|
79
|
-
c = (c << 14 | c >>> 18) + d | 0;
|
|
80
|
-
b += (c & a | d & ~a) + k[8] + 1163531501 | 0;
|
|
81
|
-
b = (b << 20 | b >>> 12) + c | 0;
|
|
82
|
-
a += (b & d | c & ~d) + k[13] - 1444681467 | 0;
|
|
83
|
-
a = (a << 5 | a >>> 27) + b | 0;
|
|
84
|
-
d += (a & c | b & ~c) + k[2] - 51403784 | 0;
|
|
85
|
-
d = (d << 9 | d >>> 23) + a | 0;
|
|
86
|
-
c += (d & b | a & ~b) + k[7] + 1735328473 | 0;
|
|
87
|
-
c = (c << 14 | c >>> 18) + d | 0;
|
|
88
|
-
b += (c & a | d & ~a) + k[12] - 1926607734 | 0;
|
|
89
|
-
b = (b << 20 | b >>> 12) + c | 0;
|
|
90
|
-
a += (b ^ c ^ d) + k[5] - 378558 | 0;
|
|
91
|
-
a = (a << 4 | a >>> 28) + b | 0;
|
|
92
|
-
d += (a ^ b ^ c) + k[8] - 2022574463 | 0;
|
|
93
|
-
d = (d << 11 | d >>> 21) + a | 0;
|
|
94
|
-
c += (d ^ a ^ b) + k[11] + 1839030562 | 0;
|
|
95
|
-
c = (c << 16 | c >>> 16) + d | 0;
|
|
96
|
-
b += (c ^ d ^ a) + k[14] - 35309556 | 0;
|
|
97
|
-
b = (b << 23 | b >>> 9) + c | 0;
|
|
98
|
-
a += (b ^ c ^ d) + k[1] - 1530992060 | 0;
|
|
99
|
-
a = (a << 4 | a >>> 28) + b | 0;
|
|
100
|
-
d += (a ^ b ^ c) + k[4] + 1272893353 | 0;
|
|
101
|
-
d = (d << 11 | d >>> 21) + a | 0;
|
|
102
|
-
c += (d ^ a ^ b) + k[7] - 155497632 | 0;
|
|
103
|
-
c = (c << 16 | c >>> 16) + d | 0;
|
|
104
|
-
b += (c ^ d ^ a) + k[10] - 1094730640 | 0;
|
|
105
|
-
b = (b << 23 | b >>> 9) + c | 0;
|
|
106
|
-
a += (b ^ c ^ d) + k[13] + 681279174 | 0;
|
|
107
|
-
a = (a << 4 | a >>> 28) + b | 0;
|
|
108
|
-
d += (a ^ b ^ c) + k[0] - 358537222 | 0;
|
|
109
|
-
d = (d << 11 | d >>> 21) + a | 0;
|
|
110
|
-
c += (d ^ a ^ b) + k[3] - 722521979 | 0;
|
|
111
|
-
c = (c << 16 | c >>> 16) + d | 0;
|
|
112
|
-
b += (c ^ d ^ a) + k[6] + 76029189 | 0;
|
|
113
|
-
b = (b << 23 | b >>> 9) + c | 0;
|
|
114
|
-
a += (b ^ c ^ d) + k[9] - 640364487 | 0;
|
|
115
|
-
a = (a << 4 | a >>> 28) + b | 0;
|
|
116
|
-
d += (a ^ b ^ c) + k[12] - 421815835 | 0;
|
|
117
|
-
d = (d << 11 | d >>> 21) + a | 0;
|
|
118
|
-
c += (d ^ a ^ b) + k[15] + 530742520 | 0;
|
|
119
|
-
c = (c << 16 | c >>> 16) + d | 0;
|
|
120
|
-
b += (c ^ d ^ a) + k[2] - 995338651 | 0;
|
|
121
|
-
b = (b << 23 | b >>> 9) + c | 0;
|
|
122
|
-
a += (c ^ (b | ~d)) + k[0] - 198630844 | 0;
|
|
123
|
-
a = (a << 6 | a >>> 26) + b | 0;
|
|
124
|
-
d += (b ^ (a | ~c)) + k[7] + 1126891415 | 0;
|
|
125
|
-
d = (d << 10 | d >>> 22) + a | 0;
|
|
126
|
-
c += (a ^ (d | ~b)) + k[14] - 1416354905 | 0;
|
|
127
|
-
c = (c << 15 | c >>> 17) + d | 0;
|
|
128
|
-
b += (d ^ (c | ~a)) + k[5] - 57434055 | 0;
|
|
129
|
-
b = (b << 21 | b >>> 11) + c | 0;
|
|
130
|
-
a += (c ^ (b | ~d)) + k[12] + 1700485571 | 0;
|
|
131
|
-
a = (a << 6 | a >>> 26) + b | 0;
|
|
132
|
-
d += (b ^ (a | ~c)) + k[3] - 1894986606 | 0;
|
|
133
|
-
d = (d << 10 | d >>> 22) + a | 0;
|
|
134
|
-
c += (a ^ (d | ~b)) + k[10] - 1051523 | 0;
|
|
135
|
-
c = (c << 15 | c >>> 17) + d | 0;
|
|
136
|
-
b += (d ^ (c | ~a)) + k[1] - 2054922799 | 0;
|
|
137
|
-
b = (b << 21 | b >>> 11) + c | 0;
|
|
138
|
-
a += (c ^ (b | ~d)) + k[8] + 1873313359 | 0;
|
|
139
|
-
a = (a << 6 | a >>> 26) + b | 0;
|
|
140
|
-
d += (b ^ (a | ~c)) + k[15] - 30611744 | 0;
|
|
141
|
-
d = (d << 10 | d >>> 22) + a | 0;
|
|
142
|
-
c += (a ^ (d | ~b)) + k[6] - 1560198380 | 0;
|
|
143
|
-
c = (c << 15 | c >>> 17) + d | 0;
|
|
144
|
-
b += (d ^ (c | ~a)) + k[13] + 1309151649 | 0;
|
|
145
|
-
b = (b << 21 | b >>> 11) + c | 0;
|
|
146
|
-
a += (c ^ (b | ~d)) + k[4] - 145523070 | 0;
|
|
147
|
-
a = (a << 6 | a >>> 26) + b | 0;
|
|
148
|
-
d += (b ^ (a | ~c)) + k[11] - 1120210379 | 0;
|
|
149
|
-
d = (d << 10 | d >>> 22) + a | 0;
|
|
150
|
-
c += (a ^ (d | ~b)) + k[2] + 718787259 | 0;
|
|
151
|
-
c = (c << 15 | c >>> 17) + d | 0;
|
|
152
|
-
b += (d ^ (c | ~a)) + k[9] - 343485551 | 0;
|
|
153
|
-
b = (b << 21 | b >>> 11) + c | 0;
|
|
154
|
-
x[0] = a + x[0] | 0;
|
|
155
|
-
x[1] = b + x[1] | 0;
|
|
156
|
-
x[2] = c + x[2] | 0;
|
|
157
|
-
x[3] = d + x[3] | 0;
|
|
158
|
-
}
|
|
159
|
-
function md5blk_array(a) {
|
|
160
|
-
var md5blks = [], i; /* Andy King said do it this way. */
|
|
161
|
-
for (i = 0; i < 64; i += 4) {
|
|
162
|
-
md5blks[i >> 2] = a[i] + (a[i + 1] << 8) + (a[i + 2] << 16) + (a[i + 3] << 24);
|
|
163
|
-
}
|
|
164
|
-
return md5blks;
|
|
165
|
-
}
|
|
166
|
-
const IV = new Uint32Array([1732584193, -271733879, -1732584194, 271733878]);
|
|
167
|
-
function md51_array(a) {
|
|
168
|
-
var n = a.length, state = new Uint32Array(IV), i, length, tail, tmp, lo, hi;
|
|
169
|
-
for (i = 64; i <= n; i += 64) {
|
|
170
|
-
md5cycle(state, md5blk_array(a.subarray(i - 64, i)));
|
|
171
|
-
}
|
|
172
|
-
// Not sure if it is a bug, however IE10 will always produce a sub array of length 1
|
|
173
|
-
// containing the last element of the parent array if the sub array specified starts
|
|
174
|
-
// beyond the length of the parent array - weird.
|
|
175
|
-
// https://connect.microsoft.com/IE/feedback/details/771452/typed-array-subarray-issue
|
|
176
|
-
a = (i - 64) < n ? a.subarray(i - 64) : new Uint8Array(0);
|
|
177
|
-
length = a.length;
|
|
178
|
-
tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
|
|
179
|
-
for (i = 0; i < length; i += 1) {
|
|
180
|
-
tail[i >> 2] |= a[i] << ((i % 4) << 3);
|
|
181
|
-
}
|
|
182
|
-
tail[i >> 2] |= 0x80 << ((i % 4) << 3);
|
|
183
|
-
if (i > 55) {
|
|
184
|
-
md5cycle(state, tail);
|
|
185
|
-
for (i = 0; i < 16; i += 1) {
|
|
186
|
-
tail[i] = 0;
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
// Beware that the final length might not fit in 32 bits so we take care of that
|
|
190
|
-
tmp = n * 8;
|
|
191
|
-
tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);
|
|
192
|
-
lo = parseInt(tmp[2], 16);
|
|
193
|
-
hi = parseInt(tmp[1], 16) || 0;
|
|
194
|
-
tail[14] = lo;
|
|
195
|
-
tail[15] = hi;
|
|
196
|
-
md5cycle(state, tail);
|
|
197
|
-
// added by frosty00
|
|
198
|
-
const result = new Uint8Array(state.length * 4);
|
|
199
|
-
for (let i = 0; i < tail.length; i++) {
|
|
200
|
-
const baseIndex = i * 4;
|
|
201
|
-
result[baseIndex] = state[i] & 0xff;
|
|
202
|
-
result[baseIndex + 1] = (state[i] >> 8) & 0xff;
|
|
203
|
-
result[baseIndex + 2] = (state[i] >> 16) & 0xff;
|
|
204
|
-
result[baseIndex + 3] = (state[i] >> 24);
|
|
205
|
-
}
|
|
206
|
-
// just converts 32 bit numbers to 8 bit
|
|
207
|
-
return result;
|
|
208
|
-
}
|
|
209
|
-
// lame wrapper over the noble hashes API
|
|
210
|
-
class MD5 extends utils.Hash {
|
|
211
|
-
constructor() {
|
|
212
|
-
super(...arguments);
|
|
213
|
-
this.blockLen = 64;
|
|
214
|
-
this.outputLen = 16;
|
|
215
|
-
this._buffer = new Uint8Array();
|
|
216
|
-
}
|
|
217
|
-
digest() {
|
|
218
|
-
const result = md51_array(this._buffer);
|
|
219
|
-
this.destroy();
|
|
220
|
-
return result;
|
|
221
|
-
}
|
|
222
|
-
digestInto(buf) {
|
|
223
|
-
const result = this.digest();
|
|
224
|
-
for (let i = 0; i < result.length; i++) {
|
|
225
|
-
buf[i] = result[i];
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
_cloneInto(to) {
|
|
229
|
-
return this;
|
|
230
|
-
}
|
|
231
|
-
destroy() {
|
|
232
|
-
this._buffer = new Uint8Array();
|
|
233
|
-
}
|
|
234
|
-
update(buf) {
|
|
235
|
-
this._buffer = utils.concatBytes(this._buffer, utils.toBytes(buf));
|
|
236
|
-
return this;
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
exports.md5 = void 0;
|
|
240
|
-
exports.md5 = utils.wrapConstructor(() => new MD5());
|
|
@@ -1,91 +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
|
-
// SHA1 was cryptographically broken.
|
|
9
|
-
// It is still widely used in legacy apps. Don't use it for a new protocol.
|
|
10
|
-
// RFC 3174
|
|
11
|
-
const rotl = (word, shift) => (word << shift) | ((word >>> (32 - shift)) >>> 0);
|
|
12
|
-
// Choice: a ? b : c
|
|
13
|
-
const Chi = (a, b, c) => (a & b) ^ (~a & c);
|
|
14
|
-
// Majority function, true if any two inpust is true
|
|
15
|
-
const Maj = (a, b, c) => (a & b) ^ (a & c) ^ (b & c);
|
|
16
|
-
// Initial state
|
|
17
|
-
const IV = new Uint32Array([0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0]);
|
|
18
|
-
// Temporary buffer, not used to store anything between runs
|
|
19
|
-
// Named this way because it matches specification.
|
|
20
|
-
const SHA1_W = new Uint32Array(80);
|
|
21
|
-
class SHA1 extends _sha2.SHA2 {
|
|
22
|
-
constructor() {
|
|
23
|
-
super(64, 20, 8, false);
|
|
24
|
-
this.A = IV[0] | 0;
|
|
25
|
-
this.B = IV[1] | 0;
|
|
26
|
-
this.C = IV[2] | 0;
|
|
27
|
-
this.D = IV[3] | 0;
|
|
28
|
-
this.E = IV[4] | 0;
|
|
29
|
-
}
|
|
30
|
-
get() {
|
|
31
|
-
const { A, B, C, D, E } = this;
|
|
32
|
-
return [A, B, C, D, E];
|
|
33
|
-
}
|
|
34
|
-
set(A, B, C, D, E) {
|
|
35
|
-
this.A = A | 0;
|
|
36
|
-
this.B = B | 0;
|
|
37
|
-
this.C = C | 0;
|
|
38
|
-
this.D = D | 0;
|
|
39
|
-
this.E = E | 0;
|
|
40
|
-
}
|
|
41
|
-
process(view, offset) {
|
|
42
|
-
for (let i = 0; i < 16; i++, offset += 4)
|
|
43
|
-
SHA1_W[i] = view.getUint32(offset, false);
|
|
44
|
-
for (let i = 16; i < 80; i++)
|
|
45
|
-
SHA1_W[i] = rotl(SHA1_W[i - 3] ^ SHA1_W[i - 8] ^ SHA1_W[i - 14] ^ SHA1_W[i - 16], 1);
|
|
46
|
-
// Compression function main loop, 80 rounds
|
|
47
|
-
let { A, B, C, D, E } = this;
|
|
48
|
-
for (let i = 0; i < 80; i++) {
|
|
49
|
-
let F, K;
|
|
50
|
-
if (i < 20) {
|
|
51
|
-
F = Chi(B, C, D);
|
|
52
|
-
K = 0x5a827999;
|
|
53
|
-
}
|
|
54
|
-
else if (i < 40) {
|
|
55
|
-
F = B ^ C ^ D;
|
|
56
|
-
K = 0x6ed9eba1;
|
|
57
|
-
}
|
|
58
|
-
else if (i < 60) {
|
|
59
|
-
F = Maj(B, C, D);
|
|
60
|
-
K = 0x8f1bbcdc;
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
F = B ^ C ^ D;
|
|
64
|
-
K = 0xca62c1d6;
|
|
65
|
-
}
|
|
66
|
-
const T = (rotl(A, 5) + F + E + K + SHA1_W[i]) | 0;
|
|
67
|
-
E = D;
|
|
68
|
-
D = C;
|
|
69
|
-
C = rotl(B, 30);
|
|
70
|
-
B = A;
|
|
71
|
-
A = T;
|
|
72
|
-
}
|
|
73
|
-
// Add the compressed chunk to the current hash value
|
|
74
|
-
A = (A + this.A) | 0;
|
|
75
|
-
B = (B + this.B) | 0;
|
|
76
|
-
C = (C + this.C) | 0;
|
|
77
|
-
D = (D + this.D) | 0;
|
|
78
|
-
E = (E + this.E) | 0;
|
|
79
|
-
this.set(A, B, C, D, E);
|
|
80
|
-
}
|
|
81
|
-
roundClean() {
|
|
82
|
-
SHA1_W.fill(0);
|
|
83
|
-
}
|
|
84
|
-
destroy() {
|
|
85
|
-
this.set(0, 0, 0, 0, 0);
|
|
86
|
-
this.buffer.fill(0);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
const sha1 = utils.wrapConstructor(() => new SHA1());
|
|
90
|
-
|
|
91
|
-
exports.sha1 = sha1;
|