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
|
@@ -146,8 +146,8 @@ class deribit extends deribit$1["default"] {
|
|
|
146
146
|
// }
|
|
147
147
|
// }
|
|
148
148
|
//
|
|
149
|
-
const params = this.
|
|
150
|
-
const data = this.
|
|
149
|
+
const params = this.safeDict(message, 'params', {});
|
|
150
|
+
const data = this.safeDict(params, 'data', {});
|
|
151
151
|
this.balance['info'] = data;
|
|
152
152
|
const currencyId = this.safeString(data, 'currency');
|
|
153
153
|
const currencyCode = this.safeCurrencyCode(currencyId);
|
|
@@ -270,8 +270,8 @@ class deribit extends deribit$1["default"] {
|
|
|
270
270
|
// }
|
|
271
271
|
// }
|
|
272
272
|
//
|
|
273
|
-
const params = this.
|
|
274
|
-
const data = this.
|
|
273
|
+
const params = this.safeDict(message, 'params', {});
|
|
274
|
+
const data = this.safeDict(params, 'data', {});
|
|
275
275
|
const marketId = this.safeString(data, 'instrument_name');
|
|
276
276
|
const symbol = this.safeSymbol(marketId);
|
|
277
277
|
const ticker = this.parseTicker(data);
|
|
@@ -429,7 +429,7 @@ class deribit extends deribit$1["default"] {
|
|
|
429
429
|
const symbol = this.safeSymbol(marketId);
|
|
430
430
|
const market = this.safeMarket(marketId);
|
|
431
431
|
const trades = this.safeList(params, 'data', []);
|
|
432
|
-
if (this.
|
|
432
|
+
if (this.safeDict(this.trades, symbol) === undefined) {
|
|
433
433
|
const limit = this.safeInteger(this.options, 'tradesLimit', 1000);
|
|
434
434
|
this.trades[symbol] = new Cache.ArrayCache(limit);
|
|
435
435
|
}
|
|
@@ -510,9 +510,9 @@ class deribit extends deribit$1["default"] {
|
|
|
510
510
|
// }
|
|
511
511
|
// }
|
|
512
512
|
//
|
|
513
|
-
const params = this.
|
|
513
|
+
const params = this.safeDict(message, 'params', {});
|
|
514
514
|
const channel = this.safeString(params, 'channel', '');
|
|
515
|
-
const trades = this.
|
|
515
|
+
const trades = this.safeList(params, 'data', []);
|
|
516
516
|
let cachedTrades = this.myTrades;
|
|
517
517
|
if (cachedTrades === undefined) {
|
|
518
518
|
const limit = this.safeInteger(this.options, 'tradesLimit', 1000);
|
|
@@ -619,8 +619,8 @@ class deribit extends deribit$1["default"] {
|
|
|
619
619
|
// }
|
|
620
620
|
// }
|
|
621
621
|
//
|
|
622
|
-
const params = this.
|
|
623
|
-
const data = this.
|
|
622
|
+
const params = this.safeDict(message, 'params', {});
|
|
623
|
+
const data = this.safeDict(params, 'data', {});
|
|
624
624
|
const channel = this.safeString(params, 'channel');
|
|
625
625
|
const parts = channel.split('.');
|
|
626
626
|
let descriptor = '';
|
|
@@ -764,7 +764,7 @@ class deribit extends deribit$1["default"] {
|
|
|
764
764
|
const limit = this.safeInteger(this.options, 'ordersLimit', 1000);
|
|
765
765
|
this.orders = new Cache.ArrayCacheBySymbolById(limit);
|
|
766
766
|
}
|
|
767
|
-
const params = this.
|
|
767
|
+
const params = this.safeDict(message, 'params', {});
|
|
768
768
|
const channel = this.safeString(params, 'channel', '');
|
|
769
769
|
const data = this.safeValue(params, 'data', {});
|
|
770
770
|
let orders = [];
|
|
@@ -854,7 +854,7 @@ class deribit extends deribit$1["default"] {
|
|
|
854
854
|
const timeframes = this.safeDict(wsOptions, 'timeframes', {});
|
|
855
855
|
const unifiedTimeframe = this.findTimeframe(rawTimeframe, timeframes);
|
|
856
856
|
this.ohlcvs[symbol] = this.safeDict(this.ohlcvs, symbol, {});
|
|
857
|
-
if (this.
|
|
857
|
+
if (this.safeDict(this.ohlcvs[symbol], unifiedTimeframe) === undefined) {
|
|
858
858
|
const limit = this.safeInteger(this.options, 'OHLCVLimit', 1000);
|
|
859
859
|
this.ohlcvs[symbol][unifiedTimeframe] = new Cache.ArrayCacheByTimestamp(limit);
|
|
860
860
|
}
|
|
@@ -1001,7 +1001,7 @@ class deribit extends deribit$1["default"] {
|
|
|
1001
1001
|
if (error !== undefined) {
|
|
1002
1002
|
throw new errors.ExchangeError(this.id + ' ' + this.json(error));
|
|
1003
1003
|
}
|
|
1004
|
-
const params = this.
|
|
1004
|
+
const params = this.safeDict(message, 'params');
|
|
1005
1005
|
const channel = this.safeString(params, 'channel');
|
|
1006
1006
|
if (channel !== undefined) {
|
|
1007
1007
|
const parts = channel.split('.');
|
|
@@ -1026,7 +1026,7 @@ class deribit extends deribit$1["default"] {
|
|
|
1026
1026
|
}
|
|
1027
1027
|
throw new errors.NotSupported(this.id + ' no handler found for this message ' + this.json(message));
|
|
1028
1028
|
}
|
|
1029
|
-
const result = this.
|
|
1029
|
+
const result = this.safeDict(message, 'result', {});
|
|
1030
1030
|
const accessToken = this.safeString(result, 'access_token');
|
|
1031
1031
|
if (accessToken !== undefined) {
|
|
1032
1032
|
this.handleAuthenticationMessage(client, message);
|
|
@@ -49,7 +49,7 @@ class derive extends derive$1["default"] {
|
|
|
49
49
|
});
|
|
50
50
|
}
|
|
51
51
|
requestId(url) {
|
|
52
|
-
const options = this.
|
|
52
|
+
const options = this.safeDict(this.options, 'requestId', {});
|
|
53
53
|
const previousValue = this.safeInteger(options, url, 0);
|
|
54
54
|
const newValue = this.sum(previousValue, 1);
|
|
55
55
|
this.options['requestId'][url] = newValue;
|
|
@@ -603,8 +603,8 @@ class derive extends derive$1["default"] {
|
|
|
603
603
|
this.orders = new Cache.ArrayCacheBySymbolById(limit);
|
|
604
604
|
}
|
|
605
605
|
const cachedOrders = this.orders;
|
|
606
|
-
const orders = this.
|
|
607
|
-
const order = (orderId === undefined) ? undefined : this.
|
|
606
|
+
const orders = this.safeDict(cachedOrders.hashmap, symbol, {});
|
|
607
|
+
const order = (orderId === undefined) ? undefined : this.safeDict(orders, orderId);
|
|
608
608
|
if (order !== undefined) {
|
|
609
609
|
const fee = this.safeValue(order, 'fee');
|
|
610
610
|
if (fee !== undefined) {
|
|
@@ -760,7 +760,7 @@ class derive extends derive$1["default"] {
|
|
|
760
760
|
if ('id' in message) {
|
|
761
761
|
const id = this.safeString(message, 'id');
|
|
762
762
|
const subscriptionsById = this.indexBy(client.subscriptions, 'id');
|
|
763
|
-
const subscription = (id === undefined) ? {} : this.
|
|
763
|
+
const subscription = (id === undefined) ? {} : this.safeDict(subscriptionsById, id, {});
|
|
764
764
|
if ('method' in subscription) {
|
|
765
765
|
if (subscription['method'] === 'public/login') {
|
|
766
766
|
this.handleAuth(client, message);
|
package/dist/cjs/src/pro/dydx.js
CHANGED
|
@@ -378,7 +378,7 @@ class dydx extends dydx$1["default"] {
|
|
|
378
378
|
const messageHash = 'ohlcv:' + symbol;
|
|
379
379
|
const ohlcv = this.safeDict(candles, 0, content);
|
|
380
380
|
const parsed = this.parseOHLCV(ohlcv, market);
|
|
381
|
-
this.ohlcvs[symbol] = this.
|
|
381
|
+
this.ohlcvs[symbol] = this.safeDict(this.ohlcvs, symbol, {});
|
|
382
382
|
let stored = this.safeValue(this.ohlcvs[symbol], timeframe);
|
|
383
383
|
if (stored === undefined) {
|
|
384
384
|
const limit = this.safeInteger(this.options, 'OHLCVLimit', 1000);
|
|
@@ -232,10 +232,16 @@ class extended extends extended$1["default"] {
|
|
|
232
232
|
// "seq": 1
|
|
233
233
|
// }
|
|
234
234
|
//
|
|
235
|
+
// merge updates into the existing balance object instead of building a
|
|
236
|
+
// fresh one: a consumer awakened by an earlier message holds a reference
|
|
237
|
+
// to this.balance, and Client.resolve is a no-op while nobody is
|
|
238
|
+
// awaiting, so a replaced object would make updates landing in that
|
|
239
|
+
// window invisible to the consumer forever (issue #26773)
|
|
240
|
+
if (this.balance === undefined) {
|
|
241
|
+
this.balance = {};
|
|
242
|
+
}
|
|
235
243
|
const data = this.safeDict(message, 'data', {});
|
|
236
|
-
|
|
237
|
-
'info': data,
|
|
238
|
-
};
|
|
244
|
+
this.balance['info'] = data;
|
|
239
245
|
const balance = this.safeDict(data, 'balance');
|
|
240
246
|
if (balance !== undefined) {
|
|
241
247
|
const currencyId = this.safeString(balance, 'collateralName');
|
|
@@ -244,7 +250,7 @@ class extended extends extended$1["default"] {
|
|
|
244
250
|
const account = this.account();
|
|
245
251
|
account['free'] = this.safeString(balance, 'availableForWithdrawal');
|
|
246
252
|
account['total'] = this.safeString(balance, 'balance');
|
|
247
|
-
|
|
253
|
+
this.balance[code] = account;
|
|
248
254
|
}
|
|
249
255
|
}
|
|
250
256
|
const spotBalances = this.safeList(data, 'spotBalances', []);
|
|
@@ -256,13 +262,13 @@ class extended extends extended$1["default"] {
|
|
|
256
262
|
const account = this.account();
|
|
257
263
|
account['free'] = this.safeString(spotBalance, 'availableToWithdraw');
|
|
258
264
|
account['total'] = this.safeString(spotBalance, 'balance');
|
|
259
|
-
|
|
265
|
+
this.balance[code] = account;
|
|
260
266
|
}
|
|
261
267
|
}
|
|
262
268
|
const timestamp = this.safeInteger(message, 'ts');
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
this.balance = this.safeBalance(this.
|
|
269
|
+
this.balance['timestamp'] = timestamp;
|
|
270
|
+
this.balance['datetime'] = this.iso8601(timestamp);
|
|
271
|
+
this.balance = this.safeBalance(this.balance);
|
|
266
272
|
client.resolve(this.balance, 'balance');
|
|
267
273
|
}
|
|
268
274
|
/**
|
|
@@ -790,7 +796,7 @@ class extended extends extended$1["default"] {
|
|
|
790
796
|
const candleType = this.safeString(subscription, 'candleType');
|
|
791
797
|
const cacheKey = (candleType === 'trades') ? timeframe : timeframe + ':' + candleType;
|
|
792
798
|
const messageHash = this.safeString(subscription, 'messageHash');
|
|
793
|
-
this.ohlcvs[symbol] = this.
|
|
799
|
+
this.ohlcvs[symbol] = this.safeDict(this.ohlcvs, symbol, {});
|
|
794
800
|
let stored = this.safeValue(this.ohlcvs[symbol], cacheKey);
|
|
795
801
|
if (stored === undefined) {
|
|
796
802
|
const defaultLimit = this.safeInteger(this.options, 'OHLCVLimit', 1000);
|
|
@@ -827,7 +833,7 @@ class extended extends extended$1["default"] {
|
|
|
827
833
|
//
|
|
828
834
|
// { "status": "ERROR", "error": { "code": 1001, "message": "Market not found." } }
|
|
829
835
|
//
|
|
830
|
-
const error = this.
|
|
836
|
+
const error = this.safeDict(message, 'error');
|
|
831
837
|
if (error === undefined) {
|
|
832
838
|
return false;
|
|
833
839
|
}
|
package/dist/cjs/src/pro/gate.js
CHANGED
|
@@ -258,7 +258,7 @@ class gate extends gate$1["default"] {
|
|
|
258
258
|
await this.loadMarkets();
|
|
259
259
|
}
|
|
260
260
|
const market = (symbol === undefined) ? undefined : this.market(symbol);
|
|
261
|
-
const trigger = this.
|
|
261
|
+
const trigger = this.safeBoolN(params, ['is_stop_order', 'stop', 'trigger'], false);
|
|
262
262
|
params = this.omit(params, ['is_stop_order', 'stop', 'trigger']);
|
|
263
263
|
const [type, query] = this.handleMarketTypeAndParams('cancelOrder', market, params);
|
|
264
264
|
const [request, requestParams] = (type === 'spot' || type === 'margin') ? this.spotOrderPrepareRequest(market, trigger, query) : this.prepareRequest(market, type, query);
|
|
@@ -510,7 +510,7 @@ class gate extends gate$1["default"] {
|
|
|
510
510
|
const messageHash = 'unsubscribe:orderbook' + ':' + symbol;
|
|
511
511
|
return await this.unSubscribePublicMultiple(url, 'orderbook', [symbol], [messageHash], [subMessageHash], payload, channel, params);
|
|
512
512
|
}
|
|
513
|
-
handleOrderBookSubscription(client, message, subscription) {
|
|
513
|
+
handleOrderBookSubscription(client, message, subscription = undefined) {
|
|
514
514
|
const symbol = this.safeString(subscription, 'symbol');
|
|
515
515
|
const limit = this.safeInteger(subscription, 'limit');
|
|
516
516
|
if (symbol !== undefined) {
|
|
@@ -635,7 +635,7 @@ class gate extends gate$1["default"] {
|
|
|
635
635
|
const rawMarketType = this.safeString(channelParts, 0);
|
|
636
636
|
const isSpot = rawMarketType === 'spot';
|
|
637
637
|
const marketType = isSpot ? 'spot' : 'contract';
|
|
638
|
-
const delta = this.
|
|
638
|
+
const delta = this.safeDict(message, 'result');
|
|
639
639
|
const deltaStart = this.safeInteger(delta, 'U');
|
|
640
640
|
const deltaEnd = this.safeInteger(delta, 'u');
|
|
641
641
|
const marketId = this.safeString(delta, 's');
|
|
@@ -711,8 +711,8 @@ class gate extends gate$1["default"] {
|
|
|
711
711
|
orderbook['timestamp'] = timestamp;
|
|
712
712
|
orderbook['datetime'] = this.iso8601(timestamp);
|
|
713
713
|
orderbook['nonce'] = this.safeInteger(delta, 'u');
|
|
714
|
-
const bids = this.
|
|
715
|
-
const asks = this.
|
|
714
|
+
const bids = this.safeList(delta, 'b', []);
|
|
715
|
+
const asks = this.safeList(delta, 'a', []);
|
|
716
716
|
const storedBids = orderbook['bids'];
|
|
717
717
|
const storedAsks = orderbook['asks'];
|
|
718
718
|
this.handleBidAsks(storedBids, bids);
|
|
@@ -923,7 +923,7 @@ class gate extends gate$1["default"] {
|
|
|
923
923
|
const url = this.getUrlByMarket(market);
|
|
924
924
|
const trades = await this.subscribePublicMultiple(url, messageHashes, marketIds, channel, params);
|
|
925
925
|
if (this.newUpdates) {
|
|
926
|
-
const first = this.
|
|
926
|
+
const first = this.safeDict(trades, 0);
|
|
927
927
|
const tradeSymbol = this.safeString(first, 'symbol');
|
|
928
928
|
limit = trades.getLimit(tradeSymbol, limit);
|
|
929
929
|
}
|
|
@@ -1616,7 +1616,7 @@ class gate extends gate$1["default"] {
|
|
|
1616
1616
|
// ]
|
|
1617
1617
|
// }
|
|
1618
1618
|
//
|
|
1619
|
-
const orders = this.
|
|
1619
|
+
const orders = this.safeList(message, 'result', []);
|
|
1620
1620
|
const channel = this.safeString(message, 'channel', '');
|
|
1621
1621
|
const isTrigger = (channel.indexOf('autoorders') >= 0) || (channel.indexOf('priceorders') >= 0);
|
|
1622
1622
|
const hashPrefix = isTrigger ? 'triggerOrders' : 'orders';
|
|
@@ -1631,7 +1631,7 @@ class gate extends gate$1["default"] {
|
|
|
1631
1631
|
for (let i = 0; i < parsedOrders.length; i++) {
|
|
1632
1632
|
const parsed = parsedOrders[i];
|
|
1633
1633
|
// inject order status
|
|
1634
|
-
const info = this.
|
|
1634
|
+
const info = this.safeDict(parsed, 'info');
|
|
1635
1635
|
const event = this.safeString(info, 'event');
|
|
1636
1636
|
if (event === 'put' || event === 'update') {
|
|
1637
1637
|
parsed['status'] = 'open';
|
|
@@ -1784,7 +1784,7 @@ class gate extends gate$1["default"] {
|
|
|
1784
1784
|
const liquidation = this.parseWsLiquidation(rawLiquidation);
|
|
1785
1785
|
cache.append(liquidation);
|
|
1786
1786
|
const symbol = this.safeString(liquidation, 'symbol');
|
|
1787
|
-
const symbolLiquidations = this.
|
|
1787
|
+
const symbolLiquidations = this.safeList(cache, symbol, []);
|
|
1788
1788
|
client.resolve(symbolLiquidations, 'myLiquidations::' + symbol);
|
|
1789
1789
|
}
|
|
1790
1790
|
client.resolve(newLiquidations, 'myLiquidations');
|
|
@@ -2109,7 +2109,7 @@ class gate extends gate$1["default"] {
|
|
|
2109
2109
|
return;
|
|
2110
2110
|
}
|
|
2111
2111
|
const channelParts = channel.split('.');
|
|
2112
|
-
const channelType = this.
|
|
2112
|
+
const channelType = this.safeString(channelParts, 1);
|
|
2113
2113
|
const v4Methods = {
|
|
2114
2114
|
'usertrades': this.handleMyTrades,
|
|
2115
2115
|
'candlesticks': this.handleOHLCV,
|
|
@@ -220,7 +220,7 @@ class gemini extends gemini$1["default"] {
|
|
|
220
220
|
//
|
|
221
221
|
const marketId = this.safeStringLower(message, 'symbol');
|
|
222
222
|
const market = this.safeMarket(marketId);
|
|
223
|
-
const trades = this.
|
|
223
|
+
const trades = this.safeList(message, 'trades');
|
|
224
224
|
if (trades !== undefined) {
|
|
225
225
|
const symbol = market['symbol'];
|
|
226
226
|
const tradesLimit = this.safeInteger(this.options, 'tradesLimit', 1000);
|
|
@@ -337,11 +337,11 @@ class gemini extends gemini$1["default"] {
|
|
|
337
337
|
const symbol = this.safeSymbol(marketId, market);
|
|
338
338
|
const changes = this.safeList(message, 'changes', []);
|
|
339
339
|
const timeframe = this.findTimeframe(timeframeId);
|
|
340
|
-
const ohlcvsBySymbol = this.
|
|
340
|
+
const ohlcvsBySymbol = this.safeDict(this.ohlcvs, symbol);
|
|
341
341
|
if (ohlcvsBySymbol === undefined) {
|
|
342
342
|
this.ohlcvs[symbol] = {};
|
|
343
343
|
}
|
|
344
|
-
let stored = this.safeValue(this.
|
|
344
|
+
let stored = this.safeValue(this.safeDict(this.ohlcvs, symbol), timeframe);
|
|
345
345
|
if (stored === undefined) {
|
|
346
346
|
const limit = this.safeInteger(this.options, 'OHLCVLimit', 1000);
|
|
347
347
|
stored = new Cache.ArrayCacheByTimestamp(limit);
|
package/dist/cjs/src/pro/grvt.js
CHANGED
|
@@ -322,7 +322,7 @@ class grvt extends grvt$1["default"] {
|
|
|
322
322
|
};
|
|
323
323
|
const trades = await this.subscribeMultiple(messageHashes, this.extend(params, request), rawHashes);
|
|
324
324
|
if (this.newUpdates) {
|
|
325
|
-
const first = this.
|
|
325
|
+
const first = this.safeDict(trades, 0);
|
|
326
326
|
const tradeSymbol = this.safeString(first, 'symbol');
|
|
327
327
|
limit = trades.getLimit(tradeSymbol, limit);
|
|
328
328
|
}
|
|
@@ -460,7 +460,7 @@ class grvt extends grvt$1["default"] {
|
|
|
460
460
|
const timeframeId = secondPart.replace('-TRADE', '');
|
|
461
461
|
const timeframe = this.findTimeframe(timeframeId);
|
|
462
462
|
const messageHash = 'ohlcv::' + symbol + '::' + timeframe;
|
|
463
|
-
this.ohlcvs[symbol] = this.
|
|
463
|
+
this.ohlcvs[symbol] = this.safeDict(this.ohlcvs, symbol, {});
|
|
464
464
|
if (!(timeframe in this.ohlcvs[symbol])) {
|
|
465
465
|
const limit = this.handleOption('watchOHLCV', 'limit', 1000);
|
|
466
466
|
this.ohlcvs[symbol][timeframe] = new Cache.ArrayCacheByTimestamp(limit);
|
|
@@ -217,7 +217,7 @@ class hashkey extends hashkey$1["default"] {
|
|
|
217
217
|
// }
|
|
218
218
|
//
|
|
219
219
|
const data = this.safeList(message, 'data', []);
|
|
220
|
-
const ticker = this.parseTicker(this.safeDict(data, 0));
|
|
220
|
+
const ticker = this.parseTicker(this.safeDict(data, 0, {}));
|
|
221
221
|
const symbol = ticker['symbol'];
|
|
222
222
|
const messageHash = 'ticker:' + symbol;
|
|
223
223
|
this.tickers[symbol] = ticker;
|
|
@@ -749,7 +749,7 @@ class hashkey extends hashkey$1["default"] {
|
|
|
749
749
|
}
|
|
750
750
|
async loadBalanceSnapshot(client, messageHash, type) {
|
|
751
751
|
const response = await this.fetchBalance({ 'type': type });
|
|
752
|
-
this.balance[type] = this.extend(response, this.
|
|
752
|
+
this.balance[type] = this.extend(response, this.safeDict(this.balance, type, {}));
|
|
753
753
|
// don't remove the future from the .futures cache
|
|
754
754
|
if (messageHash in client.futures) {
|
|
755
755
|
const future = client.futures[messageHash];
|
|
@@ -222,7 +222,7 @@ class hitbtc extends hitbtc$1["default"] {
|
|
|
222
222
|
* @returns {object} an [order book structure]{@link https://docs.ccxt.com/?id=order-book-structure}
|
|
223
223
|
*/
|
|
224
224
|
async watchOrderBook(symbol, limit = undefined, params = {}) {
|
|
225
|
-
const options = this.
|
|
225
|
+
const options = this.safeDict(this.options, 'watchOrderBook');
|
|
226
226
|
const defaultMethod = this.safeString(options, 'method', 'orderbook/full');
|
|
227
227
|
let name = this.safeString2(params, 'method', 'defaultMethod', defaultMethod);
|
|
228
228
|
const depth = this.safeString(params, 'depth', '20');
|
|
@@ -345,7 +345,7 @@ class hitbtc extends hitbtc$1["default"] {
|
|
|
345
345
|
await this.loadMarkets();
|
|
346
346
|
}
|
|
347
347
|
symbols = this.marketSymbols(symbols);
|
|
348
|
-
const options = this.
|
|
348
|
+
const options = this.safeDict(this.options, 'watchTicker');
|
|
349
349
|
const defaultMethod = this.safeString(options, 'method', 'ticker/{speed}/batch');
|
|
350
350
|
const method = this.safeString2(params, 'method', 'defaultMethod', defaultMethod);
|
|
351
351
|
const speed = this.safeString(params, 'speed', '1s');
|
|
@@ -504,7 +504,7 @@ class hitbtc extends hitbtc$1["default"] {
|
|
|
504
504
|
await this.loadMarkets();
|
|
505
505
|
}
|
|
506
506
|
symbols = this.marketSymbols(symbols, undefined, false);
|
|
507
|
-
const options = this.
|
|
507
|
+
const options = this.safeDict(this.options, 'watchBidsAsks');
|
|
508
508
|
const defaultMethod = this.safeString(options, 'method', 'orderbook/top/{speed}/batch');
|
|
509
509
|
const method = this.safeString2(params, 'method', 'defaultMethod', defaultMethod);
|
|
510
510
|
const speed = this.safeString(params, 'speed', '100ms');
|
|
@@ -778,7 +778,7 @@ class hitbtc extends hitbtc$1["default"] {
|
|
|
778
778
|
const marketId = marketIds[i];
|
|
779
779
|
const market = this.safeMarket(marketId);
|
|
780
780
|
const symbol = market['symbol'];
|
|
781
|
-
this.ohlcvs[symbol] = this.
|
|
781
|
+
this.ohlcvs[symbol] = this.safeDict(this.ohlcvs, symbol, {});
|
|
782
782
|
let stored = this.safeValue(this.safeValue(this.ohlcvs, symbol), timeframe);
|
|
783
783
|
if (stored === undefined) {
|
|
784
784
|
const limit = this.safeInteger(this.options, 'OHLCVLimit', 1000);
|
|
@@ -1378,7 +1378,7 @@ class hitbtc extends hitbtc$1["default"] {
|
|
|
1378
1378
|
// "result": true
|
|
1379
1379
|
// }
|
|
1380
1380
|
//
|
|
1381
|
-
const success = this.
|
|
1381
|
+
const success = this.safeBool(message, 'result');
|
|
1382
1382
|
const messageHash = 'authenticated';
|
|
1383
1383
|
if (success === true) {
|
|
1384
1384
|
const future = this.safeValue(client.futures, messageHash);
|
|
@@ -1405,7 +1405,7 @@ class hitbtc extends hitbtc$1["default"] {
|
|
|
1405
1405
|
// id: 1700228604325
|
|
1406
1406
|
// }
|
|
1407
1407
|
//
|
|
1408
|
-
const error = this.
|
|
1408
|
+
const error = this.safeDict(message, 'error');
|
|
1409
1409
|
if (error !== undefined) {
|
|
1410
1410
|
try {
|
|
1411
1411
|
const code = this.safeValue(error, 'code');
|
|
@@ -101,7 +101,7 @@ class hollaex extends hollaex$1["default"] {
|
|
|
101
101
|
if (symbol === undefined) {
|
|
102
102
|
return;
|
|
103
103
|
}
|
|
104
|
-
const data = this.
|
|
104
|
+
const data = this.safeDict(message, 'data');
|
|
105
105
|
const timestamp = this.safeString(data, 'timestamp');
|
|
106
106
|
const timestampMs = this.parse8601(timestamp);
|
|
107
107
|
const snapshot = this.parseOrderBook(data, symbol, timestampMs);
|
|
@@ -170,7 +170,7 @@ class hollaex extends hollaex$1["default"] {
|
|
|
170
170
|
stored = new Cache.ArrayCache(limit);
|
|
171
171
|
this.trades[symbol] = stored;
|
|
172
172
|
}
|
|
173
|
-
const data = this.
|
|
173
|
+
const data = this.safeList(message, 'data', []);
|
|
174
174
|
const parsedTrades = this.parseTrades(data, market);
|
|
175
175
|
for (let j = 0; j < parsedTrades.length; j++) {
|
|
176
176
|
stored.append(parsedTrades[j]);
|
|
@@ -604,7 +604,7 @@ class hollaex extends hollaex$1["default"] {
|
|
|
604
604
|
'wallet': this.handleBalance,
|
|
605
605
|
'usertrade': this.handleMyTrades,
|
|
606
606
|
};
|
|
607
|
-
const topic = this.
|
|
607
|
+
const topic = this.safeString(message, 'topic');
|
|
608
608
|
const method = this.safeValue(methods, topic);
|
|
609
609
|
if (method !== undefined) {
|
|
610
610
|
method.call(this, client, message);
|
package/dist/cjs/src/pro/htx.js
CHANGED
|
@@ -222,7 +222,7 @@ class htx extends htx$1["default"] {
|
|
|
222
222
|
// }
|
|
223
223
|
// }
|
|
224
224
|
//
|
|
225
|
-
const tick = this.
|
|
225
|
+
const tick = this.safeDict(message, 'tick', {});
|
|
226
226
|
const ch = this.safeString(message, 'ch');
|
|
227
227
|
if (ch === undefined) {
|
|
228
228
|
return message;
|
|
@@ -231,7 +231,7 @@ class htx extends htx$1["default"] {
|
|
|
231
231
|
const marketId = this.safeString(parts, 1);
|
|
232
232
|
const market = this.safeMarket(marketId);
|
|
233
233
|
const ticker = this.parseTicker(tick, market);
|
|
234
|
-
const timestamp = this.
|
|
234
|
+
const timestamp = this.safeInteger(message, 'ts');
|
|
235
235
|
ticker['timestamp'] = timestamp;
|
|
236
236
|
ticker['datetime'] = this.iso8601(timestamp);
|
|
237
237
|
const symbol = ticker['symbol'];
|
|
@@ -311,8 +311,8 @@ class htx extends htx$1["default"] {
|
|
|
311
311
|
// }
|
|
312
312
|
// }
|
|
313
313
|
//
|
|
314
|
-
const tick = this.
|
|
315
|
-
const data = this.
|
|
314
|
+
const tick = this.safeDict(message, 'tick', {});
|
|
315
|
+
const data = this.safeList(tick, 'data', []);
|
|
316
316
|
const ch = this.safeString(message, 'ch');
|
|
317
317
|
if (ch === undefined) {
|
|
318
318
|
return message;
|
|
@@ -414,7 +414,7 @@ class htx extends htx$1["default"] {
|
|
|
414
414
|
const symbol = market['symbol'];
|
|
415
415
|
const interval = this.safeString(parts, 3);
|
|
416
416
|
const timeframe = this.findTimeframe(interval);
|
|
417
|
-
this.ohlcvs[symbol] = this.
|
|
417
|
+
this.ohlcvs[symbol] = this.safeDict(this.ohlcvs, symbol, {});
|
|
418
418
|
let stored = this.safeValue(this.safeValue(this.ohlcvs, symbol), timeframe);
|
|
419
419
|
if (stored === undefined) {
|
|
420
420
|
const limit = this.safeInteger(this.options, 'OHLCVLimit', 1000);
|
|
@@ -538,11 +538,11 @@ class htx extends htx$1["default"] {
|
|
|
538
538
|
const lastTimestamp = this.safeInteger(subscription, 'lastTimestamp');
|
|
539
539
|
try {
|
|
540
540
|
const orderbook = this.safeValue(this.orderbooks, symbol);
|
|
541
|
-
const data = this.
|
|
541
|
+
const data = this.safeDict(message, 'data');
|
|
542
542
|
const messages = orderbook.cache;
|
|
543
|
-
const firstMessage = this.
|
|
543
|
+
const firstMessage = this.safeDict(messages, 0, {});
|
|
544
544
|
const snapshot = this.parseOrderBook(data, symbol);
|
|
545
|
-
const tick = this.
|
|
545
|
+
const tick = this.safeDict(firstMessage, 'tick');
|
|
546
546
|
const sequence = this.safeInteger(tick, 'prevSeqNum');
|
|
547
547
|
const nonce = this.safeInteger(data, 'seqNum');
|
|
548
548
|
if (nonce === undefined) {
|
|
@@ -720,7 +720,7 @@ class htx extends htx$1["default"] {
|
|
|
720
720
|
const market = this.safeMarket(marketId);
|
|
721
721
|
const symbol = market['symbol'];
|
|
722
722
|
const orderbook = this.orderbooks[symbol];
|
|
723
|
-
const tick = this.
|
|
723
|
+
const tick = this.safeDict(message, 'tick', {});
|
|
724
724
|
const seqNum = this.safeInteger(tick, 'seqNum');
|
|
725
725
|
const prevSeqNum = this.safeInteger(tick, 'prevSeqNum');
|
|
726
726
|
const event = this.safeString(tick, 'event');
|
|
@@ -740,8 +740,8 @@ class htx extends htx$1["default"] {
|
|
|
740
740
|
const spotConditon = (market['spot'] === true) && (prevSeqNum === orderbook['nonce']);
|
|
741
741
|
const nonSpotCondition = (market['contract'] === true) && (version !== undefined) && (version - 1 === orderbook['nonce']);
|
|
742
742
|
if ((spotConditon === true) || (nonSpotCondition === true)) {
|
|
743
|
-
const asks = this.
|
|
744
|
-
const bids = this.
|
|
743
|
+
const asks = this.safeList(tick, 'asks', []);
|
|
744
|
+
const bids = this.safeList(tick, 'bids', []);
|
|
745
745
|
this.handleDeltas(orderbook['asks'], asks);
|
|
746
746
|
this.handleDeltas(orderbook['bids'], bids);
|
|
747
747
|
orderbook['nonce'] = (spotConditon === true) ? seqNum : version;
|
|
@@ -890,7 +890,7 @@ class htx extends htx$1["default"] {
|
|
|
890
890
|
const channelAndMessageHashAndParams = this.getV5LinearChannelAndMessageHash('trade', market, params);
|
|
891
891
|
channel = this.safeString(channelAndMessageHashAndParams, 0);
|
|
892
892
|
messageHash = this.safeString(channelAndMessageHashAndParams, 1);
|
|
893
|
-
params = this.
|
|
893
|
+
params = this.safeDict(channelAndMessageHashAndParams, 2, {});
|
|
894
894
|
}
|
|
895
895
|
else {
|
|
896
896
|
const channelAndMessageHash = this.getOrderChannelAndMessageHash(type, subType, market, params);
|
|
@@ -1021,7 +1021,7 @@ class htx extends htx$1["default"] {
|
|
|
1021
1021
|
const channelAndMessageHashAndParams = this.getV5LinearChannelAndMessageHash('orders', market, params);
|
|
1022
1022
|
channel = this.safeString(channelAndMessageHashAndParams, 0);
|
|
1023
1023
|
messageHash = this.safeString(channelAndMessageHashAndParams, 1);
|
|
1024
|
-
params = this.
|
|
1024
|
+
params = this.safeDict(channelAndMessageHashAndParams, 2, {});
|
|
1025
1025
|
}
|
|
1026
1026
|
else {
|
|
1027
1027
|
const channelAndMessageHash = this.getOrderChannelAndMessageHash(type, subType, market, params);
|
|
@@ -1208,7 +1208,7 @@ class htx extends htx$1["default"] {
|
|
|
1208
1208
|
// }
|
|
1209
1209
|
//
|
|
1210
1210
|
const messageHash = this.safeString2(message, 'ch', 'topic');
|
|
1211
|
-
const data = this.
|
|
1211
|
+
const data = this.safeDict(message, 'data');
|
|
1212
1212
|
let marketId = this.safeString(message, 'contract_code');
|
|
1213
1213
|
if (marketId === undefined) {
|
|
1214
1214
|
marketId = this.safeString2(data, 'contract_code', 'symbol');
|
|
@@ -1552,7 +1552,7 @@ class htx extends htx$1["default"] {
|
|
|
1552
1552
|
side = typeParts[0];
|
|
1553
1553
|
type = typeParts[1];
|
|
1554
1554
|
}
|
|
1555
|
-
const aggressor = this.
|
|
1555
|
+
const aggressor = this.safeBool(trade, 'aggressor');
|
|
1556
1556
|
let takerOrMaker = undefined;
|
|
1557
1557
|
if (aggressor !== undefined) {
|
|
1558
1558
|
takerOrMaker = (aggressor === true) ? 'taker' : 'maker';
|
|
@@ -1627,7 +1627,7 @@ class htx extends htx$1["default"] {
|
|
|
1627
1627
|
}
|
|
1628
1628
|
const channelAndMessageHashAndParams = this.getV5LinearChannelAndMessageHash('positions', v5Market, params);
|
|
1629
1629
|
channel = this.safeString(channelAndMessageHashAndParams, 0);
|
|
1630
|
-
params = this.
|
|
1630
|
+
params = this.safeDict(channelAndMessageHashAndParams, 2, {});
|
|
1631
1631
|
}
|
|
1632
1632
|
const subscriptionParams = {
|
|
1633
1633
|
'isV5': isV5Linear,
|
|
@@ -1725,7 +1725,7 @@ class htx extends htx$1["default"] {
|
|
|
1725
1725
|
if (this.positions === undefined) {
|
|
1726
1726
|
this.positions = {};
|
|
1727
1727
|
}
|
|
1728
|
-
const clientPositions = this.
|
|
1728
|
+
const clientPositions = this.safeDict(this.positions, url);
|
|
1729
1729
|
if (clientPositions === undefined) {
|
|
1730
1730
|
this.positions[url] = {};
|
|
1731
1731
|
}
|
|
@@ -1756,14 +1756,14 @@ class htx extends htx$1["default"] {
|
|
|
1756
1756
|
cache = new Cache.ArrayCacheBySymbolBySide();
|
|
1757
1757
|
this.positions[url][marginMode] = cache;
|
|
1758
1758
|
}
|
|
1759
|
-
positionsByMarginMode[marginMode] = this.
|
|
1759
|
+
positionsByMarginMode[marginMode] = this.safeList(positionsByMarginMode, marginMode, []);
|
|
1760
1760
|
positionsByMarginMode[marginMode].push(position);
|
|
1761
1761
|
cache.append(position);
|
|
1762
1762
|
}
|
|
1763
1763
|
const marginModes = Object.keys(positionsByMarginMode);
|
|
1764
1764
|
for (let i = 0; i < marginModes.length; i++) {
|
|
1765
1765
|
const marginMode = marginModes[i];
|
|
1766
|
-
const marginModePositions = this.
|
|
1766
|
+
const marginModePositions = this.safeList(positionsByMarginMode, marginMode, []);
|
|
1767
1767
|
const messageHashes = this.findMessageHashes(client, marginMode + ':positions::');
|
|
1768
1768
|
for (let j = 0; j < messageHashes.length; j++) {
|
|
1769
1769
|
const messageHash = messageHashes[j];
|
|
@@ -1793,7 +1793,7 @@ class htx extends htx$1["default"] {
|
|
|
1793
1793
|
[type, params] = this.handleMarketTypeAndParams('watchBalance', undefined, params);
|
|
1794
1794
|
let subType = undefined;
|
|
1795
1795
|
[subType, params] = this.handleSubTypeAndParams('watchBalance', undefined, params, 'linear');
|
|
1796
|
-
const isUnifiedAccount = this.
|
|
1796
|
+
const isUnifiedAccount = this.safeBool2(params, 'isUnifiedAccount', 'unified', false);
|
|
1797
1797
|
params = this.omit(params, ['isUnifiedAccount', 'unified']);
|
|
1798
1798
|
if (this.markets === undefined) {
|
|
1799
1799
|
await this.loadMarkets();
|
|
@@ -2060,10 +2060,10 @@ class htx extends htx$1["default"] {
|
|
|
2060
2060
|
if (dataLength === 0) {
|
|
2061
2061
|
return;
|
|
2062
2062
|
}
|
|
2063
|
-
const first = this.
|
|
2063
|
+
const first = this.safeDict(data, 0, {});
|
|
2064
2064
|
const splitTopic = topic.split('.');
|
|
2065
2065
|
let messageHash = this.safeString(splitTopic, 0);
|
|
2066
|
-
let subscription = this.
|
|
2066
|
+
let subscription = this.safeDict2(client.subscriptions, messageHash, messageHash + '.*');
|
|
2067
2067
|
if (subscription === undefined) {
|
|
2068
2068
|
// if subscription not found means that we subscribed to a specific currency/symbol
|
|
2069
2069
|
// and we use the first data entry to find it
|
|
@@ -2075,7 +2075,7 @@ class htx extends htx$1["default"] {
|
|
|
2075
2075
|
return;
|
|
2076
2076
|
}
|
|
2077
2077
|
messageHash += '.' + currencyId.toLowerCase();
|
|
2078
|
-
subscription = this.
|
|
2078
|
+
subscription = this.safeDict(client.subscriptions, messageHash);
|
|
2079
2079
|
}
|
|
2080
2080
|
const subType = this.safeString(subscription, 'subType');
|
|
2081
2081
|
if (topic === 'accounts_unify') {
|
|
@@ -2295,7 +2295,7 @@ class htx extends htx$1["default"] {
|
|
|
2295
2295
|
// // ?
|
|
2296
2296
|
// }
|
|
2297
2297
|
//
|
|
2298
|
-
const ch = this.
|
|
2298
|
+
const ch = this.safeString(message, 'ch', '');
|
|
2299
2299
|
const parts = ch.split('.');
|
|
2300
2300
|
const type = this.safeString(parts, 0);
|
|
2301
2301
|
if (type === 'market') {
|
|
@@ -2362,7 +2362,7 @@ class htx extends htx$1["default"] {
|
|
|
2362
2362
|
}
|
|
2363
2363
|
const action = this.safeString(message, 'action');
|
|
2364
2364
|
if (action === 'ping') {
|
|
2365
|
-
const data = this.
|
|
2365
|
+
const data = this.safeDict(message, 'data');
|
|
2366
2366
|
const pingTs = this.safeInteger(data, 'ts');
|
|
2367
2367
|
await client.send({ 'action': 'pong', 'data': { 'ts': pingTs } });
|
|
2368
2368
|
return;
|
|
@@ -2444,7 +2444,7 @@ class htx extends htx$1["default"] {
|
|
|
2444
2444
|
return false;
|
|
2445
2445
|
}
|
|
2446
2446
|
const subscriptionsById = this.indexBy(client.subscriptions, 'id');
|
|
2447
|
-
const subscription = this.
|
|
2447
|
+
const subscription = this.safeDict(subscriptionsById, id);
|
|
2448
2448
|
if (subscription !== undefined) {
|
|
2449
2449
|
const errorCode = this.safeString(message, 'err-code');
|
|
2450
2450
|
try {
|
|
@@ -2707,7 +2707,7 @@ class htx extends htx$1["default"] {
|
|
|
2707
2707
|
// this trades object is artificially created
|
|
2708
2708
|
// in handleOrder
|
|
2709
2709
|
const rawTrades = this.safeList(message, 'trades', []);
|
|
2710
|
-
const marketId = this.
|
|
2710
|
+
const marketId = this.safeString(message, 'symbol');
|
|
2711
2711
|
const market = this.market(marketId);
|
|
2712
2712
|
for (let i = 0; i < rawTrades.length; i++) {
|
|
2713
2713
|
const trade = rawTrades[i];
|
|
@@ -2787,7 +2787,7 @@ class htx extends htx$1["default"] {
|
|
|
2787
2787
|
const order = this.safeString2(trade, 'orderId', 'order_id');
|
|
2788
2788
|
const timestamp = this.safeIntegerN(trade, ['tradeTime', 'updated_time', 'created_time']);
|
|
2789
2789
|
const orderType = this.safeString2(trade, 'orderType', 'type');
|
|
2790
|
-
const aggressor = this.
|
|
2790
|
+
const aggressor = this.safeBool(trade, 'aggressor');
|
|
2791
2791
|
let takerOrMaker = undefined;
|
|
2792
2792
|
if (aggressor !== undefined) {
|
|
2793
2793
|
takerOrMaker = (aggressor === true) ? 'taker' : 'maker';
|
|
@@ -1084,7 +1084,7 @@ class hyperliquid extends hyperliquid$1["default"] {
|
|
|
1084
1084
|
if (this.balance === undefined) {
|
|
1085
1085
|
this.balance = {};
|
|
1086
1086
|
}
|
|
1087
|
-
const topic = this.
|
|
1087
|
+
const topic = this.safeString(message, 'channel');
|
|
1088
1088
|
const messageHash = topic + '::balance';
|
|
1089
1089
|
let info = undefined;
|
|
1090
1090
|
let rawBalances = [];
|