ccxt 4.5.82 → 4.5.83
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 +5 -4
- package/dist/ccxt.browser.min.js +2 -2
- package/dist/cjs/ccxt.js +3 -1
- package/dist/cjs/src/abstract/prediction/sxbet.js +11 -0
- package/dist/cjs/src/apex.js +1 -0
- package/dist/cjs/src/aster.js +2 -2
- package/dist/cjs/src/base/Exchange.js +1 -1
- package/dist/cjs/src/bigone.js +2 -2
- package/dist/cjs/src/binance.js +10 -10
- package/dist/cjs/src/bingx.js +3 -3
- package/dist/cjs/src/bit2c.js +4 -4
- package/dist/cjs/src/bitbank.js +15 -15
- package/dist/cjs/src/bitfinex.js +15 -15
- package/dist/cjs/src/bitget.js +109 -73
- package/dist/cjs/src/bitmex.js +7 -7
- package/dist/cjs/src/bitopro.js +2 -2
- package/dist/cjs/src/bitrue.js +6 -6
- package/dist/cjs/src/bitso.js +18 -18
- package/dist/cjs/src/bitstamp.js +5 -5
- package/dist/cjs/src/bitteam.js +32 -32
- package/dist/cjs/src/bittrade.js +10 -10
- package/dist/cjs/src/bitvavo.js +9 -9
- package/dist/cjs/src/blockchaincom.js +2 -2
- package/dist/cjs/src/btcbox.js +2 -2
- package/dist/cjs/src/btcmarkets.js +2 -2
- package/dist/cjs/src/btcturk.js +2 -2
- package/dist/cjs/src/btse.js +2 -2
- package/dist/cjs/src/bybitid.js +4 -0
- package/dist/cjs/src/coinbase.js +1 -1
- package/dist/cjs/src/coinbaseexchange.js +13 -13
- package/dist/cjs/src/coincheck.js +4 -4
- package/dist/cjs/src/coinex.js +10 -10
- package/dist/cjs/src/coinmate.js +4 -4
- package/dist/cjs/src/coinone.js +4 -4
- package/dist/cjs/src/coinsph.js +5 -5
- package/dist/cjs/src/cryptocom.js +5 -5
- package/dist/cjs/src/deribit.js +31 -31
- package/dist/cjs/src/derive.js +1 -1
- package/dist/cjs/src/digifinex.js +31 -31
- package/dist/cjs/src/gate.js +25 -25
- package/dist/cjs/src/gemini.js +5 -5
- package/dist/cjs/src/grvt.js +1 -1
- package/dist/cjs/src/hibachi.js +5 -5
- package/dist/cjs/src/hitbtc.js +15 -15
- package/dist/cjs/src/hollaex.js +15 -15
- package/dist/cjs/src/htx.js +52 -52
- package/dist/cjs/src/hyperliquid.js +2 -2
- package/dist/cjs/src/independentreserve.js +2 -2
- package/dist/cjs/src/indodax.js +8 -8
- package/dist/cjs/src/kraken.js +29 -29
- package/dist/cjs/src/krakenfutures.js +16 -16
- package/dist/cjs/src/kucoin.js +15 -15
- package/dist/cjs/src/latoken.js +8 -8
- package/dist/cjs/src/lbank.js +31 -31
- package/dist/cjs/src/lighter.js +2 -2
- package/dist/cjs/src/luno.js +2 -2
- package/dist/cjs/src/mercado.js +12 -12
- package/dist/cjs/src/mexc.js +27 -27
- package/dist/cjs/src/modetrade.js +10 -10
- package/dist/cjs/src/ndax.js +4 -4
- package/dist/cjs/src/okx.js +19 -20
- package/dist/cjs/src/onetrading.js +7 -7
- package/dist/cjs/src/p2b.js +8 -8
- package/dist/cjs/src/pacifica.js +9 -3
- package/dist/cjs/src/paymium.js +2 -2
- package/dist/cjs/src/phemex.js +37 -37
- package/dist/cjs/src/poloniex.js +14 -14
- package/dist/cjs/src/prediction/sxbet.js +2710 -0
- package/dist/cjs/src/pro/alpaca.js +5 -5
- package/dist/cjs/src/pro/apex.js +6 -6
- package/dist/cjs/src/pro/aster.js +8 -8
- package/dist/cjs/src/pro/backpack.js +1 -1
- package/dist/cjs/src/pro/binance.js +26 -26
- package/dist/cjs/src/pro/bingx.js +11 -11
- package/dist/cjs/src/pro/bitfinex.js +11 -11
- package/dist/cjs/src/pro/bitget.js +20 -20
- package/dist/cjs/src/pro/bithumb.js +1 -1
- package/dist/cjs/src/pro/bitmex.js +12 -12
- package/dist/cjs/src/pro/bitopro.js +5 -5
- package/dist/cjs/src/pro/bitrue.js +7 -7
- package/dist/cjs/src/pro/bitstamp.js +5 -5
- package/dist/cjs/src/pro/bittrade.js +11 -11
- package/dist/cjs/src/pro/bitvavo.js +16 -16
- package/dist/cjs/src/pro/blockchaincom.js +5 -5
- package/dist/cjs/src/pro/blofin.js +2 -2
- package/dist/cjs/src/pro/bybit.js +21 -21
- package/dist/cjs/src/pro/bydfi.js +2 -2
- package/dist/cjs/src/pro/cex.js +19 -19
- package/dist/cjs/src/pro/coinbase.js +2 -2
- package/dist/cjs/src/pro/coinbaseexchange.js +9 -9
- package/dist/cjs/src/pro/coinbaseinternational.js +2 -2
- package/dist/cjs/src/pro/coincheck.js +2 -2
- package/dist/cjs/src/pro/coinex.js +3 -3
- package/dist/cjs/src/pro/coinone.js +6 -6
- package/dist/cjs/src/pro/cryptocom.js +10 -10
- package/dist/cjs/src/pro/deribit.js +13 -13
- package/dist/cjs/src/pro/derive.js +4 -4
- package/dist/cjs/src/pro/dydx.js +1 -1
- package/dist/cjs/src/pro/extended.js +16 -10
- package/dist/cjs/src/pro/gate.js +10 -10
- package/dist/cjs/src/pro/gemini.js +3 -3
- package/dist/cjs/src/pro/grvt.js +2 -2
- package/dist/cjs/src/pro/hashkey.js +2 -2
- package/dist/cjs/src/pro/hitbtc.js +6 -6
- package/dist/cjs/src/pro/hollaex.js +3 -3
- package/dist/cjs/src/pro/htx.js +28 -28
- package/dist/cjs/src/pro/hyperliquid.js +1 -1
- package/dist/cjs/src/pro/independentreserve.js +2 -2
- package/dist/cjs/src/pro/kraken.js +7 -7
- package/dist/cjs/src/pro/krakenfutures.js +12 -12
- package/dist/cjs/src/pro/kucoin.js +12 -12
- package/dist/cjs/src/pro/lbank.js +16 -16
- package/dist/cjs/src/pro/luno.js +2 -2
- package/dist/cjs/src/pro/mexc.js +8 -8
- package/dist/cjs/src/pro/modetrade.js +3 -3
- package/dist/cjs/src/pro/mudrex.js +2 -2
- package/dist/cjs/src/pro/nado.js +3 -3
- package/dist/cjs/src/pro/ndax.js +6 -6
- package/dist/cjs/src/pro/okx.js +20 -20
- package/dist/cjs/src/pro/onetrading.js +14 -14
- package/dist/cjs/src/pro/p2b.js +5 -5
- package/dist/cjs/src/pro/pacifica.js +1 -1
- package/dist/cjs/src/pro/paradex.js +1 -1
- package/dist/cjs/src/pro/phemex.js +13 -13
- package/dist/cjs/src/pro/poloniex.js +17 -17
- package/dist/cjs/src/pro/toobit.js +2 -2
- package/dist/cjs/src/pro/upbit.js +4 -4
- package/dist/cjs/src/pro/weex.js +2 -2
- package/dist/cjs/src/pro/whitebit.js +12 -12
- package/dist/cjs/src/pro/woo.js +13 -13
- package/dist/cjs/src/pro/woofipro.js +3 -3
- package/dist/cjs/src/pro/xt.js +3 -3
- package/dist/cjs/src/tokocrypto.js +20 -20
- package/dist/cjs/src/upbit.js +12 -12
- package/dist/cjs/src/whitebit.js +15 -15
- package/dist/cjs/src/woo.js +3 -3
- package/dist/cjs/src/woofipro.js +14 -14
- package/dist/cjs/src/zaif.js +9 -3
- package/dist/cjs/src/zebpay.js +1 -1
- package/js/ccxt.d.ts +4 -1
- package/js/ccxt.js +3 -1
- package/js/src/abstract/prediction/sxbet.d.ts +41 -0
- package/js/src/abstract/prediction/sxbet.js +11 -0
- package/js/src/alpaca.d.ts +28 -33
- package/js/src/apex.d.ts +28 -42
- package/js/src/apex.js +1 -0
- package/js/src/aster.d.ts +58 -108
- package/js/src/aster.js +2 -2
- package/js/src/backpack.d.ts +34 -48
- package/js/src/base/Exchange.d.ts +304 -320
- package/js/src/base/Exchange.js +1 -1
- package/js/src/bigone.d.ts +24 -29
- package/js/src/bigone.js +2 -2
- package/js/src/binance.d.ts +112 -138
- package/js/src/binance.js +10 -10
- package/js/src/binancecoinm.d.ts +3 -2
- package/js/src/binanceusdm.d.ts +3 -2
- package/js/src/bingx.d.ts +65 -84
- package/js/src/bingx.js +3 -3
- package/js/src/bit2c.d.ts +13 -18
- package/js/src/bit2c.js +4 -4
- package/js/src/bitbank.d.ts +16 -21
- package/js/src/bitbank.js +15 -15
- package/js/src/bitbns.d.ts +15 -20
- package/js/src/bitfinex.d.ts +46 -51
- package/js/src/bitfinex.js +15 -15
- package/js/src/bitflyer.d.ts +20 -25
- package/js/src/bitget.d.ts +105 -93
- package/js/src/bitget.js +109 -73
- package/js/src/bithumb.d.ts +26 -31
- package/js/src/bitmex.d.ts +48 -65
- package/js/src/bitmex.js +7 -7
- package/js/src/bitopro.d.ts +25 -41
- package/js/src/bitopro.js +2 -2
- package/js/src/bitrue.d.ts +30 -45
- package/js/src/bitrue.js +6 -6
- package/js/src/bitso.d.ts +24 -29
- package/js/src/bitso.js +18 -18
- package/js/src/bitstamp.d.ts +36 -47
- package/js/src/bitstamp.js +5 -5
- package/js/src/bitteam.d.ts +22 -27
- package/js/src/bitteam.js +32 -32
- package/js/src/bittrade.d.ts +35 -46
- package/js/src/bittrade.js +10 -10
- package/js/src/bitvavo.d.ts +43 -48
- package/js/src/bitvavo.js +9 -9
- package/js/src/blockchaincom.d.ts +26 -31
- package/js/src/blockchaincom.js +2 -2
- package/js/src/blofin.d.ts +38 -43
- package/js/src/btcbox.d.ts +14 -19
- package/js/src/btcbox.js +2 -2
- package/js/src/btcmarkets.d.ts +25 -30
- package/js/src/btcmarkets.js +2 -2
- package/js/src/btcturk.d.ts +13 -18
- package/js/src/btcturk.js +2 -2
- package/js/src/btse.d.ts +44 -50
- package/js/src/btse.js +2 -2
- package/js/src/bullish.d.ts +35 -57
- package/js/src/bybit.d.ts +95 -106
- package/js/src/bybitid.js +4 -0
- package/js/src/bydfi.d.ts +37 -48
- package/js/src/cex.d.ts +29 -34
- package/js/src/coinbase.d.ts +66 -82
- package/js/src/coinbase.js +1 -1
- package/js/src/coinbaseexchange.d.ts +33 -43
- package/js/src/coinbaseexchange.js +13 -13
- package/js/src/coinbaseinternational.d.ts +34 -73
- package/js/src/coincheck.d.ts +13 -18
- package/js/src/coincheck.js +4 -4
- package/js/src/coinex.d.ts +63 -68
- package/js/src/coinex.js +10 -10
- package/js/src/coinmate.d.ts +15 -20
- package/js/src/coinmate.js +4 -4
- package/js/src/coinone.d.ts +14 -19
- package/js/src/coinone.js +4 -4
- package/js/src/coinsph.d.ts +32 -37
- package/js/src/coinsph.js +5 -5
- package/js/src/coinspot.d.ts +10 -15
- package/js/src/cryptocom.d.ts +48 -64
- package/js/src/cryptocom.js +5 -5
- package/js/src/cryptomus.d.ts +15 -23
- package/js/src/deepcoin.d.ts +43 -48
- package/js/src/delta.d.ts +43 -54
- package/js/src/deribit.d.ts +48 -69
- package/js/src/deribit.js +31 -31
- package/js/src/derive.d.ts +28 -42
- package/js/src/derive.js +1 -1
- package/js/src/digifinex.d.ts +54 -67
- package/js/src/digifinex.js +31 -31
- package/js/src/dydx.d.ts +26 -31
- package/js/src/extended.d.ts +51 -56
- package/js/src/foxbit.d.ts +34 -64
- package/js/src/gate.d.ts +94 -162
- package/js/src/gate.js +25 -25
- package/js/src/gemini.d.ts +33 -43
- package/js/src/gemini.js +5 -5
- package/js/src/grvt.d.ts +36 -47
- package/js/src/grvt.js +1 -1
- package/js/src/hashkey.d.ts +58 -78
- package/js/src/hibachi.d.ts +42 -52
- package/js/src/hibachi.js +5 -5
- package/js/src/hitbtc.d.ts +49 -56
- package/js/src/hitbtc.js +15 -15
- package/js/src/hollaex.d.ts +26 -31
- package/js/src/hollaex.js +15 -15
- package/js/src/htx.d.ts +80 -121
- package/js/src/htx.js +52 -52
- package/js/src/hyperliquid.d.ts +77 -127
- package/js/src/hyperliquid.js +2 -2
- package/js/src/independentreserve.d.ts +15 -20
- package/js/src/independentreserve.js +2 -2
- package/js/src/indodax.d.ts +19 -24
- package/js/src/indodax.js +8 -8
- package/js/src/kraken.d.ts +43 -55
- package/js/src/kraken.js +29 -29
- package/js/src/krakenfutures.d.ts +34 -39
- package/js/src/krakenfutures.js +16 -16
- package/js/src/kucoin.d.ts +121 -132
- package/js/src/kucoin.js +15 -15
- package/js/src/kucoinfutures.d.ts +4 -4
- package/js/src/latoken.d.ts +24 -29
- package/js/src/latoken.js +8 -8
- package/js/src/lbank.d.ts +40 -53
- package/js/src/lbank.js +31 -31
- package/js/src/lighter.d.ts +40 -45
- package/js/src/lighter.js +2 -2
- package/js/src/luno.d.ts +25 -30
- package/js/src/luno.js +2 -2
- package/js/src/mercado.d.ts +15 -20
- package/js/src/mercado.js +12 -12
- package/js/src/mexc.d.ts +70 -83
- package/js/src/mexc.js +27 -27
- package/js/src/modetrade.d.ts +43 -57
- package/js/src/modetrade.js +10 -10
- package/js/src/mudrex.d.ts +25 -35
- package/js/src/nado.d.ts +45 -50
- package/js/src/ndax.d.ts +27 -32
- package/js/src/ndax.js +4 -4
- package/js/src/okx.d.ts +97 -108
- package/js/src/okx.js +19 -20
- package/js/src/onetrading.d.ts +23 -31
- package/js/src/onetrading.js +7 -7
- package/js/src/p2b.d.ts +17 -22
- package/js/src/p2b.js +8 -8
- package/js/src/pacifica.d.ts +55 -73
- package/js/src/pacifica.js +9 -3
- package/js/src/paradex.d.ts +47 -68
- package/js/src/paymium.d.ts +12 -17
- package/js/src/paymium.js +2 -2
- package/js/src/phemex.d.ts +47 -52
- package/js/src/phemex.js +37 -37
- package/js/src/poloniex.d.ts +45 -50
- package/js/src/poloniex.js +14 -14
- package/js/src/prediction/sxbet.d.ts +595 -0
- package/js/src/prediction/sxbet.js +2708 -0
- package/js/src/pro/alpaca.d.ts +23 -23
- package/js/src/pro/alpaca.js +5 -5
- package/js/src/pro/apex.d.ts +28 -28
- package/js/src/pro/apex.js +6 -6
- package/js/src/pro/aster.d.ts +33 -33
- package/js/src/pro/aster.js +8 -8
- package/js/src/pro/backpack.d.ts +28 -28
- package/js/src/pro/backpack.js +1 -1
- package/js/src/pro/binance.d.ts +57 -57
- package/js/src/pro/binance.js +26 -26
- package/js/src/pro/bingx.d.ts +26 -26
- package/js/src/pro/bingx.js +11 -11
- package/js/src/pro/bitfinex.d.ts +25 -25
- package/js/src/pro/bitfinex.js +11 -11
- package/js/src/pro/bitget.d.ts +41 -41
- package/js/src/pro/bitget.js +20 -20
- package/js/src/pro/bithumb.d.ts +15 -15
- package/js/src/pro/bithumb.js +1 -1
- package/js/src/pro/bitmex.d.ts +29 -29
- package/js/src/pro/bitmex.js +12 -12
- package/js/src/pro/bitopro.d.ts +13 -13
- package/js/src/pro/bitopro.js +5 -5
- package/js/src/pro/bitrue.d.ts +25 -25
- package/js/src/pro/bitrue.js +7 -7
- package/js/src/pro/bitstamp.d.ts +21 -21
- package/js/src/pro/bitstamp.js +5 -5
- package/js/src/pro/bittrade.d.ts +19 -19
- package/js/src/pro/bittrade.js +11 -11
- package/js/src/pro/bitvavo.d.ts +62 -62
- package/js/src/pro/bitvavo.js +16 -16
- package/js/src/pro/blockchaincom.d.ts +19 -19
- package/js/src/pro/blockchaincom.js +5 -5
- package/js/src/pro/blofin.d.ts +23 -23
- package/js/src/pro/blofin.js +2 -2
- package/js/src/pro/bullish.d.ts +19 -25
- package/js/src/pro/bybit.d.ts +42 -45
- package/js/src/pro/bybit.js +21 -21
- package/js/src/pro/bydfi.d.ts +24 -24
- package/js/src/pro/bydfi.js +2 -2
- package/js/src/pro/cex.d.ts +37 -37
- package/js/src/pro/cex.js +19 -19
- package/js/src/pro/coinbase.d.ts +19 -19
- package/js/src/pro/coinbase.js +2 -2
- package/js/src/pro/coinbaseexchange.d.ts +25 -25
- package/js/src/pro/coinbaseexchange.js +9 -9
- package/js/src/pro/coinbaseinternational.d.ts +20 -20
- package/js/src/pro/coinbaseinternational.js +2 -2
- package/js/src/pro/coincheck.d.ts +5 -5
- package/js/src/pro/coincheck.js +2 -2
- package/js/src/pro/coinex.d.ts +24 -24
- package/js/src/pro/coinex.js +3 -3
- package/js/src/pro/coinone.d.ts +9 -11
- package/js/src/pro/coinone.js +6 -6
- package/js/src/pro/cryptocom.d.ts +40 -40
- package/js/src/pro/cryptocom.js +10 -10
- package/js/src/pro/deepcoin.d.ts +24 -32
- package/js/src/pro/deribit.d.ts +24 -24
- package/js/src/pro/deribit.js +13 -13
- package/js/src/pro/derive.d.ts +22 -22
- package/js/src/pro/derive.js +4 -4
- package/js/src/pro/dydx.d.ts +9 -9
- package/js/src/pro/dydx.js +1 -1
- package/js/src/pro/extended.d.ts +22 -22
- package/js/src/pro/extended.js +16 -10
- package/js/src/pro/gate.d.ts +50 -50
- package/js/src/pro/gate.js +10 -10
- package/js/src/pro/gemini.d.ts +26 -26
- package/js/src/pro/gemini.js +3 -3
- package/js/src/pro/grvt.d.ts +22 -22
- package/js/src/pro/grvt.js +2 -2
- package/js/src/pro/hashkey.d.ts +19 -19
- package/js/src/pro/hashkey.js +2 -2
- package/js/src/pro/hitbtc.d.ts +32 -32
- package/js/src/pro/hitbtc.js +6 -6
- package/js/src/pro/hollaex.d.ts +15 -17
- package/js/src/pro/hollaex.js +3 -3
- package/js/src/pro/htx.d.ts +36 -36
- package/js/src/pro/htx.js +28 -28
- package/js/src/pro/hyperliquid.d.ts +29 -31
- package/js/src/pro/hyperliquid.js +1 -1
- package/js/src/pro/independentreserve.d.ts +10 -10
- package/js/src/pro/independentreserve.js +2 -2
- package/js/src/pro/kraken.d.ts +41 -55
- package/js/src/pro/kraken.js +7 -7
- package/js/src/pro/krakenfutures.d.ts +32 -32
- package/js/src/pro/krakenfutures.js +12 -12
- package/js/src/pro/kucoin.d.ts +69 -72
- package/js/src/pro/kucoin.js +12 -12
- package/js/src/pro/kucoinfutures.d.ts +4 -4
- package/js/src/pro/lbank.d.ts +22 -22
- package/js/src/pro/lbank.js +16 -16
- package/js/src/pro/lighter.d.ts +27 -27
- package/js/src/pro/luno.d.ts +8 -8
- package/js/src/pro/luno.js +2 -2
- package/js/src/pro/mexc.d.ts +33 -33
- package/js/src/pro/mexc.js +8 -8
- package/js/src/pro/modetrade.d.ts +37 -39
- package/js/src/pro/modetrade.js +3 -3
- package/js/src/pro/mudrex.d.ts +8 -8
- package/js/src/pro/mudrex.js +2 -2
- package/js/src/pro/nado.d.ts +42 -46
- package/js/src/pro/nado.js +3 -3
- package/js/src/pro/ndax.d.ts +12 -12
- package/js/src/pro/ndax.js +6 -6
- package/js/src/pro/okx.d.ts +49 -49
- package/js/src/pro/okx.js +20 -20
- package/js/src/pro/onetrading.d.ts +28 -28
- package/js/src/pro/onetrading.js +14 -14
- package/js/src/pro/p2b.d.ts +15 -19
- package/js/src/pro/p2b.js +5 -5
- package/js/src/pro/pacifica.d.ts +22 -22
- package/js/src/pro/pacifica.js +1 -1
- package/js/src/pro/paradex.d.ts +18 -18
- package/js/src/pro/paradex.js +1 -1
- package/js/src/pro/phemex.d.ts +25 -25
- package/js/src/pro/phemex.js +13 -13
- package/js/src/pro/poloniex.d.ts +30 -32
- package/js/src/pro/poloniex.js +17 -17
- package/js/src/pro/toobit.d.ts +31 -31
- package/js/src/pro/toobit.js +2 -2
- package/js/src/pro/upbit.d.ts +24 -24
- package/js/src/pro/upbit.js +4 -4
- package/js/src/pro/weex.d.ts +39 -39
- package/js/src/pro/weex.js +2 -2
- package/js/src/pro/whitebit.d.ts +26 -30
- package/js/src/pro/whitebit.js +12 -12
- package/js/src/pro/woo.d.ts +44 -46
- package/js/src/pro/woo.js +13 -13
- package/js/src/pro/woofipro.d.ts +39 -41
- package/js/src/pro/woofipro.js +3 -3
- package/js/src/pro/xt.d.ts +20 -20
- package/js/src/pro/xt.js +3 -3
- package/js/src/revolutx.d.ts +17 -17
- package/js/src/tokocrypto.d.ts +25 -30
- package/js/src/tokocrypto.js +20 -20
- package/js/src/toobit.d.ts +45 -79
- package/js/src/upbit.d.ts +28 -61
- package/js/src/upbit.js +12 -12
- package/js/src/weex.d.ts +57 -68
- package/js/src/whitebit.d.ts +53 -64
- package/js/src/whitebit.js +15 -15
- package/js/src/woo.d.ts +61 -75
- package/js/src/woo.js +3 -3
- package/js/src/woofipro.d.ts +53 -67
- package/js/src/woofipro.js +14 -14
- package/js/src/xt.d.ts +57 -67
- package/js/src/zaif.d.ts +11 -16
- package/js/src/zaif.js +9 -3
- package/js/src/zebpay.d.ts +32 -37
- package/js/src/zebpay.js +1 -1
- package/package.json +2 -2
|
@@ -457,8 +457,8 @@ class alpaca extends alpaca$1["default"] {
|
|
|
457
457
|
// }
|
|
458
458
|
// }
|
|
459
459
|
//
|
|
460
|
-
const data = this.
|
|
461
|
-
const rawOrder = this.
|
|
460
|
+
const data = this.safeDict(message, 'data', {});
|
|
461
|
+
const rawOrder = this.safeDict(data, 'order', {});
|
|
462
462
|
if (this.orders === undefined) {
|
|
463
463
|
const limit = this.safeInteger(this.options, 'ordersLimit', 1000);
|
|
464
464
|
this.orders = new Cache.ArrayCacheBySymbolById(limit);
|
|
@@ -517,12 +517,12 @@ class alpaca extends alpaca$1["default"] {
|
|
|
517
517
|
// }
|
|
518
518
|
// }
|
|
519
519
|
//
|
|
520
|
-
const data = this.
|
|
520
|
+
const data = this.safeDict(message, 'data', {});
|
|
521
521
|
const event = this.safeString(data, 'event');
|
|
522
522
|
if (event !== 'fill' && event !== 'partial_fill') {
|
|
523
523
|
return;
|
|
524
524
|
}
|
|
525
|
-
const rawOrder = this.
|
|
525
|
+
const rawOrder = this.safeDict(data, 'order', {});
|
|
526
526
|
let myTrades = this.myTrades;
|
|
527
527
|
if (myTrades === undefined) {
|
|
528
528
|
const limit = this.safeInteger(this.options, 'tradesLimit', 1000);
|
|
@@ -725,7 +725,7 @@ class alpaca extends alpaca$1["default"] {
|
|
|
725
725
|
// }
|
|
726
726
|
//
|
|
727
727
|
const T = this.safeString(message, 'T');
|
|
728
|
-
const data = this.
|
|
728
|
+
const data = this.safeDict(message, 'data', {});
|
|
729
729
|
const status = this.safeString(data, 'status');
|
|
730
730
|
if (T === 'success' || status === 'authorized') {
|
|
731
731
|
const promise = client.futures['authenticated'];
|
package/dist/cjs/src/pro/apex.js
CHANGED
|
@@ -100,7 +100,7 @@ class apex extends apex$1["default"] {
|
|
|
100
100
|
}
|
|
101
101
|
const trades = await this.watchTopics(url, messageHashes, topics, params);
|
|
102
102
|
if (this.newUpdates) {
|
|
103
|
-
const first = this.
|
|
103
|
+
const first = this.safeDict(trades, 0);
|
|
104
104
|
const tradeSymbol = this.safeString(first, 'symbol');
|
|
105
105
|
limit = trades.getLimit(tradeSymbol, limit);
|
|
106
106
|
}
|
|
@@ -127,7 +127,7 @@ class apex extends apex$1["default"] {
|
|
|
127
127
|
// ]
|
|
128
128
|
// }
|
|
129
129
|
//
|
|
130
|
-
const data = this.
|
|
130
|
+
const data = this.safeList(message, 'data', []);
|
|
131
131
|
const topic = this.safeString(message, 'topic');
|
|
132
132
|
const trades = data;
|
|
133
133
|
const parts = topic.split('.');
|
|
@@ -531,7 +531,7 @@ class apex extends apex$1["default"] {
|
|
|
531
531
|
// "type": "snapshot"
|
|
532
532
|
// }
|
|
533
533
|
//
|
|
534
|
-
const data = this.
|
|
534
|
+
const data = this.safeList(message, 'data', []);
|
|
535
535
|
const topic = this.safeString(message, 'topic');
|
|
536
536
|
const topicParts = topic.split('.');
|
|
537
537
|
const topicLength = topicParts.length;
|
|
@@ -946,10 +946,10 @@ class apex extends apex$1["default"] {
|
|
|
946
946
|
this.throwBroadlyMatchedException(this.exceptions['broad'], msg, feedback);
|
|
947
947
|
throw new errors.ExchangeError(feedback);
|
|
948
948
|
}
|
|
949
|
-
const success = this.
|
|
949
|
+
const success = this.safeBool(message, 'success');
|
|
950
950
|
if ((success !== undefined) && (success !== true)) {
|
|
951
951
|
const ret_msg = this.safeString(message, 'ret_msg');
|
|
952
|
-
const request = this.
|
|
952
|
+
const request = this.safeDict(message, 'request', {});
|
|
953
953
|
const op = this.safeString(request, 'op');
|
|
954
954
|
// Benign re-subscribe notice (same shape as bitmart 90008 /
|
|
955
955
|
// krakenfutures "Already subscribed"): the original subscription
|
|
@@ -1092,7 +1092,7 @@ class apex extends apex$1["default"] {
|
|
|
1092
1092
|
// "conn_id": "ce3dpomvha7dha97tvp0-2xh"
|
|
1093
1093
|
// }
|
|
1094
1094
|
//
|
|
1095
|
-
const success = this.
|
|
1095
|
+
const success = this.safeBool(message, 'success');
|
|
1096
1096
|
const code = this.safeInteger(message, 'retCode');
|
|
1097
1097
|
const messageHash = 'authenticated';
|
|
1098
1098
|
if ((success === true) || (code === 0)) {
|
|
@@ -644,7 +644,7 @@ class aster extends aster$1["default"] {
|
|
|
644
644
|
}
|
|
645
645
|
const trades = await this.watchMultiple(url, messageHashes, this.extend(request, params), messageHashes);
|
|
646
646
|
if (this.newUpdates) {
|
|
647
|
-
const first = this.
|
|
647
|
+
const first = this.safeDict(trades, 0);
|
|
648
648
|
const tradeSymbol = this.safeString(first, 'symbol');
|
|
649
649
|
limit = trades.getLimit(tradeSymbol, limit);
|
|
650
650
|
}
|
|
@@ -1213,7 +1213,7 @@ class aster extends aster$1["default"] {
|
|
|
1213
1213
|
if (timeframe === undefined) {
|
|
1214
1214
|
return;
|
|
1215
1215
|
}
|
|
1216
|
-
const ohlcvsByTimeframe = this.
|
|
1216
|
+
const ohlcvsByTimeframe = this.safeDict(this.ohlcvs, symbol);
|
|
1217
1217
|
if (ohlcvsByTimeframe === undefined) {
|
|
1218
1218
|
this.ohlcvs[symbol] = {};
|
|
1219
1219
|
}
|
|
@@ -1369,7 +1369,7 @@ class aster extends aster$1["default"] {
|
|
|
1369
1369
|
if ((type in client.subscriptions) && (type in this.balance)) {
|
|
1370
1370
|
return;
|
|
1371
1371
|
}
|
|
1372
|
-
const options = this.
|
|
1372
|
+
const options = this.safeDict(this.options, 'watchBalance');
|
|
1373
1373
|
const fetchBalanceSnapshot = this.safeBool(options, 'fetchBalanceSnapshot', false);
|
|
1374
1374
|
if (fetchBalanceSnapshot === true) {
|
|
1375
1375
|
const messageHash = type + ':fetchBalanceSnapshot';
|
|
@@ -1387,7 +1387,7 @@ class aster extends aster$1["default"] {
|
|
|
1387
1387
|
'type': type,
|
|
1388
1388
|
};
|
|
1389
1389
|
const response = await this.fetchBalance(params);
|
|
1390
|
-
this.balance[type] = this.extend(response, this.
|
|
1390
|
+
this.balance[type] = this.extend(response, this.safeDict(this.balance, type, {}));
|
|
1391
1391
|
// don't remove the future from the .futures cache
|
|
1392
1392
|
if (messageHash in client.futures) {
|
|
1393
1393
|
const future = client.futures[messageHash];
|
|
@@ -1770,12 +1770,12 @@ class aster extends aster$1["default"] {
|
|
|
1770
1770
|
if (orderId !== undefined && tradeFee !== undefined && symbol !== undefined) {
|
|
1771
1771
|
const cachedOrders = this.orders;
|
|
1772
1772
|
if (cachedOrders !== undefined) {
|
|
1773
|
-
const orders = this.
|
|
1774
|
-
const order = this.
|
|
1773
|
+
const orders = this.safeDict(cachedOrders.hashmap, symbol, {});
|
|
1774
|
+
const order = this.safeDict(orders, orderId);
|
|
1775
1775
|
if (order !== undefined) {
|
|
1776
1776
|
// accumulate order fees
|
|
1777
|
-
const fees = this.
|
|
1778
|
-
const fee = this.
|
|
1777
|
+
const fees = this.safeList(order, 'fees', []);
|
|
1778
|
+
const fee = this.safeDict(order, 'fee');
|
|
1779
1779
|
if (!this.isEmpty(fees)) {
|
|
1780
1780
|
let insertNewFeeCurrency = true;
|
|
1781
1781
|
for (let i = 0; i < fees.length; i++) {
|
|
@@ -653,7 +653,7 @@ class backpack extends backpack$1["default"] {
|
|
|
653
653
|
}
|
|
654
654
|
const trades = await this.watchPublic(topics, messageHashes, params);
|
|
655
655
|
if (this.newUpdates) {
|
|
656
|
-
const first = this.
|
|
656
|
+
const first = this.safeDict(trades, 0);
|
|
657
657
|
const tradeSymbol = this.safeString(first, 'symbol');
|
|
658
658
|
limit = trades.getLimit(tradeSymbol, limit);
|
|
659
659
|
}
|
|
@@ -228,7 +228,7 @@ class binance extends binance$1["default"] {
|
|
|
228
228
|
let stream = this.safeString(streamBySubscriptionsHash, subscriptionHash);
|
|
229
229
|
if (stream === undefined) {
|
|
230
230
|
let streamIndex = this.safeInteger(this.options, 'streamIndex', -1);
|
|
231
|
-
const streamLimits = this.
|
|
231
|
+
const streamLimits = this.safeDict(this.options, 'streamLimits');
|
|
232
232
|
const streamLimit = this.safeInteger(streamLimits, type);
|
|
233
233
|
streamIndex = streamIndex + 1;
|
|
234
234
|
const normalizedIndex = streamIndex % streamLimit;
|
|
@@ -237,7 +237,7 @@ class binance extends binance$1["default"] {
|
|
|
237
237
|
if (subscriptionHash !== undefined) {
|
|
238
238
|
this.options['streamBySubscriptionsHash'][subscriptionHash] = stream;
|
|
239
239
|
}
|
|
240
|
-
const subscriptionsByStreams = this.
|
|
240
|
+
const subscriptionsByStreams = this.safeDict(this.options, 'numSubscriptionsByStream');
|
|
241
241
|
if (subscriptionsByStreams === undefined) {
|
|
242
242
|
this.options['numSubscriptionsByStream'] = this.createSafeDictionary();
|
|
243
243
|
}
|
|
@@ -459,7 +459,7 @@ class binance extends binance$1["default"] {
|
|
|
459
459
|
// }
|
|
460
460
|
// }
|
|
461
461
|
//
|
|
462
|
-
const rawLiquidation = this.
|
|
462
|
+
const rawLiquidation = this.safeDict(message, 'o', {});
|
|
463
463
|
const marketId = this.safeString(rawLiquidation, 's');
|
|
464
464
|
const market = this.safeMarket(marketId, undefined, '', 'contract');
|
|
465
465
|
const symbol = market['symbol'];
|
|
@@ -950,9 +950,9 @@ class binance extends binance$1["default"] {
|
|
|
950
950
|
const messageHash = 'orderbook::' + symbol;
|
|
951
951
|
try {
|
|
952
952
|
const defaultLimit = this.safeInteger(this.options, 'watchOrderBookLimit', 1000);
|
|
953
|
-
const type = this.
|
|
953
|
+
const type = this.safeString(subscription, 'type');
|
|
954
954
|
const limit = this.safeInteger(subscription, 'limit', defaultLimit);
|
|
955
|
-
const params = this.
|
|
955
|
+
const params = this.safeDict(subscription, 'params');
|
|
956
956
|
// 3. Get a depth snapshot from https://www.binance.com/api/v1/depth?symbol=BNBBTC&limit=1000 .
|
|
957
957
|
// todo: this is a synch blocking call - make it async
|
|
958
958
|
// default 100, max 1000, valid limits 5, 10, 20, 50, 100, 500, 1000
|
|
@@ -1017,8 +1017,8 @@ class binance extends binance$1["default"] {
|
|
|
1017
1017
|
}
|
|
1018
1018
|
handleOrderBookMessage(client, message, orderbook) {
|
|
1019
1019
|
const u = this.safeInteger(message, 'u');
|
|
1020
|
-
this.handleDeltas(orderbook['asks'], this.
|
|
1021
|
-
this.handleDeltas(orderbook['bids'], this.
|
|
1020
|
+
this.handleDeltas(orderbook['asks'], this.safeList(message, 'a', []));
|
|
1021
|
+
this.handleDeltas(orderbook['bids'], this.safeList(message, 'b', []));
|
|
1022
1022
|
orderbook['nonce'] = u;
|
|
1023
1023
|
const timestamp = this.safeInteger(message, 'E');
|
|
1024
1024
|
orderbook['timestamp'] = timestamp;
|
|
@@ -1149,7 +1149,7 @@ class binance extends binance$1["default"] {
|
|
|
1149
1149
|
const defaultLimit = this.safeInteger(this.options, 'watchOrderBookLimit', 1000);
|
|
1150
1150
|
// const messageHash = this.safeString (subscription, 'messageHash');
|
|
1151
1151
|
const symbolOfSubscription = this.safeString(subscription, 'symbol'); // watchOrderBook
|
|
1152
|
-
const symbols = this.
|
|
1152
|
+
const symbols = this.safeList(subscription, 'symbols', [symbolOfSubscription]); // watchOrderBookForSymbols
|
|
1153
1153
|
const limit = this.safeInteger(subscription, 'limit', defaultLimit);
|
|
1154
1154
|
// handle list of symbols
|
|
1155
1155
|
for (let i = 0; i < symbols.length; i++) {
|
|
@@ -1172,7 +1172,7 @@ class binance extends binance$1["default"] {
|
|
|
1172
1172
|
//
|
|
1173
1173
|
const id = this.safeString(message, 'id');
|
|
1174
1174
|
const subscriptionsById = this.indexBy(client.subscriptions, 'id');
|
|
1175
|
-
const subscription = this.
|
|
1175
|
+
const subscription = this.safeDict(subscriptionsById, id, {});
|
|
1176
1176
|
const method = this.safeValue(subscription, 'method');
|
|
1177
1177
|
if (method !== undefined) {
|
|
1178
1178
|
method.call(this, client, message, subscription);
|
|
@@ -1275,7 +1275,7 @@ class binance extends binance$1["default"] {
|
|
|
1275
1275
|
};
|
|
1276
1276
|
const trades = await this.watchMultiple(url, messageHashes, this.extend(request, query), messageHashes, subscribe);
|
|
1277
1277
|
if (this.newUpdates) {
|
|
1278
|
-
const first = this.
|
|
1278
|
+
const first = this.safeDict(trades, 0);
|
|
1279
1279
|
const tradeSymbol = this.safeString(first, 'symbol');
|
|
1280
1280
|
limit = trades.getLimit(tradeSymbol, limit);
|
|
1281
1281
|
}
|
|
@@ -1863,7 +1863,7 @@ class binance extends binance$1["default"] {
|
|
|
1863
1863
|
'markPrice_kline': 'markPriceKline',
|
|
1864
1864
|
};
|
|
1865
1865
|
event = this.safeString(eventMap, event, event);
|
|
1866
|
-
const kline = this.
|
|
1866
|
+
const kline = this.safeDict(message, 'k');
|
|
1867
1867
|
let marketId = this.safeString2(kline, 's', 'ps');
|
|
1868
1868
|
if (event === 'indexPriceKline') {
|
|
1869
1869
|
// indexPriceKline doesn't have the _PERP suffix
|
|
@@ -1886,8 +1886,8 @@ class binance extends binance$1["default"] {
|
|
|
1886
1886
|
const marketType = isSpot ? 'spot' : 'contract';
|
|
1887
1887
|
const symbol = this.safeSymbol(marketId, undefined, undefined, marketType);
|
|
1888
1888
|
const messageHash = 'ohlcv::' + symbol + '::' + unifiedTimeframe;
|
|
1889
|
-
this.ohlcvs[symbol] = this.
|
|
1890
|
-
let stored = this.safeValue(this.
|
|
1889
|
+
this.ohlcvs[symbol] = this.safeDict(this.ohlcvs, symbol, {});
|
|
1890
|
+
let stored = this.safeValue(this.safeDict(this.ohlcvs, symbol), unifiedTimeframe);
|
|
1891
1891
|
if (stored === undefined) {
|
|
1892
1892
|
const limit = this.safeInteger(this.options, 'OHLCVLimit', 1000);
|
|
1893
1893
|
stored = new Cache.ArrayCacheByTimestamp(limit);
|
|
@@ -2622,7 +2622,7 @@ class binance extends binance$1["default"] {
|
|
|
2622
2622
|
// }
|
|
2623
2623
|
//
|
|
2624
2624
|
const messageHash = this.safeString(message, 'id');
|
|
2625
|
-
const result = this.
|
|
2625
|
+
const result = this.safeDict(message, 'result', {});
|
|
2626
2626
|
const ticker = this.parseWsTicker(result, 'future');
|
|
2627
2627
|
client.resolve(ticker, messageHash);
|
|
2628
2628
|
}
|
|
@@ -2710,12 +2710,12 @@ class binance extends binance$1["default"] {
|
|
|
2710
2710
|
continue;
|
|
2711
2711
|
}
|
|
2712
2712
|
const tickerMarketId = this.safeString(ticker, 's');
|
|
2713
|
-
const tickerMarketsByIdList = this.
|
|
2713
|
+
const tickerMarketsByIdList = this.safeList(this.markets_by_id, tickerMarketId);
|
|
2714
2714
|
const numTickerMarkets = (tickerMarketsByIdList === undefined) ? 0 : tickerMarketsByIdList.length;
|
|
2715
2715
|
// an ambiguous id, spot and swap share e.g. BTCUSDC, must not be resolved by
|
|
2716
2716
|
// blind first pick, the stream url decides; only a unique match, like an
|
|
2717
2717
|
// option id, may override it, see https://github.com/ccxt/ccxt/issues/29728
|
|
2718
|
-
const tickerMarketById = (numTickerMarkets === 1) ? this.
|
|
2718
|
+
const tickerMarketById = (numTickerMarkets === 1) ? this.safeDict(tickerMarketsByIdList, 0) : undefined;
|
|
2719
2719
|
const isSpot = this.isSpotUrl(client);
|
|
2720
2720
|
const tickerFallbackType = isSpot ? 'spot' : 'contract';
|
|
2721
2721
|
const tickerMarketType = (tickerMarketById !== undefined) ? tickerMarketById['type'] : tickerFallbackType;
|
|
@@ -2992,7 +2992,7 @@ class binance extends binance$1["default"] {
|
|
|
2992
2992
|
}
|
|
2993
2993
|
params = this.omit(params, 'symbol');
|
|
2994
2994
|
const isStock = (type === 'stock');
|
|
2995
|
-
const options = this.
|
|
2995
|
+
const options = this.safeDict(this.options, type, {});
|
|
2996
2996
|
const lastAuthenticatedTime = this.safeInteger(options, 'lastAuthenticatedTime', 0);
|
|
2997
2997
|
const refreshRateKey = isStock ? 'stockListenKeyRefreshRate' : 'listenKeyRefreshRate';
|
|
2998
2998
|
const listenKeyRefreshRate = this.safeInteger(this.options, refreshRateKey, 1200000);
|
|
@@ -3101,7 +3101,7 @@ class binance extends binance$1["default"] {
|
|
|
3101
3101
|
return;
|
|
3102
3102
|
}
|
|
3103
3103
|
const isStock = (type === 'stock');
|
|
3104
|
-
const options = this.
|
|
3104
|
+
const options = this.safeDict(this.options, type, {});
|
|
3105
3105
|
const listenKey = this.safeString(options, 'listenKey');
|
|
3106
3106
|
if (listenKey === undefined) {
|
|
3107
3107
|
// A network error happened: we can't renew a listen key that does not exist.
|
|
@@ -3198,7 +3198,7 @@ class binance extends binance$1["default"] {
|
|
|
3198
3198
|
if ((type in client.subscriptions) && (type in this.balance)) {
|
|
3199
3199
|
return;
|
|
3200
3200
|
}
|
|
3201
|
-
const options = this.
|
|
3201
|
+
const options = this.safeDict(this.options, 'watchBalance');
|
|
3202
3202
|
const fetchBalanceSnapshot = this.safeBool(options, 'fetchBalanceSnapshot', false);
|
|
3203
3203
|
if (fetchBalanceSnapshot === true) {
|
|
3204
3204
|
const messageHash = type + ':fetchBalanceSnapshot';
|
|
@@ -3219,7 +3219,7 @@ class binance extends binance$1["default"] {
|
|
|
3219
3219
|
params['portfolioMargin'] = true;
|
|
3220
3220
|
}
|
|
3221
3221
|
const response = await this.fetchBalance(params);
|
|
3222
|
-
this.balance[type] = this.extend(response, this.
|
|
3222
|
+
this.balance[type] = this.extend(response, this.safeDict(this.balance, type, {}));
|
|
3223
3223
|
// don't remove the future from the .futures cache
|
|
3224
3224
|
if (messageHash in client.futures) {
|
|
3225
3225
|
const future = client.futures[messageHash];
|
|
@@ -5423,12 +5423,12 @@ class binance extends binance$1["default"] {
|
|
|
5423
5423
|
if (orderId !== undefined && tradeFee !== undefined && symbol !== undefined) {
|
|
5424
5424
|
const cachedOrders = this.orders;
|
|
5425
5425
|
if (cachedOrders !== undefined) {
|
|
5426
|
-
const orders = this.
|
|
5427
|
-
const order = this.
|
|
5426
|
+
const orders = this.safeDict(cachedOrders.hashmap, symbol, {});
|
|
5427
|
+
const order = this.safeDict(orders, orderId);
|
|
5428
5428
|
if (order !== undefined) {
|
|
5429
5429
|
// accumulate order fees
|
|
5430
5430
|
const fees = this.safeValue(order, 'fees');
|
|
5431
|
-
const fee = this.
|
|
5431
|
+
const fee = this.safeDict(order, 'fee');
|
|
5432
5432
|
if (!this.isEmpty(fees)) {
|
|
5433
5433
|
let insertNewFeeCurrency = true;
|
|
5434
5434
|
for (let i = 0; i < fees.length; i++) {
|
|
@@ -5505,8 +5505,8 @@ class binance extends binance$1["default"] {
|
|
|
5505
5505
|
this.orders = new Cache.ArrayCacheBySymbolById(limit);
|
|
5506
5506
|
}
|
|
5507
5507
|
const cachedOrders = this.orders;
|
|
5508
|
-
const orders = this.
|
|
5509
|
-
const order = this.
|
|
5508
|
+
const orders = this.safeDict(cachedOrders.hashmap, symbol, {});
|
|
5509
|
+
const order = this.safeDict(orders, orderId);
|
|
5510
5510
|
if (order !== undefined) {
|
|
5511
5511
|
const fee = this.safeValue(order, 'fee');
|
|
5512
5512
|
if (fee !== undefined) {
|
|
@@ -5696,7 +5696,7 @@ class binance extends binance$1["default"] {
|
|
|
5696
5696
|
}
|
|
5697
5697
|
// user subscription wraps message in subscriptionId and event
|
|
5698
5698
|
const id = this.safeString(message, 'id');
|
|
5699
|
-
const subscriptions = this.
|
|
5699
|
+
const subscriptions = this.safeDict(client.subscriptions, id);
|
|
5700
5700
|
let method = this.safeValue(subscriptions, 'method');
|
|
5701
5701
|
if (method !== undefined) {
|
|
5702
5702
|
method.call(this, client, message);
|
|
@@ -257,7 +257,7 @@ class bingx extends bingx$1["default"] {
|
|
|
257
257
|
// }
|
|
258
258
|
// }
|
|
259
259
|
//
|
|
260
|
-
const data = this.
|
|
260
|
+
const data = this.safeDict(message, 'data', {});
|
|
261
261
|
const marketId = this.safeString(data, 's');
|
|
262
262
|
// const marketId = messageHash.split('@')[0];
|
|
263
263
|
const isSwap = client.url.indexOf('swap') >= 0;
|
|
@@ -859,7 +859,7 @@ class bingx extends bingx$1["default"] {
|
|
|
859
859
|
candles = [this.safeDict(data, 'K', {})];
|
|
860
860
|
}
|
|
861
861
|
const symbol = market['symbol'];
|
|
862
|
-
this.ohlcvs[symbol] = this.
|
|
862
|
+
this.ohlcvs[symbol] = this.safeDict(this.ohlcvs, symbol, {});
|
|
863
863
|
const rawTimeframe = dataType.split('_')[1];
|
|
864
864
|
const marketOptions = this.safeDict(this.options, marketType);
|
|
865
865
|
const timeframes = this.safeDict(marketOptions, 'timeframes', {});
|
|
@@ -921,8 +921,8 @@ class bingx extends bingx$1["default"] {
|
|
|
921
921
|
if (url === undefined) {
|
|
922
922
|
throw new errors.BadRequest(this.id + ' watchOHLCV is not supported for ' + marketType + ' markets.');
|
|
923
923
|
}
|
|
924
|
-
const options = this.
|
|
925
|
-
const timeframes = this.
|
|
924
|
+
const options = this.safeDict(this.options, marketType, {});
|
|
925
|
+
const timeframes = this.safeDict(options, 'timeframes', {});
|
|
926
926
|
const rawTimeframe = this.safeString(timeframes, timeframe, timeframe);
|
|
927
927
|
const messageHash = this.getMessageHash('ohlcv', market['symbol'], timeframe);
|
|
928
928
|
const subscriptionHash = market['id'] + '@kline_' + rawTimeframe;
|
|
@@ -964,8 +964,8 @@ class bingx extends bingx$1["default"] {
|
|
|
964
964
|
await this.loadMarkets();
|
|
965
965
|
}
|
|
966
966
|
const market = this.market(symbol);
|
|
967
|
-
const options = this.
|
|
968
|
-
const timeframes = this.
|
|
967
|
+
const options = this.safeDict(this.options, market['type'], {});
|
|
968
|
+
const timeframes = this.safeDict(options, 'timeframes', {});
|
|
969
969
|
const rawTimeframe = this.safeString(timeframes, timeframe, timeframe);
|
|
970
970
|
const subMessageHash = market['id'] + '@kline_' + rawTimeframe;
|
|
971
971
|
const messageHash = 'unsubscribe::' + subMessageHash;
|
|
@@ -1184,7 +1184,7 @@ class bingx extends bingx$1["default"] {
|
|
|
1184
1184
|
}
|
|
1185
1185
|
async loadBalanceSnapshot(client, messageHash, type, subType) {
|
|
1186
1186
|
const response = await this.fetchBalance({ 'type': type, 'subType': subType });
|
|
1187
|
-
this.balance[type] = this.extend(response, this.
|
|
1187
|
+
this.balance[type] = this.extend(response, this.safeDict(this.balance, type, {}));
|
|
1188
1188
|
// don't remove the future from the .futures cache
|
|
1189
1189
|
if (messageHash in client.futures) {
|
|
1190
1190
|
const future = client.futures[messageHash];
|
|
@@ -1614,7 +1614,7 @@ class bingx extends bingx$1["default"] {
|
|
|
1614
1614
|
// }
|
|
1615
1615
|
//
|
|
1616
1616
|
const isSpot = ('dataType' in message);
|
|
1617
|
-
const data = this.
|
|
1617
|
+
const data = this.safeDict2(message, 'data', 'o', {});
|
|
1618
1618
|
if (this.orders === undefined) {
|
|
1619
1619
|
const limit = this.safeInteger(this.options, 'ordersLimit', 1000);
|
|
1620
1620
|
this.orders = new Cache.ArrayCacheBySymbolById(limit);
|
|
@@ -1819,7 +1819,7 @@ class bingx extends bingx$1["default"] {
|
|
|
1819
1819
|
return;
|
|
1820
1820
|
}
|
|
1821
1821
|
if (dataType.indexOf('executionReport') >= 0) {
|
|
1822
|
-
const data = this.
|
|
1822
|
+
const data = this.safeDict(message, 'data', {});
|
|
1823
1823
|
const type = this.safeString(data, 'x');
|
|
1824
1824
|
if (type === 'TRADE') {
|
|
1825
1825
|
this.handleMyTrades(client, message);
|
|
@@ -1834,14 +1834,14 @@ class bingx extends bingx$1["default"] {
|
|
|
1834
1834
|
}
|
|
1835
1835
|
if (e === 'ORDER_TRADE_UPDATE') {
|
|
1836
1836
|
this.handleOrder(client, message);
|
|
1837
|
-
const data = this.
|
|
1837
|
+
const data = this.safeDict(message, 'o', {});
|
|
1838
1838
|
const type = this.safeString(data, 'x');
|
|
1839
1839
|
const status = this.safeString(data, 'X');
|
|
1840
1840
|
if ((type === 'TRADE') && (status === 'FILLED')) {
|
|
1841
1841
|
this.handleMyTrades(client, message);
|
|
1842
1842
|
}
|
|
1843
1843
|
}
|
|
1844
|
-
const msgData = this.
|
|
1844
|
+
const msgData = this.safeDict(message, 'data');
|
|
1845
1845
|
const msgEvent = this.safeString(msgData, 'e');
|
|
1846
1846
|
if (msgEvent === '24hTicker') {
|
|
1847
1847
|
this.handleTicker(client, message);
|
|
@@ -228,9 +228,9 @@ class bitfinex extends bitfinex$1["default"] {
|
|
|
228
228
|
// ]
|
|
229
229
|
// ]
|
|
230
230
|
//
|
|
231
|
-
const data = this.
|
|
231
|
+
const data = this.safeList(message, 1, []);
|
|
232
232
|
let ohlcvs = [];
|
|
233
|
-
const first = this.
|
|
233
|
+
const first = this.safeList(data, 0);
|
|
234
234
|
if (Array.isArray(first)) {
|
|
235
235
|
// snapshot
|
|
236
236
|
ohlcvs = data;
|
|
@@ -239,7 +239,7 @@ class bitfinex extends bitfinex$1["default"] {
|
|
|
239
239
|
// update
|
|
240
240
|
ohlcvs = [data];
|
|
241
241
|
}
|
|
242
|
-
const channel = this.
|
|
242
|
+
const channel = this.safeString(subscription, 'channel');
|
|
243
243
|
const key = this.safeString(subscription, 'key', '');
|
|
244
244
|
const keyParts = key.split(':');
|
|
245
245
|
const interval = this.safeString(keyParts, 1);
|
|
@@ -250,7 +250,7 @@ class bitfinex extends bitfinex$1["default"] {
|
|
|
250
250
|
const timeframe = this.findTimeframe(interval);
|
|
251
251
|
const symbol = market['symbol'];
|
|
252
252
|
const messageHash = channel + ':' + interval + ':' + marketId;
|
|
253
|
-
this.ohlcvs[symbol] = this.
|
|
253
|
+
this.ohlcvs[symbol] = this.safeDict(this.ohlcvs, symbol, {});
|
|
254
254
|
let stored = this.safeValue(this.ohlcvs[symbol], timeframe);
|
|
255
255
|
if (stored === undefined) {
|
|
256
256
|
const limit = this.safeInteger(this.options, 'OHLCVLimit', 1000);
|
|
@@ -411,7 +411,7 @@ class bitfinex extends bitfinex$1["default"] {
|
|
|
411
411
|
// ]
|
|
412
412
|
//
|
|
413
413
|
//
|
|
414
|
-
const channel = this.
|
|
414
|
+
const channel = this.safeString(subscription, 'channel');
|
|
415
415
|
const marketId = this.safeString(subscription, 'symbol');
|
|
416
416
|
const market = this.safeMarket(marketId);
|
|
417
417
|
const messageHash = channel + ':' + marketId;
|
|
@@ -442,7 +442,7 @@ class bitfinex extends bitfinex$1["default"] {
|
|
|
442
442
|
// since te and tu updates are duplicated on the public stream
|
|
443
443
|
return;
|
|
444
444
|
}
|
|
445
|
-
const trade = this.
|
|
445
|
+
const trade = this.safeList(message, 2, []);
|
|
446
446
|
const parsed = this.parseWsTrade(trade, market);
|
|
447
447
|
stored.append(parsed);
|
|
448
448
|
}
|
|
@@ -635,7 +635,7 @@ class bitfinex extends bitfinex$1["default"] {
|
|
|
635
635
|
throw new errors.ExchangeError(this.id + ' watchOrderBook limit argument must be undefined, 25 or 100');
|
|
636
636
|
}
|
|
637
637
|
}
|
|
638
|
-
const options = this.
|
|
638
|
+
const options = this.safeDict(this.options, 'watchOrderBook', {});
|
|
639
639
|
const prec = this.safeString(options, 'prec', 'P0');
|
|
640
640
|
const freq = this.safeString(options, 'freq', 'F0');
|
|
641
641
|
const request = {
|
|
@@ -760,7 +760,7 @@ class bitfinex extends bitfinex$1["default"] {
|
|
|
760
760
|
const symbol = this.safeSymbol(marketId);
|
|
761
761
|
const channel = 'book';
|
|
762
762
|
const messageHash = channel + ':' + marketId;
|
|
763
|
-
const book = this.
|
|
763
|
+
const book = this.safeDict(this.orderbooks, symbol);
|
|
764
764
|
if (book === undefined) {
|
|
765
765
|
return;
|
|
766
766
|
}
|
|
@@ -773,8 +773,8 @@ class bitfinex extends bitfinex$1["default"] {
|
|
|
773
773
|
const idToCheck = isRaw ? 2 : 0;
|
|
774
774
|
// pepperoni pizza from bitfinex
|
|
775
775
|
for (let i = 0; i < depth; i++) {
|
|
776
|
-
const bid = this.
|
|
777
|
-
const ask = this.
|
|
776
|
+
const bid = this.safeList(bids, i);
|
|
777
|
+
const ask = this.safeList(asks, i);
|
|
778
778
|
if (bid !== undefined) {
|
|
779
779
|
stringArray.push(this.numberToString(bids[i][idToCheck]));
|
|
780
780
|
stringArray.push(this.numberToString(bids[i][1]));
|
|
@@ -1279,7 +1279,7 @@ class bitfinex extends bitfinex$1["default"] {
|
|
|
1279
1279
|
if (message[1] === 'hb') {
|
|
1280
1280
|
return; // skip heartbeats within subscription channels for now
|
|
1281
1281
|
}
|
|
1282
|
-
const subscription = this.
|
|
1282
|
+
const subscription = this.safeDict(client.subscriptions, channelId, {});
|
|
1283
1283
|
const channel = this.safeString(subscription, 'channel');
|
|
1284
1284
|
const name = this.safeString(message, 1);
|
|
1285
1285
|
const publicMethods = {
|
|
@@ -374,9 +374,9 @@ class bitget extends bitget$1["default"] {
|
|
|
374
374
|
// "ts": 1753230479687
|
|
375
375
|
// }
|
|
376
376
|
//
|
|
377
|
-
const arg = this.
|
|
378
|
-
const data = this.
|
|
379
|
-
const ticker = this.
|
|
377
|
+
const arg = this.safeDict(message, 'arg', {});
|
|
378
|
+
const data = this.safeList(message, 'data', []);
|
|
379
|
+
const ticker = this.safeDict(data, 0, {});
|
|
380
380
|
const utaTimestamp = this.safeInteger(message, 'ts');
|
|
381
381
|
const timestamp = this.safeInteger(ticker, 'ts', utaTimestamp);
|
|
382
382
|
const instType = this.safeStringLower(arg, 'instType');
|
|
@@ -468,9 +468,9 @@ class bitget extends bitget$1["default"] {
|
|
|
468
468
|
client.resolve(ticker, messageHash);
|
|
469
469
|
}
|
|
470
470
|
parseWsBidAsk(message, market = undefined) {
|
|
471
|
-
const arg = this.
|
|
472
|
-
const data = this.
|
|
473
|
-
const ticker = this.
|
|
471
|
+
const arg = this.safeDict(message, 'arg', {});
|
|
472
|
+
const data = this.safeList(message, 'data', []);
|
|
473
|
+
const ticker = this.safeDict(data, 0, {});
|
|
474
474
|
const utaTimestamp = this.safeInteger(message, 'ts');
|
|
475
475
|
const timestamp = this.safeInteger(ticker, 'ts', utaTimestamp);
|
|
476
476
|
const instType = this.safeStringLower(arg, 'instType');
|
|
@@ -510,7 +510,7 @@ class bitget extends bitget$1["default"] {
|
|
|
510
510
|
}
|
|
511
511
|
const market = this.market(symbol);
|
|
512
512
|
symbol = market['symbol'];
|
|
513
|
-
const timeframes = this.
|
|
513
|
+
const timeframes = this.safeDict(this.options, 'timeframes');
|
|
514
514
|
const interval = this.safeString(timeframes, timeframe);
|
|
515
515
|
let messageHash = undefined;
|
|
516
516
|
let instType = undefined;
|
|
@@ -636,13 +636,13 @@ class bitget extends bitget$1["default"] {
|
|
|
636
636
|
// "ts": 1755594421877
|
|
637
637
|
// }
|
|
638
638
|
//
|
|
639
|
-
const arg = this.
|
|
639
|
+
const arg = this.safeDict(message, 'arg', {});
|
|
640
640
|
const instType = this.safeStringLower(arg, 'instType');
|
|
641
641
|
const marketType = (instType === 'spot') ? 'spot' : 'contract';
|
|
642
642
|
const marketId = this.safeString2(arg, 'instId', 'symbol');
|
|
643
643
|
const market = this.safeMarket(marketId, undefined, undefined, marketType);
|
|
644
644
|
const symbol = market['symbol'];
|
|
645
|
-
this.ohlcvs[symbol] = this.
|
|
645
|
+
this.ohlcvs[symbol] = this.safeDict(this.ohlcvs, symbol, {});
|
|
646
646
|
const channel = this.safeString2(arg, 'channel', 'topic', '');
|
|
647
647
|
let interval = this.safeString(arg, 'interval');
|
|
648
648
|
let isUta = undefined;
|
|
@@ -653,7 +653,7 @@ class bitget extends bitget$1["default"] {
|
|
|
653
653
|
else {
|
|
654
654
|
isUta = true;
|
|
655
655
|
}
|
|
656
|
-
const timeframes = this.
|
|
656
|
+
const timeframes = this.safeDict(this.options, 'timeframes');
|
|
657
657
|
const timeframe = this.findTimeframe(interval, timeframes);
|
|
658
658
|
if (timeframe === undefined) {
|
|
659
659
|
return;
|
|
@@ -884,7 +884,7 @@ class bitget extends bitget$1["default"] {
|
|
|
884
884
|
// "ts": 1755937421337
|
|
885
885
|
// }
|
|
886
886
|
//
|
|
887
|
-
const arg = this.
|
|
887
|
+
const arg = this.safeDict(message, 'arg');
|
|
888
888
|
const channel = this.safeString2(arg, 'channel', 'topic', '');
|
|
889
889
|
const instType = this.safeStringLower(arg, 'instType');
|
|
890
890
|
const marketType = (instType === 'spot') ? 'spot' : 'contract';
|
|
@@ -892,8 +892,8 @@ class bitget extends bitget$1["default"] {
|
|
|
892
892
|
const market = this.safeMarket(marketId, undefined, undefined, marketType);
|
|
893
893
|
const symbol = market['symbol'];
|
|
894
894
|
const messageHash = 'orderbook:' + symbol;
|
|
895
|
-
const data = this.
|
|
896
|
-
const rawOrderBook = this.
|
|
895
|
+
const data = this.safeList(message, 'data');
|
|
896
|
+
const rawOrderBook = this.safeDict(data, 0, {});
|
|
897
897
|
const timestamp = this.safeInteger(rawOrderBook, 'ts');
|
|
898
898
|
const incrementalBook = channel === 'books';
|
|
899
899
|
if (incrementalBook) {
|
|
@@ -1042,7 +1042,7 @@ class bitget extends bitget$1["default"] {
|
|
|
1042
1042
|
}
|
|
1043
1043
|
const trades = await this.watchPublicMultiple(uta, messageHashes, topics, params);
|
|
1044
1044
|
if (this.newUpdates) {
|
|
1045
|
-
const first = this.
|
|
1045
|
+
const first = this.safeDict(trades, 0);
|
|
1046
1046
|
const tradeSymbol = this.safeString(first, 'symbol');
|
|
1047
1047
|
limit = trades.getLimit(tradeSymbol, limit);
|
|
1048
1048
|
}
|
|
@@ -1107,7 +1107,7 @@ class bitget extends bitget$1["default"] {
|
|
|
1107
1107
|
// "ts": 1701910980730
|
|
1108
1108
|
// }
|
|
1109
1109
|
//
|
|
1110
|
-
const arg = this.
|
|
1110
|
+
const arg = this.safeDict(message, 'arg', {});
|
|
1111
1111
|
const instType = this.safeStringLower(arg, 'instType');
|
|
1112
1112
|
const marketType = (instType === 'spot') ? 'spot' : 'contract';
|
|
1113
1113
|
const marketId = this.safeString2(arg, 'instId', 'symbol');
|
|
@@ -1959,8 +1959,8 @@ class bitget extends bitget$1["default"] {
|
|
|
1959
1959
|
const timestamp = this.safeInteger2(order, 'cTime', 'createdTime');
|
|
1960
1960
|
const symbol = market['symbol'];
|
|
1961
1961
|
const rawStatus = this.safeString2(order, 'status', 'orderStatus');
|
|
1962
|
-
const orderFee = this.
|
|
1963
|
-
const fee = this.
|
|
1962
|
+
const orderFee = this.safeList(order, 'feeDetail', []);
|
|
1963
|
+
const fee = this.safeDict(orderFee, 0);
|
|
1964
1964
|
const feeAmount = this.safeString(fee, 'fee');
|
|
1965
1965
|
let feeObject = undefined;
|
|
1966
1966
|
if (feeAmount !== undefined) {
|
|
@@ -2742,8 +2742,8 @@ class bitget extends bitget$1["default"] {
|
|
|
2742
2742
|
'account-crossed': this.handleBalance,
|
|
2743
2743
|
'kline': this.handleOHLCV,
|
|
2744
2744
|
};
|
|
2745
|
-
const arg = this.
|
|
2746
|
-
const topic = this.
|
|
2745
|
+
const arg = this.safeDict(message, 'arg', {});
|
|
2746
|
+
const topic = this.safeString2(arg, 'channel', 'topic', '');
|
|
2747
2747
|
const method = this.safeValue(methods, topic);
|
|
2748
2748
|
if (method !== undefined) {
|
|
2749
2749
|
method.call(this, client, message);
|
|
@@ -2878,7 +2878,7 @@ class bitget extends bitget$1["default"] {
|
|
|
2878
2878
|
else {
|
|
2879
2879
|
isUta = true;
|
|
2880
2880
|
}
|
|
2881
|
-
const timeframes = this.
|
|
2881
|
+
const timeframes = this.safeDict(this.options, 'timeframes');
|
|
2882
2882
|
const timeframe = this.findTimeframe(interval, timeframes);
|
|
2883
2883
|
const market = this.safeMarket(instId, undefined, undefined, type);
|
|
2884
2884
|
const symbol = market['symbol'];
|
|
@@ -480,7 +480,7 @@ class bithumb extends bithumb$1["default"] {
|
|
|
480
480
|
return;
|
|
481
481
|
}
|
|
482
482
|
const streamType = this.safeString(message, 'stream_type');
|
|
483
|
-
const options = this.
|
|
483
|
+
const options = this.safeDict(this.options, 'watchOrderBook', {});
|
|
484
484
|
const obLimit = this.safeInteger(options, 'limit', 1000);
|
|
485
485
|
if (!(symbol in this.orderbooks) || (streamType === 'SNAPSHOT')) {
|
|
486
486
|
this.orderbooks[symbol] = this.orderBook({}, obLimit);
|