ccxt 4.5.7 → 4.5.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/dist/ccxt.browser.min.js +3 -3
- package/dist/cjs/ccxt.js +2 -7
- package/dist/cjs/src/abstract/alpaca.js +1 -1
- package/dist/cjs/src/abstract/apex.js +1 -1
- package/dist/cjs/src/abstract/ascendex.js +1 -1
- package/dist/cjs/src/abstract/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/btcalpha.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/bybit.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/coincatch.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/defx.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/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/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/kucoinfutures.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/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/oceanex.js +1 -1
- package/dist/cjs/src/abstract/okcoin.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/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/probit.js +1 -1
- package/dist/cjs/src/abstract/timex.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/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/zonda.js +1 -1
- package/dist/cjs/src/alpaca.js +1 -1
- package/dist/cjs/src/apex.js +1 -1
- package/dist/cjs/src/ascendex.js +1 -1
- package/dist/cjs/src/backpack.js +22 -4
- package/dist/cjs/src/base/Exchange.js +33 -11
- package/dist/cjs/src/base/Precise.js +6 -0
- package/dist/cjs/src/base/errors.js +6 -0
- package/dist/cjs/src/base/functions/crypto.js +1 -1
- package/dist/cjs/src/base/functions/encode.js +2 -2
- package/dist/cjs/src/base/functions/misc.js +1 -0
- package/dist/cjs/src/base/functions/number.js +6 -0
- package/dist/cjs/src/base/functions/platform.js +6 -0
- package/dist/cjs/src/base/functions/rsa.js +1 -0
- package/dist/cjs/src/base/functions/string.js +6 -0
- package/dist/cjs/src/base/functions/throttle.js +1 -1
- package/dist/cjs/src/base/functions/time.js +6 -0
- package/dist/cjs/src/base/functions/totp.js +1 -0
- package/dist/cjs/src/base/functions/type.js +6 -0
- package/dist/cjs/src/base/functions.js +1 -1
- package/dist/cjs/src/base/ws/Cache.js +6 -0
- package/dist/cjs/src/base/ws/Client.js +1 -0
- package/dist/cjs/src/base/ws/Future.js +1 -1
- package/dist/cjs/src/base/ws/OrderBook.js +1 -1
- package/dist/cjs/src/base/ws/OrderBookSide.js +6 -0
- package/dist/cjs/src/base/ws/WsClient.js +1 -1
- package/dist/cjs/src/bequant.js +1 -1
- package/dist/cjs/src/bigone.js +1 -1
- package/dist/cjs/src/binance.js +10 -9
- package/dist/cjs/src/binancecoinm.js +1 -1
- package/dist/cjs/src/binanceus.js +1 -1
- package/dist/cjs/src/binanceusdm.js +1 -1
- package/dist/cjs/src/bingx.js +1 -1
- package/dist/cjs/src/bit2c.js +1 -1
- package/dist/cjs/src/bitbank.js +1 -1
- package/dist/cjs/src/bitbns.js +2 -2
- package/dist/cjs/src/bitfinex.js +1 -1
- package/dist/cjs/src/bitflyer.js +1 -1
- package/dist/cjs/src/bitget.js +1 -1
- package/dist/cjs/src/bithumb.js +9 -1
- package/dist/cjs/src/bitmart.js +1 -1
- package/dist/cjs/src/bitmex.js +1 -1
- package/dist/cjs/src/bitopro.js +1 -1
- package/dist/cjs/src/bitrue.js +1 -1
- package/dist/cjs/src/bitso.js +1 -1
- package/dist/cjs/src/bitstamp.js +1 -1
- package/dist/cjs/src/bitteam.js +1 -1
- package/dist/cjs/src/bittrade.js +1 -1
- package/dist/cjs/src/bitvavo.js +17 -2
- package/dist/cjs/src/blockchaincom.js +1 -1
- package/dist/cjs/src/blofin.js +1 -1
- package/dist/cjs/src/btcalpha.js +1 -1
- package/dist/cjs/src/btcbox.js +1 -1
- package/dist/cjs/src/btcmarkets.js +1 -1
- package/dist/cjs/src/btcturk.js +1 -1
- package/dist/cjs/src/bybit.js +1 -1
- package/dist/cjs/src/cex.js +1 -1
- package/dist/cjs/src/coinbase.js +1 -1
- package/dist/cjs/src/coinbaseadvanced.js +1 -1
- package/dist/cjs/src/coincatch.js +1 -1
- package/dist/cjs/src/coincheck.js +1 -1
- package/dist/cjs/src/coinex.js +1 -1
- package/dist/cjs/src/coinmate.js +1 -1
- package/dist/cjs/src/coinmetro.js +1 -1
- package/dist/cjs/src/coinone.js +1 -1
- package/dist/cjs/src/coinsph.js +1 -0
- package/dist/cjs/src/coinspot.js +1 -1
- package/dist/cjs/src/cryptocom.js +1 -1
- package/dist/cjs/src/cryptomus.js +1 -1
- package/dist/cjs/src/defx.js +1 -1
- package/dist/cjs/src/delta.js +1 -1
- package/dist/cjs/src/deribit.js +1 -1
- package/dist/cjs/src/derive.js +1 -1
- package/dist/cjs/src/digifinex.js +1 -1
- package/dist/cjs/src/exmo.js +1 -1
- package/dist/cjs/src/fmfwio.js +1 -1
- package/dist/cjs/src/foxbit.js +1 -1
- package/dist/cjs/src/gate.js +1 -1
- package/dist/cjs/src/gateio.js +1 -1
- package/dist/cjs/src/gemini.js +1 -1
- package/dist/cjs/src/hashkey.js +1 -1
- package/dist/cjs/src/hibachi.js +4 -11
- package/dist/cjs/src/hitbtc.js +1 -0
- package/dist/cjs/src/hollaex.js +1 -1
- package/dist/cjs/src/htx.js +1 -1
- package/dist/cjs/src/huobi.js +1 -1
- package/dist/cjs/src/hyperliquid.js +39 -3
- package/dist/cjs/src/independentreserve.js +1 -1
- package/dist/cjs/src/indodax.js +1 -1
- package/dist/cjs/src/kraken.js +1 -1
- package/dist/cjs/src/krakenfutures.js +1 -1
- package/dist/cjs/src/kucoin.js +1 -1
- package/dist/cjs/src/kucoinfutures.js +1 -1
- package/dist/cjs/src/latoken.js +1 -1
- package/dist/cjs/src/lbank.js +5 -2
- package/dist/cjs/src/luno.js +1 -1
- package/dist/cjs/src/mercado.js +1 -1
- package/dist/cjs/src/mexc.js +1 -1
- package/dist/cjs/src/modetrade.js +1 -1
- package/dist/cjs/src/myokx.js +1 -1
- package/dist/cjs/src/ndax.js +1 -1
- package/dist/cjs/src/novadax.js +1 -1
- package/dist/cjs/src/oceanex.js +1 -1
- package/dist/cjs/src/okcoin.js +1 -1
- package/dist/cjs/src/okx.js +2 -2
- package/dist/cjs/src/okxus.js +1 -1
- package/dist/cjs/src/onetrading.js +1 -1
- package/dist/cjs/src/oxfun.js +14 -4
- package/dist/cjs/src/p2b.js +1 -1
- package/dist/cjs/src/paradex.js +1 -1
- package/dist/cjs/src/paymium.js +1 -1
- package/dist/cjs/src/poloniex.js +1 -1
- package/dist/cjs/src/pro/alpaca.js +1 -1
- package/dist/cjs/src/pro/apex.js +1 -1
- package/dist/cjs/src/pro/ascendex.js +1 -1
- package/dist/cjs/src/pro/backpack.js +3 -3
- package/dist/cjs/src/pro/bequant.js +1 -1
- package/dist/cjs/src/pro/binancecoinm.js +1 -1
- package/dist/cjs/src/pro/binanceus.js +1 -1
- package/dist/cjs/src/pro/binanceusdm.js +1 -1
- package/dist/cjs/src/pro/bingx.js +1 -1
- package/dist/cjs/src/pro/bitfinex.js +1 -1
- package/dist/cjs/src/pro/bitget.js +1 -1
- package/dist/cjs/src/pro/bithumb.js +1 -1
- package/dist/cjs/src/pro/bitmart.js +1 -1
- package/dist/cjs/src/pro/bitmex.js +1 -1
- package/dist/cjs/src/pro/bitrue.js +1 -1
- package/dist/cjs/src/pro/bitstamp.js +1 -1
- package/dist/cjs/src/pro/bitvavo.js +1 -1
- package/dist/cjs/src/pro/blockchaincom.js +1 -1
- package/dist/cjs/src/pro/blofin.js +1 -1
- package/dist/cjs/src/pro/bybit.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/coincatch.js +1 -1
- package/dist/cjs/src/pro/coincheck.js +1 -1
- package/dist/cjs/src/pro/coinex.js +7 -6
- package/dist/cjs/src/pro/coinone.js +1 -1
- package/dist/cjs/src/pro/cryptocom.js +1 -1
- package/dist/cjs/src/pro/defx.js +1 -1
- package/dist/cjs/src/pro/deribit.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/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 +154 -11
- package/dist/cjs/src/pro/huobi.js +1 -1
- package/dist/cjs/src/pro/hyperliquid.js +1 -1
- package/dist/cjs/src/pro/independentreserve.js +1 -1
- package/dist/cjs/src/pro/kraken.js +1 -1
- package/dist/cjs/src/pro/krakenfutures.js +1 -1
- package/dist/cjs/src/pro/kucoin.js +1 -1
- package/dist/cjs/src/pro/kucoinfutures.js +1 -1
- package/dist/cjs/src/pro/lbank.js +1 -0
- package/dist/cjs/src/pro/luno.js +1 -1
- package/dist/cjs/src/pro/mexc.js +1 -1
- package/dist/cjs/src/pro/myokx.js +1 -1
- package/dist/cjs/src/pro/ndax.js +1 -1
- package/dist/cjs/src/pro/okcoin.js +1 -1
- package/dist/cjs/src/pro/okx.js +1 -1
- package/dist/cjs/src/pro/okxus.js +1 -1
- package/dist/cjs/src/pro/onetrading.js +1 -1
- package/dist/cjs/src/pro/oxfun.js +1 -1
- package/dist/cjs/src/pro/p2b.js +1 -1
- package/dist/cjs/src/pro/paradex.js +1 -1
- package/dist/cjs/src/pro/phemex.js +9 -7
- package/dist/cjs/src/pro/poloniex.js +1 -1
- package/dist/cjs/src/pro/probit.js +1 -1
- package/dist/cjs/src/pro/toobit.js +1 -1
- package/dist/cjs/src/pro/upbit.js +1 -1
- package/dist/cjs/src/pro/whitebit.js +1 -1
- package/dist/cjs/src/pro/woo.js +167 -5
- package/dist/cjs/src/pro/xt.js +1 -1
- package/dist/cjs/src/probit.js +1 -1
- package/dist/cjs/src/protobuf/mexc/compiled.cjs.js +0 -2
- package/dist/cjs/src/static_dependencies/ethers/abi-coder.js +6 -0
- package/dist/cjs/src/static_dependencies/ethers/address/address.js +1 -1
- package/dist/cjs/src/static_dependencies/ethers/coders/abstract-coder.js +6 -0
- package/dist/cjs/src/static_dependencies/ethers/coders/address.js +1 -0
- package/dist/cjs/src/static_dependencies/ethers/coders/anonymous.js +1 -0
- package/dist/cjs/src/static_dependencies/ethers/coders/array.js +1 -0
- package/dist/cjs/src/static_dependencies/ethers/coders/boolean.js +1 -0
- package/dist/cjs/src/static_dependencies/ethers/coders/bytes.js +1 -0
- package/dist/cjs/src/static_dependencies/ethers/coders/fixed-bytes.js +1 -0
- package/dist/cjs/src/static_dependencies/ethers/coders/null.js +1 -0
- package/dist/cjs/src/static_dependencies/ethers/coders/number.js +1 -0
- package/dist/cjs/src/static_dependencies/ethers/coders/string.js +1 -0
- package/dist/cjs/src/static_dependencies/ethers/coders/tuple.js +1 -0
- package/dist/cjs/src/static_dependencies/ethers/fragments.js +6 -0
- package/dist/cjs/src/static_dependencies/ethers/hash/typed-data.js +6 -0
- package/dist/cjs/src/static_dependencies/ethers/index.js +1 -10
- package/dist/cjs/src/static_dependencies/ethers/interface.js +6 -0
- package/dist/cjs/src/static_dependencies/ethers/typed.js +6 -0
- package/dist/cjs/src/static_dependencies/ethers/utils/base58.js +1 -13
- package/dist/cjs/src/static_dependencies/ethers/utils/data.js +1 -6
- package/dist/cjs/src/static_dependencies/ethers/utils/errors.js +1 -9
- package/dist/cjs/src/static_dependencies/ethers/utils/events.js +6 -0
- package/dist/cjs/src/static_dependencies/ethers/utils/fixednumber.js +6 -0
- package/dist/cjs/src/static_dependencies/ethers/utils/index.js +1 -7
- package/dist/cjs/src/static_dependencies/ethers/utils/maths.js +1 -5
- package/dist/cjs/src/static_dependencies/ethers/utils/properties.js +6 -0
- package/dist/cjs/src/static_dependencies/ethers/utils/utf8.js +1 -8
- package/dist/cjs/src/static_dependencies/fflake/browser.js +1 -1
- package/dist/cjs/src/static_dependencies/jsencrypt/JSEncrypt.js +1 -0
- package/dist/cjs/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +1 -0
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +1 -1
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +6 -0
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +6 -0
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +6 -0
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +1 -0
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +1 -1
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +6 -0
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +1 -1
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +1 -1
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/util.js +6 -0
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +1 -1
- package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +6 -0
- package/dist/cjs/src/static_dependencies/messagepack/msgpack.js +6 -0
- package/dist/cjs/src/static_dependencies/noble-curves/_shortw_utils.js +1 -1
- package/dist/cjs/src/static_dependencies/noble-curves/abstract/curve.js +1 -1
- package/dist/cjs/src/static_dependencies/noble-curves/abstract/edwards.js +1 -1
- package/dist/cjs/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +1 -0
- package/dist/cjs/src/static_dependencies/noble-curves/abstract/modular.js +1 -1
- package/dist/cjs/src/static_dependencies/noble-curves/abstract/montgomery.js +1 -1
- package/dist/cjs/src/static_dependencies/noble-curves/abstract/poseidon.js +1 -1
- package/dist/cjs/src/static_dependencies/noble-curves/abstract/utils.js +6 -0
- package/dist/cjs/src/static_dependencies/noble-curves/abstract/weierstrass.js +1 -1
- package/dist/cjs/src/static_dependencies/noble-curves/ed25519.js +1 -1
- package/dist/cjs/src/static_dependencies/noble-curves/p256.js +1 -1
- package/dist/cjs/src/static_dependencies/noble-curves/secp256k1.js +1 -1
- package/dist/cjs/src/static_dependencies/noble-hashes/_assert.js +6 -0
- package/dist/cjs/src/static_dependencies/noble-hashes/_sha2.js +1 -0
- package/dist/cjs/src/static_dependencies/noble-hashes/_u64.js +6 -0
- package/dist/cjs/src/static_dependencies/noble-hashes/crypto.js +6 -0
- package/dist/cjs/src/static_dependencies/noble-hashes/hmac.js +1 -0
- package/dist/cjs/src/static_dependencies/noble-hashes/md5.js +1 -0
- package/dist/cjs/src/static_dependencies/noble-hashes/sha1.js +1 -0
- package/dist/cjs/src/static_dependencies/noble-hashes/sha256.js +1 -0
- package/dist/cjs/src/static_dependencies/noble-hashes/sha3.js +1 -0
- package/dist/cjs/src/static_dependencies/noble-hashes/sha512.js +1 -0
- package/dist/cjs/src/static_dependencies/noble-hashes/utils.js +1 -1
- package/dist/cjs/src/static_dependencies/node-fetch/body.js +1 -5
- package/dist/cjs/src/static_dependencies/node-fetch/errors/abort-error.js +1 -0
- package/dist/cjs/src/static_dependencies/node-fetch/errors/base.js +6 -0
- package/dist/cjs/src/static_dependencies/node-fetch/errors/fetch-error.js +1 -0
- package/dist/cjs/src/static_dependencies/node-fetch/headers.js +1 -5
- package/dist/cjs/src/static_dependencies/node-fetch/index.js +1 -7
- package/dist/cjs/src/static_dependencies/node-fetch/request.js +1 -7
- package/dist/cjs/src/static_dependencies/node-fetch/response.js +1 -5
- package/dist/cjs/src/static_dependencies/node-fetch/utils/get-search.js +6 -0
- package/dist/cjs/src/static_dependencies/node-fetch/utils/is-redirect.js +6 -0
- package/dist/cjs/src/static_dependencies/node-fetch/utils/is.js +6 -0
- package/dist/cjs/src/static_dependencies/node-fetch/utils/referrer.js +1 -0
- package/dist/cjs/src/static_dependencies/proxies/agent-base/index.js +1 -0
- package/dist/cjs/src/static_dependencies/proxies/http-proxy-agent/index.js +1 -0
- package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/index.js +1 -0
- package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +6 -0
- package/dist/cjs/src/static_dependencies/qs/formats.js +28 -0
- package/dist/cjs/src/static_dependencies/qs/index.js +25 -0
- package/{js/src/static_dependencies/qs/parse.cjs → dist/cjs/src/static_dependencies/qs/parse.js} +10 -3
- package/{js/src/static_dependencies/qs/stringify.cjs → dist/cjs/src/static_dependencies/qs/stringify.js} +13 -6
- package/dist/cjs/src/static_dependencies/qs/utils.js +197 -0
- package/dist/cjs/src/static_dependencies/scure-base/index.js +6 -0
- package/dist/cjs/src/static_dependencies/scure-starknet/index.js +1 -1
- package/dist/cjs/src/static_dependencies/starknet/constants.js +1 -1
- package/dist/cjs/src/static_dependencies/starknet/types/calldata.js +6 -0
- package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/abi.js +6 -0
- package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/index.js +6 -0
- package/dist/cjs/src/static_dependencies/starknet/types/lib/index.js +6 -0
- package/dist/cjs/src/static_dependencies/starknet/types/typedData.js +6 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/assert.js +6 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +1 -1
- package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +1 -1
- package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +1 -1
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/byteArray.js +1 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/cairo.js +1 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +6 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +6 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +6 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/formatter.js +1 -0
- 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 +1 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +1 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +6 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +1 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/requestParser.js +1 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/responseParser.js +1 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/tuple.js +1 -1
- package/dist/cjs/src/static_dependencies/starknet/utils/calldata/validate.js +1 -4
- package/dist/cjs/src/static_dependencies/starknet/utils/encode.js +1 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/hash/classHash.js +1 -3
- package/dist/cjs/src/static_dependencies/starknet/utils/merkle.js +1 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/num.js +1 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/selector.js +1 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/shortString.js +1 -0
- package/dist/cjs/src/static_dependencies/starknet/utils/typedData.js +1 -1
- package/dist/cjs/src/static_dependencies/watchable/src/unpromise.js +6 -0
- package/dist/cjs/src/static_dependencies/zklink/zklink-sdk-web.js +5 -1
- package/dist/cjs/src/timex.js +1 -0
- package/dist/cjs/src/tokocrypto.js +1 -1
- package/dist/cjs/src/toobit.js +1 -1
- package/dist/cjs/src/upbit.js +86 -71
- package/dist/cjs/src/wavesexchange.js +1 -1
- package/dist/cjs/src/whitebit.js +576 -33
- package/dist/cjs/src/woo.js +1 -1
- package/dist/cjs/src/woofipro.js +1 -1
- package/dist/cjs/src/xt.js +1 -1
- package/dist/cjs/src/yobit.js +1 -1
- package/dist/cjs/src/zaif.js +1 -1
- package/dist/cjs/src/zonda.js +1 -1
- package/js/ccxt.d.ts +1 -1
- package/js/ccxt.js +7 -1
- package/js/src/abstract/alpaca.js +6 -0
- package/js/src/abstract/apex.js +6 -0
- package/js/src/abstract/ascendex.js +6 -0
- package/js/src/abstract/backpack.js +6 -0
- package/js/src/abstract/bequant.js +6 -0
- package/js/src/abstract/bigone.js +6 -0
- package/js/src/abstract/binance.js +6 -0
- package/js/src/abstract/binancecoinm.js +6 -0
- package/js/src/abstract/binanceus.js +6 -0
- package/js/src/abstract/binanceusdm.js +6 -0
- package/js/src/abstract/bingx.js +6 -0
- package/js/src/abstract/bit2c.js +6 -0
- package/js/src/abstract/bitbank.js +6 -0
- package/js/src/abstract/bitbns.js +6 -0
- package/js/src/abstract/bitfinex.js +6 -0
- package/js/src/abstract/bitflyer.js +6 -0
- package/js/src/abstract/bitget.js +6 -0
- package/js/src/abstract/bithumb.js +6 -0
- package/js/src/abstract/bitmart.js +6 -0
- package/js/src/abstract/bitmex.js +6 -0
- package/js/src/abstract/bitopro.js +6 -0
- package/js/src/abstract/bitrue.js +6 -0
- package/js/src/abstract/bitso.js +6 -0
- package/js/src/abstract/bitstamp.js +6 -0
- package/js/src/abstract/bitteam.js +6 -0
- package/js/src/abstract/bittrade.js +6 -0
- package/js/src/abstract/bitvavo.js +6 -0
- package/js/src/abstract/blockchaincom.js +6 -0
- package/js/src/abstract/blofin.js +6 -0
- package/js/src/abstract/btcalpha.js +6 -0
- package/js/src/abstract/btcbox.js +6 -0
- package/js/src/abstract/btcmarkets.js +6 -0
- package/js/src/abstract/btcturk.js +6 -0
- package/js/src/abstract/bybit.js +6 -0
- package/js/src/abstract/cex.js +6 -0
- package/js/src/abstract/coinbase.js +6 -0
- package/js/src/abstract/coinbaseadvanced.js +6 -0
- package/js/src/abstract/coinbaseexchange.js +6 -0
- package/js/src/abstract/coinbaseinternational.js +6 -0
- package/js/src/abstract/coincatch.js +6 -0
- package/js/src/abstract/coincheck.js +6 -0
- package/js/src/abstract/coinex.js +6 -0
- package/js/src/abstract/coinmate.js +6 -0
- package/js/src/abstract/coinmetro.js +6 -0
- package/js/src/abstract/coinone.js +6 -0
- package/js/src/abstract/coinsph.js +6 -0
- package/js/src/abstract/coinspot.js +6 -0
- package/js/src/abstract/cryptocom.js +6 -0
- package/js/src/abstract/cryptomus.js +6 -0
- package/js/src/abstract/defx.js +6 -0
- package/js/src/abstract/delta.js +6 -0
- package/js/src/abstract/deribit.js +6 -0
- package/js/src/abstract/derive.js +6 -0
- package/js/src/abstract/digifinex.js +6 -0
- package/js/src/abstract/exmo.js +6 -0
- package/js/src/abstract/fmfwio.js +6 -0
- package/js/src/abstract/foxbit.js +6 -0
- package/js/src/abstract/gate.js +6 -0
- package/js/src/abstract/gateio.js +6 -0
- package/js/src/abstract/gemini.js +6 -0
- package/js/src/abstract/hashkey.js +6 -0
- package/js/src/abstract/hibachi.js +6 -0
- package/js/src/abstract/hitbtc.js +6 -0
- package/js/src/abstract/hollaex.js +6 -0
- package/js/src/abstract/htx.js +6 -0
- package/js/src/abstract/huobi.js +6 -0
- package/js/src/abstract/hyperliquid.js +6 -0
- package/js/src/abstract/independentreserve.js +6 -0
- package/js/src/abstract/indodax.js +6 -0
- package/js/src/abstract/kraken.js +6 -0
- package/js/src/abstract/krakenfutures.js +6 -0
- package/js/src/abstract/kucoin.js +6 -0
- package/js/src/abstract/kucoinfutures.js +6 -0
- package/js/src/abstract/latoken.js +6 -0
- package/js/src/abstract/lbank.js +6 -0
- package/js/src/abstract/luno.js +6 -0
- package/js/src/abstract/mercado.js +6 -0
- package/js/src/abstract/mexc.js +6 -0
- package/js/src/abstract/modetrade.js +6 -0
- package/js/src/abstract/myokx.js +6 -0
- package/js/src/abstract/ndax.js +6 -0
- package/js/src/abstract/novadax.js +6 -0
- package/js/src/abstract/oceanex.js +6 -0
- package/js/src/abstract/okcoin.js +6 -0
- package/js/src/abstract/okx.js +6 -0
- package/js/src/abstract/okxus.js +6 -0
- package/js/src/abstract/onetrading.js +6 -0
- package/js/src/abstract/oxfun.js +6 -0
- package/js/src/abstract/p2b.js +6 -0
- package/js/src/abstract/paradex.js +6 -0
- package/js/src/abstract/paymium.js +6 -0
- package/js/src/abstract/phemex.js +6 -0
- package/js/src/abstract/poloniex.js +6 -0
- package/js/src/abstract/probit.js +6 -0
- package/js/src/abstract/timex.js +6 -0
- package/js/src/abstract/tokocrypto.js +6 -0
- package/js/src/abstract/toobit.js +6 -0
- package/js/src/abstract/upbit.d.ts +1 -0
- package/js/src/abstract/upbit.js +6 -0
- package/js/src/abstract/wavesexchange.js +6 -0
- package/js/src/abstract/whitebit.d.ts +1 -1
- package/js/src/abstract/whitebit.js +6 -0
- package/js/src/abstract/woo.js +6 -0
- package/js/src/abstract/woofipro.js +6 -0
- package/js/src/abstract/xt.js +6 -0
- package/js/src/abstract/yobit.js +6 -0
- package/js/src/abstract/zaif.js +6 -0
- package/js/src/abstract/zonda.js +6 -0
- package/js/src/alpaca.js +6 -0
- package/js/src/apex.js +6 -0
- package/js/src/ascendex.js +6 -0
- package/js/src/backpack.d.ts +1 -1
- package/js/src/backpack.js +27 -3
- package/js/src/base/Exchange.js +39 -11
- package/js/src/base/Precise.js +6 -0
- package/js/src/base/errorHierarchy.js +6 -0
- package/js/src/base/errors.js +6 -0
- package/js/src/base/functions/crypto.js +6 -0
- package/js/src/base/functions/encode.js +7 -1
- package/js/src/base/functions/generic.js +6 -0
- package/js/src/base/functions/misc.js +6 -0
- package/js/src/base/functions/number.js +6 -0
- package/js/src/base/functions/platform.js +6 -0
- package/js/src/base/functions/rsa.js +6 -0
- package/js/src/base/functions/string.js +6 -0
- package/js/src/base/functions/throttle.js +6 -0
- package/js/src/base/functions/time.js +6 -0
- package/js/src/base/functions/totp.js +6 -0
- package/js/src/base/functions/type.js +6 -0
- package/js/src/base/functions.js +6 -0
- package/js/src/base/types.js +6 -0
- package/js/src/base/ws/Cache.js +6 -0
- package/js/src/base/ws/Client.js +6 -0
- package/js/src/base/ws/Future.js +6 -0
- package/js/src/base/ws/OrderBook.js +6 -0
- package/js/src/base/ws/OrderBookSide.js +6 -0
- package/js/src/base/ws/WsClient.js +6 -0
- package/js/src/base/ws/functions.js +6 -0
- package/js/src/bequant.js +6 -0
- package/js/src/bigone.js +6 -0
- package/js/src/binance.d.ts +1 -1
- package/js/src/binance.js +15 -8
- package/js/src/binancecoinm.js +6 -0
- package/js/src/binanceus.js +6 -0
- package/js/src/binanceusdm.js +6 -0
- package/js/src/bingx.js +6 -0
- package/js/src/bit2c.js +6 -0
- package/js/src/bitbank.js +6 -0
- package/js/src/bitbns.js +7 -1
- package/js/src/bitfinex.js +6 -0
- package/js/src/bitflyer.js +6 -0
- package/js/src/bitget.js +6 -0
- package/js/src/bithumb.js +14 -0
- package/js/src/bitmart.js +6 -0
- package/js/src/bitmex.js +6 -0
- package/js/src/bitopro.js +6 -0
- package/js/src/bitrue.js +6 -0
- package/js/src/bitso.js +6 -0
- package/js/src/bitstamp.js +6 -0
- package/js/src/bitteam.js +6 -0
- package/js/src/bittrade.js +6 -0
- package/js/src/bitvavo.d.ts +1 -1
- package/js/src/bitvavo.js +23 -2
- package/js/src/blockchaincom.js +6 -0
- package/js/src/blofin.js +6 -0
- package/js/src/btcalpha.js +6 -0
- package/js/src/btcbox.js +6 -0
- package/js/src/btcmarkets.js +6 -0
- package/js/src/btcturk.js +6 -0
- package/js/src/bybit.js +6 -0
- package/js/src/cex.js +6 -0
- package/js/src/coinbase.js +7 -1
- package/js/src/coinbaseadvanced.js +6 -0
- package/js/src/coinbaseexchange.js +6 -0
- package/js/src/coinbaseinternational.js +6 -0
- package/js/src/coincatch.js +6 -0
- package/js/src/coincheck.js +6 -0
- package/js/src/coinex.js +6 -0
- package/js/src/coinmate.js +6 -0
- package/js/src/coinmetro.js +6 -0
- package/js/src/coinone.js +6 -0
- package/js/src/coinsph.js +6 -0
- package/js/src/coinspot.js +6 -0
- package/js/src/cryptocom.js +6 -0
- package/js/src/cryptomus.js +6 -0
- package/js/src/defx.js +6 -0
- package/js/src/delta.js +6 -0
- package/js/src/deribit.js +6 -0
- package/js/src/derive.js +6 -0
- package/js/src/digifinex.js +6 -0
- package/js/src/exmo.js +6 -0
- package/js/src/fmfwio.js +6 -0
- package/js/src/foxbit.js +6 -0
- package/js/src/gate.js +6 -0
- package/js/src/gateio.js +6 -0
- package/js/src/gemini.js +6 -0
- package/js/src/hashkey.js +6 -0
- package/js/src/hibachi.d.ts +1 -9
- package/js/src/hibachi.js +9 -10
- package/js/src/hitbtc.js +6 -0
- package/js/src/hollaex.js +6 -0
- package/js/src/htx.js +6 -0
- package/js/src/huobi.js +6 -0
- package/js/src/hyperliquid.d.ts +2 -0
- package/js/src/hyperliquid.js +44 -2
- package/js/src/independentreserve.js +6 -0
- package/js/src/indodax.js +6 -0
- package/js/src/kraken.js +6 -0
- package/js/src/krakenfutures.js +6 -0
- package/js/src/kucoin.js +6 -0
- package/js/src/kucoinfutures.js +6 -0
- package/js/src/latoken.js +6 -0
- package/js/src/lbank.js +10 -1
- package/js/src/luno.js +6 -0
- package/js/src/mercado.js +6 -0
- package/js/src/mexc.js +6 -0
- package/js/src/modetrade.js +6 -0
- package/js/src/myokx.js +6 -0
- package/js/src/ndax.js +6 -0
- package/js/src/novadax.js +6 -0
- package/js/src/oceanex.js +6 -0
- package/js/src/okcoin.js +6 -0
- package/js/src/okx.js +7 -1
- package/js/src/okxus.js +6 -0
- package/js/src/onetrading.js +6 -0
- package/js/src/oxfun.d.ts +1 -1
- package/js/src/oxfun.js +19 -3
- package/js/src/p2b.js +6 -0
- package/js/src/paradex.js +6 -0
- package/js/src/paymium.js +6 -0
- package/js/src/phemex.js +6 -0
- package/js/src/poloniex.js +6 -0
- package/js/src/pro/alpaca.js +6 -0
- package/js/src/pro/apex.js +6 -0
- package/js/src/pro/ascendex.js +6 -0
- package/js/src/pro/backpack.js +8 -2
- package/js/src/pro/bequant.js +6 -0
- package/js/src/pro/binance.js +6 -0
- package/js/src/pro/binancecoinm.js +6 -0
- package/js/src/pro/binanceus.js +6 -0
- package/js/src/pro/binanceusdm.js +6 -0
- package/js/src/pro/bingx.js +6 -0
- package/js/src/pro/bitfinex.js +6 -0
- package/js/src/pro/bitget.js +6 -0
- package/js/src/pro/bithumb.js +6 -0
- package/js/src/pro/bitmart.js +6 -0
- package/js/src/pro/bitmex.js +6 -0
- package/js/src/pro/bitopro.js +6 -0
- package/js/src/pro/bitrue.js +6 -0
- package/js/src/pro/bitstamp.js +6 -0
- package/js/src/pro/bittrade.js +6 -0
- package/js/src/pro/bitvavo.js +6 -0
- package/js/src/pro/blockchaincom.js +6 -0
- package/js/src/pro/blofin.js +6 -0
- package/js/src/pro/bybit.js +6 -0
- package/js/src/pro/cex.js +6 -0
- package/js/src/pro/coinbase.js +6 -0
- package/js/src/pro/coinbaseadvanced.js +6 -0
- package/js/src/pro/coinbaseexchange.js +6 -0
- package/js/src/pro/coinbaseinternational.js +6 -0
- package/js/src/pro/coincatch.js +6 -0
- package/js/src/pro/coincheck.js +6 -0
- package/js/src/pro/coinex.js +12 -5
- package/js/src/pro/coinone.js +6 -0
- package/js/src/pro/cryptocom.js +6 -0
- package/js/src/pro/defx.js +6 -0
- package/js/src/pro/deribit.js +6 -0
- package/js/src/pro/derive.js +6 -0
- package/js/src/pro/exmo.js +6 -0
- package/js/src/pro/gate.js +6 -0
- package/js/src/pro/gateio.js +6 -0
- package/js/src/pro/gemini.js +6 -0
- package/js/src/pro/hashkey.js +6 -0
- package/js/src/pro/hitbtc.js +6 -0
- package/js/src/pro/hollaex.js +6 -0
- package/js/src/pro/htx.d.ts +53 -1
- package/js/src/pro/htx.js +159 -10
- package/js/src/pro/huobi.js +6 -0
- package/js/src/pro/hyperliquid.js +6 -0
- package/js/src/pro/independentreserve.js +6 -0
- package/js/src/pro/kraken.js +6 -0
- package/js/src/pro/krakenfutures.js +6 -0
- package/js/src/pro/kucoin.js +6 -0
- package/js/src/pro/kucoinfutures.js +6 -0
- package/js/src/pro/lbank.js +6 -0
- package/js/src/pro/luno.js +6 -0
- package/js/src/pro/mexc.js +6 -0
- package/js/src/pro/modetrade.js +6 -0
- package/js/src/pro/myokx.js +6 -0
- package/js/src/pro/ndax.js +6 -0
- package/js/src/pro/okcoin.js +6 -0
- package/js/src/pro/okx.js +6 -0
- package/js/src/pro/okxus.js +6 -0
- package/js/src/pro/onetrading.js +6 -0
- package/js/src/pro/oxfun.js +6 -0
- package/js/src/pro/p2b.js +6 -0
- package/js/src/pro/paradex.js +6 -0
- package/js/src/pro/phemex.d.ts +3 -3
- package/js/src/pro/phemex.js +14 -6
- package/js/src/pro/poloniex.js +6 -0
- package/js/src/pro/probit.js +6 -0
- package/js/src/pro/toobit.js +6 -0
- package/js/src/pro/upbit.js +6 -0
- package/js/src/pro/whitebit.js +6 -0
- package/js/src/pro/woo.d.ts +65 -1
- package/js/src/pro/woo.js +174 -6
- package/js/src/pro/woofipro.js +6 -0
- package/js/src/pro/xt.js +6 -0
- package/js/src/probit.js +6 -0
- package/js/src/protobuf/mexc/compiled.cjs +6 -0
- package/js/src/static_dependencies/ethers/abi-coder.js +6 -0
- package/js/src/static_dependencies/ethers/address/address.js +6 -0
- package/js/src/static_dependencies/ethers/address/checks.js +6 -0
- package/js/src/static_dependencies/ethers/address/contract-address.js +6 -0
- package/js/src/static_dependencies/ethers/address/index.js +6 -0
- package/js/src/static_dependencies/ethers/bytes32.js +6 -0
- package/js/src/static_dependencies/ethers/coders/abstract-coder.js +6 -0
- package/js/src/static_dependencies/ethers/coders/address.js +6 -0
- package/js/src/static_dependencies/ethers/coders/anonymous.js +6 -0
- package/js/src/static_dependencies/ethers/coders/array.js +6 -0
- package/js/src/static_dependencies/ethers/coders/boolean.js +6 -0
- package/js/src/static_dependencies/ethers/coders/bytes.js +6 -0
- package/js/src/static_dependencies/ethers/coders/fixed-bytes.js +6 -0
- package/js/src/static_dependencies/ethers/coders/null.js +6 -0
- package/js/src/static_dependencies/ethers/coders/number.js +6 -0
- package/js/src/static_dependencies/ethers/coders/string.js +6 -0
- package/js/src/static_dependencies/ethers/coders/tuple.js +6 -0
- package/js/src/static_dependencies/ethers/fragments.js +6 -0
- package/js/src/static_dependencies/ethers/hash/index.js +6 -0
- package/js/src/static_dependencies/ethers/hash/solidity.js +6 -0
- package/js/src/static_dependencies/ethers/hash/typed-data.js +6 -0
- package/js/src/static_dependencies/ethers/index.js +6 -0
- package/js/src/static_dependencies/ethers/interface.js +6 -0
- package/js/src/static_dependencies/ethers/typed.js +6 -0
- package/js/src/static_dependencies/ethers/utils/base58.js +6 -0
- package/js/src/static_dependencies/ethers/utils/base64-browser.js +6 -0
- package/js/src/static_dependencies/ethers/utils/base64.js +6 -0
- package/js/src/static_dependencies/ethers/utils/data.js +6 -0
- package/js/src/static_dependencies/ethers/utils/errors.js +6 -0
- package/js/src/static_dependencies/ethers/utils/events.js +6 -0
- package/js/src/static_dependencies/ethers/utils/fixednumber.js +6 -0
- package/js/src/static_dependencies/ethers/utils/index.js +6 -0
- package/js/src/static_dependencies/ethers/utils/maths.js +6 -0
- package/js/src/static_dependencies/ethers/utils/properties.js +6 -0
- package/js/src/static_dependencies/ethers/utils/rlp-decode.js +6 -0
- package/js/src/static_dependencies/ethers/utils/rlp-encode.js +6 -0
- package/js/src/static_dependencies/ethers/utils/rlp.js +6 -0
- package/js/src/static_dependencies/ethers/utils/units.js +6 -0
- package/js/src/static_dependencies/ethers/utils/utf8.js +6 -0
- package/js/src/static_dependencies/ethers/utils/uuid.js +6 -0
- package/js/src/static_dependencies/fflake/browser.js +6 -0
- package/js/src/static_dependencies/jsencrypt/JSEncrypt.js +6 -0
- package/js/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +6 -0
- package/js/src/static_dependencies/jsencrypt/index.js +6 -0
- package/js/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +6 -0
- package/js/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +6 -0
- package/js/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +6 -0
- package/js/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +6 -0
- package/js/src/static_dependencies/jsencrypt/lib/asn1js/oids.js +6 -0
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +6 -0
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +6 -0
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +6 -0
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +6 -0
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +6 -0
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/util.js +6 -0
- package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +6 -0
- package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +6 -0
- package/js/src/static_dependencies/messagepack/msgpack.js +6 -0
- package/js/src/static_dependencies/noble-curves/_shortw_utils.js +6 -0
- package/js/src/static_dependencies/noble-curves/abstract/curve.js +6 -0
- package/js/src/static_dependencies/noble-curves/abstract/edwards.js +6 -0
- package/js/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +6 -0
- package/js/src/static_dependencies/noble-curves/abstract/modular.js +6 -0
- package/js/src/static_dependencies/noble-curves/abstract/montgomery.js +6 -0
- package/js/src/static_dependencies/noble-curves/abstract/poseidon.js +6 -0
- package/js/src/static_dependencies/noble-curves/abstract/utils.js +6 -0
- package/js/src/static_dependencies/noble-curves/abstract/weierstrass.js +6 -0
- package/js/src/static_dependencies/noble-curves/bn.js +6 -0
- package/js/src/static_dependencies/noble-curves/ed25519.js +6 -0
- package/js/src/static_dependencies/noble-curves/ed448.js +6 -0
- package/js/src/static_dependencies/noble-curves/index.js +6 -0
- package/js/src/static_dependencies/noble-curves/jubjub.js +6 -0
- package/js/src/static_dependencies/noble-curves/p256.js +6 -0
- package/js/src/static_dependencies/noble-curves/p384.js +6 -0
- package/js/src/static_dependencies/noble-curves/p521.js +6 -0
- package/js/src/static_dependencies/noble-curves/pasta.js +6 -0
- package/js/src/static_dependencies/noble-curves/secp256k1.js +6 -0
- package/js/src/static_dependencies/noble-hashes/_assert.js +6 -0
- package/js/src/static_dependencies/noble-hashes/_blake2.js +6 -0
- package/js/src/static_dependencies/noble-hashes/_sha2.js +6 -0
- package/js/src/static_dependencies/noble-hashes/_u64.js +6 -0
- package/js/src/static_dependencies/noble-hashes/argon2.js +6 -0
- package/js/src/static_dependencies/noble-hashes/blake2b.js +6 -0
- package/js/src/static_dependencies/noble-hashes/blake2s.js +6 -0
- package/js/src/static_dependencies/noble-hashes/blake3.js +6 -0
- package/js/src/static_dependencies/noble-hashes/crypto.js +6 -0
- package/js/src/static_dependencies/noble-hashes/cryptoNode.js +6 -0
- package/js/src/static_dependencies/noble-hashes/eskdf.js +6 -0
- package/js/src/static_dependencies/noble-hashes/hkdf.js +6 -0
- package/js/src/static_dependencies/noble-hashes/hmac.js +6 -0
- package/js/src/static_dependencies/noble-hashes/index.js +6 -0
- package/js/src/static_dependencies/noble-hashes/md5.js +6 -0
- package/js/src/static_dependencies/noble-hashes/pbkdf2.js +6 -0
- package/js/src/static_dependencies/noble-hashes/ripemd160.js +6 -0
- package/js/src/static_dependencies/noble-hashes/scrypt.js +6 -0
- package/js/src/static_dependencies/noble-hashes/sha1.js +6 -0
- package/js/src/static_dependencies/noble-hashes/sha256.js +6 -0
- package/js/src/static_dependencies/noble-hashes/sha3-addons.js +6 -0
- package/js/src/static_dependencies/noble-hashes/sha3.js +6 -0
- package/js/src/static_dependencies/noble-hashes/sha512.js +6 -0
- package/js/src/static_dependencies/noble-hashes/utils.js +6 -0
- package/js/src/static_dependencies/node-fetch/body.js +6 -0
- package/js/src/static_dependencies/node-fetch/errors/abort-error.js +6 -0
- package/js/src/static_dependencies/node-fetch/errors/base.js +6 -0
- package/js/src/static_dependencies/node-fetch/errors/fetch-error.js +6 -0
- package/js/src/static_dependencies/node-fetch/headers.js +6 -0
- package/js/src/static_dependencies/node-fetch/index.js +6 -0
- package/js/src/static_dependencies/node-fetch/request.js +6 -0
- package/js/src/static_dependencies/node-fetch/response.js +6 -0
- package/js/src/static_dependencies/node-fetch/utils/get-search.js +6 -0
- package/js/src/static_dependencies/node-fetch/utils/is-redirect.js +6 -0
- package/js/src/static_dependencies/node-fetch/utils/is.js +6 -0
- package/js/src/static_dependencies/node-fetch/utils/referrer.js +6 -0
- package/js/src/static_dependencies/proxies/agent-base/helpers.js +6 -0
- package/js/src/static_dependencies/proxies/agent-base/index.js +6 -0
- package/js/src/static_dependencies/proxies/http-proxy-agent/index.js +6 -0
- package/js/src/static_dependencies/proxies/https-proxy-agent/index.js +6 -0
- package/js/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +6 -0
- package/js/src/static_dependencies/qs/formats.d.ts +8 -0
- package/js/src/static_dependencies/qs/formats.js +21 -0
- package/js/src/static_dependencies/qs/index.d.ts +19 -0
- package/js/src/static_dependencies/qs/index.js +21 -0
- package/js/src/static_dependencies/qs/parse.d.ts +1 -0
- package/js/src/static_dependencies/qs/parse.js +207 -0
- package/js/src/static_dependencies/qs/stringify.d.ts +1 -0
- package/js/src/static_dependencies/qs/stringify.js +191 -0
- package/js/src/static_dependencies/qs/{utils.cjs → utils.js} +7 -12
- package/js/src/static_dependencies/scure-base/index.js +6 -0
- package/js/src/static_dependencies/scure-starknet/index.js +6 -0
- package/js/src/static_dependencies/starknet/constants.js +6 -0
- package/js/src/static_dependencies/starknet/index.js +6 -0
- package/js/src/static_dependencies/starknet/types/cairoEnum.js +6 -0
- package/js/src/static_dependencies/starknet/types/calldata.js +6 -0
- package/js/src/static_dependencies/starknet/types/index.js +6 -0
- package/js/src/static_dependencies/starknet/types/lib/contract/abi.js +6 -0
- package/js/src/static_dependencies/starknet/types/lib/contract/index.js +6 -0
- package/js/src/static_dependencies/starknet/types/lib/contract/legacy.js +6 -0
- package/js/src/static_dependencies/starknet/types/lib/contract/sierra.js +6 -0
- package/js/src/static_dependencies/starknet/types/lib/index.js +6 -0
- package/js/src/static_dependencies/starknet/types/typedData.js +6 -0
- package/js/src/static_dependencies/starknet/utils/address.js +6 -0
- package/js/src/static_dependencies/starknet/utils/assert.js +6 -0
- package/js/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +6 -0
- package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +6 -0
- package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/byteArray.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/cairo.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/enum/index.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/formatter.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/index.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/parser/index.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/parser/interface.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/requestParser.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/responseParser.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/tuple.js +6 -0
- package/js/src/static_dependencies/starknet/utils/calldata/validate.js +6 -0
- package/js/src/static_dependencies/starknet/utils/encode.js +6 -0
- package/js/src/static_dependencies/starknet/utils/hash/classHash.js +6 -0
- package/js/src/static_dependencies/starknet/utils/hash/index.js +6 -0
- package/js/src/static_dependencies/starknet/utils/merkle.js +6 -0
- package/js/src/static_dependencies/starknet/utils/num.js +6 -0
- package/js/src/static_dependencies/starknet/utils/selector.js +6 -0
- package/js/src/static_dependencies/starknet/utils/shortString.js +6 -0
- package/js/src/static_dependencies/starknet/utils/starknetId.js +6 -0
- package/js/src/static_dependencies/starknet/utils/typedData.js +6 -0
- package/js/src/static_dependencies/starknet/utils/uint256.js +6 -0
- package/js/src/static_dependencies/starknet/utils/url.js +6 -0
- package/js/src/static_dependencies/watchable/src/index.js +6 -0
- package/js/src/static_dependencies/watchable/src/types.js +6 -0
- package/js/src/static_dependencies/watchable/src/unpromise.js +6 -0
- package/js/src/static_dependencies/zklink/zklink-sdk-web.js +6 -0
- package/js/src/timex.js +6 -0
- package/js/src/tokocrypto.js +6 -0
- package/js/src/toobit.js +6 -0
- package/js/src/upbit.d.ts +5 -3
- package/js/src/upbit.js +91 -70
- package/js/src/wavesexchange.js +6 -0
- package/js/src/whitebit.d.ts +84 -1
- package/js/src/whitebit.js +581 -32
- package/js/src/woo.js +6 -0
- package/js/src/woofipro.js +6 -0
- package/js/src/xt.js +6 -0
- package/js/src/yobit.js +6 -0
- package/js/src/zaif.js +6 -0
- package/js/src/zonda.js +6 -0
- package/package.json +1 -1
- package/js/src/static_dependencies/qs/formats.cjs +0 -16
- package/js/src/static_dependencies/qs/formats.d.cts +0 -8
- package/js/src/static_dependencies/qs/index.cjs +0 -9
- package/js/src/static_dependencies/qs/index.d.cts +0 -4
- package/js/src/static_dependencies/qs/parse.d.cts +0 -2
- package/js/src/static_dependencies/qs/stringify.d.cts +0 -2
- /package/js/src/static_dependencies/qs/{utils.d.cts → utils.d.ts} +0 -0
package/js/src/whitebit.js
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
// ----------------------------------------------------------------------------
|
|
2
|
+
|
|
3
|
+
// PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
|
|
4
|
+
// https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
|
|
5
|
+
// EDIT THE CORRESPONDENT .ts FILE INSTEAD
|
|
6
|
+
|
|
1
7
|
// ---------------------------------------------------------------------------
|
|
2
8
|
import Exchange from './abstract/whitebit.js';
|
|
3
9
|
import { ExchangeNotAvailable, ExchangeError, DDoSProtection, BadSymbol, InvalidOrder, ArgumentsRequired, AuthenticationError, OrderNotFound, PermissionDenied, InsufficientFunds, BadRequest, NotSupported } from './base/errors.js';
|
|
@@ -40,7 +46,8 @@ export default class whitebit extends Exchange {
|
|
|
40
46
|
'createStopMarketOrder': true,
|
|
41
47
|
'createStopOrder': true,
|
|
42
48
|
'createTriggerOrder': true,
|
|
43
|
-
'editOrder':
|
|
49
|
+
'editOrder': true,
|
|
50
|
+
'fetchAccounts': true,
|
|
44
51
|
'fetchBalance': true,
|
|
45
52
|
'fetchBorrowRateHistories': false,
|
|
46
53
|
'fetchBorrowRateHistory': false,
|
|
@@ -60,12 +67,14 @@ export default class whitebit extends Exchange {
|
|
|
60
67
|
'fetchDepositWithdrawFee': 'emulated',
|
|
61
68
|
'fetchDepositWithdrawFees': true,
|
|
62
69
|
'fetchFundingHistory': true,
|
|
70
|
+
'fetchFundingLimits': true,
|
|
63
71
|
'fetchFundingRate': true,
|
|
64
72
|
'fetchFundingRateHistory': false,
|
|
65
73
|
'fetchFundingRates': true,
|
|
66
74
|
'fetchIndexOHLCV': false,
|
|
67
75
|
'fetchIsolatedBorrowRate': false,
|
|
68
76
|
'fetchIsolatedBorrowRates': false,
|
|
77
|
+
'fetchLedger': false,
|
|
69
78
|
'fetchMarginMode': false,
|
|
70
79
|
'fetchMarkets': true,
|
|
71
80
|
'fetchMarkOHLCV': false,
|
|
@@ -73,7 +82,9 @@ export default class whitebit extends Exchange {
|
|
|
73
82
|
'fetchOHLCV': true,
|
|
74
83
|
'fetchOpenInterestHistory': false,
|
|
75
84
|
'fetchOpenOrders': true,
|
|
85
|
+
'fetchOrder': true,
|
|
76
86
|
'fetchOrderBook': true,
|
|
87
|
+
'fetchOrders': true,
|
|
77
88
|
'fetchOrderTrades': true,
|
|
78
89
|
'fetchPosition': true,
|
|
79
90
|
'fetchPositionHistory': true,
|
|
@@ -87,7 +98,10 @@ export default class whitebit extends Exchange {
|
|
|
87
98
|
'fetchTrades': true,
|
|
88
99
|
'fetchTradingFee': false,
|
|
89
100
|
'fetchTradingFees': true,
|
|
101
|
+
'fetchTradingLimits': true,
|
|
90
102
|
'fetchTransactionFees': true,
|
|
103
|
+
'fetchTransactions': true,
|
|
104
|
+
'fetchWithdrawals': true,
|
|
91
105
|
'repayCrossMargin': false,
|
|
92
106
|
'repayIsolatedMargin': false,
|
|
93
107
|
'setLeverage': true,
|
|
@@ -221,8 +235,8 @@ export default class whitebit extends Exchange {
|
|
|
221
235
|
'main-account/smart/interest-payment-history',
|
|
222
236
|
'trade-account/balance',
|
|
223
237
|
'trade-account/executed-history',
|
|
224
|
-
'trade-account/order',
|
|
225
238
|
'trade-account/order/history',
|
|
239
|
+
'trade-account/order',
|
|
226
240
|
'order/collateral/limit',
|
|
227
241
|
'order/collateral/market',
|
|
228
242
|
'order/collateral/stop-limit',
|
|
@@ -334,7 +348,14 @@ export default class whitebit extends Exchange {
|
|
|
334
348
|
'untilDays': undefined,
|
|
335
349
|
'symbolRequired': false,
|
|
336
350
|
},
|
|
337
|
-
'fetchOrder':
|
|
351
|
+
'fetchOrder': {
|
|
352
|
+
'checkActive': true,
|
|
353
|
+
'checkExecuted': true,
|
|
354
|
+
'symbolRequired': false,
|
|
355
|
+
'marginMode': false,
|
|
356
|
+
'trigger': false,
|
|
357
|
+
'trailing': false,
|
|
358
|
+
},
|
|
338
359
|
'fetchOpenOrders': {
|
|
339
360
|
'marginMode': false,
|
|
340
361
|
'limit': 100,
|
|
@@ -342,7 +363,15 @@ export default class whitebit extends Exchange {
|
|
|
342
363
|
'trailing': false,
|
|
343
364
|
'symbolRequired': false,
|
|
344
365
|
},
|
|
345
|
-
'fetchOrders':
|
|
366
|
+
'fetchOrders': {
|
|
367
|
+
'marginMode': false,
|
|
368
|
+
'limit': 100,
|
|
369
|
+
'daysBack': undefined,
|
|
370
|
+
'untilDays': undefined,
|
|
371
|
+
'trigger': false,
|
|
372
|
+
'trailing': false,
|
|
373
|
+
'symbolRequired': false,
|
|
374
|
+
},
|
|
346
375
|
'fetchClosedOrders': {
|
|
347
376
|
'marginMode': false,
|
|
348
377
|
'limit': 100,
|
|
@@ -356,6 +385,13 @@ export default class whitebit extends Exchange {
|
|
|
356
385
|
'fetchOHLCV': {
|
|
357
386
|
'limit': 1440,
|
|
358
387
|
},
|
|
388
|
+
'fetchWithdrawals': {
|
|
389
|
+
'marginMode': false,
|
|
390
|
+
'limit': 100,
|
|
391
|
+
'daysBack': undefined,
|
|
392
|
+
'untilDays': undefined,
|
|
393
|
+
'symbolRequired': false,
|
|
394
|
+
},
|
|
359
395
|
},
|
|
360
396
|
'spot': {
|
|
361
397
|
'extends': 'default',
|
|
@@ -928,6 +964,265 @@ export default class whitebit extends Exchange {
|
|
|
928
964
|
}
|
|
929
965
|
return result;
|
|
930
966
|
}
|
|
967
|
+
/**
|
|
968
|
+
* @method
|
|
969
|
+
* @name whitebit#fetchTradingLimits
|
|
970
|
+
* @description fetch the trading limits for a market
|
|
971
|
+
* @see https://docs.whitebit.com/public/http-v4/#market-info
|
|
972
|
+
* @param {string[]|undefined} symbols unified market symbol
|
|
973
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
974
|
+
* @returns {object} a [trading limits structure]{@link https://docs.ccxt.com/#/?id=trading-limits-structure}
|
|
975
|
+
*/
|
|
976
|
+
async fetchTradingLimits(symbols = undefined, params = {}) {
|
|
977
|
+
await this.loadMarkets();
|
|
978
|
+
//
|
|
979
|
+
// Trading limits are derived from market information already loaded by loadMarkets()
|
|
980
|
+
// Market structure includes:
|
|
981
|
+
// {
|
|
982
|
+
// "id": "BTC_USDT", // Market ID
|
|
983
|
+
// "symbol": "BTC/USDT", // Unified symbol
|
|
984
|
+
// "base": "BTC", // Base currency
|
|
985
|
+
// "quote": "USDT", // Quote currency
|
|
986
|
+
// "active": true, // Market active status
|
|
987
|
+
// "type": "spot", // Market type
|
|
988
|
+
// "spot": true, // Spot trading enabled
|
|
989
|
+
// "margin": false, // Margin trading enabled
|
|
990
|
+
// "future": false, // Futures trading enabled
|
|
991
|
+
// "option": false, // Options trading enabled
|
|
992
|
+
// "contract": false, // Contract trading enabled
|
|
993
|
+
// "settle": undefined, // Settlement currency
|
|
994
|
+
// "settleId": undefined, // Settlement currency ID
|
|
995
|
+
// "contractSize": undefined, // Contract size
|
|
996
|
+
// "linear": undefined, // Linear contract
|
|
997
|
+
// "inverse": undefined, // Inverse contract
|
|
998
|
+
// "limits": { // Trading limits
|
|
999
|
+
// "amount": { // Amount limits
|
|
1000
|
+
// "min": 0.00001, // Minimum amount
|
|
1001
|
+
// "max": 1000000 // Maximum amount
|
|
1002
|
+
// },
|
|
1003
|
+
// "price": { // Price limits
|
|
1004
|
+
// "min": 0.01, // Minimum price
|
|
1005
|
+
// "max": 1000000 // Maximum price
|
|
1006
|
+
// },
|
|
1007
|
+
// "cost": { // Cost limits
|
|
1008
|
+
// "min": 5.0, // Minimum cost
|
|
1009
|
+
// "max": 10000000 // Maximum cost
|
|
1010
|
+
// }
|
|
1011
|
+
// },
|
|
1012
|
+
// "precision": { // Precision settings
|
|
1013
|
+
// "amount": 5, // Amount precision
|
|
1014
|
+
// "price": 2 // Price precision
|
|
1015
|
+
// },
|
|
1016
|
+
// "taker": 0.001, // Taker fee
|
|
1017
|
+
// "maker": 0.001, // Maker fee
|
|
1018
|
+
// "percentage": true, // Fee percentage
|
|
1019
|
+
// "tierBased": false // Tier-based fees
|
|
1020
|
+
// }
|
|
1021
|
+
//
|
|
1022
|
+
const result = {};
|
|
1023
|
+
// Process all markets from the loaded markets cache
|
|
1024
|
+
const marketIds = Object.keys(this.markets);
|
|
1025
|
+
for (let i = 0; i < marketIds.length; i++) {
|
|
1026
|
+
const marketId = marketIds[i];
|
|
1027
|
+
const market = this.markets[marketId];
|
|
1028
|
+
if (!market || !market['symbol']) {
|
|
1029
|
+
continue; // Skip invalid markets silently
|
|
1030
|
+
}
|
|
1031
|
+
const symbol = market['symbol'];
|
|
1032
|
+
// Filter by symbols if specified
|
|
1033
|
+
if (symbols) {
|
|
1034
|
+
let symbolFound = false;
|
|
1035
|
+
for (let j = 0; j < symbols.length; j++) {
|
|
1036
|
+
if (symbols[j] === symbol) {
|
|
1037
|
+
symbolFound = true;
|
|
1038
|
+
break;
|
|
1039
|
+
}
|
|
1040
|
+
}
|
|
1041
|
+
if (!symbolFound) {
|
|
1042
|
+
continue; // Skip symbols not in requested list
|
|
1043
|
+
}
|
|
1044
|
+
}
|
|
1045
|
+
// Extract trading limits
|
|
1046
|
+
const limits = this.safeDict(market, 'limits');
|
|
1047
|
+
const amountLimits = this.safeDict(limits, 'amount');
|
|
1048
|
+
const priceLimits = this.safeDict(limits, 'price');
|
|
1049
|
+
const costLimits = this.safeDict(limits, 'cost');
|
|
1050
|
+
// Validate that all required limits exist and are valid numbers
|
|
1051
|
+
const hasAmountLimits = amountLimits && this.safeNumber(amountLimits, 'min') !== undefined && this.safeNumber(amountLimits, 'max') !== undefined;
|
|
1052
|
+
const hasPriceLimits = priceLimits && this.safeNumber(priceLimits, 'min') !== undefined && this.safeNumber(priceLimits, 'max') !== undefined;
|
|
1053
|
+
const hasCostLimits = costLimits && this.safeNumber(costLimits, 'min') !== undefined && this.safeNumber(costLimits, 'max') !== undefined;
|
|
1054
|
+
if (hasAmountLimits && hasPriceLimits && hasCostLimits) {
|
|
1055
|
+
result[symbol] = {
|
|
1056
|
+
'info': market,
|
|
1057
|
+
'limits': {
|
|
1058
|
+
'amount': {
|
|
1059
|
+
'min': this.safeNumber(amountLimits, 'min'),
|
|
1060
|
+
'max': this.safeNumber(amountLimits, 'max'),
|
|
1061
|
+
},
|
|
1062
|
+
'price': {
|
|
1063
|
+
'min': this.safeNumber(priceLimits, 'min'),
|
|
1064
|
+
'max': this.safeNumber(priceLimits, 'max'),
|
|
1065
|
+
},
|
|
1066
|
+
'cost': {
|
|
1067
|
+
'min': this.safeNumber(costLimits, 'min'),
|
|
1068
|
+
'max': this.safeNumber(costLimits, 'max'),
|
|
1069
|
+
},
|
|
1070
|
+
},
|
|
1071
|
+
};
|
|
1072
|
+
}
|
|
1073
|
+
}
|
|
1074
|
+
return result;
|
|
1075
|
+
}
|
|
1076
|
+
/**
|
|
1077
|
+
* @method
|
|
1078
|
+
* @name whitebit#fetchFundingLimits
|
|
1079
|
+
* @description fetch the deposit and withdrawal limits for a currency
|
|
1080
|
+
* @see https://docs.whitebit.com/public/http-v4/#asset-status-list
|
|
1081
|
+
* @see https://docs.whitebit.com/public/http-v4/#fee
|
|
1082
|
+
* @param {string[]|undefined} codes unified currency codes
|
|
1083
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
1084
|
+
* @returns {object} a [funding limits structure]{@link https://docs.ccxt.com/#/?id=funding-limits-structure}
|
|
1085
|
+
*/
|
|
1086
|
+
async fetchFundingLimits(codes = undefined, params = {}) {
|
|
1087
|
+
await this.loadMarkets();
|
|
1088
|
+
// Fetch both currencies and fees data for comprehensive funding limits
|
|
1089
|
+
const [currenciesData, feesData] = await Promise.all([
|
|
1090
|
+
this.fetchCurrencies(),
|
|
1091
|
+
this.v4PublicGetFee(params),
|
|
1092
|
+
]);
|
|
1093
|
+
//
|
|
1094
|
+
// Currencies response structure (from fetchCurrencies):
|
|
1095
|
+
// {
|
|
1096
|
+
// "BTC": {
|
|
1097
|
+
// "id": "BTC", // Currency ID
|
|
1098
|
+
// "code": "BTC", // Currency code
|
|
1099
|
+
// "name": "Bitcoin", // Currency name
|
|
1100
|
+
// "active": true, // Currency active status
|
|
1101
|
+
// "type": "crypto", // Currency type
|
|
1102
|
+
// "precision": 8, // Currency precision
|
|
1103
|
+
// "limits": { // Currency limits
|
|
1104
|
+
// "deposit": { // Deposit limits
|
|
1105
|
+
// "min": 0.00001, // Minimum deposit
|
|
1106
|
+
// "max": 1000000 // Maximum deposit
|
|
1107
|
+
// },
|
|
1108
|
+
// "withdraw": { // Withdrawal limits
|
|
1109
|
+
// "min": 0.00001, // Minimum withdrawal
|
|
1110
|
+
// "max": 1000000 // Maximum withdrawal
|
|
1111
|
+
// }
|
|
1112
|
+
// },
|
|
1113
|
+
// "networks": { // Network-specific limits
|
|
1114
|
+
// "BTC": {
|
|
1115
|
+
// "limits": {
|
|
1116
|
+
// "deposit": { "min": "0.001" },
|
|
1117
|
+
// "withdraw": { "min": "0.002" }
|
|
1118
|
+
// }
|
|
1119
|
+
// }
|
|
1120
|
+
// },
|
|
1121
|
+
// "info": { ... } // Original API response
|
|
1122
|
+
// }
|
|
1123
|
+
// }
|
|
1124
|
+
//
|
|
1125
|
+
// Fees response structure (from /api/v4/public/fee):
|
|
1126
|
+
// {
|
|
1127
|
+
// "USDT (ERC20)": {
|
|
1128
|
+
// "ticker": "USDT",
|
|
1129
|
+
// "name": "Tether US",
|
|
1130
|
+
// "deposit": {
|
|
1131
|
+
// "min_amount": "0.0005",
|
|
1132
|
+
// "max_amount": "0.1",
|
|
1133
|
+
// "fixed": "0.0005",
|
|
1134
|
+
// "flex": {
|
|
1135
|
+
// "min_fee": "100",
|
|
1136
|
+
// "max_fee": "1000",
|
|
1137
|
+
// "percent": "10"
|
|
1138
|
+
// }
|
|
1139
|
+
// },
|
|
1140
|
+
// "withdraw": {
|
|
1141
|
+
// "min_amount": "0.001",
|
|
1142
|
+
// "max_amount": "0",
|
|
1143
|
+
// "fixed": null,
|
|
1144
|
+
// "flex": null
|
|
1145
|
+
// }
|
|
1146
|
+
// }
|
|
1147
|
+
// }
|
|
1148
|
+
//
|
|
1149
|
+
const result = {};
|
|
1150
|
+
const currencyKeys = Object.keys(currenciesData);
|
|
1151
|
+
for (let i = 0; i < currencyKeys.length; i++) {
|
|
1152
|
+
const code = currencyKeys[i];
|
|
1153
|
+
const currency = currenciesData[code];
|
|
1154
|
+
if (!currency) {
|
|
1155
|
+
// Skip invalid currency silently
|
|
1156
|
+
continue;
|
|
1157
|
+
}
|
|
1158
|
+
if (codes !== undefined && !this.inArray(code, codes)) {
|
|
1159
|
+
// Skip currency not in requested list silently
|
|
1160
|
+
continue;
|
|
1161
|
+
}
|
|
1162
|
+
// Find corresponding fee data for this currency
|
|
1163
|
+
let feeData = undefined;
|
|
1164
|
+
const feeKeys = Object.keys(feesData);
|
|
1165
|
+
for (let j = 0; j < feeKeys.length; j++) {
|
|
1166
|
+
const feeKey = feeKeys[j];
|
|
1167
|
+
const fee = feesData[feeKey];
|
|
1168
|
+
if (fee && fee['ticker'] === code) {
|
|
1169
|
+
feeData = fee;
|
|
1170
|
+
break;
|
|
1171
|
+
}
|
|
1172
|
+
}
|
|
1173
|
+
// Build comprehensive funding limits
|
|
1174
|
+
const limits = {
|
|
1175
|
+
'deposit': {
|
|
1176
|
+
'min': currency['limits']['deposit']['min'],
|
|
1177
|
+
'max': currency['limits']['deposit']['max'],
|
|
1178
|
+
},
|
|
1179
|
+
'withdraw': {
|
|
1180
|
+
'min': currency['limits']['withdraw']['min'],
|
|
1181
|
+
'max': currency['limits']['withdraw']['max'],
|
|
1182
|
+
},
|
|
1183
|
+
};
|
|
1184
|
+
// Add fee information if available
|
|
1185
|
+
if (feeData) {
|
|
1186
|
+
const depositFee = feeData['deposit'];
|
|
1187
|
+
const withdrawFee = feeData['withdraw'];
|
|
1188
|
+
if (depositFee) {
|
|
1189
|
+
const depositFeeData = {
|
|
1190
|
+
'fixed': this.safeNumber(depositFee, 'fixed'),
|
|
1191
|
+
};
|
|
1192
|
+
if (depositFee['flex']) {
|
|
1193
|
+
depositFeeData['flex'] = {
|
|
1194
|
+
'min': this.safeNumber(depositFee['flex'], 'min_fee'),
|
|
1195
|
+
'max': this.safeNumber(depositFee['flex'], 'max_fee'),
|
|
1196
|
+
'percent': this.safeNumber(depositFee['flex'], 'percent'),
|
|
1197
|
+
};
|
|
1198
|
+
}
|
|
1199
|
+
limits['deposit']['fee'] = depositFeeData;
|
|
1200
|
+
}
|
|
1201
|
+
if (withdrawFee) {
|
|
1202
|
+
const withdrawFeeData = {
|
|
1203
|
+
'fixed': this.safeNumber(withdrawFee, 'fixed'),
|
|
1204
|
+
};
|
|
1205
|
+
if (withdrawFee['flex']) {
|
|
1206
|
+
withdrawFeeData['flex'] = {
|
|
1207
|
+
'min': this.safeNumber(withdrawFee['flex'], 'min_fee'),
|
|
1208
|
+
'max': this.safeNumber(withdrawFee['flex'], 'max_fee'),
|
|
1209
|
+
'percent': this.safeNumber(withdrawFee['flex'], 'percent'),
|
|
1210
|
+
};
|
|
1211
|
+
}
|
|
1212
|
+
limits['withdraw']['fee'] = withdrawFeeData;
|
|
1213
|
+
}
|
|
1214
|
+
}
|
|
1215
|
+
// Add network-specific limits if available
|
|
1216
|
+
if (currency['networks']) {
|
|
1217
|
+
limits['networks'] = currency['networks'];
|
|
1218
|
+
}
|
|
1219
|
+
result[code] = {
|
|
1220
|
+
'info': currency,
|
|
1221
|
+
'limits': limits,
|
|
1222
|
+
};
|
|
1223
|
+
}
|
|
1224
|
+
return result;
|
|
1225
|
+
}
|
|
931
1226
|
/**
|
|
932
1227
|
* @method
|
|
933
1228
|
* @name whitebit#fetchTicker
|
|
@@ -1045,6 +1340,81 @@ export default class whitebit extends Exchange {
|
|
|
1045
1340
|
'info': ticker,
|
|
1046
1341
|
}, market);
|
|
1047
1342
|
}
|
|
1343
|
+
/**
|
|
1344
|
+
* @method
|
|
1345
|
+
* @name whitebit#fetchOrder
|
|
1346
|
+
* @description fetches information on an order by the id
|
|
1347
|
+
* @see https://docs.whitebit.com/private/http-trade-v4/#query-unexecutedactive-orders
|
|
1348
|
+
* @see https://docs.whitebit.com/private/http-trade-v4/#query-executed-orders
|
|
1349
|
+
* @param {string} id order id
|
|
1350
|
+
* @param {string} symbol unified symbol of the market the order was made in
|
|
1351
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
1352
|
+
* @param {boolean} [params.checkActive] whether to check active orders (default: true)
|
|
1353
|
+
* @param {boolean} [params.checkExecuted] whether to check executed orders (default: true)
|
|
1354
|
+
* @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
|
|
1355
|
+
*/
|
|
1356
|
+
async fetchOrder(id, symbol = undefined, params = {}) {
|
|
1357
|
+
await this.loadMarkets();
|
|
1358
|
+
// Extract control parameters from params
|
|
1359
|
+
const checkActive = this.safeBool(params, 'checkActive', true);
|
|
1360
|
+
const checkExecuted = this.safeBool(params, 'checkExecuted', true);
|
|
1361
|
+
const request = {
|
|
1362
|
+
'orderId': id,
|
|
1363
|
+
};
|
|
1364
|
+
let market = undefined;
|
|
1365
|
+
if (symbol !== undefined) {
|
|
1366
|
+
market = this.market(symbol);
|
|
1367
|
+
request['market'] = market['id'];
|
|
1368
|
+
}
|
|
1369
|
+
// Try active orders first (if enabled)
|
|
1370
|
+
if (checkActive) {
|
|
1371
|
+
try {
|
|
1372
|
+
const response = await this.v4PrivatePostOrders(this.extend(request, params));
|
|
1373
|
+
// Search for order in active orders response (array format)
|
|
1374
|
+
for (let i = 0; i < response.length; i++) {
|
|
1375
|
+
const order = response[i];
|
|
1376
|
+
const orderId = this.safeString(order, 'orderId');
|
|
1377
|
+
if (orderId === id) {
|
|
1378
|
+
const marketId = this.safeString(order, 'market');
|
|
1379
|
+
const marketNew = this.safeMarket(marketId, undefined, '_');
|
|
1380
|
+
return this.parseOrder(order, marketNew);
|
|
1381
|
+
}
|
|
1382
|
+
}
|
|
1383
|
+
}
|
|
1384
|
+
catch (error) {
|
|
1385
|
+
if (!(error instanceof OrderNotFound)) {
|
|
1386
|
+
throw error;
|
|
1387
|
+
}
|
|
1388
|
+
}
|
|
1389
|
+
}
|
|
1390
|
+
// Try executed orders (if enabled)
|
|
1391
|
+
if (checkExecuted) {
|
|
1392
|
+
try {
|
|
1393
|
+
const response = await this.v4PrivatePostTradeAccountOrderHistory(this.extend(request, params));
|
|
1394
|
+
// Search for order in executed orders response (object format)
|
|
1395
|
+
const marketIds = Object.keys(response);
|
|
1396
|
+
for (let i = 0; i < marketIds.length; i++) {
|
|
1397
|
+
const marketId = marketIds[i];
|
|
1398
|
+
const marketNew = this.safeMarket(marketId, undefined, '_');
|
|
1399
|
+
const orders = response[marketId];
|
|
1400
|
+
for (let j = 0; j < orders.length; j++) {
|
|
1401
|
+
const order = orders[j];
|
|
1402
|
+
const orderId = this.safeString(order, 'id');
|
|
1403
|
+
if (orderId === id) {
|
|
1404
|
+
return this.parseOrder(order, marketNew);
|
|
1405
|
+
}
|
|
1406
|
+
}
|
|
1407
|
+
}
|
|
1408
|
+
}
|
|
1409
|
+
catch (error) {
|
|
1410
|
+
if (!(error instanceof OrderNotFound)) {
|
|
1411
|
+
throw error;
|
|
1412
|
+
}
|
|
1413
|
+
}
|
|
1414
|
+
}
|
|
1415
|
+
// If both checks failed or were disabled, throw OrderNotFound
|
|
1416
|
+
throw new OrderNotFound(this.id + ' fetchOrder() order not found: ' + id);
|
|
1417
|
+
}
|
|
1048
1418
|
/**
|
|
1049
1419
|
* @method
|
|
1050
1420
|
* @name whitebit#fetchTickers
|
|
@@ -1587,52 +1957,55 @@ export default class whitebit extends Exchange {
|
|
|
1587
1957
|
* @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
|
|
1588
1958
|
*/
|
|
1589
1959
|
async editOrder(id, symbol, type, side, amount = undefined, price = undefined, params = {}) {
|
|
1590
|
-
if (id === undefined) {
|
|
1591
|
-
throw new ArgumentsRequired(this.id + ' editOrder() requires a id argument');
|
|
1592
|
-
}
|
|
1593
|
-
if (symbol === undefined) {
|
|
1594
|
-
throw new ArgumentsRequired(this.id + ' editOrder() requires a symbol argument');
|
|
1595
|
-
}
|
|
1596
1960
|
await this.loadMarkets();
|
|
1597
1961
|
const market = this.market(symbol);
|
|
1598
1962
|
const request = {
|
|
1599
|
-
'orderId': id,
|
|
1600
1963
|
'market': market['id'],
|
|
1601
1964
|
};
|
|
1602
|
-
|
|
1965
|
+
// Handle clientOrderId vs orderId (clientOrderId takes priority)
|
|
1966
|
+
const clientOrderId = this.safeString(params, 'clientOrderId');
|
|
1603
1967
|
if (clientOrderId !== undefined) {
|
|
1604
|
-
// Update clientOrderId of the order
|
|
1605
1968
|
request['clientOrderId'] = clientOrderId;
|
|
1606
1969
|
}
|
|
1607
|
-
|
|
1608
|
-
|
|
1970
|
+
else {
|
|
1971
|
+
request['orderId'] = id;
|
|
1972
|
+
}
|
|
1973
|
+
// Handle amount vs total parameter based on order type and side
|
|
1974
|
+
const triggerPrice = this.safeNumberN(params, ['triggerPrice', 'stopPrice', 'activationPrice']);
|
|
1609
1975
|
const isStopOrder = (triggerPrice !== undefined);
|
|
1610
|
-
|
|
1976
|
+
// Handle activation price for stop orders
|
|
1611
1977
|
if (isStopOrder) {
|
|
1612
1978
|
request['activation_price'] = this.priceToPrecision(symbol, triggerPrice);
|
|
1979
|
+
}
|
|
1980
|
+
const isLimitOrder = type === 'limit';
|
|
1981
|
+
const total = this.safeNumber(params, 'total');
|
|
1982
|
+
if (total !== undefined) {
|
|
1983
|
+
request['total'] = this.amountToPrecision(symbol, total);
|
|
1984
|
+
}
|
|
1985
|
+
else if (amount !== undefined) {
|
|
1613
1986
|
if (isLimitOrder) {
|
|
1614
|
-
//
|
|
1987
|
+
// Limit orders always use amount parameter
|
|
1615
1988
|
request['amount'] = this.amountToPrecision(symbol, amount);
|
|
1616
|
-
|
|
1989
|
+
}
|
|
1990
|
+
else if (type === 'market' && side === 'buy') {
|
|
1991
|
+
// Market buy orders use total parameter
|
|
1992
|
+
request['total'] = this.amountToPrecision(symbol, amount);
|
|
1617
1993
|
}
|
|
1618
1994
|
else {
|
|
1619
|
-
//
|
|
1620
|
-
|
|
1621
|
-
// Use total parameter instead of amount for modify buy stop market order
|
|
1622
|
-
request['total'] = this.amountToPrecision(symbol, amount);
|
|
1623
|
-
}
|
|
1624
|
-
else {
|
|
1625
|
-
request['amount'] = this.amountToPrecision(symbol, amount);
|
|
1626
|
-
}
|
|
1995
|
+
// Market sell orders use amount parameter
|
|
1996
|
+
request['amount'] = this.amountToPrecision(symbol, amount);
|
|
1627
1997
|
}
|
|
1628
1998
|
}
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
1999
|
+
// Handle price parameter for limit orders
|
|
2000
|
+
if (price !== undefined) {
|
|
2001
|
+
request['price'] = this.priceToPrecision(symbol, price);
|
|
2002
|
+
}
|
|
2003
|
+
// Ensure at least one modifiable parameter is provided
|
|
2004
|
+
const hasModifiableParam = (amount !== undefined) || (price !== undefined) || (triggerPrice !== undefined) || (total !== undefined);
|
|
2005
|
+
if (!hasModifiableParam) {
|
|
2006
|
+
throw new ArgumentsRequired(this.id + ' editOrder() requires at least one of: amount, price, activationPrice, or total parameters');
|
|
1635
2007
|
}
|
|
2008
|
+
params = this.omit(params, ['clientOrderId', 'triggerPrice', 'stopPrice', 'activationPrice', 'total']);
|
|
1636
2009
|
const response = await this.v4PrivatePostOrderModify(this.extend(request, params));
|
|
1637
2010
|
return this.parseOrder(response);
|
|
1638
2011
|
}
|
|
@@ -1723,6 +2096,34 @@ export default class whitebit extends Exchange {
|
|
|
1723
2096
|
//
|
|
1724
2097
|
return this.parseOrders(response, market);
|
|
1725
2098
|
}
|
|
2099
|
+
/**
|
|
2100
|
+
* @method
|
|
2101
|
+
* @name whitebit#fetchOrders
|
|
2102
|
+
* @description fetches information on multiple orders made by the user (combines open and closed orders)
|
|
2103
|
+
* @see https://docs.whitebit.com/private/http-trade-v4/#query-unexecutedactive-orders
|
|
2104
|
+
* @see https://docs.whitebit.com/private/http-trade-v4/#query-executed-orders
|
|
2105
|
+
* @param {string} symbol unified market symbol of the market orders were made in
|
|
2106
|
+
* @param {int} [since] the earliest time in ms to fetch orders for
|
|
2107
|
+
* @param {int} [limit] the maximum number of order structures to retrieve
|
|
2108
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
2109
|
+
* @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
|
|
2110
|
+
*/
|
|
2111
|
+
async fetchOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
2112
|
+
await this.loadMarkets();
|
|
2113
|
+
// Fetch both open and closed orders in parallel
|
|
2114
|
+
const [openOrders, closedOrders] = await Promise.all([
|
|
2115
|
+
this.fetchOpenOrders(symbol, since, limit, params),
|
|
2116
|
+
this.fetchClosedOrders(symbol, since, limit, params),
|
|
2117
|
+
]);
|
|
2118
|
+
const allOrders = this.arrayConcat(openOrders, closedOrders);
|
|
2119
|
+
// Sort by timestamp (most recent first)
|
|
2120
|
+
const sortedOrders = this.sortBy(allOrders, 'timestamp', true);
|
|
2121
|
+
// Apply limit if specified (since and symbol filtering already handled by individual methods)
|
|
2122
|
+
if (limit !== undefined && sortedOrders.length > limit) {
|
|
2123
|
+
return sortedOrders.slice(0, limit);
|
|
2124
|
+
}
|
|
2125
|
+
return sortedOrders;
|
|
2126
|
+
}
|
|
1726
2127
|
/**
|
|
1727
2128
|
* @method
|
|
1728
2129
|
* @name whitebit#cancelAllOrdersAfter
|
|
@@ -2097,6 +2498,109 @@ export default class whitebit extends Exchange {
|
|
|
2097
2498
|
const data = this.safeList(response, 'records', []);
|
|
2098
2499
|
return this.parseTrades(data, market);
|
|
2099
2500
|
}
|
|
2501
|
+
/**
|
|
2502
|
+
* @method
|
|
2503
|
+
* @name whitebit#fetchWithdrawals
|
|
2504
|
+
* @description fetch all withdrawals made from an account
|
|
2505
|
+
* @see https://docs.whitebit.com/private/http-main-v4/#get-depositwithdraw-history
|
|
2506
|
+
* @param {string} code unified currency code
|
|
2507
|
+
* @param {int} [since] the earliest time in ms to fetch withdrawals for
|
|
2508
|
+
* @param {int} [limit] the maximum number of withdrawals structures to retrieve
|
|
2509
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
2510
|
+
* @param {string} [params.transactionMethod] transaction method (1=deposit, 2=withdrawal) - automatically set to '2' for withdrawals
|
|
2511
|
+
* @returns {object[]} a list of [transaction structures]{@link https://docs.ccxt.com/#/?id=transaction-structure}
|
|
2512
|
+
*/
|
|
2513
|
+
async fetchWithdrawals(code = undefined, since = undefined, limit = undefined, params = {}) {
|
|
2514
|
+
await this.loadMarkets();
|
|
2515
|
+
let currency = undefined;
|
|
2516
|
+
const request = {};
|
|
2517
|
+
if (code !== undefined) {
|
|
2518
|
+
currency = this.currency(code);
|
|
2519
|
+
request['ticker'] = currency['id'];
|
|
2520
|
+
}
|
|
2521
|
+
if (since !== undefined) {
|
|
2522
|
+
request['startDate'] = this.parseToInt(since / 1000);
|
|
2523
|
+
}
|
|
2524
|
+
if (limit === undefined || limit > 100) {
|
|
2525
|
+
limit = 100;
|
|
2526
|
+
}
|
|
2527
|
+
if (limit !== undefined) {
|
|
2528
|
+
request['limit'] = limit;
|
|
2529
|
+
}
|
|
2530
|
+
// Use transactionMethod parameter to filter withdrawals server-side (method = 2)
|
|
2531
|
+
request['transactionMethod'] = '2';
|
|
2532
|
+
const response = await this.v4PrivatePostMainAccountHistory(this.extend(request, params));
|
|
2533
|
+
//
|
|
2534
|
+
// [
|
|
2535
|
+
// {
|
|
2536
|
+
// "id": 123456789, // Transaction ID
|
|
2537
|
+
// "method": "2", // Method: 1=deposit, 2=withdrawal (filtered server-side)
|
|
2538
|
+
// "ticker": "BTC", // Currency ticker
|
|
2539
|
+
// "amount": "0.001", // Transaction amount
|
|
2540
|
+
// "address": "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa", // Withdrawal address
|
|
2541
|
+
// "memo": "", // Memo/tag (if required)
|
|
2542
|
+
// "network": "BTC", // Network name
|
|
2543
|
+
// "fee": "0.0005", // Transaction fee
|
|
2544
|
+
// "status": "1", // Status: 0=pending, 1=completed, 2=failed
|
|
2545
|
+
// "timestamp": 1641051917, // Transaction timestamp
|
|
2546
|
+
// "txid": "abc123def456..." // Transaction hash
|
|
2547
|
+
// },
|
|
2548
|
+
// { ... } // More withdrawal transactions
|
|
2549
|
+
// ]
|
|
2550
|
+
//
|
|
2551
|
+
return this.parseTransactions(response, currency, since, limit);
|
|
2552
|
+
}
|
|
2553
|
+
/**
|
|
2554
|
+
* @method
|
|
2555
|
+
* @name whitebit#fetchTransactions
|
|
2556
|
+
* @description fetch history of deposits and withdrawals
|
|
2557
|
+
* @see https://docs.whitebit.com/private/http-main-v4/#get-depositwithdraw-history
|
|
2558
|
+
* @param {string} [code] unified currency code
|
|
2559
|
+
* @param {int} [since] the earliest time in ms to fetch transactions for
|
|
2560
|
+
* @param {int} [limit] the maximum number of transactions structures to retrieve
|
|
2561
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
2562
|
+
* @param {string} [params.transactionMethod] transaction method (1=deposit, 2=withdrawal) - automatically set to '1' for deposits
|
|
2563
|
+
* @returns {object[]} a list of [transaction structures]{@link https://docs.ccxt.com/#/?id=transaction-structure}
|
|
2564
|
+
*/
|
|
2565
|
+
async fetchTransactions(code = undefined, since = undefined, limit = undefined, params = {}) {
|
|
2566
|
+
await this.loadMarkets();
|
|
2567
|
+
let currency = undefined;
|
|
2568
|
+
const request = {};
|
|
2569
|
+
if (code !== undefined) {
|
|
2570
|
+
currency = this.currency(code);
|
|
2571
|
+
request['ticker'] = currency['id'];
|
|
2572
|
+
}
|
|
2573
|
+
if (since !== undefined) {
|
|
2574
|
+
request['startDate'] = this.parseToInt(since / 1000);
|
|
2575
|
+
}
|
|
2576
|
+
if (limit === undefined || limit > 100) {
|
|
2577
|
+
limit = 100;
|
|
2578
|
+
}
|
|
2579
|
+
if (limit !== undefined) {
|
|
2580
|
+
request['limit'] = limit;
|
|
2581
|
+
}
|
|
2582
|
+
// Do not filter by transactionMethod to get all transactions (deposits and withdrawals)
|
|
2583
|
+
const response = await this.v4PrivatePostMainAccountHistory(this.extend(request, params));
|
|
2584
|
+
//
|
|
2585
|
+
// [
|
|
2586
|
+
// {
|
|
2587
|
+
// "id": 123456789, // Transaction ID
|
|
2588
|
+
// "method": "1", // Method: 1=deposit, 2=withdrawal
|
|
2589
|
+
// "ticker": "BTC", // Currency ticker
|
|
2590
|
+
// "amount": "0.001", // Transaction amount
|
|
2591
|
+
// "address": "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa", // Transaction address
|
|
2592
|
+
// "memo": "", // Memo/tag (if required)
|
|
2593
|
+
// "network": "BTC", // Network name
|
|
2594
|
+
// "fee": "0.0005", // Transaction fee
|
|
2595
|
+
// "status": "1", // Status: 0=pending, 1=completed, 2=failed
|
|
2596
|
+
// "timestamp": 1641051917, // Transaction timestamp
|
|
2597
|
+
// "txid": "abc123def456..." // Transaction hash
|
|
2598
|
+
// },
|
|
2599
|
+
// { ... } // More transactions (deposits and withdrawals)
|
|
2600
|
+
// ]
|
|
2601
|
+
//
|
|
2602
|
+
return this.parseTransactions(response, currency, since, limit);
|
|
2603
|
+
}
|
|
2100
2604
|
/**
|
|
2101
2605
|
* @method
|
|
2102
2606
|
* @name whitebit#fetchDepositAddress
|
|
@@ -2227,6 +2731,47 @@ export default class whitebit extends Exchange {
|
|
|
2227
2731
|
'tag': this.safeString(depositAddress, 'memo'),
|
|
2228
2732
|
};
|
|
2229
2733
|
}
|
|
2734
|
+
/**
|
|
2735
|
+
* @method
|
|
2736
|
+
* @name whitebit#fetchAccounts
|
|
2737
|
+
* @description fetch all the accounts associated with a profile
|
|
2738
|
+
* @see https://docs.whitebit.com/private/http-main-v4/#sub-account-list
|
|
2739
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
2740
|
+
* @returns {object[]} a list of [account structures]{@link https://docs.ccxt.com/#/?id=account-structure}
|
|
2741
|
+
*/
|
|
2742
|
+
async fetchAccounts(params = {}) {
|
|
2743
|
+
await this.loadMarkets();
|
|
2744
|
+
const accounts = [];
|
|
2745
|
+
// Fetch sub-accounts
|
|
2746
|
+
//
|
|
2747
|
+
// [
|
|
2748
|
+
// {
|
|
2749
|
+
// "id": "12345",
|
|
2750
|
+
// "name": "SubAccount1",
|
|
2751
|
+
// "status": "active",
|
|
2752
|
+
// "permissions": ["trade", "withdraw"]
|
|
2753
|
+
// }
|
|
2754
|
+
// ]
|
|
2755
|
+
//
|
|
2756
|
+
const subAccounts = await this.v4PrivatePostSubAccountList(params);
|
|
2757
|
+
if (subAccounts && Array.isArray(subAccounts)) {
|
|
2758
|
+
for (let i = 0; i < subAccounts.length; i++) {
|
|
2759
|
+
const subAccount = this.safeValue(subAccounts, i);
|
|
2760
|
+
const accountId = this.safeString(subAccount, 'id');
|
|
2761
|
+
const accountName = this.safeString(subAccount, 'name');
|
|
2762
|
+
if (accountId) {
|
|
2763
|
+
accounts.push({
|
|
2764
|
+
'id': accountId,
|
|
2765
|
+
'type': 'subaccount',
|
|
2766
|
+
'name': accountName || 'SubAccount ' + accountId,
|
|
2767
|
+
'code': undefined,
|
|
2768
|
+
'info': subAccount,
|
|
2769
|
+
});
|
|
2770
|
+
}
|
|
2771
|
+
}
|
|
2772
|
+
}
|
|
2773
|
+
return accounts;
|
|
2774
|
+
}
|
|
2230
2775
|
/**
|
|
2231
2776
|
* @method
|
|
2232
2777
|
* @name whitebit#setLeverage
|
|
@@ -3362,6 +3907,10 @@ export default class whitebit extends Exchange {
|
|
|
3362
3907
|
const query = this.omit(params, this.extractParams(path));
|
|
3363
3908
|
const version = this.safeValue(api, 0);
|
|
3364
3909
|
const accessibility = this.safeValue(api, 1);
|
|
3910
|
+
if (headers === undefined) {
|
|
3911
|
+
headers = {};
|
|
3912
|
+
}
|
|
3913
|
+
headers['User-Agent'] = 'ccxt/' + this.id + '-' + this.version;
|
|
3365
3914
|
const pathWithParams = '/' + this.implodeParams(path, params);
|
|
3366
3915
|
let url = this.urls['api'][version][accessibility] + pathWithParams;
|
|
3367
3916
|
if (accessibility === 'public') {
|