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/bingx.js
CHANGED
|
@@ -22,7 +22,7 @@ class bingx extends bingx$1 {
|
|
|
22
22
|
'has': {
|
|
23
23
|
'CORS': undefined,
|
|
24
24
|
'spot': true,
|
|
25
|
-
'margin':
|
|
25
|
+
'margin': false,
|
|
26
26
|
'swap': true,
|
|
27
27
|
'future': false,
|
|
28
28
|
'option': false,
|
|
@@ -36,6 +36,12 @@ class bingx extends bingx$1 {
|
|
|
36
36
|
'createMarketSellOrderWithCost': true,
|
|
37
37
|
'createOrder': true,
|
|
38
38
|
'createOrders': true,
|
|
39
|
+
'createOrderWithTakeProfitAndStopLoss': true,
|
|
40
|
+
'createStopLossOrder': true,
|
|
41
|
+
'createTakeProfitOrder': true,
|
|
42
|
+
'createTrailingAmountOrder': true,
|
|
43
|
+
'createTrailingPercentOrder': true,
|
|
44
|
+
'createTriggerOrder': true,
|
|
39
45
|
'fetchBalance': true,
|
|
40
46
|
'fetchClosedOrders': true,
|
|
41
47
|
'fetchCurrencies': true,
|
|
@@ -45,6 +51,7 @@ class bingx extends bingx$1 {
|
|
|
45
51
|
'fetchDepositWithdrawFees': true,
|
|
46
52
|
'fetchFundingRate': true,
|
|
47
53
|
'fetchFundingRateHistory': true,
|
|
54
|
+
'fetchFundingRates': true,
|
|
48
55
|
'fetchLeverage': true,
|
|
49
56
|
'fetchLiquidations': false,
|
|
50
57
|
'fetchMarkets': true,
|
|
@@ -79,6 +86,9 @@ class bingx extends bingx$1 {
|
|
|
79
86
|
'account': 'https://open-api.{hostname}/openApi',
|
|
80
87
|
'copyTrading': 'https://open-api.{hostname}/openApi',
|
|
81
88
|
},
|
|
89
|
+
'test': {
|
|
90
|
+
'swap': 'https://open-api-vst.{hostname}/openApi', // only swap is really "test" but since the API keys are the same, we want to keep all the functionalities when the user enables the sandboxmode
|
|
91
|
+
},
|
|
82
92
|
'www': 'https://bingx.com/',
|
|
83
93
|
'doc': 'https://bingx-api.github.io/docs/',
|
|
84
94
|
'referral': 'https://bingx.com/invite/OHETOM',
|
|
@@ -117,6 +127,7 @@ class bingx extends bingx$1 {
|
|
|
117
127
|
'trade/query': 3,
|
|
118
128
|
'trade/openOrders': 3,
|
|
119
129
|
'trade/historyOrders': 3,
|
|
130
|
+
'trade/myTrades': 3,
|
|
120
131
|
'user/commissionRate': 3,
|
|
121
132
|
'account/balance': 3,
|
|
122
133
|
},
|
|
@@ -176,6 +187,7 @@ class bingx extends bingx$1 {
|
|
|
176
187
|
'user/positions': 3,
|
|
177
188
|
'user/income': 3,
|
|
178
189
|
'trade/openOrders': 3,
|
|
190
|
+
'trade/openOrder': 3,
|
|
179
191
|
'trade/order': 3,
|
|
180
192
|
'trade/marginType': 3,
|
|
181
193
|
'trade/leverage': 3,
|
|
@@ -353,7 +365,9 @@ class bingx extends bingx$1 {
|
|
|
353
365
|
'80016': errors.OrderNotFound,
|
|
354
366
|
'80017': errors.OrderNotFound,
|
|
355
367
|
'100414': errors.AccountSuspended,
|
|
356
|
-
'
|
|
368
|
+
'100419': errors.PermissionDenied,
|
|
369
|
+
'100437': errors.BadRequest,
|
|
370
|
+
'101204': errors.InsufficientFunds, // bingx {"code":101204,"msg":"","data":{}}
|
|
357
371
|
},
|
|
358
372
|
'broad': {},
|
|
359
373
|
},
|
|
@@ -409,6 +423,10 @@ class bingx extends bingx$1 {
|
|
|
409
423
|
if (!this.checkRequiredCredentials(false)) {
|
|
410
424
|
return undefined;
|
|
411
425
|
}
|
|
426
|
+
const isSandbox = this.safeValue(this.options, 'sandboxMode', false);
|
|
427
|
+
if (isSandbox) {
|
|
428
|
+
return undefined;
|
|
429
|
+
}
|
|
412
430
|
const response = await this.walletsV1PrivateGetCapitalConfigGetall(params);
|
|
413
431
|
//
|
|
414
432
|
// {
|
|
@@ -648,7 +666,11 @@ class bingx extends bingx$1 {
|
|
|
648
666
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
649
667
|
* @returns {object[]} an array of objects representing market data
|
|
650
668
|
*/
|
|
651
|
-
const requests = [this.
|
|
669
|
+
const requests = [this.fetchSwapMarkets(params)];
|
|
670
|
+
const isSandbox = this.safeValue(this.options, 'sandboxMode', false);
|
|
671
|
+
if (!isSandbox) {
|
|
672
|
+
requests.push(this.fetchSpotMarkets(params)); // sandbox is swap only
|
|
673
|
+
}
|
|
652
674
|
const promises = await Promise.all(requests);
|
|
653
675
|
const spotMarkets = this.safeValue(promises, 0, []);
|
|
654
676
|
const swapMarkets = this.safeValue(promises, 1, []);
|
|
@@ -843,6 +865,22 @@ class bingx extends bingx$1 {
|
|
|
843
865
|
// "buyerMaker": false
|
|
844
866
|
// }
|
|
845
867
|
//
|
|
868
|
+
// spot
|
|
869
|
+
// fetchMyTrades
|
|
870
|
+
// {
|
|
871
|
+
// "symbol": "LTC-USDT",
|
|
872
|
+
// "id": 36237072,
|
|
873
|
+
// "orderId": 1674069326895775744,
|
|
874
|
+
// "price": "85.891",
|
|
875
|
+
// "qty": "0.0582",
|
|
876
|
+
// "quoteQty": "4.9988562000000005",
|
|
877
|
+
// "commission": -0.00005820000000000001,
|
|
878
|
+
// "commissionAsset": "LTC",
|
|
879
|
+
// "time": 1687964205000,
|
|
880
|
+
// "isBuyer": true,
|
|
881
|
+
// "isMaker": false
|
|
882
|
+
// }
|
|
883
|
+
//
|
|
846
884
|
// swap
|
|
847
885
|
// fetchTrades
|
|
848
886
|
//
|
|
@@ -905,7 +943,7 @@ class bingx extends bingx$1 {
|
|
|
905
943
|
}
|
|
906
944
|
const cost = this.safeString(trade, 'quoteQty');
|
|
907
945
|
const type = (cost === undefined) ? 'spot' : 'swap';
|
|
908
|
-
const currencyId = this.
|
|
946
|
+
const currencyId = this.safeStringN(trade, ['currency', 'N', 'commissionAsset']);
|
|
909
947
|
const currencyCode = this.safeCurrencyCode(currencyId);
|
|
910
948
|
const m = this.safeValue(trade, 'm');
|
|
911
949
|
const marketId = this.safeString(trade, 's');
|
|
@@ -921,6 +959,14 @@ class bingx extends bingx$1 {
|
|
|
921
959
|
takeOrMaker = 'taker';
|
|
922
960
|
}
|
|
923
961
|
}
|
|
962
|
+
const isBuyer = this.safeValue(trade, 'isBuyer');
|
|
963
|
+
if (isBuyer !== undefined) {
|
|
964
|
+
side = isBuyer ? 'buy' : 'sell';
|
|
965
|
+
}
|
|
966
|
+
const isMaker = this.safeValue(trade, 'isMaker');
|
|
967
|
+
if (isMaker !== undefined) {
|
|
968
|
+
takeOrMaker = isMaker ? 'maker' : 'taker';
|
|
969
|
+
}
|
|
924
970
|
return this.safeTrade({
|
|
925
971
|
'id': this.safeStringN(trade, ['id', 't']),
|
|
926
972
|
'info': trade,
|
|
@@ -1066,6 +1112,31 @@ class bingx extends bingx$1 {
|
|
|
1066
1112
|
const data = this.safeValue(response, 'data', {});
|
|
1067
1113
|
return this.parseFundingRate(data, market);
|
|
1068
1114
|
}
|
|
1115
|
+
async fetchFundingRates(symbols = undefined, params = {}) {
|
|
1116
|
+
/**
|
|
1117
|
+
* @method
|
|
1118
|
+
* @name bingx#fetchFundingRate
|
|
1119
|
+
* @description fetch the current funding rate
|
|
1120
|
+
* @see https://bingx-api.github.io/docs/#/swapV2/market-api.html#Current%20Funding%20Rate
|
|
1121
|
+
* @param {string[]} [symbols] list of unified market symbols
|
|
1122
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
1123
|
+
* @returns {object} a [funding rate structure]{@link https://docs.ccxt.com/#/?id=funding-rate-structure}
|
|
1124
|
+
*/
|
|
1125
|
+
await this.loadMarkets();
|
|
1126
|
+
symbols = this.marketSymbols(symbols, 'swap', true);
|
|
1127
|
+
const response = await this.swapV2PublicGetQuotePremiumIndex(this.extend(params));
|
|
1128
|
+
const data = this.safeValue(response, 'data', []);
|
|
1129
|
+
const filteredResponse = [];
|
|
1130
|
+
for (let i = 0; i < data.length; i++) {
|
|
1131
|
+
const item = data[i];
|
|
1132
|
+
const marketId = this.safeString(item, 'symbol');
|
|
1133
|
+
const market = this.safeMarket(marketId, undefined, undefined, 'swap');
|
|
1134
|
+
if ((symbols === undefined) || this.inArray(market['symbol'], symbols)) {
|
|
1135
|
+
filteredResponse.push(this.parseFundingRate(item, market));
|
|
1136
|
+
}
|
|
1137
|
+
}
|
|
1138
|
+
return filteredResponse;
|
|
1139
|
+
}
|
|
1069
1140
|
parseFundingRate(contract, market = undefined) {
|
|
1070
1141
|
//
|
|
1071
1142
|
// {
|
|
@@ -2417,6 +2488,7 @@ class bingx extends bingx$1 {
|
|
|
2417
2488
|
'symbol': market['id'],
|
|
2418
2489
|
};
|
|
2419
2490
|
const clientOrderIds = this.safeValue(params, 'clientOrderIds');
|
|
2491
|
+
params = this.omit(params, 'clientOrderIds');
|
|
2420
2492
|
let idsToParse = ids;
|
|
2421
2493
|
const areClientOrderIds = (clientOrderIds !== undefined);
|
|
2422
2494
|
if (areClientOrderIds) {
|
|
@@ -2435,8 +2507,12 @@ class bingx extends bingx$1 {
|
|
|
2435
2507
|
response = await this.spotV1PrivatePostTradeCancelOrders(this.extend(request, params));
|
|
2436
2508
|
}
|
|
2437
2509
|
else {
|
|
2438
|
-
|
|
2439
|
-
|
|
2510
|
+
if (areClientOrderIds) {
|
|
2511
|
+
request['clientOrderIDList'] = this.json(parsedIds);
|
|
2512
|
+
}
|
|
2513
|
+
else {
|
|
2514
|
+
request['orderIdList'] = parsedIds;
|
|
2515
|
+
}
|
|
2440
2516
|
response = await this.swapV2PrivateDeleteTradeBatchOrders(this.extend(request, params));
|
|
2441
2517
|
}
|
|
2442
2518
|
//
|
|
@@ -3050,6 +3126,21 @@ class bingx extends bingx$1 {
|
|
|
3050
3126
|
// "txId": "0xb5ef8c13b968a406cc62a93a8bd80f9e9a906ef1b3fcf20a2e48573c17659268"
|
|
3051
3127
|
// }
|
|
3052
3128
|
//
|
|
3129
|
+
// withdraw
|
|
3130
|
+
//
|
|
3131
|
+
// {
|
|
3132
|
+
// "code":0,
|
|
3133
|
+
// "timestamp":1705274263621,
|
|
3134
|
+
// "data":{
|
|
3135
|
+
// "id":"1264246141278773252"
|
|
3136
|
+
// }
|
|
3137
|
+
// }
|
|
3138
|
+
//
|
|
3139
|
+
// parse withdraw-type output first...
|
|
3140
|
+
//
|
|
3141
|
+
const data = this.safeValue(transaction, 'data');
|
|
3142
|
+
const dataId = (data === undefined) ? undefined : this.safeString(data, 'id');
|
|
3143
|
+
const id = this.safeString(transaction, 'id', dataId);
|
|
3053
3144
|
const address = this.safeString(transaction, 'address');
|
|
3054
3145
|
const tag = this.safeString(transaction, 'addressTag');
|
|
3055
3146
|
let timestamp = this.safeInteger(transaction, 'insertTime');
|
|
@@ -3070,7 +3161,7 @@ class bingx extends bingx$1 {
|
|
|
3070
3161
|
const type = (rawType === '0') ? 'deposit' : 'withdrawal';
|
|
3071
3162
|
return {
|
|
3072
3163
|
'info': transaction,
|
|
3073
|
-
'id':
|
|
3164
|
+
'id': id,
|
|
3074
3165
|
'txid': this.safeString(transaction, 'txId'),
|
|
3075
3166
|
'type': type,
|
|
3076
3167
|
'currency': code,
|
|
@@ -3250,57 +3341,101 @@ class bingx extends bingx$1 {
|
|
|
3250
3341
|
* @method
|
|
3251
3342
|
* @name bingx#fetchMyTrades
|
|
3252
3343
|
* @description fetch all trades made by the user
|
|
3344
|
+
* @see https://bingx-api.github.io/docs/#/en-us/spot/trade-api.html#Query%20Order%20History
|
|
3253
3345
|
* @see https://bingx-api.github.io/docs/#/swapV2/trade-api.html#Query%20historical%20transaction%20orders
|
|
3254
3346
|
* @param {string} [symbol] unified market symbol
|
|
3255
3347
|
* @param {int} [since] the earliest time in ms to fetch trades for
|
|
3256
3348
|
* @param {int} [limit] the maximum number of trades structures to retrieve
|
|
3257
3349
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
3350
|
+
* @param {int} [params.until] timestamp in ms for the ending date filter, default is undefined
|
|
3258
3351
|
* @param {string} params.trandingUnit COIN (directly represent assets such as BTC and ETH) or CONT (represents the number of contract sheets)
|
|
3259
3352
|
* @returns {object[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=trade-structure}
|
|
3260
3353
|
*/
|
|
3261
3354
|
if (symbol === undefined) {
|
|
3262
3355
|
throw new errors.ArgumentsRequired(this.id + ' fetchMyTrades() requires a symbol argument');
|
|
3263
3356
|
}
|
|
3264
|
-
if (since === undefined) {
|
|
3265
|
-
throw new errors.ArgumentsRequired(this.id + ' fetchMyTrades() requires a since argument');
|
|
3266
|
-
}
|
|
3267
|
-
const tradingUnit = this.safeStringUpper(params, 'tradingUnit', 'CONT');
|
|
3268
3357
|
await this.loadMarkets();
|
|
3269
3358
|
const market = this.market(symbol);
|
|
3270
|
-
|
|
3271
|
-
|
|
3272
|
-
}
|
|
3359
|
+
const now = this.milliseconds();
|
|
3360
|
+
let response = undefined;
|
|
3273
3361
|
const request = {
|
|
3274
3362
|
'symbol': market['id'],
|
|
3275
|
-
'tradingUnit': tradingUnit,
|
|
3276
|
-
'startTs': since,
|
|
3277
|
-
'endTs': this.nonce(),
|
|
3278
3363
|
};
|
|
3279
|
-
|
|
3280
|
-
|
|
3281
|
-
|
|
3282
|
-
|
|
3283
|
-
|
|
3284
|
-
|
|
3285
|
-
|
|
3286
|
-
|
|
3287
|
-
|
|
3288
|
-
|
|
3289
|
-
|
|
3290
|
-
|
|
3291
|
-
|
|
3292
|
-
|
|
3293
|
-
|
|
3294
|
-
|
|
3295
|
-
|
|
3296
|
-
|
|
3297
|
-
|
|
3298
|
-
|
|
3299
|
-
|
|
3300
|
-
|
|
3301
|
-
|
|
3302
|
-
|
|
3303
|
-
|
|
3364
|
+
if (since !== undefined) {
|
|
3365
|
+
const startTimeReq = market['spot'] ? 'startTime' : 'startTs';
|
|
3366
|
+
request[startTimeReq] = since;
|
|
3367
|
+
}
|
|
3368
|
+
else if (market['swap']) {
|
|
3369
|
+
request['startTs'] = now - 7776000000; // 90 days
|
|
3370
|
+
}
|
|
3371
|
+
const until = this.safeInteger(params, 'until');
|
|
3372
|
+
params = this.omit(params, 'until');
|
|
3373
|
+
if (until !== undefined) {
|
|
3374
|
+
const endTimeReq = market['spot'] ? 'endTime' : 'endTs';
|
|
3375
|
+
request[endTimeReq] = until;
|
|
3376
|
+
}
|
|
3377
|
+
else if (market['swap']) {
|
|
3378
|
+
request['endTs'] = now;
|
|
3379
|
+
}
|
|
3380
|
+
let fills = undefined;
|
|
3381
|
+
if (market['spot']) {
|
|
3382
|
+
response = await this.spotV1PrivateGetTradeMyTrades(this.extend(request, params));
|
|
3383
|
+
const data = this.safeValue(response, 'data', []);
|
|
3384
|
+
fills = this.safeValue(data, 'fills', []);
|
|
3385
|
+
//
|
|
3386
|
+
// {
|
|
3387
|
+
// "code": 0,
|
|
3388
|
+
// "msg": "",
|
|
3389
|
+
// "debugMsg": "",
|
|
3390
|
+
// "data": {
|
|
3391
|
+
// "fills": [
|
|
3392
|
+
// {
|
|
3393
|
+
// "symbol": "LTC-USDT",
|
|
3394
|
+
// "id": 36237072,
|
|
3395
|
+
// "orderId": 1674069326895775744,
|
|
3396
|
+
// "price": "85.891",
|
|
3397
|
+
// "qty": "0.0582",
|
|
3398
|
+
// "quoteQty": "4.9988562000000005",
|
|
3399
|
+
// "commission": -0.00005820000000000001,
|
|
3400
|
+
// "commissionAsset": "LTC",
|
|
3401
|
+
// "time": 1687964205000,
|
|
3402
|
+
// "isBuyer": true,
|
|
3403
|
+
// "isMaker": false
|
|
3404
|
+
// }
|
|
3405
|
+
// ]
|
|
3406
|
+
// }
|
|
3407
|
+
// }
|
|
3408
|
+
//
|
|
3409
|
+
}
|
|
3410
|
+
else {
|
|
3411
|
+
const tradingUnit = this.safeStringUpper(params, 'tradingUnit', 'CONT');
|
|
3412
|
+
params = this.omit(params, 'tradingUnit');
|
|
3413
|
+
request['tradingUnit'] = tradingUnit;
|
|
3414
|
+
response = await this.swapV2PrivateGetTradeAllFillOrders(this.extend(request, params));
|
|
3415
|
+
const data = this.safeValue(response, 'data', []);
|
|
3416
|
+
fills = this.safeValue(data, 'fill_orders', []);
|
|
3417
|
+
//
|
|
3418
|
+
// {
|
|
3419
|
+
// "code": "0",
|
|
3420
|
+
// "msg": '',
|
|
3421
|
+
// "data": { fill_orders: [
|
|
3422
|
+
// {
|
|
3423
|
+
// "volume": "0.1",
|
|
3424
|
+
// "price": "106.75",
|
|
3425
|
+
// "amount": "10.6750",
|
|
3426
|
+
// "commission": "-0.0053",
|
|
3427
|
+
// "currency": "USDT",
|
|
3428
|
+
// "orderId": "1676213270274379776",
|
|
3429
|
+
// "liquidatedPrice": "0.00",
|
|
3430
|
+
// "liquidatedMarginRatio": "0.00",
|
|
3431
|
+
// "filledTime": "2023-07-04T20:56:01.000+0800"
|
|
3432
|
+
// }
|
|
3433
|
+
// ]
|
|
3434
|
+
// }
|
|
3435
|
+
// }
|
|
3436
|
+
//
|
|
3437
|
+
}
|
|
3438
|
+
return this.parseTrades(fills, market, since, limit, params);
|
|
3304
3439
|
}
|
|
3305
3440
|
parseDepositWithdrawFee(fee, currency = undefined) {
|
|
3306
3441
|
//
|
|
@@ -3660,6 +3795,10 @@ class bingx extends bingx$1 {
|
|
|
3660
3795
|
const type = section[0];
|
|
3661
3796
|
const version = section[1];
|
|
3662
3797
|
const access = section[2];
|
|
3798
|
+
const isSandbox = this.safeValue(this.options, 'sandboxMode', false);
|
|
3799
|
+
if (isSandbox && (type !== 'swap')) {
|
|
3800
|
+
throw new errors.NotSupported(this.id + ' does not have a testnet/sandbox URL for ' + type + ' endpoints');
|
|
3801
|
+
}
|
|
3663
3802
|
let url = this.implodeHostname(this.urls['api'][type]);
|
|
3664
3803
|
if (type === 'spot' && version === 'v3') {
|
|
3665
3804
|
url += '/api';
|
|
@@ -3702,6 +3841,10 @@ class bingx extends bingx$1 {
|
|
|
3702
3841
|
nonce() {
|
|
3703
3842
|
return this.milliseconds();
|
|
3704
3843
|
}
|
|
3844
|
+
setSandboxMode(enable) {
|
|
3845
|
+
super.setSandboxMode(enable);
|
|
3846
|
+
this.options['sandboxMode'] = enable;
|
|
3847
|
+
}
|
|
3705
3848
|
handleErrors(httpCode, reason, url, method, headers, body, response, requestHeaders, requestBody) {
|
|
3706
3849
|
if (response === undefined) {
|
|
3707
3850
|
return undefined; // fallback to default error handler
|
package/dist/cjs/src/bitfinex.js
CHANGED
|
@@ -789,12 +789,11 @@ class bitfinex extends bitfinex$1 {
|
|
|
789
789
|
// "message": "0.0001 Bitcoin transfered from Margin to Exchange"
|
|
790
790
|
// }
|
|
791
791
|
//
|
|
792
|
-
const timestamp = this.milliseconds();
|
|
793
792
|
return {
|
|
794
793
|
'info': transfer,
|
|
795
794
|
'id': undefined,
|
|
796
|
-
'timestamp':
|
|
797
|
-
'datetime':
|
|
795
|
+
'timestamp': undefined,
|
|
796
|
+
'datetime': undefined,
|
|
798
797
|
'currency': this.safeCurrencyCode(undefined, currency),
|
|
799
798
|
'amount': undefined,
|
|
800
799
|
'fromAccount': undefined,
|
package/dist/cjs/src/bitget.js
CHANGED
|
@@ -42,7 +42,12 @@ class bitget extends bitget$1 {
|
|
|
42
42
|
'createMarketSellOrderWithCost': false,
|
|
43
43
|
'createOrder': true,
|
|
44
44
|
'createOrders': true,
|
|
45
|
+
'createOrderWithTakeProfitAndStopLoss': true,
|
|
45
46
|
'createReduceOnlyOrder': false,
|
|
47
|
+
'createStopLossOrder': true,
|
|
48
|
+
'createTakeProfitOrder': true,
|
|
49
|
+
'createTrailingPercentOrder': true,
|
|
50
|
+
'createTriggerOrder': true,
|
|
46
51
|
'editOrder': true,
|
|
47
52
|
'fetchAccounts': false,
|
|
48
53
|
'fetchBalance': true,
|
|
@@ -50,6 +55,7 @@ class bitget extends bitget$1 {
|
|
|
50
55
|
'fetchBorrowRateHistories': false,
|
|
51
56
|
'fetchBorrowRateHistory': false,
|
|
52
57
|
'fetchCanceledOrders': true,
|
|
58
|
+
'fetchCanceledAndClosedOrders': true,
|
|
53
59
|
'fetchClosedOrders': true,
|
|
54
60
|
'fetchCrossBorrowRate': true,
|
|
55
61
|
'fetchCrossBorrowRates': false,
|
|
@@ -2956,7 +2962,12 @@ class bitget extends bitget$1 {
|
|
|
2956
2962
|
'symbol': market['id'],
|
|
2957
2963
|
};
|
|
2958
2964
|
if (limit !== undefined) {
|
|
2959
|
-
|
|
2965
|
+
if (market['contract']) {
|
|
2966
|
+
request['limit'] = Math.min(limit, 1000);
|
|
2967
|
+
}
|
|
2968
|
+
else {
|
|
2969
|
+
request['limit'] = limit;
|
|
2970
|
+
}
|
|
2960
2971
|
}
|
|
2961
2972
|
const options = this.safeValue(this.options, 'fetchTrades', {});
|
|
2962
2973
|
let response = undefined;
|
|
@@ -3268,31 +3279,45 @@ class bitget extends bitget$1 {
|
|
|
3268
3279
|
const marketType = market['spot'] ? 'spot' : 'swap';
|
|
3269
3280
|
const timeframes = this.options['timeframes'][marketType];
|
|
3270
3281
|
const selectedTimeframe = this.safeString(timeframes, timeframe, timeframe);
|
|
3271
|
-
|
|
3282
|
+
const request = {
|
|
3272
3283
|
'symbol': market['id'],
|
|
3273
3284
|
'granularity': selectedTimeframe,
|
|
3274
3285
|
};
|
|
3275
|
-
|
|
3276
|
-
|
|
3277
|
-
request['startTime'] = limit;
|
|
3278
|
-
}
|
|
3286
|
+
const until = this.safeInteger2(params, 'until', 'till');
|
|
3287
|
+
params = this.omit(params, ['until', 'till']);
|
|
3279
3288
|
if (limit !== undefined) {
|
|
3280
3289
|
request['limit'] = limit;
|
|
3281
3290
|
}
|
|
3282
3291
|
const options = this.safeValue(this.options, 'fetchOHLCV', {});
|
|
3292
|
+
const spotOptions = this.safeValue(options, 'spot', {});
|
|
3293
|
+
const defaultSpotMethod = this.safeString(spotOptions, 'method', 'publicSpotGetV2SpotMarketCandles');
|
|
3294
|
+
const method = this.safeString(params, 'method', defaultSpotMethod);
|
|
3295
|
+
params = this.omit(params, 'method');
|
|
3296
|
+
if (method !== 'publicSpotGetV2SpotMarketHistoryCandles') {
|
|
3297
|
+
if (since !== undefined) {
|
|
3298
|
+
request['startTime'] = since;
|
|
3299
|
+
}
|
|
3300
|
+
if (until !== undefined) {
|
|
3301
|
+
request['endTime'] = until;
|
|
3302
|
+
}
|
|
3303
|
+
}
|
|
3283
3304
|
let response = undefined;
|
|
3284
3305
|
if (market['spot']) {
|
|
3285
|
-
const spotOptions = this.safeValue(options, 'spot', {});
|
|
3286
|
-
const defaultSpotMethod = this.safeString(spotOptions, 'method', 'publicSpotGetV2SpotMarketCandles');
|
|
3287
|
-
const method = this.safeString(params, 'method', defaultSpotMethod);
|
|
3288
|
-
params = this.omit(params, 'method');
|
|
3289
3306
|
if (method === 'publicSpotGetV2SpotMarketCandles') {
|
|
3290
3307
|
response = await this.publicSpotGetV2SpotMarketCandles(this.extend(request, params));
|
|
3291
3308
|
}
|
|
3292
3309
|
else if (method === 'publicSpotGetV2SpotMarketHistoryCandles') {
|
|
3293
|
-
|
|
3294
|
-
|
|
3295
|
-
|
|
3310
|
+
if (since !== undefined) {
|
|
3311
|
+
if (limit === undefined) {
|
|
3312
|
+
limit = 100; // exchange default
|
|
3313
|
+
}
|
|
3314
|
+
const duration = this.parseTimeframe(timeframe) * 1000;
|
|
3315
|
+
request['endTime'] = this.sum(since, duration * limit);
|
|
3316
|
+
}
|
|
3317
|
+
else if (until !== undefined) {
|
|
3318
|
+
request['endTime'] = until;
|
|
3319
|
+
}
|
|
3320
|
+
else {
|
|
3296
3321
|
request['endTime'] = this.milliseconds();
|
|
3297
3322
|
}
|
|
3298
3323
|
response = await this.publicSpotGetV2SpotMarketHistoryCandles(this.extend(request, params));
|
|
@@ -5370,20 +5395,8 @@ class bitget extends bitget$1 {
|
|
|
5370
5395
|
* @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
|
|
5371
5396
|
*/
|
|
5372
5397
|
await this.loadMarkets();
|
|
5373
|
-
|
|
5374
|
-
|
|
5375
|
-
market = this.market(symbol);
|
|
5376
|
-
}
|
|
5377
|
-
const response = await this.fetchCanceledAndClosedOrders(symbol, since, limit, params);
|
|
5378
|
-
const result = [];
|
|
5379
|
-
for (let i = 0; i < response.length; i++) {
|
|
5380
|
-
const entry = response[i];
|
|
5381
|
-
const status = this.parseOrderStatus(this.safeStringN(entry, ['state', 'status', 'planStatus']));
|
|
5382
|
-
if (status === 'closed') {
|
|
5383
|
-
result.push(entry);
|
|
5384
|
-
}
|
|
5385
|
-
}
|
|
5386
|
-
return this.parseOrders(result, market, since, limit);
|
|
5398
|
+
const orders = await this.fetchCanceledAndClosedOrders(symbol, since, limit, params);
|
|
5399
|
+
return this.filterBy(orders, 'status', 'closed');
|
|
5387
5400
|
}
|
|
5388
5401
|
async fetchCanceledOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
5389
5402
|
/**
|
|
@@ -5408,22 +5421,26 @@ class bitget extends bitget$1 {
|
|
|
5408
5421
|
* @returns {object} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
|
|
5409
5422
|
*/
|
|
5410
5423
|
await this.loadMarkets();
|
|
5411
|
-
|
|
5412
|
-
|
|
5413
|
-
market = this.market(symbol);
|
|
5414
|
-
}
|
|
5415
|
-
const response = await this.fetchCanceledAndClosedOrders(symbol, since, limit, params);
|
|
5416
|
-
const result = [];
|
|
5417
|
-
for (let i = 0; i < response.length; i++) {
|
|
5418
|
-
const entry = response[i];
|
|
5419
|
-
const status = this.parseOrderStatus(this.safeStringN(entry, ['state', 'status', 'planStatus']));
|
|
5420
|
-
if (status === 'canceled') {
|
|
5421
|
-
result.push(entry);
|
|
5422
|
-
}
|
|
5423
|
-
}
|
|
5424
|
-
return this.parseOrders(result, market, since, limit);
|
|
5424
|
+
const orders = await this.fetchCanceledAndClosedOrders(symbol, since, limit, params);
|
|
5425
|
+
return this.filterBy(orders, 'status', 'canceled');
|
|
5425
5426
|
}
|
|
5426
5427
|
async fetchCanceledAndClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
5428
|
+
/**
|
|
5429
|
+
* @method
|
|
5430
|
+
* @name bitget#fetchCanceledAndClosedOrders
|
|
5431
|
+
* @see https://www.bitget.com/api-doc/spot/trade/Get-History-Orders
|
|
5432
|
+
* @see https://www.bitget.com/api-doc/spot/plan/Get-History-Plan-Order
|
|
5433
|
+
* @see https://www.bitget.com/api-doc/contract/trade/Get-Orders-History
|
|
5434
|
+
* @see https://www.bitget.com/api-doc/contract/plan/orders-plan-history
|
|
5435
|
+
* @see https://www.bitget.com/api-doc/margin/cross/trade/Get-Cross-Order-History
|
|
5436
|
+
* @see https://www.bitget.com/api-doc/margin/isolated/trade/Get-Isolated-Order-History
|
|
5437
|
+
* @description fetches information on multiple canceled and closed orders made by the user
|
|
5438
|
+
* @param {string} symbol unified market symbol of the market orders were made in
|
|
5439
|
+
* @param {int} [since] the earliest time in ms to fetch orders for
|
|
5440
|
+
* @param {int} [limit] the maximum number of order structures to retrieve
|
|
5441
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
5442
|
+
* @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
|
|
5443
|
+
*/
|
|
5427
5444
|
await this.loadMarkets();
|
|
5428
5445
|
const sandboxMode = this.safeValue(this.options, 'sandboxMode', false);
|
|
5429
5446
|
let market = undefined;
|
|
@@ -5708,16 +5725,17 @@ class bitget extends bitget$1 {
|
|
|
5708
5725
|
const data = this.safeValue(response, 'data', {});
|
|
5709
5726
|
if (marketType === 'spot') {
|
|
5710
5727
|
if ((marginMode !== undefined) || stop) {
|
|
5711
|
-
return this.safeValue(data, 'orderList', []);
|
|
5728
|
+
return this.parseOrders(this.safeValue(data, 'orderList', []), market, since, limit);
|
|
5712
5729
|
}
|
|
5713
5730
|
}
|
|
5714
5731
|
else {
|
|
5715
|
-
return this.safeValue(data, 'entrustedList', []);
|
|
5732
|
+
return this.parseOrders(this.safeValue(data, 'entrustedList', []), market, since, limit);
|
|
5716
5733
|
}
|
|
5717
5734
|
if (typeof response === 'string') {
|
|
5718
5735
|
response = JSON.parse(response);
|
|
5719
5736
|
}
|
|
5720
|
-
|
|
5737
|
+
const orders = this.safeValue(response, 'data', []);
|
|
5738
|
+
return this.parseOrders(orders, market, since, limit);
|
|
5721
5739
|
}
|
|
5722
5740
|
async fetchLedger(code = undefined, since = undefined, limit = undefined, params = {}) {
|
|
5723
5741
|
/**
|
|
@@ -6200,6 +6218,7 @@ class bitget extends bitget$1 {
|
|
|
6200
6218
|
* @see https://www.bitget.com/api-doc/contract/position/Get-History-Position
|
|
6201
6219
|
* @param {string[]|undefined} symbols list of unified market symbols
|
|
6202
6220
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
6221
|
+
* @param {string} [params.marginCoin] the settle currency of the positions, needs to match the productType
|
|
6203
6222
|
* @param {string} [params.productType] 'USDT-FUTURES', 'USDC-FUTURES', 'COIN-FUTURES', 'SUSDT-FUTURES', 'SUSDC-FUTURES' or 'SCOIN-FUTURES'
|
|
6204
6223
|
* @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [available parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
|
|
6205
6224
|
* @returns {object[]} a list of [position structure]{@link https://docs.ccxt.com/#/?id=position-structure}
|
|
@@ -6232,10 +6251,28 @@ class bitget extends bitget$1 {
|
|
|
6232
6251
|
let response = undefined;
|
|
6233
6252
|
let isHistory = false;
|
|
6234
6253
|
if (method === 'privateMixGetV2MixPositionAllPosition') {
|
|
6235
|
-
|
|
6236
|
-
|
|
6254
|
+
let marginCoin = this.safeString(params, 'marginCoin', 'USDT');
|
|
6255
|
+
if (symbols !== undefined) {
|
|
6256
|
+
marginCoin = market['settleId'];
|
|
6237
6257
|
}
|
|
6238
|
-
|
|
6258
|
+
else if (productType === 'USDT-FUTURES') {
|
|
6259
|
+
marginCoin = 'USDT';
|
|
6260
|
+
}
|
|
6261
|
+
else if (productType === 'USDC-FUTURES') {
|
|
6262
|
+
marginCoin = 'USDC';
|
|
6263
|
+
}
|
|
6264
|
+
else if (productType === 'SUSDT-FUTURES') {
|
|
6265
|
+
marginCoin = 'SUSDT';
|
|
6266
|
+
}
|
|
6267
|
+
else if (productType === 'SUSDC-FUTURES') {
|
|
6268
|
+
marginCoin = 'SUSDC';
|
|
6269
|
+
}
|
|
6270
|
+
else if ((productType === 'SCOIN-FUTURES') || (productType === 'COIN-FUTURES')) {
|
|
6271
|
+
if (marginCoin === undefined) {
|
|
6272
|
+
throw new errors.ArgumentsRequired(this.id + ' fetchPositions() requires a marginCoin parameter that matches the productType');
|
|
6273
|
+
}
|
|
6274
|
+
}
|
|
6275
|
+
request['marginCoin'] = marginCoin;
|
|
6239
6276
|
response = await this.privateMixGetV2MixPositionAllPosition(this.extend(request, params));
|
|
6240
6277
|
}
|
|
6241
6278
|
else {
|
package/dist/cjs/src/bitmart.js
CHANGED
|
@@ -44,6 +44,7 @@ class bitmart extends bitmart$1 {
|
|
|
44
44
|
'createStopLimitOrder': false,
|
|
45
45
|
'createStopMarketOrder': false,
|
|
46
46
|
'createStopOrder': false,
|
|
47
|
+
'createTrailingPercentOrder': true,
|
|
47
48
|
'fetchBalance': true,
|
|
48
49
|
'fetchBorrowInterest': true,
|
|
49
50
|
'fetchBorrowRateHistories': false,
|
|
@@ -262,8 +263,8 @@ class bitmart extends bitmart$1 {
|
|
|
262
263
|
'trading': {
|
|
263
264
|
'tierBased': true,
|
|
264
265
|
'percentage': true,
|
|
265
|
-
'taker': this.parseNumber('0.
|
|
266
|
-
'maker': this.parseNumber('0.
|
|
266
|
+
'taker': this.parseNumber('0.0040'),
|
|
267
|
+
'maker': this.parseNumber('0.0035'),
|
|
267
268
|
'tiers': {
|
|
268
269
|
'taker': [
|
|
269
270
|
[this.parseNumber('0'), this.parseNumber('0.0020')],
|
|
@@ -3512,14 +3513,13 @@ class bitmart extends bitmart$1 {
|
|
|
3512
3513
|
// "repay_id": "2afcc16d99bd4707818c5a355dc89bed",
|
|
3513
3514
|
// }
|
|
3514
3515
|
//
|
|
3515
|
-
const timestamp = this.milliseconds();
|
|
3516
3516
|
return {
|
|
3517
3517
|
'id': this.safeString2(info, 'borrow_id', 'repay_id'),
|
|
3518
3518
|
'currency': this.safeCurrencyCode(undefined, currency),
|
|
3519
3519
|
'amount': undefined,
|
|
3520
3520
|
'symbol': undefined,
|
|
3521
|
-
'timestamp':
|
|
3522
|
-
'datetime':
|
|
3521
|
+
'timestamp': undefined,
|
|
3522
|
+
'datetime': undefined,
|
|
3523
3523
|
'info': info,
|
|
3524
3524
|
};
|
|
3525
3525
|
}
|