ccxt 4.5.35 → 4.5.37
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 +3 -3
- package/dist/ccxt.browser.min.js +18 -20
- package/dist/cjs/ccxt.js +1 -1
- package/dist/cjs/src/base/Exchange.js +7 -4
- package/dist/cjs/src/base/functions/generic.js +27 -10
- package/dist/cjs/src/base/functions/time.js +0 -2
- package/dist/cjs/src/base/functions.js +0 -1
- package/dist/cjs/src/bybit.js +10 -4
- package/dist/cjs/src/coinbase.js +18 -7
- package/dist/cjs/src/coinex.js +2 -0
- package/dist/cjs/src/htx.js +67 -12
- package/dist/cjs/src/hyperliquid.js +245 -1
- package/dist/cjs/src/krakenfutures.js +6 -6
- package/dist/cjs/src/kucoin.js +43 -4
- package/dist/cjs/src/mexc.js +2 -2
- package/dist/cjs/src/pro/aster.js +27 -24
- package/dist/cjs/src/pro/binance.js +9 -12
- package/dist/cjs/src/pro/bitmex.js +5 -8
- package/dist/cjs/src/pro/bybit.js +8 -12
- package/dist/cjs/src/pro/bydfi.js +20 -43
- package/dist/cjs/src/pro/gate.js +7 -8
- package/dist/cjs/src/pro/okx.js +8 -12
- package/dist/cjs/src/whitebit.js +1 -1
- package/dist/cjs/src/woo.js +1 -1
- package/js/ccxt.d.ts +1 -1
- package/js/ccxt.js +1 -7
- package/js/src/abstract/alp.js +0 -6
- package/js/src/abstract/alpaca.js +0 -6
- package/js/src/abstract/apex.js +0 -6
- package/js/src/abstract/arkham.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.d.ts +1 -0
- package/js/src/abstract/bybit.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/coinbaseadvanced.js +0 -6
- package/js/src/abstract/coinbaseexchange.js +0 -6
- package/js/src/abstract/coinbaseinternational.js +0 -6
- package/js/src/abstract/coincatch.js +0 -6
- package/js/src/abstract/coincheck.js +0 -6
- package/js/src/abstract/coinex.d.ts +2 -0
- 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/defx.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/fmfwio.js +0 -6
- package/js/src/abstract/foxbit.js +0 -6
- package/js/src/abstract/gate.js +0 -6
- package/js/src/abstract/gateio.js +0 -6
- package/js/src/abstract/gemini.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/huobi.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.d.ts +33 -1
- package/js/src/abstract/kucoin.js +0 -6
- package/js/src/abstract/kucoinfutures.d.ts +33 -1
- 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/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/oxfun.js +0 -6
- package/js/src/abstract/p2b.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/probit.js +0 -6
- package/js/src/abstract/timex.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/wavesexchange.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/yobit.js +0 -6
- package/js/src/abstract/zaif.js +0 -6
- package/js/src/abstract/zebpay.js +0 -6
- package/js/src/abstract/zonda.js +0 -6
- package/js/src/alp.js +0 -6
- package/js/src/alpaca.js +0 -6
- package/js/src/apex.js +0 -6
- package/js/src/arkham.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.d.ts +7 -6
- package/js/src/base/Exchange.js +7 -10
- 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.d.ts +1 -1
- package/js/src/base/functions/generic.js +28 -17
- 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.d.ts +1 -2
- package/js/src/base/functions/time.js +1 -8
- 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 +0 -6
- 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 +0 -6
- 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 +0 -6
- 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 +0 -6
- 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 +0 -6
- package/js/src/bullish.js +0 -6
- package/js/src/bybit.js +10 -10
- package/js/src/bydfi.js +0 -6
- package/js/src/cex.js +0 -6
- package/js/src/coinbase.d.ts +2 -0
- package/js/src/coinbase.js +18 -13
- package/js/src/coinbaseadvanced.js +0 -6
- package/js/src/coinbaseexchange.d.ts +1 -1
- package/js/src/coinbaseexchange.js +0 -6
- package/js/src/coinbaseinternational.js +0 -6
- package/js/src/coincatch.js +0 -6
- package/js/src/coincheck.js +0 -6
- package/js/src/coinex.js +2 -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.js +0 -6
- 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/defx.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/fmfwio.js +0 -6
- package/js/src/foxbit.js +0 -6
- package/js/src/gate.js +0 -6
- package/js/src/gateio.js +0 -6
- package/js/src/gemini.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.d.ts +5 -2
- package/js/src/htx.js +67 -18
- package/js/src/huobi.js +0 -6
- package/js/src/hyperliquid.d.ts +64 -0
- package/js/src/hyperliquid.js +246 -8
- 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 +6 -12
- package/js/src/kucoin.js +43 -10
- package/js/src/kucoinfutures.js +0 -6
- package/js/src/latoken.js +0 -6
- package/js/src/lbank.js +0 -6
- package/js/src/luno.js +0 -6
- package/js/src/mercado.js +0 -6
- package/js/src/mexc.js +2 -8
- 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/oxfun.js +0 -6
- package/js/src/p2b.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/alpaca.js +0 -6
- package/js/src/pro/apex.js +0 -6
- package/js/src/pro/arkham.js +0 -6
- package/js/src/pro/ascendex.js +0 -6
- package/js/src/pro/aster.js +27 -30
- package/js/src/pro/backpack.js +0 -6
- package/js/src/pro/bequant.js +0 -6
- package/js/src/pro/binance.js +9 -18
- 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 +5 -14
- 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 +8 -18
- package/js/src/pro/bydfi.js +20 -49
- package/js/src/pro/cex.js +0 -6
- package/js/src/pro/coinbase.js +0 -6
- package/js/src/pro/coinbaseadvanced.js +0 -6
- package/js/src/pro/coinbaseexchange.js +0 -6
- package/js/src/pro/coinbaseinternational.js +0 -6
- package/js/src/pro/coincatch.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/defx.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/gate.js +7 -14
- package/js/src/pro/gateio.js +0 -6
- package/js/src/pro/gemini.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.js +0 -6
- package/js/src/pro/huobi.js +0 -6
- 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/kucoinfutures.js +0 -6
- package/js/src/pro/lbank.js +0 -6
- 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 +8 -18
- package/js/src/pro/okxus.js +0 -6
- package/js/src/pro/onetrading.js +0 -6
- package/js/src/pro/oxfun.js +0 -6
- package/js/src/pro/p2b.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/probit.js +0 -6
- package/js/src/pro/toobit.js +0 -6
- package/js/src/pro/upbit.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/probit.js +0 -6
- package/js/src/protobuf/mexc/compiled.cjs +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/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.d.ts +5 -5
- package/js/src/static_dependencies/fflake/browser.js +0 -6
- package/js/src/static_dependencies/jsencrypt/JSEncrypt.js +0 -6
- package/js/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +0 -6
- package/js/src/static_dependencies/jsencrypt/index.js +0 -6
- package/js/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +0 -6
- package/js/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +0 -6
- package/js/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +0 -6
- package/js/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +0 -6
- package/js/src/static_dependencies/jsencrypt/lib/asn1js/oids.js +0 -6
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +0 -6
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.d.ts +1 -1
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +0 -6
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +0 -6
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +0 -6
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +0 -6
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/util.js +0 -6
- package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +0 -6
- package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +0 -6
- package/js/src/static_dependencies/messagepack/msgpack.js +0 -6
- package/js/src/static_dependencies/noble-curves/_shortw_utils.js +0 -6
- package/js/src/static_dependencies/noble-curves/abstract/curve.js +0 -6
- package/js/src/static_dependencies/noble-curves/abstract/edwards.js +0 -6
- package/js/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +0 -6
- package/js/src/static_dependencies/noble-curves/abstract/modular.js +0 -6
- package/js/src/static_dependencies/noble-curves/abstract/montgomery.js +0 -6
- package/js/src/static_dependencies/noble-curves/abstract/poseidon.js +0 -6
- package/js/src/static_dependencies/noble-curves/abstract/utils.js +0 -6
- package/js/src/static_dependencies/noble-curves/abstract/weierstrass.d.ts +1 -0
- package/js/src/static_dependencies/noble-curves/abstract/weierstrass.js +0 -6
- package/js/src/static_dependencies/noble-curves/bn.js +0 -6
- package/js/src/static_dependencies/noble-curves/ed25519.js +0 -6
- package/js/src/static_dependencies/noble-curves/ed448.js +0 -6
- package/js/src/static_dependencies/noble-curves/index.js +0 -6
- package/js/src/static_dependencies/noble-curves/jubjub.js +0 -6
- package/js/src/static_dependencies/noble-curves/p256.js +0 -6
- package/js/src/static_dependencies/noble-curves/p384.js +0 -6
- package/js/src/static_dependencies/noble-curves/p521.js +0 -6
- package/js/src/static_dependencies/noble-curves/pasta.js +0 -6
- package/js/src/static_dependencies/noble-curves/secp256k1.js +0 -6
- package/js/src/static_dependencies/noble-hashes/_assert.js +0 -6
- package/js/src/static_dependencies/noble-hashes/_blake2.js +0 -6
- package/js/src/static_dependencies/noble-hashes/_sha2.js +0 -6
- package/js/src/static_dependencies/noble-hashes/_u64.js +0 -6
- package/js/src/static_dependencies/noble-hashes/argon2.js +0 -6
- package/js/src/static_dependencies/noble-hashes/blake2b.js +0 -6
- package/js/src/static_dependencies/noble-hashes/blake2s.js +0 -6
- package/js/src/static_dependencies/noble-hashes/blake3.js +0 -6
- package/js/src/static_dependencies/noble-hashes/crypto.js +0 -6
- package/js/src/static_dependencies/noble-hashes/cryptoNode.js +0 -6
- package/js/src/static_dependencies/noble-hashes/eskdf.js +0 -6
- package/js/src/static_dependencies/noble-hashes/hkdf.js +0 -6
- package/js/src/static_dependencies/noble-hashes/hmac.js +0 -6
- package/js/src/static_dependencies/noble-hashes/index.js +0 -6
- package/js/src/static_dependencies/noble-hashes/md5.js +0 -6
- package/js/src/static_dependencies/noble-hashes/pbkdf2.js +0 -6
- package/js/src/static_dependencies/noble-hashes/ripemd160.js +0 -6
- package/js/src/static_dependencies/noble-hashes/scrypt.js +0 -6
- package/js/src/static_dependencies/noble-hashes/sha1.js +0 -6
- package/js/src/static_dependencies/noble-hashes/sha256.js +0 -6
- package/js/src/static_dependencies/noble-hashes/sha3-addons.js +0 -6
- package/js/src/static_dependencies/noble-hashes/sha3.js +0 -6
- package/js/src/static_dependencies/noble-hashes/sha512.js +0 -6
- package/js/src/static_dependencies/noble-hashes/utils.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/scure-base/index.js +0 -6
- package/js/src/static_dependencies/scure-bip32/index.js +0 -6
- package/js/src/static_dependencies/scure-bip39/index.js +0 -6
- package/js/src/static_dependencies/scure-bip39/wordlists/english.js +0 -6
- package/js/src/static_dependencies/scure-starknet/index.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.d.ts +1 -1
- 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/timex.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/wavesexchange.js +0 -6
- package/js/src/whitebit.js +1 -7
- package/js/src/woo.js +1 -7
- package/js/src/woofipro.js +0 -6
- package/js/src/xt.js +0 -6
- package/js/src/yobit.js +0 -6
- package/js/src/zaif.js +0 -6
- package/js/src/zebpay.js +0 -6
- package/js/src/zonda.js +0 -6
- package/package.json +1 -1
|
@@ -213,6 +213,9 @@ class hyperliquid extends hyperliquid$1["default"] {
|
|
|
213
213
|
'Insufficient spot balance asset': errors.InsufficientFunds,
|
|
214
214
|
'Insufficient balance for withdrawal': errors.InsufficientFunds,
|
|
215
215
|
'Insufficient balance for token transfer': errors.InsufficientFunds,
|
|
216
|
+
'TWAP order value too small. Min is $1200, which is $10 per minute.': errors.InvalidOrder,
|
|
217
|
+
'TWAP was never placed, already canceled, or filled.': errors.OrderNotFound,
|
|
218
|
+
'Too many cumulative requests sent': errors.RateLimitExceeded, // {"status":"err","response":"Too many cumulative requests sent (37986 > 10436) for cumulative volume traded $437.92. Place taker orders to free up 1 request per USDC traded."}
|
|
216
219
|
},
|
|
217
220
|
},
|
|
218
221
|
'precisionMode': number.TICK_SIZE,
|
|
@@ -1708,6 +1711,17 @@ class hyperliquid extends hyperliquid$1["default"] {
|
|
|
1708
1711
|
};
|
|
1709
1712
|
return this.signUserSignedAction(messageTypes, message);
|
|
1710
1713
|
}
|
|
1714
|
+
buildUserAbstractionSig(message) {
|
|
1715
|
+
const messageTypes = {
|
|
1716
|
+
'HyperliquidTransaction:UserSetAbstraction': [
|
|
1717
|
+
{ 'name': 'hyperliquidChain', 'type': 'string' },
|
|
1718
|
+
{ 'name': 'user', 'type': 'address' },
|
|
1719
|
+
{ 'name': 'abstraction', 'type': 'string' },
|
|
1720
|
+
{ 'name': 'nonce', 'type': 'uint64' },
|
|
1721
|
+
],
|
|
1722
|
+
};
|
|
1723
|
+
return this.signUserSignedAction(messageTypes, message);
|
|
1724
|
+
}
|
|
1711
1725
|
buildApproveBuilderFeeSig(message) {
|
|
1712
1726
|
const messageTypes = {
|
|
1713
1727
|
'HyperliquidTransaction:ApproveBuilderFee': [
|
|
@@ -1808,11 +1822,70 @@ class hyperliquid extends hyperliquid$1["default"] {
|
|
|
1808
1822
|
}
|
|
1809
1823
|
return true;
|
|
1810
1824
|
}
|
|
1825
|
+
/**
|
|
1826
|
+
* @method
|
|
1827
|
+
* @name hyperliquid#setUserAbstraction
|
|
1828
|
+
* @description set user abstraction mode
|
|
1829
|
+
* @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/exchange-endpoint#set-user-abstraction
|
|
1830
|
+
* @param {string} abstraction one of the strings ["disabled", "unifiedAccount", "portfolioMargin"],
|
|
1831
|
+
* @param {object} [params]
|
|
1832
|
+
* @param {string} [params.type] 'userSetAbstraction' or 'agentSetAbstraction' default is 'userSetAbstraction'
|
|
1833
|
+
* @returns dictionary response from the exchange
|
|
1834
|
+
*/
|
|
1835
|
+
async setUserAbstraction(abstraction, params = {}) {
|
|
1836
|
+
let userAddress = undefined;
|
|
1837
|
+
[userAddress, params] = this.handlePublicAddress('setUserAbstraction', params);
|
|
1838
|
+
const nonce = this.milliseconds();
|
|
1839
|
+
const isSandboxMode = this.safeBool(this.options, 'sandboxMode', false);
|
|
1840
|
+
const type = this.safeString(params, 'type', 'userSetAbstraction');
|
|
1841
|
+
params = this.omit(params, 'type');
|
|
1842
|
+
const payload = {
|
|
1843
|
+
'hyperliquidChain': isSandboxMode ? 'Testnet' : 'Mainnet',
|
|
1844
|
+
'user': userAddress,
|
|
1845
|
+
'abstraction': abstraction,
|
|
1846
|
+
'nonce': nonce,
|
|
1847
|
+
};
|
|
1848
|
+
const sig = this.buildUserAbstractionSig(payload);
|
|
1849
|
+
const action = {
|
|
1850
|
+
'hyperliquidChain': payload['hyperliquidChain'],
|
|
1851
|
+
'signatureChainId': '0x66eee',
|
|
1852
|
+
'abstraction': payload['abstraction'],
|
|
1853
|
+
'user': payload['user'],
|
|
1854
|
+
'nonce': nonce,
|
|
1855
|
+
'type': type,
|
|
1856
|
+
};
|
|
1857
|
+
const request = {
|
|
1858
|
+
'action': action,
|
|
1859
|
+
'nonce': nonce,
|
|
1860
|
+
'signature': sig,
|
|
1861
|
+
'vaultAddress': undefined,
|
|
1862
|
+
};
|
|
1863
|
+
//
|
|
1864
|
+
// {
|
|
1865
|
+
// "status": "ok",
|
|
1866
|
+
// "response": {
|
|
1867
|
+
// "type": "default"
|
|
1868
|
+
// }
|
|
1869
|
+
// }
|
|
1870
|
+
//
|
|
1871
|
+
return await this.privatePostExchange(request);
|
|
1872
|
+
}
|
|
1873
|
+
/**
|
|
1874
|
+
* @method
|
|
1875
|
+
* @name hyperliquid#enableUserDexAbstraction
|
|
1876
|
+
* @description If set, actions on HIP-3 perps will automatically transfer collateral from validator-operated USDC perps balance for HIP-3 DEXs where USDC is the collateral token, and spot otherwise
|
|
1877
|
+
* @param enabled
|
|
1878
|
+
* @param params
|
|
1879
|
+
* @param {string} [params.type] 'userDexAbstraction' or 'agentEnableDexAbstraction' default is 'userDexAbstraction'
|
|
1880
|
+
* @returns dictionary response from the exchange
|
|
1881
|
+
*/
|
|
1811
1882
|
async enableUserDexAbstraction(enabled, params = {}) {
|
|
1812
1883
|
let userAddress = undefined;
|
|
1813
1884
|
[userAddress, params] = this.handlePublicAddress('enableUserDexAbstraction', params);
|
|
1814
1885
|
const nonce = this.milliseconds();
|
|
1815
1886
|
const isSandboxMode = this.safeBool(this.options, 'sandboxMode', false);
|
|
1887
|
+
const type = this.safeString(params, 'type', 'userDexAbstraction');
|
|
1888
|
+
params = this.omit(params, 'type');
|
|
1816
1889
|
const payload = {
|
|
1817
1890
|
'hyperliquidChain': isSandboxMode ? 'Testnet' : 'Mainnet',
|
|
1818
1891
|
'user': userAddress,
|
|
@@ -1826,7 +1899,7 @@ class hyperliquid extends hyperliquid$1["default"] {
|
|
|
1826
1899
|
'enabled': payload['enabled'],
|
|
1827
1900
|
'user': payload['user'],
|
|
1828
1901
|
'nonce': nonce,
|
|
1829
|
-
'type':
|
|
1902
|
+
'type': type,
|
|
1830
1903
|
};
|
|
1831
1904
|
const request = {
|
|
1832
1905
|
'action': action,
|
|
@@ -1844,6 +1917,29 @@ class hyperliquid extends hyperliquid$1["default"] {
|
|
|
1844
1917
|
//
|
|
1845
1918
|
return await this.privatePostExchange(request);
|
|
1846
1919
|
}
|
|
1920
|
+
/**
|
|
1921
|
+
* @method
|
|
1922
|
+
* @name hyperliquid#setAgentAbstraction
|
|
1923
|
+
* @description set agent abstraction mode
|
|
1924
|
+
* @param {string} abstraction one of the strings ["i", "u", "p"] where "i" is "disabled", "u" is "unifiedAccount", and "p" is "portfolioMargin"
|
|
1925
|
+
* @param {object} [params]
|
|
1926
|
+
* @returns dictionary response from the exchange
|
|
1927
|
+
*/
|
|
1928
|
+
async setAgentAbstraction(abstraction, params = {}) {
|
|
1929
|
+
const nonce = this.milliseconds();
|
|
1930
|
+
const request = {
|
|
1931
|
+
'nonce': nonce,
|
|
1932
|
+
};
|
|
1933
|
+
const action = {
|
|
1934
|
+
'type': 'agentSetAbstraction',
|
|
1935
|
+
'abstraction': abstraction,
|
|
1936
|
+
};
|
|
1937
|
+
const signature = this.signL1Action(action, nonce);
|
|
1938
|
+
request['action'] = action;
|
|
1939
|
+
request['signature'] = signature;
|
|
1940
|
+
const response = await this.privatePostExchange(this.extend(request, params));
|
|
1941
|
+
return response;
|
|
1942
|
+
}
|
|
1847
1943
|
/**
|
|
1848
1944
|
* @method
|
|
1849
1945
|
* @name hyperliquid#createOrder
|
|
@@ -1871,6 +1967,82 @@ class hyperliquid extends hyperliquid$1["default"] {
|
|
|
1871
1967
|
const orders = await this.createOrders([order], globalParams);
|
|
1872
1968
|
return orders[0];
|
|
1873
1969
|
}
|
|
1970
|
+
/**
|
|
1971
|
+
* @method
|
|
1972
|
+
* @name hyperliquid#createTwapOrder
|
|
1973
|
+
* @description create a trade order that is executed as a TWAP order over a specified duration.
|
|
1974
|
+
* @param {string} symbol unified symbol of the market to create an order in
|
|
1975
|
+
* @param {string} side 'buy' or 'sell'
|
|
1976
|
+
* @param {float} amount how much of currency you want to trade in units of base currency
|
|
1977
|
+
* @param {int} duration the duration of the TWAP order in milliseconds
|
|
1978
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
1979
|
+
* @param {bool} [params.randomize] whether to randomize the time intervals of the TWAP order slices (default is false, meaning equal intervals)
|
|
1980
|
+
* @param {bool} [params.reduceOnly] true or false whether the order is reduce-only
|
|
1981
|
+
* @param {int} [params.expiresAfter] time in ms after which the twap order expires
|
|
1982
|
+
* @param {string} [params.vaultAddress] the vault address for order
|
|
1983
|
+
* @returns {object} an [order structure]{@link https://docs.ccxt.com/?id=order-structure}
|
|
1984
|
+
*/
|
|
1985
|
+
async createTwapOrder(symbol, side, amount, duration, params = {}) {
|
|
1986
|
+
await this.loadMarkets();
|
|
1987
|
+
await this.initializeClient();
|
|
1988
|
+
const market = this.market(symbol);
|
|
1989
|
+
const nonce = this.milliseconds();
|
|
1990
|
+
const isBuy = (side === 'BUY');
|
|
1991
|
+
let vaultAddress = undefined;
|
|
1992
|
+
const randomize = this.safeBool(params, 'randomize', false);
|
|
1993
|
+
params = this.omit(params, 'randomize');
|
|
1994
|
+
[vaultAddress, params] = this.handleOptionAndParams(params, 'createOrder', 'vaultAddress');
|
|
1995
|
+
vaultAddress = this.formatVaultAddress(vaultAddress);
|
|
1996
|
+
const durationMins = Math.floor(duration / 1000 / 60); // convert from ms to minutes
|
|
1997
|
+
const orderObj = {
|
|
1998
|
+
'a': this.parseToInt(market['baseId']),
|
|
1999
|
+
'b': isBuy,
|
|
2000
|
+
's': this.amountToPrecision(symbol, amount),
|
|
2001
|
+
'r': this.safeBool(params, 'reduceOnly', false),
|
|
2002
|
+
'm': durationMins,
|
|
2003
|
+
't': randomize,
|
|
2004
|
+
};
|
|
2005
|
+
const orderAction = {
|
|
2006
|
+
'type': 'twapOrder',
|
|
2007
|
+
'twap': orderObj,
|
|
2008
|
+
};
|
|
2009
|
+
const signature = this.signL1Action(orderAction, nonce, vaultAddress);
|
|
2010
|
+
const request = {
|
|
2011
|
+
'action': orderAction,
|
|
2012
|
+
'nonce': nonce,
|
|
2013
|
+
'signature': signature,
|
|
2014
|
+
// 'vaultAddress': vaultAddress,
|
|
2015
|
+
};
|
|
2016
|
+
if (vaultAddress !== undefined) {
|
|
2017
|
+
params = this.omit(params, 'vaultAddress');
|
|
2018
|
+
request['vaultAddress'] = vaultAddress;
|
|
2019
|
+
}
|
|
2020
|
+
const expiresAfter = this.safeInteger(params, 'expiresAfter');
|
|
2021
|
+
if (expiresAfter !== undefined) {
|
|
2022
|
+
request['expiresAfter'] = expiresAfter;
|
|
2023
|
+
params = this.omit(params, 'expiresAfter');
|
|
2024
|
+
}
|
|
2025
|
+
const response = await this.privatePostExchange(request);
|
|
2026
|
+
// {
|
|
2027
|
+
// "status":"ok",
|
|
2028
|
+
// "response":{
|
|
2029
|
+
// "type":"twapOrder",
|
|
2030
|
+
// "data":{
|
|
2031
|
+
// "status": {
|
|
2032
|
+
// "running":{
|
|
2033
|
+
// "twapId":77738308
|
|
2034
|
+
// }
|
|
2035
|
+
// }
|
|
2036
|
+
// }
|
|
2037
|
+
// }
|
|
2038
|
+
// }
|
|
2039
|
+
const responseObj = this.safeDict(response, 'response', {});
|
|
2040
|
+
const data = this.safeDict(responseObj, 'data', {});
|
|
2041
|
+
const status = this.safeDict(data, 'status', {});
|
|
2042
|
+
const running = this.safeDict(status, 'running', {});
|
|
2043
|
+
const orderId = this.safeString(running, 'twapId');
|
|
2044
|
+
return this.parseOrder({ 'status': 'running', 'oid': orderId }, market);
|
|
2045
|
+
}
|
|
1874
2046
|
/**
|
|
1875
2047
|
* @method
|
|
1876
2048
|
* @name hyperliquid#createOrders
|
|
@@ -2109,9 +2281,14 @@ class hyperliquid extends hyperliquid$1["default"] {
|
|
|
2109
2281
|
* @param {string} [params.clientOrderId] client order id, (optional 128 bit hex string e.g. 0x1234567890abcdef1234567890abcdef)
|
|
2110
2282
|
* @param {string} [params.vaultAddress] the vault address for order
|
|
2111
2283
|
* @param {string} [params.subAccountAddress] sub account user address
|
|
2284
|
+
* @param {boolean} [params.twap] whether the order to cancel is a twap order, (default is false)
|
|
2112
2285
|
* @returns {object} An [order structure]{@link https://docs.ccxt.com/?id=order-structure}
|
|
2113
2286
|
*/
|
|
2114
2287
|
async cancelOrder(id, symbol = undefined, params = {}) {
|
|
2288
|
+
if (this.safeBool(params, 'twap', false)) {
|
|
2289
|
+
params = this.omit(params, 'twap');
|
|
2290
|
+
return await this.cancelTwapOrder(id, symbol, params);
|
|
2291
|
+
}
|
|
2115
2292
|
const orders = await this.cancelOrders([id], symbol, params);
|
|
2116
2293
|
return this.safeDict(orders, 0);
|
|
2117
2294
|
}
|
|
@@ -2164,6 +2341,66 @@ class hyperliquid extends hyperliquid$1["default"] {
|
|
|
2164
2341
|
}
|
|
2165
2342
|
return orders;
|
|
2166
2343
|
}
|
|
2344
|
+
/**
|
|
2345
|
+
* @method
|
|
2346
|
+
* @name hyperliquid#cancelTwapOrder
|
|
2347
|
+
* @description cancels a running twap order
|
|
2348
|
+
* @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/exchange-endpoint#cancel-a-twap-order
|
|
2349
|
+
* @param {string} id order id
|
|
2350
|
+
* @param {string} symbol unified symbol of the market the order was made in
|
|
2351
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
2352
|
+
* @param {int} [params.expiresAfter] time in ms after which the twap order expires
|
|
2353
|
+
* @param {string} [params.vaultAddress] the vault address for order
|
|
2354
|
+
* @returns {object} An [order structure]{@link https://docs.ccxt.com/?id=order-structure}
|
|
2355
|
+
*/
|
|
2356
|
+
async cancelTwapOrder(id, symbol = undefined, params = {}) {
|
|
2357
|
+
await this.loadMarkets();
|
|
2358
|
+
if (symbol === undefined) {
|
|
2359
|
+
throw new errors.ArgumentsRequired(this.id + ' cancelTwapOrder() requires a symbol argument');
|
|
2360
|
+
}
|
|
2361
|
+
const market = this.market(symbol);
|
|
2362
|
+
let vaultAddress = undefined;
|
|
2363
|
+
[vaultAddress, params] = this.handleOptionAndParams(params, 'cancelTwapOrder', 'vaultAddress');
|
|
2364
|
+
vaultAddress = this.formatVaultAddress(vaultAddress);
|
|
2365
|
+
const action = {
|
|
2366
|
+
'type': 'twapCancel',
|
|
2367
|
+
'a': this.parseToInt(market['baseId']),
|
|
2368
|
+
't': this.parseToNumeric(id),
|
|
2369
|
+
};
|
|
2370
|
+
const nonce = this.milliseconds();
|
|
2371
|
+
const signature = this.signL1Action(action, nonce, vaultAddress);
|
|
2372
|
+
const request = {
|
|
2373
|
+
'action': action,
|
|
2374
|
+
'nonce': nonce,
|
|
2375
|
+
'signature': signature,
|
|
2376
|
+
// 'vaultAddress': vaultAddress,
|
|
2377
|
+
};
|
|
2378
|
+
if (vaultAddress !== undefined) {
|
|
2379
|
+
params = this.omit(params, 'vaultAddress');
|
|
2380
|
+
request['vaultAddress'] = vaultAddress;
|
|
2381
|
+
}
|
|
2382
|
+
const expiresAfter = this.safeInteger(params, 'expiresAfter');
|
|
2383
|
+
if (expiresAfter !== undefined) {
|
|
2384
|
+
request['expiresAfter'] = expiresAfter;
|
|
2385
|
+
params = this.omit(params, 'expiresAfter');
|
|
2386
|
+
}
|
|
2387
|
+
const response = await this.privatePostExchange(request);
|
|
2388
|
+
//
|
|
2389
|
+
// {
|
|
2390
|
+
// "status":"ok",
|
|
2391
|
+
// "response":{
|
|
2392
|
+
// "type":"twapCancel",
|
|
2393
|
+
// "data":{
|
|
2394
|
+
// "status": "success"
|
|
2395
|
+
// }
|
|
2396
|
+
// }
|
|
2397
|
+
// }
|
|
2398
|
+
//
|
|
2399
|
+
const responseObj = this.safeDict(response, 'response', {});
|
|
2400
|
+
const data = this.safeDict(responseObj, 'data', {});
|
|
2401
|
+
const status = this.safeString(data, 'status');
|
|
2402
|
+
return this.parseOrder({ 'status': status, 'oid': id }, market);
|
|
2403
|
+
}
|
|
2167
2404
|
cancelOrdersRequest(ids, symbol = undefined, params = {}) {
|
|
2168
2405
|
/**
|
|
2169
2406
|
* @method
|
|
@@ -4444,6 +4681,13 @@ class hyperliquid extends hyperliquid$1["default"] {
|
|
|
4444
4681
|
break;
|
|
4445
4682
|
}
|
|
4446
4683
|
}
|
|
4684
|
+
if ('status' in data) {
|
|
4685
|
+
const errorStatus = this.safeDict(data, 'status', {});
|
|
4686
|
+
const errorMsg = this.safeString(errorStatus, 'error');
|
|
4687
|
+
if (errorStatus !== undefined) {
|
|
4688
|
+
message = errorMsg;
|
|
4689
|
+
}
|
|
4690
|
+
}
|
|
4447
4691
|
}
|
|
4448
4692
|
const feedback = this.id + ' ' + body;
|
|
4449
4693
|
const nonEmptyMessage = ((message !== undefined) && (message !== ''));
|
|
@@ -2389,7 +2389,7 @@ class krakenfutures extends krakenfutures$1["default"] {
|
|
|
2389
2389
|
// "fundingRate": -0.000000756414717067,
|
|
2390
2390
|
// "fundingRatePrediction": 0.000000195218676,
|
|
2391
2391
|
// "suspended": false,
|
|
2392
|
-
// "indexPrice": 0.
|
|
2392
|
+
// "indexPrice": 0.043391,
|
|
2393
2393
|
// "postOnly": false,
|
|
2394
2394
|
// "change24h": -0.46
|
|
2395
2395
|
// }
|
|
@@ -2402,16 +2402,16 @@ class krakenfutures extends krakenfutures$1["default"] {
|
|
|
2402
2402
|
let fundingRateResult = Precise["default"].stringDiv(fundingRateString, markPriceString);
|
|
2403
2403
|
const nextFundingRateString = this.safeString(ticker, 'fundingRatePrediction');
|
|
2404
2404
|
let nextFundingRateResult = Precise["default"].stringDiv(nextFundingRateString, markPriceString);
|
|
2405
|
-
if (fundingRateResult
|
|
2405
|
+
if (Precise["default"].stringGt(fundingRateResult, '0.25')) {
|
|
2406
2406
|
fundingRateResult = '0.25';
|
|
2407
2407
|
}
|
|
2408
|
-
else if (fundingRateResult
|
|
2408
|
+
else if (Precise["default"].stringLt(fundingRateResult, '-0.25')) {
|
|
2409
2409
|
fundingRateResult = '-0.25';
|
|
2410
2410
|
}
|
|
2411
|
-
if (nextFundingRateResult
|
|
2411
|
+
if (Precise["default"].stringGt(nextFundingRateResult, '0.25')) {
|
|
2412
2412
|
nextFundingRateResult = '0.25';
|
|
2413
2413
|
}
|
|
2414
|
-
else if (nextFundingRateResult
|
|
2414
|
+
else if (Precise["default"].stringLt(nextFundingRateResult, '-0.25')) {
|
|
2415
2415
|
nextFundingRateResult = '-0.25';
|
|
2416
2416
|
}
|
|
2417
2417
|
return {
|
|
@@ -2692,7 +2692,7 @@ class krakenfutures extends krakenfutures$1["default"] {
|
|
|
2692
2692
|
for (let i = 0; i < marginLevels.length; i++) {
|
|
2693
2693
|
const tier = marginLevels[i];
|
|
2694
2694
|
const initialMargin = this.safeString(tier, 'initialMargin');
|
|
2695
|
-
const minNotional = this.
|
|
2695
|
+
const minNotional = this.safeNumber2(tier, 'numNonContractUnits', 'contracts');
|
|
2696
2696
|
if (i !== 0) {
|
|
2697
2697
|
const tiersLength = tiers.length;
|
|
2698
2698
|
const previousTier = tiers[tiersLength - 1];
|
package/dist/cjs/src/kucoin.js
CHANGED
|
@@ -128,6 +128,7 @@ class kucoin extends kucoin$1["default"] {
|
|
|
128
128
|
'broker': 'https://api-broker.kucoin.com',
|
|
129
129
|
'earn': 'https://api.kucoin.com',
|
|
130
130
|
'uta': 'https://api.kucoin.com',
|
|
131
|
+
'utaPrivate': 'https://api.kucoin.com',
|
|
131
132
|
},
|
|
132
133
|
'www': 'https://www.kucoin.com',
|
|
133
134
|
'doc': [
|
|
@@ -484,17 +485,55 @@ class kucoin extends kucoin$1["default"] {
|
|
|
484
485
|
'get': {
|
|
485
486
|
'market/announcement': 20,
|
|
486
487
|
'market/currency': 3,
|
|
488
|
+
'market/currencies': 3,
|
|
487
489
|
'market/instrument': 4,
|
|
488
490
|
'market/ticker': 15,
|
|
489
|
-
'market/orderbook': 3,
|
|
490
491
|
'market/trade': 3,
|
|
491
492
|
'market/kline': 3,
|
|
492
493
|
'market/funding-rate': 2,
|
|
493
494
|
'market/funding-rate-history': 5,
|
|
494
495
|
'market/cross-config': 25,
|
|
496
|
+
'market/collateral-discount-ratio': 10,
|
|
497
|
+
'market/index-price': 20,
|
|
498
|
+
'market/position-tiers': 20,
|
|
499
|
+
'market/open-interest': 10,
|
|
495
500
|
'server/status': 3,
|
|
496
501
|
},
|
|
497
502
|
},
|
|
503
|
+
'utaPrivate': {
|
|
504
|
+
'get': {
|
|
505
|
+
'market/orderbook': 3,
|
|
506
|
+
'account/balance': 5,
|
|
507
|
+
'account/transfer-quota': 20,
|
|
508
|
+
'account/mode': 30,
|
|
509
|
+
'account/ledger': 2,
|
|
510
|
+
'account/interest-history': 15,
|
|
511
|
+
'account/deposit/address': 5,
|
|
512
|
+
'{accountMode}/account/balance': 5,
|
|
513
|
+
'{accountMode}/account/overview': 5,
|
|
514
|
+
'{accountMode}/order/detail': 4,
|
|
515
|
+
'{accountMode}/order/open-list': 4,
|
|
516
|
+
'{accountMode}/order/history': 4,
|
|
517
|
+
'{accountMode}/order/execution': 4,
|
|
518
|
+
'{accountMode}/position/open-list': 3,
|
|
519
|
+
'{accountMode}/position/history': 2,
|
|
520
|
+
'{accountMode}/position/tiers': 20,
|
|
521
|
+
'sub-account/balance': 5,
|
|
522
|
+
'user/fee-rate': 3,
|
|
523
|
+
'dcp/query': 2,
|
|
524
|
+
},
|
|
525
|
+
'post': {
|
|
526
|
+
'account/transfer': 4,
|
|
527
|
+
'account/mode': 30,
|
|
528
|
+
'{accountMode}/account/modify-leverage': 20,
|
|
529
|
+
'{accountMode}/order/place': 1,
|
|
530
|
+
'{accountMode}/order/place-batch': 4,
|
|
531
|
+
'{accountMode}/order/cancel': 1,
|
|
532
|
+
'{accountMode}/order/cancel-batch': 4,
|
|
533
|
+
'sub-account/canTransferOut': 5,
|
|
534
|
+
'dcp/set': 2,
|
|
535
|
+
},
|
|
536
|
+
},
|
|
498
537
|
},
|
|
499
538
|
'timeframes': {
|
|
500
539
|
'1m': '1min',
|
|
@@ -2579,7 +2618,7 @@ class kucoin extends kucoin$1["default"] {
|
|
|
2579
2618
|
else {
|
|
2580
2619
|
request['tradeType'] = 'FUTURES';
|
|
2581
2620
|
}
|
|
2582
|
-
response = await this.
|
|
2621
|
+
response = await this.utaPrivateGetMarketOrderbook(this.extend(request, params));
|
|
2583
2622
|
//
|
|
2584
2623
|
// {
|
|
2585
2624
|
// "code": "200000",
|
|
@@ -5757,9 +5796,9 @@ class kucoin extends kucoin$1["default"] {
|
|
|
5757
5796
|
endpoint = '/api/v1/' + this.implodeParams(path, params);
|
|
5758
5797
|
}
|
|
5759
5798
|
let isUtaPrivate = false;
|
|
5760
|
-
if (api === 'uta') {
|
|
5799
|
+
if ((api === 'uta') || (api === 'utaPrivate')) {
|
|
5761
5800
|
endpoint = '/api/ua/v1/' + this.implodeParams(path, params);
|
|
5762
|
-
if (
|
|
5801
|
+
if (api === 'utaPrivate') {
|
|
5763
5802
|
isUtaPrivate = true;
|
|
5764
5803
|
}
|
|
5765
5804
|
}
|
package/dist/cjs/src/mexc.js
CHANGED
|
@@ -152,8 +152,8 @@ class mexc extends mexc$1["default"] {
|
|
|
152
152
|
'private': 'https://www.mexc.com/open/api/v2',
|
|
153
153
|
},
|
|
154
154
|
'contract': {
|
|
155
|
-
'public': 'https://
|
|
156
|
-
'private': 'https://
|
|
155
|
+
'public': 'https://api.mexc.com/api/v1/contract',
|
|
156
|
+
'private': 'https://api.mexc.com/api/v1/private',
|
|
157
157
|
},
|
|
158
158
|
'broker': {
|
|
159
159
|
'private': 'https://api.mexc.com/api/v3/broker',
|
|
@@ -1480,23 +1480,26 @@ class aster extends aster$1["default"] {
|
|
|
1480
1480
|
// }
|
|
1481
1481
|
//
|
|
1482
1482
|
const messageHash = 'positions';
|
|
1483
|
+
if (this.positions === undefined) {
|
|
1484
|
+
this.positions = new Cache.ArrayCacheBySymbolBySide();
|
|
1485
|
+
}
|
|
1486
|
+
const cache = this.positions;
|
|
1487
|
+
const data = this.safeDict(message, 'a', {});
|
|
1488
|
+
const rawPositions = this.safeList(data, 'P', []);
|
|
1489
|
+
const newPositions = [];
|
|
1490
|
+
for (let i = 0; i < rawPositions.length; i++) {
|
|
1491
|
+
const rawPosition = rawPositions[i];
|
|
1492
|
+
const position = this.parseWsPosition(rawPosition);
|
|
1493
|
+
const timestamp = this.safeInteger(message, 'E');
|
|
1494
|
+
position['timestamp'] = timestamp;
|
|
1495
|
+
position['datetime'] = this.iso8601(timestamp);
|
|
1496
|
+
newPositions.push(position);
|
|
1497
|
+
cache.append(position);
|
|
1498
|
+
}
|
|
1483
1499
|
const messageHashes = this.findMessageHashes(client, messageHash);
|
|
1484
1500
|
if (!this.isEmpty(messageHashes)) {
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
}
|
|
1488
|
-
const cache = this.positions;
|
|
1489
|
-
const data = this.safeDict(message, 'a', {});
|
|
1490
|
-
const rawPositions = this.safeList(data, 'P', []);
|
|
1491
|
-
const newPositions = [];
|
|
1492
|
-
for (let i = 0; i < rawPositions.length; i++) {
|
|
1493
|
-
const rawPosition = rawPositions[i];
|
|
1494
|
-
const position = this.parseWsPosition(rawPosition);
|
|
1495
|
-
const timestamp = this.safeInteger(message, 'E');
|
|
1496
|
-
position['timestamp'] = timestamp;
|
|
1497
|
-
position['datetime'] = this.iso8601(timestamp);
|
|
1498
|
-
newPositions.push(position);
|
|
1499
|
-
cache.append(position);
|
|
1501
|
+
for (let i = 0; i < newPositions.length; i++) {
|
|
1502
|
+
const position = newPositions[i];
|
|
1500
1503
|
const symbol = position['symbol'];
|
|
1501
1504
|
const symbolMessageHash = messageHash + '::' + symbol;
|
|
1502
1505
|
client.resolve(position, symbolMessageHash);
|
|
@@ -1788,18 +1791,18 @@ class aster extends aster$1["default"] {
|
|
|
1788
1791
|
// }
|
|
1789
1792
|
//
|
|
1790
1793
|
const messageHash = 'orders';
|
|
1794
|
+
const market = this.getMarketFromOrder(client, message);
|
|
1795
|
+
if (this.orders === undefined) {
|
|
1796
|
+
const limit = this.safeInteger(this.options, 'ordersLimit', 1000);
|
|
1797
|
+
this.orders = new Cache.ArrayCacheBySymbolById(limit);
|
|
1798
|
+
}
|
|
1799
|
+
const cache = this.orders;
|
|
1800
|
+
const parsed = this.parseWsOrder(message, market);
|
|
1801
|
+
const symbol = market['symbol'];
|
|
1802
|
+
cache.append(parsed);
|
|
1791
1803
|
const messageHashes = this.findMessageHashes(client, messageHash);
|
|
1792
1804
|
if (!this.isEmpty(messageHashes)) {
|
|
1793
|
-
const market = this.getMarketFromOrder(client, message);
|
|
1794
|
-
if (this.orders === undefined) {
|
|
1795
|
-
const limit = this.safeInteger(this.options, 'ordersLimit', 1000);
|
|
1796
|
-
this.orders = new Cache.ArrayCacheBySymbolById(limit);
|
|
1797
|
-
}
|
|
1798
|
-
const cache = this.orders;
|
|
1799
|
-
const parsed = this.parseWsOrder(message, market);
|
|
1800
|
-
const symbol = market['symbol'];
|
|
1801
1805
|
const symbolMessageHash = messageHash + '::' + symbol;
|
|
1802
|
-
cache.append(parsed);
|
|
1803
1806
|
client.resolve(cache, symbolMessageHash);
|
|
1804
1807
|
client.resolve(cache, messageHash);
|
|
1805
1808
|
}
|
|
@@ -351,13 +351,11 @@ class binance extends binance$1["default"] {
|
|
|
351
351
|
const market = this.safeMarket(marketId, undefined, '', 'contract');
|
|
352
352
|
const symbol = market['symbol'];
|
|
353
353
|
const liquidation = this.parseWsLiquidation(rawLiquidation, market);
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
const limit = this.safeInteger(this.options, 'liquidationsLimit', 1000);
|
|
357
|
-
liquidations = new Cache.ArrayCache(limit);
|
|
354
|
+
if (this.liquidations === undefined) {
|
|
355
|
+
this.liquidations = new Cache.ArrayCacheBySymbolBySide();
|
|
358
356
|
}
|
|
359
|
-
liquidations
|
|
360
|
-
|
|
357
|
+
const cache = this.liquidations;
|
|
358
|
+
cache.append(liquidation);
|
|
361
359
|
client.resolve([liquidation], 'liquidations');
|
|
362
360
|
client.resolve([liquidation], 'liquidations::' + symbol);
|
|
363
361
|
}
|
|
@@ -562,13 +560,12 @@ class binance extends binance$1["default"] {
|
|
|
562
560
|
const market = this.safeMarket(marketId, undefined, undefined, 'swap');
|
|
563
561
|
const symbol = this.safeSymbol(marketId, market);
|
|
564
562
|
const liquidation = this.parseWsLiquidation(message, market);
|
|
565
|
-
let
|
|
566
|
-
if (
|
|
567
|
-
|
|
568
|
-
myLiquidations = new Cache.ArrayCache(limit);
|
|
563
|
+
let cache = this.myLiquidations;
|
|
564
|
+
if (cache === undefined) {
|
|
565
|
+
cache = new Cache.ArrayCacheBySymbolBySide();
|
|
569
566
|
}
|
|
570
|
-
|
|
571
|
-
this.myLiquidations
|
|
567
|
+
cache.append(liquidation);
|
|
568
|
+
this.myLiquidations = cache;
|
|
572
569
|
client.resolve([liquidation], 'myLiquidations');
|
|
573
570
|
client.resolve([liquidation], 'myLiquidations::' + symbol);
|
|
574
571
|
}
|
|
@@ -439,17 +439,14 @@ class bitmex extends bitmex$1["default"] {
|
|
|
439
439
|
//
|
|
440
440
|
const rawLiquidations = this.safeValue(message, 'data', []);
|
|
441
441
|
const newLiquidations = [];
|
|
442
|
+
if (this.liquidations === undefined) {
|
|
443
|
+
this.liquidations = new Cache.ArrayCacheBySymbolBySide();
|
|
444
|
+
}
|
|
445
|
+
const cache = this.liquidations;
|
|
442
446
|
for (let i = 0; i < rawLiquidations.length; i++) {
|
|
443
447
|
const rawLiquidation = rawLiquidations[i];
|
|
444
448
|
const liquidation = this.parseLiquidation(rawLiquidation);
|
|
445
|
-
|
|
446
|
-
let liquidations = this.safeValue(this.liquidations, symbol);
|
|
447
|
-
if (liquidations === undefined) {
|
|
448
|
-
const limit = this.safeInteger(this.options, 'liquidationsLimit', 1000);
|
|
449
|
-
liquidations = new Cache.ArrayCache(limit);
|
|
450
|
-
}
|
|
451
|
-
liquidations.append(liquidation);
|
|
452
|
-
this.liquidations[symbol] = liquidations;
|
|
449
|
+
cache.append(liquidation);
|
|
453
450
|
newLiquidations.push(liquidation);
|
|
454
451
|
}
|
|
455
452
|
client.resolve(newLiquidations, 'liquidations');
|
|
@@ -1695,13 +1695,11 @@ class bybit extends bybit$1["default"] {
|
|
|
1695
1695
|
const market = this.safeMarket(marketId, undefined, '', 'contract');
|
|
1696
1696
|
const symbol = market['symbol'];
|
|
1697
1697
|
const liquidation = this.parseWsLiquidation(rawLiquidation, market);
|
|
1698
|
-
|
|
1699
|
-
|
|
1700
|
-
const limit = this.safeInteger(this.options, 'liquidationsLimit', 1000);
|
|
1701
|
-
liquidations = new Cache.ArrayCache(limit);
|
|
1698
|
+
if (this.liquidations === undefined) {
|
|
1699
|
+
this.liquidations = new Cache.ArrayCacheBySymbolBySide();
|
|
1702
1700
|
}
|
|
1703
|
-
liquidations
|
|
1704
|
-
|
|
1701
|
+
const cache = this.liquidations;
|
|
1702
|
+
cache.append(liquidation);
|
|
1705
1703
|
client.resolve([liquidation], 'liquidations');
|
|
1706
1704
|
client.resolve([liquidation], 'liquidations::' + symbol);
|
|
1707
1705
|
}
|
|
@@ -1712,13 +1710,11 @@ class bybit extends bybit$1["default"] {
|
|
|
1712
1710
|
const market = this.safeMarket(marketId, undefined, '', 'contract');
|
|
1713
1711
|
const symbol = market['symbol'];
|
|
1714
1712
|
const liquidation = this.parseWsLiquidation(rawLiquidation, market);
|
|
1715
|
-
|
|
1716
|
-
|
|
1717
|
-
const limit = this.safeInteger(this.options, 'liquidationsLimit', 1000);
|
|
1718
|
-
liquidations = new Cache.ArrayCache(limit);
|
|
1713
|
+
if (this.liquidations === undefined) {
|
|
1714
|
+
this.liquidations = new Cache.ArrayCacheBySymbolBySide();
|
|
1719
1715
|
}
|
|
1720
|
-
liquidations
|
|
1721
|
-
|
|
1716
|
+
const cache = this.liquidations;
|
|
1717
|
+
cache.append(liquidation);
|
|
1722
1718
|
client.resolve([liquidation], 'liquidations');
|
|
1723
1719
|
client.resolve([liquidation], 'liquidations::' + symbol);
|
|
1724
1720
|
}
|