ccxt 4.5.4 → 4.5.6
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 +7 -6
- package/dist/ccxt.browser.min.js +15 -15
- package/dist/cjs/ccxt.js +11 -6
- 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 +11 -0
- 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 +11 -0
- 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 +2280 -0
- package/dist/cjs/src/base/Exchange.js +226 -62
- 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/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 +5 -5
- package/dist/cjs/src/binance.js +80 -21
- 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 +6 -3
- package/dist/cjs/src/bit2c.js +1 -1
- package/dist/cjs/src/bitbank.js +2 -2
- package/dist/cjs/src/bitbns.js +1 -1
- package/dist/cjs/src/bitfinex.js +1 -1
- package/dist/cjs/src/bitflyer.js +1 -1
- package/dist/cjs/src/bitget.js +73 -19
- package/dist/cjs/src/bithumb.js +1 -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/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 +187 -128
- package/dist/cjs/src/cex.js +1 -1
- package/dist/cjs/src/coinbaseadvanced.js +1 -1
- package/dist/cjs/src/coincatch.js +2 -2
- 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 +12 -1
- package/dist/cjs/src/coinone.js +1 -1
- package/dist/cjs/src/coinsph.js +4 -2
- package/dist/cjs/src/coinspot.js +1 -1
- package/dist/cjs/src/cryptocom.js +7 -4
- 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 +9 -3
- package/dist/cjs/src/gateio.js +1 -1
- package/dist/cjs/src/gemini.js +13 -8
- package/dist/cjs/src/hashkey.js +1 -1
- package/dist/cjs/src/hibachi.js +1 -1
- package/dist/cjs/src/hitbtc.js +0 -1
- package/dist/cjs/src/hollaex.js +1 -1
- package/dist/cjs/src/htx.js +1 -1
- package/dist/cjs/src/huobi.js +1 -1
- package/dist/cjs/src/hyperliquid.js +4 -1
- package/dist/cjs/src/independentreserve.js +1 -1
- package/dist/cjs/src/indodax.js +1 -1
- package/dist/cjs/src/kraken.js +7 -3
- package/dist/cjs/src/krakenfutures.js +2 -2
- package/dist/cjs/src/kucoin.js +2 -3
- package/dist/cjs/src/kucoinfutures.js +52 -4
- package/dist/cjs/src/latoken.js +1 -1
- package/dist/cjs/src/lbank.js +1 -1
- package/dist/cjs/src/luno.js +5 -2
- package/dist/cjs/src/mercado.js +1 -1
- package/dist/cjs/src/mexc.js +5 -2
- 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 +5 -2
- package/dist/cjs/src/okx.js +59 -18
- package/dist/cjs/src/okxus.js +1 -1
- package/dist/cjs/src/onetrading.js +161 -66
- package/dist/cjs/src/oxfun.js +1 -1
- 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/phemex.js +16 -10
- package/dist/cjs/src/poloniex.js +1 -1
- package/dist/cjs/src/pro/alpaca.js +1 -1
- package/dist/cjs/src/pro/apex.js +2 -1
- package/dist/cjs/src/pro/ascendex.js +1 -1
- package/dist/cjs/src/pro/backpack.js +1325 -0
- package/dist/cjs/src/pro/bequant.js +1 -1
- package/dist/cjs/src/pro/binance.js +159 -19
- 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 +373 -88
- 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 +4 -1
- package/dist/cjs/src/pro/cex.js +2 -1
- package/dist/cjs/src/pro/coinbase.js +227 -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 +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/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 +1 -1
- 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 +2 -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 +0 -1
- package/dist/cjs/src/pro/luno.js +1 -1
- package/dist/cjs/src/pro/mexc.js +24 -24
- 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 +47 -11
- 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 +1 -1
- 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 +1163 -0
- package/dist/cjs/src/pro/upbit.js +1 -1
- package/dist/cjs/src/pro/whitebit.js +1 -1
- package/dist/cjs/src/pro/xt.js +1 -1
- package/dist/cjs/src/probit.js +1 -1
- package/dist/cjs/src/protobuf/mexc/compiled.cjs.js +1 -0
- 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/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/scure-base/index.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/timex.js +0 -1
- package/dist/cjs/src/tokocrypto.js +1 -1
- package/dist/cjs/src/toobit.js +2999 -0
- package/dist/cjs/src/upbit.js +1 -1
- package/dist/cjs/src/wavesexchange.js +1 -1
- package/dist/cjs/src/whitebit.js +1 -1
- package/dist/cjs/src/woo.js +1 -1
- package/dist/cjs/src/woofipro.js +1 -1
- package/dist/cjs/src/xt.js +10 -1
- package/dist/cjs/src/yobit.js +10 -1
- package/dist/cjs/src/zaif.js +1 -1
- package/dist/cjs/src/zonda.js +1 -1
- package/js/ccxt.d.ts +14 -8
- package/js/ccxt.js +10 -12
- package/js/src/abstract/alpaca.js +0 -6
- package/js/src/abstract/apex.js +0 -6
- package/js/src/abstract/ascendex.js +0 -6
- package/js/src/abstract/backpack.d.ts +63 -0
- package/js/src/abstract/backpack.js +5 -0
- 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/btcalpha.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/bybit.js +0 -6
- package/js/src/abstract/cex.js +0 -6
- package/js/src/abstract/coinbase.js +0 -6
- package/js/src/abstract/coinbaseadvanced.js +0 -6
- package/js/src/abstract/coinbaseexchange.js +0 -6
- package/js/src/abstract/coinbaseinternational.js +0 -6
- package/js/src/abstract/coincatch.js +0 -6
- package/js/src/abstract/coincheck.js +0 -6
- package/js/src/abstract/coinex.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/defx.js +0 -6
- package/js/src/abstract/delta.js +0 -6
- package/js/src/abstract/deribit.js +0 -6
- package/js/src/abstract/derive.js +0 -6
- package/js/src/abstract/digifinex.js +0 -6
- package/js/src/abstract/exmo.js +0 -6
- package/js/src/abstract/fmfwio.js +0 -6
- package/js/src/abstract/foxbit.js +0 -6
- package/js/src/abstract/gate.js +0 -6
- package/js/src/abstract/gateio.js +0 -6
- package/js/src/abstract/gemini.js +0 -6
- package/js/src/abstract/hashkey.js +0 -6
- package/js/src/abstract/hibachi.js +0 -6
- package/js/src/abstract/hitbtc.js +0 -6
- package/js/src/abstract/hollaex.js +0 -6
- package/js/src/abstract/htx.js +0 -6
- package/js/src/abstract/huobi.js +0 -6
- package/js/src/abstract/hyperliquid.js +0 -6
- package/js/src/abstract/independentreserve.js +0 -6
- package/js/src/abstract/indodax.js +0 -6
- package/js/src/abstract/kraken.js +0 -6
- package/js/src/abstract/krakenfutures.js +0 -6
- package/js/src/abstract/kucoin.js +0 -6
- package/js/src/abstract/kucoinfutures.d.ts +1 -0
- package/js/src/abstract/kucoinfutures.js +0 -6
- package/js/src/abstract/latoken.js +0 -6
- package/js/src/abstract/lbank.js +0 -6
- package/js/src/abstract/luno.js +0 -6
- package/js/src/abstract/mercado.js +0 -6
- package/js/src/abstract/mexc.js +0 -6
- package/js/src/abstract/modetrade.js +0 -6
- package/js/src/abstract/myokx.d.ts +1 -0
- 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/oceanex.js +0 -6
- package/js/src/abstract/okcoin.js +0 -6
- package/js/src/abstract/okx.d.ts +1 -0
- package/js/src/abstract/okx.js +0 -6
- package/js/src/abstract/okxus.d.ts +1 -0
- package/js/src/abstract/okxus.js +0 -6
- package/js/src/abstract/onetrading.js +0 -6
- package/js/src/abstract/oxfun.js +0 -6
- package/js/src/abstract/p2b.js +0 -6
- package/js/src/abstract/paradex.js +0 -6
- package/js/src/abstract/paymium.js +0 -6
- package/js/src/abstract/phemex.d.ts +1 -1
- package/js/src/abstract/phemex.js +0 -6
- package/js/src/abstract/poloniex.js +0 -6
- package/js/src/abstract/probit.js +0 -6
- package/js/src/abstract/timex.js +0 -6
- package/js/src/abstract/tokocrypto.js +0 -6
- package/js/src/abstract/toobit.d.ts +66 -0
- package/js/src/abstract/toobit.js +5 -0
- package/js/src/abstract/upbit.js +0 -6
- package/js/src/abstract/wavesexchange.js +0 -6
- package/js/src/abstract/whitebit.js +0 -6
- package/js/src/abstract/woo.js +0 -6
- package/js/src/abstract/woofipro.js +0 -6
- package/js/src/abstract/xt.js +0 -6
- package/js/src/abstract/yobit.js +0 -6
- package/js/src/abstract/zaif.js +0 -6
- package/js/src/abstract/zonda.js +0 -6
- package/js/src/alpaca.js +0 -6
- package/js/src/apex.js +0 -6
- package/js/src/ascendex.js +0 -6
- package/js/src/backpack.d.ts +371 -0
- package/js/src/backpack.js +2273 -0
- package/js/src/base/Exchange.d.ts +48 -40
- package/js/src/base/Exchange.js +231 -72
- 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/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.d.ts +1 -3
- package/js/src/base/types.js +0 -6
- package/js/src/base/ws/Cache.js +0 -6
- package/js/src/base/ws/Client.js +0 -6
- package/js/src/base/ws/Future.js +0 -6
- package/js/src/base/ws/OrderBook.js +0 -6
- package/js/src/base/ws/OrderBookSide.js +0 -6
- package/js/src/base/ws/WsClient.js +0 -6
- package/js/src/base/ws/functions.js +0 -6
- package/js/src/bequant.js +0 -6
- package/js/src/bigone.js +4 -10
- package/js/src/binance.d.ts +10 -1
- package/js/src/binance.js +79 -26
- package/js/src/binancecoinm.js +0 -6
- package/js/src/binanceus.js +0 -6
- package/js/src/binanceusdm.js +0 -6
- package/js/src/bingx.js +5 -8
- package/js/src/bit2c.js +0 -6
- package/js/src/bitbank.js +1 -7
- package/js/src/bitbns.js +0 -6
- package/js/src/bitfinex.js +0 -6
- package/js/src/bitflyer.js +0 -6
- package/js/src/bitget.d.ts +3 -1
- package/js/src/bitget.js +72 -24
- package/js/src/bithumb.js +0 -6
- package/js/src/bitmart.js +0 -6
- package/js/src/bitmex.js +0 -6
- package/js/src/bitopro.js +0 -6
- package/js/src/bitrue.js +0 -6
- package/js/src/bitso.js +0 -6
- package/js/src/bitstamp.js +0 -6
- package/js/src/bitteam.js +0 -6
- package/js/src/bittrade.js +0 -6
- package/js/src/bitvavo.js +0 -6
- package/js/src/blockchaincom.js +0 -6
- package/js/src/blofin.js +0 -6
- package/js/src/btcalpha.js +0 -6
- package/js/src/btcbox.js +0 -6
- package/js/src/btcmarkets.js +0 -6
- package/js/src/btcturk.js +0 -6
- package/js/src/bybit.d.ts +8 -0
- package/js/src/bybit.js +186 -133
- package/js/src/cex.js +0 -6
- package/js/src/coinbase.d.ts +1 -1
- package/js/src/coinbase.js +0 -6
- package/js/src/coinbaseadvanced.js +0 -6
- package/js/src/coinbaseexchange.js +0 -6
- package/js/src/coinbaseinternational.js +0 -6
- package/js/src/coincatch.js +1 -7
- package/js/src/coincheck.js +0 -6
- package/js/src/coinex.js +0 -6
- package/js/src/coinmate.js +0 -6
- package/js/src/coinmetro.js +11 -6
- package/js/src/coinone.js +0 -6
- package/js/src/coinsph.js +4 -7
- package/js/src/coinspot.js +0 -6
- package/js/src/cryptocom.js +6 -9
- package/js/src/cryptomus.js +0 -6
- package/js/src/defx.js +0 -6
- package/js/src/delta.js +0 -6
- package/js/src/deribit.js +0 -6
- package/js/src/derive.js +0 -6
- package/js/src/digifinex.js +0 -6
- package/js/src/exmo.js +0 -6
- package/js/src/fmfwio.js +0 -6
- package/js/src/foxbit.js +0 -6
- package/js/src/gate.d.ts +6 -0
- package/js/src/gate.js +8 -8
- package/js/src/gateio.js +0 -6
- package/js/src/gemini.js +12 -13
- package/js/src/hashkey.js +0 -6
- package/js/src/hibachi.js +0 -6
- package/js/src/hitbtc.js +0 -6
- package/js/src/hollaex.js +0 -6
- package/js/src/htx.js +0 -6
- package/js/src/huobi.js +0 -6
- package/js/src/hyperliquid.js +3 -6
- package/js/src/independentreserve.js +0 -6
- package/js/src/indodax.js +0 -6
- package/js/src/kraken.d.ts +1 -1
- package/js/src/kraken.js +6 -8
- package/js/src/krakenfutures.js +1 -7
- package/js/src/kucoin.js +1 -8
- package/js/src/kucoinfutures.d.ts +14 -1
- package/js/src/kucoinfutures.js +51 -9
- package/js/src/latoken.js +0 -6
- package/js/src/lbank.js +0 -6
- package/js/src/luno.js +4 -7
- package/js/src/mercado.js +0 -6
- package/js/src/mexc.js +4 -7
- package/js/src/modetrade.js +0 -6
- package/js/src/myokx.js +0 -6
- package/js/src/ndax.js +0 -6
- package/js/src/novadax.js +0 -6
- package/js/src/oceanex.js +0 -6
- package/js/src/okcoin.js +4 -7
- package/js/src/okx.js +58 -23
- package/js/src/okxus.js +0 -6
- package/js/src/onetrading.d.ts +1 -0
- package/js/src/onetrading.js +160 -71
- package/js/src/oxfun.js +0 -6
- package/js/src/p2b.js +0 -6
- package/js/src/paradex.js +0 -6
- package/js/src/paymium.js +0 -6
- package/js/src/phemex.d.ts +3 -3
- package/js/src/phemex.js +16 -16
- package/js/src/poloniex.js +0 -6
- package/js/src/pro/alpaca.js +0 -6
- package/js/src/pro/apex.js +1 -6
- package/js/src/pro/ascendex.js +0 -6
- package/js/src/pro/backpack.d.ts +264 -0
- package/js/src/pro/backpack.js +1318 -0
- package/js/src/pro/bequant.js +0 -6
- package/js/src/pro/binance.d.ts +24 -0
- package/js/src/pro/binance.js +159 -25
- package/js/src/pro/binancecoinm.js +0 -6
- package/js/src/pro/binanceus.js +0 -6
- package/js/src/pro/binanceusdm.js +0 -6
- package/js/src/pro/bingx.js +0 -6
- package/js/src/pro/bitfinex.js +0 -6
- package/js/src/pro/bitget.d.ts +12 -0
- package/js/src/pro/bitget.js +372 -93
- package/js/src/pro/bithumb.js +0 -6
- package/js/src/pro/bitmart.js +0 -6
- package/js/src/pro/bitmex.js +0 -6
- package/js/src/pro/bitopro.js +0 -6
- package/js/src/pro/bitrue.js +0 -6
- package/js/src/pro/bitstamp.js +0 -6
- package/js/src/pro/bittrade.js +0 -6
- package/js/src/pro/bitvavo.js +0 -6
- package/js/src/pro/blockchaincom.js +0 -6
- package/js/src/pro/blofin.js +0 -6
- package/js/src/pro/bybit.js +3 -6
- package/js/src/pro/cex.js +1 -6
- package/js/src/pro/coinbase.d.ts +85 -0
- package/js/src/pro/coinbase.js +226 -6
- package/js/src/pro/coinbaseadvanced.js +0 -6
- package/js/src/pro/coinbaseexchange.js +0 -6
- package/js/src/pro/coinbaseinternational.js +0 -6
- package/js/src/pro/coincatch.js +0 -6
- package/js/src/pro/coincheck.js +0 -6
- package/js/src/pro/coinex.js +0 -6
- package/js/src/pro/coinone.js +0 -6
- package/js/src/pro/cryptocom.js +0 -6
- package/js/src/pro/defx.js +0 -6
- package/js/src/pro/deribit.js +0 -6
- package/js/src/pro/derive.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/hashkey.js +0 -6
- package/js/src/pro/hitbtc.js +0 -6
- package/js/src/pro/hollaex.js +0 -6
- package/js/src/pro/htx.js +0 -6
- package/js/src/pro/huobi.js +0 -6
- package/js/src/pro/hyperliquid.js +0 -6
- package/js/src/pro/independentreserve.js +1 -6
- package/js/src/pro/kraken.js +0 -6
- package/js/src/pro/krakenfutures.js +0 -6
- package/js/src/pro/kucoin.js +0 -6
- package/js/src/pro/kucoinfutures.js +0 -6
- package/js/src/pro/lbank.js +0 -6
- package/js/src/pro/luno.js +0 -6
- package/js/src/pro/mexc.js +23 -29
- package/js/src/pro/modetrade.js +0 -6
- package/js/src/pro/myokx.js +0 -6
- package/js/src/pro/ndax.js +0 -6
- package/js/src/pro/okcoin.js +0 -6
- package/js/src/pro/okx.d.ts +7 -1
- package/js/src/pro/okx.js +46 -16
- package/js/src/pro/okxus.js +0 -6
- package/js/src/pro/onetrading.js +0 -6
- package/js/src/pro/oxfun.js +0 -6
- package/js/src/pro/p2b.js +0 -6
- package/js/src/pro/paradex.js +0 -6
- package/js/src/pro/phemex.js +0 -6
- package/js/src/pro/poloniex.js +0 -6
- package/js/src/pro/probit.js +0 -6
- package/js/src/pro/toobit.d.ts +174 -0
- package/js/src/pro/toobit.js +1162 -0
- package/js/src/pro/upbit.js +0 -6
- package/js/src/pro/whitebit.js +0 -6
- package/js/src/pro/woo.js +0 -6
- package/js/src/pro/woofipro.js +0 -6
- package/js/src/pro/xt.js +0 -6
- package/js/src/probit.js +0 -6
- package/js/src/protobuf/mexc/compiled.cjs +0 -6
- package/js/src/static_dependencies/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.cjs +0 -6
- package/js/src/static_dependencies/qs/index.cjs +0 -6
- package/js/src/static_dependencies/qs/parse.cjs +0 -6
- package/js/src/static_dependencies/qs/stringify.cjs +0 -6
- package/js/src/static_dependencies/qs/utils.cjs +0 -6
- package/js/src/static_dependencies/scure-base/index.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/timex.js +0 -6
- package/js/src/tokocrypto.js +0 -6
- package/js/src/toobit.d.ts +456 -0
- package/js/src/toobit.js +2992 -0
- package/js/src/upbit.js +0 -6
- package/js/src/wavesexchange.js +0 -6
- package/js/src/whitebit.js +0 -6
- package/js/src/woo.js +0 -6
- package/js/src/woofipro.js +0 -6
- package/js/src/xt.d.ts +1 -0
- package/js/src/xt.js +9 -6
- package/js/src/yobit.js +9 -6
- package/js/src/zaif.js +0 -6
- package/js/src/zonda.js +0 -6
- package/package.json +1 -1
- package/dist/373.ccxt.browser.js +0 -7630
- package/dist/373.ccxt.browser.min.js +0 -1
- package/js/src/abstract/tradeogre.d.ts +0 -21
- package/js/src/abstract/tradeogre.js +0 -11
- package/js/src/pro/tradeogre.d.ts +0 -49
- package/js/src/pro/tradeogre.js +0 -284
- package/js/src/tradeogre.d.ts +0 -149
- package/js/src/tradeogre.js +0 -878
package/js/src/base/Exchange.js
CHANGED
|
@@ -1,17 +1,11 @@
|
|
|
1
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
|
-
// ----------------------------------------------------------------------------
|
|
8
|
-
/* eslint-disable */
|
|
9
2
|
import * as functions from './functions.js';
|
|
10
|
-
|
|
11
|
-
|
|
3
|
+
import { keys as keysFunc, values as valuesFunc,
|
|
4
|
+
// inArray as inArrayFunc,
|
|
5
|
+
vwap as vwapFunc, } from './functions.js';
|
|
12
6
|
// import exceptions from "./errors.js"
|
|
13
7
|
import { // eslint-disable-line object-curly-newline
|
|
14
|
-
ExchangeError, BadSymbol, NullResponse, InvalidAddress, InvalidOrder, NotSupported, OperationFailed, BadResponse, AuthenticationError, DDoSProtection, RequestTimeout, NetworkError, InvalidProxySettings, ExchangeNotAvailable, ArgumentsRequired, RateLimitExceeded, BadRequest, UnsubscribeError, ExchangeClosedByUser } from
|
|
8
|
+
ExchangeError, BadSymbol, NullResponse, InvalidAddress, InvalidOrder, NotSupported, OperationFailed, BadResponse, AuthenticationError, DDoSProtection, RequestTimeout, NetworkError, InvalidProxySettings, ExchangeNotAvailable, ArgumentsRequired, RateLimitExceeded, BadRequest, UnsubscribeError, ExchangeClosedByUser, } from './errors.js';
|
|
15
9
|
import { Precise } from './Precise.js';
|
|
16
10
|
//-----------------------------------------------------------------------------
|
|
17
11
|
import WsClient from './ws/WsClient.js';
|
|
@@ -23,28 +17,31 @@ import { axolotl } from './functions/crypto.js';
|
|
|
23
17
|
import totp from './functions/totp.js';
|
|
24
18
|
import ethers from '../static_dependencies/ethers/index.js';
|
|
25
19
|
import { TypedDataEncoder } from '../static_dependencies/ethers/hash/index.js';
|
|
26
|
-
import { SecureRandom } from
|
|
20
|
+
import { SecureRandom } from '../static_dependencies/jsencrypt/lib/jsbn/rng.js';
|
|
27
21
|
import { getStarkKey, ethSigToPrivate, sign as starknetCurveSign } from '../static_dependencies/scure-starknet/index.js';
|
|
28
22
|
import init, * as zklink from '../static_dependencies/zklink/zklink-sdk-web.js';
|
|
29
23
|
import * as Starknet from '../static_dependencies/starknet/index.js';
|
|
30
24
|
import { sha256 } from '../static_dependencies/noble-hashes/sha256.js';
|
|
25
|
+
const { isNode, selfIsDefined, deepExtend, extend, clone, flatten, unique, indexBy, sortBy, sortBy2, safeFloat2, groupBy, aggregate, uuid, unCamelCase, precisionFromString, Throttler, capitalize, now, decimalToPrecision, safeValue, safeValue2, safeString, safeString2, seconds, milliseconds, binaryToBase16, numberToBE, base16ToBinary, iso8601, omit, isJsonEncodedObject, safeInteger, sum, omitZero, implodeParams, extractParams, json, merge, binaryConcat, hash,
|
|
26
|
+
// ecdsa,
|
|
27
|
+
arrayConcat, encode, urlencode, hmac, numberToString, roundTimeframe, parseTimeframe, safeInteger2, safeStringLower, parse8601, yyyymmdd, safeStringUpper, safeTimestamp, binaryConcatArray, uuidv1, numberToLE, ymdhms, stringToBase64, decode, uuid22, safeIntegerProduct2, safeIntegerProduct, safeStringLower2, yymmdd, base58ToBinary, binaryToBase58, safeTimestamp2, rawencode, keysort, sort, inArray, isEmpty, ordered, filterBy, uuid16, safeFloat, base64ToBinary, safeStringUpper2, urlencodeWithArrayRepeat, microseconds, binaryToBase64, strip, toArray, safeFloatN, safeIntegerN, safeIntegerProductN, safeTimestampN, safeValueN, safeStringN, safeStringLowerN, safeStringUpperN, urlencodeNested, urlencodeBase64, parseDate, ymd, base64ToString, crc32, packb, TRUNCATE, ROUND, DECIMAL_PLACES, NO_PADDING, TICK_SIZE, SIGNIFICANT_DIGITS, sleep, } = functions;
|
|
31
28
|
// ----------------------------------------------------------------------------
|
|
32
29
|
let protobufMexc = undefined;
|
|
33
30
|
(async () => {
|
|
34
31
|
try {
|
|
35
32
|
protobufMexc = await import('../protobuf/mexc/compiled.cjs');
|
|
36
33
|
}
|
|
37
|
-
catch {
|
|
34
|
+
catch {
|
|
35
|
+
// TODO: handle error
|
|
36
|
+
}
|
|
38
37
|
})();
|
|
39
|
-
|
|
38
|
+
// -----------------------------------------------------------------------------
|
|
40
39
|
/**
|
|
41
40
|
* @class Exchange
|
|
42
41
|
*/
|
|
43
42
|
export default class Exchange {
|
|
44
43
|
constructor(userConfig = {}) {
|
|
45
44
|
this.isSandboxModeEnabled = false;
|
|
46
|
-
this.throttleProp = undefined;
|
|
47
|
-
this.sleep = sleep;
|
|
48
45
|
this.api = undefined;
|
|
49
46
|
this.certified = false;
|
|
50
47
|
this.pro = false;
|
|
@@ -69,6 +66,7 @@ export default class Exchange {
|
|
|
69
66
|
this.minFundingAddressLength = 1; // used in checkAddress
|
|
70
67
|
this.substituteCommonCurrencyCodes = true; // reserved
|
|
71
68
|
this.quoteJsonNumbers = true; // treat numbers in json as quoted precise strings
|
|
69
|
+
// eslint-disable-next-line no-unused-vars
|
|
72
70
|
this.number = Number; // or String (a pointer to a function)
|
|
73
71
|
this.handleContentTypeApplicationZip = false;
|
|
74
72
|
// whether fees should be summed by currency code
|
|
@@ -134,11 +132,19 @@ export default class Exchange {
|
|
|
134
132
|
this.name = undefined;
|
|
135
133
|
this.targetAccount = undefined;
|
|
136
134
|
this.stablePairs = {};
|
|
135
|
+
this.httpProxyAgentModule = undefined;
|
|
136
|
+
this.httpsProxyAgentModule = undefined;
|
|
137
|
+
this.socksProxyAgentModule = undefined;
|
|
138
|
+
this.socksProxyAgentModuleChecked = false;
|
|
139
|
+
this.proxyDictionaries = {};
|
|
140
|
+
this.proxiesModulesLoading = undefined;
|
|
141
|
+
this.alias = false;
|
|
137
142
|
// WS/PRO options
|
|
138
143
|
this.clients = {};
|
|
139
144
|
this.newUpdates = true;
|
|
140
145
|
this.streaming = {};
|
|
141
|
-
|
|
146
|
+
// INTERNAL METHODS
|
|
147
|
+
this.sleep = sleep;
|
|
142
148
|
this.deepExtend = deepExtend;
|
|
143
149
|
this.deepExtendSafe = deepExtend;
|
|
144
150
|
this.isNode = isNode;
|
|
@@ -241,12 +247,6 @@ export default class Exchange {
|
|
|
241
247
|
this.crc32 = crc32;
|
|
242
248
|
this.packb = packb;
|
|
243
249
|
this.urlencodeBase64 = urlencodeBase64;
|
|
244
|
-
this.httpProxyAgentModule = undefined;
|
|
245
|
-
this.httpsProxyAgentModule = undefined;
|
|
246
|
-
this.socksProxyAgentModule = undefined;
|
|
247
|
-
this.socksProxyAgentModuleChecked = false;
|
|
248
|
-
this.proxyDictionaries = {};
|
|
249
|
-
this.proxiesModulesLoading = undefined;
|
|
250
250
|
Object.assign(this, functions);
|
|
251
251
|
//
|
|
252
252
|
// if (isNode) {
|
|
@@ -368,7 +368,14 @@ export default class Exchange {
|
|
|
368
368
|
}
|
|
369
369
|
checkRequiredVersion(requiredVersion, error = true) {
|
|
370
370
|
let result = true;
|
|
371
|
-
const [major1, minor1, patch1] = requiredVersion.split('.')
|
|
371
|
+
const [major1, minor1, patch1] = requiredVersion.split('.');
|
|
372
|
+
const [major2, minor2, patch2] = Exchange.ccxtVersion.split('.');
|
|
373
|
+
const intMajor1 = this.parseToInt(major1);
|
|
374
|
+
const intMinor1 = this.parseToInt(minor1);
|
|
375
|
+
const intPatch1 = this.parseToInt(patch1);
|
|
376
|
+
const intMajor2 = this.parseToInt(major2);
|
|
377
|
+
const intMinor2 = this.parseToInt(minor2);
|
|
378
|
+
const intPatch2 = this.parseToInt(patch2);
|
|
372
379
|
if (intMajor1 > intMajor2) {
|
|
373
380
|
result = false;
|
|
374
381
|
}
|
|
@@ -437,7 +444,7 @@ export default class Exchange {
|
|
|
437
444
|
this.defineRestApiEndpoint(methodName, uppercaseMethod, lowercaseMethod, camelcaseMethod, path, paths, config);
|
|
438
445
|
}
|
|
439
446
|
else if (typeof config === 'number') {
|
|
440
|
-
this.defineRestApiEndpoint(methodName, uppercaseMethod, lowercaseMethod, camelcaseMethod, path, paths, { cost: config });
|
|
447
|
+
this.defineRestApiEndpoint(methodName, uppercaseMethod, lowercaseMethod, camelcaseMethod, path, paths, { 'cost': config });
|
|
441
448
|
}
|
|
442
449
|
else {
|
|
443
450
|
throw new NotSupported(this.id + ' defineRestApi() API format is not supported, API leafs must strings, objects or numbers');
|
|
@@ -450,6 +457,7 @@ export default class Exchange {
|
|
|
450
457
|
}
|
|
451
458
|
}
|
|
452
459
|
log(...args) {
|
|
460
|
+
// eslint-disable-next-line no-console
|
|
453
461
|
console.log(...args);
|
|
454
462
|
}
|
|
455
463
|
async loadProxyModules() {
|
|
@@ -470,16 +478,20 @@ export default class Exchange {
|
|
|
470
478
|
// @ts-ignore
|
|
471
479
|
this.httpProxyAgentModule = await import(/* webpackIgnore: true */ 'http-proxy-agent');
|
|
472
480
|
// @ts-ignore
|
|
473
|
-
this.httpsProxyAgentModule = await import(/* webpackIgnore: true */ 'https-proxy-agent');
|
|
481
|
+
this.httpsProxyAgentModule = await import(/* webpackIgnore: true */ 'https-proxy-agent'); // eslint-disable-line
|
|
482
|
+
}
|
|
483
|
+
catch (err) {
|
|
484
|
+
// TODO: handle error
|
|
474
485
|
}
|
|
475
|
-
catch (e) { }
|
|
476
486
|
}
|
|
477
487
|
if (this.socksProxyAgentModuleChecked === false) {
|
|
478
488
|
try {
|
|
479
489
|
// @ts-ignore
|
|
480
490
|
this.socksProxyAgentModule = await import(/* webpackIgnore: true */ 'socks-proxy-agent');
|
|
481
491
|
}
|
|
482
|
-
catch (e) {
|
|
492
|
+
catch (e) {
|
|
493
|
+
// TODO: handle error
|
|
494
|
+
}
|
|
483
495
|
this.socksProxyAgentModuleChecked = true;
|
|
484
496
|
}
|
|
485
497
|
})();
|
|
@@ -579,7 +591,7 @@ export default class Exchange {
|
|
|
579
591
|
if (!this.nodeHttpModuleLoaded) {
|
|
580
592
|
this.nodeHttpModuleLoaded = true;
|
|
581
593
|
const httpsModule = await import(/* webpackIgnore: true */ 'node:https');
|
|
582
|
-
this.httpsAgent = new httpsModule.Agent({ keepAlive: true });
|
|
594
|
+
this.httpsAgent = new httpsModule.Agent({ 'keepAlive': true });
|
|
583
595
|
}
|
|
584
596
|
}
|
|
585
597
|
// ##### PROXY & HEADERS #####
|
|
@@ -623,7 +635,7 @@ export default class Exchange {
|
|
|
623
635
|
headers = this.setHeaders(headers);
|
|
624
636
|
// log
|
|
625
637
|
if (this.verbose) {
|
|
626
|
-
this.log(
|
|
638
|
+
this.log('fetch Request:\n', this.id, method, url, '\nRequestHeaders:\n', headers, '\nRequestBody:\n', body, '\n');
|
|
627
639
|
}
|
|
628
640
|
// end of proxies & headers
|
|
629
641
|
if (this.fetchImplementation === undefined) {
|
|
@@ -632,16 +644,16 @@ export default class Exchange {
|
|
|
632
644
|
this.agent = this.httpsAgent;
|
|
633
645
|
}
|
|
634
646
|
try {
|
|
635
|
-
const
|
|
636
|
-
this.AbortError =
|
|
637
|
-
this.fetchImplementation =
|
|
638
|
-
this.FetchError =
|
|
647
|
+
const nodeFetchModule = await import(/* webpackIgnore: true */ '../static_dependencies/node-fetch/index.js');
|
|
648
|
+
this.AbortError = nodeFetchModule.AbortError;
|
|
649
|
+
this.fetchImplementation = nodeFetchModule.default;
|
|
650
|
+
this.FetchError = nodeFetchModule.FetchError;
|
|
639
651
|
}
|
|
640
652
|
catch (e) {
|
|
641
653
|
// some users having issues with dynamic imports (https://github.com/ccxt/ccxt/pull/20687)
|
|
642
654
|
// so let them to fallback to node's native fetch
|
|
643
655
|
if (typeof fetch === 'function') {
|
|
644
|
-
this.fetchImplementation = fetch;
|
|
656
|
+
this.fetchImplementation = fetch; // eslint-disable-line
|
|
645
657
|
// as it's browser-compatible implementation ( https://nodejs.org/dist/latest-v20.x/docs/api/globals.html#fetch )
|
|
646
658
|
// it throws same error types
|
|
647
659
|
this.AbortError = DOMException;
|
|
@@ -653,6 +665,7 @@ export default class Exchange {
|
|
|
653
665
|
}
|
|
654
666
|
}
|
|
655
667
|
else {
|
|
668
|
+
// eslint-disable-next-line
|
|
656
669
|
this.fetchImplementation = (selfIsDefined()) ? self.fetch : fetch;
|
|
657
670
|
this.AbortError = DOMException;
|
|
658
671
|
this.FetchError = TypeError;
|
|
@@ -661,7 +674,7 @@ export default class Exchange {
|
|
|
661
674
|
// fetchImplementation cannot be called on this. in browsers:
|
|
662
675
|
// TypeError Failed to execute 'fetch' on 'Window': Illegal invocation
|
|
663
676
|
const fetchImplementation = this.fetchImplementation;
|
|
664
|
-
const params = { method, headers, body, timeout: this.timeout };
|
|
677
|
+
const params = { method, headers, body, 'timeout': this.timeout };
|
|
665
678
|
if (this.agent) {
|
|
666
679
|
params['agent'] = this.agent;
|
|
667
680
|
}
|
|
@@ -724,14 +737,14 @@ export default class Exchange {
|
|
|
724
737
|
this.last_http_response = responseBuffer;
|
|
725
738
|
}
|
|
726
739
|
if (this.verbose) {
|
|
727
|
-
this.log(
|
|
740
|
+
this.log('handleRestResponse:\n', this.id, method, url, response.status, response.statusText, '\nResponseHeaders:\n', responseHeaders, 'ZIP redacted', '\n');
|
|
728
741
|
}
|
|
729
742
|
// no error handler needed, because it would not be a zip response in case of an error
|
|
730
743
|
return responseBuffer;
|
|
731
744
|
}
|
|
732
745
|
return response.text().then((responseBody) => {
|
|
733
746
|
const bodyText = this.onRestResponse(response.status, response.statusText, url, method, responseHeaders, responseBody, requestHeaders, requestBody);
|
|
734
|
-
const
|
|
747
|
+
const parsedBody = this.parseJson(bodyText);
|
|
735
748
|
if (this.enableLastResponseHeaders) {
|
|
736
749
|
this.last_response_headers = responseHeaders;
|
|
737
750
|
}
|
|
@@ -739,19 +752,19 @@ export default class Exchange {
|
|
|
739
752
|
this.last_http_response = responseBody;
|
|
740
753
|
}
|
|
741
754
|
if (this.enableLastJsonResponse) {
|
|
742
|
-
this.last_json_response =
|
|
755
|
+
this.last_json_response = parsedBody;
|
|
743
756
|
}
|
|
744
757
|
if (this.verbose) {
|
|
745
|
-
this.log(
|
|
758
|
+
this.log('handleRestResponse:\n', this.id, method, url, response.status, response.statusText, '\nResponseHeaders:\n', responseHeaders, '\nResponseBody:\n', responseBody, '\n');
|
|
746
759
|
}
|
|
747
|
-
const skipFurtherErrorHandling = this.handleErrors(response.status, response.statusText, url, method, responseHeaders, responseBody,
|
|
760
|
+
const skipFurtherErrorHandling = this.handleErrors(response.status, response.statusText, url, method, responseHeaders, responseBody, parsedBody, requestHeaders, requestBody);
|
|
748
761
|
if (!skipFurtherErrorHandling) {
|
|
749
762
|
this.handleHttpStatusCode(response.status, response.statusText, url, method, responseBody);
|
|
750
763
|
}
|
|
751
|
-
if (
|
|
752
|
-
|
|
764
|
+
if (parsedBody && !Array.isArray(parsedBody) && this.returnResponseHeaders) {
|
|
765
|
+
parsedBody['responseHeaders'] = responseHeaders;
|
|
753
766
|
}
|
|
754
|
-
return
|
|
767
|
+
return parsedBody || responseBody;
|
|
755
768
|
});
|
|
756
769
|
}
|
|
757
770
|
onRestResponse(statusCode, statusText, url, method, responseHeaders, responseBody, requestHeaders, requestBody) {
|
|
@@ -811,31 +824,38 @@ export default class Exchange {
|
|
|
811
824
|
// currencies are returned as a dict
|
|
812
825
|
// this is for historical reasons
|
|
813
826
|
// and may be changed for consistency later
|
|
814
|
-
return new Promise((resolve, reject) =>
|
|
827
|
+
return new Promise((resolve, reject) => {
|
|
828
|
+
resolve(this.currencies);
|
|
829
|
+
});
|
|
815
830
|
}
|
|
816
831
|
async fetchCurrenciesWs(params = {}) {
|
|
817
832
|
// markets are returned as a list
|
|
818
833
|
// currencies are returned as a dict
|
|
819
834
|
// this is for historical reasons
|
|
820
835
|
// and may be changed for consistency later
|
|
821
|
-
return new Promise((resolve, reject) =>
|
|
836
|
+
return new Promise((resolve, reject) => {
|
|
837
|
+
resolve(this.currencies);
|
|
838
|
+
});
|
|
822
839
|
}
|
|
823
840
|
async fetchMarkets(params = {}) {
|
|
824
841
|
// markets are returned as a list
|
|
825
842
|
// currencies are returned as a dict
|
|
826
843
|
// this is for historical reasons
|
|
827
844
|
// and may be changed for consistency later
|
|
828
|
-
return new Promise((resolve, reject) =>
|
|
845
|
+
return new Promise((resolve, reject) => {
|
|
846
|
+
resolve(Object.values(this.markets));
|
|
847
|
+
});
|
|
829
848
|
}
|
|
830
849
|
async fetchMarketsWs(params = {}) {
|
|
831
850
|
// markets are returned as a list
|
|
832
851
|
// currencies are returned as a dict
|
|
833
852
|
// this is for historical reasons
|
|
834
853
|
// and may be changed for consistency later
|
|
835
|
-
return new Promise((resolve, reject) =>
|
|
854
|
+
return new Promise((resolve, reject) => {
|
|
855
|
+
resolve(Object.values(this.markets));
|
|
856
|
+
});
|
|
836
857
|
}
|
|
837
858
|
checkRequiredDependencies() {
|
|
838
|
-
return;
|
|
839
859
|
}
|
|
840
860
|
parseNumber(value, d = undefined) {
|
|
841
861
|
if (value === undefined) {
|
|
@@ -852,7 +872,7 @@ export default class Exchange {
|
|
|
852
872
|
return this.number(numberToString(parseFloat(numberNormalized)));
|
|
853
873
|
}
|
|
854
874
|
const result = this.number(numberNormalized);
|
|
855
|
-
return isNaN(result) ? d : result;
|
|
875
|
+
return Number.isNaN(result) ? d : result;
|
|
856
876
|
}
|
|
857
877
|
catch (e) {
|
|
858
878
|
return d;
|
|
@@ -934,6 +954,7 @@ export default class Exchange {
|
|
|
934
954
|
const chosenAgent = this.setProxyAgents(httpProxy, httpsProxy, socksProxy);
|
|
935
955
|
// part only for node-js
|
|
936
956
|
const httpProxyAgent = this.getHttpAgentIfNeeded(url);
|
|
957
|
+
// eslint-disable-next-line no-nested-ternary
|
|
937
958
|
const finalAgent = chosenAgent ? chosenAgent : (httpProxyAgent ? httpProxyAgent : this.agent);
|
|
938
959
|
//
|
|
939
960
|
const options = this.deepExtend(this.streaming, {
|
|
@@ -983,10 +1004,10 @@ export default class Exchange {
|
|
|
983
1004
|
// | |
|
|
984
1005
|
// subscribe -----→ receive
|
|
985
1006
|
//
|
|
986
|
-
const future = Future.race(messageHashes.map(messageHash => client.future(messageHash)));
|
|
1007
|
+
const future = Future.race(messageHashes.map((messageHash) => client.future(messageHash)));
|
|
987
1008
|
// read and write subscription, this is done before connecting the client
|
|
988
1009
|
// to avoid race conditions when other parts of the code read or write to the client.subscriptions
|
|
989
|
-
|
|
1010
|
+
const missingSubscriptions = [];
|
|
990
1011
|
if (subscribeHashes !== undefined) {
|
|
991
1012
|
for (let i = 0; i < subscribeHashes.length; i++) {
|
|
992
1013
|
const subscribeHash = subscribeHashes[i];
|
|
@@ -1236,18 +1257,18 @@ export default class Exchange {
|
|
|
1236
1257
|
const privateKey = ethSigToPrivate(signature);
|
|
1237
1258
|
const publicKey = getStarkKey(privateKey);
|
|
1238
1259
|
const callData = Starknet.CallData.compile({
|
|
1239
|
-
implementation: accountClassHash,
|
|
1240
|
-
selector: Starknet.hash.getSelectorFromName('initialize'),
|
|
1241
|
-
calldata: Starknet.CallData.compile({
|
|
1242
|
-
signer: publicKey,
|
|
1243
|
-
guardian: '0',
|
|
1260
|
+
'implementation': accountClassHash,
|
|
1261
|
+
'selector': Starknet.hash.getSelectorFromName('initialize'),
|
|
1262
|
+
'calldata': Starknet.CallData.compile({
|
|
1263
|
+
'signer': publicKey,
|
|
1264
|
+
'guardian': '0',
|
|
1244
1265
|
}),
|
|
1245
1266
|
});
|
|
1246
1267
|
const address = Starknet.hash.calculateContractAddressFromHash(publicKey, accountProxyClassHash, callData, 0);
|
|
1247
1268
|
return {
|
|
1248
1269
|
privateKey,
|
|
1249
1270
|
publicKey,
|
|
1250
|
-
address
|
|
1271
|
+
address,
|
|
1251
1272
|
};
|
|
1252
1273
|
}
|
|
1253
1274
|
starknetEncodeStructuredData(domain, messageTypes, messageData, address) {
|
|
@@ -1260,9 +1281,9 @@ export default class Exchange {
|
|
|
1260
1281
|
'primaryType': types[0],
|
|
1261
1282
|
'types': this.extend({
|
|
1262
1283
|
'StarkNetDomain': [
|
|
1263
|
-
{ 'name':
|
|
1264
|
-
{ 'name':
|
|
1265
|
-
{ 'name':
|
|
1284
|
+
{ 'name': 'name', 'type': 'felt' },
|
|
1285
|
+
{ 'name': 'chainId', 'type': 'felt' },
|
|
1286
|
+
{ 'name': 'version', 'type': 'felt' },
|
|
1266
1287
|
],
|
|
1267
1288
|
}, messageTypes),
|
|
1268
1289
|
'message': messageData,
|
|
@@ -1270,9 +1291,9 @@ export default class Exchange {
|
|
|
1270
1291
|
const msgHash = Starknet.typedData.getMessageHash(request, address);
|
|
1271
1292
|
return msgHash;
|
|
1272
1293
|
}
|
|
1273
|
-
starknetSign(
|
|
1294
|
+
starknetSign(msgHash, pri) {
|
|
1274
1295
|
// TODO: unify to ecdsa
|
|
1275
|
-
const signature = starknetCurveSign(
|
|
1296
|
+
const signature = starknetCurveSign(msgHash.replace('0x', ''), pri.slice(-64));
|
|
1276
1297
|
return this.json([signature.r.toString(), signature.s.toString()]);
|
|
1277
1298
|
}
|
|
1278
1299
|
async getZKContractSignatureObj(seed, params = {}) {
|
|
@@ -1286,10 +1307,10 @@ export default class Exchange {
|
|
|
1286
1307
|
await init();
|
|
1287
1308
|
const _signer = zklink.newRpcSignerWithProvider({});
|
|
1288
1309
|
await _signer.initZklinkSigner(seed);
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
//const signer = ZkLinkSigner.ethSig(seed);
|
|
1292
|
-
//const signer = new Signer(seed);
|
|
1310
|
+
const tx_builder = new zklink.ContractBuilder(accountId, 0, slotId, nonce, this.safeInteger(params, 'pairId'), Precise.stringMul(this.safeString(params, 'size'), '1e18'), Precise.stringMul(this.safeString(params, 'price'), '1e18'), this.safeString(params, 'direction') === 'BUY', parseInt(Precise.stringMul(this.safeString(params, 'makerFeeRate'), '10000')), parseInt(Precise.stringMul(this.safeString(params, 'takerFeeRate'), '10000')), false);
|
|
1311
|
+
const contractor = zklink.newContract(tx_builder);
|
|
1312
|
+
// const signer = ZkLinkSigner.ethSig(seed);
|
|
1313
|
+
// const signer = new Signer(seed);
|
|
1293
1314
|
contractor?.sign(_signer?.getZkLinkSigner());
|
|
1294
1315
|
const tx = contractor.jsValue();
|
|
1295
1316
|
const zkSign = tx?.signature?.signature;
|
|
@@ -1305,10 +1326,10 @@ export default class Exchange {
|
|
|
1305
1326
|
const formattedNonce = BigInt('0x' + this.remove0xPrefix(this.hash(this.encode(nonce), sha256, 'hex'))).toString();
|
|
1306
1327
|
nonce = Precise.stringMod(formattedNonce, formattedUint32);
|
|
1307
1328
|
}
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
//const signer = ZkLinkSigner.ethSig(seed);
|
|
1311
|
-
//const signer = new Signer(seed);
|
|
1329
|
+
const tx_builder = new zklink.TransferBuilder(this.safeNumber(params, 'zkAccountId', 0), this.safeString(params, 'receiverAddress'), this.safeNumber(params, 'subAccountId', 0), this.safeNumber(params, 'receiverSubAccountId', 0), this.safeNumber(params, 'tokenId', 0), this.safeString(params, 'fee', '0'), this.safeString(params, 'amount', '0'), this.parseToInt(nonce), this.safeNumber(params, 'timestampSeconds', 0));
|
|
1330
|
+
const contractor = zklink.newTransfer(tx_builder);
|
|
1331
|
+
// const signer = ZkLinkSigner.ethSig(seed);
|
|
1332
|
+
// const signer = new Signer(seed);
|
|
1312
1333
|
contractor?.sign(_signer?.getZkLinkSigner());
|
|
1313
1334
|
const tx = contractor.jsValue();
|
|
1314
1335
|
const zkSign = tx?.signature?.signature;
|
|
@@ -1382,7 +1403,7 @@ export default class Exchange {
|
|
|
1382
1403
|
// ########################################################################
|
|
1383
1404
|
// ########################################################################
|
|
1384
1405
|
// ------------------------------------------------------------------------
|
|
1385
|
-
// METHODS BELOW THIS LINE ARE TRANSPILED FROM
|
|
1406
|
+
// METHODS BELOW THIS LINE ARE TRANSPILED FROM TYPESCRIPT
|
|
1386
1407
|
describe() {
|
|
1387
1408
|
return {
|
|
1388
1409
|
'id': undefined,
|
|
@@ -2130,6 +2151,27 @@ export default class Exchange {
|
|
|
2130
2151
|
this.isSandboxModeEnabled = false;
|
|
2131
2152
|
}
|
|
2132
2153
|
}
|
|
2154
|
+
/**
|
|
2155
|
+
* @method
|
|
2156
|
+
* @name Exchange#enableDemoTrading
|
|
2157
|
+
* @description enables or disables demo trading mode
|
|
2158
|
+
* @param {boolean} [enable] true if demo trading should be enabled, false otherwise
|
|
2159
|
+
*/
|
|
2160
|
+
enableDemoTrading(enable) {
|
|
2161
|
+
if (this.isSandboxModeEnabled) {
|
|
2162
|
+
throw new NotSupported(this.id + ' demo trading does not support in sandbox environment. Please check https://www.binance.com/en/support/faq/detail/9be58f73e5e14338809e3b705b9687dd to see the differences');
|
|
2163
|
+
}
|
|
2164
|
+
if (enable) {
|
|
2165
|
+
this.urls['apiBackupDemoTrading'] = this.urls['api'];
|
|
2166
|
+
this.urls['api'] = this.urls['demo'];
|
|
2167
|
+
}
|
|
2168
|
+
else if ('apiBackupDemoTrading' in this.urls) {
|
|
2169
|
+
this.urls['api'] = this.urls['apiBackupDemoTrading'];
|
|
2170
|
+
const newUrls = this.omit(this.urls, 'apiBackupDemoTrading');
|
|
2171
|
+
this.urls = newUrls;
|
|
2172
|
+
}
|
|
2173
|
+
this.options['enableDemoTrading'] = enable;
|
|
2174
|
+
}
|
|
2133
2175
|
sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
|
|
2134
2176
|
return {};
|
|
2135
2177
|
}
|
|
@@ -2584,6 +2626,97 @@ export default class Exchange {
|
|
|
2584
2626
|
}
|
|
2585
2627
|
return featuresObj;
|
|
2586
2628
|
}
|
|
2629
|
+
featureValue(symbol, methodName = undefined, paramName = undefined, subParamName = undefined, defaultValue = undefined) {
|
|
2630
|
+
/**
|
|
2631
|
+
* @method
|
|
2632
|
+
* @name exchange#featureValue
|
|
2633
|
+
* @description this method is a very deterministic to help users to know what feature is supported by the exchange
|
|
2634
|
+
* @param {string} [symbol] unified symbol
|
|
2635
|
+
* @param {string} [methodName] view currently supported methods: https://docs.ccxt.com/#/README?id=features
|
|
2636
|
+
* @param {string} [paramName] unified param value (check docs for supported param names)
|
|
2637
|
+
* @param {string} [subParamName] unified sub-param value (eg. stopLoss->triggerPriceType)
|
|
2638
|
+
* @param {object} [defaultValue] return default value if no result found
|
|
2639
|
+
* @returns {object} returns feature value
|
|
2640
|
+
*/
|
|
2641
|
+
const market = this.market(symbol);
|
|
2642
|
+
return this.featureValueByType(market['type'], market['subType'], methodName, paramName, subParamName, defaultValue);
|
|
2643
|
+
}
|
|
2644
|
+
featureValueByType(marketType, subType, methodName = undefined, paramName = undefined, subParamName = undefined, defaultValue = undefined) {
|
|
2645
|
+
/**
|
|
2646
|
+
* @method
|
|
2647
|
+
* @name exchange#featureValueByType
|
|
2648
|
+
* @description this method is a very deterministic to help users to know what feature is supported by the exchange
|
|
2649
|
+
* @param {string} [marketType] supported only: "spot", "swap", "future"
|
|
2650
|
+
* @param {string} [subType] supported only: "linear", "inverse"
|
|
2651
|
+
* @param {string} [methodName] view currently supported methods: https://docs.ccxt.com/#/README?id=features
|
|
2652
|
+
* @param {string} [paramName] unified param value (check docs for supported param names)
|
|
2653
|
+
* @param {string} [subParamName] unified sub-param value (eg. stopLoss->triggerPriceType)
|
|
2654
|
+
* @param {object} [defaultValue] return default value if no result found
|
|
2655
|
+
* @returns {object} returns feature value
|
|
2656
|
+
*/
|
|
2657
|
+
// if exchange does not yet have features manually implemented
|
|
2658
|
+
if (this.features === undefined) {
|
|
2659
|
+
return defaultValue;
|
|
2660
|
+
}
|
|
2661
|
+
// if marketType (e.g. 'option') does not exist in features
|
|
2662
|
+
if (!(marketType in this.features)) {
|
|
2663
|
+
return defaultValue; // unsupported marketType, check "exchange.features" for details
|
|
2664
|
+
}
|
|
2665
|
+
// if marketType dict undefined
|
|
2666
|
+
if (this.features[marketType] === undefined) {
|
|
2667
|
+
return defaultValue;
|
|
2668
|
+
}
|
|
2669
|
+
let methodsContainer = this.features[marketType];
|
|
2670
|
+
if (subType === undefined) {
|
|
2671
|
+
if (marketType !== 'spot') {
|
|
2672
|
+
return defaultValue; // subType is required for non-spot markets
|
|
2673
|
+
}
|
|
2674
|
+
}
|
|
2675
|
+
else {
|
|
2676
|
+
if (!(subType in this.features[marketType])) {
|
|
2677
|
+
return defaultValue; // unsupported subType, check "exchange.features" for details
|
|
2678
|
+
}
|
|
2679
|
+
// if subType dict undefined
|
|
2680
|
+
if (this.features[marketType][subType] === undefined) {
|
|
2681
|
+
return defaultValue;
|
|
2682
|
+
}
|
|
2683
|
+
methodsContainer = this.features[marketType][subType];
|
|
2684
|
+
}
|
|
2685
|
+
// if user wanted only marketType and didn't provide methodName, eg: featureIsSupported('spot')
|
|
2686
|
+
if (methodName === undefined) {
|
|
2687
|
+
return methodsContainer;
|
|
2688
|
+
}
|
|
2689
|
+
if (!(methodName in methodsContainer)) {
|
|
2690
|
+
return defaultValue; // unsupported method, check "exchange.features" for details');
|
|
2691
|
+
}
|
|
2692
|
+
const methodDict = methodsContainer[methodName];
|
|
2693
|
+
if (methodDict === undefined) {
|
|
2694
|
+
return defaultValue;
|
|
2695
|
+
}
|
|
2696
|
+
// if user wanted only method and didn't provide `paramName`, eg: featureIsSupported('swap', 'linear', 'createOrder')
|
|
2697
|
+
if (paramName === undefined) {
|
|
2698
|
+
return methodDict;
|
|
2699
|
+
}
|
|
2700
|
+
if (!(paramName in methodDict)) {
|
|
2701
|
+
return defaultValue; // unsupported paramName, check "exchange.features" for details');
|
|
2702
|
+
}
|
|
2703
|
+
const dictionary = this.safeDict(methodDict, paramName);
|
|
2704
|
+
if (dictionary === undefined) {
|
|
2705
|
+
// if the value is not dictionary but a scalar value (or undefined), return as is
|
|
2706
|
+
return methodDict[paramName];
|
|
2707
|
+
}
|
|
2708
|
+
else {
|
|
2709
|
+
// return as is, when calling without `subParamName` eg: featureValueByType('spot', undefined, 'createOrder', 'stopLoss')
|
|
2710
|
+
if (subParamName === undefined) {
|
|
2711
|
+
return methodDict[paramName];
|
|
2712
|
+
}
|
|
2713
|
+
// throw an exception for unsupported subParamName
|
|
2714
|
+
if (!(subParamName in methodDict[paramName])) {
|
|
2715
|
+
return defaultValue; // unsupported subParamName, check "exchange.features" for details
|
|
2716
|
+
}
|
|
2717
|
+
return methodDict[paramName][subParamName];
|
|
2718
|
+
}
|
|
2719
|
+
}
|
|
2587
2720
|
orderbookChecksumMessage(symbol) {
|
|
2588
2721
|
return symbol + ' : ' + 'orderbook data checksum validation failed. You can reconnect by calling watchOrderBook again or you can mute the error by setting exchange.options["watchOrderBook"]["checksum"] = false';
|
|
2589
2722
|
}
|
|
@@ -2888,7 +3021,12 @@ export default class Exchange {
|
|
|
2888
3021
|
const marketsSortedById = this.keysort(this.markets_by_id);
|
|
2889
3022
|
this.symbols = Object.keys(marketsSortedBySymbol);
|
|
2890
3023
|
this.ids = Object.keys(marketsSortedById);
|
|
3024
|
+
let numCurrencies = 0;
|
|
2891
3025
|
if (currencies !== undefined) {
|
|
3026
|
+
const keys = Object.keys(currencies);
|
|
3027
|
+
numCurrencies = keys.length;
|
|
3028
|
+
}
|
|
3029
|
+
if (numCurrencies > 0) {
|
|
2892
3030
|
// currencies is always undefined when called in constructor but not when called from loadMarkets
|
|
2893
3031
|
this.currencies = this.mapToSafeMap(this.deepExtend(this.currencies, currencies));
|
|
2894
3032
|
}
|
|
@@ -2967,6 +3105,14 @@ export default class Exchange {
|
|
|
2967
3105
|
this.baseCurrencies = sourceExchange.baseCurrencies;
|
|
2968
3106
|
this.quoteCurrencies = sourceExchange.quoteCurrencies;
|
|
2969
3107
|
this.codes = sourceExchange.codes;
|
|
3108
|
+
// check marketHelperProps
|
|
3109
|
+
const sourceExchangeHelpers = this.safeList(sourceExchange.options, 'marketHelperProps', []);
|
|
3110
|
+
for (let i = 0; i < sourceExchangeHelpers.length; i++) {
|
|
3111
|
+
const helper = sourceExchangeHelpers[i];
|
|
3112
|
+
if (sourceExchange.options[helper] !== undefined) {
|
|
3113
|
+
this.options[helper] = sourceExchange.options[helper];
|
|
3114
|
+
}
|
|
3115
|
+
}
|
|
2970
3116
|
return this;
|
|
2971
3117
|
}
|
|
2972
3118
|
getDescribeForExtendedWsExchange(currentRestInstance, parentRestInstance, wsBaseDescribe) {
|
|
@@ -5708,7 +5854,9 @@ export default class Exchange {
|
|
|
5708
5854
|
return this.safeString(this.commonCurrencies, code, code);
|
|
5709
5855
|
}
|
|
5710
5856
|
currency(code) {
|
|
5711
|
-
|
|
5857
|
+
const keys = Object.keys(this.currencies);
|
|
5858
|
+
const numCurrencies = keys.length;
|
|
5859
|
+
if (numCurrencies === 0) {
|
|
5712
5860
|
throw new ExchangeError(this.id + ' currencies not loaded');
|
|
5713
5861
|
}
|
|
5714
5862
|
if (typeof code === 'string') {
|
|
@@ -7056,6 +7204,17 @@ export default class Exchange {
|
|
|
7056
7204
|
const values = Object.values(uniqueResult);
|
|
7057
7205
|
return values;
|
|
7058
7206
|
}
|
|
7207
|
+
removeKeysFromDict(dict, removeKeys) {
|
|
7208
|
+
const keys = Object.keys(dict);
|
|
7209
|
+
const newDict = {};
|
|
7210
|
+
for (let i = 0; i < keys.length; i++) {
|
|
7211
|
+
const key = keys[i];
|
|
7212
|
+
if (!this.inArray(key, removeKeys)) {
|
|
7213
|
+
newDict[key] = dict[key];
|
|
7214
|
+
}
|
|
7215
|
+
}
|
|
7216
|
+
return newDict;
|
|
7217
|
+
}
|
|
7059
7218
|
handleUntilOption(key, request, params, multiplier = 1) {
|
|
7060
7219
|
const until = this.safeInteger2(params, 'until', 'till');
|
|
7061
7220
|
if (until !== undefined) {
|
package/js/src/base/Precise.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
|
const zero = BigInt(0);
|
|
8
2
|
const minusOne = BigInt(-1);
|
|
9
3
|
const base = BigInt(10);
|
|
@@ -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
|
const errorHierarchy = {
|
|
8
2
|
'BaseError': {
|
|
9
3
|
'ExchangeError': {
|
package/js/src/base/errors.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
|
/* eslint-disable max-classes-per-file */
|
|
8
2
|
class BaseError extends Error {
|
|
9
3
|
constructor(message) {
|
|
@@ -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 { hmac as _hmac } from '../../static_dependencies/noble-hashes/hmac.js';
|
|
9
3
|
import { base16, base64, base58 } from '../../static_dependencies/scure-base/index.js';
|
|
@@ -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
|
/* eslint-disable */
|
|
8
2
|
/* ------------------------------------------------------------------------ */
|
|
9
3
|
import { base16, base58, base64, utf8 } from "../../static_dependencies/scure-base/index.js";
|