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/dist/cjs/src/pro/okx.js
CHANGED
|
@@ -239,7 +239,7 @@ class okx extends okx$1["default"] {
|
|
|
239
239
|
const url = this.getUrl(channel, access);
|
|
240
240
|
const trades = await this.watchMultiple(url, messageHashes, request, messageHashes);
|
|
241
241
|
if (this.newUpdates) {
|
|
242
|
-
const first = this.
|
|
242
|
+
const first = this.safeDict(trades, 0);
|
|
243
243
|
const tradeSymbol = this.safeString(first, 'symbol');
|
|
244
244
|
limit = trades.getLimit(tradeSymbol, limit);
|
|
245
245
|
}
|
|
@@ -329,7 +329,7 @@ class okx extends okx$1["default"] {
|
|
|
329
329
|
// ]
|
|
330
330
|
// }
|
|
331
331
|
//
|
|
332
|
-
const arg = this.
|
|
332
|
+
const arg = this.safeDict(message, 'arg', {});
|
|
333
333
|
const channel = this.safeString(arg, 'channel');
|
|
334
334
|
const marketId = this.safeString(arg, 'instId');
|
|
335
335
|
const symbol = this.safeSymbol(marketId);
|
|
@@ -597,7 +597,7 @@ class okx extends okx$1["default"] {
|
|
|
597
597
|
// ]
|
|
598
598
|
// }
|
|
599
599
|
//
|
|
600
|
-
const arg = this.
|
|
600
|
+
const arg = this.safeDict(message, 'arg', {});
|
|
601
601
|
const marketId = this.safeString(arg, 'instId');
|
|
602
602
|
const market = this.safeMarket(marketId, undefined, '-');
|
|
603
603
|
const symbol = market['symbol'];
|
|
@@ -860,7 +860,7 @@ class okx extends okx$1["default"] {
|
|
|
860
860
|
if (this.markets === undefined) {
|
|
861
861
|
await this.loadMarkets();
|
|
862
862
|
}
|
|
863
|
-
const isTrigger = this.
|
|
863
|
+
const isTrigger = this.safeBool2(params, 'stop', 'trigger', false);
|
|
864
864
|
params = this.omit(params, ['stop', 'trigger']);
|
|
865
865
|
const accessType = (isTrigger === true) ? 'business' : 'private';
|
|
866
866
|
await this.authenticate({ 'access': accessType });
|
|
@@ -1173,7 +1173,7 @@ class okx extends okx$1["default"] {
|
|
|
1173
1173
|
// ]
|
|
1174
1174
|
// }
|
|
1175
1175
|
//
|
|
1176
|
-
const arg = this.
|
|
1176
|
+
const arg = this.safeDict(message, 'arg', {});
|
|
1177
1177
|
const channel = this.safeString(arg, 'channel');
|
|
1178
1178
|
if (channel === undefined) {
|
|
1179
1179
|
return;
|
|
@@ -1187,8 +1187,8 @@ class okx extends okx$1["default"] {
|
|
|
1187
1187
|
const timeframe = this.findTimeframe(interval);
|
|
1188
1188
|
for (let i = 0; i < data.length; i++) {
|
|
1189
1189
|
const parsed = this.parseOHLCV(data[i], market);
|
|
1190
|
-
this.ohlcvs[symbol] = this.
|
|
1191
|
-
let stored = this.safeValue(this.
|
|
1190
|
+
this.ohlcvs[symbol] = this.safeDict(this.ohlcvs, symbol, {});
|
|
1191
|
+
let stored = this.safeValue(this.safeDict(this.ohlcvs, symbol), timeframe);
|
|
1192
1192
|
if (stored === undefined) {
|
|
1193
1193
|
const limit = this.safeInteger(this.options, 'OHLCVLimit', 1000);
|
|
1194
1194
|
stored = new Cache.ArrayCacheByTimestamp(limit);
|
|
@@ -1386,8 +1386,8 @@ class okx extends okx$1["default"] {
|
|
|
1386
1386
|
// "seqId": 123457
|
|
1387
1387
|
// }
|
|
1388
1388
|
//
|
|
1389
|
-
const asks = this.
|
|
1390
|
-
const bids = this.
|
|
1389
|
+
const asks = this.safeList(message, 'asks', []);
|
|
1390
|
+
const bids = this.safeList(message, 'bids', []);
|
|
1391
1391
|
const storedAsks = orderbook['asks'];
|
|
1392
1392
|
const storedBids = orderbook['bids'];
|
|
1393
1393
|
this.handleDeltas(storedAsks, asks);
|
|
@@ -1712,7 +1712,7 @@ class okx extends okx$1["default"] {
|
|
|
1712
1712
|
// ]
|
|
1713
1713
|
// }
|
|
1714
1714
|
//
|
|
1715
|
-
const arg = this.
|
|
1715
|
+
const arg = this.safeDict(message, 'arg', {});
|
|
1716
1716
|
const channel = this.safeString(arg, 'channel');
|
|
1717
1717
|
const balance = this.parseTradingBalance(message);
|
|
1718
1718
|
const newBalance = this.deepExtend(this.balance, balance);
|
|
@@ -1720,7 +1720,7 @@ class okx extends okx$1["default"] {
|
|
|
1720
1720
|
client.resolve(this.balance, channel);
|
|
1721
1721
|
}
|
|
1722
1722
|
orderToTrade(order, market = undefined) {
|
|
1723
|
-
const info = this.
|
|
1723
|
+
const info = this.safeDict(order, 'info', {});
|
|
1724
1724
|
const timestamp = this.safeInteger(info, 'fillTime');
|
|
1725
1725
|
const feeMarketId = this.safeString(info, 'fillFeeCcy');
|
|
1726
1726
|
const isTaker = this.safeString(info, 'execType', '') === 'T';
|
|
@@ -1910,7 +1910,7 @@ class okx extends okx$1["default"] {
|
|
|
1910
1910
|
// }]
|
|
1911
1911
|
// }
|
|
1912
1912
|
//
|
|
1913
|
-
const arg = this.
|
|
1913
|
+
const arg = this.safeDict(message, 'arg', {});
|
|
1914
1914
|
const marketId = this.safeString(arg, 'instId');
|
|
1915
1915
|
const market = this.safeMarket(marketId, undefined, '-');
|
|
1916
1916
|
const symbol = market['symbol'];
|
|
@@ -1958,7 +1958,7 @@ class okx extends okx$1["default"] {
|
|
|
1958
1958
|
let type = undefined;
|
|
1959
1959
|
// By default, receive order updates from any instrument type
|
|
1960
1960
|
[type, params] = this.handleOptionAndParams(params, 'watchOrders', 'type', 'ANY');
|
|
1961
|
-
const isTrigger = this.
|
|
1961
|
+
const isTrigger = this.safeBool2(params, 'stop', 'trigger', false);
|
|
1962
1962
|
params = this.omit(params, ['stop', 'trigger']);
|
|
1963
1963
|
if (this.markets === undefined) {
|
|
1964
1964
|
await this.loadMarkets();
|
|
@@ -2051,7 +2051,7 @@ class okx extends okx$1["default"] {
|
|
|
2051
2051
|
// }
|
|
2052
2052
|
//
|
|
2053
2053
|
this.handleMyTrades(client, message);
|
|
2054
|
-
const arg = this.
|
|
2054
|
+
const arg = this.safeDict(message, 'arg', {});
|
|
2055
2055
|
const channel = this.safeString(arg, 'channel');
|
|
2056
2056
|
const orders = this.safeList(message, 'data', []);
|
|
2057
2057
|
const ordersLength = orders.length;
|
|
@@ -2133,7 +2133,7 @@ class okx extends okx$1["default"] {
|
|
|
2133
2133
|
// ]
|
|
2134
2134
|
// }
|
|
2135
2135
|
//
|
|
2136
|
-
const arg = this.
|
|
2136
|
+
const arg = this.safeDict(message, 'arg', {});
|
|
2137
2137
|
const channel = this.safeString(arg, 'channel');
|
|
2138
2138
|
const rawOrders = this.safeList(message, 'data', []);
|
|
2139
2139
|
const filteredOrders = [];
|
|
@@ -2243,7 +2243,7 @@ class okx extends okx$1["default"] {
|
|
|
2243
2243
|
// }
|
|
2244
2244
|
//
|
|
2245
2245
|
const messageHash = this.safeString(message, 'id');
|
|
2246
|
-
let args = this.
|
|
2246
|
+
let args = this.safeList(message, 'data', []);
|
|
2247
2247
|
// filter out partial errors
|
|
2248
2248
|
args = this.filterBy(args, 'sCode', '0');
|
|
2249
2249
|
// if empty means request failed and handle error
|
|
@@ -2426,7 +2426,7 @@ class okx extends okx$1["default"] {
|
|
|
2426
2426
|
// }
|
|
2427
2427
|
//
|
|
2428
2428
|
const messageHash = this.safeString(message, 'id');
|
|
2429
|
-
const data = this.
|
|
2429
|
+
const data = this.safeList(message, 'data', []);
|
|
2430
2430
|
client.resolve(data, messageHash);
|
|
2431
2431
|
}
|
|
2432
2432
|
handleSubscriptionStatus(client, message) {
|
|
@@ -2466,7 +2466,7 @@ class okx extends okx$1["default"] {
|
|
|
2466
2466
|
if (errorCode !== '1') {
|
|
2467
2467
|
this.throwExactlyMatchedException(this.exceptions['exact'], errorCode, feedback);
|
|
2468
2468
|
}
|
|
2469
|
-
let messageString = this.
|
|
2469
|
+
let messageString = this.safeString(message, 'msg');
|
|
2470
2470
|
if (messageString !== undefined) {
|
|
2471
2471
|
this.throwBroadlyMatchedException(this.exceptions['broad'], messageString, feedback);
|
|
2472
2472
|
}
|
|
@@ -2478,7 +2478,7 @@ class okx extends okx$1["default"] {
|
|
|
2478
2478
|
if (errorCode !== undefined) {
|
|
2479
2479
|
this.throwExactlyMatchedException(this.exceptions['exact'], errorCode, feedback);
|
|
2480
2480
|
}
|
|
2481
|
-
messageString = this.
|
|
2481
|
+
messageString = this.safeString(d, 'sMsg');
|
|
2482
2482
|
if (messageString !== undefined) {
|
|
2483
2483
|
this.throwBroadlyMatchedException(this.exceptions['broad'], messageString, feedback);
|
|
2484
2484
|
}
|
|
@@ -2579,7 +2579,7 @@ class okx extends okx$1["default"] {
|
|
|
2579
2579
|
}
|
|
2580
2580
|
}
|
|
2581
2581
|
else {
|
|
2582
|
-
const arg = this.
|
|
2582
|
+
const arg = this.safeDict(message, 'arg', {});
|
|
2583
2583
|
const channel = this.safeString(arg, 'channel');
|
|
2584
2584
|
if (channel === undefined) {
|
|
2585
2585
|
return;
|
|
@@ -383,7 +383,7 @@ class onetrading extends onetrading$1["default"] {
|
|
|
383
383
|
orderbook.reset(snapshot);
|
|
384
384
|
}
|
|
385
385
|
else if (type === 'ORDER_BOOK_UPDATE') {
|
|
386
|
-
const changes = this.
|
|
386
|
+
const changes = this.safeList(message, 'changes', []);
|
|
387
387
|
this.handleDeltas(orderbook, changes);
|
|
388
388
|
}
|
|
389
389
|
else {
|
|
@@ -968,7 +968,7 @@ class onetrading extends onetrading$1["default"] {
|
|
|
968
968
|
}
|
|
969
969
|
let symbol = undefined;
|
|
970
970
|
const orders = this.orders;
|
|
971
|
-
const update = this.
|
|
971
|
+
const update = this.safeDict(message, 'update', {});
|
|
972
972
|
const updateType = this.safeString(update, 'type');
|
|
973
973
|
if (updateType === 'ORDER_REJECTED' || updateType === 'ORDER_CLOSED' || updateType === 'STOP_ORDER_TRIGGERED') {
|
|
974
974
|
const orderId = this.safeString(update, 'order_id');
|
|
@@ -1063,8 +1063,8 @@ class onetrading extends onetrading$1["default"] {
|
|
|
1063
1063
|
symbol = market['symbol'];
|
|
1064
1064
|
const marketId = market['id'];
|
|
1065
1065
|
const url = this.urls['api']['ws'];
|
|
1066
|
-
const timeframes = this.
|
|
1067
|
-
const timeframeId = this.
|
|
1066
|
+
const timeframes = this.safeDict(this.options, 'timeframes', {});
|
|
1067
|
+
const timeframeId = this.safeDict(timeframes, timeframe);
|
|
1068
1068
|
if (timeframeId === undefined) {
|
|
1069
1069
|
throw new errors.NotSupported(this.id + ' this interval is not supported, please provide one of the supported timeframes');
|
|
1070
1070
|
}
|
|
@@ -1076,7 +1076,7 @@ class onetrading extends onetrading$1["default"] {
|
|
|
1076
1076
|
if (client !== undefined) {
|
|
1077
1077
|
subscription = this.safeValue(client.subscriptions, subscriptionHash);
|
|
1078
1078
|
if (subscription !== undefined) {
|
|
1079
|
-
const ohlcvMarket = this.
|
|
1079
|
+
const ohlcvMarket = this.safeDict(subscription, marketId, {});
|
|
1080
1080
|
const marketSubscribed = this.safeBool(ohlcvMarket, timeframe, false);
|
|
1081
1081
|
if (marketSubscribed !== true) {
|
|
1082
1082
|
type = 'UPDATE_SUBSCRIPTION';
|
|
@@ -1087,7 +1087,7 @@ class onetrading extends onetrading$1["default"] {
|
|
|
1087
1087
|
subscription = {};
|
|
1088
1088
|
}
|
|
1089
1089
|
}
|
|
1090
|
-
const subscriptionMarketId = this.
|
|
1090
|
+
const subscriptionMarketId = this.safeDict(subscription, marketId);
|
|
1091
1091
|
if (subscriptionMarketId === undefined) {
|
|
1092
1092
|
if (marketId !== undefined) {
|
|
1093
1093
|
subscription[marketId] = {};
|
|
@@ -1101,7 +1101,7 @@ class onetrading extends onetrading$1["default"] {
|
|
|
1101
1101
|
for (let i = 0; i < marketIds.length; i++) {
|
|
1102
1102
|
const marketIdtimeframes = Object.keys(subscription[marketIds[i]]);
|
|
1103
1103
|
for (let ii = 0; ii < marketIdtimeframes.length; ii++) {
|
|
1104
|
-
const marketTimeframeId = this.
|
|
1104
|
+
const marketTimeframeId = this.safeDict(timeframes, timeframe);
|
|
1105
1105
|
const property = {
|
|
1106
1106
|
'instrument_code': marketIds[i],
|
|
1107
1107
|
'time_granularity': marketTimeframeId,
|
|
@@ -1162,8 +1162,8 @@ class onetrading extends onetrading$1["default"] {
|
|
|
1162
1162
|
const marketId = this.safeString(message, 'instrument_code');
|
|
1163
1163
|
const symbol = this.safeSymbol(marketId);
|
|
1164
1164
|
const dateTime = this.safeString(message, 'time');
|
|
1165
|
-
const timeframeId = this.
|
|
1166
|
-
const timeframes = this.
|
|
1165
|
+
const timeframeId = this.safeDict(message, 'granularity');
|
|
1166
|
+
const timeframes = this.safeDict(this.options, 'timeframes', {});
|
|
1167
1167
|
const timeframe = this.findTimeframe(timeframeId, timeframes);
|
|
1168
1168
|
const channel = 'ohlcv.' + symbol + '.' + timeframe;
|
|
1169
1169
|
const parsed = [
|
|
@@ -1174,8 +1174,8 @@ class onetrading extends onetrading$1["default"] {
|
|
|
1174
1174
|
this.safeNumber(message, 'close'),
|
|
1175
1175
|
this.safeNumber(message, 'volume'),
|
|
1176
1176
|
];
|
|
1177
|
-
this.ohlcvs[symbol] = this.
|
|
1178
|
-
let stored = this.safeValue(this.
|
|
1177
|
+
this.ohlcvs[symbol] = this.safeDict(this.ohlcvs, symbol, {});
|
|
1178
|
+
let stored = this.safeValue(this.safeDict(this.ohlcvs, symbol), timeframe);
|
|
1179
1179
|
if (stored === undefined) {
|
|
1180
1180
|
const limit = this.safeInteger(this.options, 'OHLCVLimit', 1000);
|
|
1181
1181
|
stored = new Cache.ArrayCacheByTimestamp(limit);
|
|
@@ -1239,12 +1239,12 @@ class onetrading extends onetrading$1["default"] {
|
|
|
1239
1239
|
throw new errors.ExchangeError(this.id + ' ' + this.json(message));
|
|
1240
1240
|
}
|
|
1241
1241
|
handleMessage(client, message) {
|
|
1242
|
-
const error = this.
|
|
1242
|
+
const error = this.safeString(message, 'error');
|
|
1243
1243
|
if (error !== undefined) {
|
|
1244
1244
|
this.handleErrorMessage(client, message);
|
|
1245
1245
|
return;
|
|
1246
1246
|
}
|
|
1247
|
-
const type = this.
|
|
1247
|
+
const type = this.safeString(message, 'type');
|
|
1248
1248
|
const handlers = {
|
|
1249
1249
|
'ORDER_BOOK_UPDATE': this.handleOrderBook,
|
|
1250
1250
|
'ORDER_BOOK_SNAPSHOT': this.handleOrderBook,
|
|
@@ -1357,7 +1357,7 @@ class onetrading extends onetrading$1["default"] {
|
|
|
1357
1357
|
const client = this.client(url);
|
|
1358
1358
|
const messageHash = 'authenticated';
|
|
1359
1359
|
const future = client.reusableFuture('authenticated');
|
|
1360
|
-
const authenticated = this.
|
|
1360
|
+
const authenticated = this.safeDict(client.subscriptions, messageHash);
|
|
1361
1361
|
if (authenticated === undefined) {
|
|
1362
1362
|
this.checkRequiredCredentials();
|
|
1363
1363
|
const request = {
|
package/dist/cjs/src/pro/p2b.js
CHANGED
|
@@ -96,7 +96,7 @@ class p2b extends p2b$1["default"] {
|
|
|
96
96
|
if (this.markets === undefined) {
|
|
97
97
|
await this.loadMarkets();
|
|
98
98
|
}
|
|
99
|
-
const timeframes = this.
|
|
99
|
+
const timeframes = this.safeDict(this.options, 'timeframes', {});
|
|
100
100
|
const channel = this.safeInteger(timeframes, timeframe);
|
|
101
101
|
if (channel === undefined) {
|
|
102
102
|
throw new errors.BadRequest(this.id + ' watchOHLCV cannot take a timeframe of ' + timeframe);
|
|
@@ -220,7 +220,7 @@ class p2b extends p2b$1["default"] {
|
|
|
220
220
|
const query = this.extend(subscribe, params);
|
|
221
221
|
const trades = await this.watchMultiple(url, messageHashes, query, messageHashes);
|
|
222
222
|
if (this.newUpdates) {
|
|
223
|
-
const first = this.
|
|
223
|
+
const first = this.safeDict(trades, 0);
|
|
224
224
|
const tradeSymbol = this.safeString(first, 'symbol');
|
|
225
225
|
limit = trades.getLimit(tradeSymbol, limit);
|
|
226
226
|
}
|
|
@@ -426,7 +426,7 @@ class p2b extends p2b$1["default"] {
|
|
|
426
426
|
const market = this.safeMarket(marketId);
|
|
427
427
|
const symbol = market['symbol'];
|
|
428
428
|
const messageHash = 'orderbook::' + market['symbol'];
|
|
429
|
-
const subscription = this.
|
|
429
|
+
const subscription = this.safeDict(client.subscriptions, messageHash, {});
|
|
430
430
|
const limit = this.safeInteger(subscription, 'limit');
|
|
431
431
|
let orderbook = this.safeValue(this.orderbooks, symbol);
|
|
432
432
|
if (orderbook === undefined) {
|
|
@@ -442,7 +442,7 @@ class p2b extends p2b$1["default"] {
|
|
|
442
442
|
}
|
|
443
443
|
if (bids !== undefined) {
|
|
444
444
|
for (let i = 0; i < bids.length; i++) {
|
|
445
|
-
const bid = this.
|
|
445
|
+
const bid = this.safeList(bids, i);
|
|
446
446
|
const price = this.safeNumber(bid, 0);
|
|
447
447
|
const amount = this.safeNumber(bid, 1);
|
|
448
448
|
const bookSide = orderbook['bids'];
|
|
@@ -451,7 +451,7 @@ class p2b extends p2b$1["default"] {
|
|
|
451
451
|
}
|
|
452
452
|
if (asks !== undefined) {
|
|
453
453
|
for (let i = 0; i < asks.length; i++) {
|
|
454
|
-
const ask = this.
|
|
454
|
+
const ask = this.safeList(asks, i);
|
|
455
455
|
const price = this.safeNumber(ask, 0);
|
|
456
456
|
const amount = this.safeNumber(ask, 1);
|
|
457
457
|
const bookside = orderbook['asks'];
|
|
@@ -1051,7 +1051,7 @@ class pacifica extends pacifica$1["default"] {
|
|
|
1051
1051
|
if (!(symbol in this.ohlcvs)) {
|
|
1052
1052
|
this.ohlcvs[symbol] = {};
|
|
1053
1053
|
}
|
|
1054
|
-
const symbolOhlcvs = this.
|
|
1054
|
+
const symbolOhlcvs = this.safeDict(this.ohlcvs, symbol, {});
|
|
1055
1055
|
let ohlcv = this.safeValue(symbolOhlcvs, timeframe);
|
|
1056
1056
|
if (ohlcv === undefined) {
|
|
1057
1057
|
const limit = this.safeInteger(this.options, 'OHLCVLimit', 1000);
|
|
@@ -634,7 +634,7 @@ class paradex extends paradex$1["default"] {
|
|
|
634
634
|
// }
|
|
635
635
|
// }
|
|
636
636
|
//
|
|
637
|
-
const result = this.
|
|
637
|
+
const result = this.safeDict(message, 'result');
|
|
638
638
|
if (result !== undefined) {
|
|
639
639
|
this.handleAuthenticationMessage(client, message);
|
|
640
640
|
return;
|
|
@@ -371,7 +371,7 @@ class phemex extends phemex$1["default"] {
|
|
|
371
371
|
const balance = message[i];
|
|
372
372
|
const currencyId = this.safeString(balance, 'currency');
|
|
373
373
|
const code = this.safeCurrencyCode(currencyId);
|
|
374
|
-
const currency = this.
|
|
374
|
+
const currency = this.safeDict(this.currencies, code, {});
|
|
375
375
|
const scale = this.safeInteger(currency, 'valueScale', 8);
|
|
376
376
|
const account = this.account();
|
|
377
377
|
let used = this.safeString(balance, 'totalUsedBalanceRv');
|
|
@@ -437,7 +437,7 @@ class phemex extends phemex$1["default"] {
|
|
|
437
437
|
stored = new Cache.ArrayCache(limit);
|
|
438
438
|
this.trades[symbol] = stored;
|
|
439
439
|
}
|
|
440
|
-
const trades = this.
|
|
440
|
+
const trades = this.safeList2(message, 'trades', 'trades_p', []);
|
|
441
441
|
const parsed = this.parseTrades(trades, market);
|
|
442
442
|
for (let i = 0; i < parsed.length; i++) {
|
|
443
443
|
stored.append(parsed[i]);
|
|
@@ -479,15 +479,15 @@ class phemex extends phemex$1["default"] {
|
|
|
479
479
|
const marketId = this.safeString(message, 'symbol');
|
|
480
480
|
const market = this.safeMarket(marketId);
|
|
481
481
|
const symbol = market['symbol'];
|
|
482
|
-
const candles = this.
|
|
483
|
-
const first = this.
|
|
482
|
+
const candles = this.safeList2(message, 'kline', 'kline_p', []);
|
|
483
|
+
const first = this.safeList(candles, 0, []);
|
|
484
484
|
const interval = this.safeString(first, 1);
|
|
485
485
|
const timeframe = this.findTimeframe(interval);
|
|
486
486
|
if (timeframe !== undefined) {
|
|
487
487
|
const messageHash = 'kline:' + timeframe + ':' + symbol;
|
|
488
488
|
const ohlcvs = this.parseOHLCVs(candles, market);
|
|
489
|
-
this.ohlcvs[symbol] = this.
|
|
490
|
-
let stored = this.safeValue(this.
|
|
489
|
+
this.ohlcvs[symbol] = this.safeDict(this.ohlcvs, symbol, {});
|
|
490
|
+
let stored = this.safeValue(this.safeDict(this.ohlcvs, symbol), timeframe);
|
|
491
491
|
if (stored === undefined) {
|
|
492
492
|
const limit = this.safeInteger(this.options, 'OHLCVLimit', 1000);
|
|
493
493
|
stored = new Cache.ArrayCacheByTimestamp(limit);
|
|
@@ -766,7 +766,7 @@ class phemex extends phemex$1["default"] {
|
|
|
766
766
|
const nonce = this.safeInteger(message, 'sequence');
|
|
767
767
|
const timestamp = this.safeIntegerProduct(message, 'timestamp', 0.000001);
|
|
768
768
|
if (type === 'snapshot') {
|
|
769
|
-
const book = this.
|
|
769
|
+
const book = this.safeDict2(message, 'book', 'orderbook_p', {});
|
|
770
770
|
const snapshot = this.customParseOrderBook(book, symbol, timestamp, 'bids', 'asks', 0, 1, market);
|
|
771
771
|
snapshot['nonce'] = nonce;
|
|
772
772
|
const orderbook = this.orderBook(snapshot, depth);
|
|
@@ -1155,8 +1155,8 @@ class phemex extends phemex$1["default"] {
|
|
|
1155
1155
|
let trades = [];
|
|
1156
1156
|
const parsedOrders = [];
|
|
1157
1157
|
if (('closed' in message) || ('fills' in message) || ('open' in message)) {
|
|
1158
|
-
const closed = this.
|
|
1159
|
-
const open = this.
|
|
1158
|
+
const closed = this.safeList(message, 'closed', []);
|
|
1159
|
+
const open = this.safeList(message, 'open', []);
|
|
1160
1160
|
const orders = this.arrayConcat(open, closed);
|
|
1161
1161
|
const ordersLength = orders.length;
|
|
1162
1162
|
if (ordersLength === 0) {
|
|
@@ -1509,7 +1509,7 @@ class phemex extends phemex$1["default"] {
|
|
|
1509
1509
|
return;
|
|
1510
1510
|
}
|
|
1511
1511
|
if (('orders' in message) || ('orders_p' in message)) {
|
|
1512
|
-
const orders = this.
|
|
1512
|
+
const orders = this.safeDict2(message, 'orders', 'orders_p', {});
|
|
1513
1513
|
this.handleOrders(client, orders);
|
|
1514
1514
|
}
|
|
1515
1515
|
if (('accounts' in message) || ('accounts_p' in message) || ('wallets' in message)) {
|
|
@@ -1517,7 +1517,7 @@ class phemex extends phemex$1["default"] {
|
|
|
1517
1517
|
if ('accounts_p' in message) {
|
|
1518
1518
|
type = 'perpetual';
|
|
1519
1519
|
}
|
|
1520
|
-
const accounts = this.
|
|
1520
|
+
const accounts = this.safeListN(message, ['accounts', 'accounts_p', 'wallets'], []);
|
|
1521
1521
|
this.handleBalance(type, client, accounts);
|
|
1522
1522
|
}
|
|
1523
1523
|
}
|
|
@@ -1531,7 +1531,7 @@ class phemex extends phemex$1["default"] {
|
|
|
1531
1531
|
// }
|
|
1532
1532
|
// }
|
|
1533
1533
|
//
|
|
1534
|
-
const result = this.
|
|
1534
|
+
const result = this.safeDict(message, 'result');
|
|
1535
1535
|
const status = this.safeString(result, 'status');
|
|
1536
1536
|
const messageHash = 'authenticated';
|
|
1537
1537
|
if (status === 'success') {
|
|
@@ -1552,7 +1552,7 @@ class phemex extends phemex$1["default"] {
|
|
|
1552
1552
|
await this.authenticate();
|
|
1553
1553
|
const url = this.urls['api']['ws'];
|
|
1554
1554
|
const requestId = this.seconds();
|
|
1555
|
-
const settleIsUSDT = (this.
|
|
1555
|
+
const settleIsUSDT = (this.safeString(params, 'settle', '') === 'USDT');
|
|
1556
1556
|
params = this.omit(params, 'settle');
|
|
1557
1557
|
let channel = 'aop.subscribe';
|
|
1558
1558
|
if (type === 'spot') {
|
|
@@ -360,7 +360,7 @@ class poloniex extends poloniex$1["default"] {
|
|
|
360
360
|
if (this.markets === undefined) {
|
|
361
361
|
await this.loadMarkets();
|
|
362
362
|
}
|
|
363
|
-
const timeframes = this.
|
|
363
|
+
const timeframes = this.safeDict(this.options, 'timeframes', {});
|
|
364
364
|
const channel = this.safeString(timeframes, timeframe, timeframe);
|
|
365
365
|
if (channel === undefined) {
|
|
366
366
|
throw new errors.BadRequest(this.id + ' watchOHLCV cannot take a timeframe of ' + timeframe);
|
|
@@ -478,7 +478,7 @@ class poloniex extends poloniex$1["default"] {
|
|
|
478
478
|
if (this.markets === undefined) {
|
|
479
479
|
await this.loadMarkets();
|
|
480
480
|
}
|
|
481
|
-
const watchOrderBookOptions = this.
|
|
481
|
+
const watchOrderBookOptions = this.safeDict(this.options, 'watchOrderBook');
|
|
482
482
|
let name = this.safeString(watchOrderBookOptions, 'name', 'book_lv2');
|
|
483
483
|
[name, params] = this.handleOptionAndParams(params, 'watchOrderBook', 'name', name);
|
|
484
484
|
const orderbook = await this.subscribe(name, name, false, [symbol], params);
|
|
@@ -607,11 +607,11 @@ class poloniex extends poloniex$1["default"] {
|
|
|
607
607
|
const marketId = this.safeString(data, 'symbol');
|
|
608
608
|
const symbol = this.safeSymbol(marketId);
|
|
609
609
|
const market = this.safeMarket(symbol);
|
|
610
|
-
const timeframes = this.
|
|
610
|
+
const timeframes = this.safeDict(this.options, 'timeframes', {});
|
|
611
611
|
const timeframe = this.findTimeframe(channel, timeframes);
|
|
612
612
|
const messageHash = channel + '::' + symbol;
|
|
613
613
|
const parsed = this.parseWsOHLCV(data, market);
|
|
614
|
-
this.ohlcvs[symbol] = this.
|
|
614
|
+
this.ohlcvs[symbol] = this.safeDict(this.ohlcvs, symbol, {});
|
|
615
615
|
let stored = (timeframe === undefined) ? undefined : this.safeValue(this.safeValue(this.ohlcvs, symbol), timeframe);
|
|
616
616
|
if (symbol !== undefined) {
|
|
617
617
|
if (stored === undefined) {
|
|
@@ -842,7 +842,7 @@ class poloniex extends poloniex$1["default"] {
|
|
|
842
842
|
}
|
|
843
843
|
const marketIds = [];
|
|
844
844
|
for (let i = 0; i < data.length; i++) {
|
|
845
|
-
const order = this.
|
|
845
|
+
const order = this.safeDict(data, i);
|
|
846
846
|
const marketId = this.safeString(order, 'symbol');
|
|
847
847
|
const eventType = this.safeString(order, 'eventType');
|
|
848
848
|
if (marketId !== undefined) {
|
|
@@ -854,8 +854,8 @@ class poloniex extends poloniex$1["default"] {
|
|
|
854
854
|
orders.append(parsed);
|
|
855
855
|
}
|
|
856
856
|
else {
|
|
857
|
-
const previousOrders = this.
|
|
858
|
-
const previousOrder = this.
|
|
857
|
+
const previousOrders = this.safeDict(orders.hashmap, symbol, {});
|
|
858
|
+
const previousOrder = this.safeDict2(previousOrders, orderId, clientOrderId);
|
|
859
859
|
const trade = this.parseWsTrade(order);
|
|
860
860
|
this.handleMyTrades(client, trade);
|
|
861
861
|
if (previousOrder === undefined) {
|
|
@@ -1107,11 +1107,11 @@ class poloniex extends poloniex$1["default"] {
|
|
|
1107
1107
|
const symbol = market['symbol'];
|
|
1108
1108
|
const name = 'book_lv2';
|
|
1109
1109
|
const messageHash = name + '::' + symbol;
|
|
1110
|
-
const subscription = this.
|
|
1110
|
+
const subscription = this.safeDict(client.subscriptions, messageHash, {});
|
|
1111
1111
|
const limit = this.safeInteger(subscription, 'limit');
|
|
1112
1112
|
const timestamp = this.safeInteger(item, 'ts');
|
|
1113
|
-
const asks = this.
|
|
1114
|
-
const bids = this.
|
|
1113
|
+
const asks = this.safeList(item, 'asks');
|
|
1114
|
+
const bids = this.safeList(item, 'bids');
|
|
1115
1115
|
if (snapshot || update) {
|
|
1116
1116
|
if (snapshot) {
|
|
1117
1117
|
this.orderbooks[symbol] = this.orderBook({}, limit);
|
|
@@ -1123,7 +1123,7 @@ class poloniex extends poloniex$1["default"] {
|
|
|
1123
1123
|
const orderbook = this.orderbooks[symbol];
|
|
1124
1124
|
if (bids !== undefined) {
|
|
1125
1125
|
for (let j = 0; j < bids.length; j++) {
|
|
1126
|
-
const bid = this.
|
|
1126
|
+
const bid = this.safeList(bids, j);
|
|
1127
1127
|
const price = this.safeNumber(bid, 0);
|
|
1128
1128
|
const amount = this.safeNumber(bid, 1);
|
|
1129
1129
|
const bidsSide = orderbook['bids'];
|
|
@@ -1132,7 +1132,7 @@ class poloniex extends poloniex$1["default"] {
|
|
|
1132
1132
|
}
|
|
1133
1133
|
if (asks !== undefined) {
|
|
1134
1134
|
for (let j = 0; j < asks.length; j++) {
|
|
1135
|
-
const ask = this.
|
|
1135
|
+
const ask = this.safeList(asks, j);
|
|
1136
1136
|
const price = this.safeNumber(ask, 0);
|
|
1137
1137
|
const amount = this.safeNumber(ask, 1);
|
|
1138
1138
|
const asksSide = orderbook['asks'];
|
|
@@ -1166,7 +1166,7 @@ class poloniex extends poloniex$1["default"] {
|
|
|
1166
1166
|
// ]
|
|
1167
1167
|
// }
|
|
1168
1168
|
//
|
|
1169
|
-
const data = this.
|
|
1169
|
+
const data = this.safeList(message, 'data', []);
|
|
1170
1170
|
const messageHash = 'balances';
|
|
1171
1171
|
this.balance = this.parseWsBalance(data);
|
|
1172
1172
|
client.resolve(this.balance, messageHash);
|
|
@@ -1188,7 +1188,7 @@ class poloniex extends poloniex$1["default"] {
|
|
|
1188
1188
|
// }
|
|
1189
1189
|
// ]
|
|
1190
1190
|
//
|
|
1191
|
-
const firstBalance = this.
|
|
1191
|
+
const firstBalance = this.safeDict(response, 0, {});
|
|
1192
1192
|
const timestamp = this.safeInteger(firstBalance, 'ts');
|
|
1193
1193
|
const result = {
|
|
1194
1194
|
'info': response,
|
|
@@ -1196,7 +1196,7 @@ class poloniex extends poloniex$1["default"] {
|
|
|
1196
1196
|
'datetime': this.iso8601(timestamp),
|
|
1197
1197
|
};
|
|
1198
1198
|
for (let i = 0; i < response.length; i++) {
|
|
1199
|
-
const balance = this.
|
|
1199
|
+
const balance = this.safeDict(response, i);
|
|
1200
1200
|
const currencyId = this.safeString(balance, 'currency');
|
|
1201
1201
|
const code = this.safeCurrencyCode(currencyId);
|
|
1202
1202
|
const newAccount = this.account();
|
|
@@ -1344,8 +1344,8 @@ class poloniex extends poloniex$1["default"] {
|
|
|
1344
1344
|
// "conn_id": "ce3dpomvha7dha97tvp0-2xh"
|
|
1345
1345
|
// }
|
|
1346
1346
|
//
|
|
1347
|
-
const data = this.
|
|
1348
|
-
const success = this.
|
|
1347
|
+
const data = this.safeDict(message, 'data');
|
|
1348
|
+
const success = this.safeBool(data, 'success');
|
|
1349
1349
|
const messageHash = 'authenticated';
|
|
1350
1350
|
if (success === true) {
|
|
1351
1351
|
client.resolve(message, messageHash);
|
|
@@ -203,7 +203,7 @@ class toobit extends toobit$1["default"] {
|
|
|
203
203
|
};
|
|
204
204
|
const trades = await this.watchMultiple(url, messageHashes, this.extend(request, params), messageHashes);
|
|
205
205
|
if (this.newUpdates) {
|
|
206
|
-
const first = this.
|
|
206
|
+
const first = this.safeDict(trades, 0);
|
|
207
207
|
const tradeSymbol = this.safeString(first, 'symbol');
|
|
208
208
|
limit = trades.getLimit(tradeSymbol, limit);
|
|
209
209
|
}
|
|
@@ -1194,7 +1194,7 @@ class toobit extends toobit$1["default"] {
|
|
|
1194
1194
|
}
|
|
1195
1195
|
}
|
|
1196
1196
|
async keepAliveListenKey(params = {}) {
|
|
1197
|
-
const options = this.
|
|
1197
|
+
const options = this.safeDict(this.options, 'ws', {});
|
|
1198
1198
|
const listenKey = this.safeString(options, 'listenKey');
|
|
1199
1199
|
if (listenKey === undefined) {
|
|
1200
1200
|
// A network error happened: we can't renew a listen key that does not exist.
|
|
@@ -139,7 +139,7 @@ class upbit extends upbit$1["default"] {
|
|
|
139
139
|
async watchTradesForSymbols(symbols, since = undefined, limit = undefined, params = {}) {
|
|
140
140
|
const trades = await this.watchPublicMultiple(symbols, 'trade');
|
|
141
141
|
if (this.newUpdates) {
|
|
142
|
-
const first = this.
|
|
142
|
+
const first = this.safeDict(trades, 0);
|
|
143
143
|
const tradeSymbol = this.safeString(first, 'symbol');
|
|
144
144
|
limit = trades.getLimit(tradeSymbol, limit);
|
|
145
145
|
}
|
|
@@ -247,7 +247,7 @@ class upbit extends upbit$1["default"] {
|
|
|
247
247
|
const marketId = this.safeString(message, 'code');
|
|
248
248
|
const symbol = this.safeSymbol(marketId, undefined, '-');
|
|
249
249
|
const type = this.safeString(message, 'stream_type');
|
|
250
|
-
const options = this.
|
|
250
|
+
const options = this.safeDict(this.options, 'watchOrderBook', {});
|
|
251
251
|
const limit = this.safeInteger(options, 'limit', 15);
|
|
252
252
|
if (type === 'SNAPSHOT') {
|
|
253
253
|
this.orderbooks[symbol] = this.orderBook({}, limit);
|
|
@@ -597,8 +597,8 @@ class upbit extends upbit$1["default"] {
|
|
|
597
597
|
this.orders = new Cache.ArrayCacheBySymbolById(limit);
|
|
598
598
|
}
|
|
599
599
|
const cachedOrders = this.orders;
|
|
600
|
-
const orders = (symbol === undefined) ? {} : this.
|
|
601
|
-
const order = (orderId === undefined) ? undefined : this.
|
|
600
|
+
const orders = (symbol === undefined) ? {} : this.safeDict(cachedOrders.hashmap, symbol, {});
|
|
601
|
+
const order = (orderId === undefined) ? undefined : this.safeDict(orders, orderId);
|
|
602
602
|
if (order !== undefined) {
|
|
603
603
|
const fee = this.safeValue(order, 'fee');
|
|
604
604
|
if (fee !== undefined) {
|
package/dist/cjs/src/pro/weex.js
CHANGED
|
@@ -399,7 +399,7 @@ class weex extends weex$1["default"] {
|
|
|
399
399
|
}
|
|
400
400
|
const trades = await this.subscribePublic(messageHashes, channels, isContract, params);
|
|
401
401
|
if (this.newUpdates) {
|
|
402
|
-
const first = this.
|
|
402
|
+
const first = this.safeDict(trades, 0);
|
|
403
403
|
const tradeSymbol = this.safeString(first, 'symbol');
|
|
404
404
|
limit = trades.getLimit(tradeSymbol, limit);
|
|
405
405
|
}
|
|
@@ -1595,7 +1595,7 @@ class weex extends weex$1["default"] {
|
|
|
1595
1595
|
'type': type,
|
|
1596
1596
|
};
|
|
1597
1597
|
const response = await this.fetchBalance(params);
|
|
1598
|
-
this.balance[type] = this.extend(response, this.
|
|
1598
|
+
this.balance[type] = this.extend(response, this.safeDict(this.balance, type, {}));
|
|
1599
1599
|
// don't remove the future from the .futures cache
|
|
1600
1600
|
if (messageHash in client.futures) {
|
|
1601
1601
|
const future = client.futures[messageHash];
|