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
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
|