ccxt 4.2.11 → 4.2.12
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 +5 -5
- package/build.sh +2 -2
- package/dist/ccxt.browser.js +640 -261
- package/dist/ccxt.browser.min.js +3 -3
- package/dist/cjs/_virtual/agent.js +7 -0
- package/dist/cjs/_virtual/parse-proxy-response.js +7 -0
- package/dist/cjs/_virtual/promisify.js +7 -0
- package/dist/cjs/ccxt.js +1 -1
- package/dist/cjs/js/ccxt.js +474 -0
- package/dist/cjs/js/src/abstract/ace.js +9 -0
- package/dist/cjs/js/src/abstract/alpaca.js +9 -0
- package/dist/cjs/js/src/abstract/ascendex.js +9 -0
- package/dist/cjs/js/src/abstract/bigone.js +9 -0
- package/dist/cjs/js/src/abstract/binance.js +9 -0
- package/dist/cjs/js/src/abstract/bingx.js +9 -0
- package/dist/cjs/js/src/abstract/bit2c.js +9 -0
- package/dist/cjs/js/src/abstract/bitbank.js +9 -0
- package/dist/cjs/js/src/abstract/bitbns.js +9 -0
- package/dist/cjs/js/src/abstract/bitfinex.js +9 -0
- package/dist/cjs/js/src/abstract/bitfinex2.js +9 -0
- package/dist/cjs/js/src/abstract/bitflyer.js +9 -0
- package/dist/cjs/js/src/abstract/bitforex.js +9 -0
- package/dist/cjs/js/src/abstract/bitget.js +9 -0
- package/dist/cjs/js/src/abstract/bithumb.js +9 -0
- package/dist/cjs/js/src/abstract/bitmart.js +9 -0
- package/dist/cjs/js/src/abstract/bitmex.js +9 -0
- package/dist/cjs/js/src/abstract/bitopro.js +9 -0
- package/dist/cjs/js/src/abstract/bitpanda.js +9 -0
- package/dist/cjs/js/src/abstract/bitrue.js +9 -0
- package/dist/cjs/js/src/abstract/bitso.js +9 -0
- package/dist/cjs/js/src/abstract/bitstamp.js +9 -0
- package/dist/cjs/js/src/abstract/bitteam.js +9 -0
- package/dist/cjs/js/src/abstract/bitvavo.js +9 -0
- package/dist/cjs/js/src/abstract/bl3p.js +9 -0
- package/dist/cjs/js/src/abstract/blockchaincom.js +9 -0
- package/dist/cjs/js/src/abstract/btcalpha.js +9 -0
- package/dist/cjs/js/src/abstract/btcbox.js +9 -0
- package/dist/cjs/js/src/abstract/btcmarkets.js +9 -0
- package/dist/cjs/js/src/abstract/btcturk.js +9 -0
- package/dist/cjs/js/src/abstract/bybit.js +9 -0
- package/dist/cjs/js/src/abstract/cex.js +9 -0
- package/dist/cjs/js/src/abstract/coinbase.js +9 -0
- package/dist/cjs/js/src/abstract/coinbasepro.js +9 -0
- package/dist/cjs/js/src/abstract/coincheck.js +9 -0
- package/dist/cjs/js/src/abstract/coinex.js +9 -0
- package/dist/cjs/js/src/abstract/coinlist.js +9 -0
- package/dist/cjs/js/src/abstract/coinmate.js +9 -0
- package/dist/cjs/js/src/abstract/coinone.js +9 -0
- package/dist/cjs/js/src/abstract/coinsph.js +9 -0
- package/dist/cjs/js/src/abstract/coinspot.js +9 -0
- package/dist/cjs/js/src/abstract/cryptocom.js +9 -0
- package/dist/cjs/js/src/abstract/currencycom.js +9 -0
- package/dist/cjs/js/src/abstract/delta.js +9 -0
- package/dist/cjs/js/src/abstract/deribit.js +9 -0
- package/dist/cjs/js/src/abstract/digifinex.js +9 -0
- package/dist/cjs/js/src/abstract/exmo.js +9 -0
- package/dist/cjs/js/src/abstract/gate.js +9 -0
- package/dist/cjs/js/src/abstract/gemini.js +9 -0
- package/dist/cjs/js/src/abstract/hitbtc.js +9 -0
- package/dist/cjs/js/src/abstract/hollaex.js +9 -0
- package/dist/cjs/js/src/abstract/htx.js +9 -0
- package/dist/cjs/js/src/abstract/huobijp.js +9 -0
- package/dist/cjs/js/src/abstract/idex.js +9 -0
- package/dist/cjs/js/src/abstract/independentreserve.js +9 -0
- package/dist/cjs/js/src/abstract/indodax.js +9 -0
- package/dist/cjs/js/src/abstract/kraken.js +9 -0
- package/dist/cjs/js/src/abstract/krakenfutures.js +9 -0
- package/dist/cjs/js/src/abstract/kucoin.js +9 -0
- package/dist/cjs/js/src/abstract/kucoinfutures.js +9 -0
- package/dist/cjs/js/src/abstract/kuna.js +9 -0
- package/dist/cjs/js/src/abstract/latoken.js +9 -0
- package/dist/cjs/js/src/abstract/lbank.js +9 -0
- package/dist/cjs/js/src/abstract/luno.js +9 -0
- package/dist/cjs/js/src/abstract/lykke.js +9 -0
- package/dist/cjs/js/src/abstract/mercado.js +9 -0
- package/dist/cjs/js/src/abstract/mexc.js +9 -0
- package/dist/cjs/js/src/abstract/ndax.js +9 -0
- package/dist/cjs/js/src/abstract/novadax.js +9 -0
- package/dist/cjs/js/src/abstract/oceanex.js +9 -0
- package/dist/cjs/js/src/abstract/okcoin.js +9 -0
- package/dist/cjs/js/src/abstract/okx.js +9 -0
- package/dist/cjs/js/src/abstract/p2b.js +9 -0
- package/dist/cjs/js/src/abstract/paymium.js +9 -0
- package/dist/cjs/js/src/abstract/phemex.js +9 -0
- package/dist/cjs/js/src/abstract/poloniex.js +9 -0
- package/dist/cjs/js/src/abstract/poloniexfutures.js +9 -0
- package/dist/cjs/js/src/abstract/probit.js +9 -0
- package/dist/cjs/js/src/abstract/timex.js +9 -0
- package/dist/cjs/js/src/abstract/tokocrypto.js +9 -0
- package/dist/cjs/js/src/abstract/upbit.js +9 -0
- package/dist/cjs/js/src/abstract/wavesexchange.js +9 -0
- package/dist/cjs/js/src/abstract/wazirx.js +9 -0
- package/dist/cjs/js/src/abstract/whitebit.js +9 -0
- package/dist/cjs/js/src/abstract/woo.js +9 -0
- package/dist/cjs/js/src/abstract/yobit.js +9 -0
- package/dist/cjs/js/src/abstract/zaif.js +9 -0
- package/dist/cjs/js/src/abstract/zonda.js +9 -0
- package/dist/cjs/js/src/ace.js +1058 -0
- package/dist/cjs/js/src/alpaca.js +1125 -0
- package/dist/cjs/js/src/ascendex.js +3360 -0
- package/dist/cjs/js/src/base/Exchange.js +5110 -0
- package/dist/cjs/js/src/base/Precise.js +263 -0
- package/dist/cjs/js/src/base/errors.js +299 -0
- package/dist/cjs/js/src/base/functions/crypto.js +78 -0
- package/dist/cjs/js/src/base/functions/encode.js +44 -0
- package/dist/cjs/js/src/base/functions/generic.js +193 -0
- package/dist/cjs/js/src/base/functions/misc.js +96 -0
- package/dist/cjs/js/src/base/functions/number.js +297 -0
- package/dist/cjs/js/src/base/functions/platform.js +28 -0
- package/dist/cjs/js/src/base/functions/rsa.js +34 -0
- package/dist/cjs/js/src/base/functions/string.js +48 -0
- package/dist/cjs/js/src/base/functions/throttle.js +66 -0
- package/dist/cjs/js/src/base/functions/time.js +187 -0
- package/dist/cjs/js/src/base/functions/totp.js +24 -0
- package/dist/cjs/js/src/base/functions/type.js +162 -0
- package/dist/cjs/js/src/base/functions.js +157 -0
- package/dist/cjs/js/src/base/ws/Cache.js +254 -0
- package/dist/cjs/js/src/base/ws/Client.js +299 -0
- package/dist/cjs/js/src/base/ws/Future.js +34 -0
- package/dist/cjs/js/src/base/ws/OrderBook.js +107 -0
- package/dist/cjs/js/src/base/ws/OrderBookSide.js +281 -0
- package/dist/cjs/js/src/base/ws/WsClient.js +69 -0
- package/dist/cjs/js/src/bequant.js +33 -0
- package/dist/cjs/js/src/bigone.js +2142 -0
- package/dist/cjs/js/src/binance.js +9729 -0
- package/dist/cjs/js/src/binancecoinm.js +45 -0
- package/dist/cjs/js/src/binanceus.js +84 -0
- package/dist/cjs/js/src/binanceusdm.js +58 -0
- package/dist/cjs/js/src/bingx.js +3737 -0
- package/dist/cjs/js/src/bit2c.js +916 -0
- package/dist/cjs/js/src/bitbank.js +1000 -0
- package/dist/cjs/js/src/bitbay.js +17 -0
- package/dist/cjs/js/src/bitbns.js +1220 -0
- package/dist/cjs/js/src/bitcoincom.js +17 -0
- package/dist/cjs/js/src/bitfinex.js +1670 -0
- package/dist/cjs/js/src/bitfinex2.js +2990 -0
- package/dist/cjs/js/src/bitflyer.js +1045 -0
- package/dist/cjs/js/src/bitforex.js +852 -0
- package/dist/cjs/js/src/bitget.js +8284 -0
- package/dist/cjs/js/src/bithumb.js +1090 -0
- package/dist/cjs/js/src/bitmart.js +4454 -0
- package/dist/cjs/js/src/bitmex.js +2884 -0
- package/dist/cjs/js/src/bitopro.js +1724 -0
- package/dist/cjs/js/src/bitpanda.js +2002 -0
- package/dist/cjs/js/src/bitrue.js +3253 -0
- package/dist/cjs/js/src/bitso.js +1753 -0
- package/dist/cjs/js/src/bitstamp.js +2188 -0
- package/dist/cjs/js/src/bitteam.js +2309 -0
- package/dist/cjs/js/src/bitvavo.js +1968 -0
- package/dist/cjs/js/src/bl3p.js +447 -0
- package/dist/cjs/js/src/blockchaincom.js +1160 -0
- package/dist/cjs/js/src/btcalpha.js +929 -0
- package/dist/cjs/js/src/btcbox.js +565 -0
- package/dist/cjs/js/src/btcmarkets.js +1237 -0
- package/dist/cjs/js/src/btcturk.js +929 -0
- package/dist/cjs/js/src/bybit.js +7646 -0
- package/dist/cjs/js/src/cex.js +1693 -0
- package/dist/cjs/js/src/coinbase.js +3274 -0
- package/dist/cjs/js/src/coinbasepro.js +1866 -0
- package/dist/cjs/js/src/coincheck.js +843 -0
- package/dist/cjs/js/src/coinex.js +5414 -0
- package/dist/cjs/js/src/coinlist.js +2329 -0
- package/dist/cjs/js/src/coinmate.js +989 -0
- package/dist/cjs/js/src/coinone.js +1185 -0
- package/dist/cjs/js/src/coinsph.js +1933 -0
- package/dist/cjs/js/src/coinspot.js +548 -0
- package/dist/cjs/js/src/cryptocom.js +3007 -0
- package/dist/cjs/js/src/currencycom.js +2015 -0
- package/dist/cjs/js/src/delta.js +3256 -0
- package/dist/cjs/js/src/deribit.js +3306 -0
- package/dist/cjs/js/src/digifinex.js +4307 -0
- package/dist/cjs/js/src/exmo.js +2645 -0
- package/dist/cjs/js/src/fmfwio.js +34 -0
- package/dist/cjs/js/src/gate.js +7054 -0
- package/dist/cjs/js/src/gateio.js +16 -0
- package/dist/cjs/js/src/gemini.js +1801 -0
- package/dist/cjs/js/src/hitbtc.js +3660 -0
- package/dist/cjs/js/src/hitbtc3.js +19 -0
- package/dist/cjs/js/src/hollaex.js +1882 -0
- package/dist/cjs/js/src/htx.js +9024 -0
- package/dist/cjs/js/src/huobi.js +16 -0
- package/dist/cjs/js/src/huobijp.js +1918 -0
- package/dist/cjs/js/src/idex.js +1770 -0
- package/dist/cjs/js/src/independentreserve.js +759 -0
- package/dist/cjs/js/src/indodax.js +1069 -0
- package/dist/cjs/js/src/kraken.js +2861 -0
- package/dist/cjs/js/src/krakenfutures.js +2407 -0
- package/dist/cjs/js/src/kucoin.js +4489 -0
- package/dist/cjs/js/src/kucoinfutures.js +2475 -0
- package/dist/cjs/js/src/kuna.js +1949 -0
- package/dist/cjs/js/src/latoken.js +1729 -0
- package/dist/cjs/js/src/lbank.js +2825 -0
- package/dist/cjs/js/src/luno.js +1044 -0
- package/dist/cjs/js/src/lykke.js +1303 -0
- package/dist/cjs/js/src/mercado.js +897 -0
- package/dist/cjs/js/src/mexc.js +5407 -0
- package/dist/cjs/js/src/ndax.js +2450 -0
- package/dist/cjs/js/src/novadax.js +1556 -0
- package/dist/cjs/js/src/oceanex.js +964 -0
- package/dist/cjs/js/src/okcoin.js +3115 -0
- package/dist/cjs/js/src/okx.js +7329 -0
- package/dist/cjs/js/src/p2b.js +1243 -0
- package/dist/cjs/js/src/paymium.js +597 -0
- package/dist/cjs/js/src/phemex.js +4715 -0
- package/dist/cjs/js/src/poloniex.js +2356 -0
- package/dist/cjs/js/src/poloniexfutures.js +1794 -0
- package/dist/cjs/js/src/pro/alpaca.js +714 -0
- package/dist/cjs/js/src/pro/ascendex.js +957 -0
- package/dist/cjs/js/src/pro/bequant.js +33 -0
- package/dist/cjs/js/src/pro/binance.js +2796 -0
- package/dist/cjs/js/src/pro/binancecoinm.js +23 -0
- package/dist/cjs/js/src/pro/binanceus.js +51 -0
- package/dist/cjs/js/src/pro/binanceusdm.js +32 -0
- package/dist/cjs/js/src/pro/bingx.js +944 -0
- package/dist/cjs/js/src/pro/bitcoincom.js +29 -0
- package/dist/cjs/js/src/pro/bitfinex.js +672 -0
- package/dist/cjs/js/src/pro/bitfinex2.js +1159 -0
- package/dist/cjs/js/src/pro/bitget.js +1733 -0
- package/dist/cjs/js/src/pro/bitmart.js +1486 -0
- package/dist/cjs/js/src/pro/bitmex.js +1576 -0
- package/dist/cjs/js/src/pro/bitopro.js +327 -0
- package/dist/cjs/js/src/pro/bitpanda.js +1341 -0
- package/dist/cjs/js/src/pro/bitrue.js +462 -0
- package/dist/cjs/js/src/pro/bitstamp.js +547 -0
- package/dist/cjs/js/src/pro/bitvavo.js +704 -0
- package/dist/cjs/js/src/pro/blockchaincom.js +794 -0
- package/dist/cjs/js/src/pro/bybit.js +1843 -0
- package/dist/cjs/js/src/pro/cex.js +1510 -0
- package/dist/cjs/js/src/pro/coinbase.js +561 -0
- package/dist/cjs/js/src/pro/coinbasepro.js +968 -0
- package/dist/cjs/js/src/pro/coinex.js +1095 -0
- package/dist/cjs/js/src/pro/cryptocom.js +1020 -0
- package/dist/cjs/js/src/pro/currencycom.js +563 -0
- package/dist/cjs/js/src/pro/deribit.js +825 -0
- package/dist/cjs/js/src/pro/exmo.js +658 -0
- package/dist/cjs/js/src/pro/gate.js +1316 -0
- package/dist/cjs/js/src/pro/gateio.js +16 -0
- package/dist/cjs/js/src/pro/gemini.js +649 -0
- package/dist/cjs/js/src/pro/hitbtc.js +1293 -0
- package/dist/cjs/js/src/pro/hollaex.js +597 -0
- package/dist/cjs/js/src/pro/htx.js +2383 -0
- package/dist/cjs/js/src/pro/huobi.js +16 -0
- package/dist/cjs/js/src/pro/huobijp.js +606 -0
- package/dist/cjs/js/src/pro/idex.js +714 -0
- package/dist/cjs/js/src/pro/independentreserve.js +280 -0
- package/dist/cjs/js/src/pro/kraken.js +1364 -0
- package/dist/cjs/js/src/pro/krakenfutures.js +1500 -0
- package/dist/cjs/js/src/pro/kucoin.js +1052 -0
- package/dist/cjs/js/src/pro/kucoinfutures.js +981 -0
- package/dist/cjs/js/src/pro/luno.js +322 -0
- package/dist/cjs/js/src/pro/mexc.js +1170 -0
- package/dist/cjs/js/src/pro/ndax.js +545 -0
- package/dist/cjs/js/src/pro/okcoin.js +760 -0
- package/dist/cjs/js/src/pro/okx.js +1558 -0
- package/dist/cjs/js/src/pro/phemex.js +1511 -0
- package/dist/cjs/js/src/pro/poloniex.js +1253 -0
- package/dist/cjs/js/src/pro/poloniexfutures.js +1014 -0
- package/dist/cjs/js/src/pro/probit.js +586 -0
- package/dist/cjs/js/src/pro/upbit.js +234 -0
- package/dist/cjs/js/src/pro/wazirx.js +776 -0
- package/dist/cjs/js/src/pro/whitebit.js +927 -0
- package/dist/cjs/js/src/pro/woo.js +769 -0
- package/dist/cjs/js/src/probit.js +1865 -0
- package/dist/cjs/js/src/static_dependencies/fflake/browser.js +401 -0
- package/dist/cjs/js/src/static_dependencies/jsencrypt/JSEncrypt.js +195 -0
- package/dist/cjs/js/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +308 -0
- package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +554 -0
- package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +94 -0
- package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +70 -0
- package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +91 -0
- package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +16 -0
- package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +1760 -0
- package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +52 -0
- package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +81 -0
- package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +376 -0
- package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/util.js +70 -0
- package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +1580 -0
- package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +74 -0
- package/dist/cjs/js/src/static_dependencies/noble-curves/_shortw_utils.js +24 -0
- package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/curve.js +158 -0
- package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/edwards.js +429 -0
- package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +176 -0
- package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/modular.js +324 -0
- package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/montgomery.js +163 -0
- package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/utils.js +245 -0
- package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/weierstrass.js +1018 -0
- package/dist/cjs/js/src/static_dependencies/noble-curves/ed25519.js +383 -0
- package/dist/cjs/js/src/static_dependencies/noble-curves/secp256k1.js +258 -0
- package/dist/cjs/js/src/static_dependencies/noble-hashes/_assert.js +53 -0
- package/dist/cjs/js/src/static_dependencies/noble-hashes/_sha2.js +120 -0
- package/dist/cjs/js/src/static_dependencies/noble-hashes/_u64.js +69 -0
- package/dist/cjs/js/src/static_dependencies/noble-hashes/crypto.js +7 -0
- package/dist/cjs/js/src/static_dependencies/noble-hashes/hmac.js +83 -0
- package/dist/cjs/js/src/static_dependencies/noble-hashes/md5.js +240 -0
- package/dist/cjs/js/src/static_dependencies/noble-hashes/sha1.js +91 -0
- package/dist/cjs/js/src/static_dependencies/noble-hashes/sha256.js +130 -0
- package/dist/cjs/js/src/static_dependencies/noble-hashes/sha3.js +214 -0
- package/dist/cjs/js/src/static_dependencies/noble-hashes/sha512.js +239 -0
- package/dist/cjs/js/src/static_dependencies/noble-hashes/utils.js +93 -0
- package/dist/cjs/js/src/static_dependencies/node-fetch/body.js +354 -0
- package/dist/cjs/js/src/static_dependencies/node-fetch/errors/abort-error.js +16 -0
- package/dist/cjs/js/src/static_dependencies/node-fetch/errors/base.js +20 -0
- package/dist/cjs/js/src/static_dependencies/node-fetch/errors/fetch-error.js +30 -0
- package/dist/cjs/js/src/static_dependencies/node-fetch/headers.js +239 -0
- package/dist/cjs/js/src/static_dependencies/node-fetch/index.js +372 -0
- package/dist/cjs/js/src/static_dependencies/node-fetch/request.js +273 -0
- package/dist/cjs/js/src/static_dependencies/node-fetch/response.js +139 -0
- package/dist/cjs/js/src/static_dependencies/node-fetch/utils/get-search.js +14 -0
- package/dist/cjs/js/src/static_dependencies/node-fetch/utils/is-redirect.js +16 -0
- package/dist/cjs/js/src/static_dependencies/node-fetch/utils/is.js +81 -0
- package/dist/cjs/js/src/static_dependencies/node-fetch/utils/referrer.js +292 -0
- package/dist/cjs/js/src/static_dependencies/proxies/agent-base/index.js +103 -0
- package/dist/cjs/js/src/static_dependencies/proxies/http-proxy-agent/index.js +140 -0
- package/dist/cjs/js/src/static_dependencies/proxies/https-proxy-agent/index.js +175 -0
- package/dist/cjs/js/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +95 -0
- package/dist/cjs/js/src/static_dependencies/qs/index.cjs.js +7 -0
- package/dist/cjs/js/src/static_dependencies/scure-base/index.js +383 -0
- package/dist/cjs/js/src/timex.js +1562 -0
- package/dist/cjs/js/src/tokocrypto.js +2542 -0
- package/dist/cjs/js/src/upbit.js +1844 -0
- package/dist/cjs/js/src/wavesexchange.js +2607 -0
- package/dist/cjs/js/src/wazirx.js +953 -0
- package/dist/cjs/js/src/whitebit.js +2309 -0
- package/dist/cjs/js/src/woo.js +2715 -0
- package/dist/cjs/js/src/yobit.js +1314 -0
- package/dist/cjs/js/src/zaif.js +736 -0
- package/dist/cjs/js/src/zonda.js +1883 -0
- package/js/ccxt.d.ts +1 -1
- package/js/ccxt.js +1 -1
- package/js/src/abstract/bigone.d.ts +18 -0
- package/js/src/abstract/binance.d.ts +2 -0
- package/js/src/abstract/binancecoinm.d.ts +2 -0
- package/js/src/abstract/binanceus.d.ts +2 -0
- package/js/src/abstract/binanceusdm.d.ts +2 -0
- package/js/src/abstract/bybit.d.ts +1 -0
- package/js/src/abstract/gate.d.ts +11 -0
- package/js/src/abstract/gateio.d.ts +11 -0
- package/js/src/alpaca.js +18 -18
- package/js/src/base/Exchange.d.ts +5 -1
- package/js/src/base/Exchange.js +101 -12
- package/js/src/bigone.d.ts +1 -2
- package/js/src/bigone.js +340 -145
- package/js/src/binance.js +15 -8
- package/js/src/bingx.js +9 -2
- package/js/src/bitfinex.d.ts +2 -2
- package/js/src/bitfinex.js +2 -3
- package/js/src/bitget.js +21 -8
- package/js/src/bitmart.d.ts +2 -2
- package/js/src/bitmart.js +3 -3
- package/js/src/bitmex.js +1 -0
- package/js/src/bybit.js +2 -0
- package/js/src/coinlist.js +2 -3
- package/js/src/coinsph.js +2 -3
- package/js/src/deribit.js +1 -0
- package/js/src/gate.d.ts +4 -4
- package/js/src/gate.js +22 -3
- package/js/src/hitbtc.d.ts +4 -4
- package/js/src/hitbtc.js +2 -3
- package/js/src/htx.js +4 -7
- package/js/src/huobijp.js +2 -3
- package/js/src/kraken.js +1 -0
- package/js/src/mexc.js +2 -1
- package/js/src/okx.js +13 -3
- package/js/src/pro/binance.d.ts +2 -23
- package/js/src/pro/binance.js +58 -22
- package/js/src/pro/coinbase.d.ts +2 -2
- package/js/src/pro/coinbase.js +4 -1
- package/js/src/pro/coinbasepro.d.ts +2 -2
- package/js/src/pro/hitbtc.d.ts +2 -2
- package/js/src/pro/poloniex.d.ts +2 -2
- package/js/src/upbit.d.ts +3 -101
- package/js/src/upbit.js +12 -12
- package/js/src/woo.js +2 -0
- package/package.json +1 -1
- package/skip-tests.json +5 -0
package/js/src/pro/binance.js
CHANGED
|
@@ -73,6 +73,12 @@ export default class binance extends binanceRest {
|
|
|
73
73
|
'future': 50,
|
|
74
74
|
'delivery': 50, // max 200
|
|
75
75
|
},
|
|
76
|
+
'subscriptionLimitByStream': {
|
|
77
|
+
'spot': 200,
|
|
78
|
+
'margin': 200,
|
|
79
|
+
'future': 200,
|
|
80
|
+
'delivery': 200,
|
|
81
|
+
},
|
|
76
82
|
'streamBySubscriptionsHash': {},
|
|
77
83
|
'streamIndex': -1,
|
|
78
84
|
// get updates every 1000ms or 100ms
|
|
@@ -121,7 +127,7 @@ export default class binance extends binanceRest {
|
|
|
121
127
|
this.options['requestId'][url] = newValue;
|
|
122
128
|
return newValue;
|
|
123
129
|
}
|
|
124
|
-
stream(type, subscriptionHash) {
|
|
130
|
+
stream(type, subscriptionHash, numSubscriptions = 1) {
|
|
125
131
|
const streamBySubscriptionsHash = this.safeValue(this.options, 'streamBySubscriptionsHash', {});
|
|
126
132
|
let stream = this.safeString(streamBySubscriptionsHash, subscriptionHash);
|
|
127
133
|
if (stream === undefined) {
|
|
@@ -133,6 +139,17 @@ export default class binance extends binanceRest {
|
|
|
133
139
|
this.options['streamIndex'] = streamIndex;
|
|
134
140
|
stream = this.numberToString(normalizedIndex);
|
|
135
141
|
this.options['streamBySubscriptionsHash'][subscriptionHash] = stream;
|
|
142
|
+
const subscriptionsByStreams = this.safeValue(this.options, 'numSubscriptionsByStream');
|
|
143
|
+
if (subscriptionsByStreams === undefined) {
|
|
144
|
+
this.options['numSubscriptionsByStream'] = {};
|
|
145
|
+
}
|
|
146
|
+
const subscriptionsByStream = this.safeInteger(this.options['numSubscriptionsByStream'], stream, 0);
|
|
147
|
+
const newNumSubscriptions = subscriptionsByStream + numSubscriptions;
|
|
148
|
+
const subscriptionLimitByStream = this.safeInteger(this.options, 'subscriptionLimitByStream', 200);
|
|
149
|
+
if (newNumSubscriptions > subscriptionLimitByStream) {
|
|
150
|
+
throw new BadRequest(this.id + ' reached the limit of subscriptions by stream. Increase the number of streams, or increase the stream limit or subscription limit by stream if the exchange allows.');
|
|
151
|
+
}
|
|
152
|
+
this.options['numSubscriptionsByStream'][stream] = subscriptionsByStream + numSubscriptions;
|
|
136
153
|
}
|
|
137
154
|
return stream;
|
|
138
155
|
}
|
|
@@ -203,8 +220,14 @@ export default class binance extends binanceRest {
|
|
|
203
220
|
type = firstMarket['linear'] ? 'future' : 'delivery';
|
|
204
221
|
}
|
|
205
222
|
const name = 'depth';
|
|
206
|
-
|
|
207
|
-
|
|
223
|
+
let streamHash = 'multipleOrderbook';
|
|
224
|
+
if (symbols !== undefined) {
|
|
225
|
+
const symbolsLength = symbols.length;
|
|
226
|
+
if (symbolsLength > 200) {
|
|
227
|
+
throw new BadRequest(this.id + ' watchOrderBookForSymbols() accepts 200 symbols at most. To watch more symbols call watchOrderBookForSymbols() multiple times');
|
|
228
|
+
}
|
|
229
|
+
streamHash += '::' + symbols.join(',');
|
|
230
|
+
}
|
|
208
231
|
const watchOrderBookRate = this.safeString(this.options, 'watchOrderBookRate', '100');
|
|
209
232
|
const subParams = [];
|
|
210
233
|
const messageHashes = [];
|
|
@@ -216,6 +239,9 @@ export default class binance extends binanceRest {
|
|
|
216
239
|
const symbolHash = messageHash + '@' + watchOrderBookRate + 'ms';
|
|
217
240
|
subParams.push(symbolHash);
|
|
218
241
|
}
|
|
242
|
+
const messageHashesLength = messageHashes.length;
|
|
243
|
+
const url = this.urls['api']['ws'][type] + '/' + this.stream(type, streamHash, messageHashesLength);
|
|
244
|
+
const requestId = this.requestId(url);
|
|
219
245
|
const request = {
|
|
220
246
|
'method': 'SUBSCRIBE',
|
|
221
247
|
'params': subParams,
|
|
@@ -459,6 +485,14 @@ export default class binance extends binanceRest {
|
|
|
459
485
|
*/
|
|
460
486
|
await this.loadMarkets();
|
|
461
487
|
symbols = this.marketSymbols(symbols, undefined, false, true, true);
|
|
488
|
+
let streamHash = 'multipleTrades';
|
|
489
|
+
if (symbols !== undefined) {
|
|
490
|
+
const symbolsLength = symbols.length;
|
|
491
|
+
if (symbolsLength > 200) {
|
|
492
|
+
throw new BadRequest(this.id + ' watchTradesForSymbols() accepts 200 symbols at most. To watch more symbols call watchTradesForSymbols() multiple times');
|
|
493
|
+
}
|
|
494
|
+
streamHash += '::' + symbols.join(',');
|
|
495
|
+
}
|
|
462
496
|
const options = this.safeValue(this.options, 'watchTradesForSymbols', {});
|
|
463
497
|
const name = this.safeString(options, 'name', 'trade');
|
|
464
498
|
const firstMarket = this.market(symbols[0]);
|
|
@@ -474,7 +508,8 @@ export default class binance extends binanceRest {
|
|
|
474
508
|
subParams.push(currentMessageHash);
|
|
475
509
|
}
|
|
476
510
|
const query = this.omit(params, 'type');
|
|
477
|
-
const
|
|
511
|
+
const subParamsLength = subParams.length;
|
|
512
|
+
const url = this.urls['api']['ws'][type] + '/' + this.stream(type, streamHash, subParamsLength);
|
|
478
513
|
const requestId = this.requestId(url);
|
|
479
514
|
const request = {
|
|
480
515
|
'method': 'SUBSCRIBE',
|
|
@@ -958,30 +993,30 @@ export default class binance extends binanceRest {
|
|
|
958
993
|
}
|
|
959
994
|
const marketId = this.safeString(message, 's');
|
|
960
995
|
const symbol = this.safeSymbol(marketId, undefined, undefined, marketType);
|
|
961
|
-
const
|
|
962
|
-
const
|
|
996
|
+
const market = this.safeMarket(marketId, undefined, undefined, marketType);
|
|
997
|
+
const last = this.safeString(message, 'c');
|
|
998
|
+
return this.safeTicker({
|
|
963
999
|
'symbol': symbol,
|
|
964
1000
|
'timestamp': timestamp,
|
|
965
1001
|
'datetime': this.iso8601(timestamp),
|
|
966
|
-
'high': this.
|
|
967
|
-
'low': this.
|
|
968
|
-
'bid': this.
|
|
969
|
-
'bidVolume': this.
|
|
970
|
-
'ask': this.
|
|
971
|
-
'askVolume': this.
|
|
972
|
-
'vwap': this.
|
|
973
|
-
'open': this.
|
|
1002
|
+
'high': this.safeString(message, 'h'),
|
|
1003
|
+
'low': this.safeString(message, 'l'),
|
|
1004
|
+
'bid': this.safeString(message, 'b'),
|
|
1005
|
+
'bidVolume': this.safeString(message, 'B'),
|
|
1006
|
+
'ask': this.safeString(message, 'a'),
|
|
1007
|
+
'askVolume': this.safeString(message, 'A'),
|
|
1008
|
+
'vwap': this.safeString(message, 'w'),
|
|
1009
|
+
'open': this.safeString(message, 'o'),
|
|
974
1010
|
'close': last,
|
|
975
1011
|
'last': last,
|
|
976
|
-
'previousClose': this.
|
|
977
|
-
'change': this.
|
|
978
|
-
'percentage': this.
|
|
1012
|
+
'previousClose': this.safeString(message, 'x'),
|
|
1013
|
+
'change': this.safeString(message, 'p'),
|
|
1014
|
+
'percentage': this.safeString(message, 'P'),
|
|
979
1015
|
'average': undefined,
|
|
980
|
-
'baseVolume': this.
|
|
981
|
-
'quoteVolume': this.
|
|
1016
|
+
'baseVolume': this.safeString(message, 'v'),
|
|
1017
|
+
'quoteVolume': this.safeString(message, 'q'),
|
|
982
1018
|
'info': message,
|
|
983
|
-
};
|
|
984
|
-
return ticker;
|
|
1019
|
+
}, market);
|
|
985
1020
|
}
|
|
986
1021
|
handleTicker(client, message) {
|
|
987
1022
|
//
|
|
@@ -2246,7 +2281,8 @@ export default class binance extends binanceRest {
|
|
|
2246
2281
|
market = this.getMarketFromSymbols(symbols);
|
|
2247
2282
|
messageHash = '::' + symbols.join(',');
|
|
2248
2283
|
}
|
|
2249
|
-
let type =
|
|
2284
|
+
let type = undefined;
|
|
2285
|
+
[type, params] = this.handleMarketTypeAndParams('watchPositions', market, params);
|
|
2250
2286
|
if (type === 'spot' || type === 'margin') {
|
|
2251
2287
|
type = 'future';
|
|
2252
2288
|
}
|
package/js/src/pro/coinbase.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import coinbaseRest from '../coinbase.js';
|
|
2
|
-
import { Ticker, Int, Trade, OrderBook, Order } from '../base/types.js';
|
|
2
|
+
import { Strings, Tickers, Ticker, Int, Trade, OrderBook, Order } from '../base/types.js';
|
|
3
3
|
export default class coinbase extends coinbaseRest {
|
|
4
4
|
describe(): any;
|
|
5
5
|
subscribe(name: any, symbol?: any, params?: {}): Promise<any>;
|
|
6
6
|
watchTicker(symbol: any, params?: {}): Promise<Ticker>;
|
|
7
|
-
watchTickers(symbols?:
|
|
7
|
+
watchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
|
|
8
8
|
handleTickers(client: any, message: any): any;
|
|
9
9
|
parseWsTicker(ticker: any, market?: any): Ticker;
|
|
10
10
|
watchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
|
package/js/src/pro/coinbase.js
CHANGED
|
@@ -117,7 +117,10 @@ export default class coinbase extends coinbaseRest {
|
|
|
117
117
|
}
|
|
118
118
|
const name = 'ticker_batch';
|
|
119
119
|
const tickers = await this.subscribe(name, symbols, params);
|
|
120
|
-
|
|
120
|
+
if (this.newUpdates) {
|
|
121
|
+
return tickers;
|
|
122
|
+
}
|
|
123
|
+
return this.tickers;
|
|
121
124
|
}
|
|
122
125
|
handleTickers(client, message) {
|
|
123
126
|
//
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import coinbaseproRest from '../coinbasepro.js';
|
|
2
|
-
import type { Int, Ticker, Str, Strings, OrderBook, Trade, Order } from '../base/types.js';
|
|
2
|
+
import type { Tickers, Int, Ticker, Str, Strings, OrderBook, Trade, Order } from '../base/types.js';
|
|
3
3
|
import Client from '../base/ws/Client.js';
|
|
4
4
|
export default class coinbasepro extends coinbaseproRest {
|
|
5
5
|
describe(): any;
|
|
@@ -12,7 +12,7 @@ export default class coinbasepro extends coinbaseproRest {
|
|
|
12
12
|
subscribe(name: any, symbol?: any, messageHashStart?: any, params?: {}): Promise<any>;
|
|
13
13
|
subscribeMultiple(name: any, symbols?: any[], messageHashStart?: any, params?: {}): Promise<any>;
|
|
14
14
|
watchTicker(symbol: string, params?: {}): Promise<Ticker>;
|
|
15
|
-
watchTickers(symbols?: Strings, params?: {}): Promise<
|
|
15
|
+
watchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
|
|
16
16
|
watchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
|
|
17
17
|
watchTradesForSymbols(symbols: string[], since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
|
|
18
18
|
watchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
|
package/js/src/pro/hitbtc.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import hitbtcRest from '../hitbtc.js';
|
|
2
|
-
import type { Int, OHLCV, OrderSide, OrderType, Strings } from '../base/types.js';
|
|
2
|
+
import type { Tickers, Int, OHLCV, OrderSide, OrderType, Strings } from '../base/types.js';
|
|
3
3
|
import Client from '../base/ws/Client.js';
|
|
4
4
|
import { Str, OrderBook, Order, Trade, Ticker, Balances } from '../base/types';
|
|
5
5
|
export default class hitbtc extends hitbtcRest {
|
|
@@ -13,7 +13,7 @@ export default class hitbtc extends hitbtcRest {
|
|
|
13
13
|
handleDelta(bookside: any, delta: any): void;
|
|
14
14
|
handleDeltas(bookside: any, deltas: any): void;
|
|
15
15
|
watchTicker(symbol: string, params?: {}): Promise<Ticker>;
|
|
16
|
-
watchTickers(symbols?:
|
|
16
|
+
watchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
|
|
17
17
|
handleTicker(client: Client, message: any): any;
|
|
18
18
|
parseWsTicker(ticker: any, market?: any): Ticker;
|
|
19
19
|
watchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
|
package/js/src/pro/poloniex.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import poloniexRest from '../poloniex.js';
|
|
2
|
-
import type { Int, OHLCV, OrderSide, OrderType, Str, Strings, OrderBook, Order, Trade, Ticker, Balances } from '../base/types.js';
|
|
2
|
+
import type { Tickers, Int, OHLCV, OrderSide, OrderType, Str, Strings, OrderBook, Order, Trade, Ticker, Balances } from '../base/types.js';
|
|
3
3
|
import Client from '../base/ws/Client.js';
|
|
4
4
|
export default class poloniex extends poloniexRest {
|
|
5
5
|
describe(): any;
|
|
@@ -13,7 +13,7 @@ export default class poloniex extends poloniexRest {
|
|
|
13
13
|
handleOrderRequest(client: Client, message: any): void;
|
|
14
14
|
watchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
|
|
15
15
|
watchTicker(symbol: string, params?: {}): Promise<Ticker>;
|
|
16
|
-
watchTickers(symbols?:
|
|
16
|
+
watchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
|
|
17
17
|
watchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
|
|
18
18
|
watchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
|
|
19
19
|
watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
|
package/js/src/upbit.d.ts
CHANGED
|
@@ -17,7 +17,7 @@ export default class upbit extends Exchange {
|
|
|
17
17
|
limits: {
|
|
18
18
|
withdraw: {
|
|
19
19
|
min: number;
|
|
20
|
-
max:
|
|
20
|
+
max: number;
|
|
21
21
|
};
|
|
22
22
|
};
|
|
23
23
|
}>;
|
|
@@ -31,111 +31,13 @@ export default class upbit extends Exchange {
|
|
|
31
31
|
precision: any;
|
|
32
32
|
limits: {
|
|
33
33
|
withdraw: {
|
|
34
|
-
min: number;
|
|
35
|
-
max: any;
|
|
36
|
-
};
|
|
37
|
-
};
|
|
38
|
-
}>;
|
|
39
|
-
fetchMarket(symbol: string, params?: {}): Promise<{
|
|
40
|
-
id: string;
|
|
41
|
-
symbol: string;
|
|
42
|
-
base: string;
|
|
43
|
-
quote: string;
|
|
44
|
-
settle: any;
|
|
45
|
-
baseId: string;
|
|
46
|
-
quoteId: string;
|
|
47
|
-
settleId: any;
|
|
48
|
-
type: string;
|
|
49
|
-
spot: boolean;
|
|
50
|
-
margin: boolean;
|
|
51
|
-
swap: boolean;
|
|
52
|
-
future: boolean;
|
|
53
|
-
option: boolean;
|
|
54
|
-
active: boolean;
|
|
55
|
-
contract: boolean;
|
|
56
|
-
linear: any;
|
|
57
|
-
inverse: any;
|
|
58
|
-
taker: number;
|
|
59
|
-
maker: number;
|
|
60
|
-
contractSize: any;
|
|
61
|
-
expiry: any;
|
|
62
|
-
expiryDatetime: any;
|
|
63
|
-
strike: any;
|
|
64
|
-
optionType: any;
|
|
65
|
-
precision: {
|
|
66
|
-
amount: number;
|
|
67
|
-
price: number;
|
|
68
|
-
};
|
|
69
|
-
limits: {
|
|
70
|
-
leverage: {
|
|
71
|
-
min: any;
|
|
72
|
-
max: any;
|
|
73
|
-
};
|
|
74
|
-
amount: {
|
|
75
|
-
min: number;
|
|
76
|
-
max: any;
|
|
77
|
-
};
|
|
78
|
-
price: {
|
|
79
|
-
min: any;
|
|
80
|
-
max: any;
|
|
81
|
-
};
|
|
82
|
-
cost: {
|
|
83
|
-
min: number;
|
|
84
|
-
max: number;
|
|
85
|
-
};
|
|
86
|
-
info: any;
|
|
87
|
-
};
|
|
88
|
-
}>;
|
|
89
|
-
fetchMarketById(id: string, params?: {}): Promise<{
|
|
90
|
-
id: string;
|
|
91
|
-
symbol: string;
|
|
92
|
-
base: string;
|
|
93
|
-
quote: string;
|
|
94
|
-
settle: any;
|
|
95
|
-
baseId: string;
|
|
96
|
-
quoteId: string;
|
|
97
|
-
settleId: any;
|
|
98
|
-
type: string;
|
|
99
|
-
spot: boolean;
|
|
100
|
-
margin: boolean;
|
|
101
|
-
swap: boolean;
|
|
102
|
-
future: boolean;
|
|
103
|
-
option: boolean;
|
|
104
|
-
active: boolean;
|
|
105
|
-
contract: boolean;
|
|
106
|
-
linear: any;
|
|
107
|
-
inverse: any;
|
|
108
|
-
taker: number;
|
|
109
|
-
maker: number;
|
|
110
|
-
contractSize: any;
|
|
111
|
-
expiry: any;
|
|
112
|
-
expiryDatetime: any;
|
|
113
|
-
strike: any;
|
|
114
|
-
optionType: any;
|
|
115
|
-
precision: {
|
|
116
|
-
amount: number;
|
|
117
|
-
price: number;
|
|
118
|
-
};
|
|
119
|
-
limits: {
|
|
120
|
-
leverage: {
|
|
121
|
-
min: any;
|
|
122
|
-
max: any;
|
|
123
|
-
};
|
|
124
|
-
amount: {
|
|
125
|
-
min: number;
|
|
126
|
-
max: any;
|
|
127
|
-
};
|
|
128
|
-
price: {
|
|
129
|
-
min: any;
|
|
130
|
-
max: any;
|
|
131
|
-
};
|
|
132
|
-
cost: {
|
|
133
34
|
min: number;
|
|
134
35
|
max: number;
|
|
135
36
|
};
|
|
136
|
-
info: any;
|
|
137
37
|
};
|
|
138
38
|
}>;
|
|
39
|
+
fetchMarket(symbol: string, params?: {}): Promise<import("./base/types.js").MarketInterface>;
|
|
40
|
+
fetchMarketById(id: string, params?: {}): Promise<import("./base/types.js").MarketInterface>;
|
|
139
41
|
fetchMarkets(params?: {}): Promise<import("./base/types.js").MarketInterface[]>;
|
|
140
42
|
parseMarket(market: any): Market;
|
|
141
43
|
parseBalance(response: any): Balances;
|
package/js/src/upbit.js
CHANGED
|
@@ -264,11 +264,11 @@ export default class upbit extends Exchange {
|
|
|
264
264
|
else if ((locked !== undefined) && locked) {
|
|
265
265
|
active = false;
|
|
266
266
|
}
|
|
267
|
-
const maxOnetimeWithdrawal = this.
|
|
268
|
-
const maxDailyWithdrawal = this.
|
|
269
|
-
const remainingDailyWithdrawal = this.
|
|
267
|
+
const maxOnetimeWithdrawal = this.safeString(withdrawLimits, 'onetime');
|
|
268
|
+
const maxDailyWithdrawal = this.safeString(withdrawLimits, 'daily', maxOnetimeWithdrawal);
|
|
269
|
+
const remainingDailyWithdrawal = this.safeString(withdrawLimits, 'remaining_daily', maxDailyWithdrawal);
|
|
270
270
|
let maxWithdrawLimit = undefined;
|
|
271
|
-
if (remainingDailyWithdrawal
|
|
271
|
+
if (Precise.stringGt(remainingDailyWithdrawal, '0')) {
|
|
272
272
|
maxWithdrawLimit = remainingDailyWithdrawal;
|
|
273
273
|
}
|
|
274
274
|
else {
|
|
@@ -287,7 +287,7 @@ export default class upbit extends Exchange {
|
|
|
287
287
|
'limits': {
|
|
288
288
|
'withdraw': {
|
|
289
289
|
'min': this.safeNumber(withdrawLimits, 'minimum'),
|
|
290
|
-
'max': maxWithdrawLimit,
|
|
290
|
+
'max': this.parseNumber(maxWithdrawLimit),
|
|
291
291
|
},
|
|
292
292
|
},
|
|
293
293
|
};
|
|
@@ -347,10 +347,10 @@ export default class upbit extends Exchange {
|
|
|
347
347
|
const base = this.safeCurrencyCode(baseId);
|
|
348
348
|
const quote = this.safeCurrencyCode(quoteId);
|
|
349
349
|
const state = this.safeString(marketInfo, 'state');
|
|
350
|
-
const bidFee = this.
|
|
351
|
-
const askFee = this.
|
|
352
|
-
const fee =
|
|
353
|
-
return {
|
|
350
|
+
const bidFee = this.safeString(response, 'bid_fee');
|
|
351
|
+
const askFee = this.safeString(response, 'ask_fee');
|
|
352
|
+
const fee = this.parseNumber(Precise.stringMax(bidFee, askFee));
|
|
353
|
+
return this.safeMarketStructure({
|
|
354
354
|
'id': marketId,
|
|
355
355
|
'symbol': base + '/' + quote,
|
|
356
356
|
'base': base,
|
|
@@ -399,7 +399,7 @@ export default class upbit extends Exchange {
|
|
|
399
399
|
},
|
|
400
400
|
'info': response,
|
|
401
401
|
},
|
|
402
|
-
};
|
|
402
|
+
});
|
|
403
403
|
}
|
|
404
404
|
async fetchMarkets(params = {}) {
|
|
405
405
|
/**
|
|
@@ -428,7 +428,7 @@ export default class upbit extends Exchange {
|
|
|
428
428
|
const [quoteId, baseId] = id.split('-');
|
|
429
429
|
const base = this.safeCurrencyCode(baseId);
|
|
430
430
|
const quote = this.safeCurrencyCode(quoteId);
|
|
431
|
-
return {
|
|
431
|
+
return this.safeMarketStructure({
|
|
432
432
|
'id': id,
|
|
433
433
|
'symbol': base + '/' + quote,
|
|
434
434
|
'base': base,
|
|
@@ -478,7 +478,7 @@ export default class upbit extends Exchange {
|
|
|
478
478
|
},
|
|
479
479
|
'created': undefined,
|
|
480
480
|
'info': market,
|
|
481
|
-
};
|
|
481
|
+
});
|
|
482
482
|
}
|
|
483
483
|
parseBalance(response) {
|
|
484
484
|
const result = {
|
package/js/src/woo.js
CHANGED
|
@@ -44,6 +44,8 @@ export default class woo extends Exchange {
|
|
|
44
44
|
'createMarketOrder': false,
|
|
45
45
|
'createMarketOrderWithCost': false,
|
|
46
46
|
'createMarketSellOrderWithCost': false,
|
|
47
|
+
'createTrailingAmountOrder': true,
|
|
48
|
+
'createTrailingPercentOrder': true,
|
|
47
49
|
'createOrder': true,
|
|
48
50
|
'createReduceOnlyOrder': true,
|
|
49
51
|
'createStopLimitOrder': false,
|
package/package.json
CHANGED
package/skip-tests.json
CHANGED
|
@@ -625,6 +625,11 @@
|
|
|
625
625
|
"bid": "broken bid-ask",
|
|
626
626
|
"ask": "broken bid-ask",
|
|
627
627
|
"baseVolume": "negative value"
|
|
628
|
+
},
|
|
629
|
+
"loadMarkets": {
|
|
630
|
+
"taker": "key is there when run locally, but not on travis",
|
|
631
|
+
"maker": "key is there when run locally, but not on travis",
|
|
632
|
+
"currencyIdAndCode": true
|
|
628
633
|
}
|
|
629
634
|
}
|
|
630
635
|
},
|