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,48 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
// ----------------------------------------------------------------------------
|
|
6
|
-
// unCamelCase has to work with the following edge cases
|
|
7
|
-
//
|
|
8
|
-
// parseOHLCVs > parse_ohlcvs
|
|
9
|
-
// safeString2 > safe_string_2
|
|
10
|
-
// safeStringN > safe_string_n
|
|
11
|
-
// convertOHLCVToTradingView > convert_ohlcv_to_trading_view
|
|
12
|
-
// fetchL2OrderBook > fetch_l2_order_book
|
|
13
|
-
// stringToBase64 > string_to_base64
|
|
14
|
-
// base64ToString > base64_to_string
|
|
15
|
-
// parseHTTPResponse > parse_http_response
|
|
16
|
-
// hasFetchOHLCV > has_fetch_ohlcv
|
|
17
|
-
//
|
|
18
|
-
// @ts-nocheck
|
|
19
|
-
const unCamelCase = (s) => {
|
|
20
|
-
const exceptions = {
|
|
21
|
-
'fetchOHLCVWs': 'fetch_ohlcv_ws', // ws = websocket
|
|
22
|
-
};
|
|
23
|
-
if (exceptions[s]) {
|
|
24
|
-
return exceptions[s];
|
|
25
|
-
}
|
|
26
|
-
return s.match(/[A-Z]/) ? s.replace(/[a-z0-9][A-Z]/g, (x) => x[0] + '_' + x[1]).replace(/[A-Z0-9][A-Z0-9][a-z][^$]/g, (x) => x[0] + '_' + x[1] + x[2] + x[3]).replace(/[a-z][0-9]$/g, (x) => x[0] + '_' + x[1]).toLowerCase() : s;
|
|
27
|
-
};
|
|
28
|
-
const capitalize = (s) => {
|
|
29
|
-
return s.length ? (s.charAt(0).toUpperCase() + s.slice(1)) : s;
|
|
30
|
-
};
|
|
31
|
-
const strip = (s) => s.replace(/^\s+|\s+$/g, '');
|
|
32
|
-
// ----------------------------------------------------------------------------
|
|
33
|
-
const uuid = (a) => {
|
|
34
|
-
return a ? (a ^ Math.random() * 16 >> a / 4).toString(16) : ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuid);
|
|
35
|
-
};
|
|
36
|
-
const uuid16 = (a) => {
|
|
37
|
-
return a ? (a ^ Math.random() * 16 >> a / 4).toString(16) : ([1e5] + 1e2 + 4e2 + 8e3).replace(/[018]/g, uuid16);
|
|
38
|
-
};
|
|
39
|
-
const uuid22 = (a) => {
|
|
40
|
-
return a ? (a ^ Math.random() * 16 >> a / 4).toString(16) : ([1e7] + 1e3 + 4e3 + 8e5).replace(/[018]/g, uuid22);
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
exports.capitalize = capitalize;
|
|
44
|
-
exports.strip = strip;
|
|
45
|
-
exports.unCamelCase = unCamelCase;
|
|
46
|
-
exports.uuid = uuid;
|
|
47
|
-
exports.uuid16 = uuid16;
|
|
48
|
-
exports.uuid22 = uuid22;
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var time = require('./time.js');
|
|
6
|
-
|
|
7
|
-
//@ts-nocheck
|
|
8
|
-
/* ------------------------------------------------------------------------ */
|
|
9
|
-
class Throttler {
|
|
10
|
-
constructor(config) {
|
|
11
|
-
this.config = {
|
|
12
|
-
'refillRate': 1.0,
|
|
13
|
-
'delay': 0.001,
|
|
14
|
-
'capacity': 1.0,
|
|
15
|
-
'maxCapacity': 2000,
|
|
16
|
-
'tokens': 0,
|
|
17
|
-
'cost': 1.0,
|
|
18
|
-
};
|
|
19
|
-
Object.assign(this.config, config);
|
|
20
|
-
this.queue = [];
|
|
21
|
-
this.running = false;
|
|
22
|
-
}
|
|
23
|
-
async loop() {
|
|
24
|
-
let lastTimestamp = time.now();
|
|
25
|
-
while (this.running) {
|
|
26
|
-
const { resolver, cost } = this.queue[0];
|
|
27
|
-
if (this.config['tokens'] >= 0) {
|
|
28
|
-
this.config['tokens'] -= cost;
|
|
29
|
-
resolver();
|
|
30
|
-
this.queue.shift();
|
|
31
|
-
// contextswitch
|
|
32
|
-
await Promise.resolve();
|
|
33
|
-
if (this.queue.length === 0) {
|
|
34
|
-
this.running = false;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
await time.sleep(this.config['delay'] * 1000);
|
|
39
|
-
const current = time.now();
|
|
40
|
-
const elapsed = current - lastTimestamp;
|
|
41
|
-
lastTimestamp = current;
|
|
42
|
-
const tokens = this.config['tokens'] + (this.config['refillRate'] * elapsed);
|
|
43
|
-
this.config['tokens'] = Math.min(tokens, this.config['capacity']);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
throttle(cost = undefined) {
|
|
48
|
-
let resolver;
|
|
49
|
-
const promise = new Promise((resolve, reject) => {
|
|
50
|
-
resolver = resolve;
|
|
51
|
-
});
|
|
52
|
-
if (this.queue.length > this.config['maxCapacity']) {
|
|
53
|
-
throw new Error('throttle queue is over maxCapacity (' + this.config['maxCapacity'].toString() + '), see https://github.com/ccxt/ccxt/issues/11645#issuecomment-1195695526');
|
|
54
|
-
}
|
|
55
|
-
cost = (cost === undefined) ? this.config['cost'] : cost;
|
|
56
|
-
this.queue.push({ resolver, cost });
|
|
57
|
-
if (!this.running) {
|
|
58
|
-
this.running = true;
|
|
59
|
-
this.loop();
|
|
60
|
-
}
|
|
61
|
-
return promise;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
// ----------------------------------------
|
|
65
|
-
|
|
66
|
-
exports.Throttler = Throttler;
|
|
@@ -1,187 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
// @ts-nocheck
|
|
6
|
-
const now = Date.now; // TODO: figure out how to utilize performance.now () properly – it's not as easy as it does not return a unix timestamp...
|
|
7
|
-
const microseconds = () => now() * 1000; // TODO: utilize performance.now for that purpose
|
|
8
|
-
const milliseconds = now;
|
|
9
|
-
const seconds = () => Math.floor(now() / 1000);
|
|
10
|
-
const uuidv1 = () => {
|
|
11
|
-
const biasSeconds = 12219292800; // seconds from 15th Oct 1572 to Jan 1st 1970
|
|
12
|
-
const bias = biasSeconds * 10000000; // in hundreds of nanoseconds
|
|
13
|
-
const time = microseconds() * 10 + bias;
|
|
14
|
-
const timeHex = time.toString(16);
|
|
15
|
-
const arranged = timeHex.slice(7, 15) + timeHex.slice(3, 7) + '1' + timeHex.slice(0, 3);
|
|
16
|
-
// these should be random, but we're not making more than 10 requests per microsecond so who cares
|
|
17
|
-
const clockId = '9696'; // a 14 bit number
|
|
18
|
-
const macAddress = 'ff'.repeat(6);
|
|
19
|
-
return arranged + clockId + macAddress;
|
|
20
|
-
};
|
|
21
|
-
const setTimeout_original = setTimeout;
|
|
22
|
-
const setTimeout_safe = (done, ms, setTimeout = setTimeout_original /* overrideable for mocking purposes */, targetTime = now() + ms) => {
|
|
23
|
-
// avoid MAX_INT issue https://github.com/ccxt/ccxt/issues/10761
|
|
24
|
-
if (ms >= 2147483647) {
|
|
25
|
-
throw new Error('setTimeout() function was called with unrealistic value of ' + ms.toString());
|
|
26
|
-
}
|
|
27
|
-
// The built-in setTimeout function can fire its callback earlier than specified, so we
|
|
28
|
-
// need to ensure that it does not happen: sleep recursively until `targetTime` is reached...
|
|
29
|
-
let clearInnerTimeout = () => { };
|
|
30
|
-
let active = true;
|
|
31
|
-
const id = setTimeout(() => {
|
|
32
|
-
active = true;
|
|
33
|
-
const rest = targetTime - now();
|
|
34
|
-
if (rest > 0) {
|
|
35
|
-
clearInnerTimeout = setTimeout_safe(done, rest, setTimeout, targetTime); // try sleep more
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
done();
|
|
39
|
-
}
|
|
40
|
-
}, ms);
|
|
41
|
-
return function clear() {
|
|
42
|
-
if (active) {
|
|
43
|
-
active = false; // dunno if IDs are unique on various platforms, so it's better to rely on this flag to exclude the possible cancellation of the wrong timer (if called after completion)
|
|
44
|
-
clearTimeout(id);
|
|
45
|
-
}
|
|
46
|
-
clearInnerTimeout();
|
|
47
|
-
};
|
|
48
|
-
};
|
|
49
|
-
class TimedOut extends Error {
|
|
50
|
-
constructor() {
|
|
51
|
-
const message = 'timed out';
|
|
52
|
-
super(message);
|
|
53
|
-
this.constructor = TimedOut;
|
|
54
|
-
// // @ts-expect-error
|
|
55
|
-
this.__proto__ = TimedOut.prototype;
|
|
56
|
-
this.message = message;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
const iso8601 = (timestamp) => {
|
|
60
|
-
let _timestampNumber = undefined;
|
|
61
|
-
if (typeof timestamp === 'number') {
|
|
62
|
-
_timestampNumber = Math.floor(timestamp);
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
_timestampNumber = parseInt(timestamp, 10);
|
|
66
|
-
}
|
|
67
|
-
// undefined, null and lots of nasty non-numeric values yield NaN
|
|
68
|
-
if (Number.isNaN(_timestampNumber) || _timestampNumber < 0) {
|
|
69
|
-
return undefined;
|
|
70
|
-
}
|
|
71
|
-
// last line of defence
|
|
72
|
-
try {
|
|
73
|
-
return new Date(_timestampNumber).toISOString();
|
|
74
|
-
}
|
|
75
|
-
catch (e) {
|
|
76
|
-
return undefined;
|
|
77
|
-
}
|
|
78
|
-
};
|
|
79
|
-
const parse8601 = (x) => {
|
|
80
|
-
if (typeof x !== 'string' || !x) {
|
|
81
|
-
return undefined;
|
|
82
|
-
}
|
|
83
|
-
if (x.match(/^[0-9]+$/)) {
|
|
84
|
-
// a valid number in a string, not a date.
|
|
85
|
-
return undefined;
|
|
86
|
-
}
|
|
87
|
-
if (x.indexOf('-') < 0 || x.indexOf(':') < 0) { // no date can be without a dash and a colon
|
|
88
|
-
return undefined;
|
|
89
|
-
}
|
|
90
|
-
// last line of defence
|
|
91
|
-
try {
|
|
92
|
-
const candidate = Date.parse(((x.indexOf('+') >= 0) || (x.slice(-1) === 'Z')) ? x : (x + 'Z').replace(/\s(\d\d):/, 'T$1:'));
|
|
93
|
-
if (Number.isNaN(candidate)) {
|
|
94
|
-
return undefined;
|
|
95
|
-
}
|
|
96
|
-
return candidate;
|
|
97
|
-
}
|
|
98
|
-
catch (e) {
|
|
99
|
-
return undefined;
|
|
100
|
-
}
|
|
101
|
-
};
|
|
102
|
-
const parseDate = (x) => {
|
|
103
|
-
if (typeof x !== 'string' || !x) {
|
|
104
|
-
return undefined;
|
|
105
|
-
}
|
|
106
|
-
if (x.indexOf('GMT') >= 0) {
|
|
107
|
-
try {
|
|
108
|
-
return Date.parse(x);
|
|
109
|
-
}
|
|
110
|
-
catch (e) {
|
|
111
|
-
return undefined;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
return parse8601(x);
|
|
115
|
-
};
|
|
116
|
-
const rfc2616 = (timestamp = undefined) => new Date(timestamp).toUTCString();
|
|
117
|
-
const mdy = (timestamp, infix = '-') => {
|
|
118
|
-
infix = infix || '';
|
|
119
|
-
const date = new Date(timestamp);
|
|
120
|
-
const Y = date.getUTCFullYear().toString();
|
|
121
|
-
let m = date.getUTCMonth() + 1;
|
|
122
|
-
let d = date.getUTCDate();
|
|
123
|
-
m = m < 10 ? ('0' + m) : m.toString();
|
|
124
|
-
d = d < 10 ? ('0' + d) : d.toString();
|
|
125
|
-
return m + infix + d + infix + Y;
|
|
126
|
-
};
|
|
127
|
-
const ymd = (timestamp, infix, fullYear = true) => {
|
|
128
|
-
infix = infix || '';
|
|
129
|
-
const date = new Date(timestamp);
|
|
130
|
-
const intYear = date.getUTCFullYear();
|
|
131
|
-
const year = fullYear ? intYear : (intYear - 2000);
|
|
132
|
-
const Y = year.toString();
|
|
133
|
-
let m = date.getUTCMonth() + 1;
|
|
134
|
-
let d = date.getUTCDate();
|
|
135
|
-
m = m < 10 ? ('0' + m) : m.toString();
|
|
136
|
-
d = d < 10 ? ('0' + d) : d.toString();
|
|
137
|
-
return Y + infix + m + infix + d;
|
|
138
|
-
};
|
|
139
|
-
const yymmdd = (timestamp, infix = '') => ymd(timestamp, infix, false);
|
|
140
|
-
const yyyymmdd = (timestamp, infix = '-') => ymd(timestamp, infix, true);
|
|
141
|
-
const ymdhms = (timestamp, infix = ' ') => {
|
|
142
|
-
const date = new Date(timestamp);
|
|
143
|
-
const Y = date.getUTCFullYear();
|
|
144
|
-
let m = date.getUTCMonth() + 1;
|
|
145
|
-
let d = date.getUTCDate();
|
|
146
|
-
let H = date.getUTCHours();
|
|
147
|
-
let M = date.getUTCMinutes();
|
|
148
|
-
let S = date.getUTCSeconds();
|
|
149
|
-
m = m < 10 ? ('0' + m) : m;
|
|
150
|
-
d = d < 10 ? ('0' + d) : d;
|
|
151
|
-
H = H < 10 ? ('0' + H) : H;
|
|
152
|
-
M = M < 10 ? ('0' + M) : M;
|
|
153
|
-
S = S < 10 ? ('0' + S) : S;
|
|
154
|
-
return Y + '-' + m + '-' + d + infix + H + ':' + M + ':' + S;
|
|
155
|
-
};
|
|
156
|
-
const sleep = (ms) => new Promise((resolve) => setTimeout_safe(resolve, ms));
|
|
157
|
-
const timeout = async (ms, promise) => {
|
|
158
|
-
let clear = () => { };
|
|
159
|
-
const expires = new Promise((resolve) => (clear = setTimeout_safe(resolve, ms)));
|
|
160
|
-
try {
|
|
161
|
-
return await Promise.race([promise, expires.then(() => {
|
|
162
|
-
throw new TimedOut();
|
|
163
|
-
})]);
|
|
164
|
-
}
|
|
165
|
-
finally {
|
|
166
|
-
clear(); // fixes https://github.com/ccxt/ccxt/issues/749
|
|
167
|
-
}
|
|
168
|
-
};
|
|
169
|
-
|
|
170
|
-
exports.TimedOut = TimedOut;
|
|
171
|
-
exports.iso8601 = iso8601;
|
|
172
|
-
exports.mdy = mdy;
|
|
173
|
-
exports.microseconds = microseconds;
|
|
174
|
-
exports.milliseconds = milliseconds;
|
|
175
|
-
exports.now = now;
|
|
176
|
-
exports.parse8601 = parse8601;
|
|
177
|
-
exports.parseDate = parseDate;
|
|
178
|
-
exports.rfc2616 = rfc2616;
|
|
179
|
-
exports.seconds = seconds;
|
|
180
|
-
exports.setTimeout_safe = setTimeout_safe;
|
|
181
|
-
exports.sleep = sleep;
|
|
182
|
-
exports.timeout = timeout;
|
|
183
|
-
exports.uuidv1 = uuidv1;
|
|
184
|
-
exports.ymd = ymd;
|
|
185
|
-
exports.ymdhms = ymdhms;
|
|
186
|
-
exports.yymmdd = yymmdd;
|
|
187
|
-
exports.yyyymmdd = yyyymmdd;
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var index = require('../../static_dependencies/scure-base/index.js');
|
|
6
|
-
var sha1 = require('../../static_dependencies/noble-hashes/sha1.js');
|
|
7
|
-
var crypto = require('./crypto.js');
|
|
8
|
-
|
|
9
|
-
function totp(secret) {
|
|
10
|
-
const dec2hex = (s) => ((s < 15.5 ? '0' : '') + Math.round(s).toString(16));
|
|
11
|
-
const hex2dec = (s) => parseInt(s, 16);
|
|
12
|
-
const leftpad = (s, p) => (p + s).slice(-p.length); // both s and p are short strings
|
|
13
|
-
secret = secret.replace(' ', ''); // support 2fa-secrets with spaces like "4TDV WOGO" → "4TDVWOGO"
|
|
14
|
-
const epoch = Math.round(new Date().getTime() / 1000.0);
|
|
15
|
-
const time = leftpad(dec2hex(Math.floor(epoch / 30)), '0000000000000000');
|
|
16
|
-
const hmacRes = crypto.hmac(index.base16.decode(time), index.base32.decode(secret), sha1.sha1, 'hex');
|
|
17
|
-
const offset = hex2dec(hmacRes.substring(hmacRes.length - 1));
|
|
18
|
-
// eslint-disable-next-line
|
|
19
|
-
let otp = (hex2dec(hmacRes.substr(offset * 2, 8)) & hex2dec('7fffffff')) + '';
|
|
20
|
-
return otp.substring(otp.length - 6, otp.length);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
exports["default"] = totp;
|
|
24
|
-
exports.totp = totp;
|
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
/* ------------------------------------------------------------------------ */
|
|
6
|
-
const isNumber = Number.isFinite;
|
|
7
|
-
const isInteger = Number.isInteger;
|
|
8
|
-
const isArray = Array.isArray;
|
|
9
|
-
const hasProps = (o) => ((o !== undefined) && (o !== null));
|
|
10
|
-
const isString = (s) => (typeof s === 'string');
|
|
11
|
-
const isObject = (o) => ((o !== null) && (typeof o === 'object'));
|
|
12
|
-
const isRegExp = (o) => (o instanceof RegExp);
|
|
13
|
-
const isDictionary = (o) => (isObject(o) && (Object.getPrototypeOf(o) === Object.prototype) && !isArray(o) && !isRegExp(o));
|
|
14
|
-
const isStringCoercible = (x) => ((hasProps(x) && x.toString) || isNumber(x));
|
|
15
|
-
/* ............................................. */
|
|
16
|
-
const prop = (o, k) => (isObject(o) && o[k] !== '' && o[k] !== null ? o[k] : undefined);
|
|
17
|
-
const prop2 = (o, k1, k2) => (!isObject(o)
|
|
18
|
-
? undefined
|
|
19
|
-
: (o[k1] !== undefined && o[k1] !== '' && o[k1] !== null
|
|
20
|
-
? o[k1]
|
|
21
|
-
: (o[k2] !== '' && o[k2] !== null
|
|
22
|
-
? o[k2]
|
|
23
|
-
: undefined)));
|
|
24
|
-
const getValueFromKeysInArray = (object, array) => object[array.find((k) => prop(object, k) !== undefined)];
|
|
25
|
-
/* ............................................. */
|
|
26
|
-
const asFloat = (x) => ((isNumber(x) || (isString(x) && x.length !== 0)) ? parseFloat(x) : NaN);
|
|
27
|
-
const asInteger = (x) => ((isNumber(x) || (isString(x) && x.length !== 0)) ? Math.trunc(Number(x)) : NaN);
|
|
28
|
-
/* ............................................. */
|
|
29
|
-
const safeFloat = (o, k, $default) => {
|
|
30
|
-
const n = asFloat(prop(o, k));
|
|
31
|
-
return isNumber(n) ? n : $default;
|
|
32
|
-
};
|
|
33
|
-
const safeInteger = (o, k, $default) => {
|
|
34
|
-
const n = asInteger(prop(o, k));
|
|
35
|
-
return isNumber(n) ? n : $default;
|
|
36
|
-
};
|
|
37
|
-
const safeIntegerProduct = (o, k, $factor, $default) => {
|
|
38
|
-
const n = asFloat(prop(o, k));
|
|
39
|
-
return isNumber(n) ? parseInt(n * $factor) : $default;
|
|
40
|
-
};
|
|
41
|
-
const safeTimestamp = (o, k, $default) => {
|
|
42
|
-
const n = asFloat(prop(o, k));
|
|
43
|
-
return isNumber(n) ? parseInt(n * 1000) : $default;
|
|
44
|
-
};
|
|
45
|
-
const safeValue = (o, k, $default) => {
|
|
46
|
-
const x = prop(o, k);
|
|
47
|
-
return hasProps(x) ? x : $default;
|
|
48
|
-
};
|
|
49
|
-
const safeString = (o, k, $default) => {
|
|
50
|
-
const x = prop(o, k);
|
|
51
|
-
return isStringCoercible(x) ? String(x) : $default;
|
|
52
|
-
};
|
|
53
|
-
const safeStringLower = (o, k, $default) => {
|
|
54
|
-
const x = prop(o, k);
|
|
55
|
-
return isStringCoercible(x) ? String(x).toLowerCase() : $default;
|
|
56
|
-
};
|
|
57
|
-
const safeStringUpper = (o, k, $default) => {
|
|
58
|
-
const x = prop(o, k);
|
|
59
|
-
return isStringCoercible(x) ? String(x).toUpperCase() : $default;
|
|
60
|
-
};
|
|
61
|
-
/* ............................................. */
|
|
62
|
-
const safeFloat2 = (o, k1, k2, $default) => {
|
|
63
|
-
const n = asFloat(prop2(o, k1, k2));
|
|
64
|
-
return isNumber(n) ? n : $default;
|
|
65
|
-
};
|
|
66
|
-
const safeInteger2 = (o, k1, k2, $default) => {
|
|
67
|
-
const n = asInteger(prop2(o, k1, k2));
|
|
68
|
-
return isNumber(n) ? n : $default;
|
|
69
|
-
};
|
|
70
|
-
const safeIntegerProduct2 = (o, k1, k2, $factor, $default) => {
|
|
71
|
-
const n = asInteger(prop2(o, k1, k2));
|
|
72
|
-
return isNumber(n) ? parseInt(n * $factor) : $default;
|
|
73
|
-
};
|
|
74
|
-
const safeTimestamp2 = (o, k1, k2, $default) => {
|
|
75
|
-
const n = asFloat(prop2(o, k1, k2));
|
|
76
|
-
return isNumber(n) ? parseInt(n * 1000) : $default;
|
|
77
|
-
};
|
|
78
|
-
const safeValue2 = (o, k1, k2, $default) => {
|
|
79
|
-
const x = prop2(o, k1, k2);
|
|
80
|
-
return hasProps(x) ? x : $default;
|
|
81
|
-
};
|
|
82
|
-
const safeString2 = (o, k1, k2, $default) => {
|
|
83
|
-
const x = prop2(o, k1, k2);
|
|
84
|
-
return isStringCoercible(x) ? String(x) : $default;
|
|
85
|
-
};
|
|
86
|
-
const safeStringLower2 = (o, k1, k2, $default) => {
|
|
87
|
-
const x = prop2(o, k1, k2);
|
|
88
|
-
return isStringCoercible(x) ? String(x).toLowerCase() : $default;
|
|
89
|
-
};
|
|
90
|
-
const safeStringUpper2 = (o, k1, k2, $default) => {
|
|
91
|
-
const x = prop2(o, k1, k2);
|
|
92
|
-
return isStringCoercible(x) ? String(x).toUpperCase() : $default;
|
|
93
|
-
};
|
|
94
|
-
const safeFloatN = (o, k, $default) => {
|
|
95
|
-
const n = asFloat(getValueFromKeysInArray(o, k));
|
|
96
|
-
return isNumber(n) ? n : $default;
|
|
97
|
-
};
|
|
98
|
-
const safeIntegerN = (o, k, $default) => {
|
|
99
|
-
const n = asInteger(getValueFromKeysInArray(o, k));
|
|
100
|
-
return isNumber(n) ? n : $default;
|
|
101
|
-
};
|
|
102
|
-
const safeIntegerProductN = (o, k, $factor, $default) => {
|
|
103
|
-
const n = asInteger(getValueFromKeysInArray(o, k));
|
|
104
|
-
return isNumber(n) ? parseInt(n * $factor) : $default;
|
|
105
|
-
};
|
|
106
|
-
const safeTimestampN = (o, k, $default) => {
|
|
107
|
-
const n = asFloat(getValueFromKeysInArray(o, k));
|
|
108
|
-
return isNumber(n) ? parseInt(n * 1000) : $default;
|
|
109
|
-
};
|
|
110
|
-
const safeValueN = (o, k, $default) => {
|
|
111
|
-
const x = getValueFromKeysInArray(o, k);
|
|
112
|
-
return hasProps(x) ? x : $default;
|
|
113
|
-
};
|
|
114
|
-
const safeStringN = (o, k, $default) => {
|
|
115
|
-
const x = getValueFromKeysInArray(o, k);
|
|
116
|
-
return isStringCoercible(x) ? String(x) : $default;
|
|
117
|
-
};
|
|
118
|
-
const safeStringLowerN = (o, k, $default) => {
|
|
119
|
-
const x = getValueFromKeysInArray(o, k);
|
|
120
|
-
return isStringCoercible(x) ? String(x).toLowerCase() : $default;
|
|
121
|
-
};
|
|
122
|
-
const safeStringUpperN = (o, k, $default) => {
|
|
123
|
-
const x = getValueFromKeysInArray(o, k);
|
|
124
|
-
return isStringCoercible(x) ? String(x).toUpperCase() : $default;
|
|
125
|
-
};
|
|
126
|
-
/* ------------------------------------------------------------------------ */
|
|
127
|
-
|
|
128
|
-
exports.asFloat = asFloat;
|
|
129
|
-
exports.asInteger = asInteger;
|
|
130
|
-
exports.hasProps = hasProps;
|
|
131
|
-
exports.isArray = isArray;
|
|
132
|
-
exports.isDictionary = isDictionary;
|
|
133
|
-
exports.isInteger = isInteger;
|
|
134
|
-
exports.isNumber = isNumber;
|
|
135
|
-
exports.isObject = isObject;
|
|
136
|
-
exports.isString = isString;
|
|
137
|
-
exports.isStringCoercible = isStringCoercible;
|
|
138
|
-
exports.prop = prop;
|
|
139
|
-
exports.safeFloat = safeFloat;
|
|
140
|
-
exports.safeFloat2 = safeFloat2;
|
|
141
|
-
exports.safeFloatN = safeFloatN;
|
|
142
|
-
exports.safeInteger = safeInteger;
|
|
143
|
-
exports.safeInteger2 = safeInteger2;
|
|
144
|
-
exports.safeIntegerN = safeIntegerN;
|
|
145
|
-
exports.safeIntegerProduct = safeIntegerProduct;
|
|
146
|
-
exports.safeIntegerProduct2 = safeIntegerProduct2;
|
|
147
|
-
exports.safeIntegerProductN = safeIntegerProductN;
|
|
148
|
-
exports.safeString = safeString;
|
|
149
|
-
exports.safeString2 = safeString2;
|
|
150
|
-
exports.safeStringLower = safeStringLower;
|
|
151
|
-
exports.safeStringLower2 = safeStringLower2;
|
|
152
|
-
exports.safeStringLowerN = safeStringLowerN;
|
|
153
|
-
exports.safeStringN = safeStringN;
|
|
154
|
-
exports.safeStringUpper = safeStringUpper;
|
|
155
|
-
exports.safeStringUpper2 = safeStringUpper2;
|
|
156
|
-
exports.safeStringUpperN = safeStringUpperN;
|
|
157
|
-
exports.safeTimestamp = safeTimestamp;
|
|
158
|
-
exports.safeTimestamp2 = safeTimestamp2;
|
|
159
|
-
exports.safeTimestampN = safeTimestampN;
|
|
160
|
-
exports.safeValue = safeValue;
|
|
161
|
-
exports.safeValue2 = safeValue2;
|
|
162
|
-
exports.safeValueN = safeValueN;
|
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var platform = require('./functions/platform.js');
|
|
6
|
-
var generic = require('./functions/generic.js');
|
|
7
|
-
var string = require('./functions/string.js');
|
|
8
|
-
var type = require('./functions/type.js');
|
|
9
|
-
var number = require('./functions/number.js');
|
|
10
|
-
var encode = require('./functions/encode.js');
|
|
11
|
-
var crypto = require('./functions/crypto.js');
|
|
12
|
-
var time = require('./functions/time.js');
|
|
13
|
-
var throttle = require('./functions/throttle.js');
|
|
14
|
-
var misc = require('./functions/misc.js');
|
|
15
|
-
|
|
16
|
-
/* ------------------------------------------------------------------------ */
|
|
17
|
-
/* ------------------------------------------------------------------------ */
|
|
18
|
-
|
|
19
|
-
exports.isBrowser = platform.isBrowser;
|
|
20
|
-
exports.isElectron = platform.isElectron;
|
|
21
|
-
exports.isNode = platform.isNode;
|
|
22
|
-
exports.isWebWorker = platform.isWebWorker;
|
|
23
|
-
exports.isWindows = platform.isWindows;
|
|
24
|
-
exports.arrayConcat = generic.arrayConcat;
|
|
25
|
-
exports.clone = generic.clone;
|
|
26
|
-
exports.deepExtend = generic.deepExtend;
|
|
27
|
-
exports.extend = generic.extend;
|
|
28
|
-
exports.filterBy = generic.filterBy;
|
|
29
|
-
exports.flatten = generic.flatten;
|
|
30
|
-
exports.groupBy = generic.groupBy;
|
|
31
|
-
exports.inArray = generic.inArray;
|
|
32
|
-
exports.index = generic.index;
|
|
33
|
-
exports.indexBy = generic.indexBy;
|
|
34
|
-
exports.isEmpty = generic.isEmpty;
|
|
35
|
-
exports.keys = generic.keys;
|
|
36
|
-
exports.keysort = generic.keysort;
|
|
37
|
-
exports.merge = generic.merge;
|
|
38
|
-
exports.omit = generic.omit;
|
|
39
|
-
exports.ordered = generic.ordered;
|
|
40
|
-
exports.pluck = generic.pluck;
|
|
41
|
-
exports.sortBy = generic.sortBy;
|
|
42
|
-
exports.sortBy2 = generic.sortBy2;
|
|
43
|
-
exports.sum = generic.sum;
|
|
44
|
-
exports.toArray = generic.toArray;
|
|
45
|
-
exports.unique = generic.unique;
|
|
46
|
-
exports.values = generic.values;
|
|
47
|
-
exports.capitalize = string.capitalize;
|
|
48
|
-
exports.strip = string.strip;
|
|
49
|
-
exports.unCamelCase = string.unCamelCase;
|
|
50
|
-
exports.uuid = string.uuid;
|
|
51
|
-
exports.uuid16 = string.uuid16;
|
|
52
|
-
exports.uuid22 = string.uuid22;
|
|
53
|
-
exports.asFloat = type.asFloat;
|
|
54
|
-
exports.asInteger = type.asInteger;
|
|
55
|
-
exports.hasProps = type.hasProps;
|
|
56
|
-
exports.isArray = type.isArray;
|
|
57
|
-
exports.isDictionary = type.isDictionary;
|
|
58
|
-
exports.isInteger = type.isInteger;
|
|
59
|
-
exports.isNumber = type.isNumber;
|
|
60
|
-
exports.isObject = type.isObject;
|
|
61
|
-
exports.isString = type.isString;
|
|
62
|
-
exports.isStringCoercible = type.isStringCoercible;
|
|
63
|
-
exports.prop = type.prop;
|
|
64
|
-
exports.safeFloat = type.safeFloat;
|
|
65
|
-
exports.safeFloat2 = type.safeFloat2;
|
|
66
|
-
exports.safeFloatN = type.safeFloatN;
|
|
67
|
-
exports.safeInteger = type.safeInteger;
|
|
68
|
-
exports.safeInteger2 = type.safeInteger2;
|
|
69
|
-
exports.safeIntegerN = type.safeIntegerN;
|
|
70
|
-
exports.safeIntegerProduct = type.safeIntegerProduct;
|
|
71
|
-
exports.safeIntegerProduct2 = type.safeIntegerProduct2;
|
|
72
|
-
exports.safeIntegerProductN = type.safeIntegerProductN;
|
|
73
|
-
exports.safeString = type.safeString;
|
|
74
|
-
exports.safeString2 = type.safeString2;
|
|
75
|
-
exports.safeStringLower = type.safeStringLower;
|
|
76
|
-
exports.safeStringLower2 = type.safeStringLower2;
|
|
77
|
-
exports.safeStringLowerN = type.safeStringLowerN;
|
|
78
|
-
exports.safeStringN = type.safeStringN;
|
|
79
|
-
exports.safeStringUpper = type.safeStringUpper;
|
|
80
|
-
exports.safeStringUpper2 = type.safeStringUpper2;
|
|
81
|
-
exports.safeStringUpperN = type.safeStringUpperN;
|
|
82
|
-
exports.safeTimestamp = type.safeTimestamp;
|
|
83
|
-
exports.safeTimestamp2 = type.safeTimestamp2;
|
|
84
|
-
exports.safeTimestampN = type.safeTimestampN;
|
|
85
|
-
exports.safeValue = type.safeValue;
|
|
86
|
-
exports.safeValue2 = type.safeValue2;
|
|
87
|
-
exports.safeValueN = type.safeValueN;
|
|
88
|
-
exports.DECIMAL_PLACES = number.DECIMAL_PLACES;
|
|
89
|
-
exports.NO_PADDING = number.NO_PADDING;
|
|
90
|
-
exports.PAD_WITH_ZERO = number.PAD_WITH_ZERO;
|
|
91
|
-
exports.ROUND = number.ROUND;
|
|
92
|
-
exports.ROUND_DOWN = number.ROUND_DOWN;
|
|
93
|
-
exports.ROUND_UP = number.ROUND_UP;
|
|
94
|
-
exports.SIGNIFICANT_DIGITS = number.SIGNIFICANT_DIGITS;
|
|
95
|
-
exports.TICK_SIZE = number.TICK_SIZE;
|
|
96
|
-
exports.TRUNCATE = number.TRUNCATE;
|
|
97
|
-
exports.decimalToPrecision = number.decimalToPrecision;
|
|
98
|
-
exports.numberToString = number.numberToString;
|
|
99
|
-
exports.omitZero = number.omitZero;
|
|
100
|
-
exports.precisionConstants = number.precisionConstants;
|
|
101
|
-
exports.precisionFromString = number.precisionFromString;
|
|
102
|
-
exports.truncate = number.truncate;
|
|
103
|
-
exports.truncate_to_string = number.truncate_to_string;
|
|
104
|
-
exports.base16ToBinary = encode.base16ToBinary;
|
|
105
|
-
exports.base58ToBinary = encode.base58ToBinary;
|
|
106
|
-
exports.base64ToBinary = encode.base64ToBinary;
|
|
107
|
-
exports.base64ToString = encode.base64ToString;
|
|
108
|
-
exports.binaryConcat = encode.binaryConcat;
|
|
109
|
-
exports.binaryConcatArray = encode.binaryConcatArray;
|
|
110
|
-
exports.binaryToBase16 = encode.binaryToBase16;
|
|
111
|
-
exports.binaryToBase58 = encode.binaryToBase58;
|
|
112
|
-
exports.binaryToBase64 = encode.binaryToBase64;
|
|
113
|
-
exports.binaryToString = encode.binaryToString;
|
|
114
|
-
exports.decode = encode.decode;
|
|
115
|
-
exports.encode = encode.encode;
|
|
116
|
-
exports.isJsonEncodedObject = encode.isJsonEncodedObject;
|
|
117
|
-
exports.json = encode.json;
|
|
118
|
-
exports.numberToBE = encode.numberToBE;
|
|
119
|
-
exports.numberToLE = encode.numberToLE;
|
|
120
|
-
exports.rawencode = encode.rawencode;
|
|
121
|
-
exports.stringToBase64 = encode.stringToBase64;
|
|
122
|
-
exports.stringToBinary = encode.stringToBinary;
|
|
123
|
-
exports.urlencode = encode.urlencode;
|
|
124
|
-
exports.urlencodeBase64 = encode.urlencodeBase64;
|
|
125
|
-
exports.urlencodeNested = encode.urlencodeNested;
|
|
126
|
-
exports.urlencodeWithArrayRepeat = encode.urlencodeWithArrayRepeat;
|
|
127
|
-
exports.axolotl = crypto.axolotl;
|
|
128
|
-
exports.crc32 = crypto.crc32;
|
|
129
|
-
exports.ecdsa = crypto.ecdsa;
|
|
130
|
-
exports.eddsa = crypto.eddsa;
|
|
131
|
-
exports.hash = crypto.hash;
|
|
132
|
-
exports.hmac = crypto.hmac;
|
|
133
|
-
exports.TimedOut = time.TimedOut;
|
|
134
|
-
exports.iso8601 = time.iso8601;
|
|
135
|
-
exports.mdy = time.mdy;
|
|
136
|
-
exports.microseconds = time.microseconds;
|
|
137
|
-
exports.milliseconds = time.milliseconds;
|
|
138
|
-
exports.now = time.now;
|
|
139
|
-
exports.parse8601 = time.parse8601;
|
|
140
|
-
exports.parseDate = time.parseDate;
|
|
141
|
-
exports.rfc2616 = time.rfc2616;
|
|
142
|
-
exports.seconds = time.seconds;
|
|
143
|
-
exports.setTimeout_safe = time.setTimeout_safe;
|
|
144
|
-
exports.sleep = time.sleep;
|
|
145
|
-
exports.timeout = time.timeout;
|
|
146
|
-
exports.uuidv1 = time.uuidv1;
|
|
147
|
-
exports.ymd = time.ymd;
|
|
148
|
-
exports.ymdhms = time.ymdhms;
|
|
149
|
-
exports.yymmdd = time.yymmdd;
|
|
150
|
-
exports.yyyymmdd = time.yyyymmdd;
|
|
151
|
-
exports.Throttler = throttle.Throttler;
|
|
152
|
-
exports.aggregate = misc.aggregate;
|
|
153
|
-
exports.extractParams = misc.extractParams;
|
|
154
|
-
exports.implodeParams = misc.implodeParams;
|
|
155
|
-
exports.parseTimeframe = misc.parseTimeframe;
|
|
156
|
-
exports.roundTimeframe = misc.roundTimeframe;
|
|
157
|
-
exports.vwap = misc.vwap;
|