ccxt 4.4.99 → 4.5.0
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 +4 -4
- package/dist/373.ccxt.browser.js +7630 -0
- package/dist/373.ccxt.browser.min.js +1 -0
- package/dist/ccxt.browser.min.js +8 -8
- package/dist/cjs/ccxt.js +288 -288
- package/dist/cjs/src/abstract/alpaca.js +4 -2
- package/dist/cjs/src/abstract/apex.js +4 -2
- package/dist/cjs/src/abstract/ascendex.js +4 -2
- package/dist/cjs/src/abstract/bigone.js +4 -2
- package/dist/cjs/src/abstract/binance.js +4 -2
- package/dist/cjs/src/abstract/bingx.js +4 -2
- package/dist/cjs/src/abstract/bit2c.js +4 -2
- package/dist/cjs/src/abstract/bitbank.js +4 -2
- package/dist/cjs/src/abstract/bitbns.js +4 -2
- package/dist/cjs/src/abstract/bitfinex.js +4 -2
- package/dist/cjs/src/abstract/bitflyer.js +4 -2
- package/dist/cjs/src/abstract/bitget.js +4 -2
- package/dist/cjs/src/abstract/bithumb.js +4 -2
- package/dist/cjs/src/abstract/bitmart.js +4 -2
- package/dist/cjs/src/abstract/bitmex.js +4 -2
- package/dist/cjs/src/abstract/bitopro.js +4 -2
- package/dist/cjs/src/abstract/bitrue.js +4 -2
- package/dist/cjs/src/abstract/bitso.js +4 -2
- package/dist/cjs/src/abstract/bitstamp.js +4 -2
- package/dist/cjs/src/abstract/bitteam.js +4 -2
- package/dist/cjs/src/abstract/bittrade.js +4 -2
- package/dist/cjs/src/abstract/bitvavo.js +4 -2
- package/dist/cjs/src/abstract/blockchaincom.js +4 -2
- package/dist/cjs/src/abstract/blofin.js +4 -2
- package/dist/cjs/src/abstract/btcalpha.js +4 -2
- package/dist/cjs/src/abstract/btcbox.js +4 -2
- package/dist/cjs/src/abstract/btcmarkets.js +4 -2
- package/dist/cjs/src/abstract/btcturk.js +4 -2
- package/dist/cjs/src/abstract/bybit.js +4 -2
- package/dist/cjs/src/abstract/cex.js +4 -2
- package/dist/cjs/src/abstract/coinbase.js +4 -2
- package/dist/cjs/src/abstract/coinbaseexchange.js +4 -2
- package/dist/cjs/src/abstract/coinbaseinternational.js +4 -2
- package/dist/cjs/src/abstract/coincatch.js +4 -2
- package/dist/cjs/src/abstract/coincheck.js +4 -2
- package/dist/cjs/src/abstract/coinex.js +4 -2
- package/dist/cjs/src/abstract/coinmate.js +4 -2
- package/dist/cjs/src/abstract/coinmetro.js +4 -2
- package/dist/cjs/src/abstract/coinone.js +4 -2
- package/dist/cjs/src/abstract/coinsph.js +4 -2
- package/dist/cjs/src/abstract/coinspot.js +4 -2
- package/dist/cjs/src/abstract/cryptocom.js +4 -2
- package/dist/cjs/src/abstract/cryptomus.js +4 -2
- package/dist/cjs/src/abstract/defx.js +4 -2
- package/dist/cjs/src/abstract/delta.js +4 -2
- package/dist/cjs/src/abstract/deribit.js +4 -2
- package/dist/cjs/src/abstract/derive.js +4 -2
- package/dist/cjs/src/abstract/digifinex.js +4 -2
- package/dist/cjs/src/abstract/ellipx.js +4 -2
- package/dist/cjs/src/abstract/exmo.js +4 -2
- package/dist/cjs/src/abstract/foxbit.js +4 -2
- package/dist/cjs/src/abstract/gate.js +4 -2
- package/dist/cjs/src/abstract/gemini.js +4 -2
- package/dist/cjs/src/abstract/hashkey.js +4 -2
- package/dist/cjs/src/abstract/hibachi.js +4 -2
- package/dist/cjs/src/abstract/hitbtc.js +4 -2
- package/dist/cjs/src/abstract/hollaex.js +4 -2
- package/dist/cjs/src/abstract/htx.js +4 -2
- package/dist/cjs/src/abstract/hyperliquid.js +4 -2
- package/dist/cjs/src/abstract/independentreserve.js +4 -2
- package/dist/cjs/src/abstract/indodax.js +4 -2
- package/dist/cjs/src/abstract/kraken.js +4 -2
- package/dist/cjs/src/abstract/krakenfutures.js +4 -2
- package/dist/cjs/src/abstract/kucoin.js +4 -2
- package/dist/cjs/src/abstract/kucoinfutures.js +5 -3
- package/dist/cjs/src/abstract/latoken.js +4 -2
- package/dist/cjs/src/abstract/lbank.js +4 -2
- package/dist/cjs/src/abstract/luno.js +4 -2
- package/dist/cjs/src/abstract/mercado.js +4 -2
- package/dist/cjs/src/abstract/mexc.js +4 -2
- package/dist/cjs/src/abstract/modetrade.js +4 -2
- package/dist/cjs/src/abstract/ndax.js +4 -2
- package/dist/cjs/src/abstract/novadax.js +4 -2
- package/dist/cjs/src/abstract/oceanex.js +4 -2
- package/dist/cjs/src/abstract/okcoin.js +4 -2
- package/dist/cjs/src/abstract/okx.js +4 -2
- package/dist/cjs/src/abstract/onetrading.js +4 -2
- package/dist/cjs/src/abstract/oxfun.js +4 -2
- package/dist/cjs/src/abstract/p2b.js +4 -2
- package/dist/cjs/src/abstract/paradex.js +4 -2
- package/dist/cjs/src/abstract/paymium.js +4 -2
- package/dist/cjs/src/abstract/phemex.js +4 -2
- package/dist/cjs/src/abstract/poloniex.js +4 -2
- package/dist/cjs/src/abstract/probit.js +4 -2
- package/dist/cjs/src/abstract/timex.js +4 -2
- package/dist/cjs/src/abstract/tokocrypto.js +4 -2
- package/dist/cjs/src/abstract/tradeogre.js +4 -2
- package/dist/cjs/src/abstract/upbit.js +4 -2
- package/dist/cjs/src/abstract/vertex.js +4 -2
- package/dist/cjs/src/abstract/wavesexchange.js +4 -2
- package/dist/cjs/src/abstract/whitebit.js +4 -2
- package/dist/cjs/src/abstract/woo.js +4 -2
- package/dist/cjs/src/abstract/woofipro.js +4 -2
- package/dist/cjs/src/abstract/xt.js +4 -2
- package/dist/cjs/src/abstract/yobit.js +4 -2
- package/dist/cjs/src/abstract/zaif.js +4 -2
- package/dist/cjs/src/abstract/zonda.js +4 -2
- package/dist/cjs/src/alpaca.js +5 -3
- package/dist/cjs/src/apex.js +5 -3
- package/dist/cjs/src/ascendex.js +5 -3
- package/dist/cjs/src/base/Exchange.js +42 -2
- package/dist/cjs/src/base/Precise.js +6 -0
- package/dist/cjs/src/base/errors.js +6 -0
- package/dist/cjs/src/base/functions/crypto.js +1 -1
- package/dist/cjs/src/base/functions/encode.js +3 -3
- package/dist/cjs/src/base/functions/misc.js +1 -0
- package/dist/cjs/src/base/functions/number.js +6 -0
- package/dist/cjs/src/base/functions/platform.js +6 -0
- package/dist/cjs/src/base/functions/rsa.js +1 -0
- package/dist/cjs/src/base/functions/string.js +6 -0
- package/dist/cjs/src/base/functions/throttle.js +1 -1
- package/dist/cjs/src/base/functions/time.js +6 -0
- package/dist/cjs/src/base/functions/totp.js +1 -0
- package/dist/cjs/src/base/functions/type.js +6 -0
- package/dist/cjs/src/base/functions.js +1 -1
- package/dist/cjs/src/base/ws/Cache.js +6 -0
- package/dist/cjs/src/base/ws/Client.js +9 -2
- package/dist/cjs/src/base/ws/Future.js +1 -1
- package/dist/cjs/src/base/ws/OrderBook.js +1 -1
- package/dist/cjs/src/base/ws/OrderBookSide.js +6 -0
- package/dist/cjs/src/base/ws/WsClient.js +5 -3
- package/dist/cjs/src/bequant.js +5 -3
- package/dist/cjs/src/bigone.js +5 -3
- package/dist/cjs/src/binance.js +6 -3
- package/dist/cjs/src/binancecoinm.js +5 -3
- package/dist/cjs/src/binanceus.js +5 -3
- package/dist/cjs/src/binanceusdm.js +5 -3
- package/dist/cjs/src/bingx.js +37 -5
- package/dist/cjs/src/bit2c.js +5 -3
- package/dist/cjs/src/bitbank.js +5 -3
- package/dist/cjs/src/bitbns.js +5 -3
- package/dist/cjs/src/bitfinex.js +8 -3
- package/dist/cjs/src/bitflyer.js +5 -3
- package/dist/cjs/src/bitget.js +43 -17
- package/dist/cjs/src/bithumb.js +5 -3
- package/dist/cjs/src/bitmart.js +5 -3
- package/dist/cjs/src/bitmex.js +6 -3
- package/dist/cjs/src/bitopro.js +5 -3
- package/dist/cjs/src/bitrue.js +5 -3
- package/dist/cjs/src/bitso.js +5 -3
- package/dist/cjs/src/bitstamp.js +5 -3
- package/dist/cjs/src/bitteam.js +5 -3
- package/dist/cjs/src/bittrade.js +5 -3
- package/dist/cjs/src/bitvavo.js +4 -2
- package/dist/cjs/src/blockchaincom.js +5 -3
- package/dist/cjs/src/blofin.js +5 -3
- package/dist/cjs/src/btcalpha.js +5 -3
- package/dist/cjs/src/btcbox.js +5 -3
- package/dist/cjs/src/btcmarkets.js +5 -3
- package/dist/cjs/src/btcturk.js +5 -3
- package/dist/cjs/src/bybit.js +5 -3
- package/dist/cjs/src/cex.js +5 -3
- package/dist/cjs/src/coinbase.js +4 -2
- package/dist/cjs/src/coinbaseadvanced.js +5 -3
- package/dist/cjs/src/coinbaseexchange.js +4 -2
- package/dist/cjs/src/coinbaseinternational.js +4 -2
- package/dist/cjs/src/coincatch.js +5 -3
- package/dist/cjs/src/coincheck.js +5 -3
- package/dist/cjs/src/coinex.js +6 -4
- package/dist/cjs/src/coinmate.js +5 -3
- package/dist/cjs/src/coinmetro.js +5 -3
- package/dist/cjs/src/coinone.js +5 -3
- package/dist/cjs/src/coinsph.js +5 -2
- package/dist/cjs/src/coinspot.js +5 -3
- package/dist/cjs/src/cryptocom.js +5 -3
- package/dist/cjs/src/cryptomus.js +5 -3
- package/dist/cjs/src/defx.js +5 -3
- package/dist/cjs/src/delta.js +5 -3
- package/dist/cjs/src/deribit.js +5 -3
- package/dist/cjs/src/derive.js +5 -3
- package/dist/cjs/src/digifinex.js +5 -3
- package/dist/cjs/src/ellipx.js +5 -3
- package/dist/cjs/src/exmo.js +5 -3
- package/dist/cjs/src/fmfwio.js +5 -3
- package/dist/cjs/src/foxbit.js +8 -7
- package/dist/cjs/src/gate.js +26 -3
- package/dist/cjs/src/gateio.js +5 -3
- package/dist/cjs/src/gemini.js +5 -3
- package/dist/cjs/src/hashkey.js +5 -3
- package/dist/cjs/src/hibachi.js +5 -3
- package/dist/cjs/src/hitbtc.js +5 -2
- package/dist/cjs/src/hollaex.js +5 -3
- package/dist/cjs/src/htx.js +6 -3
- package/dist/cjs/src/huobi.js +5 -3
- package/dist/cjs/src/hyperliquid.js +84 -31
- package/dist/cjs/src/independentreserve.js +5 -3
- package/dist/cjs/src/indodax.js +5 -3
- package/dist/cjs/src/kraken.js +5 -3
- package/dist/cjs/src/krakenfutures.js +6 -3
- package/dist/cjs/src/kucoin.js +5 -3
- package/dist/cjs/src/kucoinfutures.js +6 -3
- package/dist/cjs/src/latoken.js +5 -3
- package/dist/cjs/src/lbank.js +6 -4
- package/dist/cjs/src/luno.js +5 -3
- package/dist/cjs/src/mercado.js +5 -3
- package/dist/cjs/src/mexc.js +12 -3
- package/dist/cjs/src/modetrade.js +101 -3
- package/dist/cjs/src/myokx.js +5 -3
- package/dist/cjs/src/ndax.js +5 -3
- package/dist/cjs/src/novadax.js +5 -3
- package/dist/cjs/src/oceanex.js +5 -3
- package/dist/cjs/src/okcoin.js +5 -3
- package/dist/cjs/src/okx.js +5 -3
- package/dist/cjs/src/okxus.js +5 -3
- package/dist/cjs/src/onetrading.js +38 -3
- package/dist/cjs/src/oxfun.js +5 -3
- package/dist/cjs/src/p2b.js +37 -3
- package/dist/cjs/src/paradex.js +6 -3
- package/dist/cjs/src/paymium.js +5 -3
- package/dist/cjs/src/phemex.js +4 -2
- package/dist/cjs/src/poloniex.js +5 -3
- package/dist/cjs/src/pro/alpaca.js +5 -3
- package/dist/cjs/src/pro/apex.js +5 -3
- package/dist/cjs/src/pro/ascendex.js +5 -3
- package/dist/cjs/src/pro/bequant.js +6 -4
- package/dist/cjs/src/pro/binance.js +6 -3
- package/dist/cjs/src/pro/binancecoinm.js +6 -4
- package/dist/cjs/src/pro/binanceus.js +6 -4
- package/dist/cjs/src/pro/binanceusdm.js +5 -3
- package/dist/cjs/src/pro/bingx.js +5 -3
- package/dist/cjs/src/pro/bitfinex.js +5 -3
- package/dist/cjs/src/pro/bitget.js +5 -3
- package/dist/cjs/src/pro/bithumb.js +5 -3
- package/dist/cjs/src/pro/bitmart.js +5 -3
- package/dist/cjs/src/pro/bitmex.js +5 -3
- package/dist/cjs/src/pro/bitopro.js +4 -2
- package/dist/cjs/src/pro/bitrue.js +5 -3
- package/dist/cjs/src/pro/bitstamp.js +5 -3
- package/dist/cjs/src/pro/bittrade.js +4 -2
- package/dist/cjs/src/pro/bitvavo.js +6 -4
- package/dist/cjs/src/pro/blockchaincom.js +5 -3
- package/dist/cjs/src/pro/blofin.js +5 -3
- package/dist/cjs/src/pro/bybit.js +6 -3
- package/dist/cjs/src/pro/cex.js +5 -3
- package/dist/cjs/src/pro/coinbase.js +5 -3
- package/dist/cjs/src/pro/coinbaseadvanced.js +5 -3
- package/dist/cjs/src/pro/coinbaseexchange.js +5 -3
- package/dist/cjs/src/pro/coinbaseinternational.js +5 -3
- package/dist/cjs/src/pro/coincatch.js +5 -3
- package/dist/cjs/src/pro/coincheck.js +5 -3
- package/dist/cjs/src/pro/coinex.js +6 -4
- package/dist/cjs/src/pro/coinone.js +5 -3
- package/dist/cjs/src/pro/cryptocom.js +5 -3
- package/dist/cjs/src/pro/defx.js +5 -3
- package/dist/cjs/src/pro/deribit.js +5 -3
- package/dist/cjs/src/pro/derive.js +4 -2
- package/dist/cjs/src/pro/exmo.js +5 -3
- package/dist/cjs/src/pro/gate.js +5 -3
- package/dist/cjs/src/pro/gateio.js +5 -3
- package/dist/cjs/src/pro/gemini.js +5 -3
- package/dist/cjs/src/pro/hashkey.js +5 -3
- package/dist/cjs/src/pro/hitbtc.js +5 -3
- package/dist/cjs/src/pro/hollaex.js +5 -3
- package/dist/cjs/src/pro/htx.js +5 -3
- package/dist/cjs/src/pro/huobi.js +5 -3
- package/dist/cjs/src/pro/hyperliquid.js +108 -15
- package/dist/cjs/src/pro/independentreserve.js +5 -3
- package/dist/cjs/src/pro/kraken.js +5 -3
- package/dist/cjs/src/pro/krakenfutures.js +5 -3
- package/dist/cjs/src/pro/kucoin.js +6 -4
- package/dist/cjs/src/pro/kucoinfutures.js +6 -4
- package/dist/cjs/src/pro/lbank.js +5 -2
- package/dist/cjs/src/pro/luno.js +5 -3
- package/dist/cjs/src/pro/mexc.js +352 -170
- package/dist/cjs/src/pro/modetrade.js +4 -2
- package/dist/cjs/src/pro/myokx.js +5 -3
- package/dist/cjs/src/pro/ndax.js +5 -3
- package/dist/cjs/src/pro/okcoin.js +5 -3
- package/dist/cjs/src/pro/okx.js +7 -4
- package/dist/cjs/src/pro/okxus.js +5 -3
- package/dist/cjs/src/pro/onetrading.js +5 -3
- package/dist/cjs/src/pro/oxfun.js +6 -4
- package/dist/cjs/src/pro/p2b.js +5 -3
- package/dist/cjs/src/pro/paradex.js +5 -3
- package/dist/cjs/src/pro/phemex.js +5 -3
- package/dist/cjs/src/pro/poloniex.js +5 -3
- package/dist/cjs/src/pro/probit.js +5 -3
- package/dist/cjs/src/pro/tradeogre.js +5 -3
- package/dist/cjs/src/pro/upbit.js +5 -3
- package/dist/cjs/src/pro/vertex.js +4 -2
- package/dist/cjs/src/pro/whitebit.js +5 -3
- package/dist/cjs/src/pro/woo.js +4 -2
- package/dist/cjs/src/pro/woofipro.js +4 -2
- package/dist/cjs/src/pro/xt.js +5 -3
- package/dist/cjs/src/probit.js +40 -3
- package/dist/cjs/src/protobuf/mexc/compiled.cjs.js +7179 -0
- package/dist/cjs/src/static_dependencies/ethers/abi-coder.js +7 -1
- package/dist/cjs/src/static_dependencies/ethers/address/address.js +1 -1
- package/dist/cjs/src/static_dependencies/ethers/coders/abstract-coder.js +8 -2
- package/dist/cjs/src/static_dependencies/ethers/coders/address.js +1 -0
- package/dist/cjs/src/static_dependencies/ethers/coders/anonymous.js +1 -0
- package/dist/cjs/src/static_dependencies/ethers/coders/array.js +1 -0
- package/dist/cjs/src/static_dependencies/ethers/coders/boolean.js +1 -0
- package/dist/cjs/src/static_dependencies/ethers/coders/bytes.js +1 -0
- package/dist/cjs/src/static_dependencies/ethers/coders/fixed-bytes.js +1 -0
- package/dist/cjs/src/static_dependencies/ethers/coders/null.js +1 -0
- package/dist/cjs/src/static_dependencies/ethers/coders/number.js +1 -0
- package/dist/cjs/src/static_dependencies/ethers/coders/string.js +1 -0
- package/dist/cjs/src/static_dependencies/ethers/coders/tuple.js +1 -0
- package/dist/cjs/src/static_dependencies/ethers/fragments.js +8 -2
- package/dist/cjs/src/static_dependencies/ethers/hash/typed-data.js +8 -2
- package/dist/cjs/src/static_dependencies/ethers/index.js +1 -10
- package/dist/cjs/src/static_dependencies/ethers/interface.js +8 -2
- package/dist/cjs/src/static_dependencies/ethers/typed.js +8 -2
- package/dist/cjs/src/static_dependencies/ethers/utils/base58.js +1 -13
- package/dist/cjs/src/static_dependencies/ethers/utils/data.js +1 -6
- package/dist/cjs/src/static_dependencies/ethers/utils/errors.js +1 -9
- package/dist/cjs/src/static_dependencies/ethers/utils/events.js +8 -2
- package/dist/cjs/src/static_dependencies/ethers/utils/fixednumber.js +8 -2
- package/dist/cjs/src/static_dependencies/ethers/utils/index.js +1 -7
- package/dist/cjs/src/static_dependencies/ethers/utils/maths.js +1 -5
- package/dist/cjs/src/static_dependencies/ethers/utils/properties.js +6 -0
- package/dist/cjs/src/static_dependencies/ethers/utils/utf8.js +1 -8
- package/dist/cjs/src/static_dependencies/fflake/browser.js +1 -1
- package/dist/cjs/src/static_dependencies/jsencrypt/JSEncrypt.js +1 -0
- package/dist/cjs/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +1 -0
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +1 -1
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +6 -0
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +6 -0
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +6 -0
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +1 -0
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +1 -1
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +6 -0
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +1 -1
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +1 -1
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/util.js +6 -0
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +1 -1
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +6 -0
- package/dist/cjs/src/static_dependencies/messagepack/msgpack.js +6 -0
- package/dist/cjs/src/static_dependencies/noble-curves/_shortw_utils.js +1 -1
- package/dist/cjs/src/static_dependencies/noble-curves/abstract/curve.js +1 -1
- package/dist/cjs/src/static_dependencies/noble-curves/abstract/edwards.js +1 -1
- package/dist/cjs/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +1 -0
- package/dist/cjs/src/static_dependencies/noble-curves/abstract/modular.js +1 -1
- package/dist/cjs/src/static_dependencies/noble-curves/abstract/montgomery.js +1 -1
- package/dist/cjs/src/static_dependencies/noble-curves/abstract/poseidon.js +1 -1
- package/dist/cjs/src/static_dependencies/noble-curves/abstract/utils.js +6 -0
- package/dist/cjs/src/static_dependencies/noble-curves/abstract/weierstrass.js +1 -1
- package/dist/cjs/src/static_dependencies/noble-curves/ed25519.js +1 -1
- package/dist/cjs/src/static_dependencies/noble-curves/p256.js +1 -1
- package/dist/cjs/src/static_dependencies/noble-curves/secp256k1.js +1 -1
- package/dist/cjs/src/static_dependencies/noble-hashes/_assert.js +6 -0
- package/dist/cjs/src/static_dependencies/noble-hashes/_sha2.js +1 -0
- package/dist/cjs/src/static_dependencies/noble-hashes/_u64.js +6 -0
- package/dist/cjs/src/static_dependencies/noble-hashes/crypto.js +6 -0
- package/dist/cjs/src/static_dependencies/noble-hashes/hmac.js +1 -0
- package/dist/cjs/src/static_dependencies/noble-hashes/md5.js +1 -0
- package/dist/cjs/src/static_dependencies/noble-hashes/sha1.js +1 -0
- package/dist/cjs/src/static_dependencies/noble-hashes/sha256.js +1 -0
- package/dist/cjs/src/static_dependencies/noble-hashes/sha3.js +1 -0
- package/dist/cjs/src/static_dependencies/noble-hashes/sha512.js +1 -0
- package/dist/cjs/src/static_dependencies/noble-hashes/utils.js +1 -1
- package/dist/cjs/src/static_dependencies/node-fetch/body.js +1 -5
- package/dist/cjs/src/static_dependencies/node-fetch/errors/abort-error.js +1 -0
- package/dist/cjs/src/static_dependencies/node-fetch/errors/base.js +6 -0
- package/dist/cjs/src/static_dependencies/node-fetch/errors/fetch-error.js +1 -0
- package/dist/cjs/src/static_dependencies/node-fetch/headers.js +1 -5
- package/dist/cjs/src/static_dependencies/node-fetch/index.js +8 -14
- package/dist/cjs/src/static_dependencies/node-fetch/request.js +1 -7
- package/dist/cjs/src/static_dependencies/node-fetch/response.js +4 -6
- package/dist/cjs/src/static_dependencies/node-fetch/utils/get-search.js +6 -0
- package/dist/cjs/src/static_dependencies/node-fetch/utils/is-redirect.js +6 -0
- package/dist/cjs/src/static_dependencies/node-fetch/utils/is.js +6 -0
- package/dist/cjs/src/static_dependencies/node-fetch/utils/referrer.js +1 -0
- package/dist/cjs/src/static_dependencies/proxies/agent-base/index.js +1 -0
- package/dist/cjs/src/static_dependencies/proxies/http-proxy-agent/index.js +1 -0
- package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/index.js +1 -0
- package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +6 -0
- package/dist/cjs/src/static_dependencies/qs/index.cjs.js +3 -1
- package/dist/cjs/src/static_dependencies/scure-base/index.js +6 -0
- package/dist/cjs/src/static_dependencies/scure-starknet/index.js +1 -1
- package/dist/cjs/src/static_dependencies/starknet/constants.js +1 -1
- package/dist/cjs/src/static_dependencies/starknet/types/calldata.js +6 -0
- package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/abi.js +6 -0
- package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/index.js +6 -0
- package/dist/cjs/src/static_dependencies/starknet/types/lib/index.js +6 -0
- package/dist/cjs/src/static_dependencies/starknet/types/typedData.js +6 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/assert.js +9 -1
- package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +1 -1
- package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +1 -1
- package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +1 -1
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/byteArray.js +1 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/cairo.js +1 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +6 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +6 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +6 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/formatter.js +4 -1
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/index.js +8 -8
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/index.js +1 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +1 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +6 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +5 -2
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/requestParser.js +2 -1
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/responseParser.js +5 -2
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/tuple.js +4 -2
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/validate.js +29 -30
- package/dist/cjs/src/static_dependencies/starknet/utils/encode.js +1 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/hash/classHash.js +1 -3
- package/dist/cjs/src/static_dependencies/starknet/utils/merkle.js +1 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/num.js +1 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/selector.js +1 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/shortString.js +1 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/typedData.js +3 -3
- package/dist/cjs/src/static_dependencies/watchable/src/unpromise.js +6 -0
- package/dist/cjs/src/static_dependencies/zklink/zklink-sdk-web.js +6 -0
- package/dist/cjs/src/timex.js +5 -2
- package/dist/cjs/src/tokocrypto.js +5 -3
- package/dist/cjs/src/tradeogre.js +5 -3
- package/dist/cjs/src/upbit.js +5 -3
- package/dist/cjs/src/vertex.js +5 -3
- package/dist/cjs/src/wavesexchange.js +5 -3
- package/dist/cjs/src/whitebit.js +5 -3
- package/dist/cjs/src/woo.js +5 -3
- package/dist/cjs/src/woofipro.js +101 -3
- package/dist/cjs/src/xt.js +5 -3
- package/dist/cjs/src/yobit.js +5 -3
- package/dist/cjs/src/zaif.js +5 -3
- package/dist/cjs/src/zonda.js +5 -3
- package/js/ccxt.d.ts +1 -1
- package/js/ccxt.js +7 -1
- package/js/src/abstract/alpaca.js +6 -0
- package/js/src/abstract/apex.js +6 -0
- package/js/src/abstract/ascendex.js +6 -0
- package/js/src/abstract/bequant.js +6 -0
- package/js/src/abstract/bigone.js +6 -0
- package/js/src/abstract/binance.js +6 -0
- package/js/src/abstract/binancecoinm.js +6 -0
- package/js/src/abstract/binanceus.js +6 -0
- package/js/src/abstract/binanceusdm.js +6 -0
- package/js/src/abstract/bingx.d.ts +1 -0
- package/js/src/abstract/bingx.js +6 -0
- package/js/src/abstract/bit2c.js +6 -0
- package/js/src/abstract/bitbank.js +6 -0
- package/js/src/abstract/bitbns.js +6 -0
- package/js/src/abstract/bitfinex.js +6 -0
- package/js/src/abstract/bitflyer.js +6 -0
- package/js/src/abstract/bitget.js +6 -0
- package/js/src/abstract/bithumb.js +6 -0
- package/js/src/abstract/bitmart.js +6 -0
- package/js/src/abstract/bitmex.js +6 -0
- package/js/src/abstract/bitopro.js +6 -0
- package/js/src/abstract/bitrue.js +6 -0
- package/js/src/abstract/bitso.js +6 -0
- package/js/src/abstract/bitstamp.js +6 -0
- package/js/src/abstract/bitteam.js +6 -0
- package/js/src/abstract/bittrade.js +6 -0
- package/js/src/abstract/bitvavo.js +6 -0
- package/js/src/abstract/blockchaincom.js +6 -0
- package/js/src/abstract/blofin.js +6 -0
- package/js/src/abstract/btcalpha.js +6 -0
- package/js/src/abstract/btcbox.js +6 -0
- package/js/src/abstract/btcmarkets.js +6 -0
- package/js/src/abstract/btcturk.js +6 -0
- package/js/src/abstract/bybit.js +6 -0
- package/js/src/abstract/cex.js +6 -0
- package/js/src/abstract/coinbase.js +6 -0
- package/js/src/abstract/coinbaseadvanced.js +6 -0
- package/js/src/abstract/coinbaseexchange.js +6 -0
- package/js/src/abstract/coinbaseinternational.js +6 -0
- package/js/src/abstract/coincatch.js +6 -0
- package/js/src/abstract/coincheck.js +6 -0
- package/js/src/abstract/coinex.js +6 -0
- package/js/src/abstract/coinmate.js +6 -0
- package/js/src/abstract/coinmetro.js +6 -0
- package/js/src/abstract/coinone.js +6 -0
- package/js/src/abstract/coinsph.js +6 -0
- package/js/src/abstract/coinspot.js +6 -0
- package/js/src/abstract/cryptocom.js +6 -0
- package/js/src/abstract/cryptomus.js +6 -0
- package/js/src/abstract/defx.js +6 -0
- package/js/src/abstract/delta.js +6 -0
- package/js/src/abstract/deribit.js +6 -0
- package/js/src/abstract/derive.js +6 -0
- package/js/src/abstract/digifinex.js +6 -0
- package/js/src/abstract/ellipx.js +6 -0
- package/js/src/abstract/exmo.js +6 -0
- package/js/src/abstract/fmfwio.js +6 -0
- package/js/src/abstract/foxbit.js +6 -0
- package/js/src/abstract/gate.js +6 -0
- package/js/src/abstract/gateio.js +6 -0
- package/js/src/abstract/gemini.js +6 -0
- package/js/src/abstract/hashkey.js +6 -0
- package/js/src/abstract/hibachi.js +6 -0
- package/js/src/abstract/hitbtc.js +6 -0
- package/js/src/abstract/hollaex.js +6 -0
- package/js/src/abstract/htx.js +6 -0
- package/js/src/abstract/huobi.js +6 -0
- package/js/src/abstract/hyperliquid.js +6 -0
- package/js/src/abstract/independentreserve.js +6 -0
- package/js/src/abstract/indodax.js +6 -0
- package/js/src/abstract/kraken.js +6 -0
- package/js/src/abstract/krakenfutures.js +6 -0
- package/js/src/abstract/kucoin.js +6 -0
- package/js/src/abstract/kucoinfutures.js +6 -0
- package/js/src/abstract/latoken.js +6 -0
- package/js/src/abstract/lbank.js +6 -0
- package/js/src/abstract/luno.js +6 -0
- package/js/src/abstract/mercado.js +6 -0
- package/js/src/abstract/mexc.js +6 -0
- package/js/src/abstract/modetrade.js +6 -0
- package/js/src/abstract/myokx.js +6 -0
- package/js/src/abstract/ndax.js +6 -0
- package/js/src/abstract/novadax.js +6 -0
- package/js/src/abstract/oceanex.js +6 -0
- package/js/src/abstract/okcoin.js +6 -0
- package/js/src/abstract/okx.js +6 -0
- package/js/src/abstract/okxus.js +6 -0
- package/js/src/abstract/onetrading.js +6 -0
- package/js/src/abstract/oxfun.js +6 -0
- package/js/src/abstract/p2b.js +6 -0
- package/js/src/abstract/paradex.js +6 -0
- package/js/src/abstract/paymium.js +6 -0
- package/js/src/abstract/phemex.js +6 -0
- package/js/src/abstract/poloniex.js +6 -0
- package/js/src/abstract/probit.js +6 -0
- package/js/src/abstract/timex.js +6 -0
- package/js/src/abstract/tokocrypto.js +6 -0
- package/js/src/abstract/tradeogre.js +6 -0
- package/js/src/abstract/upbit.js +6 -0
- package/js/src/abstract/vertex.js +6 -0
- package/js/src/abstract/wavesexchange.js +6 -0
- package/js/src/abstract/whitebit.js +6 -0
- package/js/src/abstract/woo.js +6 -0
- package/js/src/abstract/woofipro.js +6 -0
- package/js/src/abstract/xt.js +6 -0
- package/js/src/abstract/yobit.js +6 -0
- package/js/src/abstract/zaif.js +6 -0
- package/js/src/abstract/zonda.js +6 -0
- package/js/src/alpaca.d.ts +1 -1
- package/js/src/alpaca.js +6 -0
- package/js/src/apex.d.ts +1 -1
- package/js/src/apex.js +6 -0
- package/js/src/ascendex.d.ts +1 -1
- package/js/src/ascendex.js +6 -0
- package/js/src/base/Exchange.d.ts +9 -7
- package/js/src/base/Exchange.js +47 -1
- package/js/src/base/Precise.js +6 -0
- package/js/src/base/errorHierarchy.js +6 -0
- package/js/src/base/errors.js +6 -0
- package/js/src/base/functions/crypto.js +6 -0
- package/js/src/base/functions/encode.js +6 -0
- package/js/src/base/functions/generic.js +6 -0
- package/js/src/base/functions/misc.js +6 -0
- package/js/src/base/functions/number.js +6 -0
- package/js/src/base/functions/platform.js +6 -0
- package/js/src/base/functions/rsa.js +6 -0
- package/js/src/base/functions/string.js +6 -0
- package/js/src/base/functions/throttle.js +6 -0
- package/js/src/base/functions/time.js +6 -0
- package/js/src/base/functions/totp.js +6 -0
- package/js/src/base/functions/type.js +6 -0
- package/js/src/base/functions.js +6 -0
- package/js/src/base/types.d.ts +2 -1
- package/js/src/base/types.js +6 -0
- package/js/src/base/ws/Cache.js +6 -0
- package/js/src/base/ws/Client.d.ts +1 -0
- package/js/src/base/ws/Client.js +11 -1
- package/js/src/base/ws/Future.js +6 -0
- package/js/src/base/ws/OrderBook.js +6 -0
- package/js/src/base/ws/OrderBookSide.js +6 -0
- package/js/src/base/ws/WsClient.js +6 -0
- package/js/src/base/ws/functions.js +6 -0
- package/js/src/bequant.js +6 -0
- package/js/src/bigone.d.ts +1 -1
- package/js/src/bigone.js +6 -0
- package/js/src/binance.d.ts +2 -2
- package/js/src/binance.js +7 -0
- package/js/src/binancecoinm.js +6 -0
- package/js/src/binanceus.js +6 -0
- package/js/src/binanceusdm.js +6 -0
- package/js/src/bingx.d.ts +3 -2
- package/js/src/bingx.js +38 -2
- package/js/src/bit2c.js +6 -0
- package/js/src/bitbank.d.ts +1 -1
- package/js/src/bitbank.js +6 -0
- package/js/src/bitbns.js +6 -0
- package/js/src/bitfinex.d.ts +1 -1
- package/js/src/bitfinex.js +9 -0
- package/js/src/bitflyer.d.ts +1 -1
- package/js/src/bitflyer.js +6 -0
- package/js/src/bitget.d.ts +4 -2
- package/js/src/bitget.js +44 -14
- package/js/src/bithumb.d.ts +1 -1
- package/js/src/bithumb.js +6 -0
- package/js/src/bitmart.d.ts +2 -2
- package/js/src/bitmart.js +6 -0
- package/js/src/bitmex.d.ts +2 -2
- package/js/src/bitmex.js +7 -0
- package/js/src/bitopro.d.ts +1 -1
- package/js/src/bitopro.js +6 -0
- package/js/src/bitrue.d.ts +2 -2
- package/js/src/bitrue.js +6 -0
- package/js/src/bitso.d.ts +1 -1
- package/js/src/bitso.js +6 -0
- package/js/src/bitstamp.d.ts +1 -1
- package/js/src/bitstamp.js +6 -0
- package/js/src/bitteam.js +6 -0
- package/js/src/bittrade.d.ts +1 -1
- package/js/src/bittrade.js +6 -0
- package/js/src/bitvavo.d.ts +1 -1
- package/js/src/bitvavo.js +6 -0
- package/js/src/blockchaincom.d.ts +1 -1
- package/js/src/blockchaincom.js +6 -0
- package/js/src/blofin.d.ts +1 -1
- package/js/src/blofin.js +6 -0
- package/js/src/btcalpha.js +6 -0
- package/js/src/btcbox.js +6 -0
- package/js/src/btcmarkets.d.ts +1 -1
- package/js/src/btcmarkets.js +6 -0
- package/js/src/btcturk.js +6 -0
- package/js/src/bybit.d.ts +2 -2
- package/js/src/bybit.js +6 -0
- package/js/src/cex.js +6 -0
- package/js/src/coinbase.d.ts +1 -1
- package/js/src/coinbase.js +6 -0
- package/js/src/coinbaseadvanced.js +6 -0
- package/js/src/coinbaseexchange.d.ts +1 -1
- package/js/src/coinbaseexchange.js +6 -0
- package/js/src/coinbaseinternational.d.ts +1 -1
- package/js/src/coinbaseinternational.js +6 -0
- package/js/src/coincatch.d.ts +2 -2
- package/js/src/coincatch.js +6 -0
- package/js/src/coincheck.js +6 -0
- package/js/src/coinex.d.ts +3 -3
- package/js/src/coinex.js +7 -1
- package/js/src/coinmate.d.ts +1 -1
- package/js/src/coinmate.js +6 -0
- package/js/src/coinmetro.js +6 -0
- package/js/src/coinone.js +6 -0
- package/js/src/coinsph.d.ts +1 -1
- package/js/src/coinsph.js +6 -0
- package/js/src/coinspot.js +6 -0
- package/js/src/cryptocom.d.ts +1 -1
- package/js/src/cryptocom.js +6 -0
- package/js/src/cryptomus.js +6 -0
- package/js/src/defx.d.ts +2 -2
- package/js/src/defx.js +6 -0
- package/js/src/delta.d.ts +1 -1
- package/js/src/delta.js +6 -0
- package/js/src/deribit.d.ts +1 -1
- package/js/src/deribit.js +6 -0
- package/js/src/derive.js +6 -0
- package/js/src/digifinex.d.ts +2 -2
- package/js/src/digifinex.js +6 -0
- package/js/src/ellipx.d.ts +1 -1
- package/js/src/ellipx.js +6 -0
- package/js/src/exmo.d.ts +1 -1
- package/js/src/exmo.js +6 -0
- package/js/src/fmfwio.js +6 -0
- package/js/src/foxbit.d.ts +1 -1
- package/js/src/foxbit.js +9 -3
- package/js/src/gate.d.ts +2 -2
- package/js/src/gate.js +27 -0
- package/js/src/gateio.js +6 -0
- package/js/src/gemini.d.ts +1 -1
- package/js/src/gemini.js +6 -0
- package/js/src/hashkey.d.ts +3 -3
- package/js/src/hashkey.js +6 -0
- package/js/src/hibachi.d.ts +1 -1
- package/js/src/hibachi.js +6 -0
- package/js/src/hitbtc.d.ts +2 -2
- package/js/src/hitbtc.js +6 -0
- package/js/src/hollaex.d.ts +1 -1
- package/js/src/hollaex.js +6 -0
- package/js/src/htx.d.ts +3 -3
- package/js/src/htx.js +7 -0
- package/js/src/huobi.js +6 -0
- package/js/src/hyperliquid.d.ts +12 -2
- package/js/src/hyperliquid.js +85 -28
- package/js/src/independentreserve.d.ts +1 -1
- package/js/src/independentreserve.js +6 -0
- package/js/src/indodax.d.ts +1 -1
- package/js/src/indodax.js +6 -0
- package/js/src/kraken.d.ts +1 -1
- package/js/src/kraken.js +6 -0
- package/js/src/krakenfutures.d.ts +1 -1
- package/js/src/krakenfutures.js +7 -0
- package/js/src/kucoin.d.ts +2 -2
- package/js/src/kucoin.js +6 -0
- package/js/src/kucoinfutures.d.ts +3 -2
- package/js/src/kucoinfutures.js +7 -0
- package/js/src/latoken.js +6 -0
- package/js/src/lbank.d.ts +1 -1
- package/js/src/lbank.js +7 -1
- package/js/src/luno.js +6 -0
- package/js/src/mercado.d.ts +1 -1
- package/js/src/mercado.js +6 -0
- package/js/src/mexc.d.ts +2 -2
- package/js/src/mexc.js +13 -0
- package/js/src/modetrade.d.ts +26 -3
- package/js/src/modetrade.js +102 -0
- package/js/src/myokx.js +6 -0
- package/js/src/ndax.d.ts +1 -1
- package/js/src/ndax.js +6 -0
- package/js/src/novadax.d.ts +1 -1
- package/js/src/novadax.js +6 -0
- package/js/src/oceanex.js +6 -0
- package/js/src/okcoin.d.ts +1 -1
- package/js/src/okcoin.js +6 -0
- package/js/src/okx.d.ts +2 -2
- package/js/src/okx.js +6 -0
- package/js/src/okxus.js +6 -0
- package/js/src/onetrading.js +39 -0
- package/js/src/oxfun.d.ts +1 -1
- package/js/src/oxfun.js +6 -0
- package/js/src/p2b.js +38 -0
- package/js/src/paradex.d.ts +1 -1
- package/js/src/paradex.js +7 -0
- package/js/src/paymium.js +6 -0
- package/js/src/phemex.d.ts +2 -2
- package/js/src/phemex.js +6 -0
- package/js/src/poloniex.d.ts +2 -2
- package/js/src/poloniex.js +6 -0
- package/js/src/pro/alpaca.js +6 -0
- package/js/src/pro/apex.js +6 -0
- package/js/src/pro/ascendex.js +6 -0
- package/js/src/pro/bequant.js +6 -0
- package/js/src/pro/binance.js +8 -1
- package/js/src/pro/binancecoinm.js +6 -0
- package/js/src/pro/binanceus.js +6 -0
- package/js/src/pro/binanceusdm.js +6 -0
- package/js/src/pro/bingx.js +6 -0
- package/js/src/pro/bitfinex.js +6 -0
- package/js/src/pro/bitget.js +6 -0
- package/js/src/pro/bithumb.js +6 -0
- package/js/src/pro/bitmart.js +6 -0
- package/js/src/pro/bitmex.js +6 -0
- package/js/src/pro/bitopro.js +6 -0
- package/js/src/pro/bitrue.js +6 -0
- package/js/src/pro/bitstamp.js +6 -0
- package/js/src/pro/bittrade.js +6 -0
- package/js/src/pro/bitvavo.js +7 -1
- package/js/src/pro/blockchaincom.js +6 -0
- package/js/src/pro/blofin.js +6 -0
- package/js/src/pro/bybit.js +7 -0
- package/js/src/pro/cex.js +6 -0
- package/js/src/pro/coinbase.js +6 -0
- package/js/src/pro/coinbaseadvanced.js +6 -0
- package/js/src/pro/coinbaseexchange.js +6 -0
- package/js/src/pro/coinbaseinternational.js +6 -0
- package/js/src/pro/coincatch.js +6 -0
- package/js/src/pro/coincheck.js +6 -0
- package/js/src/pro/coinex.js +7 -1
- package/js/src/pro/coinone.js +6 -0
- package/js/src/pro/cryptocom.js +6 -0
- package/js/src/pro/defx.js +6 -0
- package/js/src/pro/deribit.js +6 -0
- package/js/src/pro/derive.js +6 -0
- package/js/src/pro/exmo.js +6 -0
- package/js/src/pro/gate.js +6 -0
- package/js/src/pro/gateio.js +6 -0
- package/js/src/pro/gemini.js +6 -0
- package/js/src/pro/hashkey.js +6 -0
- package/js/src/pro/hitbtc.js +6 -0
- package/js/src/pro/hollaex.js +6 -0
- package/js/src/pro/htx.js +6 -0
- package/js/src/pro/huobi.js +6 -0
- package/js/src/pro/hyperliquid.d.ts +26 -0
- package/js/src/pro/hyperliquid.js +109 -12
- package/js/src/pro/independentreserve.js +6 -0
- package/js/src/pro/kraken.js +6 -0
- package/js/src/pro/krakenfutures.js +6 -0
- package/js/src/pro/kucoin.js +7 -1
- package/js/src/pro/kucoinfutures.js +7 -1
- package/js/src/pro/lbank.js +6 -0
- package/js/src/pro/luno.js +6 -0
- package/js/src/pro/mexc.d.ts +9 -6
- package/js/src/pro/mexc.js +353 -167
- package/js/src/pro/modetrade.js +6 -0
- package/js/src/pro/myokx.js +6 -0
- package/js/src/pro/ndax.js +6 -0
- package/js/src/pro/okcoin.js +6 -0
- package/js/src/pro/okx.js +8 -1
- package/js/src/pro/okxus.js +6 -0
- package/js/src/pro/onetrading.js +6 -0
- package/js/src/pro/oxfun.js +7 -1
- package/js/src/pro/p2b.js +6 -0
- package/js/src/pro/paradex.js +6 -0
- package/js/src/pro/phemex.js +6 -0
- package/js/src/pro/poloniex.js +6 -0
- package/js/src/pro/probit.js +6 -0
- package/js/src/pro/tradeogre.js +6 -0
- package/js/src/pro/upbit.js +6 -0
- package/js/src/pro/vertex.js +6 -0
- package/js/src/pro/whitebit.js +6 -0
- package/js/src/pro/woo.js +6 -0
- package/js/src/pro/woofipro.js +6 -0
- package/js/src/pro/xt.js +6 -0
- package/js/src/probit.d.ts +1 -1
- package/js/src/probit.js +41 -0
- package/js/src/protobuf/mexc/compiled.cjs +7186 -0
- package/js/src/protobuf/mexc/compiled.d.cts +2 -0
- package/js/src/static_dependencies/ethers/abi-coder.js +6 -0
- package/js/src/static_dependencies/ethers/address/address.js +6 -0
- package/js/src/static_dependencies/ethers/address/checks.js +6 -0
- package/js/src/static_dependencies/ethers/address/contract-address.js +6 -0
- package/js/src/static_dependencies/ethers/address/index.js +6 -0
- package/js/src/static_dependencies/ethers/bytes32.js +6 -0
- package/js/src/static_dependencies/ethers/coders/abstract-coder.js +6 -0
- package/js/src/static_dependencies/ethers/coders/address.js +6 -0
- package/js/src/static_dependencies/ethers/coders/anonymous.js +6 -0
- package/js/src/static_dependencies/ethers/coders/array.js +6 -0
- package/js/src/static_dependencies/ethers/coders/boolean.js +6 -0
- package/js/src/static_dependencies/ethers/coders/bytes.js +6 -0
- package/js/src/static_dependencies/ethers/coders/fixed-bytes.js +6 -0
- package/js/src/static_dependencies/ethers/coders/null.js +6 -0
- package/js/src/static_dependencies/ethers/coders/number.js +6 -0
- package/js/src/static_dependencies/ethers/coders/string.js +6 -0
- package/js/src/static_dependencies/ethers/coders/tuple.js +6 -0
- package/js/src/static_dependencies/ethers/fragments.js +6 -0
- package/js/src/static_dependencies/ethers/hash/index.js +6 -0
- package/js/src/static_dependencies/ethers/hash/solidity.js +6 -0
- package/js/src/static_dependencies/ethers/hash/typed-data.js +6 -0
- package/js/src/static_dependencies/ethers/index.js +6 -0
- package/js/src/static_dependencies/ethers/interface.js +6 -0
- package/js/src/static_dependencies/ethers/typed.js +6 -0
- package/js/src/static_dependencies/ethers/utils/base58.js +6 -0
- package/js/src/static_dependencies/ethers/utils/base64-browser.js +6 -0
- package/js/src/static_dependencies/ethers/utils/base64.js +6 -0
- package/js/src/static_dependencies/ethers/utils/data.js +6 -0
- package/js/src/static_dependencies/ethers/utils/errors.js +6 -0
- package/js/src/static_dependencies/ethers/utils/events.js +6 -0
- package/js/src/static_dependencies/ethers/utils/fixednumber.js +6 -0
- package/js/src/static_dependencies/ethers/utils/index.js +6 -0
- package/js/src/static_dependencies/ethers/utils/maths.js +6 -0
- package/js/src/static_dependencies/ethers/utils/properties.js +6 -0
- package/js/src/static_dependencies/ethers/utils/rlp-decode.js +6 -0
- package/js/src/static_dependencies/ethers/utils/rlp-encode.js +6 -0
- package/js/src/static_dependencies/ethers/utils/rlp.js +6 -0
- package/js/src/static_dependencies/ethers/utils/units.js +6 -0
- package/js/src/static_dependencies/ethers/utils/utf8.js +6 -0
- package/js/src/static_dependencies/ethers/utils/uuid.js +6 -0
- package/js/src/static_dependencies/fflake/browser.js +6 -0
- package/js/src/static_dependencies/jsencrypt/JSEncrypt.js +6 -0
- package/js/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +6 -0
- package/js/src/static_dependencies/jsencrypt/index.js +6 -0
- package/js/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +6 -0
- package/js/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +6 -0
- package/js/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +6 -0
- package/js/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +6 -0
- package/js/src/static_dependencies/jsencrypt/lib/asn1js/oids.js +6 -0
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +6 -0
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +6 -0
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +6 -0
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +6 -0
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +6 -0
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/util.js +6 -0
- package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +6 -0
- package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +6 -0
- package/js/src/static_dependencies/messagepack/msgpack.js +6 -0
- package/js/src/static_dependencies/noble-curves/_shortw_utils.js +6 -0
- package/js/src/static_dependencies/noble-curves/abstract/curve.js +6 -0
- package/js/src/static_dependencies/noble-curves/abstract/edwards.js +6 -0
- package/js/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +6 -0
- package/js/src/static_dependencies/noble-curves/abstract/modular.js +6 -0
- package/js/src/static_dependencies/noble-curves/abstract/montgomery.js +6 -0
- package/js/src/static_dependencies/noble-curves/abstract/poseidon.js +6 -0
- package/js/src/static_dependencies/noble-curves/abstract/utils.js +6 -0
- package/js/src/static_dependencies/noble-curves/abstract/weierstrass.js +6 -0
- package/js/src/static_dependencies/noble-curves/bn.js +6 -0
- package/js/src/static_dependencies/noble-curves/ed25519.js +6 -0
- package/js/src/static_dependencies/noble-curves/ed448.js +6 -0
- package/js/src/static_dependencies/noble-curves/index.js +6 -0
- package/js/src/static_dependencies/noble-curves/jubjub.js +6 -0
- package/js/src/static_dependencies/noble-curves/p256.js +6 -0
- package/js/src/static_dependencies/noble-curves/p384.js +6 -0
- package/js/src/static_dependencies/noble-curves/p521.js +6 -0
- package/js/src/static_dependencies/noble-curves/pasta.js +6 -0
- package/js/src/static_dependencies/noble-curves/secp256k1.js +6 -0
- package/js/src/static_dependencies/noble-hashes/_assert.js +6 -0
- package/js/src/static_dependencies/noble-hashes/_blake2.js +6 -0
- package/js/src/static_dependencies/noble-hashes/_sha2.js +6 -0
- package/js/src/static_dependencies/noble-hashes/_u64.js +6 -0
- package/js/src/static_dependencies/noble-hashes/argon2.js +6 -0
- package/js/src/static_dependencies/noble-hashes/blake2b.js +6 -0
- package/js/src/static_dependencies/noble-hashes/blake2s.js +6 -0
- package/js/src/static_dependencies/noble-hashes/blake3.js +6 -0
- package/js/src/static_dependencies/noble-hashes/crypto.js +6 -0
- package/js/src/static_dependencies/noble-hashes/cryptoNode.js +6 -0
- package/js/src/static_dependencies/noble-hashes/eskdf.js +6 -0
- package/js/src/static_dependencies/noble-hashes/hkdf.js +6 -0
- package/js/src/static_dependencies/noble-hashes/hmac.js +6 -0
- package/js/src/static_dependencies/noble-hashes/index.js +6 -0
- package/js/src/static_dependencies/noble-hashes/md5.js +6 -0
- package/js/src/static_dependencies/noble-hashes/pbkdf2.js +6 -0
- package/js/src/static_dependencies/noble-hashes/ripemd160.js +6 -0
- package/js/src/static_dependencies/noble-hashes/scrypt.js +6 -0
- package/js/src/static_dependencies/noble-hashes/sha1.js +6 -0
- package/js/src/static_dependencies/noble-hashes/sha256.js +6 -0
- package/js/src/static_dependencies/noble-hashes/sha3-addons.js +6 -0
- package/js/src/static_dependencies/noble-hashes/sha3.js +6 -0
- package/js/src/static_dependencies/noble-hashes/sha512.js +6 -0
- package/js/src/static_dependencies/noble-hashes/utils.js +6 -0
- package/js/src/static_dependencies/node-fetch/body.js +6 -0
- package/js/src/static_dependencies/node-fetch/errors/abort-error.js +6 -0
- package/js/src/static_dependencies/node-fetch/errors/base.js +6 -0
- package/js/src/static_dependencies/node-fetch/errors/fetch-error.js +6 -0
- package/js/src/static_dependencies/node-fetch/headers.js +6 -0
- package/js/src/static_dependencies/node-fetch/index.js +6 -0
- package/js/src/static_dependencies/node-fetch/request.js +6 -0
- package/js/src/static_dependencies/node-fetch/response.js +6 -0
- package/js/src/static_dependencies/node-fetch/utils/get-search.js +6 -0
- package/js/src/static_dependencies/node-fetch/utils/is-redirect.js +6 -0
- package/js/src/static_dependencies/node-fetch/utils/is.js +6 -0
- package/js/src/static_dependencies/node-fetch/utils/referrer.js +6 -0
- package/js/src/static_dependencies/proxies/agent-base/helpers.js +6 -0
- package/js/src/static_dependencies/proxies/agent-base/index.js +6 -0
- package/js/src/static_dependencies/proxies/http-proxy-agent/index.js +6 -0
- package/js/src/static_dependencies/proxies/https-proxy-agent/index.js +6 -0
- package/js/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +6 -0
- package/js/src/static_dependencies/qs/formats.cjs +6 -0
- package/js/src/static_dependencies/qs/index.cjs +6 -0
- package/js/src/static_dependencies/qs/parse.cjs +6 -0
- package/js/src/static_dependencies/qs/stringify.cjs +6 -0
- package/js/src/static_dependencies/qs/utils.cjs +6 -0
- package/js/src/static_dependencies/scure-base/index.js +6 -0
- package/js/src/static_dependencies/scure-starknet/index.js +6 -0
- package/js/src/static_dependencies/starknet/constants.js +6 -0
- package/js/src/static_dependencies/starknet/index.js +6 -0
- package/js/src/static_dependencies/starknet/types/cairoEnum.js +6 -0
- package/js/src/static_dependencies/starknet/types/calldata.js +6 -0
- package/js/src/static_dependencies/starknet/types/index.js +6 -0
- package/js/src/static_dependencies/starknet/types/lib/contract/abi.js +6 -0
- package/js/src/static_dependencies/starknet/types/lib/contract/index.js +6 -0
- package/js/src/static_dependencies/starknet/types/lib/contract/legacy.js +6 -0
- package/js/src/static_dependencies/starknet/types/lib/contract/sierra.js +6 -0
- package/js/src/static_dependencies/starknet/types/lib/index.js +6 -0
- package/js/src/static_dependencies/starknet/types/typedData.js +6 -0
- package/js/src/static_dependencies/starknet/utils/address.js +6 -0
- package/js/src/static_dependencies/starknet/utils/assert.js +6 -0
- package/js/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +6 -0
- package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +6 -0
- package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/byteArray.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/cairo.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/enum/index.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/formatter.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/index.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/parser/index.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/parser/interface.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/requestParser.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/responseParser.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/tuple.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/validate.js +6 -0
- package/js/src/static_dependencies/starknet/utils/encode.js +6 -0
- package/js/src/static_dependencies/starknet/utils/hash/classHash.js +6 -0
- package/js/src/static_dependencies/starknet/utils/hash/index.js +6 -0
- package/js/src/static_dependencies/starknet/utils/merkle.js +6 -0
- package/js/src/static_dependencies/starknet/utils/num.js +6 -0
- package/js/src/static_dependencies/starknet/utils/selector.js +6 -0
- package/js/src/static_dependencies/starknet/utils/shortString.js +6 -0
- package/js/src/static_dependencies/starknet/utils/starknetId.js +6 -0
- package/js/src/static_dependencies/starknet/utils/typedData.js +6 -0
- package/js/src/static_dependencies/starknet/utils/uint256.js +6 -0
- package/js/src/static_dependencies/starknet/utils/url.js +6 -0
- package/js/src/static_dependencies/watchable/src/index.js +6 -0
- package/js/src/static_dependencies/watchable/src/types.js +6 -0
- package/js/src/static_dependencies/watchable/src/unpromise.js +6 -0
- package/js/src/static_dependencies/zklink/zklink-sdk-web.js +6 -0
- package/js/src/timex.js +6 -0
- package/js/src/tokocrypto.d.ts +1 -1
- package/js/src/tokocrypto.js +6 -0
- package/js/src/tradeogre.js +6 -0
- package/js/src/upbit.d.ts +1 -1
- package/js/src/upbit.js +6 -0
- package/js/src/vertex.d.ts +1 -1
- package/js/src/vertex.js +6 -0
- package/js/src/wavesexchange.d.ts +1 -1
- package/js/src/wavesexchange.js +6 -0
- package/js/src/whitebit.d.ts +2 -2
- package/js/src/whitebit.js +6 -0
- package/js/src/woo.d.ts +4 -4
- package/js/src/woo.js +6 -0
- package/js/src/woofipro.d.ts +26 -3
- package/js/src/woofipro.js +102 -0
- package/js/src/xt.d.ts +3 -3
- package/js/src/xt.js +6 -0
- package/js/src/yobit.d.ts +1 -1
- package/js/src/yobit.js +6 -0
- package/js/src/zaif.d.ts +1 -1
- package/js/src/zaif.js +6 -0
- package/js/src/zonda.d.ts +1 -1
- package/js/src/zonda.js +6 -0
- package/package.json +4 -3
package/js/src/pro/mexc.js
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
// ----------------------------------------------------------------------------
|
|
2
|
+
|
|
3
|
+
// PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
|
|
4
|
+
// https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
|
|
5
|
+
// EDIT THE CORRESPONDENT .ts FILE INSTEAD
|
|
6
|
+
|
|
1
7
|
// ---------------------------------------------------------------------------
|
|
2
8
|
import mexcRest from '../mexc.js';
|
|
3
9
|
import { ArgumentsRequired, AuthenticationError, NotSupported } from '../base/errors.js';
|
|
@@ -38,13 +44,14 @@ export default class mexc extends mexcRest {
|
|
|
38
44
|
'urls': {
|
|
39
45
|
'api': {
|
|
40
46
|
'ws': {
|
|
41
|
-
'spot': 'wss://wbs.mexc.com/ws',
|
|
47
|
+
'spot': 'wss://wbs-api.mexc.com/ws',
|
|
42
48
|
'swap': 'wss://contract.mexc.com/edge',
|
|
43
49
|
},
|
|
44
50
|
},
|
|
45
51
|
},
|
|
46
52
|
'options': {
|
|
47
53
|
'listenKeyRefreshRate': 1200000,
|
|
54
|
+
'decompressBinary': false,
|
|
48
55
|
// TODO add reset connection after #16754 is merged
|
|
49
56
|
'timeframes': {
|
|
50
57
|
'1m': 'Min1',
|
|
@@ -88,15 +95,7 @@ export default class mexc extends mexcRest {
|
|
|
88
95
|
const market = this.market(symbol);
|
|
89
96
|
const messageHash = 'ticker:' + market['symbol'];
|
|
90
97
|
if (market['spot']) {
|
|
91
|
-
|
|
92
|
-
[miniTicker, params] = this.handleOptionAndParams(params, 'watchTicker', 'miniTicker');
|
|
93
|
-
let channel = undefined;
|
|
94
|
-
if (miniTicker) {
|
|
95
|
-
channel = 'spot@public.miniTicker.v3.api@' + market['id'] + '@UTC+8';
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
98
|
-
channel = 'spot@public.bookTicker.v3.api@' + market['id'];
|
|
99
|
-
}
|
|
98
|
+
const channel = 'spot@public.aggre.bookTicker.v3.api.pb@100ms@' + market['id'];
|
|
100
99
|
return await this.watchSpotPublic(channel, messageHash, params);
|
|
101
100
|
}
|
|
102
101
|
else {
|
|
@@ -176,9 +175,9 @@ export default class mexc extends mexcRest {
|
|
|
176
175
|
// }
|
|
177
176
|
//
|
|
178
177
|
this.handleBidAsk(client, message);
|
|
179
|
-
const rawTicker = this.
|
|
178
|
+
const rawTicker = this.safeDictN(message, ['d', 'data', 'publicAggreBookTicker']);
|
|
180
179
|
const marketId = this.safeString2(message, 's', 'symbol');
|
|
181
|
-
const timestamp = this.
|
|
180
|
+
const timestamp = this.safeInteger2(message, 't', 'sendtime');
|
|
182
181
|
const market = this.safeMarket(marketId);
|
|
183
182
|
const symbol = market['symbol'];
|
|
184
183
|
let ticker = undefined;
|
|
@@ -221,34 +220,33 @@ export default class mexc extends mexcRest {
|
|
|
221
220
|
const url = (isSpot) ? this.urls['api']['ws']['spot'] : this.urls['api']['ws']['swap'];
|
|
222
221
|
const request = {};
|
|
223
222
|
if (isSpot) {
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
}
|
|
239
|
-
else {
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
request['
|
|
251
|
-
request['params'] = topics;
|
|
223
|
+
throw new NotSupported(this.id + ' watchTickers does not support spot markets');
|
|
224
|
+
// let miniTicker = false;
|
|
225
|
+
// [ miniTicker, params ] = this.handleOptionAndParams (params, 'watchTickers', 'miniTicker');
|
|
226
|
+
// const topics = [];
|
|
227
|
+
// if (!miniTicker) {
|
|
228
|
+
// if (symbols === undefined) {
|
|
229
|
+
// throw new ArgumentsRequired (this.id + ' watchTickers required symbols argument for the bookTicker channel');
|
|
230
|
+
// }
|
|
231
|
+
// const marketIds = this.marketIds (symbols);
|
|
232
|
+
// for (let i = 0; i < marketIds.length; i++) {
|
|
233
|
+
// const marketId = marketIds[i];
|
|
234
|
+
// messageHashes.push ('ticker:' + symbols[i]);
|
|
235
|
+
// const channel = 'spot@public.bookTicker.v3.api@' + marketId;
|
|
236
|
+
// topics.push (channel);
|
|
237
|
+
// }
|
|
238
|
+
// } else {
|
|
239
|
+
// topics.push ('spot@public.miniTickers.v3.api@UTC+8');
|
|
240
|
+
// if (symbols === undefined) {
|
|
241
|
+
// messageHashes.push ('spot:ticker');
|
|
242
|
+
// } else {
|
|
243
|
+
// for (let i = 0; i < symbols.length; i++) {
|
|
244
|
+
// messageHashes.push ('ticker:' + symbols[i]);
|
|
245
|
+
// }
|
|
246
|
+
// }
|
|
247
|
+
// }
|
|
248
|
+
// request['method'] = 'SUBSCRIPTION';
|
|
249
|
+
// request['params'] = topics;
|
|
252
250
|
}
|
|
253
251
|
else {
|
|
254
252
|
request['method'] = 'sub.tickers';
|
|
@@ -353,6 +351,11 @@ export default class mexc extends mexcRest {
|
|
|
353
351
|
client.resolve(result, topic);
|
|
354
352
|
}
|
|
355
353
|
parseWsTicker(ticker, market = undefined) {
|
|
354
|
+
// protobuf ticker
|
|
355
|
+
// "bidprice": "93387.28", // Best bid price
|
|
356
|
+
// "bidquantity": "3.73485", // Best bid quantity
|
|
357
|
+
// "askprice": "93387.29", // Best ask price
|
|
358
|
+
// "askquantity": "7.669875" // Best ask quantity
|
|
356
359
|
//
|
|
357
360
|
// spot
|
|
358
361
|
//
|
|
@@ -367,7 +370,7 @@ export default class mexc extends mexcRest {
|
|
|
367
370
|
//
|
|
368
371
|
// {
|
|
369
372
|
// "s": "BTCUSDT",
|
|
370
|
-
// "p": "
|
|
373
|
+
// "p": "76521",
|
|
371
374
|
// "r": "0.0012",
|
|
372
375
|
// "tr": "0.0012",
|
|
373
376
|
// "h": "77196.3",
|
|
@@ -393,10 +396,10 @@ export default class mexc extends mexcRest {
|
|
|
393
396
|
'low': this.safeNumber(ticker, 'l'),
|
|
394
397
|
'close': price,
|
|
395
398
|
'last': price,
|
|
396
|
-
'bid': this.
|
|
397
|
-
'bidVolume': this.
|
|
398
|
-
'ask': this.
|
|
399
|
-
'askVolume': this.
|
|
399
|
+
'bid': this.safeNumber2(ticker, 'b', 'bidPrice'),
|
|
400
|
+
'bidVolume': this.safeNumber2(ticker, 'B', 'bidQuantity'),
|
|
401
|
+
'ask': this.safeNumber2(ticker, 'a', 'askPrice'),
|
|
402
|
+
'askVolume': this.safeNumber2(ticker, 'A', 'askQuantity'),
|
|
400
403
|
'vwap': undefined,
|
|
401
404
|
'previousClose': undefined,
|
|
402
405
|
'change': undefined,
|
|
@@ -433,7 +436,7 @@ export default class mexc extends mexcRest {
|
|
|
433
436
|
for (let i = 0; i < symbols.length; i++) {
|
|
434
437
|
if (isSpot) {
|
|
435
438
|
const market = this.market(symbols[i]);
|
|
436
|
-
topics.push('spot@public.bookTicker.v3.api@' + market['id']);
|
|
439
|
+
topics.push('spot@public.aggre.bookTicker.v3.api.pb@100ms@' + market['id']);
|
|
437
440
|
}
|
|
438
441
|
messageHashes.push('bidask:' + symbols[i]);
|
|
439
442
|
}
|
|
@@ -541,7 +544,7 @@ export default class mexc extends mexcRest {
|
|
|
541
544
|
/**
|
|
542
545
|
* @method
|
|
543
546
|
* @name mexc#watchOHLCV
|
|
544
|
-
* @see https://
|
|
547
|
+
* @see https://www.mexc.com/api-docs/spot-v3/websocket-market-streams#trade-streams
|
|
545
548
|
* @description watches historical candlestick data containing the open, high, low, and close price, and the volume of a market
|
|
546
549
|
* @param {string} symbol unified symbol of the market to fetch OHLCV data for
|
|
547
550
|
* @param {string} timeframe the length of time each candle represents
|
|
@@ -559,7 +562,7 @@ export default class mexc extends mexcRest {
|
|
|
559
562
|
const messageHash = 'candles:' + symbol + ':' + timeframe;
|
|
560
563
|
let ohlcv = undefined;
|
|
561
564
|
if (market['spot']) {
|
|
562
|
-
const channel = 'spot@public.kline.v3.api@' + market['id'] + '@' + timeframeId;
|
|
565
|
+
const channel = 'spot@public.kline.v3.api.pb@' + market['id'] + '@' + timeframeId;
|
|
563
566
|
ohlcv = await this.watchSpotPublic(channel, messageHash, params);
|
|
564
567
|
}
|
|
565
568
|
else {
|
|
@@ -621,17 +624,47 @@ export default class mexc extends mexcRest {
|
|
|
621
624
|
// "symbol": "BTC_USDT",
|
|
622
625
|
// "ts": 1651230713067
|
|
623
626
|
// }
|
|
627
|
+
// protobuf
|
|
628
|
+
// {
|
|
629
|
+
// "channel":"spot@public.kline.v3.api.pb@BTCUSDT@Min1",
|
|
630
|
+
// "symbol":"BTCUSDT",
|
|
631
|
+
// "symbolId":"2fb942154ef44a4ab2ef98c8afb6a4a7",
|
|
632
|
+
// "createTime":"1754737941062",
|
|
633
|
+
// "publicSpotKline":{
|
|
634
|
+
// "interval":"Min1",
|
|
635
|
+
// "windowStart":"1754737920",
|
|
636
|
+
// "openingPrice":"117317.31",
|
|
637
|
+
// "closingPrice":"117325.26",
|
|
638
|
+
// "highestPrice":"117341",
|
|
639
|
+
// "lowestPrice":"117317.3",
|
|
640
|
+
// "volume":"3.12599854",
|
|
641
|
+
// "amount":"366804.43",
|
|
642
|
+
// "windowEnd":"1754737980"
|
|
643
|
+
// }
|
|
644
|
+
// }
|
|
624
645
|
//
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
646
|
+
let parsed = undefined;
|
|
647
|
+
let symbol = undefined;
|
|
648
|
+
let timeframe = undefined;
|
|
649
|
+
if ('publicSpotKline' in message) {
|
|
650
|
+
symbol = this.symbol(this.safeString(message, 'symbol'));
|
|
651
|
+
const data = this.safeDict(message, 'publicSpotKline', {});
|
|
652
|
+
const timeframeId = this.safeString(data, 'interval');
|
|
653
|
+
timeframe = this.findTimeframe(timeframeId, this.options['timeframes']);
|
|
654
|
+
parsed = this.parseWsOHLCV(data, this.safeMarket(symbol));
|
|
655
|
+
}
|
|
656
|
+
else {
|
|
657
|
+
const d = this.safeValue2(message, 'd', 'data', {});
|
|
658
|
+
const rawOhlcv = this.safeValue(d, 'k', d);
|
|
659
|
+
const timeframeId = this.safeString2(rawOhlcv, 'i', 'interval');
|
|
660
|
+
const timeframes = this.safeValue(this.options, 'timeframes', {});
|
|
661
|
+
timeframe = this.findTimeframe(timeframeId, timeframes);
|
|
662
|
+
const marketId = this.safeString2(message, 's', 'symbol');
|
|
663
|
+
const market = this.safeMarket(marketId);
|
|
664
|
+
symbol = market['symbol'];
|
|
665
|
+
parsed = this.parseWsOHLCV(rawOhlcv, market);
|
|
666
|
+
}
|
|
633
667
|
const messageHash = 'candles:' + symbol + ':' + timeframe;
|
|
634
|
-
const parsed = this.parseWsOHLCV(rawOhlcv, market);
|
|
635
668
|
this.ohlcvs[symbol] = this.safeValue(this.ohlcvs, symbol, {});
|
|
636
669
|
let stored = this.safeValue(this.ohlcvs[symbol], timeframe);
|
|
637
670
|
if (stored === undefined) {
|
|
@@ -674,25 +707,37 @@ export default class mexc extends mexcRest {
|
|
|
674
707
|
// "rh": 27301.8,
|
|
675
708
|
// "rl": 27301.8
|
|
676
709
|
// }
|
|
710
|
+
// protobuf
|
|
711
|
+
//
|
|
712
|
+
// "interval":"Min1",
|
|
713
|
+
// "windowStart":"1754737920",
|
|
714
|
+
// "openingPrice":"117317.31",
|
|
715
|
+
// "closingPrice":"117325.26",
|
|
716
|
+
// "highestPrice":"117341",
|
|
717
|
+
// "lowestPrice":"117317.3",
|
|
718
|
+
// "volume":"3.12599854",
|
|
719
|
+
// "amount":"366804.43",
|
|
720
|
+
// "windowEnd":"1754737980"
|
|
677
721
|
//
|
|
678
722
|
return [
|
|
679
|
-
this.
|
|
680
|
-
this.
|
|
681
|
-
this.
|
|
682
|
-
this.
|
|
683
|
-
this.
|
|
684
|
-
this.safeNumber2(ohlcv, 'v', '
|
|
723
|
+
this.safeTimestamp2(ohlcv, 't', 'windowStart'),
|
|
724
|
+
this.safeNumber2(ohlcv, 'o', 'openingPrice'),
|
|
725
|
+
this.safeNumber2(ohlcv, 'h', 'highestPrice'),
|
|
726
|
+
this.safeNumber2(ohlcv, 'l', 'lowestPrice'),
|
|
727
|
+
this.safeNumber2(ohlcv, 'c', 'closingPrice'),
|
|
728
|
+
this.safeNumber2(ohlcv, 'v', 'volume'),
|
|
685
729
|
];
|
|
686
730
|
}
|
|
687
731
|
/**
|
|
688
732
|
* @method
|
|
689
733
|
* @name mexc#watchOrderBook
|
|
690
|
-
* @see https://
|
|
734
|
+
* @see https://www.mexc.com/api-docs/spot-v3/websocket-market-streams#trade-streams
|
|
691
735
|
* @see https://mexcdevelop.github.io/apidocs/contract_v1_en/#public-channels
|
|
692
736
|
* @description watches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
|
|
693
737
|
* @param {string} symbol unified symbol of the market to fetch the order book for
|
|
694
738
|
* @param {int} [limit] the maximum amount of order book entries to return
|
|
695
739
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
740
|
+
* @param {string} [params.frequency] the frequency of the order book updates, default is '10ms', can be '100ms' or '10ms
|
|
696
741
|
* @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
|
|
697
742
|
*/
|
|
698
743
|
async watchOrderBook(symbol, limit = undefined, params = {}) {
|
|
@@ -702,7 +747,9 @@ export default class mexc extends mexcRest {
|
|
|
702
747
|
const messageHash = 'orderbook:' + symbol;
|
|
703
748
|
let orderbook = undefined;
|
|
704
749
|
if (market['spot']) {
|
|
705
|
-
|
|
750
|
+
let frequency = undefined;
|
|
751
|
+
[frequency, params] = this.handleOptionAndParams(params, 'watchOrderBook', 'frequency', '100ms');
|
|
752
|
+
const channel = 'spot@public.aggre.depth.v3.api.pb@' + frequency + '@' + market['id'];
|
|
706
753
|
orderbook = await this.watchSpotPublic(channel, messageHash, params);
|
|
707
754
|
}
|
|
708
755
|
else {
|
|
@@ -728,13 +775,13 @@ export default class mexc extends mexcRest {
|
|
|
728
775
|
// return the first index of the cache that can be applied to the orderbook or -1 if not possible
|
|
729
776
|
const nonce = this.safeInteger(orderbook, 'nonce');
|
|
730
777
|
const firstDelta = this.safeValue(cache, 0);
|
|
731
|
-
const firstDeltaNonce = this.
|
|
778
|
+
const firstDeltaNonce = this.safeIntegerN(firstDelta, ['r', 'version', 'fromVersion']);
|
|
732
779
|
if (nonce < firstDeltaNonce - 1) {
|
|
733
780
|
return -1;
|
|
734
781
|
}
|
|
735
782
|
for (let i = 0; i < cache.length; i++) {
|
|
736
783
|
const delta = cache[i];
|
|
737
|
-
const deltaNonce = this.
|
|
784
|
+
const deltaNonce = this.safeIntegerN(delta, ['r', 'version', 'fromVersion']);
|
|
738
785
|
if (deltaNonce >= nonce) {
|
|
739
786
|
return i;
|
|
740
787
|
}
|
|
@@ -784,8 +831,31 @@ export default class mexc extends mexcRest {
|
|
|
784
831
|
// "symbol":"BTC_USDT",
|
|
785
832
|
// "ts":1651239652372
|
|
786
833
|
// }
|
|
834
|
+
// protofbuf
|
|
835
|
+
// {
|
|
836
|
+
// "channel":"spot@public.aggre.depth.v3.api.pb@100ms@BTCUSDT",
|
|
837
|
+
// "symbol":"BTCUSDT",
|
|
838
|
+
// "sendTime":"1754741322152",
|
|
839
|
+
// "publicAggreDepths":{
|
|
840
|
+
// "asks":[
|
|
841
|
+
// {
|
|
842
|
+
// "price":"117145.49",
|
|
843
|
+
// "quantity":"0"
|
|
844
|
+
// }
|
|
845
|
+
// ],
|
|
846
|
+
// "bids":[
|
|
847
|
+
// {
|
|
848
|
+
// "price":"117053.41",
|
|
849
|
+
// "quantity":"1.86837271"
|
|
850
|
+
// }
|
|
851
|
+
// ],
|
|
852
|
+
// "eventType":"spot@public.aggre.depth.v3.api.pb@100ms",
|
|
853
|
+
// "fromVersion":"43296363236",
|
|
854
|
+
// "toVersion":"43296363255"
|
|
855
|
+
// }
|
|
856
|
+
// }
|
|
787
857
|
//
|
|
788
|
-
const data = this.
|
|
858
|
+
const data = this.safeDictN(message, ['d', 'data', 'publicAggreDepths']);
|
|
789
859
|
const marketId = this.safeString2(message, 's', 'symbol');
|
|
790
860
|
const symbol = this.safeSymbol(marketId);
|
|
791
861
|
const messageHash = 'orderbook:' + symbol;
|
|
@@ -807,7 +877,7 @@ export default class mexc extends mexcRest {
|
|
|
807
877
|
}
|
|
808
878
|
try {
|
|
809
879
|
this.handleDelta(storedOrderBook, data);
|
|
810
|
-
const timestamp = this.
|
|
880
|
+
const timestamp = this.safeIntegerN(message, ['t', 'ts', 'sendTime']);
|
|
811
881
|
storedOrderBook['timestamp'] = timestamp;
|
|
812
882
|
storedOrderBook['datetime'] = this.iso8601(timestamp);
|
|
813
883
|
}
|
|
@@ -830,15 +900,15 @@ export default class mexc extends mexcRest {
|
|
|
830
900
|
bookside.storeArray(bidask);
|
|
831
901
|
}
|
|
832
902
|
else {
|
|
833
|
-
const price = this.
|
|
834
|
-
const amount = this.
|
|
903
|
+
const price = this.safeFloat2(bidask, 'p', 'price');
|
|
904
|
+
const amount = this.safeFloat2(bidask, 'v', 'quantity');
|
|
835
905
|
bookside.store(price, amount);
|
|
836
906
|
}
|
|
837
907
|
}
|
|
838
908
|
}
|
|
839
909
|
handleDelta(orderbook, delta) {
|
|
840
910
|
const existingNonce = this.safeInteger(orderbook, 'nonce');
|
|
841
|
-
const deltaNonce = this.
|
|
911
|
+
const deltaNonce = this.safeIntegerN(delta, ['r', 'version', 'fromVersion']);
|
|
842
912
|
if (deltaNonce < existingNonce) {
|
|
843
913
|
// even when doing < comparison, this happens: https://app.travis-ci.com/github/ccxt/ccxt/builds/269234741#L1809
|
|
844
914
|
// so, we just skip old updates
|
|
@@ -855,7 +925,7 @@ export default class mexc extends mexcRest {
|
|
|
855
925
|
/**
|
|
856
926
|
* @method
|
|
857
927
|
* @name mexc#watchTrades
|
|
858
|
-
* @see https://
|
|
928
|
+
* @see https://www.mexc.com/api-docs/spot-v3/websocket-market-streams#trade-streams
|
|
859
929
|
* @see https://mexcdevelop.github.io/apidocs/contract_v1_en/#public-channels
|
|
860
930
|
* @description get the list of most recent trades for a particular symbol
|
|
861
931
|
* @param {string} symbol unified symbol of the market to fetch trades for
|
|
@@ -871,7 +941,7 @@ export default class mexc extends mexcRest {
|
|
|
871
941
|
const messageHash = 'trades:' + symbol;
|
|
872
942
|
let trades = undefined;
|
|
873
943
|
if (market['spot']) {
|
|
874
|
-
const channel = 'spot@public.deals.v3.api@' + market['id'];
|
|
944
|
+
const channel = 'spot@public.aggre.deals.v3.api.pb@100ms@' + market['id'];
|
|
875
945
|
trades = await this.watchSpotPublic(channel, messageHash, params);
|
|
876
946
|
}
|
|
877
947
|
else {
|
|
@@ -887,6 +957,23 @@ export default class mexc extends mexcRest {
|
|
|
887
957
|
return this.filterBySinceLimit(trades, since, limit, 'timestamp', true);
|
|
888
958
|
}
|
|
889
959
|
handleTrades(client, message) {
|
|
960
|
+
// protobuf
|
|
961
|
+
// {
|
|
962
|
+
// "channel": "spot@public.aggre.deals.v3.api.pb@100ms@BTCUSDT",
|
|
963
|
+
// "publicdeals": {
|
|
964
|
+
// "dealsList": [
|
|
965
|
+
// {
|
|
966
|
+
// "price": "93220.00", // Trade price
|
|
967
|
+
// "quantity": "0.04438243", // Trade quantity
|
|
968
|
+
// "tradetype": 2, // Trade type (1: Buy, 2: Sell)
|
|
969
|
+
// "time": 1736409765051 // Trade time
|
|
970
|
+
// }
|
|
971
|
+
// ],
|
|
972
|
+
// "eventtype": "spot@public.aggre.deals.v3.api.pb@100ms" // Event type
|
|
973
|
+
// },
|
|
974
|
+
// "symbol": "BTCUSDT", // Trading pair
|
|
975
|
+
// "sendtime": 1736409765052 // Event time
|
|
976
|
+
// }
|
|
890
977
|
//
|
|
891
978
|
// {
|
|
892
979
|
// "c": "spot@public.deals.v3.api@BTCUSDT",
|
|
@@ -928,8 +1015,8 @@ export default class mexc extends mexcRest {
|
|
|
928
1015
|
stored = new ArrayCache(limit);
|
|
929
1016
|
this.trades[symbol] = stored;
|
|
930
1017
|
}
|
|
931
|
-
const d = this.
|
|
932
|
-
const trades = this.
|
|
1018
|
+
const d = this.safeDictN(message, ['d', 'data', 'publicAggreDeals']);
|
|
1019
|
+
const trades = this.safeList2(d, 'deals', 'dealsList', [d]);
|
|
933
1020
|
for (let j = 0; j < trades.length; j++) {
|
|
934
1021
|
let parsedTrade = undefined;
|
|
935
1022
|
if (market['spot']) {
|
|
@@ -945,7 +1032,7 @@ export default class mexc extends mexcRest {
|
|
|
945
1032
|
/**
|
|
946
1033
|
* @method
|
|
947
1034
|
* @name mexc#watchMyTrades
|
|
948
|
-
* @see https://
|
|
1035
|
+
* @see https://www.mexc.com/api-docs/spot-v3/websocket-user-data-streams#spot-account-deals
|
|
949
1036
|
* @see https://mexcdevelop.github.io/apidocs/contract_v1_en/#private-channels
|
|
950
1037
|
* @description watches information on multiple trades made by the user
|
|
951
1038
|
* @param {string} symbol unified market symbol of the market trades were made in
|
|
@@ -967,7 +1054,7 @@ export default class mexc extends mexcRest {
|
|
|
967
1054
|
[type, params] = this.handleMarketTypeAndParams('watchMyTrades', market, params);
|
|
968
1055
|
let trades = undefined;
|
|
969
1056
|
if (type === 'spot') {
|
|
970
|
-
const channel = 'spot@private.deals.v3.api';
|
|
1057
|
+
const channel = 'spot@private.deals.v3.api.pb';
|
|
971
1058
|
trades = await this.watchSpotPrivate(channel, messageHash, params);
|
|
972
1059
|
}
|
|
973
1060
|
else {
|
|
@@ -996,11 +1083,27 @@ export default class mexc extends mexcRest {
|
|
|
996
1083
|
// "s": "BTCUSDT",
|
|
997
1084
|
// "t": 1678670940700
|
|
998
1085
|
// }
|
|
1086
|
+
// {
|
|
1087
|
+
// channel: "spot@private.deals.v3.api.pb",
|
|
1088
|
+
// symbol: "MXUSDT",
|
|
1089
|
+
// sendTime: 1736417034332,
|
|
1090
|
+
// privateDeals {
|
|
1091
|
+
// price: "3.6962",
|
|
1092
|
+
// quantity: "1",
|
|
1093
|
+
// amount: "3.6962",
|
|
1094
|
+
// tradeType: 2,
|
|
1095
|
+
// tradeId: "505979017439002624X1",
|
|
1096
|
+
// orderId: "C02__505979017439002624115",
|
|
1097
|
+
// feeAmount: "0.0003998377369698171",
|
|
1098
|
+
// feeCurrency: "MX",
|
|
1099
|
+
// time: 1736417034280
|
|
1100
|
+
// }
|
|
1101
|
+
// }
|
|
999
1102
|
//
|
|
1000
1103
|
const messageHash = 'myTrades';
|
|
1001
|
-
const data = this.
|
|
1104
|
+
const data = this.safeDictN(message, ['d', 'data', 'privateDeals']);
|
|
1002
1105
|
const futuresMarketId = this.safeString(data, 'symbol');
|
|
1003
|
-
const marketId = this.
|
|
1106
|
+
const marketId = this.safeString2(message, 's', 'symbol', futuresMarketId);
|
|
1004
1107
|
const market = this.safeMarket(marketId);
|
|
1005
1108
|
const symbol = market['symbol'];
|
|
1006
1109
|
let trade = undefined;
|
|
@@ -1023,7 +1126,7 @@ export default class mexc extends mexcRest {
|
|
|
1023
1126
|
}
|
|
1024
1127
|
parseWsTrade(trade, market = undefined) {
|
|
1025
1128
|
//
|
|
1026
|
-
// public trade
|
|
1129
|
+
// public trade (protobuf)
|
|
1027
1130
|
// {
|
|
1028
1131
|
// "p": "20382.70",
|
|
1029
1132
|
// "v": "0.043800",
|
|
@@ -1043,7 +1146,6 @@ export default class mexc extends mexcRest {
|
|
|
1043
1146
|
// "v": "5"
|
|
1044
1147
|
// }
|
|
1045
1148
|
//
|
|
1046
|
-
//
|
|
1047
1149
|
// d: {
|
|
1048
1150
|
// p: '1.0005',
|
|
1049
1151
|
// v: '5.71',
|
|
@@ -1058,23 +1160,37 @@ export default class mexc extends mexcRest {
|
|
|
1058
1160
|
// n: '0.005712855',
|
|
1059
1161
|
// N: 'USDT'
|
|
1060
1162
|
// }
|
|
1061
|
-
|
|
1062
|
-
|
|
1163
|
+
// protobuf
|
|
1164
|
+
//
|
|
1165
|
+
// {
|
|
1166
|
+
// price: "3.6962",
|
|
1167
|
+
// quantity: "1",
|
|
1168
|
+
// amount: "3.6962",
|
|
1169
|
+
// tradeType: 2,
|
|
1170
|
+
// tradeId: "505979017439002624X1",
|
|
1171
|
+
// orderId: "C02__505979017439002624115",
|
|
1172
|
+
// feeAmount: "0.0003998377369698171",
|
|
1173
|
+
// feeCurrency: "MX",
|
|
1174
|
+
// time: 1736417034280
|
|
1175
|
+
// }
|
|
1176
|
+
//
|
|
1177
|
+
let timestamp = this.safeInteger2(trade, 'T', 'time');
|
|
1178
|
+
let tradeId = this.safeString2(trade, 't', 'tradeId');
|
|
1063
1179
|
if (timestamp === undefined) {
|
|
1064
1180
|
timestamp = this.safeInteger(trade, 't');
|
|
1065
1181
|
tradeId = undefined;
|
|
1066
1182
|
}
|
|
1067
|
-
const priceString = this.
|
|
1068
|
-
const amountString = this.
|
|
1069
|
-
const rawSide = this.
|
|
1183
|
+
const priceString = this.safeString2(trade, 'p', 'price');
|
|
1184
|
+
const amountString = this.safeString2(trade, 'v', 'quantity');
|
|
1185
|
+
const rawSide = this.safeString2(trade, 'S', 'tradeType');
|
|
1070
1186
|
const side = (rawSide === '1') ? 'buy' : 'sell';
|
|
1071
1187
|
const isMaker = this.safeInteger(trade, 'm');
|
|
1072
|
-
const feeAmount = this.
|
|
1073
|
-
const feeCurrencyId = this.
|
|
1188
|
+
const feeAmount = this.safeString2(trade, 'n', 'feeAmount');
|
|
1189
|
+
const feeCurrencyId = this.safeString2(trade, 'N', 'feeCurrency');
|
|
1074
1190
|
return this.safeTrade({
|
|
1075
1191
|
'info': trade,
|
|
1076
1192
|
'id': tradeId,
|
|
1077
|
-
'order': this.
|
|
1193
|
+
'order': this.safeString2(trade, 'i', 'orderId'),
|
|
1078
1194
|
'timestamp': timestamp,
|
|
1079
1195
|
'datetime': this.iso8601(timestamp),
|
|
1080
1196
|
'symbol': this.safeSymbol(undefined, market),
|
|
@@ -1083,7 +1199,7 @@ export default class mexc extends mexcRest {
|
|
|
1083
1199
|
'takerOrMaker': (isMaker) ? 'maker' : 'taker',
|
|
1084
1200
|
'price': priceString,
|
|
1085
1201
|
'amount': amountString,
|
|
1086
|
-
'cost':
|
|
1202
|
+
'cost': this.safeString(trade, 'amount'),
|
|
1087
1203
|
'fee': {
|
|
1088
1204
|
'cost': feeAmount,
|
|
1089
1205
|
'currency': this.safeCurrencyCode(feeCurrencyId),
|
|
@@ -1093,7 +1209,7 @@ export default class mexc extends mexcRest {
|
|
|
1093
1209
|
/**
|
|
1094
1210
|
* @method
|
|
1095
1211
|
* @name mexc#watchOrders
|
|
1096
|
-
* @see https://
|
|
1212
|
+
* @see https://www.mexc.com/api-docs/spot-v3/websocket-user-data-streams#spot-account-orders
|
|
1097
1213
|
* @see https://mexcdevelop.github.io/apidocs/spot_v3_en/#margin-account-orders
|
|
1098
1214
|
* @description watches information on multiple orders made by the user
|
|
1099
1215
|
* @param {string} symbol unified market symbol of the market orders were made in
|
|
@@ -1116,7 +1232,7 @@ export default class mexc extends mexcRest {
|
|
|
1116
1232
|
[type, params] = this.handleMarketTypeAndParams('watchOrders', market, params);
|
|
1117
1233
|
let orders = undefined;
|
|
1118
1234
|
if (type === 'spot') {
|
|
1119
|
-
const channel =
|
|
1235
|
+
const channel = 'spot@private.orders.v3.api.pb';
|
|
1120
1236
|
orders = await this.watchSpotPrivate(channel, messageHash, params);
|
|
1121
1237
|
}
|
|
1122
1238
|
else {
|
|
@@ -1192,11 +1308,18 @@ export default class mexc extends mexcRest {
|
|
|
1192
1308
|
// "s": "MXUSDT",
|
|
1193
1309
|
// "t":1661938138193
|
|
1194
1310
|
// }
|
|
1311
|
+
// protobuf
|
|
1312
|
+
// {
|
|
1313
|
+
// channel: "spot@private.orders.v3.api.pb",
|
|
1314
|
+
// symbol: "MXUSDT",
|
|
1315
|
+
// sendTime: 1736417034281,
|
|
1316
|
+
// privateOrders {}
|
|
1317
|
+
// }
|
|
1195
1318
|
//
|
|
1196
1319
|
const messageHash = 'orders';
|
|
1197
|
-
const data = this.
|
|
1320
|
+
const data = this.safeDictN(message, ['d', 'data', 'privateOrders']);
|
|
1198
1321
|
const futuresMarketId = this.safeString(data, 'symbol');
|
|
1199
|
-
const marketId = this.
|
|
1322
|
+
const marketId = this.safeString2(message, 's', 'symbol', futuresMarketId);
|
|
1200
1323
|
const market = this.safeMarket(marketId);
|
|
1201
1324
|
const symbol = market['symbol'];
|
|
1202
1325
|
let parsed = undefined;
|
|
@@ -1267,11 +1390,28 @@ export default class mexc extends mexcRest {
|
|
|
1267
1390
|
// "s":1,
|
|
1268
1391
|
// "i":"e03a5c7441e44ed899466a7140b71391",
|
|
1269
1392
|
// }
|
|
1393
|
+
// protofbuf spot order
|
|
1394
|
+
// {
|
|
1395
|
+
// "id":"C02__583905164440776704043",
|
|
1396
|
+
// "price":"0.001053",
|
|
1397
|
+
// "quantity":"2000",
|
|
1398
|
+
// "amount":"0",
|
|
1399
|
+
// "avgPrice":"0.001007",
|
|
1400
|
+
// "orderType":5,
|
|
1401
|
+
// "tradeType":1,
|
|
1402
|
+
// "remainAmount":"0.092",
|
|
1403
|
+
// "remainQuantity":"0",
|
|
1404
|
+
// "lastDealQuantity":"2000",
|
|
1405
|
+
// "cumulativeQuantity":"2000",
|
|
1406
|
+
// "cumulativeAmount":"2.014",
|
|
1407
|
+
// "status":2,
|
|
1408
|
+
// "createTime":"1754996075502"
|
|
1409
|
+
// }
|
|
1270
1410
|
//
|
|
1271
|
-
const timestamp = this.safeInteger(order, '
|
|
1272
|
-
const side = this.safeString(order, '
|
|
1273
|
-
const status = this.safeString(order, '
|
|
1274
|
-
const type = this.safeString(order, '
|
|
1411
|
+
const timestamp = this.safeInteger(order, 'createTime');
|
|
1412
|
+
const side = this.safeString(order, 'tradeType');
|
|
1413
|
+
const status = this.safeString(order, 'status');
|
|
1414
|
+
const type = this.safeString(order, 'orderType');
|
|
1275
1415
|
let fee = undefined;
|
|
1276
1416
|
const feeCurrency = this.safeString(order, 'N');
|
|
1277
1417
|
if (feeCurrency !== undefined) {
|
|
@@ -1281,8 +1421,8 @@ export default class mexc extends mexcRest {
|
|
|
1281
1421
|
};
|
|
1282
1422
|
}
|
|
1283
1423
|
return this.safeOrder({
|
|
1284
|
-
'id': this.safeString(order, '
|
|
1285
|
-
'clientOrderId': this.safeString(order, '
|
|
1424
|
+
'id': this.safeString(order, 'id'),
|
|
1425
|
+
'clientOrderId': this.safeString(order, 'clientOrderId'),
|
|
1286
1426
|
'timestamp': timestamp,
|
|
1287
1427
|
'datetime': this.iso8601(timestamp),
|
|
1288
1428
|
'lastTradeTimestamp': undefined,
|
|
@@ -1291,14 +1431,14 @@ export default class mexc extends mexcRest {
|
|
|
1291
1431
|
'type': this.parseWsOrderType(type),
|
|
1292
1432
|
'timeInForce': this.parseWsTimeInForce(type),
|
|
1293
1433
|
'side': (side === '1') ? 'buy' : 'sell',
|
|
1294
|
-
'price': this.safeString(order, '
|
|
1434
|
+
'price': this.safeString(order, 'price'),
|
|
1295
1435
|
'stopPrice': undefined,
|
|
1296
|
-
'triggerPrice':
|
|
1297
|
-
'average': this.safeString(order, '
|
|
1298
|
-
'amount': this.safeString(order, '
|
|
1299
|
-
'cost': this.safeString(order, '
|
|
1300
|
-
'filled': this.safeString(order, '
|
|
1301
|
-
'remaining': this.safeString(order, '
|
|
1436
|
+
'triggerPrice': undefined,
|
|
1437
|
+
'average': this.safeString(order, 'avgPrice'),
|
|
1438
|
+
'amount': this.safeString(order, 'quantity'),
|
|
1439
|
+
'cost': this.safeString(order, 'amount'),
|
|
1440
|
+
'filled': this.safeString(order, 'cumulativeQuantity'),
|
|
1441
|
+
'remaining': this.safeString(order, 'remainQuantity'),
|
|
1302
1442
|
'fee': fee,
|
|
1303
1443
|
'trades': undefined,
|
|
1304
1444
|
'info': order,
|
|
@@ -1321,7 +1461,7 @@ export default class mexc extends mexcRest {
|
|
|
1321
1461
|
parseWsOrderType(type) {
|
|
1322
1462
|
const types = {
|
|
1323
1463
|
'1': 'limit',
|
|
1324
|
-
'2':
|
|
1464
|
+
'2': 'limit',
|
|
1325
1465
|
'3': undefined,
|
|
1326
1466
|
'4': undefined,
|
|
1327
1467
|
'5': 'market',
|
|
@@ -1343,7 +1483,7 @@ export default class mexc extends mexcRest {
|
|
|
1343
1483
|
/**
|
|
1344
1484
|
* @method
|
|
1345
1485
|
* @name mexc#watchBalance
|
|
1346
|
-
* @see https://
|
|
1486
|
+
* @see https://www.mexc.com/api-docs/spot-v3/websocket-user-data-streams#spot-account-update
|
|
1347
1487
|
* @description watch balance and get the amount of funds available for trading or funds locked in orders
|
|
1348
1488
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
1349
1489
|
* @returns {object} a [balance structure]{@link https://docs.ccxt.com/#/?id=balance-structure}
|
|
@@ -1354,7 +1494,7 @@ export default class mexc extends mexcRest {
|
|
|
1354
1494
|
[type, params] = this.handleMarketTypeAndParams('watchBalance', undefined, params);
|
|
1355
1495
|
const messageHash = 'balance:' + type;
|
|
1356
1496
|
if (type === 'spot') {
|
|
1357
|
-
const channel = 'spot@private.account.v3.api';
|
|
1497
|
+
const channel = 'spot@private.account.v3.api.pb';
|
|
1358
1498
|
return await this.watchSpotPrivate(channel, messageHash, params);
|
|
1359
1499
|
}
|
|
1360
1500
|
else {
|
|
@@ -1393,23 +1533,23 @@ export default class mexc extends mexcRest {
|
|
|
1393
1533
|
// "ts": 1680059188190
|
|
1394
1534
|
// }
|
|
1395
1535
|
//
|
|
1396
|
-
const c = this.
|
|
1536
|
+
const c = this.safeString2(message, 'c', 'channel');
|
|
1397
1537
|
const type = (c === undefined) ? 'swap' : 'spot';
|
|
1398
1538
|
const messageHash = 'balance:' + type;
|
|
1399
|
-
const data = this.
|
|
1539
|
+
const data = this.safeDictN(message, ['d', 'data', 'privateAccount']);
|
|
1400
1540
|
const futuresTimestamp = this.safeInteger(message, 'ts');
|
|
1401
|
-
const timestamp = this.
|
|
1541
|
+
const timestamp = this.safeInteger2(data, 'c', 'time', futuresTimestamp);
|
|
1402
1542
|
if (!(type in this.balance)) {
|
|
1403
1543
|
this.balance[type] = {};
|
|
1404
1544
|
}
|
|
1405
1545
|
this.balance[type]['info'] = data;
|
|
1406
1546
|
this.balance[type]['timestamp'] = timestamp;
|
|
1407
1547
|
this.balance[type]['datetime'] = this.iso8601(timestamp);
|
|
1408
|
-
const currencyId = this.
|
|
1548
|
+
const currencyId = this.safeStringN(data, ['a', 'currency', 'vcoinName']);
|
|
1409
1549
|
const code = this.safeCurrencyCode(currencyId);
|
|
1410
1550
|
const account = this.account();
|
|
1411
|
-
account['
|
|
1412
|
-
account['used'] = this.
|
|
1551
|
+
account['total'] = this.safeStringN(data, ['f', 'availableBalance', 'balanceAmount']);
|
|
1552
|
+
account['used'] = this.safeStringN(data, ['l', 'frozenBalance', 'frozenAmount']);
|
|
1413
1553
|
this.balance[type][code] = account;
|
|
1414
1554
|
this.balance[type] = this.safeBalance(this.balance[type]);
|
|
1415
1555
|
client.resolve(this.balance[type], messageHash);
|
|
@@ -1429,17 +1569,10 @@ export default class mexc extends mexcRest {
|
|
|
1429
1569
|
let url = undefined;
|
|
1430
1570
|
let channel = undefined;
|
|
1431
1571
|
if (market['spot']) {
|
|
1432
|
-
|
|
1433
|
-
[miniTicker, params] = this.handleOptionAndParams(params, 'watchTicker', 'miniTicker');
|
|
1434
|
-
if (miniTicker) {
|
|
1435
|
-
channel = 'spot@public.miniTicker.v3.api@' + market['id'] + '@UTC+8';
|
|
1436
|
-
}
|
|
1437
|
-
else {
|
|
1438
|
-
channel = 'spot@public.bookTicker.v3.api@' + market['id'];
|
|
1439
|
-
}
|
|
1572
|
+
channel = 'spot@public.aggre.bookTicker.v3.api.pb@100ms@' + market['id'];
|
|
1440
1573
|
url = this.urls['api']['ws']['spot'];
|
|
1441
1574
|
params['unsubscribed'] = true;
|
|
1442
|
-
|
|
1575
|
+
this.watchSpotPublic(channel, messageHash, params);
|
|
1443
1576
|
}
|
|
1444
1577
|
else {
|
|
1445
1578
|
channel = 'unsub.ticker';
|
|
@@ -1447,7 +1580,7 @@ export default class mexc extends mexcRest {
|
|
|
1447
1580
|
'symbol': market['id'],
|
|
1448
1581
|
};
|
|
1449
1582
|
url = this.urls['api']['ws']['swap'];
|
|
1450
|
-
|
|
1583
|
+
this.watchSwapPublic(channel, messageHash, requestParams, params);
|
|
1451
1584
|
}
|
|
1452
1585
|
const client = this.client(url);
|
|
1453
1586
|
this.handleUnsubscriptions(client, [messageHash]);
|
|
@@ -1476,34 +1609,33 @@ export default class mexc extends mexcRest {
|
|
|
1476
1609
|
const url = (isSpot) ? this.urls['api']['ws']['spot'] : this.urls['api']['ws']['swap'];
|
|
1477
1610
|
const request = {};
|
|
1478
1611
|
if (isSpot) {
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
}
|
|
1494
|
-
else {
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
request['
|
|
1506
|
-
request['params'] = topics;
|
|
1612
|
+
throw new NotSupported(this.id + ' watchTickers does not support spot markets');
|
|
1613
|
+
// let miniTicker = false;
|
|
1614
|
+
// [ miniTicker, params ] = this.handleOptionAndParams (params, 'watchTickers', 'miniTicker');
|
|
1615
|
+
// const topics = [];
|
|
1616
|
+
// if (!miniTicker) {
|
|
1617
|
+
// if (symbols === undefined) {
|
|
1618
|
+
// throw new ArgumentsRequired (this.id + ' watchTickers required symbols argument for the bookTicker channel');
|
|
1619
|
+
// }
|
|
1620
|
+
// const marketIds = this.marketIds (symbols);
|
|
1621
|
+
// for (let i = 0; i < marketIds.length; i++) {
|
|
1622
|
+
// const marketId = marketIds[i];
|
|
1623
|
+
// messageHashes.push ('unsubscribe:ticker:' + symbols[i]);
|
|
1624
|
+
// const channel = 'spot@public.bookTicker.v3.api@' + marketId;
|
|
1625
|
+
// topics.push (channel);
|
|
1626
|
+
// }
|
|
1627
|
+
// } else {
|
|
1628
|
+
// topics.push ('spot@public.miniTickers.v3.api@UTC+8');
|
|
1629
|
+
// if (symbols === undefined) {
|
|
1630
|
+
// messageHashes.push ('unsubscribe:spot:ticker');
|
|
1631
|
+
// } else {
|
|
1632
|
+
// for (let i = 0; i < symbols.length; i++) {
|
|
1633
|
+
// messageHashes.push ('unsubscribe:ticker:' + symbols[i]);
|
|
1634
|
+
// }
|
|
1635
|
+
// }
|
|
1636
|
+
// }
|
|
1637
|
+
// request['method'] = 'UNSUBSCRIPTION';
|
|
1638
|
+
// request['params'] = topics;
|
|
1507
1639
|
}
|
|
1508
1640
|
else {
|
|
1509
1641
|
request['method'] = 'unsub.tickers';
|
|
@@ -1511,7 +1643,7 @@ export default class mexc extends mexcRest {
|
|
|
1511
1643
|
messageHashes.push('unsubscribe:ticker');
|
|
1512
1644
|
}
|
|
1513
1645
|
const client = this.client(url);
|
|
1514
|
-
|
|
1646
|
+
this.watchMultiple(url, messageHashes, this.extend(request, params), messageHashes);
|
|
1515
1647
|
this.handleUnsubscriptions(client, messageHashes);
|
|
1516
1648
|
return undefined;
|
|
1517
1649
|
}
|
|
@@ -1541,7 +1673,7 @@ export default class mexc extends mexcRest {
|
|
|
1541
1673
|
for (let i = 0; i < symbols.length; i++) {
|
|
1542
1674
|
if (isSpot) {
|
|
1543
1675
|
const market = this.market(symbols[i]);
|
|
1544
|
-
topics.push('spot@public.bookTicker.v3.api@' + market['id']);
|
|
1676
|
+
topics.push('spot@public.aggre.bookTicker.v3.api.pb@100ms@' + market['id']);
|
|
1545
1677
|
}
|
|
1546
1678
|
messageHashes.push('unsubscribe:bidask:' + symbols[i]);
|
|
1547
1679
|
}
|
|
@@ -1551,7 +1683,7 @@ export default class mexc extends mexcRest {
|
|
|
1551
1683
|
'params': topics,
|
|
1552
1684
|
};
|
|
1553
1685
|
const client = this.client(url);
|
|
1554
|
-
|
|
1686
|
+
this.watchMultiple(url, messageHashes, this.extend(request, params), messageHashes);
|
|
1555
1687
|
this.handleUnsubscriptions(client, messageHashes);
|
|
1556
1688
|
return undefined;
|
|
1557
1689
|
}
|
|
@@ -1575,9 +1707,9 @@ export default class mexc extends mexcRest {
|
|
|
1575
1707
|
let url = undefined;
|
|
1576
1708
|
if (market['spot']) {
|
|
1577
1709
|
url = this.urls['api']['ws']['spot'];
|
|
1578
|
-
const channel = 'spot@public.kline.v3.api@' + market['id'] + '@' + timeframeId;
|
|
1710
|
+
const channel = 'spot@public.kline.v3.api.pb@' + market['id'] + '@' + timeframeId;
|
|
1579
1711
|
params['unsubscribed'] = true;
|
|
1580
|
-
|
|
1712
|
+
this.watchSpotPublic(channel, messageHash, params);
|
|
1581
1713
|
}
|
|
1582
1714
|
else {
|
|
1583
1715
|
url = this.urls['api']['ws']['swap'];
|
|
@@ -1586,7 +1718,7 @@ export default class mexc extends mexcRest {
|
|
|
1586
1718
|
'symbol': market['id'],
|
|
1587
1719
|
'interval': timeframeId,
|
|
1588
1720
|
};
|
|
1589
|
-
|
|
1721
|
+
this.watchSwapPublic(channel, messageHash, requestParams, params);
|
|
1590
1722
|
}
|
|
1591
1723
|
const client = this.client(url);
|
|
1592
1724
|
this.handleUnsubscriptions(client, [messageHash]);
|
|
@@ -1598,6 +1730,7 @@ export default class mexc extends mexcRest {
|
|
|
1598
1730
|
* @description unWatches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
|
|
1599
1731
|
* @param {string} symbol unified array of symbols
|
|
1600
1732
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
1733
|
+
* @param {string} [params.frequency] the frequency of the order book updates, default is '10ms', can be '100ms' or '10ms
|
|
1601
1734
|
* @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
|
|
1602
1735
|
*/
|
|
1603
1736
|
async unWatchOrderBook(symbol, params = {}) {
|
|
@@ -1608,9 +1741,11 @@ export default class mexc extends mexcRest {
|
|
|
1608
1741
|
let url = undefined;
|
|
1609
1742
|
if (market['spot']) {
|
|
1610
1743
|
url = this.urls['api']['ws']['spot'];
|
|
1611
|
-
|
|
1744
|
+
let frequency = undefined;
|
|
1745
|
+
[frequency, params] = this.handleOptionAndParams(params, 'watchOrderBook', 'frequency', '100ms');
|
|
1746
|
+
const channel = 'spot@public.aggre.depth.v3.api.pb@' + frequency + '@' + market['id'];
|
|
1612
1747
|
params['unsubscribed'] = true;
|
|
1613
|
-
|
|
1748
|
+
this.watchSpotPublic(channel, messageHash, params);
|
|
1614
1749
|
}
|
|
1615
1750
|
else {
|
|
1616
1751
|
url = this.urls['api']['ws']['swap'];
|
|
@@ -1618,7 +1753,7 @@ export default class mexc extends mexcRest {
|
|
|
1618
1753
|
const requestParams = {
|
|
1619
1754
|
'symbol': market['id'],
|
|
1620
1755
|
};
|
|
1621
|
-
|
|
1756
|
+
this.watchSwapPublic(channel, messageHash, requestParams, params);
|
|
1622
1757
|
}
|
|
1623
1758
|
const client = this.client(url);
|
|
1624
1759
|
this.handleUnsubscriptions(client, [messageHash]);
|
|
@@ -1641,9 +1776,9 @@ export default class mexc extends mexcRest {
|
|
|
1641
1776
|
let url = undefined;
|
|
1642
1777
|
if (market['spot']) {
|
|
1643
1778
|
url = this.urls['api']['ws']['spot'];
|
|
1644
|
-
const channel = 'spot@public.deals.v3.api@' + market['id'];
|
|
1779
|
+
const channel = 'spot@public.aggre.deals.v3.api.pb@100ms@' + market['id'];
|
|
1645
1780
|
params['unsubscribed'] = true;
|
|
1646
|
-
|
|
1781
|
+
this.watchSpotPublic(channel, messageHash, params);
|
|
1647
1782
|
}
|
|
1648
1783
|
else {
|
|
1649
1784
|
url = this.urls['api']['ws']['swap'];
|
|
@@ -1651,7 +1786,7 @@ export default class mexc extends mexcRest {
|
|
|
1651
1786
|
const requestParams = {
|
|
1652
1787
|
'symbol': market['id'],
|
|
1653
1788
|
};
|
|
1654
|
-
|
|
1789
|
+
this.watchSwapPublic(channel, messageHash, requestParams, params);
|
|
1655
1790
|
}
|
|
1656
1791
|
const client = this.client(url);
|
|
1657
1792
|
this.handleUnsubscriptions(client, [messageHash]);
|
|
@@ -1764,6 +1899,7 @@ export default class mexc extends mexcRest {
|
|
|
1764
1899
|
const channel = this.safeString(parts, 1);
|
|
1765
1900
|
const methods = {
|
|
1766
1901
|
'public.increase.depth.v3.api': this.handleOrderBookSubscription,
|
|
1902
|
+
'public.aggre.depth.v3.api.pb': this.handleOrderBookSubscription,
|
|
1767
1903
|
};
|
|
1768
1904
|
const method = this.safeValue(methods, channel);
|
|
1769
1905
|
if (method !== undefined) {
|
|
@@ -1771,12 +1907,62 @@ export default class mexc extends mexcRest {
|
|
|
1771
1907
|
}
|
|
1772
1908
|
}
|
|
1773
1909
|
}
|
|
1910
|
+
handleProtobufMessage(client, message) {
|
|
1911
|
+
// protobuf message decoded
|
|
1912
|
+
// {
|
|
1913
|
+
// "channel":"spot@public.kline.v3.api.pb@BTCUSDT@Min1",
|
|
1914
|
+
// "symbol":"BTCUSDT",
|
|
1915
|
+
// "symbolId":"2fb942154ef44a4ab2ef98c8afb6a4a7",
|
|
1916
|
+
// "createTime":"1754737941062",
|
|
1917
|
+
// "publicSpotKline":{
|
|
1918
|
+
// "interval":"Min1",
|
|
1919
|
+
// "windowStart":"1754737920",
|
|
1920
|
+
// "openingPrice":"117317.31",
|
|
1921
|
+
// "closingPrice":"117325.26",
|
|
1922
|
+
// "highestPrice":"117341",
|
|
1923
|
+
// "lowestPrice":"117317.3",
|
|
1924
|
+
// "volume":"3.12599854",
|
|
1925
|
+
// "amount":"366804.43",
|
|
1926
|
+
// "windowEnd":"1754737980"
|
|
1927
|
+
// }
|
|
1928
|
+
// }
|
|
1929
|
+
const channel = this.safeString(message, 'channel');
|
|
1930
|
+
const channelParts = channel.split('@');
|
|
1931
|
+
const channelId = this.safeString(channelParts, 1);
|
|
1932
|
+
if (channelId === 'public.kline.v3.api.pb') {
|
|
1933
|
+
this.handleOHLCV(client, message);
|
|
1934
|
+
}
|
|
1935
|
+
else if (channelId === 'public.aggre.deals.v3.api.pb') {
|
|
1936
|
+
this.handleTrades(client, message);
|
|
1937
|
+
}
|
|
1938
|
+
else if (channelId === 'public.aggre.bookTicker.v3.api.pb') {
|
|
1939
|
+
this.handleTicker(client, message);
|
|
1940
|
+
}
|
|
1941
|
+
else if (channelId === 'public.aggre.depth.v3.api.pb') {
|
|
1942
|
+
this.handleOrderBook(client, message);
|
|
1943
|
+
}
|
|
1944
|
+
else if (channelId === 'private.account.v3.api.pb') {
|
|
1945
|
+
this.handleBalance(client, message);
|
|
1946
|
+
}
|
|
1947
|
+
else if (channelId === 'private.deals.v3.api.pb') {
|
|
1948
|
+
this.handleMyTrade(client, message);
|
|
1949
|
+
}
|
|
1950
|
+
else if (channelId === 'private.orders.v3.api.pb') {
|
|
1951
|
+
this.handleOrder(client, message);
|
|
1952
|
+
}
|
|
1953
|
+
return true;
|
|
1954
|
+
}
|
|
1774
1955
|
handleMessage(client, message) {
|
|
1775
1956
|
if (typeof message === 'string') {
|
|
1776
1957
|
if (message === 'Invalid listen key') {
|
|
1777
1958
|
const error = new AuthenticationError(this.id + ' invalid listen key');
|
|
1778
1959
|
client.reject(error);
|
|
1960
|
+
return;
|
|
1779
1961
|
}
|
|
1962
|
+
}
|
|
1963
|
+
if (this.isBinaryMessage(message)) {
|
|
1964
|
+
message = this.decodeProtoMsg(message);
|
|
1965
|
+
this.handleProtobufMessage(client, message);
|
|
1780
1966
|
return;
|
|
1781
1967
|
}
|
|
1782
1968
|
if ('msg' in message) {
|