ccxt 4.5.61 → 4.5.63
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 +19 -17
- package/dist/ccxt.browser.min.js +4 -4
- package/dist/cjs/ccxt.js +6 -1
- package/dist/cjs/src/abstract/aftermath.js +1 -1
- package/dist/cjs/src/abstract/alpaca.js +1 -1
- package/dist/cjs/src/abstract/apex.js +1 -1
- package/dist/cjs/src/abstract/ascendex.js +1 -1
- package/dist/cjs/src/abstract/aster.js +1 -1
- package/dist/cjs/src/abstract/backpack.js +1 -1
- package/dist/cjs/src/abstract/bigone.js +1 -1
- package/dist/cjs/src/abstract/binance.js +1 -1
- package/dist/cjs/src/abstract/bingx.js +1 -1
- package/dist/cjs/src/abstract/bit2c.js +1 -1
- package/dist/cjs/src/abstract/bitbank.js +1 -1
- package/dist/cjs/src/abstract/bitbns.js +1 -1
- package/dist/cjs/src/abstract/bitfinex.js +1 -1
- package/dist/cjs/src/abstract/bitflyer.js +1 -1
- package/dist/cjs/src/abstract/bitget.js +1 -1
- package/dist/cjs/src/abstract/bithumb.js +1 -1
- package/dist/cjs/src/abstract/bitmart.js +1 -1
- package/dist/cjs/src/abstract/bitmex.js +1 -1
- package/dist/cjs/src/abstract/bitopro.js +1 -1
- package/dist/cjs/src/abstract/bitrue.js +1 -1
- package/dist/cjs/src/abstract/bitso.js +1 -1
- package/dist/cjs/src/abstract/bitstamp.js +1 -1
- package/dist/cjs/src/abstract/bitteam.js +1 -1
- package/dist/cjs/src/abstract/bittrade.js +1 -1
- package/dist/cjs/src/abstract/bitvavo.js +1 -1
- package/dist/cjs/src/abstract/blockchaincom.js +1 -1
- package/dist/cjs/src/abstract/blofin.js +1 -1
- package/dist/cjs/src/abstract/btcbox.js +1 -1
- package/dist/cjs/src/abstract/btcmarkets.js +1 -1
- package/dist/cjs/src/abstract/btcturk.js +1 -1
- package/dist/cjs/src/abstract/bullish.js +1 -1
- package/dist/cjs/src/abstract/bybit.js +1 -1
- package/dist/cjs/src/abstract/bydfi.js +1 -1
- package/dist/cjs/src/abstract/cex.js +1 -1
- package/dist/cjs/src/abstract/coinbase.js +1 -1
- package/dist/cjs/src/abstract/coinbaseexchange.js +1 -1
- package/dist/cjs/src/abstract/coinbaseinternational.js +1 -1
- package/dist/cjs/src/abstract/coincheck.js +1 -1
- package/dist/cjs/src/abstract/coinex.js +1 -1
- package/dist/cjs/src/abstract/coinmate.js +1 -1
- package/dist/cjs/src/abstract/coinmetro.js +1 -1
- package/dist/cjs/src/abstract/coinone.js +1 -1
- package/dist/cjs/src/abstract/coinsph.js +1 -1
- package/dist/cjs/src/abstract/coinspot.js +1 -1
- package/dist/cjs/src/abstract/cryptocom.js +1 -1
- package/dist/cjs/src/abstract/cryptomus.js +1 -1
- package/dist/cjs/src/abstract/deepcoin.js +1 -1
- package/dist/cjs/src/abstract/delta.js +1 -1
- package/dist/cjs/src/abstract/deribit.js +1 -1
- package/dist/cjs/src/abstract/derive.js +1 -1
- package/dist/cjs/src/abstract/digifinex.js +1 -1
- package/dist/cjs/src/abstract/dydx.js +1 -1
- package/dist/cjs/src/abstract/exmo.js +1 -1
- package/dist/cjs/src/abstract/extended.js +1 -1
- package/dist/cjs/src/abstract/foxbit.js +1 -1
- package/dist/cjs/src/abstract/gate.js +1 -1
- package/dist/cjs/src/abstract/gemini.js +1 -1
- package/dist/cjs/src/abstract/grvt.js +1 -1
- package/dist/cjs/src/abstract/hashkey.js +1 -1
- package/dist/cjs/src/abstract/hibachi.js +1 -1
- package/dist/cjs/src/abstract/hitbtc.js +1 -1
- package/dist/cjs/src/abstract/hollaex.js +1 -1
- package/dist/cjs/src/abstract/htx.js +1 -1
- package/dist/cjs/src/abstract/hyperliquid.js +1 -1
- package/dist/cjs/src/abstract/independentreserve.js +1 -1
- package/dist/cjs/src/abstract/indodax.js +1 -1
- package/dist/cjs/src/abstract/kraken.js +1 -1
- package/dist/cjs/src/abstract/krakenfutures.js +1 -1
- package/dist/cjs/src/abstract/kucoin.js +1 -1
- package/dist/cjs/src/abstract/latoken.js +1 -1
- package/dist/cjs/src/abstract/lbank.js +1 -1
- package/dist/cjs/src/abstract/lighter.js +1 -1
- package/dist/cjs/src/abstract/luno.js +1 -1
- package/dist/cjs/src/abstract/mercado.js +1 -1
- package/dist/cjs/src/abstract/mexc.js +1 -1
- package/dist/cjs/src/abstract/modetrade.js +1 -1
- package/dist/cjs/src/abstract/ndax.js +1 -1
- package/dist/cjs/src/abstract/novadax.js +1 -1
- package/dist/cjs/src/abstract/okx.js +1 -1
- package/dist/cjs/src/abstract/onetrading.js +1 -1
- package/dist/cjs/src/abstract/p2b.js +1 -1
- package/dist/cjs/src/abstract/pacifica.js +1 -1
- package/dist/cjs/src/abstract/paradex.js +1 -1
- package/dist/cjs/src/abstract/paymium.js +1 -1
- package/dist/cjs/src/abstract/phemex.js +1 -1
- package/dist/cjs/src/abstract/poloniex.js +1 -1
- package/dist/cjs/src/abstract/tokocrypto.js +1 -1
- package/dist/cjs/src/abstract/toobit.js +1 -1
- package/dist/cjs/src/abstract/upbit.js +1 -1
- package/dist/cjs/src/abstract/weex.js +1 -1
- package/dist/cjs/src/abstract/whitebit.js +1 -1
- package/dist/cjs/src/abstract/woo.js +1 -1
- package/dist/cjs/src/abstract/woofipro.js +1 -1
- package/dist/cjs/src/abstract/xt.js +1 -1
- package/dist/cjs/src/abstract/zaif.js +1 -1
- package/dist/cjs/src/abstract/zebpay.js +1 -1
- package/dist/cjs/src/aftermath.js +0 -1
- package/dist/cjs/src/alpaca.js +1 -1
- package/dist/cjs/src/apex.js +1 -1
- package/dist/cjs/src/ascendex.js +1 -1
- package/dist/cjs/src/aster.js +1 -1
- package/dist/cjs/src/backpack.js +1 -1
- package/dist/cjs/src/base/Exchange.js +1 -1
- package/dist/cjs/src/base/Precise.js +0 -6
- package/dist/cjs/src/base/errors.js +0 -6
- package/dist/cjs/src/base/functions/crypto.js +1 -1
- package/dist/cjs/src/base/functions/encode.js +1 -1
- package/dist/cjs/src/base/functions/io.js +1 -1
- package/dist/cjs/src/base/functions/misc.js +0 -1
- package/dist/cjs/src/base/functions/number.js +0 -6
- package/dist/cjs/src/base/functions/platform.js +0 -6
- package/dist/cjs/src/base/functions/rsa.js +0 -1
- package/dist/cjs/src/base/functions/string.js +0 -6
- package/dist/cjs/src/base/functions/throttle.js +1 -1
- package/dist/cjs/src/base/functions/time.js +0 -6
- package/dist/cjs/src/base/functions/totp.js +0 -1
- package/dist/cjs/src/base/functions/type.js +0 -6
- package/dist/cjs/src/base/functions.js +1 -1
- package/dist/cjs/src/base/ws/Cache.js +0 -6
- package/dist/cjs/src/base/ws/Client.js +0 -1
- 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 +0 -6
- package/dist/cjs/src/base/ws/WsClient.js +1 -1
- package/dist/cjs/src/bequant.js +1 -1
- package/dist/cjs/src/bigone.js +1 -1
- package/dist/cjs/src/binance.js +41 -22
- package/dist/cjs/src/binancecoinm.js +1 -1
- package/dist/cjs/src/binanceus.js +1 -1
- package/dist/cjs/src/binanceusdm.js +1 -1
- package/dist/cjs/src/bingx.js +4 -4
- package/dist/cjs/src/bit2c.js +1 -1
- package/dist/cjs/src/bitbank.js +1 -1
- package/dist/cjs/src/bitbns.js +1 -1
- package/dist/cjs/src/bitfinex.js +1 -1
- package/dist/cjs/src/bitflyer.js +1 -1
- package/dist/cjs/src/bitget.js +1 -1
- package/dist/cjs/src/bithumb.js +1 -1
- package/dist/cjs/src/bitmart.js +1 -1
- package/dist/cjs/src/bitmex.js +2 -2
- package/dist/cjs/src/bitopro.js +1 -1
- package/dist/cjs/src/bitrue.js +1 -1
- package/dist/cjs/src/bitso.js +1 -1
- package/dist/cjs/src/bitstamp.js +1 -1
- package/dist/cjs/src/bitteam.js +1 -1
- package/dist/cjs/src/bittrade.js +1 -1
- package/dist/cjs/src/bitvavo.js +1 -1
- package/dist/cjs/src/blockchaincom.js +1 -1
- package/dist/cjs/src/blofin.js +1 -1
- package/dist/cjs/src/btcbox.js +1 -1
- package/dist/cjs/src/btcmarkets.js +1 -1
- package/dist/cjs/src/btcturk.js +2 -2
- package/dist/cjs/src/bullish.js +1 -1
- package/dist/cjs/src/bybit.js +115 -13
- package/dist/cjs/src/bybiteu.js +1 -1
- package/dist/cjs/src/bydfi.js +1 -1
- package/dist/cjs/src/cex.js +2 -1
- package/dist/cjs/src/coincheck.js +52 -1
- package/dist/cjs/src/coinex.js +1 -1
- package/dist/cjs/src/coinmate.js +1 -1
- package/dist/cjs/src/coinmetro.js +1 -1
- package/dist/cjs/src/coinone.js +1 -1
- package/dist/cjs/src/coinsph.js +35 -29
- package/dist/cjs/src/coinspot.js +1 -1
- package/dist/cjs/src/cryptocom.js +1 -1
- package/dist/cjs/src/cryptomus.js +1 -1
- package/dist/cjs/src/deepcoin.js +1 -1
- package/dist/cjs/src/delta.js +1 -1
- package/dist/cjs/src/deribit.js +1 -1
- package/dist/cjs/src/derive.js +1 -1
- package/dist/cjs/src/digifinex.js +1 -1
- package/dist/cjs/src/dydx.js +1 -1
- package/dist/cjs/src/exmo.js +1 -1
- package/dist/cjs/src/extended.js +3 -3
- package/dist/cjs/src/fmfwio.js +1 -1
- package/dist/cjs/src/foxbit.js +1 -1
- package/dist/cjs/src/gate.js +2 -2
- package/dist/cjs/src/gateeu.js +1 -1
- package/dist/cjs/src/gemini.js +1 -1
- package/dist/cjs/src/grvt.js +1 -1
- package/dist/cjs/src/hashkey.js +1 -1
- package/dist/cjs/src/hibachi.js +1 -1
- package/dist/cjs/src/hitbtc.js +0 -1
- package/dist/cjs/src/hollaex.js +1 -1
- package/dist/cjs/src/htx.js +1 -1
- package/dist/cjs/src/hyperliquid.js +13 -6
- package/dist/cjs/src/independentreserve.js +1 -1
- package/dist/cjs/src/indodax.js +1 -1
- package/dist/cjs/src/kraken.js +1 -1
- package/dist/cjs/src/krakenfutures.js +1 -1
- package/dist/cjs/src/kucoin.js +1 -1
- package/dist/cjs/src/kucoineu.js +32 -0
- package/dist/cjs/src/kucoinfutures.js +1 -1
- package/dist/cjs/src/latoken.js +1 -1
- package/dist/cjs/src/lbank.js +1 -1
- package/dist/cjs/src/lighter.js +1 -1
- package/dist/cjs/src/luno.js +1 -1
- package/dist/cjs/src/mercado.js +1 -1
- package/dist/cjs/src/mexc.js +1 -1
- package/dist/cjs/src/modetrade.js +1 -1
- package/dist/cjs/src/myokx.js +1 -1
- package/dist/cjs/src/ndax.js +1 -1
- package/dist/cjs/src/novadax.js +1 -1
- package/dist/cjs/src/okx.js +1 -1
- package/dist/cjs/src/okxus.js +1 -1
- package/dist/cjs/src/onetrading.js +1 -1
- package/dist/cjs/src/p2b.js +1 -1
- package/dist/cjs/src/pacifica.js +1 -1
- package/dist/cjs/src/paradex.js +1 -1
- package/dist/cjs/src/paymium.js +1 -1
- package/dist/cjs/src/poloniex.js +1 -1
- package/dist/cjs/src/pro/alpaca.js +1 -1
- package/dist/cjs/src/pro/apex.js +1 -1
- package/dist/cjs/src/pro/ascendex.js +1 -1
- package/dist/cjs/src/pro/aster.js +1 -1
- package/dist/cjs/src/pro/backpack.js +1 -1
- package/dist/cjs/src/pro/bequant.js +1 -1
- package/dist/cjs/src/pro/binancecoinm.js +1 -1
- package/dist/cjs/src/pro/binanceus.js +1 -1
- package/dist/cjs/src/pro/binanceusdm.js +1 -1
- package/dist/cjs/src/pro/bingx.js +1 -1
- package/dist/cjs/src/pro/bitfinex.js +1 -1
- package/dist/cjs/src/pro/bitget.js +1 -1
- package/dist/cjs/src/pro/bithumb.js +1 -1
- package/dist/cjs/src/pro/bitmart.js +1 -1
- package/dist/cjs/src/pro/bitmex.js +1 -1
- package/dist/cjs/src/pro/bitrue.js +1 -1
- package/dist/cjs/src/pro/bitstamp.js +1 -1
- package/dist/cjs/src/pro/bitvavo.js +1 -1
- package/dist/cjs/src/pro/blockchaincom.js +1 -1
- package/dist/cjs/src/pro/blofin.js +1 -1
- package/dist/cjs/src/pro/bullish.js +1 -1
- package/dist/cjs/src/pro/bybit.js +1 -1
- package/dist/cjs/src/pro/bybiteu.js +1 -1
- package/dist/cjs/src/pro/bydfi.js +1 -1
- package/dist/cjs/src/pro/cex.js +2 -2
- package/dist/cjs/src/pro/coinbase.js +1 -1
- package/dist/cjs/src/pro/coinbaseexchange.js +1 -1
- package/dist/cjs/src/pro/coinbaseinternational.js +1 -1
- package/dist/cjs/src/pro/coincheck.js +1 -1
- package/dist/cjs/src/pro/coinex.js +1 -1
- package/dist/cjs/src/pro/coinone.js +1 -1
- package/dist/cjs/src/pro/cryptocom.js +1 -1
- package/dist/cjs/src/pro/deepcoin.js +1 -1
- package/dist/cjs/src/pro/deribit.js +1 -1
- package/dist/cjs/src/pro/dydx.js +1 -1
- package/dist/cjs/src/pro/exmo.js +1 -1
- package/dist/cjs/src/pro/gate.js +1 -1
- package/dist/cjs/src/pro/gateeu.js +1 -1
- package/dist/cjs/src/pro/gemini.js +1 -1
- package/dist/cjs/src/pro/grvt.js +1 -1
- package/dist/cjs/src/pro/hashkey.js +1 -1
- package/dist/cjs/src/pro/hitbtc.js +1 -1
- package/dist/cjs/src/pro/hollaex.js +1 -1
- package/dist/cjs/src/pro/htx.js +439 -101
- package/dist/cjs/src/pro/hyperliquid.js +1 -1
- package/dist/cjs/src/pro/independentreserve.js +1 -1
- package/dist/cjs/src/pro/kraken.js +1 -1
- package/dist/cjs/src/pro/krakenfutures.js +1 -1
- package/dist/cjs/src/pro/kucoin.js +1 -1
- package/dist/cjs/src/pro/kucoineu.js +29 -0
- package/dist/cjs/src/pro/kucoinfutures.js +1 -1
- package/dist/cjs/src/pro/lbank.js +0 -1
- package/dist/cjs/src/pro/lighter.js +13 -4
- package/dist/cjs/src/pro/luno.js +1 -1
- package/dist/cjs/src/pro/mexc.js +1 -1
- package/dist/cjs/src/pro/myokx.js +1 -1
- package/dist/cjs/src/pro/ndax.js +1 -1
- package/dist/cjs/src/pro/okx.js +1 -1
- package/dist/cjs/src/pro/okxus.js +1 -1
- package/dist/cjs/src/pro/onetrading.js +1 -1
- package/dist/cjs/src/pro/p2b.js +1 -1
- package/dist/cjs/src/pro/pacifica.js +1 -1
- package/dist/cjs/src/pro/paradex.js +1 -1
- package/dist/cjs/src/pro/phemex.js +1 -1
- package/dist/cjs/src/pro/poloniex.js +1 -1
- package/dist/cjs/src/pro/toobit.js +1 -1
- package/dist/cjs/src/pro/upbit.js +1 -1
- package/dist/cjs/src/pro/weex.js +1 -1
- package/dist/cjs/src/pro/whitebit.js +1 -1
- package/dist/cjs/src/pro/xt.js +1 -1
- package/dist/cjs/src/protobuf/mexc/compiled.cjs.js +1 -0
- package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/base/v1beta1/coin.js +0 -1
- package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/crypto/multisig/v1beta1/multisig.js +0 -1
- package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/crypto/secp256k1/keys.js +0 -1
- package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/tx/signing/v1beta1/signing.js +0 -1
- package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/tx/v1beta1/tx.js +0 -1
- package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/accountplus/tx.js +0 -1
- package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/clob_pair.js +0 -1
- package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order.js +0 -1
- package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order_removals.js +0 -1
- package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/tx.js +0 -1
- package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/transfer.js +0 -1
- package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/tx.js +0 -1
- package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/subaccount.js +0 -1
- package/dist/cjs/src/static_dependencies/dydx-v4-client/google/protobuf/any.js +0 -1
- package/dist/cjs/src/static_dependencies/dydx-v4-client/helpers.js +0 -6
- package/dist/cjs/src/static_dependencies/dydx-v4-client/onboarding.js +0 -1
- package/dist/cjs/src/static_dependencies/dydx-v4-client/registry.js +0 -1
- package/dist/cjs/src/static_dependencies/ethers/abi-coder.js +12 -1
- package/dist/cjs/src/static_dependencies/ethers/address/address.js +1 -1
- package/dist/cjs/src/static_dependencies/ethers/coders/abstract-coder.js +0 -1
- package/dist/cjs/src/static_dependencies/ethers/coders/address.js +0 -1
- package/dist/cjs/src/static_dependencies/ethers/coders/anonymous.js +0 -1
- package/dist/cjs/src/static_dependencies/ethers/coders/array.js +0 -1
- package/dist/cjs/src/static_dependencies/ethers/coders/boolean.js +0 -1
- package/dist/cjs/src/static_dependencies/ethers/coders/bytes.js +0 -1
- package/dist/cjs/src/static_dependencies/ethers/coders/fixed-bytes.js +0 -1
- package/dist/cjs/src/static_dependencies/ethers/coders/null.js +0 -1
- package/dist/cjs/src/static_dependencies/ethers/coders/number.js +0 -1
- package/dist/cjs/src/static_dependencies/ethers/coders/string.js +0 -1
- package/dist/cjs/src/static_dependencies/ethers/coders/tuple.js +0 -1
- package/dist/cjs/src/static_dependencies/ethers/fragments.js +0 -6
- package/dist/cjs/src/static_dependencies/ethers/hash/typed-data.js +1 -1
- package/dist/cjs/src/static_dependencies/ethers/index.js +10 -1
- package/dist/cjs/src/static_dependencies/ethers/typed.js +14 -1
- package/dist/cjs/src/static_dependencies/ethers/utils/base58.js +13 -1
- package/dist/cjs/src/static_dependencies/ethers/utils/data.js +6 -1
- package/dist/cjs/src/static_dependencies/ethers/utils/errors.js +9 -1
- package/dist/cjs/src/static_dependencies/ethers/utils/fixednumber.js +0 -1
- package/dist/cjs/src/static_dependencies/ethers/utils/index.js +7 -1
- package/dist/cjs/src/static_dependencies/ethers/utils/maths.js +5 -1
- package/dist/cjs/src/static_dependencies/ethers/utils/properties.js +0 -6
- package/dist/cjs/src/static_dependencies/ethers/utils/utf8.js +8 -1
- package/dist/cjs/src/static_dependencies/fflake/browser.js +1 -1
- package/dist/cjs/src/static_dependencies/messagepack/msgpack.js +0 -6
- package/dist/cjs/src/static_dependencies/node-fetch/body.js +5 -1
- package/dist/cjs/src/static_dependencies/node-fetch/errors/abort-error.js +0 -1
- package/dist/cjs/src/static_dependencies/node-fetch/errors/base.js +0 -6
- package/dist/cjs/src/static_dependencies/node-fetch/errors/fetch-error.js +0 -1
- package/dist/cjs/src/static_dependencies/node-fetch/headers.js +5 -1
- package/dist/cjs/src/static_dependencies/node-fetch/index.js +7 -1
- package/dist/cjs/src/static_dependencies/node-fetch/request.js +7 -1
- package/dist/cjs/src/static_dependencies/node-fetch/response.js +5 -1
- package/dist/cjs/src/static_dependencies/node-fetch/utils/get-search.js +0 -6
- package/dist/cjs/src/static_dependencies/node-fetch/utils/is-redirect.js +0 -6
- package/dist/cjs/src/static_dependencies/node-fetch/utils/is.js +0 -6
- package/dist/cjs/src/static_dependencies/node-fetch/utils/referrer.js +0 -1
- package/dist/cjs/src/static_dependencies/proxies/agent-base/index.js +0 -1
- package/dist/cjs/src/static_dependencies/proxies/http-proxy-agent/index.js +0 -1
- package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/index.js +0 -1
- package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +0 -6
- package/dist/cjs/src/static_dependencies/qs/formats.js +0 -6
- package/dist/cjs/src/static_dependencies/qs/index.js +0 -1
- package/dist/cjs/src/static_dependencies/qs/parse.js +0 -1
- package/dist/cjs/src/static_dependencies/qs/stringify.js +0 -1
- package/dist/cjs/src/static_dependencies/qs/utils.js +0 -6
- package/dist/cjs/src/static_dependencies/starknet/constants.js +1 -1
- package/dist/cjs/src/static_dependencies/starknet/types/calldata.js +0 -6
- package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/abi.js +0 -6
- package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/index.js +0 -6
- package/dist/cjs/src/static_dependencies/starknet/types/lib/index.js +0 -6
- package/dist/cjs/src/static_dependencies/starknet/types/typedData.js +0 -6
- package/dist/cjs/src/static_dependencies/starknet/utils/assert.js +0 -6
- 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 +0 -1
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/cairo.js +0 -1
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +0 -6
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +0 -6
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +0 -6
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/formatter.js +0 -1
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/index.js +1 -1
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/index.js +0 -1
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +0 -1
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +0 -6
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +0 -1
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/requestParser.js +0 -1
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/responseParser.js +0 -1
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/tuple.js +1 -1
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/validate.js +4 -1
- package/dist/cjs/src/static_dependencies/starknet/utils/encode.js +0 -1
- package/dist/cjs/src/static_dependencies/starknet/utils/hash/classHash.js +3 -1
- package/dist/cjs/src/static_dependencies/starknet/utils/merkle.js +0 -1
- package/dist/cjs/src/static_dependencies/starknet/utils/num.js +0 -1
- package/dist/cjs/src/static_dependencies/starknet/utils/selector.js +0 -1
- package/dist/cjs/src/static_dependencies/starknet/utils/shortString.js +0 -1
- package/dist/cjs/src/static_dependencies/starknet/utils/typedData.js +1 -1
- package/dist/cjs/src/static_dependencies/watchable/src/unpromise.js +0 -6
- package/dist/cjs/src/static_dependencies/zklink/zklink-sdk-web.js +0 -6
- package/dist/cjs/src/tokocrypto.js +1 -1
- package/dist/cjs/src/toobit.js +1 -1
- package/dist/cjs/src/upbit.js +1 -1
- package/dist/cjs/src/weex.js +1 -1
- package/dist/cjs/src/whitebit.js +1 -1
- package/dist/cjs/src/woo.js +1 -1
- package/dist/cjs/src/woofipro.js +1 -1
- package/dist/cjs/src/xt.js +1 -1
- package/dist/cjs/src/zaif.js +1 -1
- package/dist/cjs/src/zebpay.js +1 -1
- package/js/ccxt.d.ts +8 -2
- package/js/ccxt.js +6 -8
- package/js/src/abstract/aftermath.js +0 -6
- package/js/src/abstract/alpaca.js +0 -6
- package/js/src/abstract/apex.js +0 -6
- package/js/src/abstract/ascendex.js +0 -6
- package/js/src/abstract/aster.js +0 -6
- package/js/src/abstract/backpack.js +0 -6
- package/js/src/abstract/bequant.js +0 -6
- package/js/src/abstract/bigone.js +0 -6
- package/js/src/abstract/binance.js +0 -6
- package/js/src/abstract/binancecoinm.js +0 -6
- package/js/src/abstract/binanceus.js +0 -6
- package/js/src/abstract/binanceusdm.js +0 -6
- package/js/src/abstract/bingx.js +0 -6
- package/js/src/abstract/bit2c.js +0 -6
- package/js/src/abstract/bitbank.js +0 -6
- package/js/src/abstract/bitbns.js +0 -6
- package/js/src/abstract/bitfinex.js +0 -6
- package/js/src/abstract/bitflyer.js +0 -6
- package/js/src/abstract/bitget.js +0 -6
- package/js/src/abstract/bithumb.js +0 -6
- package/js/src/abstract/bitmart.js +0 -6
- package/js/src/abstract/bitmex.js +0 -6
- package/js/src/abstract/bitopro.js +0 -6
- package/js/src/abstract/bitrue.js +0 -6
- package/js/src/abstract/bitso.js +0 -6
- package/js/src/abstract/bitstamp.js +0 -6
- package/js/src/abstract/bitteam.js +0 -6
- package/js/src/abstract/bittrade.js +0 -6
- package/js/src/abstract/bitvavo.js +0 -6
- package/js/src/abstract/blockchaincom.js +0 -6
- package/js/src/abstract/blofin.js +0 -6
- package/js/src/abstract/btcbox.js +0 -6
- package/js/src/abstract/btcmarkets.js +0 -6
- package/js/src/abstract/btcturk.js +0 -6
- package/js/src/abstract/bullish.js +0 -6
- package/js/src/abstract/bybit.js +0 -6
- package/js/src/abstract/bybiteu.js +0 -6
- package/js/src/abstract/bydfi.js +0 -6
- package/js/src/abstract/cex.js +0 -6
- package/js/src/abstract/coinbase.js +0 -6
- package/js/src/abstract/coinbaseexchange.js +0 -6
- package/js/src/abstract/coinbaseinternational.js +0 -6
- package/js/src/abstract/coincheck.js +0 -6
- package/js/src/abstract/coinex.js +0 -6
- package/js/src/abstract/coinmate.js +0 -6
- package/js/src/abstract/coinmetro.js +0 -6
- package/js/src/abstract/coinone.js +0 -6
- package/js/src/abstract/coinsph.js +0 -6
- package/js/src/abstract/coinspot.js +0 -6
- package/js/src/abstract/cryptocom.js +0 -6
- package/js/src/abstract/cryptomus.js +0 -6
- package/js/src/abstract/deepcoin.js +0 -6
- package/js/src/abstract/delta.js +0 -6
- package/js/src/abstract/deribit.js +0 -6
- package/js/src/abstract/derive.js +0 -6
- package/js/src/abstract/digifinex.js +0 -6
- package/js/src/abstract/dydx.js +0 -6
- package/js/src/abstract/exmo.js +0 -6
- package/js/src/abstract/extended.js +0 -6
- package/js/src/abstract/fmfwio.js +0 -6
- package/js/src/abstract/foxbit.js +0 -6
- package/js/src/abstract/gate.js +0 -6
- package/js/src/abstract/gateeu.js +0 -6
- package/js/src/abstract/gemini.js +0 -6
- package/js/src/abstract/grvt.js +0 -6
- package/js/src/abstract/hashkey.js +0 -6
- package/js/src/abstract/hibachi.js +0 -6
- package/js/src/abstract/hitbtc.js +0 -6
- package/js/src/abstract/hollaex.js +0 -6
- package/js/src/abstract/htx.js +0 -6
- package/js/src/abstract/hyperliquid.js +0 -6
- package/js/src/abstract/independentreserve.js +0 -6
- package/js/src/abstract/indodax.js +0 -6
- package/js/src/abstract/kraken.js +0 -6
- package/js/src/abstract/krakenfutures.js +0 -6
- package/js/src/abstract/kucoin.js +0 -6
- package/js/src/abstract/kucoineu.d.ts +356 -0
- package/js/src/abstract/kucoineu.js +11 -0
- package/js/src/abstract/kucoinfutures.js +0 -6
- package/js/src/abstract/latoken.js +0 -6
- package/js/src/abstract/lbank.js +0 -6
- package/js/src/abstract/lighter.js +0 -6
- package/js/src/abstract/luno.js +0 -6
- package/js/src/abstract/mercado.js +0 -6
- package/js/src/abstract/mexc.js +0 -6
- package/js/src/abstract/modetrade.js +0 -6
- package/js/src/abstract/myokx.js +0 -6
- package/js/src/abstract/ndax.js +0 -6
- package/js/src/abstract/novadax.js +0 -6
- package/js/src/abstract/okx.js +0 -6
- package/js/src/abstract/okxus.js +0 -6
- package/js/src/abstract/onetrading.js +0 -6
- package/js/src/abstract/p2b.js +0 -6
- package/js/src/abstract/pacifica.js +0 -6
- package/js/src/abstract/paradex.js +0 -6
- package/js/src/abstract/paymium.js +0 -6
- package/js/src/abstract/phemex.js +0 -6
- package/js/src/abstract/poloniex.js +0 -6
- package/js/src/abstract/tokocrypto.js +0 -6
- package/js/src/abstract/toobit.js +0 -6
- package/js/src/abstract/upbit.js +0 -6
- package/js/src/abstract/weex.js +0 -6
- package/js/src/abstract/whitebit.js +0 -6
- package/js/src/abstract/woo.js +0 -6
- package/js/src/abstract/woofipro.js +0 -6
- package/js/src/abstract/xt.js +0 -6
- package/js/src/abstract/zaif.js +0 -6
- package/js/src/abstract/zebpay.js +0 -6
- package/js/src/aftermath.js +0 -6
- package/js/src/alpaca.js +0 -6
- package/js/src/apex.js +0 -6
- package/js/src/ascendex.js +0 -6
- package/js/src/aster.js +0 -6
- package/js/src/backpack.js +0 -6
- package/js/src/base/Exchange.js +1 -7
- package/js/src/base/Precise.js +0 -6
- package/js/src/base/errorHierarchy.js +0 -6
- package/js/src/base/errors.js +0 -6
- package/js/src/base/functions/crypto.js +0 -6
- package/js/src/base/functions/encode.js +0 -6
- package/js/src/base/functions/generic.js +0 -6
- package/js/src/base/functions/io.js +0 -6
- package/js/src/base/functions/misc.js +0 -6
- package/js/src/base/functions/number.js +0 -6
- package/js/src/base/functions/platform.js +0 -6
- package/js/src/base/functions/rsa.js +0 -6
- package/js/src/base/functions/string.js +0 -6
- package/js/src/base/functions/throttle.js +0 -6
- package/js/src/base/functions/time.js +0 -6
- package/js/src/base/functions/totp.js +0 -6
- package/js/src/base/functions/type.js +0 -6
- package/js/src/base/functions.js +0 -6
- package/js/src/base/types.js +0 -6
- package/js/src/base/ws/Cache.js +0 -6
- package/js/src/base/ws/Client.js +0 -6
- package/js/src/base/ws/Future.js +0 -6
- package/js/src/base/ws/OrderBook.js +0 -6
- package/js/src/base/ws/OrderBookSide.js +0 -6
- package/js/src/base/ws/WsClient.js +0 -6
- package/js/src/base/ws/functions.js +0 -6
- package/js/src/bequant.js +0 -6
- package/js/src/bigone.js +0 -6
- package/js/src/binance.js +40 -27
- package/js/src/binancecoinm.js +0 -6
- package/js/src/binanceus.js +0 -6
- package/js/src/binanceusdm.js +0 -6
- package/js/src/bingx.js +3 -9
- package/js/src/bit2c.js +0 -6
- package/js/src/bitbank.js +0 -6
- package/js/src/bitbns.js +0 -6
- package/js/src/bitfinex.js +0 -6
- package/js/src/bitflyer.js +0 -6
- package/js/src/bitget.js +0 -6
- package/js/src/bithumb.js +0 -6
- package/js/src/bitmart.js +0 -6
- package/js/src/bitmex.js +1 -7
- package/js/src/bitopro.js +0 -6
- package/js/src/bitrue.js +0 -6
- package/js/src/bitso.js +0 -6
- package/js/src/bitstamp.js +0 -6
- package/js/src/bitteam.js +0 -6
- package/js/src/bittrade.js +0 -6
- package/js/src/bitvavo.js +1 -7
- package/js/src/blockchaincom.js +0 -6
- package/js/src/blofin.js +0 -6
- package/js/src/btcbox.js +0 -6
- package/js/src/btcmarkets.js +0 -6
- package/js/src/btcturk.js +1 -7
- package/js/src/bullish.js +0 -6
- package/js/src/bybit.d.ts +9 -0
- package/js/src/bybit.js +114 -18
- package/js/src/bybiteu.js +0 -6
- package/js/src/bydfi.js +0 -6
- package/js/src/cex.d.ts +1 -0
- package/js/src/cex.js +1 -6
- package/js/src/coinbase.js +0 -6
- package/js/src/coinbaseexchange.js +0 -6
- package/js/src/coinbaseinternational.js +0 -6
- package/js/src/coincheck.d.ts +9 -0
- package/js/src/coincheck.js +51 -6
- package/js/src/coinex.js +0 -6
- package/js/src/coinmate.js +0 -6
- package/js/src/coinmetro.js +0 -6
- package/js/src/coinone.js +0 -6
- package/js/src/coinsph.d.ts +27 -27
- package/js/src/coinsph.js +35 -34
- package/js/src/coinspot.js +0 -6
- package/js/src/cryptocom.js +0 -6
- package/js/src/cryptomus.js +0 -6
- package/js/src/deepcoin.js +0 -6
- package/js/src/delta.js +0 -6
- package/js/src/deribit.js +0 -6
- package/js/src/derive.js +0 -6
- package/js/src/digifinex.js +0 -6
- package/js/src/dydx.js +0 -6
- package/js/src/exmo.js +0 -6
- package/js/src/extended.js +2 -8
- package/js/src/fmfwio.js +0 -6
- package/js/src/foxbit.js +0 -6
- package/js/src/gate.js +1 -7
- package/js/src/gateeu.js +0 -6
- package/js/src/gemini.js +0 -6
- package/js/src/grvt.js +0 -6
- package/js/src/hashkey.js +0 -6
- package/js/src/hibachi.js +0 -6
- package/js/src/hitbtc.js +0 -6
- package/js/src/hollaex.js +0 -6
- package/js/src/htx.js +0 -6
- package/js/src/hyperliquid.js +12 -11
- package/js/src/independentreserve.js +0 -6
- package/js/src/indodax.js +0 -6
- package/js/src/kraken.js +0 -6
- package/js/src/krakenfutures.js +0 -6
- package/js/src/kucoin.js +0 -6
- package/js/src/kucoineu.d.ts +4 -0
- package/js/src/kucoineu.js +25 -0
- package/js/src/kucoinfutures.js +0 -6
- package/js/src/latoken.js +0 -6
- package/js/src/lbank.js +0 -6
- package/js/src/lighter.js +0 -6
- package/js/src/luno.js +0 -6
- package/js/src/mercado.js +0 -6
- package/js/src/mexc.js +0 -6
- package/js/src/modetrade.js +0 -6
- package/js/src/myokx.js +0 -6
- package/js/src/ndax.js +0 -6
- package/js/src/novadax.js +0 -6
- package/js/src/okx.js +0 -6
- package/js/src/okxus.js +0 -6
- package/js/src/onetrading.js +0 -6
- package/js/src/p2b.js +0 -6
- package/js/src/pacifica.js +0 -6
- package/js/src/paradex.js +0 -6
- package/js/src/paymium.js +0 -6
- package/js/src/phemex.js +0 -6
- package/js/src/poloniex.js +0 -6
- package/js/src/pro/aftermath.js +0 -6
- package/js/src/pro/alpaca.js +0 -6
- package/js/src/pro/apex.js +0 -6
- package/js/src/pro/ascendex.js +0 -6
- package/js/src/pro/aster.js +0 -6
- package/js/src/pro/backpack.js +0 -6
- package/js/src/pro/bequant.js +0 -6
- package/js/src/pro/binance.js +0 -6
- package/js/src/pro/binancecoinm.js +0 -6
- package/js/src/pro/binanceus.js +0 -6
- package/js/src/pro/binanceusdm.js +0 -6
- package/js/src/pro/bingx.js +0 -6
- package/js/src/pro/bitfinex.js +0 -6
- package/js/src/pro/bitget.js +0 -6
- package/js/src/pro/bithumb.js +0 -6
- package/js/src/pro/bitmart.js +0 -6
- package/js/src/pro/bitmex.js +0 -6
- package/js/src/pro/bitopro.js +0 -6
- package/js/src/pro/bitrue.js +0 -6
- package/js/src/pro/bitstamp.js +0 -6
- package/js/src/pro/bittrade.js +0 -6
- package/js/src/pro/bitvavo.js +0 -6
- package/js/src/pro/blockchaincom.js +0 -6
- package/js/src/pro/blofin.js +0 -6
- package/js/src/pro/bullish.js +0 -6
- package/js/src/pro/bybit.js +0 -6
- package/js/src/pro/bybiteu.js +0 -6
- package/js/src/pro/bydfi.js +0 -6
- package/js/src/pro/cex.d.ts +1 -1
- package/js/src/pro/cex.js +1 -7
- package/js/src/pro/coinbase.js +0 -6
- package/js/src/pro/coinbaseexchange.js +0 -6
- package/js/src/pro/coinbaseinternational.js +0 -6
- package/js/src/pro/coincheck.js +0 -6
- package/js/src/pro/coinex.js +0 -6
- package/js/src/pro/coinone.js +0 -6
- package/js/src/pro/cryptocom.js +0 -6
- package/js/src/pro/deepcoin.js +0 -6
- package/js/src/pro/deribit.js +0 -6
- package/js/src/pro/derive.js +0 -6
- package/js/src/pro/dydx.js +0 -6
- package/js/src/pro/exmo.js +0 -6
- package/js/src/pro/extended.js +0 -6
- package/js/src/pro/gate.js +0 -6
- package/js/src/pro/gateeu.js +0 -6
- package/js/src/pro/gemini.js +0 -6
- package/js/src/pro/grvt.js +0 -6
- package/js/src/pro/hashkey.js +0 -6
- package/js/src/pro/hitbtc.js +0 -6
- package/js/src/pro/hollaex.js +0 -6
- package/js/src/pro/htx.d.ts +7 -6
- package/js/src/pro/htx.js +438 -104
- package/js/src/pro/hyperliquid.js +0 -6
- package/js/src/pro/independentreserve.js +0 -6
- package/js/src/pro/kraken.js +0 -6
- package/js/src/pro/krakenfutures.js +0 -6
- package/js/src/pro/kucoin.js +0 -6
- package/js/src/pro/kucoineu.d.ts +4 -0
- package/js/src/pro/kucoineu.js +22 -0
- package/js/src/pro/kucoinfutures.js +0 -6
- package/js/src/pro/lbank.js +0 -6
- package/js/src/pro/lighter.js +12 -9
- package/js/src/pro/luno.js +0 -6
- package/js/src/pro/mexc.js +0 -6
- package/js/src/pro/modetrade.js +0 -6
- package/js/src/pro/myokx.js +0 -6
- package/js/src/pro/ndax.js +0 -6
- package/js/src/pro/okx.js +0 -6
- package/js/src/pro/okxus.js +0 -6
- package/js/src/pro/onetrading.js +0 -6
- package/js/src/pro/p2b.js +0 -6
- package/js/src/pro/pacifica.js +0 -6
- package/js/src/pro/paradex.js +0 -6
- package/js/src/pro/phemex.js +0 -6
- package/js/src/pro/poloniex.js +0 -6
- package/js/src/pro/toobit.js +0 -6
- package/js/src/pro/upbit.js +0 -6
- package/js/src/pro/weex.js +0 -6
- package/js/src/pro/whitebit.js +0 -6
- package/js/src/pro/woo.js +0 -6
- package/js/src/pro/woofipro.js +0 -6
- package/js/src/pro/xt.js +0 -6
- package/js/src/protobuf/mexc/compiled.cjs +0 -6
- package/js/src/protobuf/mexc/compiled.d.cts +0 -6
- package/js/src/static_dependencies/dydx-v4-client/cosmos/base/v1beta1/coin.js +0 -6
- package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/multisig/keys.js +0 -6
- package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/multisig/v1beta1/multisig.js +0 -6
- package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/secp256k1/keys.js +0 -6
- package/js/src/static_dependencies/dydx-v4-client/cosmos/tx/signing/v1beta1/signing.js +0 -6
- package/js/src/static_dependencies/dydx-v4-client/cosmos/tx/v1beta1/tx.js +0 -6
- package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/accountplus/tx.js +0 -6
- package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/block_rate_limit_config.js +0 -6
- package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/clob_pair.js +0 -6
- package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/equity_tier_limit_config.js +0 -6
- package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/finalize_block.js +0 -6
- package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/liquidations.js +0 -6
- package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/liquidations_config.js +0 -6
- package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/matches.js +0 -6
- package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order.js +0 -6
- package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order_removals.js +0 -6
- package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/tx.js +0 -6
- package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/transfer.js +0 -6
- package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/tx.js +0 -6
- package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/asset_position.js +0 -6
- package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/perpetual_position.js +0 -6
- package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/subaccount.js +0 -6
- package/js/src/static_dependencies/dydx-v4-client/google/protobuf/any.js +0 -6
- package/js/src/static_dependencies/dydx-v4-client/helpers.js +0 -6
- package/js/src/static_dependencies/dydx-v4-client/long/index.cjs +0 -6
- package/js/src/static_dependencies/dydx-v4-client/long/index.d.cts +0 -6
- package/js/src/static_dependencies/dydx-v4-client/onboarding.js +0 -6
- package/js/src/static_dependencies/dydx-v4-client/registry.js +0 -6
- package/js/src/static_dependencies/ethers/abi-coder.js +0 -6
- package/js/src/static_dependencies/ethers/address/address.js +0 -6
- package/js/src/static_dependencies/ethers/address/checks.js +0 -6
- package/js/src/static_dependencies/ethers/address/contract-address.js +0 -6
- package/js/src/static_dependencies/ethers/address/index.js +0 -6
- package/js/src/static_dependencies/ethers/bytes32.js +0 -6
- package/js/src/static_dependencies/ethers/coders/abstract-coder.js +0 -6
- package/js/src/static_dependencies/ethers/coders/address.js +0 -6
- package/js/src/static_dependencies/ethers/coders/anonymous.js +0 -6
- package/js/src/static_dependencies/ethers/coders/array.js +0 -6
- package/js/src/static_dependencies/ethers/coders/boolean.js +0 -6
- package/js/src/static_dependencies/ethers/coders/bytes.js +0 -6
- package/js/src/static_dependencies/ethers/coders/fixed-bytes.js +0 -6
- package/js/src/static_dependencies/ethers/coders/null.js +0 -6
- package/js/src/static_dependencies/ethers/coders/number.js +0 -6
- package/js/src/static_dependencies/ethers/coders/string.js +0 -6
- package/js/src/static_dependencies/ethers/coders/tuple.js +0 -6
- package/js/src/static_dependencies/ethers/fragments.js +0 -6
- package/js/src/static_dependencies/ethers/hash/index.js +0 -6
- package/js/src/static_dependencies/ethers/hash/solidity.js +0 -6
- package/js/src/static_dependencies/ethers/hash/typed-data.js +0 -6
- package/js/src/static_dependencies/ethers/index.js +0 -6
- package/js/src/static_dependencies/ethers/interface.js +0 -6
- package/js/src/static_dependencies/ethers/typed.js +0 -6
- package/js/src/static_dependencies/ethers/utils/base58.js +0 -6
- package/js/src/static_dependencies/ethers/utils/base64-browser.js +0 -6
- package/js/src/static_dependencies/ethers/utils/base64.js +0 -6
- package/js/src/static_dependencies/ethers/utils/data.js +0 -6
- package/js/src/static_dependencies/ethers/utils/errors.js +0 -6
- package/js/src/static_dependencies/ethers/utils/events.js +0 -6
- package/js/src/static_dependencies/ethers/utils/fixednumber.js +0 -6
- package/js/src/static_dependencies/ethers/utils/index.js +0 -6
- package/js/src/static_dependencies/ethers/utils/maths.js +0 -6
- package/js/src/static_dependencies/ethers/utils/properties.js +0 -6
- package/js/src/static_dependencies/ethers/utils/rlp-decode.js +0 -6
- package/js/src/static_dependencies/ethers/utils/rlp-encode.js +0 -6
- package/js/src/static_dependencies/ethers/utils/rlp.js +0 -6
- package/js/src/static_dependencies/ethers/utils/units.js +0 -6
- package/js/src/static_dependencies/ethers/utils/utf8.js +0 -6
- package/js/src/static_dependencies/ethers/utils/uuid.js +0 -6
- package/js/src/static_dependencies/fflake/browser.js +0 -6
- package/js/src/static_dependencies/messagepack/msgpack.js +0 -6
- package/js/src/static_dependencies/node-fetch/body.js +0 -6
- package/js/src/static_dependencies/node-fetch/errors/abort-error.js +0 -6
- package/js/src/static_dependencies/node-fetch/errors/base.js +0 -6
- package/js/src/static_dependencies/node-fetch/errors/fetch-error.js +0 -6
- package/js/src/static_dependencies/node-fetch/headers.js +0 -6
- package/js/src/static_dependencies/node-fetch/index.js +0 -6
- package/js/src/static_dependencies/node-fetch/request.js +0 -6
- package/js/src/static_dependencies/node-fetch/response.js +0 -6
- package/js/src/static_dependencies/node-fetch/utils/get-search.js +0 -6
- package/js/src/static_dependencies/node-fetch/utils/is-redirect.js +0 -6
- package/js/src/static_dependencies/node-fetch/utils/is.js +0 -6
- package/js/src/static_dependencies/node-fetch/utils/referrer.js +0 -6
- package/js/src/static_dependencies/proxies/agent-base/helpers.js +0 -6
- package/js/src/static_dependencies/proxies/agent-base/index.js +0 -6
- package/js/src/static_dependencies/proxies/http-proxy-agent/index.js +0 -6
- package/js/src/static_dependencies/proxies/https-proxy-agent/index.js +0 -6
- package/js/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +0 -6
- package/js/src/static_dependencies/qs/formats.js +0 -6
- package/js/src/static_dependencies/qs/index.js +0 -6
- package/js/src/static_dependencies/qs/parse.js +0 -6
- package/js/src/static_dependencies/qs/stringify.js +0 -6
- package/js/src/static_dependencies/qs/utils.js +0 -6
- package/js/src/static_dependencies/starknet/constants.js +0 -6
- package/js/src/static_dependencies/starknet/index.js +0 -6
- package/js/src/static_dependencies/starknet/types/cairoEnum.js +0 -6
- package/js/src/static_dependencies/starknet/types/calldata.js +0 -6
- package/js/src/static_dependencies/starknet/types/index.js +0 -6
- package/js/src/static_dependencies/starknet/types/lib/contract/abi.js +0 -6
- package/js/src/static_dependencies/starknet/types/lib/contract/index.js +0 -6
- package/js/src/static_dependencies/starknet/types/lib/contract/legacy.js +0 -6
- package/js/src/static_dependencies/starknet/types/lib/contract/sierra.js +0 -6
- package/js/src/static_dependencies/starknet/types/lib/index.js +0 -6
- package/js/src/static_dependencies/starknet/types/typedData.js +0 -6
- package/js/src/static_dependencies/starknet/utils/address.js +0 -6
- package/js/src/static_dependencies/starknet/utils/assert.js +0 -6
- package/js/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +0 -6
- package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +0 -6
- package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +0 -6
- package/js/src/static_dependencies/starknet/utils/calldata/byteArray.js +0 -6
- package/js/src/static_dependencies/starknet/utils/calldata/cairo.js +0 -6
- package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +0 -6
- package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +0 -6
- package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +0 -6
- package/js/src/static_dependencies/starknet/utils/calldata/enum/index.js +0 -6
- package/js/src/static_dependencies/starknet/utils/calldata/formatter.js +0 -6
- package/js/src/static_dependencies/starknet/utils/calldata/index.js +0 -6
- package/js/src/static_dependencies/starknet/utils/calldata/parser/index.js +0 -6
- package/js/src/static_dependencies/starknet/utils/calldata/parser/interface.js +0 -6
- package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +0 -6
- package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +0 -6
- package/js/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +0 -6
- package/js/src/static_dependencies/starknet/utils/calldata/requestParser.js +0 -6
- package/js/src/static_dependencies/starknet/utils/calldata/responseParser.js +0 -6
- package/js/src/static_dependencies/starknet/utils/calldata/tuple.js +0 -6
- package/js/src/static_dependencies/starknet/utils/calldata/validate.js +0 -6
- package/js/src/static_dependencies/starknet/utils/encode.js +0 -6
- package/js/src/static_dependencies/starknet/utils/hash/classHash.js +0 -6
- package/js/src/static_dependencies/starknet/utils/hash/index.js +0 -6
- package/js/src/static_dependencies/starknet/utils/merkle.js +0 -6
- package/js/src/static_dependencies/starknet/utils/num.js +0 -6
- package/js/src/static_dependencies/starknet/utils/selector.js +0 -6
- package/js/src/static_dependencies/starknet/utils/shortString.js +0 -6
- package/js/src/static_dependencies/starknet/utils/starknetId.js +0 -6
- package/js/src/static_dependencies/starknet/utils/typedData.js +0 -6
- package/js/src/static_dependencies/starknet/utils/uint256.js +0 -6
- package/js/src/static_dependencies/starknet/utils/url.js +0 -6
- package/js/src/static_dependencies/watchable/src/index.js +0 -6
- package/js/src/static_dependencies/watchable/src/types.js +0 -6
- package/js/src/static_dependencies/watchable/src/unpromise.js +0 -6
- package/js/src/static_dependencies/zklink/zklink-sdk-web.js +0 -6
- package/js/src/tokocrypto.js +0 -6
- package/js/src/toobit.js +0 -6
- package/js/src/upbit.js +0 -6
- package/js/src/weex.js +0 -6
- package/js/src/whitebit.js +0 -6
- package/js/src/woo.js +0 -6
- package/js/src/woofipro.js +0 -6
- package/js/src/xt.js +0 -6
- package/js/src/zaif.js +0 -6
- package/js/src/zebpay.js +0 -6
- package/package.json +16 -10
package/js/src/pro/htx.js
CHANGED
|
@@ -1,9 +1,3 @@
|
|
|
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
|
-
|
|
7
1
|
// ---------------------------------------------------------------------------
|
|
8
2
|
import { sha256 } from '@noble/hashes/sha2.js';
|
|
9
3
|
import htxRest from '../htx.js';
|
|
@@ -51,6 +45,7 @@ export default class htx extends htxRest {
|
|
|
51
45
|
'linear': {
|
|
52
46
|
'public': 'wss://api.hbdm.vn/linear-swap-ws',
|
|
53
47
|
'private': 'wss://api.hbdm.vn/linear-swap-notification',
|
|
48
|
+
'privateV5': 'wss://api.hbdm.vn/ws/v5/notification',
|
|
54
49
|
},
|
|
55
50
|
'inverse': {
|
|
56
51
|
'public': 'wss://api.hbdm.vn/ws',
|
|
@@ -65,6 +60,7 @@ export default class htx extends htxRest {
|
|
|
65
60
|
'linear': {
|
|
66
61
|
'public': 'wss://api.hbdm.vn/linear-swap-ws',
|
|
67
62
|
'private': 'wss://api.hbdm.vn/linear-swap-notification',
|
|
63
|
+
'privateV5': 'wss://api.hbdm.vn/ws/v5/notification',
|
|
68
64
|
},
|
|
69
65
|
},
|
|
70
66
|
},
|
|
@@ -79,6 +75,7 @@ export default class htx extends htxRest {
|
|
|
79
75
|
'linear': {
|
|
80
76
|
'public': 'wss://api.hbdm.vn/linear-swap-ws',
|
|
81
77
|
'private': 'wss://api.hbdm.vn/linear-swap-notification',
|
|
78
|
+
'privateV5': 'wss://api.hbdm.vn/ws/v5/notification',
|
|
82
79
|
},
|
|
83
80
|
'inverse': {
|
|
84
81
|
'public': 'wss://api.hbdm.vn/ws',
|
|
@@ -89,6 +86,7 @@ export default class htx extends htxRest {
|
|
|
89
86
|
'linear': {
|
|
90
87
|
'public': 'wss://api.hbdm.vn/linear-swap-ws',
|
|
91
88
|
'private': 'wss://api.hbdm.vn/linear-swap-notification',
|
|
89
|
+
'privateV5': 'wss://api.hbdm.vn/ws/v5/notification',
|
|
92
90
|
},
|
|
93
91
|
'inverse': {
|
|
94
92
|
'public': 'wss://api.hbdm.vn/swap-ws',
|
|
@@ -782,6 +780,7 @@ export default class htx extends htxRest {
|
|
|
782
780
|
* @name htx#watchMyTrades
|
|
783
781
|
* @description watches information on multiple trades made by the user
|
|
784
782
|
* @see https://www.htx.com/en-us/opend/newApiPages/?id=7ec53dd5-7773-11ed-9966-0242ac110003
|
|
783
|
+
* @see https://www.htx.com/en-us/opend/newApiPages/?id=8cb89359-77b5-11ed-9966-195a35275ff
|
|
785
784
|
* @param {string} symbol unified market symbol of the market trades were made in
|
|
786
785
|
* @param {int} [since] the earliest time in ms to fetch trades for
|
|
787
786
|
* @param {int} [limit] the maximum number of trade structures to retrieve
|
|
@@ -812,6 +811,10 @@ export default class htx extends htxRest {
|
|
|
812
811
|
subType = this.safeString(params, 'subType', subType);
|
|
813
812
|
params = this.omit(params, ['type', 'subType']);
|
|
814
813
|
}
|
|
814
|
+
const linear = (subType === 'linear');
|
|
815
|
+
const swap = (type === 'swap');
|
|
816
|
+
const future = (type === 'future');
|
|
817
|
+
const isV5Linear = (linear && (swap || future));
|
|
815
818
|
if (type === 'spot') {
|
|
816
819
|
let mode = undefined;
|
|
817
820
|
if (mode === undefined) {
|
|
@@ -822,6 +825,12 @@ export default class htx extends htxRest {
|
|
|
822
825
|
messageHash = 'trade.clearing' + '#' + marketId + '#' + mode;
|
|
823
826
|
channel = messageHash;
|
|
824
827
|
}
|
|
828
|
+
else if (isV5Linear) {
|
|
829
|
+
const channelAndMessageHashAndParams = this.getV5LinearChannelAndMessageHash('trade', market, params);
|
|
830
|
+
channel = this.safeString(channelAndMessageHashAndParams, 0);
|
|
831
|
+
messageHash = this.safeString(channelAndMessageHashAndParams, 1);
|
|
832
|
+
params = this.safeValue(channelAndMessageHashAndParams, 2, {});
|
|
833
|
+
}
|
|
825
834
|
else {
|
|
826
835
|
const channelAndMessageHash = this.getOrderChannelAndMessageHash(type, subType, market, params);
|
|
827
836
|
channel = this.safeString(channelAndMessageHash, 0);
|
|
@@ -830,7 +839,10 @@ export default class htx extends htxRest {
|
|
|
830
839
|
// like symbol/margin/subtype/type variations
|
|
831
840
|
messageHash = orderMessageHash + ':' + 'trade';
|
|
832
841
|
}
|
|
833
|
-
|
|
842
|
+
const subscriptionParams = {
|
|
843
|
+
'isV5': isV5Linear,
|
|
844
|
+
};
|
|
845
|
+
trades = await this.subscribePrivate(channel, messageHash, type, subType, params, subscriptionParams);
|
|
834
846
|
if (this.newUpdates) {
|
|
835
847
|
limit = trades.getLimit(symbol, limit);
|
|
836
848
|
}
|
|
@@ -881,11 +893,22 @@ export default class htx extends htxRest {
|
|
|
881
893
|
}
|
|
882
894
|
return [channel, messageHash];
|
|
883
895
|
}
|
|
896
|
+
getV5LinearChannelAndMessageHash(topic, market = undefined, params = {}) {
|
|
897
|
+
const contractCode = (market !== undefined) ? market['id'] : this.safeString(params, 'contract_code', '*');
|
|
898
|
+
const channel = topic;
|
|
899
|
+
const messageHash = (contractCode === '*') ? topic : (topic + '.' + contractCode.toLowerCase());
|
|
900
|
+
params = this.omit(params, 'contract_code');
|
|
901
|
+
const requestParams = this.extend({
|
|
902
|
+
'contract_code': contractCode,
|
|
903
|
+
}, params);
|
|
904
|
+
return [channel, messageHash, requestParams];
|
|
905
|
+
}
|
|
884
906
|
/**
|
|
885
907
|
* @method
|
|
886
908
|
* @name htx#watchOrders
|
|
887
909
|
* @description watches information on multiple orders made by the user
|
|
888
910
|
* @see https://www.htx.com/en-us/opend/newApiPages/?id=7ec53c8f-7773-11ed-9966-0242ac110003
|
|
911
|
+
* @see https://www.htx.com/en-us/opend/newApiPages/?id=8cb89359-77b5-11ed-9966-195a208afe7
|
|
889
912
|
* @param {string} symbol unified market symbol of the market orders were made in
|
|
890
913
|
* @param {int} [since] the earliest time in ms to fetch orders for
|
|
891
914
|
* @param {int} [limit] the maximum number of order structures to retrieve
|
|
@@ -912,18 +935,31 @@ export default class htx extends htxRest {
|
|
|
912
935
|
subType = this.safeString(params, 'subType', subType);
|
|
913
936
|
params = this.omit(params, ['type', 'subType']);
|
|
914
937
|
}
|
|
938
|
+
const linear = (subType === 'linear');
|
|
939
|
+
const swap = (type === 'swap');
|
|
940
|
+
const future = (type === 'future');
|
|
941
|
+
const isV5Linear = (linear && (swap || future));
|
|
915
942
|
let messageHash = undefined;
|
|
916
943
|
let channel = undefined;
|
|
917
944
|
if (type === 'spot') {
|
|
918
945
|
messageHash = 'orders' + '#' + suffix;
|
|
919
946
|
channel = messageHash;
|
|
920
947
|
}
|
|
948
|
+
else if (isV5Linear) {
|
|
949
|
+
const channelAndMessageHashAndParams = this.getV5LinearChannelAndMessageHash('orders', market, params);
|
|
950
|
+
channel = this.safeString(channelAndMessageHashAndParams, 0);
|
|
951
|
+
messageHash = this.safeString(channelAndMessageHashAndParams, 1);
|
|
952
|
+
params = this.safeValue(channelAndMessageHashAndParams, 2, {});
|
|
953
|
+
}
|
|
921
954
|
else {
|
|
922
955
|
const channelAndMessageHash = this.getOrderChannelAndMessageHash(type, subType, market, params);
|
|
923
956
|
channel = this.safeString(channelAndMessageHash, 0);
|
|
924
957
|
messageHash = this.safeString(channelAndMessageHash, 1);
|
|
925
958
|
}
|
|
926
|
-
const
|
|
959
|
+
const subscriptionParams = {
|
|
960
|
+
'isV5': isV5Linear,
|
|
961
|
+
};
|
|
962
|
+
const orders = await this.subscribePrivate(channel, messageHash, type, subType, params, subscriptionParams);
|
|
927
963
|
if (this.newUpdates) {
|
|
928
964
|
limit = orders.getLimit(symbol, limit);
|
|
929
965
|
}
|
|
@@ -1050,11 +1086,60 @@ export default class htx extends htxRest {
|
|
|
1050
1086
|
// }
|
|
1051
1087
|
//
|
|
1052
1088
|
//
|
|
1089
|
+
// linear v5 watchOrders
|
|
1090
|
+
//
|
|
1091
|
+
// {
|
|
1092
|
+
// "op": "notify",
|
|
1093
|
+
// "topic": "orders",
|
|
1094
|
+
// "contract_code": "BTC-USDT",
|
|
1095
|
+
// "ts": 1782367563267,
|
|
1096
|
+
// "uid": "359305390",
|
|
1097
|
+
// "data": {
|
|
1098
|
+
// "side": "buy",
|
|
1099
|
+
// "type": "limit",
|
|
1100
|
+
// "price": "40000",
|
|
1101
|
+
// "volume": "1",
|
|
1102
|
+
// "state": "new",
|
|
1103
|
+
// "profit": "0",
|
|
1104
|
+
// "contract_code": "BTC-USDT",
|
|
1105
|
+
// "position_side": "both",
|
|
1106
|
+
// "price_match": null,
|
|
1107
|
+
// "order_id": "1519705236917489664",
|
|
1108
|
+
// "client_order_id": "1519705236917489664",
|
|
1109
|
+
// "margin_mode": "cross",
|
|
1110
|
+
// "lever_rate": 10,
|
|
1111
|
+
// "order_source": "api",
|
|
1112
|
+
// "reduce_only": false,
|
|
1113
|
+
// "time_in_force": "gtc",
|
|
1114
|
+
// "trade_avg_price": "0",
|
|
1115
|
+
// "trade_volume": "0",
|
|
1116
|
+
// "trade_turnover": "0",
|
|
1117
|
+
// "fee_currency": null,
|
|
1118
|
+
// "fee": "0",
|
|
1119
|
+
// "tp_trigger_price": "",
|
|
1120
|
+
// "tp_order_price": "",
|
|
1121
|
+
// "tp_type": "",
|
|
1122
|
+
// "tp_trigger_price_type": "",
|
|
1123
|
+
// "sl_trigger_price": "",
|
|
1124
|
+
// "sl_order_price": "",
|
|
1125
|
+
// "sl_type": "",
|
|
1126
|
+
// "sl_trigger_price_type": "",
|
|
1127
|
+
// "contract_type": "swap",
|
|
1128
|
+
// "cancel_reason": "",
|
|
1129
|
+
// "created_time": "1782367563239",
|
|
1130
|
+
// "updated_time": "1782367563239",
|
|
1131
|
+
// "self_match_prevent": "cancel_taker",
|
|
1132
|
+
// "amend_origin_volume": "",
|
|
1133
|
+
// "amend_source": "",
|
|
1134
|
+
// "amend_result": ""
|
|
1135
|
+
// }
|
|
1136
|
+
// }
|
|
1137
|
+
//
|
|
1053
1138
|
const messageHash = this.safeString2(message, 'ch', 'topic');
|
|
1054
1139
|
const data = this.safeValue(message, 'data');
|
|
1055
1140
|
let marketId = this.safeString(message, 'contract_code');
|
|
1056
1141
|
if (marketId === undefined) {
|
|
1057
|
-
marketId = this.
|
|
1142
|
+
marketId = this.safeString2(data, 'contract_code', 'symbol');
|
|
1058
1143
|
}
|
|
1059
1144
|
const market = this.safeMarket(marketId);
|
|
1060
1145
|
let parsedOrder = undefined;
|
|
@@ -1118,6 +1203,10 @@ export default class htx extends htxRest {
|
|
|
1118
1203
|
const cachedOrders = this.orders;
|
|
1119
1204
|
cachedOrders.append(parsedOrder);
|
|
1120
1205
|
client.resolve(this.orders, messageHash);
|
|
1206
|
+
if ((messageHash === 'orders') && (marketId !== undefined)) {
|
|
1207
|
+
const specificMessageHash = messageHash + '.' + marketId.toLowerCase();
|
|
1208
|
+
client.resolve(this.orders, specificMessageHash);
|
|
1209
|
+
}
|
|
1121
1210
|
// when we make a global subscription (for contracts only) our message hash can't have a symbol/currency attached
|
|
1122
1211
|
// so we're removing it here
|
|
1123
1212
|
let genericMessageHash = messageHash.replace('.' + market['lowercaseId'], '');
|
|
@@ -1239,22 +1328,64 @@ export default class htx extends htxRest {
|
|
|
1239
1328
|
// "real_profit": 0
|
|
1240
1329
|
// }
|
|
1241
1330
|
//
|
|
1242
|
-
|
|
1243
|
-
|
|
1331
|
+
// linear v5 watchOrders
|
|
1332
|
+
//
|
|
1333
|
+
// {
|
|
1334
|
+
// "side": "buy",
|
|
1335
|
+
// "type": "limit",
|
|
1336
|
+
// "price": "40000",
|
|
1337
|
+
// "volume": "1",
|
|
1338
|
+
// "state": "new",
|
|
1339
|
+
// "profit": "0",
|
|
1340
|
+
// "contract_code": "BTC-USDT",
|
|
1341
|
+
// "position_side": "both",
|
|
1342
|
+
// "price_match": null,
|
|
1343
|
+
// "order_id": "1519705236917489664",
|
|
1344
|
+
// "client_order_id": "1519705236917489664",
|
|
1345
|
+
// "margin_mode": "cross",
|
|
1346
|
+
// "lever_rate": 10,
|
|
1347
|
+
// "order_source": "api",
|
|
1348
|
+
// "reduce_only": false,
|
|
1349
|
+
// "time_in_force": "gtc",
|
|
1350
|
+
// "trade_avg_price": "0",
|
|
1351
|
+
// "trade_volume": "0",
|
|
1352
|
+
// "trade_turnover": "0",
|
|
1353
|
+
// "fee_currency": null,
|
|
1354
|
+
// "fee": "0",
|
|
1355
|
+
// "tp_trigger_price": "",
|
|
1356
|
+
// "tp_order_price": "",
|
|
1357
|
+
// "tp_type": "",
|
|
1358
|
+
// "tp_trigger_price_type": "",
|
|
1359
|
+
// "sl_trigger_price": "",
|
|
1360
|
+
// "sl_order_price": "",
|
|
1361
|
+
// "sl_type": "",
|
|
1362
|
+
// "sl_trigger_price_type": "",
|
|
1363
|
+
// "contract_type": "swap",
|
|
1364
|
+
// "cancel_reason": "",
|
|
1365
|
+
// "created_time": "1782367563239",
|
|
1366
|
+
// "updated_time": "1782367563239",
|
|
1367
|
+
// "self_match_prevent": "cancel_taker",
|
|
1368
|
+
// "amend_origin_volume": "",
|
|
1369
|
+
// "amend_source": "",
|
|
1370
|
+
// "amend_result": ""
|
|
1371
|
+
// }
|
|
1372
|
+
//
|
|
1373
|
+
const lastTradeTimestamp = this.safeIntegerN(order, ['lastActTime', 'updated_time', 'ts']);
|
|
1374
|
+
const created = this.safeInteger2(order, 'orderCreateTime', 'created_time');
|
|
1244
1375
|
const marketId = this.safeString2(order, 'contract_code', 'symbol');
|
|
1245
1376
|
market = this.safeMarket(marketId, market);
|
|
1246
1377
|
const symbol = this.safeSymbol(marketId, market);
|
|
1247
1378
|
const amount = this.safeString2(order, 'orderSize', 'volume');
|
|
1248
|
-
const status = this.parseOrderStatus(this.
|
|
1379
|
+
const status = this.parseOrderStatus(this.safeStringN(order, ['orderStatus', 'state', 'status']));
|
|
1249
1380
|
const id = this.safeString2(order, 'orderId', 'order_id');
|
|
1250
1381
|
const clientOrderId = this.safeString2(order, 'clientOrderId', 'client_order_id');
|
|
1251
1382
|
const price = this.safeString2(order, 'orderPrice', 'price');
|
|
1252
|
-
const filled = this.
|
|
1383
|
+
const filled = this.safeString2(order, 'execAmt', 'trade_volume');
|
|
1253
1384
|
const typeSide = this.safeString(order, 'type');
|
|
1254
1385
|
const feeCost = this.safeString(order, 'fee');
|
|
1255
1386
|
let fee = undefined;
|
|
1256
1387
|
if (feeCost !== undefined) {
|
|
1257
|
-
const feeCurrencyId = this.
|
|
1388
|
+
const feeCurrencyId = this.safeString2(order, 'fee_asset', 'fee_currency');
|
|
1258
1389
|
fee = {
|
|
1259
1390
|
'cost': feeCost,
|
|
1260
1391
|
'currency': this.safeCurrencyCode(feeCurrencyId),
|
|
@@ -1263,18 +1394,24 @@ export default class htx extends htxRest {
|
|
|
1263
1394
|
const avgPrice = this.safeString(order, 'trade_avg_price');
|
|
1264
1395
|
const rawTrades = this.safeValue(order, 'trade');
|
|
1265
1396
|
let typeSideParts = [];
|
|
1397
|
+
let type = undefined;
|
|
1266
1398
|
if (typeSide !== undefined) {
|
|
1267
|
-
|
|
1399
|
+
if (typeSide.indexOf('-') >= 0) {
|
|
1400
|
+
typeSideParts = typeSide.split('-');
|
|
1401
|
+
type = this.safeStringLower(typeSideParts, 1);
|
|
1402
|
+
}
|
|
1403
|
+
else {
|
|
1404
|
+
type = typeSide;
|
|
1405
|
+
}
|
|
1268
1406
|
}
|
|
1269
|
-
let type = this.safeStringLower(typeSideParts, 1);
|
|
1270
1407
|
if (type === undefined) {
|
|
1271
1408
|
type = this.safeString(order, 'order_price_type');
|
|
1272
1409
|
}
|
|
1273
1410
|
let side = this.safeStringLower(typeSideParts, 0);
|
|
1274
1411
|
if (side === undefined) {
|
|
1275
|
-
side = this.
|
|
1412
|
+
side = this.safeString2(order, 'direction', 'side');
|
|
1276
1413
|
}
|
|
1277
|
-
const cost = this.
|
|
1414
|
+
const cost = this.safeString2(order, 'orderValue', 'trade_turnover');
|
|
1278
1415
|
return this.safeOrder({
|
|
1279
1416
|
'info': order,
|
|
1280
1417
|
'id': id,
|
|
@@ -1285,7 +1422,7 @@ export default class htx extends htxRest {
|
|
|
1285
1422
|
'status': status,
|
|
1286
1423
|
'symbol': symbol,
|
|
1287
1424
|
'type': type,
|
|
1288
|
-
'timeInForce':
|
|
1425
|
+
'timeInForce': this.safeStringUpper(order, 'time_in_force'),
|
|
1289
1426
|
'postOnly': undefined,
|
|
1290
1427
|
'side': side,
|
|
1291
1428
|
'price': price,
|
|
@@ -1296,6 +1433,11 @@ export default class htx extends htxRest {
|
|
|
1296
1433
|
'fee': fee,
|
|
1297
1434
|
'average': avgPrice,
|
|
1298
1435
|
'trades': rawTrades,
|
|
1436
|
+
'reduceOnly': this.safeBool(order, 'reduce_only'),
|
|
1437
|
+
'stopPrice': undefined,
|
|
1438
|
+
'triggerPrice': undefined,
|
|
1439
|
+
'takeProfitPrice': this.safeString2(order, 'tp_trigger_price', 'tp_order_price'),
|
|
1440
|
+
'stopLossPrice': this.safeString2(order, 'sl_trigger_price', 'sl_order_price'),
|
|
1299
1441
|
}, market);
|
|
1300
1442
|
}
|
|
1301
1443
|
parseOrderTrade(trade, market = undefined) {
|
|
@@ -1357,11 +1499,10 @@ export default class htx extends htxRest {
|
|
|
1357
1499
|
/**
|
|
1358
1500
|
* @method
|
|
1359
1501
|
* @name htx#watchPositions
|
|
1360
|
-
* @
|
|
1361
|
-
* @see https://www.huobi.com/en-in/opend/newApiPages/?id=8cb7df0f-77b5-11ed-9966-0242ac110003
|
|
1502
|
+
* @description watch all open positions. Note: huobi has one channel for each marginMode and type
|
|
1362
1503
|
* @see https://www.huobi.com/en-in/opend/newApiPages/?id=28c34a7d-77ae-11ed-9966-0242ac110003
|
|
1363
1504
|
* @see https://www.huobi.com/en-in/opend/newApiPages/?id=5d5156b5-77b6-11ed-9966-0242ac110003
|
|
1364
|
-
* @
|
|
1505
|
+
* @see https://www.htx.com/en-us/opend/newApiPages/?id=8cb89359-77b5-11ed-9966-195a35d6034
|
|
1365
1506
|
* @param {string[]} [symbols] list of unified market symbols
|
|
1366
1507
|
* @param {int} [since] timestamp in ms of the earliest position to fetch
|
|
1367
1508
|
* @param {int} [limit] the maximum number of positions to fetch
|
|
@@ -1392,11 +1533,26 @@ export default class htx extends htxRest {
|
|
|
1392
1533
|
symbols = this.marketSymbols(symbols);
|
|
1393
1534
|
let marginMode = undefined;
|
|
1394
1535
|
[marginMode, params] = this.handleMarginModeAndParams('watchPositions', params, 'cross');
|
|
1536
|
+
const linear = (subType === 'linear');
|
|
1537
|
+
const swap = (type === 'swap');
|
|
1538
|
+
const future = (type === 'future');
|
|
1539
|
+
const isV5Linear = (linear && (swap || future));
|
|
1395
1540
|
const isLinear = (subType === 'linear');
|
|
1396
|
-
const url = this.getUrlByMarketType(type, isLinear, true);
|
|
1541
|
+
const url = this.getUrlByMarketType(type, isLinear, true, false, isV5Linear);
|
|
1397
1542
|
messageHash = marginMode + ':positions' + messageHash;
|
|
1398
|
-
|
|
1399
|
-
|
|
1543
|
+
let channel = (marginMode === 'cross') ? 'positions_cross.*' : 'positions.*';
|
|
1544
|
+
if (isV5Linear) {
|
|
1545
|
+
const isOneMarket = (!this.isEmpty(symbols) && (symbols.length === 1));
|
|
1546
|
+
const v5Market = isOneMarket ? market : undefined;
|
|
1547
|
+
const channelAndMessageHashAndParams = this.getV5LinearChannelAndMessageHash('positions', v5Market, params);
|
|
1548
|
+
channel = this.safeString(channelAndMessageHashAndParams, 0);
|
|
1549
|
+
params = this.safeValue(channelAndMessageHashAndParams, 2, {});
|
|
1550
|
+
}
|
|
1551
|
+
const subscriptionParams = {
|
|
1552
|
+
'isV5': isV5Linear,
|
|
1553
|
+
'margin': marginMode,
|
|
1554
|
+
};
|
|
1555
|
+
const newPositions = await this.subscribePrivate(channel, messageHash, type, subType, params, subscriptionParams);
|
|
1400
1556
|
if (this.newUpdates) {
|
|
1401
1557
|
return newPositions;
|
|
1402
1558
|
}
|
|
@@ -1438,9 +1594,53 @@ export default class htx extends htxRest {
|
|
|
1438
1594
|
// ]
|
|
1439
1595
|
// }
|
|
1440
1596
|
//
|
|
1597
|
+
// watchPositions linear v5
|
|
1598
|
+
//
|
|
1599
|
+
// {
|
|
1600
|
+
// "op": "notify",
|
|
1601
|
+
// "topic": "positions",
|
|
1602
|
+
// "contract_code": "BTC-USDT",
|
|
1603
|
+
// "ts": 1782460576073,
|
|
1604
|
+
// "uid": "359305390",
|
|
1605
|
+
// "event": "snapshot",
|
|
1606
|
+
// "data": [
|
|
1607
|
+
// {
|
|
1608
|
+
// "contract_code": "BTC-USDT",
|
|
1609
|
+
// "symbol": "BTC",
|
|
1610
|
+
// "position_mode": "single_side",
|
|
1611
|
+
// "position_side": "both",
|
|
1612
|
+
// "direction": "buy",
|
|
1613
|
+
// "margin_mode": "cross",
|
|
1614
|
+
// "open_avg_price": "60547.9",
|
|
1615
|
+
// "volume": "1",
|
|
1616
|
+
// "available": "1",
|
|
1617
|
+
// "fee": "0.03632874",
|
|
1618
|
+
// "break_even_price": "60620.55748",
|
|
1619
|
+
// "total_trade_fee": "0.03632874",
|
|
1620
|
+
// "lever_rate": 10,
|
|
1621
|
+
// "adl_risk_percent": 4,
|
|
1622
|
+
// "liquidation_price": "-102094.847680676304309652",
|
|
1623
|
+
// "initial_margin": "6.05807",
|
|
1624
|
+
// "maintenance_margin": "0.20597438",
|
|
1625
|
+
// "profit_unreal": "0.0328",
|
|
1626
|
+
// "profit": "0",
|
|
1627
|
+
// "profit_rate": "0.0054",
|
|
1628
|
+
// "margin_rate": "0.0012",
|
|
1629
|
+
// "state": "normal",
|
|
1630
|
+
// "funding_fee": "0",
|
|
1631
|
+
// "mark_price": "60580.7",
|
|
1632
|
+
// "last_price": "60591.4",
|
|
1633
|
+
// "contract_type": "swap",
|
|
1634
|
+
// "version": 7,
|
|
1635
|
+
// "created_time": "1782460515119",
|
|
1636
|
+
// "updated_time": "1782460515119"
|
|
1637
|
+
// }
|
|
1638
|
+
// ]
|
|
1639
|
+
// }
|
|
1640
|
+
//
|
|
1441
1641
|
const url = client.url;
|
|
1442
1642
|
const topic = this.safeString(message, 'topic', '');
|
|
1443
|
-
const
|
|
1643
|
+
const defaultMarginMode = (topic === 'positions_cross') ? 'cross' : 'isolated';
|
|
1444
1644
|
if (this.positions === undefined) {
|
|
1445
1645
|
this.positions = {};
|
|
1446
1646
|
}
|
|
@@ -1448,43 +1648,64 @@ export default class htx extends htxRest {
|
|
|
1448
1648
|
if (clientPositions === undefined) {
|
|
1449
1649
|
this.positions[url] = {};
|
|
1450
1650
|
}
|
|
1451
|
-
const clientMarginModePositions = this.safeValue(clientPositions, marginMode);
|
|
1452
|
-
if (clientMarginModePositions === undefined) {
|
|
1453
|
-
this.positions[url][marginMode] = new ArrayCacheBySymbolBySide();
|
|
1454
|
-
}
|
|
1455
|
-
const cache = this.positions[url][marginMode];
|
|
1456
1651
|
const rawPositions = this.safeValue(message, 'data', []);
|
|
1652
|
+
if (this.isEmpty(rawPositions)) {
|
|
1653
|
+
const prefixes = ['cross:positions', 'isolated:positions'];
|
|
1654
|
+
for (let i = 0; i < prefixes.length; i++) {
|
|
1655
|
+
const messageHashes = this.findMessageHashes(client, prefixes[i]);
|
|
1656
|
+
for (let j = 0; j < messageHashes.length; j++) {
|
|
1657
|
+
client.resolve([], messageHashes[j]);
|
|
1658
|
+
}
|
|
1659
|
+
}
|
|
1660
|
+
return;
|
|
1661
|
+
}
|
|
1457
1662
|
const newPositions = [];
|
|
1663
|
+
const positionsByMarginMode = {};
|
|
1458
1664
|
const timestamp = this.safeInteger(message, 'ts');
|
|
1459
1665
|
for (let i = 0; i < rawPositions.length; i++) {
|
|
1460
1666
|
const rawPosition = rawPositions[i];
|
|
1461
1667
|
const position = this.parsePosition(rawPosition);
|
|
1462
1668
|
position['timestamp'] = timestamp;
|
|
1463
1669
|
position['datetime'] = this.iso8601(timestamp);
|
|
1670
|
+
let marginMode = this.safeStringLower(position, 'marginMode', defaultMarginMode);
|
|
1671
|
+
if ((marginMode !== 'cross') && (marginMode !== 'isolated')) {
|
|
1672
|
+
marginMode = defaultMarginMode;
|
|
1673
|
+
}
|
|
1674
|
+
let cache = this.safeValue(this.positions[url], marginMode);
|
|
1675
|
+
if (cache === undefined) {
|
|
1676
|
+
cache = new ArrayCacheBySymbolBySide();
|
|
1677
|
+
this.positions[url][marginMode] = cache;
|
|
1678
|
+
}
|
|
1464
1679
|
newPositions.push(position);
|
|
1680
|
+
positionsByMarginMode[marginMode] = this.safeValue(positionsByMarginMode, marginMode, []);
|
|
1681
|
+
positionsByMarginMode[marginMode].push(position);
|
|
1465
1682
|
cache.append(position);
|
|
1466
1683
|
}
|
|
1467
|
-
const
|
|
1468
|
-
for (let i = 0; i <
|
|
1469
|
-
const
|
|
1470
|
-
const
|
|
1471
|
-
const
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1684
|
+
const marginModes = Object.keys(positionsByMarginMode);
|
|
1685
|
+
for (let i = 0; i < marginModes.length; i++) {
|
|
1686
|
+
const marginMode = marginModes[i];
|
|
1687
|
+
const marginModePositions = this.safeValue(positionsByMarginMode, marginMode, []);
|
|
1688
|
+
const messageHashes = this.findMessageHashes(client, marginMode + ':positions::');
|
|
1689
|
+
for (let j = 0; j < messageHashes.length; j++) {
|
|
1690
|
+
const messageHash = messageHashes[j];
|
|
1691
|
+
const parts = messageHash.split('::');
|
|
1692
|
+
const symbolsString = parts[1];
|
|
1693
|
+
const symbols = symbolsString.split(',');
|
|
1694
|
+
const positions = this.filterByArray(marginModePositions, 'symbol', symbols, false);
|
|
1695
|
+
if (!this.isEmpty(positions)) {
|
|
1696
|
+
client.resolve(positions, messageHash);
|
|
1697
|
+
}
|
|
1476
1698
|
}
|
|
1699
|
+
client.resolve(marginModePositions, marginMode + ':positions');
|
|
1477
1700
|
}
|
|
1478
|
-
client.resolve(newPositions, marginMode + ':positions');
|
|
1479
1701
|
}
|
|
1480
1702
|
/**
|
|
1481
1703
|
* @method
|
|
1482
1704
|
* @name htx#watchBalance
|
|
1483
1705
|
* @description watch balance and get the amount of funds available for trading or funds locked in orders
|
|
1484
1706
|
* @see https://www.htx.com/en-us/opend/newApiPages/?id=7ec52e28-7773-11ed-9966-0242ac110003
|
|
1485
|
-
* @see https://www.htx.com/en-us/opend/newApiPages/?id=10000084-77b7-11ed-9966-0242ac110003
|
|
1486
|
-
* @see https://www.htx.com/en-us/opend/newApiPages/?id=8cb7dcca-77b5-11ed-9966-0242ac110003
|
|
1487
1707
|
* @see https://www.htx.com/en-us/opend/newApiPages/?id=28c34995-77ae-11ed-9966-0242ac110003
|
|
1708
|
+
* @see https://www.htx.com/en-us/opend/newApiPages/?id=8cb89359-77b5-11ed-9966-195a6c94551
|
|
1488
1709
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
1489
1710
|
* @returns {object} a [balance structure]{@link https://docs.ccxt.com/?id=balance-structure}
|
|
1490
1711
|
*/
|
|
@@ -1499,12 +1720,22 @@ export default class htx extends htxRest {
|
|
|
1499
1720
|
let messageHash = undefined;
|
|
1500
1721
|
let channel = undefined;
|
|
1501
1722
|
let marginMode = undefined;
|
|
1723
|
+
const linear = (subType === 'linear');
|
|
1724
|
+
const swap = (type === 'swap');
|
|
1725
|
+
const future = (type === 'future');
|
|
1726
|
+
const isV5Linear = (linear && (swap || future));
|
|
1502
1727
|
if (type === 'spot') {
|
|
1503
1728
|
let mode = this.safeString2(this.options, 'watchBalance', 'mode', '2');
|
|
1504
1729
|
mode = this.safeString(params, 'mode', mode);
|
|
1505
1730
|
messageHash = 'accounts.update' + '#' + mode;
|
|
1506
1731
|
channel = messageHash;
|
|
1507
1732
|
}
|
|
1733
|
+
else if (isV5Linear) {
|
|
1734
|
+
marginMode = this.safeString(params, 'margin', 'cross');
|
|
1735
|
+
params = this.omit(params, ['currency', 'symbol', 'margin']);
|
|
1736
|
+
channel = 'account';
|
|
1737
|
+
messageHash = 'account';
|
|
1738
|
+
}
|
|
1508
1739
|
else {
|
|
1509
1740
|
const symbol = this.safeString(params, 'symbol');
|
|
1510
1741
|
const currency = this.safeString(params, 'currency');
|
|
@@ -1576,6 +1807,7 @@ export default class htx extends htxRest {
|
|
|
1576
1807
|
'type': type,
|
|
1577
1808
|
'subType': subType,
|
|
1578
1809
|
'margin': marginMode,
|
|
1810
|
+
'isV5': isV5Linear,
|
|
1579
1811
|
};
|
|
1580
1812
|
// we are differentiating the channel from the messageHash for global subscriptions (*)
|
|
1581
1813
|
// because huobi returns a different topic than the topic sent. Example: we send
|
|
@@ -1628,47 +1860,47 @@ export default class htx extends htxRest {
|
|
|
1628
1860
|
// "uid":"123456789"
|
|
1629
1861
|
// }
|
|
1630
1862
|
//
|
|
1631
|
-
//
|
|
1863
|
+
// watchBalance linear v5
|
|
1632
1864
|
//
|
|
1633
1865
|
// {
|
|
1634
|
-
// "op":"notify",
|
|
1635
|
-
// "topic":"
|
|
1636
|
-
// "
|
|
1637
|
-
// "
|
|
1638
|
-
// "
|
|
1639
|
-
//
|
|
1640
|
-
//
|
|
1641
|
-
//
|
|
1642
|
-
//
|
|
1643
|
-
//
|
|
1644
|
-
//
|
|
1645
|
-
//
|
|
1646
|
-
//
|
|
1647
|
-
//
|
|
1648
|
-
//
|
|
1649
|
-
//
|
|
1650
|
-
//
|
|
1651
|
-
//
|
|
1652
|
-
//
|
|
1653
|
-
//
|
|
1654
|
-
//
|
|
1655
|
-
//
|
|
1656
|
-
//
|
|
1657
|
-
//
|
|
1658
|
-
//
|
|
1659
|
-
//
|
|
1660
|
-
//
|
|
1661
|
-
//
|
|
1662
|
-
//
|
|
1663
|
-
//
|
|
1664
|
-
//
|
|
1665
|
-
//
|
|
1666
|
-
//
|
|
1667
|
-
//
|
|
1668
|
-
//
|
|
1669
|
-
//
|
|
1670
|
-
//
|
|
1671
|
-
//
|
|
1866
|
+
// "op": "notify",
|
|
1867
|
+
// "topic": "account",
|
|
1868
|
+
// "contract_code": "",
|
|
1869
|
+
// "ts": 1782459963509,
|
|
1870
|
+
// "uid": "359305390",
|
|
1871
|
+
// "event": "snapshot",
|
|
1872
|
+
// "data": {
|
|
1873
|
+
// "equity": "0",
|
|
1874
|
+
// "state": "normal",
|
|
1875
|
+
// "details": [
|
|
1876
|
+
// {
|
|
1877
|
+
// "currency": "USDT",
|
|
1878
|
+
// "equity": "162.331953938562004875",
|
|
1879
|
+
// "available": "162.331953938562004875",
|
|
1880
|
+
// "profit_unreal": "0",
|
|
1881
|
+
// "initial_margin": "0",
|
|
1882
|
+
// "maintenance_margin": "0",
|
|
1883
|
+
// "maintenance_margin_rate": "0",
|
|
1884
|
+
// "initial_margin_rate": "0",
|
|
1885
|
+
// "voucher": "0",
|
|
1886
|
+
// "voucher_value": "0",
|
|
1887
|
+
// "created_time": "1770293270932",
|
|
1888
|
+
// "updated_time": "1780329743956",
|
|
1889
|
+
// "isolated_equity": "0",
|
|
1890
|
+
// "isolated_profit_unreal": "0",
|
|
1891
|
+
// "withdraw_available": "162.331953938562004875"
|
|
1892
|
+
// }
|
|
1893
|
+
// ],
|
|
1894
|
+
// "initial_margin": "0",
|
|
1895
|
+
// "maintenance_margin": "0",
|
|
1896
|
+
// "maintenance_margin_rate": "0",
|
|
1897
|
+
// "profit_unreal": "0",
|
|
1898
|
+
// "available_margin": "0",
|
|
1899
|
+
// "created_time": "1770293268881",
|
|
1900
|
+
// "updated_time": "1780329743956",
|
|
1901
|
+
// "version": 5659,
|
|
1902
|
+
// "voucher_value": "0"
|
|
1903
|
+
// }
|
|
1672
1904
|
// }
|
|
1673
1905
|
//
|
|
1674
1906
|
// inverse future
|
|
@@ -1717,12 +1949,32 @@ export default class htx extends htxRest {
|
|
|
1717
1949
|
}
|
|
1718
1950
|
else {
|
|
1719
1951
|
// contract balance
|
|
1952
|
+
const topic = this.safeString(message, 'topic');
|
|
1953
|
+
if (topic === 'account') {
|
|
1954
|
+
const accountData = this.safeDict(message, 'data', {});
|
|
1955
|
+
const details = this.safeList(accountData, 'details', []);
|
|
1956
|
+
const detailsLength = details.length;
|
|
1957
|
+
for (let i = 0; i < detailsLength; i++) {
|
|
1958
|
+
const detail = details[i];
|
|
1959
|
+
const currencyId = this.safeString(detail, 'currency');
|
|
1960
|
+
const code = this.safeCurrencyCode(currencyId);
|
|
1961
|
+
if (code === undefined) {
|
|
1962
|
+
continue;
|
|
1963
|
+
}
|
|
1964
|
+
const account = this.account();
|
|
1965
|
+
account['free'] = this.safeString(detail, 'withdraw_available');
|
|
1966
|
+
account['total'] = this.safeString(detail, 'equity');
|
|
1967
|
+
this.balance[code] = account;
|
|
1968
|
+
}
|
|
1969
|
+
this.balance = this.safeBalance(this.balance);
|
|
1970
|
+
client.resolve(this.balance, 'account');
|
|
1971
|
+
return;
|
|
1972
|
+
}
|
|
1720
1973
|
const dataLength = data.length;
|
|
1721
1974
|
if (dataLength === 0) {
|
|
1722
1975
|
return;
|
|
1723
1976
|
}
|
|
1724
1977
|
const first = this.safeValue(data, 0, {});
|
|
1725
|
-
const topic = this.safeString(message, 'topic');
|
|
1726
1978
|
const splitTopic = topic.split('.');
|
|
1727
1979
|
let messageHash = this.safeString(splitTopic, 0);
|
|
1728
1980
|
let subscription = this.safeValue2(client.subscriptions, messageHash, messageHash + '.*');
|
|
@@ -2000,6 +2252,9 @@ export default class htx extends htxRest {
|
|
|
2000
2252
|
if (topic.indexOf('orders') >= 0) {
|
|
2001
2253
|
this.handleOrder(client, message);
|
|
2002
2254
|
}
|
|
2255
|
+
if (topic.indexOf('trade') >= 0) {
|
|
2256
|
+
this.handleMyTrade(client, message);
|
|
2257
|
+
}
|
|
2003
2258
|
if (topic.indexOf('account') >= 0) {
|
|
2004
2259
|
this.handleBalance(client, message);
|
|
2005
2260
|
}
|
|
@@ -2290,20 +2545,65 @@ export default class htx extends htxRest {
|
|
|
2290
2545
|
// ],
|
|
2291
2546
|
// }
|
|
2292
2547
|
//
|
|
2548
|
+
// linear v5 watchMyTrades
|
|
2549
|
+
//
|
|
2550
|
+
// {
|
|
2551
|
+
// "op": "notify",
|
|
2552
|
+
// "topic": "trade",
|
|
2553
|
+
// "contract_code": "BTC-USDT",
|
|
2554
|
+
// "ts": 1782367694387,
|
|
2555
|
+
// "uid": "359305390",
|
|
2556
|
+
// "data": [
|
|
2557
|
+
// {
|
|
2558
|
+
// "direction": "buy",
|
|
2559
|
+
// "id": "100121555172810-1519705786942156810-1",
|
|
2560
|
+
// "contract_code": "BTC-USDT",
|
|
2561
|
+
// "contract_type": "swap",
|
|
2562
|
+
// "order_id": "1519705786942156810",
|
|
2563
|
+
// "trade_id": "155233460",
|
|
2564
|
+
// "position_side": "both",
|
|
2565
|
+
// "trade_volume": "1",
|
|
2566
|
+
// "trade_price": "61629",
|
|
2567
|
+
// "trade_turnover": "61.629",
|
|
2568
|
+
// "role": "taker",
|
|
2569
|
+
// "client_order_id": "1519705786942156810",
|
|
2570
|
+
// "created_time": "1782367694375",
|
|
2571
|
+
// "updated_time": "1782367694385"
|
|
2572
|
+
// }
|
|
2573
|
+
// ]
|
|
2574
|
+
// }
|
|
2575
|
+
//
|
|
2293
2576
|
if (this.myTrades === undefined) {
|
|
2294
2577
|
const limit = this.safeInteger(this.options, 'tradesLimit', 1000);
|
|
2295
2578
|
this.myTrades = new ArrayCacheBySymbolById(limit);
|
|
2296
2579
|
}
|
|
2297
2580
|
const cachedTrades = this.myTrades;
|
|
2298
|
-
const messageHash = this.
|
|
2581
|
+
const messageHash = this.safeString2(message, 'ch', 'topic');
|
|
2299
2582
|
if (messageHash !== undefined) {
|
|
2300
2583
|
const data = this.safeValue(message, 'data');
|
|
2301
2584
|
if (data !== undefined) {
|
|
2302
|
-
const
|
|
2303
|
-
const
|
|
2304
|
-
if (
|
|
2305
|
-
|
|
2306
|
-
|
|
2585
|
+
const contractCode = this.safeString(message, 'contract_code');
|
|
2586
|
+
const market = (contractCode !== undefined) ? this.safeMarket(contractCode) : undefined;
|
|
2587
|
+
if (Array.isArray(data)) {
|
|
2588
|
+
for (let i = 0; i < data.length; i++) {
|
|
2589
|
+
const parsed = this.parseWsTrade(data[i], market);
|
|
2590
|
+
const symbol = this.safeString(parsed, 'symbol');
|
|
2591
|
+
if (symbol !== undefined) {
|
|
2592
|
+
cachedTrades.append(parsed);
|
|
2593
|
+
}
|
|
2594
|
+
}
|
|
2595
|
+
}
|
|
2596
|
+
else {
|
|
2597
|
+
const parsed = this.parseWsTrade(data, market);
|
|
2598
|
+
const symbol = this.safeString(parsed, 'symbol');
|
|
2599
|
+
if (symbol !== undefined) {
|
|
2600
|
+
cachedTrades.append(parsed);
|
|
2601
|
+
}
|
|
2602
|
+
}
|
|
2603
|
+
client.resolve(this.myTrades, messageHash);
|
|
2604
|
+
if ((messageHash === 'trade') && (contractCode !== undefined)) {
|
|
2605
|
+
const specificMessageHash = messageHash + '.' + contractCode.toLowerCase();
|
|
2606
|
+
client.resolve(this.myTrades, specificMessageHash);
|
|
2307
2607
|
}
|
|
2308
2608
|
}
|
|
2309
2609
|
else {
|
|
@@ -2361,31 +2661,54 @@ export default class htx extends htxRest {
|
|
|
2361
2661
|
// "feeDeductType":""
|
|
2362
2662
|
// }
|
|
2363
2663
|
//
|
|
2364
|
-
|
|
2365
|
-
|
|
2366
|
-
|
|
2367
|
-
|
|
2368
|
-
|
|
2369
|
-
|
|
2370
|
-
|
|
2371
|
-
|
|
2372
|
-
|
|
2664
|
+
// linear v5 watchMyTrades
|
|
2665
|
+
//
|
|
2666
|
+
// {
|
|
2667
|
+
// "direction": "buy",
|
|
2668
|
+
// "id": "100121555172810-1519705786942156810-1",
|
|
2669
|
+
// "contract_code": "BTC-USDT",
|
|
2670
|
+
// "contract_type": "swap",
|
|
2671
|
+
// "order_id": "1519705786942156810",
|
|
2672
|
+
// "trade_id": "155233460",
|
|
2673
|
+
// "position_side": "both",
|
|
2674
|
+
// "trade_volume": "1",
|
|
2675
|
+
// "trade_price": "61629",
|
|
2676
|
+
// "trade_turnover": "61.629",
|
|
2677
|
+
// "role": "taker",
|
|
2678
|
+
// "client_order_id": "1519705786942156810",
|
|
2679
|
+
// "created_time": "1782367694375",
|
|
2680
|
+
// "updated_time": "1782367694385"
|
|
2681
|
+
// }
|
|
2682
|
+
//
|
|
2683
|
+
const marketId = this.safeString2(trade, 'symbol', 'contract_code');
|
|
2684
|
+
market = this.safeMarket(marketId, market);
|
|
2685
|
+
const symbol = this.safeString(market, 'symbol');
|
|
2686
|
+
const side = this.safeStringN(trade, ['side', 'orderSide', 'direction']);
|
|
2687
|
+
const tradeId = this.safeStringN(trade, ['tradeId', 'trade_id', 'id']);
|
|
2688
|
+
const price = this.safeString2(trade, 'tradePrice', 'trade_price');
|
|
2689
|
+
const amount = this.safeString2(trade, 'tradeVolume', 'trade_volume');
|
|
2690
|
+
const order = this.safeString2(trade, 'orderId', 'order_id');
|
|
2691
|
+
const timestamp = this.safeIntegerN(trade, ['tradeTime', 'updated_time', 'created_time']);
|
|
2692
|
+
const orderType = this.safeString2(trade, 'orderType', 'type');
|
|
2373
2693
|
const aggressor = this.safeValue(trade, 'aggressor');
|
|
2374
2694
|
let takerOrMaker = undefined;
|
|
2375
2695
|
if (aggressor !== undefined) {
|
|
2376
2696
|
takerOrMaker = aggressor ? 'taker' : 'maker';
|
|
2377
2697
|
}
|
|
2698
|
+
else {
|
|
2699
|
+
takerOrMaker = this.safeStringLower(trade, 'role');
|
|
2700
|
+
}
|
|
2378
2701
|
let type = undefined;
|
|
2379
2702
|
let orderTypeParts = [];
|
|
2380
2703
|
if (orderType !== undefined) {
|
|
2381
2704
|
orderTypeParts = orderType.split('-');
|
|
2382
|
-
type = this.safeString(orderTypeParts, 1);
|
|
2705
|
+
type = this.safeString(orderTypeParts, 1, orderType);
|
|
2383
2706
|
}
|
|
2384
2707
|
let fee = undefined;
|
|
2385
|
-
const feeCurrency = this.safeCurrencyCode(this.
|
|
2708
|
+
const feeCurrency = this.safeCurrencyCode(this.safeStringN(trade, ['feeCurrency', 'fee_currency', 'fee_asset']));
|
|
2386
2709
|
if (feeCurrency !== undefined) {
|
|
2387
2710
|
fee = {
|
|
2388
|
-
'cost': this.
|
|
2711
|
+
'cost': this.safeStringN(trade, ['transactFee', 'fee', 'trade_fee']),
|
|
2389
2712
|
'currency': feeCurrency,
|
|
2390
2713
|
};
|
|
2391
2714
|
}
|
|
@@ -2405,7 +2728,7 @@ export default class htx extends htxRest {
|
|
|
2405
2728
|
'fee': fee,
|
|
2406
2729
|
}, market);
|
|
2407
2730
|
}
|
|
2408
|
-
getUrlByMarketType(type, isLinear = true, isPrivate = false, isFeed = false) {
|
|
2731
|
+
getUrlByMarketType(type, isLinear = true, isPrivate = false, isFeed = false, isV5 = false) {
|
|
2409
2732
|
const api = this.safeString(this.options, 'api', 'api');
|
|
2410
2733
|
const hostname = { 'hostname': this.hostname };
|
|
2411
2734
|
let hostnameURL = undefined;
|
|
@@ -2427,7 +2750,17 @@ export default class htx extends htxRest {
|
|
|
2427
2750
|
else {
|
|
2428
2751
|
const baseUrl = this.urls['api']['ws'][api][type];
|
|
2429
2752
|
const subTypeUrl = isLinear ? baseUrl['linear'] : baseUrl['inverse'];
|
|
2430
|
-
|
|
2753
|
+
if (isPrivate) {
|
|
2754
|
+
if (isV5 && isLinear) {
|
|
2755
|
+
url = this.safeString(subTypeUrl, 'privateV5', subTypeUrl['private']);
|
|
2756
|
+
}
|
|
2757
|
+
else {
|
|
2758
|
+
url = subTypeUrl['private'];
|
|
2759
|
+
}
|
|
2760
|
+
}
|
|
2761
|
+
else {
|
|
2762
|
+
url = subTypeUrl['public'];
|
|
2763
|
+
}
|
|
2431
2764
|
}
|
|
2432
2765
|
return url;
|
|
2433
2766
|
}
|
|
@@ -2495,7 +2828,8 @@ export default class htx extends htxRest {
|
|
|
2495
2828
|
};
|
|
2496
2829
|
}
|
|
2497
2830
|
const isLinear = subtype === 'linear';
|
|
2498
|
-
const
|
|
2831
|
+
const isV5 = this.safeBool(subscriptionParams, 'isV5', false);
|
|
2832
|
+
const url = this.getUrlByMarketType(type, isLinear, true, false, isV5);
|
|
2499
2833
|
const hostname = (type === 'spot') ? this.urls['hostnames']['spot'] : this.urls['hostnames']['contract'];
|
|
2500
2834
|
const authParams = {
|
|
2501
2835
|
'type': type,
|