ccxt 4.2.18 → 4.2.20
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 +100 -100
- package/dist/ccxt.browser.js +34240 -33297
- package/dist/ccxt.browser.min.js +2 -2
- 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 +276 -27
- package/dist/cjs/src/bigone.js +434 -168
- package/dist/cjs/src/binance.js +165 -35
- package/dist/cjs/src/binanceus.js +25 -0
- package/dist/cjs/src/bingx.js +185 -42
- package/dist/cjs/src/bitfinex.js +2 -3
- package/dist/cjs/src/bitget.js +84 -47
- 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/bitteam.js +1 -1
- package/dist/cjs/src/bybit.js +27 -75
- 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 -19
- package/dist/cjs/src/deribit.js +17 -4
- package/dist/cjs/src/gate.js +151 -194
- 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 +140 -86
- 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 -29
- 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/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 +11 -2
- package/js/ccxt.js +8 -2
- package/js/src/abstract/binance.d.ts +1 -0
- package/js/src/abstract/binancecoinm.d.ts +1 -0
- package/js/src/abstract/binanceus.d.ts +1 -0
- package/js/src/abstract/binanceusdm.d.ts +1 -0
- package/js/src/abstract/bitpanda.d.ts +4 -4
- package/js/src/abstract/bitpanda.js +3 -3
- 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/abstract/onetrading.js +11 -0
- package/js/src/ascendex.js +2 -0
- package/js/src/base/Exchange.d.ts +3 -0
- package/js/src/base/Exchange.js +10 -0
- package/js/src/binance.js +2 -1
- package/js/src/binanceus.js +17 -0
- package/js/src/bingx.js +3 -2
- package/js/src/bitget.d.ts +1 -1
- package/js/src/bitget.js +47 -34
- 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/bitteam.js +1 -1
- package/js/src/bybit.d.ts +0 -1
- package/js/src/bybit.js +1 -29
- package/js/src/delta.d.ts +0 -1
- package/js/src/delta.js +0 -18
- package/js/src/deribit.js +11 -3
- package/js/src/gate.d.ts +1 -1
- package/js/src/gate.js +50 -135
- package/js/src/htx.js +3 -0
- package/js/src/kraken.d.ts +1 -0
- package/js/src/kraken.js +39 -38
- package/js/src/kucoinfutures.d.ts +6 -6
- package/js/src/kucoinfutures.js +9 -9
- 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/okx.d.ts +0 -1
- package/js/src/okx.js +0 -18
- 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 +6 -1
- package/js/src/pro/bitpanda.d.ts +2 -34
- package/js/src/pro/bitpanda.js +5 -1330
- 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/package.json +2 -2
- package/rollup.config.js +2 -0
- package/skip-tests.json +4 -2
- package/test-commonjs.cjs +25 -1
- package/dist/cjs/js/ccxt.js +0 -478
- 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 -5260
- 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 -9851
- 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 -3872
- 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 -7624
- 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 -844
- 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 -3310
- 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 -1062
- package/dist/cjs/js/src/pro/kucoinfutures.js +0 -989
- 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 -1022
- 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 -2310
- 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/coincheck.js +0 -0
- /package/dist/cjs/{js/src → src}/pro/coinone.js +0 -0
package/dist/cjs/src/pro/okx.js
CHANGED
|
@@ -20,6 +20,7 @@ class okx extends okx$1 {
|
|
|
20
20
|
'watchOrderBookForSymbols': true,
|
|
21
21
|
'watchBalance': true,
|
|
22
22
|
'watchOHLCV': true,
|
|
23
|
+
'watchOHLCVForSymbols': true,
|
|
23
24
|
'watchOrders': true,
|
|
24
25
|
'watchMyTrades': true,
|
|
25
26
|
'watchPositions': true,
|
|
@@ -356,6 +357,50 @@ class okx extends okx$1 {
|
|
|
356
357
|
}
|
|
357
358
|
return this.filterBySinceLimit(ohlcv, since, limit, 0, true);
|
|
358
359
|
}
|
|
360
|
+
async watchOHLCVForSymbols(symbolsAndTimeframes, since = undefined, limit = undefined, params = {}) {
|
|
361
|
+
/**
|
|
362
|
+
* @method
|
|
363
|
+
* @name okx#watchOHLCVForSymbols
|
|
364
|
+
* @description watches historical candlestick data containing the open, high, low, and close price, and the volume of a market
|
|
365
|
+
* @param {string[][]} symbolsAndTimeframes array of arrays containing unified symbols and timeframes to fetch OHLCV data for, example [['BTC/USDT', '1m'], ['LTC/USDT', '5m']]
|
|
366
|
+
* @param {int} [since] timestamp in ms of the earliest candle to fetch
|
|
367
|
+
* @param {int} [limit] the maximum amount of candles to fetch
|
|
368
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
369
|
+
* @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
|
|
370
|
+
*/
|
|
371
|
+
const symbolsLength = symbolsAndTimeframes.length;
|
|
372
|
+
if (symbolsLength === 0 || !Array.isArray(symbolsAndTimeframes[0])) {
|
|
373
|
+
throw new errors.ArgumentsRequired(this.id + " watchOHLCVForSymbols() requires a an array of symbols and timeframes, like [['BTC/USDT', '1m'], ['LTC/USDT', '5m']]");
|
|
374
|
+
}
|
|
375
|
+
await this.loadMarkets();
|
|
376
|
+
const topics = [];
|
|
377
|
+
const messageHashes = [];
|
|
378
|
+
for (let i = 0; i < symbolsAndTimeframes.length; i++) {
|
|
379
|
+
const symbolAndTimeframe = symbolsAndTimeframes[i];
|
|
380
|
+
const sym = symbolAndTimeframe[0];
|
|
381
|
+
const tf = symbolAndTimeframe[1];
|
|
382
|
+
const marketId = this.marketId(sym);
|
|
383
|
+
const interval = this.safeString(this.timeframes, tf, tf);
|
|
384
|
+
const channel = 'candle' + interval;
|
|
385
|
+
const topic = {
|
|
386
|
+
'channel': channel,
|
|
387
|
+
'instId': marketId,
|
|
388
|
+
};
|
|
389
|
+
topics.push(topic);
|
|
390
|
+
messageHashes.push('multi:' + channel + ':' + sym);
|
|
391
|
+
}
|
|
392
|
+
const request = {
|
|
393
|
+
'op': 'subscribe',
|
|
394
|
+
'args': topics,
|
|
395
|
+
};
|
|
396
|
+
const url = this.getUrl('candle', 'public');
|
|
397
|
+
const [symbol, timeframe, candles] = await this.watchMultiple(url, messageHashes, request, messageHashes);
|
|
398
|
+
if (this.newUpdates) {
|
|
399
|
+
limit = candles.getLimit(symbol, limit);
|
|
400
|
+
}
|
|
401
|
+
const filtered = this.filterBySinceLimit(candles, since, limit, 0, true);
|
|
402
|
+
return this.createOHLCVObject(symbol, timeframe, filtered);
|
|
403
|
+
}
|
|
359
404
|
handleOHLCV(client, message) {
|
|
360
405
|
//
|
|
361
406
|
// {
|
|
@@ -378,7 +423,7 @@ class okx extends okx$1 {
|
|
|
378
423
|
const data = this.safeValue(message, 'data', []);
|
|
379
424
|
const marketId = this.safeString(arg, 'instId');
|
|
380
425
|
const market = this.safeMarket(marketId);
|
|
381
|
-
const symbol = market['
|
|
426
|
+
const symbol = market['symbol'];
|
|
382
427
|
const interval = channel.replace('candle', '');
|
|
383
428
|
// use a reverse lookup in a static map instead
|
|
384
429
|
const timeframe = this.findTimeframe(interval);
|
|
@@ -392,8 +437,13 @@ class okx extends okx$1 {
|
|
|
392
437
|
this.ohlcvs[symbol][timeframe] = stored;
|
|
393
438
|
}
|
|
394
439
|
stored.append(parsed);
|
|
395
|
-
const messageHash = channel + ':' +
|
|
440
|
+
const messageHash = channel + ':' + market['id'];
|
|
396
441
|
client.resolve(stored, messageHash);
|
|
442
|
+
// for multiOHLCV we need special object, as opposed to other "multi"
|
|
443
|
+
// methods, because OHLCV response item does not contain symbol
|
|
444
|
+
// or timeframe, thus otherwise it would be unrecognizable
|
|
445
|
+
const messageHashForMulti = 'multi:' + channel + ':' + symbol;
|
|
446
|
+
client.resolve([symbol, timeframe, stored], messageHashForMulti);
|
|
397
447
|
}
|
|
398
448
|
}
|
|
399
449
|
async watchOrderBook(symbol, limit = undefined, params = {}) {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var onetrading$1 = require('../onetrading.js');
|
|
4
4
|
var errors = require('../base/errors.js');
|
|
5
5
|
var Cache = require('../base/ws/Cache.js');
|
|
6
6
|
|
|
7
7
|
// ---------------------------------------------------------------------------
|
|
8
8
|
// ---------------------------------------------------------------------------
|
|
9
|
-
class
|
|
9
|
+
class onetrading extends onetrading$1 {
|
|
10
10
|
describe() {
|
|
11
11
|
return this.deepExtend(super.describe(), {
|
|
12
12
|
'has': {
|
|
@@ -21,11 +21,8 @@ class bitpanda extends bitpanda$1 {
|
|
|
21
21
|
'watchOHLCV': true,
|
|
22
22
|
},
|
|
23
23
|
'urls': {
|
|
24
|
-
'test': {
|
|
25
|
-
'ws': 'wss://test.bitpanda.com/ws/api/v2',
|
|
26
|
-
},
|
|
27
24
|
'api': {
|
|
28
|
-
'ws': 'wss://streams.
|
|
25
|
+
'ws': 'wss://streams.onetrading.com/',
|
|
29
26
|
},
|
|
30
27
|
},
|
|
31
28
|
'options': {
|
|
@@ -1338,4 +1335,4 @@ class bitpanda extends bitpanda$1 {
|
|
|
1338
1335
|
}
|
|
1339
1336
|
}
|
|
1340
1337
|
|
|
1341
|
-
module.exports =
|
|
1338
|
+
module.exports = onetrading;
|
|
@@ -940,7 +940,7 @@ class poloniex extends poloniex$1 {
|
|
|
940
940
|
// }
|
|
941
941
|
//
|
|
942
942
|
const data = this.safeValue(message, 'data', []);
|
|
943
|
-
const newTickers =
|
|
943
|
+
const newTickers = {};
|
|
944
944
|
for (let i = 0; i < data.length; i++) {
|
|
945
945
|
const item = data[i];
|
|
946
946
|
const marketId = this.safeString(item, 'symbol');
|
|
@@ -948,7 +948,7 @@ class poloniex extends poloniex$1 {
|
|
|
948
948
|
const ticker = this.parseTicker(item);
|
|
949
949
|
const symbol = ticker['symbol'];
|
|
950
950
|
this.tickers[symbol] = ticker;
|
|
951
|
-
newTickers
|
|
951
|
+
newTickers[symbol] = ticker;
|
|
952
952
|
}
|
|
953
953
|
}
|
|
954
954
|
const messageHashes = this.findMessageHashes(client, 'ticker::');
|
|
@@ -75,43 +75,51 @@ class poloniexfutures extends poloniexfutures$1 {
|
|
|
75
75
|
async negotiateHelper(privateChannel, params = {}) {
|
|
76
76
|
let response = undefined;
|
|
77
77
|
const connectId = privateChannel ? 'private' : 'public';
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
78
|
+
try {
|
|
79
|
+
if (privateChannel) {
|
|
80
|
+
response = await this.privatePostBulletPrivate(params);
|
|
81
|
+
//
|
|
82
|
+
// {
|
|
83
|
+
// "code": "200000",
|
|
84
|
+
// "data": {
|
|
85
|
+
// "instanceServers": [
|
|
86
|
+
// {
|
|
87
|
+
// "pingInterval": 50000,
|
|
88
|
+
// "endpoint": "wss://push-private.kucoin.com/endpoint",
|
|
89
|
+
// "protocol": "websocket",
|
|
90
|
+
// "encrypt": true,
|
|
91
|
+
// "pingTimeout": 10000
|
|
92
|
+
// }
|
|
93
|
+
// ],
|
|
94
|
+
// "token": "2neAiuYvAU61ZDXANAGAsiL4-iAExhsBXZxftpOeh_55i3Ysy2q2LEsEWU64mdzUOPusi34M_wGoSf7iNyEWJ1UQy47YbpY4zVdzilNP-Bj3iXzrjjGlWtiYB9J6i9GjsxUuhPw3BlrzazF6ghq4Lzf7scStOz3KkxjwpsOBCH4=.WNQmhZQeUKIkh97KYgU0Lg=="
|
|
95
|
+
// }
|
|
96
|
+
// }
|
|
97
|
+
//
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
response = await this.publicPostBulletPublic(params);
|
|
101
|
+
}
|
|
102
|
+
const data = this.safeValue(response, 'data', {});
|
|
103
|
+
const instanceServers = this.safeValue(data, 'instanceServers', []);
|
|
104
|
+
const firstInstanceServer = this.safeValue(instanceServers, 0);
|
|
105
|
+
const pingInterval = this.safeInteger(firstInstanceServer, 'pingInterval');
|
|
106
|
+
const endpoint = this.safeString(firstInstanceServer, 'endpoint');
|
|
107
|
+
const token = this.safeString(data, 'token');
|
|
108
|
+
const result = endpoint + '?' + this.urlencode({
|
|
109
|
+
'token': token,
|
|
110
|
+
'privateChannel': privateChannel,
|
|
111
|
+
'connectId': connectId,
|
|
112
|
+
});
|
|
113
|
+
const client = this.client(result);
|
|
114
|
+
client.keepAlive = pingInterval;
|
|
115
|
+
return result;
|
|
97
116
|
}
|
|
98
|
-
|
|
99
|
-
|
|
117
|
+
catch (e) {
|
|
118
|
+
const future = this.safeValue(this.options['urls'], connectId);
|
|
119
|
+
future.reject(e);
|
|
120
|
+
delete this.options['urls'][connectId];
|
|
100
121
|
}
|
|
101
|
-
|
|
102
|
-
const instanceServers = this.safeValue(data, 'instanceServers', []);
|
|
103
|
-
const firstInstanceServer = this.safeValue(instanceServers, 0);
|
|
104
|
-
const pingInterval = this.safeInteger(firstInstanceServer, 'pingInterval');
|
|
105
|
-
const endpoint = this.safeString(firstInstanceServer, 'endpoint');
|
|
106
|
-
const token = this.safeString(data, 'token');
|
|
107
|
-
const result = endpoint + '?' + this.urlencode({
|
|
108
|
-
'token': token,
|
|
109
|
-
'privateChannel': privateChannel,
|
|
110
|
-
'connectId': connectId,
|
|
111
|
-
});
|
|
112
|
-
const client = this.client(result);
|
|
113
|
-
client.keepAlive = pingInterval;
|
|
114
|
-
return result;
|
|
122
|
+
return undefined;
|
|
115
123
|
}
|
|
116
124
|
requestId() {
|
|
117
125
|
const requestId = this.sum(this.safeInteger(this.options, 'requestId', 0), 1);
|
package/dist/cjs/src/pro/woo.js
CHANGED
|
@@ -21,6 +21,7 @@ class woo extends woo$1 {
|
|
|
21
21
|
'watchTicker': true,
|
|
22
22
|
'watchTickers': true,
|
|
23
23
|
'watchTrades': true,
|
|
24
|
+
'watchPositions': true,
|
|
24
25
|
},
|
|
25
26
|
'urls': {
|
|
26
27
|
'api': {
|
|
@@ -45,6 +46,10 @@ class woo extends woo$1 {
|
|
|
45
46
|
'tradesLimit': 1000,
|
|
46
47
|
'ordersLimit': 1000,
|
|
47
48
|
'requestId': {},
|
|
49
|
+
'watchPositions': {
|
|
50
|
+
'fetchPositionsSnapshot': true,
|
|
51
|
+
'awaitPositionsSnapshot': true, // whether to wait for the positions snapshot before providing updates
|
|
52
|
+
},
|
|
48
53
|
},
|
|
49
54
|
'streaming': {
|
|
50
55
|
'ping': this.ping,
|
|
@@ -603,6 +608,126 @@ class woo extends woo$1 {
|
|
|
603
608
|
client.resolve(this.orders, messageHashSymbol);
|
|
604
609
|
}
|
|
605
610
|
}
|
|
611
|
+
async watchPositions(symbols = undefined, since = undefined, limit = undefined, params = {}) {
|
|
612
|
+
/**
|
|
613
|
+
* @method
|
|
614
|
+
* @name woo#watchPositions
|
|
615
|
+
* @see https://docs.woo.org/#position-push
|
|
616
|
+
* @description watch all open positions
|
|
617
|
+
* @param {string[]|undefined} symbols list of unified market symbols
|
|
618
|
+
* @param {object} params extra parameters specific to the exchange API endpoint
|
|
619
|
+
* @returns {object[]} a list of [position structure]{@link https://docs.ccxt.com/en/latest/manual.html#position-structure}
|
|
620
|
+
*/
|
|
621
|
+
await this.loadMarkets();
|
|
622
|
+
let messageHash = '';
|
|
623
|
+
symbols = this.marketSymbols(symbols);
|
|
624
|
+
if (!this.isEmpty(symbols)) {
|
|
625
|
+
messageHash = '::' + symbols.join(',');
|
|
626
|
+
}
|
|
627
|
+
messageHash = 'positions' + messageHash;
|
|
628
|
+
const url = this.urls['api']['ws']['private'] + '/' + this.uid;
|
|
629
|
+
const client = this.client(url);
|
|
630
|
+
this.setPositionsCache(client, symbols);
|
|
631
|
+
const fetchPositionsSnapshot = this.handleOption('watchPositions', 'fetchPositionsSnapshot', true);
|
|
632
|
+
const awaitPositionsSnapshot = this.safeValue('watchPositions', 'awaitPositionsSnapshot', true);
|
|
633
|
+
if (fetchPositionsSnapshot && awaitPositionsSnapshot && this.positions === undefined) {
|
|
634
|
+
const snapshot = await client.future('fetchPositionsSnapshot');
|
|
635
|
+
return this.filterBySymbolsSinceLimit(snapshot, symbols, since, limit, true);
|
|
636
|
+
}
|
|
637
|
+
const request = {
|
|
638
|
+
'event': 'subscribe',
|
|
639
|
+
'topic': 'position',
|
|
640
|
+
};
|
|
641
|
+
const newPositions = await this.watchPrivate(messageHash, request, params);
|
|
642
|
+
if (this.newUpdates) {
|
|
643
|
+
return newPositions;
|
|
644
|
+
}
|
|
645
|
+
return this.filterBySymbolsSinceLimit(this.positions, symbols, since, limit, true);
|
|
646
|
+
}
|
|
647
|
+
setPositionsCache(client, type, symbols = undefined) {
|
|
648
|
+
const fetchPositionsSnapshot = this.handleOption('watchPositions', 'fetchPositionsSnapshot', false);
|
|
649
|
+
if (fetchPositionsSnapshot) {
|
|
650
|
+
const messageHash = 'fetchPositionsSnapshot';
|
|
651
|
+
if (!(messageHash in client.futures)) {
|
|
652
|
+
client.future(messageHash);
|
|
653
|
+
this.spawn(this.loadPositionsSnapshot, client, messageHash);
|
|
654
|
+
}
|
|
655
|
+
}
|
|
656
|
+
else {
|
|
657
|
+
this.positions = new Cache.ArrayCacheBySymbolBySide();
|
|
658
|
+
}
|
|
659
|
+
}
|
|
660
|
+
async loadPositionsSnapshot(client, messageHash) {
|
|
661
|
+
const positions = await this.fetchPositions();
|
|
662
|
+
this.positions = new Cache.ArrayCacheBySymbolBySide();
|
|
663
|
+
const cache = this.positions;
|
|
664
|
+
for (let i = 0; i < positions.length; i++) {
|
|
665
|
+
const position = positions[i];
|
|
666
|
+
const contracts = this.safeNumber(position, 'contracts', 0);
|
|
667
|
+
if (contracts > 0) {
|
|
668
|
+
cache.append(position);
|
|
669
|
+
}
|
|
670
|
+
}
|
|
671
|
+
// don't remove the future from the .futures cache
|
|
672
|
+
const future = client.futures[messageHash];
|
|
673
|
+
future.resolve(cache);
|
|
674
|
+
client.resolve(cache, 'positions');
|
|
675
|
+
}
|
|
676
|
+
handlePositions(client, message) {
|
|
677
|
+
//
|
|
678
|
+
// {
|
|
679
|
+
// "topic":"position",
|
|
680
|
+
// "ts":1705292345255,
|
|
681
|
+
// "data":{
|
|
682
|
+
// "positions":{
|
|
683
|
+
// "PERP_LTC_USDT":{
|
|
684
|
+
// "holding":1,
|
|
685
|
+
// "pendingLongQty":0,
|
|
686
|
+
// "pendingShortQty":0,
|
|
687
|
+
// "averageOpenPrice":71.53,
|
|
688
|
+
// "pnl24H":0,
|
|
689
|
+
// "fee24H":0.07153,
|
|
690
|
+
// "settlePrice":71.53,
|
|
691
|
+
// "markPrice":71.32098452065145,
|
|
692
|
+
// "version":7886,
|
|
693
|
+
// "openingTime":1705292304267,
|
|
694
|
+
// "pnl24HPercentage":0,
|
|
695
|
+
// "adlQuantile":1,
|
|
696
|
+
// "positionSide":"BOTH"
|
|
697
|
+
// }
|
|
698
|
+
// }
|
|
699
|
+
// }
|
|
700
|
+
// }
|
|
701
|
+
//
|
|
702
|
+
const data = this.safeValue(message, 'data', {});
|
|
703
|
+
const rawPositions = this.safeValue(data, 'positions', {});
|
|
704
|
+
const postitionsIds = Object.keys(rawPositions);
|
|
705
|
+
if (this.positions === undefined) {
|
|
706
|
+
this.positions = new Cache.ArrayCacheBySymbolBySide();
|
|
707
|
+
}
|
|
708
|
+
const cache = this.positions;
|
|
709
|
+
const newPositions = [];
|
|
710
|
+
for (let i = 0; i < postitionsIds.length; i++) {
|
|
711
|
+
const marketId = postitionsIds[i];
|
|
712
|
+
const market = this.safeMarket(marketId);
|
|
713
|
+
const rawPosition = rawPositions[marketId];
|
|
714
|
+
const position = this.parsePosition(rawPosition, market);
|
|
715
|
+
newPositions.push(position);
|
|
716
|
+
cache.append(position);
|
|
717
|
+
}
|
|
718
|
+
const messageHashes = this.findMessageHashes(client, 'positions::');
|
|
719
|
+
for (let i = 0; i < messageHashes.length; i++) {
|
|
720
|
+
const messageHash = messageHashes[i];
|
|
721
|
+
const parts = messageHash.split('::');
|
|
722
|
+
const symbolsString = parts[1];
|
|
723
|
+
const symbols = symbolsString.split(',');
|
|
724
|
+
const positions = this.filterByArray(newPositions, 'symbol', symbols, false);
|
|
725
|
+
if (!this.isEmpty(positions)) {
|
|
726
|
+
client.resolve(positions, messageHash);
|
|
727
|
+
}
|
|
728
|
+
}
|
|
729
|
+
client.resolve(newPositions, 'positions');
|
|
730
|
+
}
|
|
606
731
|
async watchBalance(params = {}) {
|
|
607
732
|
/**
|
|
608
733
|
* @method
|
|
@@ -686,6 +811,7 @@ class woo extends woo$1 {
|
|
|
686
811
|
'executionreport': this.handleOrderUpdate,
|
|
687
812
|
'trade': this.handleTrade,
|
|
688
813
|
'balance': this.handleBalance,
|
|
814
|
+
'position': this.handlePositions,
|
|
689
815
|
};
|
|
690
816
|
const event = this.safeString(message, 'event');
|
|
691
817
|
let method = this.safeValue(methods, event);
|
package/dist/cjs/src/probit.js
CHANGED
|
@@ -776,7 +776,6 @@ class probit extends probit$1 {
|
|
|
776
776
|
const market = this.market(symbol);
|
|
777
777
|
const request = {
|
|
778
778
|
'market_id': market['id'],
|
|
779
|
-
'limit': 100,
|
|
780
779
|
'start_time': '1970-01-01T00:00:00.000Z',
|
|
781
780
|
'end_time': this.iso8601(this.milliseconds()),
|
|
782
781
|
};
|
|
@@ -784,7 +783,10 @@ class probit extends probit$1 {
|
|
|
784
783
|
request['start_time'] = this.iso8601(since);
|
|
785
784
|
}
|
|
786
785
|
if (limit !== undefined) {
|
|
787
|
-
request['limit'] = Math.min(limit,
|
|
786
|
+
request['limit'] = Math.min(limit, 1000);
|
|
787
|
+
}
|
|
788
|
+
else {
|
|
789
|
+
request['limit'] = 1000; // required to set any value
|
|
788
790
|
}
|
|
789
791
|
const response = await this.publicGetTrade(this.extend(request, params));
|
|
790
792
|
//
|
package/dist/cjs/src/upbit.js
CHANGED
|
@@ -261,11 +261,11 @@ class upbit extends upbit$1 {
|
|
|
261
261
|
else if ((locked !== undefined) && locked) {
|
|
262
262
|
active = false;
|
|
263
263
|
}
|
|
264
|
-
const maxOnetimeWithdrawal = this.
|
|
265
|
-
const maxDailyWithdrawal = this.
|
|
266
|
-
const remainingDailyWithdrawal = this.
|
|
264
|
+
const maxOnetimeWithdrawal = this.safeString(withdrawLimits, 'onetime');
|
|
265
|
+
const maxDailyWithdrawal = this.safeString(withdrawLimits, 'daily', maxOnetimeWithdrawal);
|
|
266
|
+
const remainingDailyWithdrawal = this.safeString(withdrawLimits, 'remaining_daily', maxDailyWithdrawal);
|
|
267
267
|
let maxWithdrawLimit = undefined;
|
|
268
|
-
if (remainingDailyWithdrawal
|
|
268
|
+
if (Precise["default"].stringGt(remainingDailyWithdrawal, '0')) {
|
|
269
269
|
maxWithdrawLimit = remainingDailyWithdrawal;
|
|
270
270
|
}
|
|
271
271
|
else {
|
|
@@ -284,7 +284,7 @@ class upbit extends upbit$1 {
|
|
|
284
284
|
'limits': {
|
|
285
285
|
'withdraw': {
|
|
286
286
|
'min': this.safeNumber(withdrawLimits, 'minimum'),
|
|
287
|
-
'max': maxWithdrawLimit,
|
|
287
|
+
'max': this.parseNumber(maxWithdrawLimit),
|
|
288
288
|
},
|
|
289
289
|
},
|
|
290
290
|
};
|
|
@@ -344,10 +344,10 @@ class upbit extends upbit$1 {
|
|
|
344
344
|
const base = this.safeCurrencyCode(baseId);
|
|
345
345
|
const quote = this.safeCurrencyCode(quoteId);
|
|
346
346
|
const state = this.safeString(marketInfo, 'state');
|
|
347
|
-
const bidFee = this.
|
|
348
|
-
const askFee = this.
|
|
349
|
-
const fee =
|
|
350
|
-
return {
|
|
347
|
+
const bidFee = this.safeString(response, 'bid_fee');
|
|
348
|
+
const askFee = this.safeString(response, 'ask_fee');
|
|
349
|
+
const fee = this.parseNumber(Precise["default"].stringMax(bidFee, askFee));
|
|
350
|
+
return this.safeMarketStructure({
|
|
351
351
|
'id': marketId,
|
|
352
352
|
'symbol': base + '/' + quote,
|
|
353
353
|
'base': base,
|
|
@@ -396,7 +396,7 @@ class upbit extends upbit$1 {
|
|
|
396
396
|
},
|
|
397
397
|
'info': response,
|
|
398
398
|
},
|
|
399
|
-
};
|
|
399
|
+
});
|
|
400
400
|
}
|
|
401
401
|
async fetchMarkets(params = {}) {
|
|
402
402
|
/**
|
|
@@ -425,7 +425,7 @@ class upbit extends upbit$1 {
|
|
|
425
425
|
const [quoteId, baseId] = id.split('-');
|
|
426
426
|
const base = this.safeCurrencyCode(baseId);
|
|
427
427
|
const quote = this.safeCurrencyCode(quoteId);
|
|
428
|
-
return {
|
|
428
|
+
return this.safeMarketStructure({
|
|
429
429
|
'id': id,
|
|
430
430
|
'symbol': base + '/' + quote,
|
|
431
431
|
'base': base,
|
|
@@ -475,7 +475,7 @@ class upbit extends upbit$1 {
|
|
|
475
475
|
},
|
|
476
476
|
'created': undefined,
|
|
477
477
|
'info': market,
|
|
478
|
-
};
|
|
478
|
+
});
|
|
479
479
|
}
|
|
480
480
|
parseBalance(response) {
|
|
481
481
|
const result = {
|
|
@@ -2092,7 +2092,7 @@ class wavesexchange extends wavesexchange$1 {
|
|
|
2092
2092
|
'priceAsset': market['quoteId'],
|
|
2093
2093
|
};
|
|
2094
2094
|
if (limit !== undefined) {
|
|
2095
|
-
request['limit'] = limit;
|
|
2095
|
+
request['limit'] = Math.min(limit, 100);
|
|
2096
2096
|
}
|
|
2097
2097
|
if (since !== undefined) {
|
|
2098
2098
|
request['timeStart'] = since;
|
package/dist/cjs/src/whitebit.js
CHANGED
package/dist/cjs/src/woo.js
CHANGED
|
@@ -42,10 +42,16 @@ class woo extends woo$1 {
|
|
|
42
42
|
'createMarketOrderWithCost': false,
|
|
43
43
|
'createMarketSellOrderWithCost': false,
|
|
44
44
|
'createOrder': true,
|
|
45
|
+
'createOrderWithTakeProfitAndStopLoss': true,
|
|
45
46
|
'createReduceOnlyOrder': true,
|
|
46
47
|
'createStopLimitOrder': false,
|
|
48
|
+
'createStopLossOrder': true,
|
|
47
49
|
'createStopMarketOrder': false,
|
|
48
50
|
'createStopOrder': false,
|
|
51
|
+
'createTakeProfitOrder': true,
|
|
52
|
+
'createTrailingAmountOrder': true,
|
|
53
|
+
'createTrailingPercentOrder': true,
|
|
54
|
+
'createTriggerOrder': true,
|
|
49
55
|
'fetchAccounts': true,
|
|
50
56
|
'fetchBalance': true,
|
|
51
57
|
'fetchCanceledOrders': false,
|
|
@@ -761,6 +767,56 @@ class woo extends woo$1 {
|
|
|
761
767
|
params['createMarketBuyOrderRequiresPrice'] = false;
|
|
762
768
|
return await this.createOrder(symbol, 'market', 'buy', cost, undefined, params);
|
|
763
769
|
}
|
|
770
|
+
async createTrailingAmountOrder(symbol, type, side, amount, price = undefined, trailingAmount = undefined, trailingTriggerPrice = undefined, params = {}) {
|
|
771
|
+
/**
|
|
772
|
+
* @method
|
|
773
|
+
* @name woo#createTrailingAmountOrder
|
|
774
|
+
* @description create a trailing order by providing the symbol, type, side, amount, price and trailingAmount
|
|
775
|
+
* @param {string} symbol unified symbol of the market to create an order in
|
|
776
|
+
* @param {string} type 'market' or 'limit'
|
|
777
|
+
* @param {string} side 'buy' or 'sell'
|
|
778
|
+
* @param {float} amount how much you want to trade in units of the base currency, or number of contracts
|
|
779
|
+
* @param {float} [price] the price for the order to be filled at, in units of the quote currency, ignored in market orders
|
|
780
|
+
* @param {float} trailingAmount the quote amount to trail away from the current market price
|
|
781
|
+
* @param {float} trailingTriggerPrice the price to activate a trailing order, default uses the price argument
|
|
782
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
783
|
+
* @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
|
|
784
|
+
*/
|
|
785
|
+
if (trailingAmount === undefined) {
|
|
786
|
+
throw new errors.ArgumentsRequired(this.id + ' createTrailingAmountOrder() requires a trailingAmount argument');
|
|
787
|
+
}
|
|
788
|
+
if (trailingTriggerPrice === undefined) {
|
|
789
|
+
throw new errors.ArgumentsRequired(this.id + ' createTrailingAmountOrder() requires a trailingTriggerPrice argument');
|
|
790
|
+
}
|
|
791
|
+
params['trailingAmount'] = trailingAmount;
|
|
792
|
+
params['trailingTriggerPrice'] = trailingTriggerPrice;
|
|
793
|
+
return await this.createOrder(symbol, type, side, amount, price, params);
|
|
794
|
+
}
|
|
795
|
+
async createTrailingPercentOrder(symbol, type, side, amount, price = undefined, trailingPercent = undefined, trailingTriggerPrice = undefined, params = {}) {
|
|
796
|
+
/**
|
|
797
|
+
* @method
|
|
798
|
+
* @name woo#createTrailingPercentOrder
|
|
799
|
+
* @description create a trailing order by providing the symbol, type, side, amount, price and trailingPercent
|
|
800
|
+
* @param {string} symbol unified symbol of the market to create an order in
|
|
801
|
+
* @param {string} type 'market' or 'limit'
|
|
802
|
+
* @param {string} side 'buy' or 'sell'
|
|
803
|
+
* @param {float} amount how much you want to trade in units of the base currency, or number of contracts
|
|
804
|
+
* @param {float} [price] the price for the order to be filled at, in units of the quote currency, ignored in market orders
|
|
805
|
+
* @param {float} trailingPercent the percent to trail away from the current market price
|
|
806
|
+
* @param {float} trailingTriggerPrice the price to activate a trailing order, default uses the price argument
|
|
807
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
808
|
+
* @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
|
|
809
|
+
*/
|
|
810
|
+
if (trailingPercent === undefined) {
|
|
811
|
+
throw new errors.ArgumentsRequired(this.id + ' createTrailingPercentOrder() requires a trailingPercent argument');
|
|
812
|
+
}
|
|
813
|
+
if (trailingTriggerPrice === undefined) {
|
|
814
|
+
throw new errors.ArgumentsRequired(this.id + ' createTrailingPercentOrder() requires a trailingTriggerPrice argument');
|
|
815
|
+
}
|
|
816
|
+
params['trailingPercent'] = trailingPercent;
|
|
817
|
+
params['trailingTriggerPrice'] = trailingTriggerPrice;
|
|
818
|
+
return await this.createOrder(symbol, type, side, amount, price, params);
|
|
819
|
+
}
|
|
764
820
|
async createOrder(symbol, type, side, amount, price = undefined, params = {}) {
|
|
765
821
|
/**
|
|
766
822
|
* @method
|
package/js/ccxt.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import * as functions from './src/base/functions.js';
|
|
|
4
4
|
import * as errors from './src/base/errors.js';
|
|
5
5
|
import type { Market, Trade, Fee, Ticker, OrderBook, Order, Transaction, Tickers, Currency, Balance, DepositAddress, WithdrawalResponse, DepositAddressResponse, OHLCV, Balances, PartialBalances, Dictionary, MinMax, Position, FundingRateHistory, Liquidation, FundingHistory, MarginMode, Greeks } from './src/base/types.js';
|
|
6
6
|
import { BaseError, ExchangeError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, MarginModeAlreadySet, BadResponse, NullResponse, InsufficientFunds, InvalidAddress, InvalidOrder, OrderNotFound, OrderNotCached, CancelPending, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, NotSupported, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, RequestTimeout, AuthenticationError, AddressPending, NoChange } from './src/base/errors.js';
|
|
7
|
-
declare const version = "4.2.
|
|
7
|
+
declare const version = "4.2.19";
|
|
8
8
|
import ace from './src/ace.js';
|
|
9
9
|
import alpaca from './src/alpaca.js';
|
|
10
10
|
import ascendex from './src/ascendex.js';
|
|
@@ -87,6 +87,7 @@ import novadax from './src/novadax.js';
|
|
|
87
87
|
import oceanex from './src/oceanex.js';
|
|
88
88
|
import okcoin from './src/okcoin.js';
|
|
89
89
|
import okx from './src/okx.js';
|
|
90
|
+
import onetrading from './src/onetrading.js';
|
|
90
91
|
import p2b from './src/p2b.js';
|
|
91
92
|
import paymium from './src/paymium.js';
|
|
92
93
|
import phemex from './src/phemex.js';
|
|
@@ -148,11 +149,13 @@ import krakenPro from './src/pro/kraken.js';
|
|
|
148
149
|
import krakenfuturesPro from './src/pro/krakenfutures.js';
|
|
149
150
|
import kucoinPro from './src/pro/kucoin.js';
|
|
150
151
|
import kucoinfuturesPro from './src/pro/kucoinfutures.js';
|
|
152
|
+
import lbankPro from './src/pro/lbank.js';
|
|
151
153
|
import lunoPro from './src/pro/luno.js';
|
|
152
154
|
import mexcPro from './src/pro/mexc.js';
|
|
153
155
|
import ndaxPro from './src/pro/ndax.js';
|
|
154
156
|
import okcoinPro from './src/pro/okcoin.js';
|
|
155
157
|
import okxPro from './src/pro/okx.js';
|
|
158
|
+
import onetradingPro from './src/pro/onetrading.js';
|
|
156
159
|
import phemexPro from './src/pro/phemex.js';
|
|
157
160
|
import poloniexPro from './src/pro/poloniex.js';
|
|
158
161
|
import poloniexfuturesPro from './src/pro/poloniexfutures.js';
|
|
@@ -244,6 +247,7 @@ declare const exchanges: {
|
|
|
244
247
|
oceanex: typeof oceanex;
|
|
245
248
|
okcoin: typeof okcoin;
|
|
246
249
|
okx: typeof okx;
|
|
250
|
+
onetrading: typeof onetrading;
|
|
247
251
|
p2b: typeof p2b;
|
|
248
252
|
paymium: typeof paymium;
|
|
249
253
|
phemex: typeof phemex;
|
|
@@ -307,11 +311,13 @@ declare const pro: {
|
|
|
307
311
|
krakenfutures: typeof krakenfuturesPro;
|
|
308
312
|
kucoin: typeof kucoinPro;
|
|
309
313
|
kucoinfutures: typeof kucoinfuturesPro;
|
|
314
|
+
lbank: typeof lbankPro;
|
|
310
315
|
luno: typeof lunoPro;
|
|
311
316
|
mexc: typeof mexcPro;
|
|
312
317
|
ndax: typeof ndaxPro;
|
|
313
318
|
okcoin: typeof okcoinPro;
|
|
314
319
|
okx: typeof okxPro;
|
|
320
|
+
onetrading: typeof onetradingPro;
|
|
315
321
|
phemex: typeof phemexPro;
|
|
316
322
|
poloniex: typeof poloniexPro;
|
|
317
323
|
poloniexfutures: typeof poloniexfuturesPro;
|
|
@@ -372,11 +378,13 @@ declare const ccxt: {
|
|
|
372
378
|
krakenfutures: typeof krakenfuturesPro;
|
|
373
379
|
kucoin: typeof kucoinPro;
|
|
374
380
|
kucoinfutures: typeof kucoinfuturesPro;
|
|
381
|
+
lbank: typeof lbankPro;
|
|
375
382
|
luno: typeof lunoPro;
|
|
376
383
|
mexc: typeof mexcPro;
|
|
377
384
|
ndax: typeof ndaxPro;
|
|
378
385
|
okcoin: typeof okcoinPro;
|
|
379
386
|
okx: typeof okxPro;
|
|
387
|
+
onetrading: typeof onetradingPro;
|
|
380
388
|
phemex: typeof phemexPro;
|
|
381
389
|
poloniex: typeof poloniexPro;
|
|
382
390
|
poloniexfutures: typeof poloniexfuturesPro;
|
|
@@ -469,6 +477,7 @@ declare const ccxt: {
|
|
|
469
477
|
oceanex: typeof oceanex;
|
|
470
478
|
okcoin: typeof okcoin;
|
|
471
479
|
okx: typeof okx;
|
|
480
|
+
onetrading: typeof onetrading;
|
|
472
481
|
p2b: typeof p2b;
|
|
473
482
|
paymium: typeof paymium;
|
|
474
483
|
phemex: typeof phemex;
|
|
@@ -486,5 +495,5 @@ declare const ccxt: {
|
|
|
486
495
|
zaif: typeof zaif;
|
|
487
496
|
zonda: typeof zonda;
|
|
488
497
|
} & typeof functions & typeof errors;
|
|
489
|
-
export { version, Exchange, exchanges, pro, Precise, functions, errors, BaseError, ExchangeError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, MarginModeAlreadySet, BadResponse, NullResponse, InsufficientFunds, InvalidAddress, InvalidOrder, OrderNotFound, OrderNotCached, CancelPending, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, NotSupported, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, RequestTimeout, AuthenticationError, AddressPending, NoChange, Market, Trade, Fee, Ticker, OrderBook, Order, Transaction, Tickers, Currency, Balance, DepositAddress, WithdrawalResponse, DepositAddressResponse, OHLCV, Balances, PartialBalances, Dictionary, MinMax, Position, FundingRateHistory, Liquidation, FundingHistory, MarginMode, Greeks, ace, alpaca, ascendex, bequant, bigone, binance, binancecoinm, binanceus, binanceusdm, bingx, bit2c, bitbank, bitbay, bitbns, bitcoincom, bitfinex, bitfinex2, bitflyer, bitforex, bitget, bithumb, bitmart, bitmex, bitopro, bitpanda, bitrue, bitso, bitstamp, bitteam, bitvavo, bl3p, blockchaincom, btcalpha, btcbox, btcmarkets, btcturk, bybit, cex, coinbase, coinbasepro, coincheck, coinex, coinlist, coinmate, coinone, coinsph, coinspot, cryptocom, currencycom, delta, deribit, digifinex, exmo, fmfwio, gate, gateio, gemini, hitbtc, hitbtc3, hollaex, htx, huobi, huobijp, idex, independentreserve, indodax, kraken, krakenfutures, kucoin, kucoinfutures, kuna, latoken, lbank, luno, lykke, mercado, mexc, ndax, novadax, oceanex, okcoin, okx, p2b, paymium, phemex, poloniex, poloniexfutures, probit, timex, tokocrypto, upbit, wavesexchange, wazirx, whitebit, woo, yobit, zaif, zonda, };
|
|
498
|
+
export { version, Exchange, exchanges, pro, Precise, functions, errors, BaseError, ExchangeError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, MarginModeAlreadySet, BadResponse, NullResponse, InsufficientFunds, InvalidAddress, InvalidOrder, OrderNotFound, OrderNotCached, CancelPending, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, NotSupported, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, RequestTimeout, AuthenticationError, AddressPending, NoChange, Market, Trade, Fee, Ticker, OrderBook, Order, Transaction, Tickers, Currency, Balance, DepositAddress, WithdrawalResponse, DepositAddressResponse, OHLCV, Balances, PartialBalances, Dictionary, MinMax, Position, FundingRateHistory, Liquidation, FundingHistory, MarginMode, Greeks, ace, alpaca, ascendex, bequant, bigone, binance, binancecoinm, binanceus, binanceusdm, bingx, bit2c, bitbank, bitbay, bitbns, bitcoincom, bitfinex, bitfinex2, bitflyer, bitforex, bitget, bithumb, bitmart, bitmex, bitopro, bitpanda, bitrue, bitso, bitstamp, bitteam, bitvavo, bl3p, blockchaincom, btcalpha, btcbox, btcmarkets, btcturk, bybit, cex, coinbase, coinbasepro, coincheck, coinex, coinlist, coinmate, coinone, coinsph, coinspot, cryptocom, currencycom, delta, deribit, digifinex, exmo, fmfwio, gate, gateio, gemini, hitbtc, hitbtc3, hollaex, htx, huobi, huobijp, idex, independentreserve, indodax, kraken, krakenfutures, kucoin, kucoinfutures, kuna, latoken, lbank, luno, lykke, mercado, mexc, ndax, novadax, oceanex, okcoin, okx, onetrading, p2b, paymium, phemex, poloniex, poloniexfutures, probit, timex, tokocrypto, upbit, wavesexchange, wazirx, whitebit, woo, yobit, zaif, zonda, };
|
|
490
499
|
export default ccxt;
|