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
package/js/src/pro/hitbtc.js
CHANGED
|
@@ -223,7 +223,7 @@ export default class hitbtc extends hitbtcRest {
|
|
|
223
223
|
* @returns {object} an [order book structure]{@link https://docs.ccxt.com/?id=order-book-structure}
|
|
224
224
|
*/
|
|
225
225
|
async watchOrderBook(symbol, limit = undefined, params = {}) {
|
|
226
|
-
const options = this.
|
|
226
|
+
const options = this.safeDict(this.options, 'watchOrderBook');
|
|
227
227
|
const defaultMethod = this.safeString(options, 'method', 'orderbook/full');
|
|
228
228
|
let name = this.safeString2(params, 'method', 'defaultMethod', defaultMethod);
|
|
229
229
|
const depth = this.safeString(params, 'depth', '20');
|
|
@@ -346,7 +346,7 @@ export default class hitbtc extends hitbtcRest {
|
|
|
346
346
|
await this.loadMarkets();
|
|
347
347
|
}
|
|
348
348
|
symbols = this.marketSymbols(symbols);
|
|
349
|
-
const options = this.
|
|
349
|
+
const options = this.safeDict(this.options, 'watchTicker');
|
|
350
350
|
const defaultMethod = this.safeString(options, 'method', 'ticker/{speed}/batch');
|
|
351
351
|
const method = this.safeString2(params, 'method', 'defaultMethod', defaultMethod);
|
|
352
352
|
const speed = this.safeString(params, 'speed', '1s');
|
|
@@ -505,7 +505,7 @@ export default class hitbtc extends hitbtcRest {
|
|
|
505
505
|
await this.loadMarkets();
|
|
506
506
|
}
|
|
507
507
|
symbols = this.marketSymbols(symbols, undefined, false);
|
|
508
|
-
const options = this.
|
|
508
|
+
const options = this.safeDict(this.options, 'watchBidsAsks');
|
|
509
509
|
const defaultMethod = this.safeString(options, 'method', 'orderbook/top/{speed}/batch');
|
|
510
510
|
const method = this.safeString2(params, 'method', 'defaultMethod', defaultMethod);
|
|
511
511
|
const speed = this.safeString(params, 'speed', '100ms');
|
|
@@ -779,7 +779,7 @@ export default class hitbtc extends hitbtcRest {
|
|
|
779
779
|
const marketId = marketIds[i];
|
|
780
780
|
const market = this.safeMarket(marketId);
|
|
781
781
|
const symbol = market['symbol'];
|
|
782
|
-
this.ohlcvs[symbol] = this.
|
|
782
|
+
this.ohlcvs[symbol] = this.safeDict(this.ohlcvs, symbol, {});
|
|
783
783
|
let stored = this.safeValue(this.safeValue(this.ohlcvs, symbol), timeframe);
|
|
784
784
|
if (stored === undefined) {
|
|
785
785
|
const limit = this.safeInteger(this.options, 'OHLCVLimit', 1000);
|
|
@@ -1379,7 +1379,7 @@ export default class hitbtc extends hitbtcRest {
|
|
|
1379
1379
|
// "result": true
|
|
1380
1380
|
// }
|
|
1381
1381
|
//
|
|
1382
|
-
const success = this.
|
|
1382
|
+
const success = this.safeBool(message, 'result');
|
|
1383
1383
|
const messageHash = 'authenticated';
|
|
1384
1384
|
if (success === true) {
|
|
1385
1385
|
const future = this.safeValue(client.futures, messageHash);
|
|
@@ -1406,7 +1406,7 @@ export default class hitbtc extends hitbtcRest {
|
|
|
1406
1406
|
// id: 1700228604325
|
|
1407
1407
|
// }
|
|
1408
1408
|
//
|
|
1409
|
-
const error = this.
|
|
1409
|
+
const error = this.safeDict(message, 'error');
|
|
1410
1410
|
if (error !== undefined) {
|
|
1411
1411
|
try {
|
|
1412
1412
|
const code = this.safeValue(error, 'code');
|
package/js/src/pro/hollaex.d.ts
CHANGED
|
@@ -13,8 +13,8 @@ export default class hollaex extends hollaexRest {
|
|
|
13
13
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
14
14
|
* @returns {object} an [order book structure]{@link https://docs.ccxt.com/?id=order-book-structure}
|
|
15
15
|
*/
|
|
16
|
-
watchOrderBook(symbol: string, limit?: Int, params?:
|
|
17
|
-
handleOrderBook(client: Client, message:
|
|
16
|
+
watchOrderBook(symbol: string, limit?: Int, params?: Dict): Promise<OrderBook>;
|
|
17
|
+
handleOrderBook(client: Client, message: Dict): void;
|
|
18
18
|
/**
|
|
19
19
|
* @method
|
|
20
20
|
* @name hollaex#watchTrades
|
|
@@ -26,8 +26,8 @@ export default class hollaex extends hollaexRest {
|
|
|
26
26
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
27
27
|
* @returns {object[]} a list of [trade structures]{@link https://docs.ccxt.com/?id=public-trades}
|
|
28
28
|
*/
|
|
29
|
-
watchTrades(symbol: string, since?: Int, limit?: Int, params?:
|
|
30
|
-
handleTrades(client: Client, message:
|
|
29
|
+
watchTrades(symbol: string, since?: Int, limit?: Int, params?: Dict): Promise<Trade[]>;
|
|
30
|
+
handleTrades(client: Client, message: Dict): void;
|
|
31
31
|
/**
|
|
32
32
|
* @method
|
|
33
33
|
* @name hollaex#watchMyTrades
|
|
@@ -39,8 +39,8 @@ export default class hollaex extends hollaexRest {
|
|
|
39
39
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
40
40
|
* @returns {object[]} a list of [trade structures]{@link https://docs.ccxt.com/?id=trade-structure}
|
|
41
41
|
*/
|
|
42
|
-
watchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?:
|
|
43
|
-
handleMyTrades(client: Client, message:
|
|
42
|
+
watchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: Dict): Promise<Trade[]>;
|
|
43
|
+
handleMyTrades(client: Client, message: Dict, subscription?: Dict | undefined): void;
|
|
44
44
|
/**
|
|
45
45
|
* @method
|
|
46
46
|
* @name hollaex#watchOrders
|
|
@@ -52,8 +52,8 @@ export default class hollaex extends hollaexRest {
|
|
|
52
52
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
53
53
|
* @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/?id=order-structure}
|
|
54
54
|
*/
|
|
55
|
-
watchOrders(symbol?: Str, since?: Int, limit?: Int, params?:
|
|
56
|
-
handleOrder(client: Client, message:
|
|
55
|
+
watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: Dict): Promise<Order[]>;
|
|
56
|
+
handleOrder(client: Client, message: Dict, subscription?: Dict | undefined): void;
|
|
57
57
|
/**
|
|
58
58
|
* @method
|
|
59
59
|
* @name hollaex#watchBalance
|
|
@@ -62,16 +62,14 @@ export default class hollaex extends hollaexRest {
|
|
|
62
62
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
63
63
|
* @returns {object} a [balance structure]{@link https://docs.ccxt.com/?id=balance-structure}
|
|
64
64
|
*/
|
|
65
|
-
watchBalance(params?:
|
|
66
|
-
handleBalance(client: Client, message:
|
|
67
|
-
watchPublic(messageHash:
|
|
68
|
-
watchPrivate(messageHash:
|
|
65
|
+
watchBalance(params?: Dict): Promise<Balances>;
|
|
66
|
+
handleBalance(client: Client, message: Dict): void;
|
|
67
|
+
watchPublic(messageHash: string, params?: Dict): Promise<any>;
|
|
68
|
+
watchPrivate(messageHash: string, params?: Dict): Promise<any>;
|
|
69
69
|
handleErrorMessage(client: Client, message: any): Bool;
|
|
70
|
-
handleMessage(client: Client, message:
|
|
71
|
-
ping(client: Client):
|
|
72
|
-
|
|
73
|
-
};
|
|
74
|
-
handlePong(client: Client, message: any): any;
|
|
70
|
+
handleMessage(client: Client, message: Dict): void;
|
|
71
|
+
ping(client: Client): Dict;
|
|
72
|
+
handlePong(client: Client, message: Dict): Dict;
|
|
75
73
|
onError(client: Client, error: any): void;
|
|
76
74
|
onClose(client: Client, error: any): void;
|
|
77
75
|
}
|
package/js/src/pro/hollaex.js
CHANGED
|
@@ -102,7 +102,7 @@ export default class hollaex extends hollaexRest {
|
|
|
102
102
|
if (symbol === undefined) {
|
|
103
103
|
return;
|
|
104
104
|
}
|
|
105
|
-
const data = this.
|
|
105
|
+
const data = this.safeDict(message, 'data');
|
|
106
106
|
const timestamp = this.safeString(data, 'timestamp');
|
|
107
107
|
const timestampMs = this.parse8601(timestamp);
|
|
108
108
|
const snapshot = this.parseOrderBook(data, symbol, timestampMs);
|
|
@@ -171,7 +171,7 @@ export default class hollaex extends hollaexRest {
|
|
|
171
171
|
stored = new ArrayCache(limit);
|
|
172
172
|
this.trades[symbol] = stored;
|
|
173
173
|
}
|
|
174
|
-
const data = this.
|
|
174
|
+
const data = this.safeList(message, 'data', []);
|
|
175
175
|
const parsedTrades = this.parseTrades(data, market);
|
|
176
176
|
for (let j = 0; j < parsedTrades.length; j++) {
|
|
177
177
|
stored.append(parsedTrades[j]);
|
|
@@ -605,7 +605,7 @@ export default class hollaex extends hollaexRest {
|
|
|
605
605
|
'wallet': this.handleBalance,
|
|
606
606
|
'usertrade': this.handleMyTrades,
|
|
607
607
|
};
|
|
608
|
-
const topic = this.
|
|
608
|
+
const topic = this.safeString(message, 'topic');
|
|
609
609
|
const method = this.safeValue(methods, topic);
|
|
610
610
|
if (method !== undefined) {
|
|
611
611
|
method.call(this, client, message);
|
package/js/src/pro/htx.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ export default class htx extends htxRest {
|
|
|
14
14
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
15
15
|
* @returns {object} a [ticker structure]{@link https://docs.ccxt.com/?id=ticker-structure}
|
|
16
16
|
*/
|
|
17
|
-
watchTicker(symbol: string, params?:
|
|
17
|
+
watchTicker(symbol: string, params?: Dict): Promise<Ticker>;
|
|
18
18
|
/**
|
|
19
19
|
* @method
|
|
20
20
|
* @name htx#unWatchTicker
|
|
@@ -26,7 +26,7 @@ export default class htx extends htxRest {
|
|
|
26
26
|
* @returns {object} a [ticker structure]{@link https://docs.ccxt.com/?id=ticker-structure}
|
|
27
27
|
*/
|
|
28
28
|
unWatchTicker(symbol: string, params?: {}): Promise<any>;
|
|
29
|
-
handleTicker(client: Client, message:
|
|
29
|
+
handleTicker(client: Client, message: Dict): Dict;
|
|
30
30
|
/**
|
|
31
31
|
* @method
|
|
32
32
|
* @name htx#watchTrades
|
|
@@ -40,7 +40,7 @@ export default class htx extends htxRest {
|
|
|
40
40
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
41
41
|
* @returns {object[]} a list of [trade structures]{@link https://docs.ccxt.com/?id=public-trades}
|
|
42
42
|
*/
|
|
43
|
-
watchTrades(symbol: string, since?: Int, limit?: Int, params?:
|
|
43
|
+
watchTrades(symbol: string, since?: Int, limit?: Int, params?: Dict): Promise<Trade[]>;
|
|
44
44
|
/**
|
|
45
45
|
* @method
|
|
46
46
|
* @name htx#unWatchTrades
|
|
@@ -53,7 +53,7 @@ export default class htx extends htxRest {
|
|
|
53
53
|
* @returns {object} a [ticker structure]{@link https://docs.ccxt.com/?id=ticker-structure}
|
|
54
54
|
*/
|
|
55
55
|
unWatchTrades(symbol: string, params?: {}): Promise<any>;
|
|
56
|
-
handleTrades(client: Client, message:
|
|
56
|
+
handleTrades(client: Client, message: Dict): Dict;
|
|
57
57
|
/**
|
|
58
58
|
* @method
|
|
59
59
|
* @name htx#watchOHLCV
|
|
@@ -68,7 +68,7 @@ export default class htx extends htxRest {
|
|
|
68
68
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
69
69
|
* @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
|
|
70
70
|
*/
|
|
71
|
-
watchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?:
|
|
71
|
+
watchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: Dict): Promise<OHLCV[]>;
|
|
72
72
|
/**
|
|
73
73
|
* @method
|
|
74
74
|
* @name htx#unWatchOHLCV
|
|
@@ -83,7 +83,7 @@ export default class htx extends htxRest {
|
|
|
83
83
|
* @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
|
|
84
84
|
*/
|
|
85
85
|
unWatchOHLCV(symbol: string, timeframe?: string, params?: Dict): Promise<any>;
|
|
86
|
-
handleOHLCV(client: Client, message:
|
|
86
|
+
handleOHLCV(client: Client, message: Dict): void;
|
|
87
87
|
/**
|
|
88
88
|
* @method
|
|
89
89
|
* @name htx#watchOrderBook
|
|
@@ -110,13 +110,13 @@ export default class htx extends htxRest {
|
|
|
110
110
|
* @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/?id=order-book-structure}
|
|
111
111
|
*/
|
|
112
112
|
unWatchOrderBook(symbol: string, params?: Dict): Promise<any>;
|
|
113
|
-
handleOrderBookSnapshot(client: Client, message:
|
|
114
|
-
watchOrderBookSnapshot(client:
|
|
113
|
+
handleOrderBookSnapshot(client: Client, message: Dict, subscription: Dict): void;
|
|
114
|
+
watchOrderBookSnapshot(client: Client, message: Dict, subscription: Dict): Promise<any>;
|
|
115
115
|
handleDelta(bookside: any, delta: any): void;
|
|
116
116
|
handleDeltas(bookside: any, deltas: any): void;
|
|
117
|
-
handleOrderBookMessage(client: Client, message:
|
|
118
|
-
handleOrderBook(client: Client, message:
|
|
119
|
-
handleOrderBookSubscription(client: Client, message:
|
|
117
|
+
handleOrderBookMessage(client: Client, message: Dict): void;
|
|
118
|
+
handleOrderBook(client: Client, message: Dict): void;
|
|
119
|
+
handleOrderBookSubscription(client: Client, message: Dict, subscription: Dict): void;
|
|
120
120
|
/**
|
|
121
121
|
* @method
|
|
122
122
|
* @name htx#watchMyTrades
|
|
@@ -129,9 +129,9 @@ export default class htx extends htxRest {
|
|
|
129
129
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
130
130
|
* @returns {object[]} a list of [trade structures]{@link https://docs.ccxt.com/?id=trade-structure}
|
|
131
131
|
*/
|
|
132
|
-
watchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?:
|
|
133
|
-
getOrderChannelAndMessageHash(type:
|
|
134
|
-
getV5LinearChannelAndMessageHash(topic:
|
|
132
|
+
watchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: Dict): Promise<Trade[]>;
|
|
133
|
+
getOrderChannelAndMessageHash(type: Str, subType: Str, market?: Market, params?: Dict): Str[];
|
|
134
|
+
getV5LinearChannelAndMessageHash(topic: Str, market?: Market, params?: Dict): any[];
|
|
135
135
|
/**
|
|
136
136
|
* @method
|
|
137
137
|
* @name htx#watchOrders
|
|
@@ -144,10 +144,10 @@ export default class htx extends htxRest {
|
|
|
144
144
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
145
145
|
* @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/?id=order-structure}
|
|
146
146
|
*/
|
|
147
|
-
watchOrders(symbol?: Str, since?: Int, limit?: Int, params?:
|
|
148
|
-
handleOrder(client: Client, message:
|
|
149
|
-
parseWsOrder(order:
|
|
150
|
-
parseOrderTrade(trade:
|
|
147
|
+
watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: Dict): Promise<Order[]>;
|
|
148
|
+
handleOrder(client: Client, message: Dict): void;
|
|
149
|
+
parseWsOrder(order: Dict, market?: Market): Order;
|
|
150
|
+
parseOrderTrade(trade: Dict, market?: Market): Trade;
|
|
151
151
|
/**
|
|
152
152
|
* @method
|
|
153
153
|
* @name htx#watchPositions
|
|
@@ -161,8 +161,8 @@ export default class htx extends htxRest {
|
|
|
161
161
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
162
162
|
* @returns {object[]} a list of [position structure]{@link https://docs.ccxt.com/en/latest/manual.html#position-structure}
|
|
163
163
|
*/
|
|
164
|
-
watchPositions(symbols?: Strings, since?: Int, limit?: Int, params?:
|
|
165
|
-
handlePositions(client:
|
|
164
|
+
watchPositions(symbols?: Strings, since?: Int, limit?: Int, params?: Dict): Promise<Position[]>;
|
|
165
|
+
handlePositions(client: Client, message: Dict): void;
|
|
166
166
|
/**
|
|
167
167
|
* @method
|
|
168
168
|
* @name htx#watchBalance
|
|
@@ -173,22 +173,22 @@ export default class htx extends htxRest {
|
|
|
173
173
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
174
174
|
* @returns {object} a [balance structure]{@link https://docs.ccxt.com/?id=balance-structure}
|
|
175
175
|
*/
|
|
176
|
-
watchBalance(params?:
|
|
177
|
-
handleBalance(client: Client, message:
|
|
178
|
-
handleSubscriptionStatus(client: Client, message:
|
|
176
|
+
watchBalance(params?: Dict): Promise<Balances>;
|
|
177
|
+
handleBalance(client: Client, message: Dict): void;
|
|
178
|
+
handleSubscriptionStatus(client: Client, message: Dict): void;
|
|
179
179
|
handleUnSubscription(client: Client, subscription: Dict | undefined): void;
|
|
180
|
-
handleSystemStatus(client: Client, message:
|
|
181
|
-
handleSubject(client: Client, message:
|
|
182
|
-
pong(client: Client, message:
|
|
183
|
-
handlePing(client: Client, message:
|
|
184
|
-
handleAuthenticate(client: Client, message:
|
|
185
|
-
handleErrorMessage(client: Client, message:
|
|
186
|
-
handleMessage(client: Client, message:
|
|
187
|
-
handleMyTrade(client: Client, message:
|
|
188
|
-
parseWsTrade(trade:
|
|
180
|
+
handleSystemStatus(client: Client, message: Dict): Dict;
|
|
181
|
+
handleSubject(client: Client, message: Dict): void;
|
|
182
|
+
pong(client: Client, message: Dict): Promise<void>;
|
|
183
|
+
handlePing(client: Client, message: Dict): void;
|
|
184
|
+
handleAuthenticate(client: Client, message: Dict): void;
|
|
185
|
+
handleErrorMessage(client: Client, message: Dict): Bool;
|
|
186
|
+
handleMessage(client: Client, message: Dict): void;
|
|
187
|
+
handleMyTrade(client: Client, message: Dict, extendParams?: Dict): void;
|
|
188
|
+
parseWsTrade(trade: Dict, market?: Market): Trade;
|
|
189
189
|
getUrlByMarketType(type: any, isLinear?: boolean, isPrivate?: boolean, isFeed?: boolean, isV5?: boolean): Str;
|
|
190
|
-
subscribePublic(url:
|
|
191
|
-
unsubscribePublic(market: Market, subMessageHash: string, topic: string, params?:
|
|
192
|
-
subscribePrivate(channel:
|
|
193
|
-
authenticate(params?:
|
|
190
|
+
subscribePublic(url: Str, symbol: Str, messageHash: Str, method?: any, params?: Dict): Promise<any>;
|
|
191
|
+
unsubscribePublic(market: Market, subMessageHash: string, topic: string, params?: Dict): Promise<any>;
|
|
192
|
+
subscribePrivate(channel: Str, messageHash: Str, type: Str, subtype: Str, params?: Dict, subscriptionParams?: Dict): Promise<any>;
|
|
193
|
+
authenticate(params?: Dict): Promise<any>;
|
|
194
194
|
}
|
package/js/src/pro/htx.js
CHANGED
|
@@ -223,7 +223,7 @@ export default class htx extends htxRest {
|
|
|
223
223
|
// }
|
|
224
224
|
// }
|
|
225
225
|
//
|
|
226
|
-
const tick = this.
|
|
226
|
+
const tick = this.safeDict(message, 'tick', {});
|
|
227
227
|
const ch = this.safeString(message, 'ch');
|
|
228
228
|
if (ch === undefined) {
|
|
229
229
|
return message;
|
|
@@ -232,7 +232,7 @@ export default class htx extends htxRest {
|
|
|
232
232
|
const marketId = this.safeString(parts, 1);
|
|
233
233
|
const market = this.safeMarket(marketId);
|
|
234
234
|
const ticker = this.parseTicker(tick, market);
|
|
235
|
-
const timestamp = this.
|
|
235
|
+
const timestamp = this.safeInteger(message, 'ts');
|
|
236
236
|
ticker['timestamp'] = timestamp;
|
|
237
237
|
ticker['datetime'] = this.iso8601(timestamp);
|
|
238
238
|
const symbol = ticker['symbol'];
|
|
@@ -312,8 +312,8 @@ export default class htx extends htxRest {
|
|
|
312
312
|
// }
|
|
313
313
|
// }
|
|
314
314
|
//
|
|
315
|
-
const tick = this.
|
|
316
|
-
const data = this.
|
|
315
|
+
const tick = this.safeDict(message, 'tick', {});
|
|
316
|
+
const data = this.safeList(tick, 'data', []);
|
|
317
317
|
const ch = this.safeString(message, 'ch');
|
|
318
318
|
if (ch === undefined) {
|
|
319
319
|
return message;
|
|
@@ -415,7 +415,7 @@ export default class htx extends htxRest {
|
|
|
415
415
|
const symbol = market['symbol'];
|
|
416
416
|
const interval = this.safeString(parts, 3);
|
|
417
417
|
const timeframe = this.findTimeframe(interval);
|
|
418
|
-
this.ohlcvs[symbol] = this.
|
|
418
|
+
this.ohlcvs[symbol] = this.safeDict(this.ohlcvs, symbol, {});
|
|
419
419
|
let stored = this.safeValue(this.safeValue(this.ohlcvs, symbol), timeframe);
|
|
420
420
|
if (stored === undefined) {
|
|
421
421
|
const limit = this.safeInteger(this.options, 'OHLCVLimit', 1000);
|
|
@@ -539,11 +539,11 @@ export default class htx extends htxRest {
|
|
|
539
539
|
const lastTimestamp = this.safeInteger(subscription, 'lastTimestamp');
|
|
540
540
|
try {
|
|
541
541
|
const orderbook = this.safeValue(this.orderbooks, symbol);
|
|
542
|
-
const data = this.
|
|
542
|
+
const data = this.safeDict(message, 'data');
|
|
543
543
|
const messages = orderbook.cache;
|
|
544
|
-
const firstMessage = this.
|
|
544
|
+
const firstMessage = this.safeDict(messages, 0, {});
|
|
545
545
|
const snapshot = this.parseOrderBook(data, symbol);
|
|
546
|
-
const tick = this.
|
|
546
|
+
const tick = this.safeDict(firstMessage, 'tick');
|
|
547
547
|
const sequence = this.safeInteger(tick, 'prevSeqNum');
|
|
548
548
|
const nonce = this.safeInteger(data, 'seqNum');
|
|
549
549
|
if (nonce === undefined) {
|
|
@@ -721,7 +721,7 @@ export default class htx extends htxRest {
|
|
|
721
721
|
const market = this.safeMarket(marketId);
|
|
722
722
|
const symbol = market['symbol'];
|
|
723
723
|
const orderbook = this.orderbooks[symbol];
|
|
724
|
-
const tick = this.
|
|
724
|
+
const tick = this.safeDict(message, 'tick', {});
|
|
725
725
|
const seqNum = this.safeInteger(tick, 'seqNum');
|
|
726
726
|
const prevSeqNum = this.safeInteger(tick, 'prevSeqNum');
|
|
727
727
|
const event = this.safeString(tick, 'event');
|
|
@@ -741,8 +741,8 @@ export default class htx extends htxRest {
|
|
|
741
741
|
const spotConditon = (market['spot'] === true) && (prevSeqNum === orderbook['nonce']);
|
|
742
742
|
const nonSpotCondition = (market['contract'] === true) && (version !== undefined) && (version - 1 === orderbook['nonce']);
|
|
743
743
|
if ((spotConditon === true) || (nonSpotCondition === true)) {
|
|
744
|
-
const asks = this.
|
|
745
|
-
const bids = this.
|
|
744
|
+
const asks = this.safeList(tick, 'asks', []);
|
|
745
|
+
const bids = this.safeList(tick, 'bids', []);
|
|
746
746
|
this.handleDeltas(orderbook['asks'], asks);
|
|
747
747
|
this.handleDeltas(orderbook['bids'], bids);
|
|
748
748
|
orderbook['nonce'] = (spotConditon === true) ? seqNum : version;
|
|
@@ -891,7 +891,7 @@ export default class htx extends htxRest {
|
|
|
891
891
|
const channelAndMessageHashAndParams = this.getV5LinearChannelAndMessageHash('trade', market, params);
|
|
892
892
|
channel = this.safeString(channelAndMessageHashAndParams, 0);
|
|
893
893
|
messageHash = this.safeString(channelAndMessageHashAndParams, 1);
|
|
894
|
-
params = this.
|
|
894
|
+
params = this.safeDict(channelAndMessageHashAndParams, 2, {});
|
|
895
895
|
}
|
|
896
896
|
else {
|
|
897
897
|
const channelAndMessageHash = this.getOrderChannelAndMessageHash(type, subType, market, params);
|
|
@@ -1022,7 +1022,7 @@ export default class htx extends htxRest {
|
|
|
1022
1022
|
const channelAndMessageHashAndParams = this.getV5LinearChannelAndMessageHash('orders', market, params);
|
|
1023
1023
|
channel = this.safeString(channelAndMessageHashAndParams, 0);
|
|
1024
1024
|
messageHash = this.safeString(channelAndMessageHashAndParams, 1);
|
|
1025
|
-
params = this.
|
|
1025
|
+
params = this.safeDict(channelAndMessageHashAndParams, 2, {});
|
|
1026
1026
|
}
|
|
1027
1027
|
else {
|
|
1028
1028
|
const channelAndMessageHash = this.getOrderChannelAndMessageHash(type, subType, market, params);
|
|
@@ -1209,7 +1209,7 @@ export default class htx extends htxRest {
|
|
|
1209
1209
|
// }
|
|
1210
1210
|
//
|
|
1211
1211
|
const messageHash = this.safeString2(message, 'ch', 'topic');
|
|
1212
|
-
const data = this.
|
|
1212
|
+
const data = this.safeDict(message, 'data');
|
|
1213
1213
|
let marketId = this.safeString(message, 'contract_code');
|
|
1214
1214
|
if (marketId === undefined) {
|
|
1215
1215
|
marketId = this.safeString2(data, 'contract_code', 'symbol');
|
|
@@ -1553,7 +1553,7 @@ export default class htx extends htxRest {
|
|
|
1553
1553
|
side = typeParts[0];
|
|
1554
1554
|
type = typeParts[1];
|
|
1555
1555
|
}
|
|
1556
|
-
const aggressor = this.
|
|
1556
|
+
const aggressor = this.safeBool(trade, 'aggressor');
|
|
1557
1557
|
let takerOrMaker = undefined;
|
|
1558
1558
|
if (aggressor !== undefined) {
|
|
1559
1559
|
takerOrMaker = (aggressor === true) ? 'taker' : 'maker';
|
|
@@ -1628,7 +1628,7 @@ export default class htx extends htxRest {
|
|
|
1628
1628
|
}
|
|
1629
1629
|
const channelAndMessageHashAndParams = this.getV5LinearChannelAndMessageHash('positions', v5Market, params);
|
|
1630
1630
|
channel = this.safeString(channelAndMessageHashAndParams, 0);
|
|
1631
|
-
params = this.
|
|
1631
|
+
params = this.safeDict(channelAndMessageHashAndParams, 2, {});
|
|
1632
1632
|
}
|
|
1633
1633
|
const subscriptionParams = {
|
|
1634
1634
|
'isV5': isV5Linear,
|
|
@@ -1726,7 +1726,7 @@ export default class htx extends htxRest {
|
|
|
1726
1726
|
if (this.positions === undefined) {
|
|
1727
1727
|
this.positions = {};
|
|
1728
1728
|
}
|
|
1729
|
-
const clientPositions = this.
|
|
1729
|
+
const clientPositions = this.safeDict(this.positions, url);
|
|
1730
1730
|
if (clientPositions === undefined) {
|
|
1731
1731
|
this.positions[url] = {};
|
|
1732
1732
|
}
|
|
@@ -1759,14 +1759,14 @@ export default class htx extends htxRest {
|
|
|
1759
1759
|
this.positions[url][marginMode] = cache;
|
|
1760
1760
|
}
|
|
1761
1761
|
newPositions.push(position);
|
|
1762
|
-
positionsByMarginMode[marginMode] = this.
|
|
1762
|
+
positionsByMarginMode[marginMode] = this.safeList(positionsByMarginMode, marginMode, []);
|
|
1763
1763
|
positionsByMarginMode[marginMode].push(position);
|
|
1764
1764
|
cache.append(position);
|
|
1765
1765
|
}
|
|
1766
1766
|
const marginModes = Object.keys(positionsByMarginMode);
|
|
1767
1767
|
for (let i = 0; i < marginModes.length; i++) {
|
|
1768
1768
|
const marginMode = marginModes[i];
|
|
1769
|
-
const marginModePositions = this.
|
|
1769
|
+
const marginModePositions = this.safeList(positionsByMarginMode, marginMode, []);
|
|
1770
1770
|
const messageHashes = this.findMessageHashes(client, marginMode + ':positions::');
|
|
1771
1771
|
for (let j = 0; j < messageHashes.length; j++) {
|
|
1772
1772
|
const messageHash = messageHashes[j];
|
|
@@ -1796,7 +1796,7 @@ export default class htx extends htxRest {
|
|
|
1796
1796
|
[type, params] = this.handleMarketTypeAndParams('watchBalance', undefined, params);
|
|
1797
1797
|
let subType = undefined;
|
|
1798
1798
|
[subType, params] = this.handleSubTypeAndParams('watchBalance', undefined, params, 'linear');
|
|
1799
|
-
const isUnifiedAccount = this.
|
|
1799
|
+
const isUnifiedAccount = this.safeBool2(params, 'isUnifiedAccount', 'unified', false);
|
|
1800
1800
|
params = this.omit(params, ['isUnifiedAccount', 'unified']);
|
|
1801
1801
|
if (this.markets === undefined) {
|
|
1802
1802
|
await this.loadMarkets();
|
|
@@ -2063,10 +2063,10 @@ export default class htx extends htxRest {
|
|
|
2063
2063
|
if (dataLength === 0) {
|
|
2064
2064
|
return;
|
|
2065
2065
|
}
|
|
2066
|
-
const first = this.
|
|
2066
|
+
const first = this.safeDict(data, 0, {});
|
|
2067
2067
|
const splitTopic = topic.split('.');
|
|
2068
2068
|
let messageHash = this.safeString(splitTopic, 0);
|
|
2069
|
-
let subscription = this.
|
|
2069
|
+
let subscription = this.safeDict2(client.subscriptions, messageHash, messageHash + '.*');
|
|
2070
2070
|
if (subscription === undefined) {
|
|
2071
2071
|
// if subscription not found means that we subscribed to a specific currency/symbol
|
|
2072
2072
|
// and we use the first data entry to find it
|
|
@@ -2078,7 +2078,7 @@ export default class htx extends htxRest {
|
|
|
2078
2078
|
return;
|
|
2079
2079
|
}
|
|
2080
2080
|
messageHash += '.' + currencyId.toLowerCase();
|
|
2081
|
-
subscription = this.
|
|
2081
|
+
subscription = this.safeDict(client.subscriptions, messageHash);
|
|
2082
2082
|
}
|
|
2083
2083
|
const subType = this.safeString(subscription, 'subType');
|
|
2084
2084
|
if (topic === 'accounts_unify') {
|
|
@@ -2298,7 +2298,7 @@ export default class htx extends htxRest {
|
|
|
2298
2298
|
// // ?
|
|
2299
2299
|
// }
|
|
2300
2300
|
//
|
|
2301
|
-
const ch = this.
|
|
2301
|
+
const ch = this.safeString(message, 'ch', '');
|
|
2302
2302
|
const parts = ch.split('.');
|
|
2303
2303
|
const type = this.safeString(parts, 0);
|
|
2304
2304
|
if (type === 'market') {
|
|
@@ -2365,7 +2365,7 @@ export default class htx extends htxRest {
|
|
|
2365
2365
|
}
|
|
2366
2366
|
const action = this.safeString(message, 'action');
|
|
2367
2367
|
if (action === 'ping') {
|
|
2368
|
-
const data = this.
|
|
2368
|
+
const data = this.safeDict(message, 'data');
|
|
2369
2369
|
const pingTs = this.safeInteger(data, 'ts');
|
|
2370
2370
|
await client.send({ 'action': 'pong', 'data': { 'ts': pingTs } });
|
|
2371
2371
|
return;
|
|
@@ -2447,7 +2447,7 @@ export default class htx extends htxRest {
|
|
|
2447
2447
|
return false;
|
|
2448
2448
|
}
|
|
2449
2449
|
const subscriptionsById = this.indexBy(client.subscriptions, 'id');
|
|
2450
|
-
const subscription = this.
|
|
2450
|
+
const subscription = this.safeDict(subscriptionsById, id);
|
|
2451
2451
|
if (subscription !== undefined) {
|
|
2452
2452
|
const errorCode = this.safeString(message, 'err-code');
|
|
2453
2453
|
try {
|
|
@@ -2710,7 +2710,7 @@ export default class htx extends htxRest {
|
|
|
2710
2710
|
// this trades object is artificially created
|
|
2711
2711
|
// in handleOrder
|
|
2712
2712
|
const rawTrades = this.safeList(message, 'trades', []);
|
|
2713
|
-
const marketId = this.
|
|
2713
|
+
const marketId = this.safeString(message, 'symbol');
|
|
2714
2714
|
const market = this.market(marketId);
|
|
2715
2715
|
for (let i = 0; i < rawTrades.length; i++) {
|
|
2716
2716
|
const trade = rawTrades[i];
|
|
@@ -2790,7 +2790,7 @@ export default class htx extends htxRest {
|
|
|
2790
2790
|
const order = this.safeString2(trade, 'orderId', 'order_id');
|
|
2791
2791
|
const timestamp = this.safeIntegerN(trade, ['tradeTime', 'updated_time', 'created_time']);
|
|
2792
2792
|
const orderType = this.safeString2(trade, 'orderType', 'type');
|
|
2793
|
-
const aggressor = this.
|
|
2793
|
+
const aggressor = this.safeBool(trade, 'aggressor');
|
|
2794
2794
|
let takerOrMaker = undefined;
|
|
2795
2795
|
if (aggressor !== undefined) {
|
|
2796
2796
|
takerOrMaker = (aggressor === true) ? 'taker' : 'maker';
|