ccxt 4.5.54 → 4.5.56
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 +212 -7
- package/dist/ccxt.browser.min.js +8 -8
- 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/arkham.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/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/oxfun.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/wavesexchange.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/yobit.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 +10 -6
- package/dist/cjs/src/alpaca.js +3 -3
- package/dist/cjs/src/apex.js +96 -85
- package/dist/cjs/src/arkham.js +8 -5
- package/dist/cjs/src/ascendex.js +54 -53
- package/dist/cjs/src/aster.js +34 -43
- package/dist/cjs/src/backpack.js +59 -61
- package/dist/cjs/src/base/Exchange.js +88 -61
- 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 +79 -78
- package/dist/cjs/src/binance.js +5 -5
- package/dist/cjs/src/binancecoinm.js +1 -1
- package/dist/cjs/src/binanceus.js +2 -1
- package/dist/cjs/src/binanceusdm.js +1 -1
- package/dist/cjs/src/bingx.js +95 -108
- 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 +3 -2
- package/dist/cjs/src/bitget.js +81 -71
- package/dist/cjs/src/bithumb.js +1 -1
- package/dist/cjs/src/bitmart.js +6 -5
- package/dist/cjs/src/bitmex.js +83 -82
- package/dist/cjs/src/bitopro.js +28 -34
- package/dist/cjs/src/bitrue.js +46 -47
- package/dist/cjs/src/bitso.js +7 -4
- package/dist/cjs/src/bitstamp.js +32 -25
- package/dist/cjs/src/bitteam.js +75 -73
- package/dist/cjs/src/bittrade.js +45 -46
- package/dist/cjs/src/bitvavo.js +51 -56
- package/dist/cjs/src/blockchaincom.js +1 -1
- package/dist/cjs/src/blofin.js +3 -2
- package/dist/cjs/src/btcbox.js +1 -1
- package/dist/cjs/src/btcmarkets.js +1 -1
- package/dist/cjs/src/btcturk.js +1 -1
- package/dist/cjs/src/bullish.js +25 -27
- package/dist/cjs/src/bybit.js +20 -18
- package/dist/cjs/src/bybiteu.js +64 -0
- package/dist/cjs/src/bydfi.js +1 -1
- package/dist/cjs/src/cex.js +1 -1
- package/dist/cjs/src/coinbaseadvanced.js +1 -1
- package/dist/cjs/src/coinbaseexchange.js +50 -51
- package/dist/cjs/src/coinbaseinternational.js +15 -9
- package/dist/cjs/src/coincheck.js +1 -1
- package/dist/cjs/src/coinex.js +6 -4
- package/dist/cjs/src/coinmate.js +1 -1
- package/dist/cjs/src/coinmetro.js +49 -55
- package/dist/cjs/src/coinone.js +31 -33
- package/dist/cjs/src/coinsph.js +50 -53
- package/dist/cjs/src/coinspot.js +1 -1
- package/dist/cjs/src/cryptocom.js +7 -7
- package/dist/cjs/src/cryptomus.js +1 -1
- package/dist/cjs/src/deepcoin.js +7 -4
- package/dist/cjs/src/delta.js +3 -2
- package/dist/cjs/src/deribit.js +5 -3
- package/dist/cjs/src/derive.js +6 -4
- package/dist/cjs/src/digifinex.js +3 -2
- package/dist/cjs/src/dydx.js +1 -1
- package/dist/cjs/src/exmo.js +13 -40
- package/dist/cjs/src/fmfwio.js +1 -1
- package/dist/cjs/src/foxbit.js +2 -2
- package/dist/cjs/src/gate.js +1 -1
- package/dist/cjs/src/gateio.js +1 -1
- package/dist/cjs/src/gemini.js +5 -3
- package/dist/cjs/src/grvt.js +14 -8
- package/dist/cjs/src/hashkey.js +5 -5
- package/dist/cjs/src/hibachi.js +2 -2
- package/dist/cjs/src/hitbtc.js +57 -47
- package/dist/cjs/src/hollaex.js +1 -1
- package/dist/cjs/src/htx.js +10 -6
- package/dist/cjs/src/huobi.js +1 -1
- package/dist/cjs/src/hyperliquid.js +28 -15
- package/dist/cjs/src/independentreserve.js +1 -1
- package/dist/cjs/src/indodax.js +3 -2
- package/dist/cjs/src/kraken.js +15 -14
- package/dist/cjs/src/krakenfutures.js +3 -2
- package/dist/cjs/src/kucoin.js +1 -1
- package/dist/cjs/src/kucoinfutures.js +1 -1
- package/dist/cjs/src/latoken.js +1 -1
- package/dist/cjs/src/lbank.js +9 -5
- package/dist/cjs/src/lighter.js +2 -2
- package/dist/cjs/src/luno.js +2 -2
- package/dist/cjs/src/mercado.js +3 -2
- package/dist/cjs/src/mexc.js +25 -15
- package/dist/cjs/src/modetrade.js +2 -2
- 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 +13 -5
- package/dist/cjs/src/okxus.js +1 -1
- package/dist/cjs/src/onetrading.js +1 -1
- package/dist/cjs/src/oxfun.js +6 -4
- package/dist/cjs/src/p2b.js +9 -5
- package/dist/cjs/src/pacifica.js +1 -1
- package/dist/cjs/src/paradex.js +672 -74
- package/dist/cjs/src/paymium.js +1 -1
- package/dist/cjs/src/phemex.js +4 -2
- package/dist/cjs/src/poloniex.js +73 -137
- package/dist/cjs/src/pro/alpaca.js +1 -1
- package/dist/cjs/src/pro/apex.js +63 -23
- package/dist/cjs/src/pro/arkham.js +1 -1
- package/dist/cjs/src/pro/ascendex.js +1 -1
- package/dist/cjs/src/pro/aster.js +11 -10
- package/dist/cjs/src/pro/backpack.js +1 -1
- package/dist/cjs/src/pro/bequant.js +1 -1
- package/dist/cjs/src/pro/binance.js +3 -3
- package/dist/cjs/src/pro/binancecoinm.js +1 -1
- package/dist/cjs/src/pro/binanceus.js +1 -2
- package/dist/cjs/src/pro/binanceusdm.js +1 -1
- package/dist/cjs/src/pro/bingx.js +8 -3
- 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 +11 -1
- package/dist/cjs/src/pro/bitmex.js +2 -2
- package/dist/cjs/src/pro/bitrue.js +417 -12
- 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 +7 -3
- package/dist/cjs/src/pro/bybiteu.js +86 -0
- package/dist/cjs/src/pro/bydfi.js +1 -1
- package/dist/cjs/src/pro/cex.js +1 -1
- package/dist/cjs/src/pro/coinbase.js +1 -1
- package/dist/cjs/src/pro/coinbaseadvanced.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/gateio.js +1 -1
- package/dist/cjs/src/pro/gemini.js +1 -1
- package/dist/cjs/src/pro/grvt.js +9 -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 +5 -5
- package/dist/cjs/src/pro/huobi.js +1 -1
- package/dist/cjs/src/pro/hyperliquid.js +5 -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 +17 -5
- package/dist/cjs/src/pro/kucoin.js +1 -1
- 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 +1 -1
- package/dist/cjs/src/pro/luno.js +1 -1
- package/dist/cjs/src/pro/mexc.js +1 -1
- package/dist/cjs/src/pro/modetrade.js +7 -4
- 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 +16 -38
- package/dist/cjs/src/pro/okxus.js +1 -1
- package/dist/cjs/src/pro/onetrading.js +1 -1
- package/dist/cjs/src/pro/oxfun.js +5 -5
- 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 +3 -3
- 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/woo.js +8 -5
- package/dist/cjs/src/pro/woofipro.js +7 -4
- package/dist/cjs/src/pro/xt.js +2 -2
- 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 +0 -6
- package/dist/cjs/src/static_dependencies/ethers/address/address.js +1 -1
- package/dist/cjs/src/static_dependencies/ethers/coders/abstract-coder.js +0 -6
- 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 +0 -6
- package/dist/cjs/src/static_dependencies/ethers/index.js +10 -1
- package/dist/cjs/src/static_dependencies/ethers/interface.js +0 -6
- package/dist/cjs/src/static_dependencies/ethers/typed.js +0 -6
- 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/events.js +0 -6
- package/dist/cjs/src/static_dependencies/ethers/utils/fixednumber.js +0 -6
- 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/jsencrypt/JSEncrypt.js +0 -1
- package/dist/cjs/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +0 -1
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +1 -1
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +0 -6
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +0 -6
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +0 -6
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +0 -1
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +1 -1
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +0 -6
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +1 -1
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +1 -1
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/util.js +0 -6
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +1 -1
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +0 -6
- package/dist/cjs/src/static_dependencies/messagepack/msgpack.js +0 -6
- package/dist/cjs/src/static_dependencies/noble-curves/_shortw_utils.js +1 -1
- package/dist/cjs/src/static_dependencies/noble-curves/abstract/curve.js +1 -1
- package/dist/cjs/src/static_dependencies/noble-curves/abstract/edwards.js +1 -1
- package/dist/cjs/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +0 -1
- package/dist/cjs/src/static_dependencies/noble-curves/abstract/modular.js +1 -1
- package/dist/cjs/src/static_dependencies/noble-curves/abstract/montgomery.js +1 -1
- package/dist/cjs/src/static_dependencies/noble-curves/abstract/poseidon.js +1 -1
- package/dist/cjs/src/static_dependencies/noble-curves/abstract/utils.js +0 -6
- package/dist/cjs/src/static_dependencies/noble-curves/abstract/weierstrass.js +1 -1
- package/dist/cjs/src/static_dependencies/noble-curves/ed25519.js +1 -1
- package/dist/cjs/src/static_dependencies/noble-curves/p256.js +1 -1
- package/dist/cjs/src/static_dependencies/noble-curves/secp256k1.js +1 -1
- package/dist/cjs/src/static_dependencies/noble-hashes/_assert.js +0 -6
- package/dist/cjs/src/static_dependencies/noble-hashes/_sha2.js +0 -1
- package/dist/cjs/src/static_dependencies/noble-hashes/_u64.js +0 -6
- package/dist/cjs/src/static_dependencies/noble-hashes/crypto.js +0 -6
- package/dist/cjs/src/static_dependencies/noble-hashes/hmac.js +0 -1
- package/dist/cjs/src/static_dependencies/noble-hashes/md5.js +0 -1
- package/dist/cjs/src/static_dependencies/noble-hashes/pbkdf2.js +0 -1
- package/dist/cjs/src/static_dependencies/noble-hashes/ripemd160.js +0 -1
- package/dist/cjs/src/static_dependencies/noble-hashes/sha1.js +0 -1
- package/dist/cjs/src/static_dependencies/noble-hashes/sha256.js +0 -1
- package/dist/cjs/src/static_dependencies/noble-hashes/sha3.js +0 -1
- package/dist/cjs/src/static_dependencies/noble-hashes/sha512.js +0 -1
- package/dist/cjs/src/static_dependencies/noble-hashes/utils.js +1 -1
- 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/scure-base/index.js +0 -6
- package/dist/cjs/src/static_dependencies/scure-bip32/index.js +19 -1
- package/dist/cjs/src/static_dependencies/scure-bip39/index.js +1 -1
- package/dist/cjs/src/static_dependencies/scure-bip39/wordlists/english.js +0 -6
- package/dist/cjs/src/static_dependencies/scure-starknet/index.js +1 -1
- package/dist/cjs/src/static_dependencies/starknet/constants.js +1 -1
- package/dist/cjs/src/static_dependencies/starknet/types/calldata.js +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 +2 -2
- package/dist/cjs/src/upbit.js +1 -1
- package/dist/cjs/src/wavesexchange.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 +2 -2
- package/dist/cjs/src/woofipro.js +2 -2
- package/dist/cjs/src/xt.js +3 -2
- package/dist/cjs/src/yobit.js +5 -3
- package/dist/cjs/src/zaif.js +1 -1
- package/dist/cjs/src/zebpay.js +4 -4
- 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/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.js +0 -6
- package/js/src/abstract/bybiteu.d.ts +371 -0
- package/js/src/abstract/bybiteu.js +5 -0
- 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/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/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/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/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.js +0 -6
- 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.d.ts +1 -0
- 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/pacifica.js +0 -6
- package/js/src/abstract/paradex.d.ts +58 -8
- 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/wavesexchange.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/yobit.js +0 -6
- package/js/src/abstract/zaif.js +0 -6
- package/js/src/abstract/zebpay.js +0 -6
- package/js/src/aftermath.js +10 -11
- package/js/src/alpaca.js +2 -8
- package/js/src/apex.d.ts +2 -1
- package/js/src/apex.js +95 -90
- package/js/src/arkham.js +7 -10
- package/js/src/ascendex.d.ts +1 -0
- package/js/src/ascendex.js +53 -58
- package/js/src/aster.d.ts +1 -0
- package/js/src/aster.js +33 -48
- package/js/src/backpack.d.ts +1 -0
- package/js/src/backpack.js +58 -66
- package/js/src/base/Exchange.d.ts +16 -7
- package/js/src/base/Exchange.js +88 -67
- 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.d.ts +1 -0
- package/js/src/bigone.js +78 -83
- package/js/src/binance.js +4 -10
- package/js/src/binancecoinm.js +0 -6
- package/js/src/binanceus.js +1 -6
- package/js/src/binanceusdm.js +0 -6
- package/js/src/bingx.d.ts +1 -0
- package/js/src/bingx.js +94 -113
- 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 +2 -7
- package/js/src/bitget.d.ts +1 -0
- package/js/src/bitget.js +80 -76
- package/js/src/bithumb.js +0 -6
- package/js/src/bitmart.js +5 -10
- package/js/src/bitmex.d.ts +1 -0
- package/js/src/bitmex.js +82 -87
- package/js/src/bitopro.d.ts +1 -0
- package/js/src/bitopro.js +27 -39
- package/js/src/bitrue.d.ts +1 -0
- package/js/src/bitrue.js +45 -52
- package/js/src/bitso.js +6 -9
- package/js/src/bitstamp.d.ts +1 -0
- package/js/src/bitstamp.js +31 -30
- package/js/src/bitteam.d.ts +1 -0
- package/js/src/bitteam.js +74 -78
- package/js/src/bittrade.d.ts +1 -0
- package/js/src/bittrade.js +44 -51
- package/js/src/bitvavo.d.ts +1 -1
- package/js/src/bitvavo.js +51 -62
- package/js/src/blockchaincom.js +0 -6
- package/js/src/blofin.js +2 -7
- 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.d.ts +1 -0
- package/js/src/bullish.js +24 -32
- package/js/src/bybit.d.ts +1 -1
- package/js/src/bybit.js +19 -23
- package/js/src/bybiteu.d.ts +4 -0
- package/js/src/bybiteu.js +57 -0
- package/js/src/bydfi.js +0 -6
- package/js/src/cex.js +0 -6
- package/js/src/coinbase.js +0 -6
- package/js/src/coinbaseadvanced.js +0 -6
- package/js/src/coinbaseexchange.d.ts +1 -0
- package/js/src/coinbaseexchange.js +50 -57
- package/js/src/coinbaseinternational.d.ts +1 -1
- package/js/src/coinbaseinternational.js +15 -15
- package/js/src/coincheck.js +0 -6
- package/js/src/coinex.d.ts +1 -1
- package/js/src/coinex.js +5 -9
- package/js/src/coinmate.js +0 -6
- package/js/src/coinmetro.d.ts +1 -0
- package/js/src/coinmetro.js +48 -60
- package/js/src/coinone.d.ts +2 -1
- package/js/src/coinone.js +30 -38
- package/js/src/coinsph.d.ts +1 -0
- package/js/src/coinsph.js +50 -58
- package/js/src/coinspot.js +0 -6
- package/js/src/cryptocom.js +6 -12
- package/js/src/cryptomus.js +0 -6
- package/js/src/deepcoin.js +6 -9
- package/js/src/delta.js +2 -7
- package/js/src/deribit.js +4 -8
- package/js/src/derive.js +5 -9
- package/js/src/digifinex.js +2 -7
- package/js/src/dydx.js +0 -6
- package/js/src/exmo.js +12 -45
- package/js/src/fmfwio.js +0 -6
- package/js/src/foxbit.js +1 -7
- package/js/src/gate.js +0 -6
- package/js/src/gateio.js +0 -6
- package/js/src/gemini.js +4 -8
- package/js/src/grvt.d.ts +1 -1
- package/js/src/grvt.js +13 -13
- package/js/src/hashkey.js +4 -10
- package/js/src/hibachi.d.ts +1 -1
- package/js/src/hibachi.js +1 -7
- package/js/src/hitbtc.d.ts +2 -0
- package/js/src/hitbtc.js +57 -52
- package/js/src/hollaex.js +0 -6
- package/js/src/htx.js +9 -11
- package/js/src/huobi.js +0 -6
- package/js/src/hyperliquid.d.ts +4 -4
- package/js/src/hyperliquid.js +28 -21
- package/js/src/independentreserve.js +0 -6
- package/js/src/indodax.js +2 -7
- package/js/src/kraken.js +14 -19
- package/js/src/krakenfutures.js +2 -7
- package/js/src/kucoin.js +0 -6
- package/js/src/kucoinfutures.js +0 -6
- package/js/src/latoken.js +0 -6
- package/js/src/lbank.js +8 -10
- package/js/src/lighter.d.ts +1 -1
- package/js/src/lighter.js +1 -7
- package/js/src/luno.js +1 -7
- package/js/src/mercado.js +2 -7
- package/js/src/mexc.d.ts +2 -2
- package/js/src/mexc.js +24 -20
- package/js/src/modetrade.js +1 -7
- 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 +12 -10
- package/js/src/okxus.js +0 -6
- package/js/src/onetrading.js +0 -6
- package/js/src/oxfun.js +5 -9
- package/js/src/p2b.js +8 -10
- package/js/src/pacifica.js +0 -6
- package/js/src/paradex.d.ts +111 -11
- package/js/src/paradex.js +671 -79
- package/js/src/paymium.js +0 -6
- package/js/src/phemex.js +4 -8
- package/js/src/poloniex.d.ts +2 -1
- package/js/src/poloniex.js +72 -142
- package/js/src/pro/aftermath.js +0 -6
- package/js/src/pro/alpaca.js +0 -6
- package/js/src/pro/apex.d.ts +2 -0
- package/js/src/pro/apex.js +62 -28
- package/js/src/pro/arkham.js +0 -6
- package/js/src/pro/ascendex.js +0 -6
- package/js/src/pro/aster.js +10 -15
- package/js/src/pro/backpack.js +0 -6
- package/js/src/pro/bequant.js +0 -6
- package/js/src/pro/binance.d.ts +1 -1
- package/js/src/pro/binance.js +3 -9
- package/js/src/pro/binancecoinm.js +0 -6
- package/js/src/pro/binanceus.js +0 -7
- package/js/src/pro/binanceusdm.js +0 -6
- package/js/src/pro/bingx.js +7 -8
- 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 +10 -6
- package/js/src/pro/bitmex.js +1 -7
- package/js/src/pro/bitopro.js +0 -6
- package/js/src/pro/bitrue.d.ts +45 -1
- package/js/src/pro/bitrue.js +417 -18
- 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.d.ts +1 -0
- package/js/src/pro/bybit.js +6 -8
- package/js/src/pro/bybiteu.d.ts +4 -0
- package/js/src/pro/bybiteu.js +79 -0
- package/js/src/pro/bydfi.js +0 -6
- 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/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/gate.js +0 -6
- package/js/src/pro/gateio.js +0 -6
- package/js/src/pro/gemini.js +0 -6
- package/js/src/pro/grvt.js +8 -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 +4 -4
- package/js/src/pro/htx.js +4 -10
- package/js/src/pro/huobi.js +0 -6
- package/js/src/pro/hyperliquid.js +4 -6
- package/js/src/pro/independentreserve.js +0 -6
- package/js/src/pro/kraken.js +0 -6
- package/js/src/pro/krakenfutures.d.ts +4 -4
- package/js/src/pro/krakenfutures.js +16 -10
- 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/lighter.js +0 -6
- package/js/src/pro/luno.js +0 -6
- package/js/src/pro/mexc.js +0 -6
- package/js/src/pro/modetrade.d.ts +5 -6
- package/js/src/pro/modetrade.js +7 -10
- package/js/src/pro/myokx.js +0 -6
- package/js/src/pro/ndax.js +0 -6
- package/js/src/pro/okx.d.ts +4 -4
- package/js/src/pro/okx.js +16 -44
- package/js/src/pro/okxus.js +0 -6
- package/js/src/pro/onetrading.js +0 -6
- package/js/src/pro/oxfun.d.ts +4 -4
- package/js/src/pro/oxfun.js +4 -10
- 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 +2 -8
- 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.d.ts +6 -7
- package/js/src/pro/woo.js +8 -11
- package/js/src/pro/woofipro.d.ts +5 -6
- package/js/src/pro/woofipro.js +7 -10
- package/js/src/pro/xt.js +1 -7
- 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.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.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.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.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.d.ts +1 -1
- package/js/src/toobit.js +1 -7
- package/js/src/upbit.js +0 -6
- package/js/src/wavesexchange.js +0 -6
- package/js/src/weex.js +0 -6
- package/js/src/whitebit.js +0 -6
- package/js/src/woo.js +1 -7
- package/js/src/woofipro.js +1 -7
- package/js/src/xt.js +2 -7
- package/js/src/yobit.js +4 -8
- package/js/src/zaif.js +0 -6
- package/js/src/zebpay.js +3 -9
- package/package.json +21 -7
package/js/src/paradex.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 { Precise } from './base/Precise.js';
|
|
9
3
|
import Exchange from './abstract/paradex.js';
|
|
@@ -42,8 +36,8 @@ export default class paradex extends Exchange {
|
|
|
42
36
|
'borrowIsolatedMargin': false,
|
|
43
37
|
'cancelAllOrders': true,
|
|
44
38
|
'cancelAllOrdersAfter': false,
|
|
45
|
-
'cancelOrder':
|
|
46
|
-
'cancelOrders':
|
|
39
|
+
'cancelOrder': true,
|
|
40
|
+
'cancelOrders': true,
|
|
47
41
|
'cancelOrdersForSymbols': false,
|
|
48
42
|
'closeAllPositions': false,
|
|
49
43
|
'closePosition': false,
|
|
@@ -51,11 +45,11 @@ export default class paradex extends Exchange {
|
|
|
51
45
|
'createMarketOrderWithCost': false,
|
|
52
46
|
'createMarketSellOrderWithCost': false,
|
|
53
47
|
'createOrder': true,
|
|
54
|
-
'createOrders':
|
|
48
|
+
'createOrders': true,
|
|
55
49
|
'createReduceOnlyOrder': false,
|
|
56
50
|
'createStopOrder': true,
|
|
57
51
|
'createTriggerOrder': true,
|
|
58
|
-
'editOrder':
|
|
52
|
+
'editOrder': true,
|
|
59
53
|
'fetchAccounts': false,
|
|
60
54
|
'fetchAllGreeks': true,
|
|
61
55
|
'fetchBalance': true,
|
|
@@ -77,18 +71,18 @@ export default class paradex extends Exchange {
|
|
|
77
71
|
'fetchFundingRateHistory': true,
|
|
78
72
|
'fetchFundingRates': false,
|
|
79
73
|
'fetchGreeks': true,
|
|
80
|
-
'fetchIndexOHLCV':
|
|
74
|
+
'fetchIndexOHLCV': true,
|
|
81
75
|
'fetchIsolatedBorrowRate': false,
|
|
82
76
|
'fetchIsolatedBorrowRates': false,
|
|
83
77
|
'fetchLedger': false,
|
|
84
78
|
'fetchLeverage': true,
|
|
85
79
|
'fetchLeverageTiers': false,
|
|
86
|
-
'fetchLiquidations':
|
|
80
|
+
'fetchLiquidations': false,
|
|
87
81
|
'fetchMarginMode': true,
|
|
88
82
|
'fetchMarketLeverageTiers': false,
|
|
89
83
|
'fetchMarkets': true,
|
|
90
|
-
'fetchMarkOHLCV':
|
|
91
|
-
'fetchMyLiquidations':
|
|
84
|
+
'fetchMarkOHLCV': true,
|
|
85
|
+
'fetchMyLiquidations': true,
|
|
92
86
|
'fetchMyTrades': true,
|
|
93
87
|
'fetchOHLCV': true,
|
|
94
88
|
'fetchOpenInterest': true,
|
|
@@ -108,10 +102,10 @@ export default class paradex extends Exchange {
|
|
|
108
102
|
'fetchTickers': true,
|
|
109
103
|
'fetchTime': true,
|
|
110
104
|
'fetchTrades': true,
|
|
111
|
-
'fetchTradingFee':
|
|
112
|
-
'fetchTradingFees':
|
|
105
|
+
'fetchTradingFee': true,
|
|
106
|
+
'fetchTradingFees': true,
|
|
113
107
|
'fetchTransfer': false,
|
|
114
|
-
'fetchTransfers':
|
|
108
|
+
'fetchTransfers': true,
|
|
115
109
|
'fetchWithdrawal': false,
|
|
116
110
|
'fetchWithdrawals': true,
|
|
117
111
|
'reduceMargin': false,
|
|
@@ -137,9 +131,11 @@ export default class paradex extends Exchange {
|
|
|
137
131
|
'logo': 'https://github.com/user-attachments/assets/84628770-784e-4ec4-a759-ec2fbb2244ea',
|
|
138
132
|
'api': {
|
|
139
133
|
'v1': 'https://api.prod.{hostname}/v1',
|
|
134
|
+
'v2': 'https://api.prod.{hostname}/v2',
|
|
140
135
|
},
|
|
141
136
|
'test': {
|
|
142
137
|
'v1': 'https://api.testnet.{hostname}/v1',
|
|
138
|
+
'v2': 'https://api.testnet.{hostname}/v2',
|
|
143
139
|
},
|
|
144
140
|
'www': 'https://www.paradex.trade/',
|
|
145
141
|
'doc': 'https://docs.api.testnet.paradex.trade/',
|
|
@@ -150,16 +146,25 @@ export default class paradex extends Exchange {
|
|
|
150
146
|
'public': {
|
|
151
147
|
'get': {
|
|
152
148
|
'bbo/{market}': 1,
|
|
149
|
+
'bbo/{market}/interactive': 1,
|
|
153
150
|
'funding/data': 1,
|
|
154
151
|
'markets': 1,
|
|
155
152
|
'markets/klines': 1,
|
|
156
153
|
'markets/summary': 1,
|
|
157
154
|
'orderbook/{market}': 1,
|
|
155
|
+
'orderbook/{market}/impact-price': 1,
|
|
156
|
+
'orderbook/{market}/interactive': 1,
|
|
158
157
|
'insurance': 1,
|
|
158
|
+
'jwks.json': 1,
|
|
159
|
+
'onboarding': 1,
|
|
159
160
|
'referrals/config': 1,
|
|
161
|
+
'staking/config': 1,
|
|
162
|
+
'system/announcements': 1,
|
|
160
163
|
'system/config': 1,
|
|
164
|
+
'system/portfolio-margin-config': 1,
|
|
161
165
|
'system/state': 1,
|
|
162
166
|
'system/time': 1,
|
|
167
|
+
'system/volume-tiers': 1,
|
|
163
168
|
'trades': 1,
|
|
164
169
|
'vaults': 1,
|
|
165
170
|
'vaults/balance': 1,
|
|
@@ -168,56 +173,99 @@ export default class paradex extends Exchange {
|
|
|
168
173
|
'vaults/positions': 1,
|
|
169
174
|
'vaults/summary': 1,
|
|
170
175
|
'vaults/transfers': 1,
|
|
176
|
+
'xp/fee-config': 1,
|
|
177
|
+
'xp/public-transfers': 1,
|
|
178
|
+
'xp/transfer/{transfer_id}': 1,
|
|
171
179
|
},
|
|
172
180
|
},
|
|
173
181
|
'private': {
|
|
174
182
|
'get': {
|
|
175
183
|
'account': 1,
|
|
176
|
-
'account/
|
|
184
|
+
'account/compliance': 1,
|
|
177
185
|
'account/history': 1,
|
|
186
|
+
'account/info': 1,
|
|
178
187
|
'account/margin': 1,
|
|
179
188
|
'account/profile': 1,
|
|
189
|
+
'account/settings': 1,
|
|
180
190
|
'account/subaccounts': 1,
|
|
191
|
+
'account/summary': 1,
|
|
181
192
|
'balance': 1,
|
|
182
193
|
'fills': 1,
|
|
183
194
|
'funding/payments': 1,
|
|
184
195
|
'positions': 1,
|
|
185
196
|
'tradebusts': 1,
|
|
186
197
|
'transactions': 1,
|
|
198
|
+
'account/keys/subkeys': 1,
|
|
199
|
+
'account/keys/subkeys/{public_key}': 1,
|
|
200
|
+
'account/tokens': 1,
|
|
201
|
+
'algo/orders': 1,
|
|
202
|
+
'algo/orders-history': 1,
|
|
203
|
+
'algo/orders/{algo_id}': 1,
|
|
204
|
+
'block-trades': 1,
|
|
205
|
+
'block-trades/{block_trade_id}': 1,
|
|
206
|
+
'block-trades/{block_trade_id}/offers': 1,
|
|
207
|
+
'block-trades/{block_trade_id}/offers/{offer_id}': 1,
|
|
187
208
|
'liquidations': 1,
|
|
188
209
|
'orders': 1,
|
|
189
210
|
'orders-history': 1,
|
|
190
211
|
'orders/by_client_id/{client_id}': 1,
|
|
191
212
|
'orders/{order_id}': 1,
|
|
192
|
-
'points_data/{market}/{program}': 1,
|
|
193
213
|
'referrals/qr-code': 1,
|
|
194
214
|
'referrals/summary': 1,
|
|
215
|
+
'staking/history': 1,
|
|
216
|
+
'staking/summary': 1,
|
|
195
217
|
'transfers': 1,
|
|
196
|
-
'algo/orders': 1,
|
|
197
|
-
'algo/orders-history': 1,
|
|
198
|
-
'algo/orders/{algo_id}': 1,
|
|
199
218
|
'vaults/account-summary': 1,
|
|
219
|
+
'vaults/mine': 1,
|
|
220
|
+
'xp/account-balance': 1,
|
|
221
|
+
'xp/transfers': 1,
|
|
222
|
+
// 'points_data/{market}/{program}': 1,
|
|
200
223
|
},
|
|
201
224
|
'post': {
|
|
225
|
+
'account/compliance': 1,
|
|
202
226
|
'account/margin/{market}': 1,
|
|
203
|
-
'account/profile/
|
|
227
|
+
'account/profile/market_max_slippage/{market}': 1,
|
|
228
|
+
'account/profile/notifications': 1,
|
|
229
|
+
'account/profile/notifications/last_seen': 1,
|
|
204
230
|
'account/profile/referral_code': 1,
|
|
231
|
+
'account/profile/refresh_inventory': 1,
|
|
232
|
+
'account/profile/size_currency_display': 1,
|
|
205
233
|
'account/profile/username': 1,
|
|
234
|
+
'account/referrer': 1,
|
|
235
|
+
'account/settings/trading_value_display': 1,
|
|
236
|
+
'account/keys/subkeys/activate': 1,
|
|
237
|
+
'account/keys/subkeys': 1,
|
|
238
|
+
'account/tokens': 1,
|
|
239
|
+
'algo/orders': 1,
|
|
206
240
|
'auth': 1,
|
|
241
|
+
'block-trades': 1,
|
|
242
|
+
'block-trades/{block_trade_id}/execute': 1,
|
|
243
|
+
'block-trades/{block_trade_id}/offers': 1,
|
|
244
|
+
'block-trades/{block_trade_id}/offers/{offer_id}/execute': 1,
|
|
207
245
|
'onboarding': 1,
|
|
208
246
|
'orders': 1,
|
|
209
247
|
'orders/batch': 1,
|
|
210
|
-
'
|
|
248
|
+
'v2/auth': 1,
|
|
249
|
+
'v2/onboarding': 1,
|
|
211
250
|
'vaults': 1,
|
|
251
|
+
'xp/transfer': 1,
|
|
252
|
+
// 'account/profile/max_slippage': 1,
|
|
212
253
|
},
|
|
213
254
|
'put': {
|
|
255
|
+
'account/profile': 1,
|
|
256
|
+
'account/keys/subkeys/{public_key}': 1,
|
|
214
257
|
'orders/{order_id}': 1,
|
|
215
258
|
},
|
|
216
259
|
'delete': {
|
|
260
|
+
'account/keys/subkeys/{public_key}': 1,
|
|
261
|
+
'account/tokens/{lookup_id}': 1,
|
|
262
|
+
'algo/orders/{algo_id}': 1,
|
|
263
|
+
'block-trades/{block_trade_id}': 1,
|
|
264
|
+
'block-trades/{block_trade_id}/offers/{offer_id}': 1,
|
|
217
265
|
'orders': 1,
|
|
266
|
+
'orders/batch': 1,
|
|
218
267
|
'orders/by_client_id/{client_id}': 1,
|
|
219
268
|
'orders/{order_id}': 1,
|
|
220
|
-
'algo/orders/{algo_id}': 1,
|
|
221
269
|
},
|
|
222
270
|
},
|
|
223
271
|
},
|
|
@@ -332,7 +380,9 @@ export default class paradex extends Exchange {
|
|
|
332
380
|
'selfTradePrevention': true,
|
|
333
381
|
'iceberg': false,
|
|
334
382
|
},
|
|
335
|
-
'createOrders':
|
|
383
|
+
'createOrders': {
|
|
384
|
+
'max': 10,
|
|
385
|
+
},
|
|
336
386
|
'fetchMyTrades': {
|
|
337
387
|
'marginMode': false,
|
|
338
388
|
'limit': 100,
|
|
@@ -424,7 +474,7 @@ export default class paradex extends Exchange {
|
|
|
424
474
|
/**
|
|
425
475
|
* @method
|
|
426
476
|
* @name paradex#fetchMarkets
|
|
427
|
-
* @description retrieves data on all markets for
|
|
477
|
+
* @description retrieves data on all markets for paradex
|
|
428
478
|
* @see https://docs.paradex.trade/api/prod/markets/get-markets
|
|
429
479
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
430
480
|
* @returns {object[]} an array of objects representing market data
|
|
@@ -572,6 +622,7 @@ export default class paradex extends Exchange {
|
|
|
572
622
|
else {
|
|
573
623
|
expiry = undefined;
|
|
574
624
|
}
|
|
625
|
+
const expireDatetime = (expiry === 0) ? undefined : this.iso8601(expiry);
|
|
575
626
|
return this.safeMarketStructure({
|
|
576
627
|
'id': marketId,
|
|
577
628
|
'symbol': symbol,
|
|
@@ -595,7 +646,7 @@ export default class paradex extends Exchange {
|
|
|
595
646
|
'maker': makerFee,
|
|
596
647
|
'contractSize': this.parseNumber('1'),
|
|
597
648
|
'expiry': expiry,
|
|
598
|
-
'expiryDatetime':
|
|
649
|
+
'expiryDatetime': expireDatetime,
|
|
599
650
|
'strike': this.parseNumber(strikePrice),
|
|
600
651
|
'optionType': this.safeStringLower(market, 'option_type'),
|
|
601
652
|
'precision': {
|
|
@@ -624,6 +675,122 @@ export default class paradex extends Exchange {
|
|
|
624
675
|
'info': market,
|
|
625
676
|
});
|
|
626
677
|
}
|
|
678
|
+
parseTradingFee(fee, market = undefined) {
|
|
679
|
+
//
|
|
680
|
+
// {
|
|
681
|
+
// "symbol": "BTC-USD-PERP",
|
|
682
|
+
// "fee_config": {
|
|
683
|
+
// "api_fee": {
|
|
684
|
+
// "maker_fee": {
|
|
685
|
+
// "fee": "0.000075",
|
|
686
|
+
// "fee_cap": "0.125",
|
|
687
|
+
// "fee_floor": "-0.125"
|
|
688
|
+
// },
|
|
689
|
+
// "taker_fee": {
|
|
690
|
+
// "fee": "0.000125",
|
|
691
|
+
// "fee_cap": "0.125",
|
|
692
|
+
// "fee_floor": "-0.125"
|
|
693
|
+
// }
|
|
694
|
+
// }
|
|
695
|
+
// }
|
|
696
|
+
// }
|
|
697
|
+
//
|
|
698
|
+
const marketId = this.safeString(fee, 'symbol');
|
|
699
|
+
market = this.safeMarket(marketId, market);
|
|
700
|
+
const feeConfig = this.safeDict(fee, 'fee_config', {});
|
|
701
|
+
const apiFee = this.safeDict(feeConfig, 'api_fee', {});
|
|
702
|
+
const makerFee = this.safeDict(apiFee, 'maker_fee', {});
|
|
703
|
+
const takerFee = this.safeDict(apiFee, 'taker_fee', {});
|
|
704
|
+
return {
|
|
705
|
+
'info': fee,
|
|
706
|
+
'symbol': market['symbol'],
|
|
707
|
+
'maker': this.safeNumber(makerFee, 'fee', this.safeNumber(market, 'maker')),
|
|
708
|
+
'taker': this.safeNumber(takerFee, 'fee', this.safeNumber(market, 'taker')),
|
|
709
|
+
'percentage': true,
|
|
710
|
+
'tierBased': false,
|
|
711
|
+
};
|
|
712
|
+
}
|
|
713
|
+
/**
|
|
714
|
+
* @method
|
|
715
|
+
* @name paradex#fetchTradingFee
|
|
716
|
+
* @description fetch the trading fees for a market
|
|
717
|
+
* @see https://docs.paradex.trade/api/prod/markets/get-markets
|
|
718
|
+
* @param {string} symbol unified market symbol
|
|
719
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
720
|
+
* @returns {object} a [fee structure]{@link https://docs.ccxt.com/?id=fee-structure}
|
|
721
|
+
*/
|
|
722
|
+
async fetchTradingFee(symbol, params = {}) {
|
|
723
|
+
if (symbol === undefined) {
|
|
724
|
+
throw new ArgumentsRequired(this.id + ' fetchTradingFee() requires a symbol argument');
|
|
725
|
+
}
|
|
726
|
+
await this.loadMarkets();
|
|
727
|
+
const market = this.market(symbol);
|
|
728
|
+
const request = {
|
|
729
|
+
'market': market['id'],
|
|
730
|
+
};
|
|
731
|
+
const response = await this.publicGetMarkets(this.extend(request, params));
|
|
732
|
+
//
|
|
733
|
+
// {
|
|
734
|
+
// "results": [
|
|
735
|
+
// {
|
|
736
|
+
// "symbol": "BTC-USD-PERP",
|
|
737
|
+
// "fee_config": {
|
|
738
|
+
// "api_fee": {
|
|
739
|
+
// "maker_fee": {
|
|
740
|
+
// "fee": "0.000075"
|
|
741
|
+
// },
|
|
742
|
+
// "taker_fee": {
|
|
743
|
+
// "fee": "0.000125"
|
|
744
|
+
// }
|
|
745
|
+
// }
|
|
746
|
+
// }
|
|
747
|
+
// }
|
|
748
|
+
// ]
|
|
749
|
+
// }
|
|
750
|
+
//
|
|
751
|
+
const data = this.safeList(response, 'results', []);
|
|
752
|
+
const first = this.safeDict(data, 0, {});
|
|
753
|
+
return this.parseTradingFee(first, market);
|
|
754
|
+
}
|
|
755
|
+
/**
|
|
756
|
+
* @method
|
|
757
|
+
* @name paradex#fetchTradingFees
|
|
758
|
+
* @description fetch the trading fees for multiple markets
|
|
759
|
+
* @see https://docs.paradex.trade/api/prod/markets/get-markets
|
|
760
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
761
|
+
* @returns {object} a dictionary of [fee structures]{@link https://docs.ccxt.com/?id=fee-structure} indexed by market symbols
|
|
762
|
+
*/
|
|
763
|
+
async fetchTradingFees(params = {}) {
|
|
764
|
+
await this.loadMarkets();
|
|
765
|
+
const response = await this.publicGetMarkets(params);
|
|
766
|
+
//
|
|
767
|
+
// {
|
|
768
|
+
// "results": [
|
|
769
|
+
// {
|
|
770
|
+
// "symbol": "BTC-USD-PERP",
|
|
771
|
+
// "fee_config": {
|
|
772
|
+
// "api_fee": {
|
|
773
|
+
// "maker_fee": {
|
|
774
|
+
// "fee": "0.000075"
|
|
775
|
+
// },
|
|
776
|
+
// "taker_fee": {
|
|
777
|
+
// "fee": "0.000125"
|
|
778
|
+
// }
|
|
779
|
+
// }
|
|
780
|
+
// }
|
|
781
|
+
// }
|
|
782
|
+
// ]
|
|
783
|
+
// }
|
|
784
|
+
//
|
|
785
|
+
const fees = this.safeList(response, 'results', []);
|
|
786
|
+
const result = {};
|
|
787
|
+
for (let i = 0; i < fees.length; i++) {
|
|
788
|
+
const fee = this.parseTradingFee(fees[i]);
|
|
789
|
+
const symbol = fee['symbol'];
|
|
790
|
+
result[symbol] = fee;
|
|
791
|
+
}
|
|
792
|
+
return result;
|
|
793
|
+
}
|
|
627
794
|
/**
|
|
628
795
|
* @method
|
|
629
796
|
* @name paradex#fetchOHLCV
|
|
@@ -1325,7 +1492,7 @@ export default class paradex extends Exchange {
|
|
|
1325
1492
|
'GTC': 'GTC',
|
|
1326
1493
|
'POST_ONLY': 'PO',
|
|
1327
1494
|
};
|
|
1328
|
-
return this.safeString(timeInForces, timeInForce
|
|
1495
|
+
return this.safeString(timeInForces, timeInForce);
|
|
1329
1496
|
}
|
|
1330
1497
|
parseOrderStatus(status) {
|
|
1331
1498
|
if (status !== undefined) {
|
|
@@ -1351,30 +1518,7 @@ export default class paradex extends Exchange {
|
|
|
1351
1518
|
scaleNumber(num) {
|
|
1352
1519
|
return Precise.stringMul(num, '100000000');
|
|
1353
1520
|
}
|
|
1354
|
-
|
|
1355
|
-
* @method
|
|
1356
|
-
* @name paradex#createOrder
|
|
1357
|
-
* @description create a trade order
|
|
1358
|
-
* @see https://docs.paradex.trade/api/prod/orders/new
|
|
1359
|
-
* @param {string} symbol unified symbol of the market to create an order in
|
|
1360
|
-
* @param {string} type 'market' or 'limit'
|
|
1361
|
-
* @param {string} side 'buy' or 'sell'
|
|
1362
|
-
* @param {float} amount how much of currency you want to trade in units of base currency
|
|
1363
|
-
* @param {float} [price] the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
|
|
1364
|
-
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
1365
|
-
* @param {float} [params.stopPrice] alias for triggerPrice
|
|
1366
|
-
* @param {float} [params.triggerPrice] The price a trigger order is triggered at
|
|
1367
|
-
* @param {float} [params.stopLossPrice] the price that a stop loss order is triggered at
|
|
1368
|
-
* @param {float} [params.takeProfitPrice] the price that a take profit order is triggered at
|
|
1369
|
-
* @param {string} [params.timeInForce] "GTC", "IOC", or "POST_ONLY"
|
|
1370
|
-
* @param {bool} [params.postOnly] true or false
|
|
1371
|
-
* @param {bool} [params.reduceOnly] Ensures that the executed order does not flip the opened position.
|
|
1372
|
-
* @param {string} [params.clientOrderId] a unique id for the order
|
|
1373
|
-
* @returns {object} an [order structure]{@link https://docs.ccxt.com/?id=order-structure}
|
|
1374
|
-
*/
|
|
1375
|
-
async createOrder(symbol, type, side, amount, price = undefined, params = {}) {
|
|
1376
|
-
await this.authenticateRest();
|
|
1377
|
-
await this.loadMarkets();
|
|
1521
|
+
createOrderRequest(symbol, type, side, amount, price = undefined, params = {}) {
|
|
1378
1522
|
const market = this.market(symbol);
|
|
1379
1523
|
let reduceOnly = this.safeBool2(params, 'reduceOnly', 'reduce_only');
|
|
1380
1524
|
const orderType = type.toUpperCase();
|
|
@@ -1382,7 +1526,8 @@ export default class paradex extends Exchange {
|
|
|
1382
1526
|
const request = {
|
|
1383
1527
|
'market': market['id'],
|
|
1384
1528
|
'side': orderSide,
|
|
1385
|
-
'type': orderType,
|
|
1529
|
+
'type': orderType,
|
|
1530
|
+
'instruction': 'GTC',
|
|
1386
1531
|
};
|
|
1387
1532
|
const triggerPrice = this.safeString2(params, 'triggerPrice', 'stopPrice');
|
|
1388
1533
|
const stopLossPrice = this.safeString(params, 'stopLossPrice');
|
|
@@ -1397,7 +1542,7 @@ export default class paradex extends Exchange {
|
|
|
1397
1542
|
if (postOnly) {
|
|
1398
1543
|
request['instruction'] = 'POST_ONLY';
|
|
1399
1544
|
}
|
|
1400
|
-
else if (timeInForce === '
|
|
1545
|
+
else if (timeInForce === 'IOC') {
|
|
1401
1546
|
request['instruction'] = 'IOC';
|
|
1402
1547
|
}
|
|
1403
1548
|
}
|
|
@@ -1460,32 +1605,77 @@ export default class paradex extends Exchange {
|
|
|
1460
1605
|
];
|
|
1461
1606
|
}
|
|
1462
1607
|
params = this.omit(params, ['reduceOnly', 'reduce_only', 'clOrdID', 'clientOrderId', 'client_order_id', 'postOnly', 'timeInForce', 'stopPrice', 'triggerPrice', 'stopLossPrice', 'takeProfitPrice']);
|
|
1608
|
+
return this.extend(request, params);
|
|
1609
|
+
}
|
|
1610
|
+
async signOrderRequest(request, modify = false) {
|
|
1463
1611
|
const account = await this.retrieveAccount();
|
|
1464
1612
|
const now = this.nonce();
|
|
1613
|
+
const orderType = this.safeString(request, 'type');
|
|
1614
|
+
const isMarket = (orderType.indexOf('MARKET') >= 0);
|
|
1465
1615
|
const orderReq = {
|
|
1466
1616
|
'timestamp': now * 1000,
|
|
1467
1617
|
'market': this.stringToBase16(request['market']),
|
|
1468
|
-
'side': (
|
|
1618
|
+
'side': (request['side'] === 'BUY') ? '1' : '2',
|
|
1469
1619
|
'orderType': this.stringToBase16(request['type']),
|
|
1470
1620
|
'size': this.scaleNumber(request['size']),
|
|
1471
1621
|
'price': (isMarket) ? '0' : this.scaleNumber(request['price']),
|
|
1472
1622
|
};
|
|
1623
|
+
const orderFields = [
|
|
1624
|
+
{ 'name': 'timestamp', 'type': 'felt' },
|
|
1625
|
+
{ 'name': 'market', 'type': 'felt' },
|
|
1626
|
+
{ 'name': 'side', 'type': 'felt' },
|
|
1627
|
+
{ 'name': 'orderType', 'type': 'felt' },
|
|
1628
|
+
{ 'name': 'size', 'type': 'felt' },
|
|
1629
|
+
{ 'name': 'price', 'type': 'felt' },
|
|
1630
|
+
];
|
|
1631
|
+
let messageTypes = {};
|
|
1632
|
+
if (modify) {
|
|
1633
|
+
orderReq['id'] = request['id'];
|
|
1634
|
+
orderFields.push({ 'name': 'id', 'type': 'felt' });
|
|
1635
|
+
messageTypes = {
|
|
1636
|
+
'ModifyOrder': orderFields,
|
|
1637
|
+
};
|
|
1638
|
+
}
|
|
1639
|
+
else {
|
|
1640
|
+
messageTypes = {
|
|
1641
|
+
'Order': orderFields,
|
|
1642
|
+
};
|
|
1643
|
+
}
|
|
1473
1644
|
const domain = await this.prepareParadexDomain();
|
|
1474
|
-
const messageTypes = {
|
|
1475
|
-
'Order': [
|
|
1476
|
-
{ 'name': 'timestamp', 'type': 'felt' },
|
|
1477
|
-
{ 'name': 'market', 'type': 'felt' },
|
|
1478
|
-
{ 'name': 'side', 'type': 'felt' },
|
|
1479
|
-
{ 'name': 'orderType', 'type': 'felt' },
|
|
1480
|
-
{ 'name': 'size', 'type': 'felt' },
|
|
1481
|
-
{ 'name': 'price', 'type': 'felt' },
|
|
1482
|
-
],
|
|
1483
|
-
};
|
|
1484
1645
|
const msg = this.starknetEncodeStructuredData(domain, messageTypes, orderReq, account['address']);
|
|
1485
1646
|
const signature = this.starknetSign(msg, account['privateKey']);
|
|
1486
1647
|
request['signature'] = signature;
|
|
1487
1648
|
request['signature_timestamp'] = orderReq['timestamp'];
|
|
1488
|
-
|
|
1649
|
+
return request;
|
|
1650
|
+
}
|
|
1651
|
+
/**
|
|
1652
|
+
* @method
|
|
1653
|
+
* @name paradex#createOrder
|
|
1654
|
+
* @description create a trade order
|
|
1655
|
+
* @see https://docs.paradex.trade/api/prod/orders/new
|
|
1656
|
+
* @param {string} symbol unified symbol of the market to create an order in
|
|
1657
|
+
* @param {string} type 'market' or 'limit'
|
|
1658
|
+
* @param {string} side 'buy' or 'sell'
|
|
1659
|
+
* @param {float} amount how much of currency you want to trade in units of base currency
|
|
1660
|
+
* @param {float} [price] the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
|
|
1661
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
1662
|
+
* @param {float} [params.stopPrice] alias for triggerPrice
|
|
1663
|
+
* @param {float} [params.triggerPrice] The price a trigger order is triggered at
|
|
1664
|
+
* @param {float} [params.stopLossPrice] the price that a stop loss order is triggered at
|
|
1665
|
+
* @param {float} [params.takeProfitPrice] the price that a take profit order is triggered at
|
|
1666
|
+
* @param {string} [params.timeInForce] "GTC", "IOC", or "POST_ONLY"
|
|
1667
|
+
* @param {bool} [params.postOnly] true or false
|
|
1668
|
+
* @param {bool} [params.reduceOnly] Ensures that the executed order does not flip the opened position.
|
|
1669
|
+
* @param {string} [params.clientOrderId] a unique id for the order
|
|
1670
|
+
* @returns {object} an [order structure]{@link https://docs.ccxt.com/?id=order-structure}
|
|
1671
|
+
*/
|
|
1672
|
+
async createOrder(symbol, type, side, amount, price = undefined, params = {}) {
|
|
1673
|
+
await this.authenticateRest();
|
|
1674
|
+
await this.loadMarkets();
|
|
1675
|
+
const market = this.market(symbol);
|
|
1676
|
+
let request = this.createOrderRequest(symbol, type, side, amount, price, params);
|
|
1677
|
+
request = await this.signOrderRequest(request);
|
|
1678
|
+
const response = await this.privatePostOrders(request);
|
|
1489
1679
|
//
|
|
1490
1680
|
// {
|
|
1491
1681
|
// "account": "0x4638e3041366aa71720be63e32e53e1223316c7f0d56f7aa617542ed1e7512x",
|
|
@@ -1517,6 +1707,134 @@ export default class paradex extends Exchange {
|
|
|
1517
1707
|
const order = this.parseOrder(response, market);
|
|
1518
1708
|
return order;
|
|
1519
1709
|
}
|
|
1710
|
+
/**
|
|
1711
|
+
* @method
|
|
1712
|
+
* @name paradex#editOrder
|
|
1713
|
+
* @description edit an open limit order or TPSL order
|
|
1714
|
+
* @see https://docs.paradex.trade/api-reference/prod/orders/modify
|
|
1715
|
+
* @param {string} id order id
|
|
1716
|
+
* @param {string} symbol unified symbol of the market to edit an order in
|
|
1717
|
+
* @param {string} type 'limit' or a TPSL order type
|
|
1718
|
+
* @param {string} side 'buy' or 'sell'
|
|
1719
|
+
* @param {float} amount how much of the currency you want to trade in units of the base currency
|
|
1720
|
+
* @param {float} price the price at which the order is to be fulfilled, in units of the quote currency
|
|
1721
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
1722
|
+
* @param {float} [params.stopPrice] alias for triggerPrice
|
|
1723
|
+
* @param {float} [params.triggerPrice] The price a trigger order is triggered at
|
|
1724
|
+
* @returns {object} an [order structure]{@link https://docs.ccxt.com/?id=order-structure}
|
|
1725
|
+
*/
|
|
1726
|
+
async editOrder(id, symbol, type, side, amount = undefined, price = undefined, params = {}) {
|
|
1727
|
+
if (amount === undefined) {
|
|
1728
|
+
throw new ArgumentsRequired(this.id + ' editOrder() requires an amount argument');
|
|
1729
|
+
}
|
|
1730
|
+
if (price === undefined) {
|
|
1731
|
+
throw new ArgumentsRequired(this.id + ' editOrder() requires a price argument');
|
|
1732
|
+
}
|
|
1733
|
+
await this.authenticateRest();
|
|
1734
|
+
await this.loadMarkets();
|
|
1735
|
+
const market = this.market(symbol);
|
|
1736
|
+
let request = this.createOrderRequest(symbol, type, side, amount, price, params);
|
|
1737
|
+
request = this.omit(request, ['instruction', 'client_id', 'flags']);
|
|
1738
|
+
request['order_id'] = id;
|
|
1739
|
+
request['id'] = id;
|
|
1740
|
+
request = await this.signOrderRequest(request, true);
|
|
1741
|
+
const response = await this.privatePutOrdersOrderId(request);
|
|
1742
|
+
//
|
|
1743
|
+
// {
|
|
1744
|
+
// "account": "0x4638e3041366aa71720be63e32e53e1223316c7f0d56f7aa617542ed1e7512x",
|
|
1745
|
+
// "avg_fill_price": "26000",
|
|
1746
|
+
// "cancel_reason": "NOT_ENOUGH_MARGIN",
|
|
1747
|
+
// "client_id": "x1234",
|
|
1748
|
+
// "created_at": 1681493746016,
|
|
1749
|
+
// "flags": [
|
|
1750
|
+
// "REDUCE_ONLY"
|
|
1751
|
+
// ],
|
|
1752
|
+
// "id": "123456",
|
|
1753
|
+
// "instruction": "GTC",
|
|
1754
|
+
// "last_updated_at": 1681493746016,
|
|
1755
|
+
// "market": "BTC-USD-PERP",
|
|
1756
|
+
// "price": "26000",
|
|
1757
|
+
// "published_at": 1681493746016,
|
|
1758
|
+
// "received_at": 1681493746016,
|
|
1759
|
+
// "remaining_size": "0",
|
|
1760
|
+
// "request_info": {
|
|
1761
|
+
// "id": "string",
|
|
1762
|
+
// "message": "string",
|
|
1763
|
+
// "request_type": "string",
|
|
1764
|
+
// "status": "string"
|
|
1765
|
+
// },
|
|
1766
|
+
// "seq_no": 1681471234972000000,
|
|
1767
|
+
// "side": "BUY",
|
|
1768
|
+
// "size": "0.05",
|
|
1769
|
+
// "status": "NEW",
|
|
1770
|
+
// "stp": "EXPIRE_MAKER",
|
|
1771
|
+
// "timestamp": 1681493746016,
|
|
1772
|
+
// "trigger_price": "26000",
|
|
1773
|
+
// "type": "MARKET"
|
|
1774
|
+
// }
|
|
1775
|
+
//
|
|
1776
|
+
return this.parseOrder(response, market);
|
|
1777
|
+
}
|
|
1778
|
+
/**
|
|
1779
|
+
* @method
|
|
1780
|
+
* @name paradex#createOrders
|
|
1781
|
+
* @description create a list of trade orders
|
|
1782
|
+
* @see https://docs.paradex.trade/api/prod/orders/batch
|
|
1783
|
+
* @param {Array} orders list of orders to create, each object should contain the parameters required by createOrder, namely symbol, type, side, amount, price and params
|
|
1784
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
1785
|
+
* @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/?id=order-structure}
|
|
1786
|
+
*/
|
|
1787
|
+
async createOrders(orders, params = {}) {
|
|
1788
|
+
await this.authenticateRest();
|
|
1789
|
+
await this.loadMarkets();
|
|
1790
|
+
const ordersRequests = [];
|
|
1791
|
+
for (let i = 0; i < orders.length; i++) {
|
|
1792
|
+
const rawOrder = orders[i];
|
|
1793
|
+
const symbol = this.safeString(rawOrder, 'symbol');
|
|
1794
|
+
const type = this.safeString(rawOrder, 'type');
|
|
1795
|
+
const side = this.safeString(rawOrder, 'side');
|
|
1796
|
+
const amount = this.safeNumber(rawOrder, 'amount');
|
|
1797
|
+
const price = this.safeNumber(rawOrder, 'price');
|
|
1798
|
+
const orderParams = this.safeDict(rawOrder, 'params', {});
|
|
1799
|
+
const extendedParams = this.extend(params, orderParams);
|
|
1800
|
+
let orderRequest = this.createOrderRequest(symbol, type, side, amount, price, extendedParams);
|
|
1801
|
+
orderRequest = await this.signOrderRequest(orderRequest);
|
|
1802
|
+
ordersRequests.push(orderRequest);
|
|
1803
|
+
}
|
|
1804
|
+
const response = await this.privatePostOrdersBatch(ordersRequests);
|
|
1805
|
+
//
|
|
1806
|
+
// {
|
|
1807
|
+
// "errors": [
|
|
1808
|
+
// {
|
|
1809
|
+
// "error": "VALIDATION_ERROR",
|
|
1810
|
+
// "message": "Invalid order"
|
|
1811
|
+
// }
|
|
1812
|
+
// ],
|
|
1813
|
+
// "orders": [
|
|
1814
|
+
// {
|
|
1815
|
+
// "id": "123456",
|
|
1816
|
+
// "market": "BTC-USD-PERP",
|
|
1817
|
+
// "side": "BUY",
|
|
1818
|
+
// "type": "LIMIT",
|
|
1819
|
+
// "price": "26000",
|
|
1820
|
+
// "size": "0.05",
|
|
1821
|
+
// "status": "NEW"
|
|
1822
|
+
// }
|
|
1823
|
+
// ]
|
|
1824
|
+
// }
|
|
1825
|
+
//
|
|
1826
|
+
const responseOrders = this.safeList(response, 'orders', []);
|
|
1827
|
+
const parsedOrders = this.parseOrders(responseOrders);
|
|
1828
|
+
const errors = this.safeList(response, 'errors', []);
|
|
1829
|
+
for (let i = 0; i < errors.length; i++) {
|
|
1830
|
+
const error = errors[i];
|
|
1831
|
+
parsedOrders.push(this.safeOrder({
|
|
1832
|
+
'info': error,
|
|
1833
|
+
'status': 'rejected',
|
|
1834
|
+
}));
|
|
1835
|
+
}
|
|
1836
|
+
return parsedOrders;
|
|
1837
|
+
}
|
|
1520
1838
|
/**
|
|
1521
1839
|
* @method
|
|
1522
1840
|
* @name paradex#cancelOrder
|
|
@@ -1548,6 +1866,86 @@ export default class paradex extends Exchange {
|
|
|
1548
1866
|
//
|
|
1549
1867
|
return this.parseOrder(response);
|
|
1550
1868
|
}
|
|
1869
|
+
/**
|
|
1870
|
+
* @method
|
|
1871
|
+
* @name paradex#cancelOrders
|
|
1872
|
+
* @description cancel multiple orders
|
|
1873
|
+
* @see https://docs.paradex.trade/api/prod/orders/cancel-batch
|
|
1874
|
+
* @param {string[]} ids order ids
|
|
1875
|
+
* @param {string} [symbol] unified market symbol, not used by paradex cancelOrders()
|
|
1876
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
1877
|
+
* @param {string[]} [params.clientOrderIds] client order ids
|
|
1878
|
+
* @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/?id=order-structure}
|
|
1879
|
+
*/
|
|
1880
|
+
async cancelOrders(ids, symbol = undefined, params = {}) {
|
|
1881
|
+
await this.authenticateRest();
|
|
1882
|
+
await this.loadMarkets();
|
|
1883
|
+
const clientOrderIds = this.safeListN(params, ['clOrdIDs', 'clientOrderIds', 'client_order_ids']);
|
|
1884
|
+
params = this.omit(params, ['clOrdIDs', 'clientOrderIds', 'client_order_ids']);
|
|
1885
|
+
const hasOrderIds = (ids !== undefined) && (Array.isArray(ids));
|
|
1886
|
+
const hasClientOrderIds = (clientOrderIds !== undefined) && (Array.isArray(clientOrderIds));
|
|
1887
|
+
if (!hasOrderIds && !hasClientOrderIds) {
|
|
1888
|
+
throw new ArgumentsRequired(this.id + ' cancelOrders() requires a non-empty ids argument or a non-empty clientOrderIds parameter');
|
|
1889
|
+
}
|
|
1890
|
+
const request = {};
|
|
1891
|
+
if (hasOrderIds) {
|
|
1892
|
+
request['order_ids'] = ids;
|
|
1893
|
+
}
|
|
1894
|
+
if (hasClientOrderIds) {
|
|
1895
|
+
request['client_order_ids'] = clientOrderIds;
|
|
1896
|
+
}
|
|
1897
|
+
const response = await this.privateDeleteOrdersBatch(this.extend(request, params));
|
|
1898
|
+
//
|
|
1899
|
+
// {
|
|
1900
|
+
// "results": [
|
|
1901
|
+
// {
|
|
1902
|
+
// "id": "order-id-1",
|
|
1903
|
+
// "client_id": "client-id-X",
|
|
1904
|
+
// "account": "account-1",
|
|
1905
|
+
// "market": "BTC-USD-PERP",
|
|
1906
|
+
// "status": "QUEUED_FOR_CANCELLATION"
|
|
1907
|
+
// },
|
|
1908
|
+
// {
|
|
1909
|
+
// "id": "order-id-2",
|
|
1910
|
+
// "client_id": "client-id-Y",
|
|
1911
|
+
// "account": "account-1",
|
|
1912
|
+
// "market": "ETH-USD-PERP",
|
|
1913
|
+
// "status": "ALREADY_CLOSED"
|
|
1914
|
+
// },
|
|
1915
|
+
// {
|
|
1916
|
+
// "client_id": "client-id-2",
|
|
1917
|
+
// "status": "NOT_FOUND"
|
|
1918
|
+
// }
|
|
1919
|
+
// ]
|
|
1920
|
+
// }
|
|
1921
|
+
//
|
|
1922
|
+
const results = this.safeList(response, 'results', []);
|
|
1923
|
+
const orders = [];
|
|
1924
|
+
for (let i = 0; i < results.length; i++) {
|
|
1925
|
+
const result = results[i];
|
|
1926
|
+
const marketId = this.safeString(result, 'market');
|
|
1927
|
+
const market = this.safeMarket(marketId, undefined);
|
|
1928
|
+
const status = this.safeString(result, 'status');
|
|
1929
|
+
let orderStatus = undefined;
|
|
1930
|
+
if (status === 'QUEUED_FOR_CANCELLATION') {
|
|
1931
|
+
orderStatus = 'canceled';
|
|
1932
|
+
}
|
|
1933
|
+
else if (status === 'ALREADY_CLOSED') {
|
|
1934
|
+
orderStatus = 'closed';
|
|
1935
|
+
}
|
|
1936
|
+
else if (status === 'NOT_FOUND') {
|
|
1937
|
+
orderStatus = 'rejected';
|
|
1938
|
+
}
|
|
1939
|
+
orders.push(this.safeOrder({
|
|
1940
|
+
'info': result,
|
|
1941
|
+
'id': this.safeString(result, 'id'),
|
|
1942
|
+
'clientOrderId': this.safeString(result, 'client_id'),
|
|
1943
|
+
'status': orderStatus,
|
|
1944
|
+
'symbol': market['symbol'],
|
|
1945
|
+
}, market));
|
|
1946
|
+
}
|
|
1947
|
+
return orders;
|
|
1948
|
+
}
|
|
1551
1949
|
/**
|
|
1552
1950
|
* @method
|
|
1553
1951
|
* @name paradex#cancelAllOrders
|
|
@@ -1983,18 +2381,19 @@ export default class paradex extends Exchange {
|
|
|
1983
2381
|
}
|
|
1984
2382
|
/**
|
|
1985
2383
|
* @method
|
|
1986
|
-
* @name paradex#
|
|
1987
|
-
* @description retrieves the
|
|
2384
|
+
* @name paradex#fetchMyLiquidations
|
|
2385
|
+
* @description retrieves the users liquidated positions
|
|
1988
2386
|
* @see https://docs.paradex.trade/api/prod/liquidations/get-liquidations
|
|
1989
|
-
* @param {string} symbol unified CCXT market symbol
|
|
2387
|
+
* @param {string} [symbol] unified CCXT market symbol
|
|
1990
2388
|
* @param {int} [since] the earliest time in ms to fetch liquidations for
|
|
1991
2389
|
* @param {int} [limit] the maximum number of liquidation structures to retrieve
|
|
1992
|
-
* @param {object} [params] exchange specific parameters
|
|
2390
|
+
* @param {object} [params] exchange specific parameters
|
|
1993
2391
|
* @param {int} [params.until] timestamp in ms of the latest liquidation
|
|
1994
2392
|
* @returns {object} an array of [liquidation structures]{@link https://docs.ccxt.com/?id=liquidation-structure}
|
|
1995
2393
|
*/
|
|
1996
|
-
async
|
|
2394
|
+
async fetchMyLiquidations(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
1997
2395
|
await this.authenticateRest();
|
|
2396
|
+
await this.loadMarkets();
|
|
1998
2397
|
let request = {};
|
|
1999
2398
|
if (since !== undefined) {
|
|
2000
2399
|
request['from'] = since;
|
|
@@ -2002,7 +2401,10 @@ export default class paradex extends Exchange {
|
|
|
2002
2401
|
else {
|
|
2003
2402
|
request['from'] = 1;
|
|
2004
2403
|
}
|
|
2005
|
-
|
|
2404
|
+
let market = undefined;
|
|
2405
|
+
if (symbol !== undefined) {
|
|
2406
|
+
market = this.market(symbol);
|
|
2407
|
+
}
|
|
2006
2408
|
[request, params] = this.handleUntilOption('to', request, params);
|
|
2007
2409
|
const response = await this.privateGetLiquidations(this.extend(request, params));
|
|
2008
2410
|
//
|
|
@@ -2028,7 +2430,7 @@ export default class paradex extends Exchange {
|
|
|
2028
2430
|
const timestamp = this.safeInteger(liquidation, 'created_at');
|
|
2029
2431
|
return this.safeLiquidation({
|
|
2030
2432
|
'info': liquidation,
|
|
2031
|
-
'symbol':
|
|
2433
|
+
'symbol': this.safeString(market, 'symbol'),
|
|
2032
2434
|
'contracts': undefined,
|
|
2033
2435
|
'contractSize': undefined,
|
|
2034
2436
|
'price': undefined,
|
|
@@ -2041,7 +2443,7 @@ export default class paradex extends Exchange {
|
|
|
2041
2443
|
}
|
|
2042
2444
|
/**
|
|
2043
2445
|
* @method
|
|
2044
|
-
* @name paradex#
|
|
2446
|
+
* @name paradex#fetchDeposits
|
|
2045
2447
|
* @description fetch all deposits made to an account
|
|
2046
2448
|
* @see https://docs.paradex.trade/api/prod/transfers/get
|
|
2047
2449
|
* @param {string} code unified currency code
|
|
@@ -2049,7 +2451,7 @@ export default class paradex extends Exchange {
|
|
|
2049
2451
|
* @param {int} [limit] the maximum number of deposits structures to retrieve
|
|
2050
2452
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
2051
2453
|
* @param {int} [params.until] the latest time in ms to fetch entries for
|
|
2052
|
-
* @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [
|
|
2454
|
+
* @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [available parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
|
|
2053
2455
|
* @returns {object[]} a list of [transaction structures]{@link https://docs.ccxt.com/?id=transaction-structure}
|
|
2054
2456
|
*/
|
|
2055
2457
|
async fetchDeposits(code = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -2110,7 +2512,7 @@ export default class paradex extends Exchange {
|
|
|
2110
2512
|
* @param {int} [limit] the maximum number of withdrawals structures to retrieve
|
|
2111
2513
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
2112
2514
|
* @param {int} [params.until] the latest time in ms to fetch withdrawals for
|
|
2113
|
-
* @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [
|
|
2515
|
+
* @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [available parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
|
|
2114
2516
|
* @returns {object[]} a list of [transaction structures]{@link https://docs.ccxt.com/?id=transaction-structure}
|
|
2115
2517
|
*/
|
|
2116
2518
|
async fetchWithdrawals(code = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -2161,6 +2563,106 @@ export default class paradex extends Exchange {
|
|
|
2161
2563
|
}
|
|
2162
2564
|
return this.parseTransactions(deposits, undefined, since, limit);
|
|
2163
2565
|
}
|
|
2566
|
+
/**
|
|
2567
|
+
* @method
|
|
2568
|
+
* @name paradex#fetchTransfers
|
|
2569
|
+
* @description fetch a history of transfers made on an account
|
|
2570
|
+
* @see https://docs.paradex.trade/api/prod/transfers/get
|
|
2571
|
+
* @param {string} code unified currency code
|
|
2572
|
+
* @param {int} [since] the earliest time in ms to fetch transfers for
|
|
2573
|
+
* @param {int} [limit] the maximum number of transfer structures to retrieve
|
|
2574
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
2575
|
+
* @param {int} [params.until] the latest time in ms to fetch entries for
|
|
2576
|
+
* @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [availble parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
|
|
2577
|
+
* @returns {object[]} a list of [transfer structures]{@link https://docs.ccxt.com/?id=transfer-structure}
|
|
2578
|
+
*/
|
|
2579
|
+
async fetchTransfers(code = undefined, since = undefined, limit = undefined, params = {}) {
|
|
2580
|
+
await this.authenticateRest();
|
|
2581
|
+
await this.loadMarkets();
|
|
2582
|
+
let paginate = false;
|
|
2583
|
+
[paginate, params] = this.handleOptionAndParams(params, 'fetchTransfers', 'paginate');
|
|
2584
|
+
if (paginate) {
|
|
2585
|
+
return await this.fetchPaginatedCallCursor('fetchTransfers', code, since, limit, params, 'next', 'cursor', undefined, 100);
|
|
2586
|
+
}
|
|
2587
|
+
let request = {};
|
|
2588
|
+
let currency = undefined;
|
|
2589
|
+
if (code !== undefined) {
|
|
2590
|
+
currency = this.safeCurrency(code);
|
|
2591
|
+
}
|
|
2592
|
+
if (limit !== undefined) {
|
|
2593
|
+
request['page_size'] = limit;
|
|
2594
|
+
}
|
|
2595
|
+
if (since !== undefined) {
|
|
2596
|
+
request['start_at'] = since;
|
|
2597
|
+
}
|
|
2598
|
+
[request, params] = this.handleUntilOption('end_at', request, params);
|
|
2599
|
+
const response = await this.privateGetTransfers(this.extend(request, params));
|
|
2600
|
+
//
|
|
2601
|
+
// {
|
|
2602
|
+
// "next": null,
|
|
2603
|
+
// "prev": null,
|
|
2604
|
+
// "results": [
|
|
2605
|
+
// {
|
|
2606
|
+
// "id": "1718940471200201703989430000",
|
|
2607
|
+
// "account": "0x49ddd7a564c978f6e4089ff8355b56a42b7e2d48ba282cb5aad60f04bea0ec3",
|
|
2608
|
+
// "kind": "DEPOSIT",
|
|
2609
|
+
// "status": "COMPLETED",
|
|
2610
|
+
// "amount": "100000",
|
|
2611
|
+
// "token": "USDC",
|
|
2612
|
+
// "created_at": 1718940471208,
|
|
2613
|
+
// "last_updated_at": 1718941455546,
|
|
2614
|
+
// "txn_hash": "0x73a415ca558a97bbdcd1c43e52b45f1e0486a0a84b3bb4958035ad6c59cb866",
|
|
2615
|
+
// "external_txn_hash": "",
|
|
2616
|
+
// "socialized_loss_factor": ""
|
|
2617
|
+
// }
|
|
2618
|
+
// ]
|
|
2619
|
+
// }
|
|
2620
|
+
//
|
|
2621
|
+
const rows = this.safeList(response, 'results', []);
|
|
2622
|
+
return this.parseTransfers(rows, currency, since, limit);
|
|
2623
|
+
}
|
|
2624
|
+
parseTransfer(transfer, currency = undefined) {
|
|
2625
|
+
//
|
|
2626
|
+
// {
|
|
2627
|
+
// "id": "1718940471200201703989430000",
|
|
2628
|
+
// "account": "0x49ddd7a564c978f6e4089ff8355b56a42b7e2d48ba282cb5aad60f04bea0ec3",
|
|
2629
|
+
// "kind": "DEPOSIT",
|
|
2630
|
+
// "status": "COMPLETED",
|
|
2631
|
+
// "amount": "100000",
|
|
2632
|
+
// "token": "USDC",
|
|
2633
|
+
// "created_at": 1718940471208,
|
|
2634
|
+
// "last_updated_at": 1718941455546,
|
|
2635
|
+
// "txn_hash": "0x73a415ca558a97bbdcd1c43e52b45f1e0486a0a84b3bb4958035ad6c59cb866",
|
|
2636
|
+
// "external_txn_hash": "",
|
|
2637
|
+
// "socialized_loss_factor": ""
|
|
2638
|
+
// }
|
|
2639
|
+
//
|
|
2640
|
+
const currencyId = this.safeString(transfer, 'token');
|
|
2641
|
+
const code = this.safeCurrencyCode(currencyId, currency);
|
|
2642
|
+
const timestamp = this.safeInteger(transfer, 'created_at');
|
|
2643
|
+
const kind = this.safeString(transfer, 'kind');
|
|
2644
|
+
let fromAccount = undefined;
|
|
2645
|
+
let toAccount = undefined;
|
|
2646
|
+
if (kind === 'DEPOSIT') {
|
|
2647
|
+
fromAccount = 'external';
|
|
2648
|
+
toAccount = 'account';
|
|
2649
|
+
}
|
|
2650
|
+
else if (kind === 'WITHDRAWAL') {
|
|
2651
|
+
fromAccount = 'account';
|
|
2652
|
+
toAccount = 'external';
|
|
2653
|
+
}
|
|
2654
|
+
return {
|
|
2655
|
+
'info': transfer,
|
|
2656
|
+
'id': this.safeString(transfer, 'id'),
|
|
2657
|
+
'timestamp': timestamp,
|
|
2658
|
+
'datetime': this.iso8601(timestamp),
|
|
2659
|
+
'currency': code,
|
|
2660
|
+
'amount': this.safeNumber(transfer, 'amount'),
|
|
2661
|
+
'fromAccount': fromAccount,
|
|
2662
|
+
'toAccount': toAccount,
|
|
2663
|
+
'status': this.parseTransactionStatus(this.safeString(transfer, 'status')),
|
|
2664
|
+
};
|
|
2665
|
+
}
|
|
2164
2666
|
parseTransaction(transaction, currency = undefined) {
|
|
2165
2667
|
//
|
|
2166
2668
|
// fetchDeposits & fetchWithdrawals
|
|
@@ -2532,6 +3034,91 @@ export default class paradex extends Exchange {
|
|
|
2532
3034
|
'info': greeks,
|
|
2533
3035
|
};
|
|
2534
3036
|
}
|
|
3037
|
+
/**
|
|
3038
|
+
* @method
|
|
3039
|
+
* @name paradex#fetchFundingHistory
|
|
3040
|
+
* @description fetch the history of funding payments paid and received on this account
|
|
3041
|
+
* @see https://docs.paradex.trade/api/prod/account/get-funding
|
|
3042
|
+
* @param {string} symbol unified market symbol
|
|
3043
|
+
* @param {int} [since] the earliest time in ms to fetch funding history for
|
|
3044
|
+
* @param {int} [limit] the maximum number of funding history structures to retrieve
|
|
3045
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
3046
|
+
* @param {string} [params.cursor] returns the next paginated page
|
|
3047
|
+
* @param {int} [params.until] the latest time in ms to fetch entries for
|
|
3048
|
+
* @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [available parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
|
|
3049
|
+
* @returns {object[]} a list of [funding history structures]{@link https://docs.ccxt.com/?id=funding-history-structure}
|
|
3050
|
+
*/
|
|
3051
|
+
async fetchFundingHistory(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
3052
|
+
if (symbol === undefined) {
|
|
3053
|
+
throw new ArgumentsRequired(this.id + ' fetchFundingHistory() requires a symbol argument');
|
|
3054
|
+
}
|
|
3055
|
+
await this.authenticateRest();
|
|
3056
|
+
await this.loadMarkets();
|
|
3057
|
+
let paginate = false;
|
|
3058
|
+
[paginate, params] = this.handleOptionAndParams(params, 'fetchFundingHistory', 'paginate');
|
|
3059
|
+
if (paginate) {
|
|
3060
|
+
return await this.fetchPaginatedCallCursor('fetchFundingHistory', symbol, since, limit, params, 'next', 'cursor', undefined, 100);
|
|
3061
|
+
}
|
|
3062
|
+
const market = this.market(symbol);
|
|
3063
|
+
let request = {
|
|
3064
|
+
'market': market['id'],
|
|
3065
|
+
};
|
|
3066
|
+
if (limit !== undefined) {
|
|
3067
|
+
request['page_size'] = Math.min(limit, 5000);
|
|
3068
|
+
}
|
|
3069
|
+
else {
|
|
3070
|
+
request['page_size'] = 100;
|
|
3071
|
+
}
|
|
3072
|
+
if (since !== undefined) {
|
|
3073
|
+
request['start_at'] = since;
|
|
3074
|
+
}
|
|
3075
|
+
[request, params] = this.handleUntilOption('end_at', request, params);
|
|
3076
|
+
const response = await this.privateGetFundingPayments(this.extend(request, params));
|
|
3077
|
+
//
|
|
3078
|
+
// {
|
|
3079
|
+
// "next": "eyJmaWx0ZXIiMsIm1hcmtlciI6eyJtYXJrZXIiOiIxNjc1NjUwMDE3NDMxMTAxNjk5N=",
|
|
3080
|
+
// "prev": "eyJmaWx0ZXIiOnsiTGltaXQiOjkwfSwidGltZSI6MTY4MTY3OTgzNzk3MTMwOTk1MywibWFya2VyIjp7Im1zMjExMD==",
|
|
3081
|
+
// "results": [
|
|
3082
|
+
// {
|
|
3083
|
+
// "account": "string",
|
|
3084
|
+
// "created_at": 1681375481000,
|
|
3085
|
+
// "fill_id": "8615262148007718462",
|
|
3086
|
+
// "id": "1681375578221101699352320000",
|
|
3087
|
+
// "index": "-2819.53434361",
|
|
3088
|
+
// "market": "BTC-USD-PERP",
|
|
3089
|
+
// "payment": "34.4490622"
|
|
3090
|
+
// }
|
|
3091
|
+
// ]
|
|
3092
|
+
// }
|
|
3093
|
+
//
|
|
3094
|
+
const results = this.safeList(response, 'results', []);
|
|
3095
|
+
return this.parseIncomes(results, market, since, limit);
|
|
3096
|
+
}
|
|
3097
|
+
parseIncome(income, market = undefined) {
|
|
3098
|
+
//
|
|
3099
|
+
// {
|
|
3100
|
+
// "account": "string",
|
|
3101
|
+
// "created_at": 1681375481000,
|
|
3102
|
+
// "fill_id": "8615262148007718462",
|
|
3103
|
+
// "id": "1681375578221101699352320000",
|
|
3104
|
+
// "index": "-2819.53434361",
|
|
3105
|
+
// "market": "BTC-USD-PERP",
|
|
3106
|
+
// "payment": "34.4490622"
|
|
3107
|
+
// }
|
|
3108
|
+
//
|
|
3109
|
+
const marketId = this.safeString(income, 'market');
|
|
3110
|
+
market = this.safeMarket(marketId, market);
|
|
3111
|
+
const timestamp = this.safeInteger(income, 'created_at');
|
|
3112
|
+
return {
|
|
3113
|
+
'info': income,
|
|
3114
|
+
'symbol': market['symbol'],
|
|
3115
|
+
'code': market['settle'],
|
|
3116
|
+
'timestamp': timestamp,
|
|
3117
|
+
'datetime': this.iso8601(timestamp),
|
|
3118
|
+
'id': this.safeString(income, 'id'),
|
|
3119
|
+
'amount': this.safeNumber(income, 'payment'),
|
|
3120
|
+
};
|
|
3121
|
+
}
|
|
2535
3122
|
/**
|
|
2536
3123
|
* @method
|
|
2537
3124
|
* @name paradex#fetchFundingRateHistory
|
|
@@ -2603,7 +3190,12 @@ export default class paradex extends Exchange {
|
|
|
2603
3190
|
return this.filterBySymbolSinceLimit(sorted, market['symbol'], since, limit);
|
|
2604
3191
|
}
|
|
2605
3192
|
sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
|
|
2606
|
-
let
|
|
3193
|
+
let version = this.version;
|
|
3194
|
+
if (path.indexOf('v2/') === 0) {
|
|
3195
|
+
version = 'v2';
|
|
3196
|
+
path = path.replace('v2/', '');
|
|
3197
|
+
}
|
|
3198
|
+
let url = this.implodeHostname(this.urls['api'][version]) + '/' + this.implodeParams(path, params);
|
|
2607
3199
|
const query = this.omit(params, this.extractParams(path));
|
|
2608
3200
|
if (api === 'public') {
|
|
2609
3201
|
if (Object.keys(query).length) {
|
|
@@ -2635,7 +3227,7 @@ export default class paradex extends Exchange {
|
|
|
2635
3227
|
else {
|
|
2636
3228
|
const token = this.options['authToken'];
|
|
2637
3229
|
headers['Authorization'] = 'Bearer ' + token;
|
|
2638
|
-
if (method === 'POST') {
|
|
3230
|
+
if ((method === 'POST') || (method === 'PUT') || ((method === 'DELETE') && (path === 'orders/batch'))) {
|
|
2639
3231
|
headers['Content-Type'] = 'application/json';
|
|
2640
3232
|
body = this.json(query);
|
|
2641
3233
|
}
|