ccxt 4.2.11 → 4.2.13
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 +1347 -490
- 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 +2209 -0
- package/dist/cjs/js/src/binance.js +9736 -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 +3807 -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 +8291 -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 +3424 -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 +7072 -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 +9049 -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 +761 -0
- package/dist/cjs/js/src/indodax.js +1069 -0
- package/dist/cjs/js/src/kraken.js +2857 -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 +2851 -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 +7330 -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 +4722 -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 +1608 -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 +1867 -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 +2765 -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/bingx.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/abstract/okx.d.ts +1 -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 +3 -2
- package/js/src/bigone.js +429 -167
- package/js/src/binance.js +48 -34
- package/js/src/bingx.js +115 -38
- package/js/src/bitfinex.d.ts +2 -2
- package/js/src/bitfinex.js +2 -3
- package/js/src/bitget.js +33 -13
- package/js/src/bitmart.d.ts +2 -2
- package/js/src/bitmart.js +5 -5
- package/js/src/bitmex.js +1 -0
- package/js/src/bybit.js +2 -0
- package/js/src/coinbase.d.ts +26 -3
- package/js/src/coinbase.js +176 -26
- package/js/src/coinlist.js +3 -4
- package/js/src/coinone.js +1 -1
- 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 +96 -59
- package/js/src/gemini.js +1 -1
- package/js/src/hitbtc.d.ts +4 -4
- package/js/src/hitbtc.js +2 -3
- package/js/src/htx.d.ts +1 -0
- package/js/src/htx.js +29 -7
- package/js/src/huobijp.js +2 -3
- package/js/src/independentreserve.js +7 -5
- package/js/src/kraken.js +3 -6
- package/js/src/lbank.js +59 -33
- package/js/src/mexc.js +2 -1
- package/js/src/oceanex.js +1 -1
- package/js/src/okx.js +14 -3
- package/js/src/phemex.js +9 -2
- 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/kraken.js +1 -1
- package/js/src/pro/okx.d.ts +1 -0
- package/js/src/pro/okx.js +52 -2
- package/js/src/pro/poloniex.d.ts +2 -2
- package/js/src/probit.js +4 -2
- package/js/src/upbit.d.ts +3 -101
- package/js/src/upbit.js +12 -12
- package/js/src/wavesexchange.js +1 -1
- package/js/src/woo.d.ts +2 -0
- package/js/src/woo.js +52 -0
- package/package.json +1 -1
- package/skip-tests.json +5 -0
package/js/src/binance.js
CHANGED
|
@@ -54,6 +54,7 @@ export default class binance extends Exchange {
|
|
|
54
54
|
'createStopLimitOrder': true,
|
|
55
55
|
'createStopMarketOrder': false,
|
|
56
56
|
'createStopOrder': true,
|
|
57
|
+
'createTrailingPercentOrder': true,
|
|
57
58
|
'editOrder': true,
|
|
58
59
|
'fetchAccounts': undefined,
|
|
59
60
|
'fetchBalance': true,
|
|
@@ -229,6 +230,7 @@ export default class binance extends Exchange {
|
|
|
229
230
|
'asset/convert-transfer/queryByPage': 0.033335,
|
|
230
231
|
'asset/wallet/balance': 6,
|
|
231
232
|
'asset/custody/transfer-history': 6,
|
|
233
|
+
'margin/borrow-repay': 1,
|
|
232
234
|
'margin/loan': 1,
|
|
233
235
|
'margin/repay': 1,
|
|
234
236
|
'margin/account': 1,
|
|
@@ -480,6 +482,7 @@ export default class binance extends Exchange {
|
|
|
480
482
|
'capital/withdraw/apply': 4.0002,
|
|
481
483
|
'capital/contract/convertible-coins': 4.0002,
|
|
482
484
|
'capital/deposit/credit-apply': 0.1,
|
|
485
|
+
'margin/borrow-repay': 20.001,
|
|
483
486
|
'margin/transfer': 4.0002,
|
|
484
487
|
'margin/loan': 20.001,
|
|
485
488
|
'margin/repay': 20.001,
|
|
@@ -6105,12 +6108,13 @@ export default class binance extends Exchange {
|
|
|
6105
6108
|
* @name binance#transfer
|
|
6106
6109
|
* @description transfer currency internally between wallets on the same account
|
|
6107
6110
|
* @see https://binance-docs.github.io/apidocs/spot/en/#user-universal-transfer-user_data
|
|
6108
|
-
* @see https://binance-docs.github.io/apidocs/spot/en/#isolated-margin-account-transfer-margin
|
|
6109
6111
|
* @param {string} code unified currency code
|
|
6110
6112
|
* @param {float} amount amount to transfer
|
|
6111
6113
|
* @param {string} fromAccount account to transfer from
|
|
6112
6114
|
* @param {string} toAccount account to transfer to
|
|
6113
6115
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
6116
|
+
* @param {string} [params.type] exchange specific transfer type
|
|
6117
|
+
* @param {string} [params.symbol] the unified symbol, required for isolated margin transfers
|
|
6114
6118
|
* @returns {object} a [transfer structure]{@link https://docs.ccxt.com/#/?id=transfer-structure}
|
|
6115
6119
|
*/
|
|
6116
6120
|
await this.loadMarkets();
|
|
@@ -6121,76 +6125,82 @@ export default class binance extends Exchange {
|
|
|
6121
6125
|
};
|
|
6122
6126
|
request['type'] = this.safeString(params, 'type');
|
|
6123
6127
|
params = this.omit(params, 'type');
|
|
6124
|
-
let response = undefined;
|
|
6125
6128
|
if (request['type'] === undefined) {
|
|
6126
6129
|
const symbol = this.safeString(params, 'symbol');
|
|
6130
|
+
let market = undefined;
|
|
6127
6131
|
if (symbol !== undefined) {
|
|
6132
|
+
market = this.market(symbol);
|
|
6128
6133
|
params = this.omit(params, 'symbol');
|
|
6129
6134
|
}
|
|
6130
6135
|
let fromId = this.convertTypeToAccount(fromAccount).toUpperCase();
|
|
6131
6136
|
let toId = this.convertTypeToAccount(toAccount).toUpperCase();
|
|
6137
|
+
let isolatedSymbol = undefined;
|
|
6138
|
+
if (market !== undefined) {
|
|
6139
|
+
isolatedSymbol = market['id'];
|
|
6140
|
+
}
|
|
6132
6141
|
if (fromId === 'ISOLATED') {
|
|
6133
6142
|
if (symbol === undefined) {
|
|
6134
6143
|
throw new ArgumentsRequired(this.id + ' transfer () requires params["symbol"] when fromAccount is ' + fromAccount);
|
|
6135
6144
|
}
|
|
6136
|
-
else {
|
|
6137
|
-
fromId = this.marketId(symbol);
|
|
6138
|
-
}
|
|
6139
6145
|
}
|
|
6140
6146
|
if (toId === 'ISOLATED') {
|
|
6141
6147
|
if (symbol === undefined) {
|
|
6142
6148
|
throw new ArgumentsRequired(this.id + ' transfer () requires params["symbol"] when toAccount is ' + toAccount);
|
|
6143
6149
|
}
|
|
6144
|
-
else {
|
|
6145
|
-
toId = this.marketId(symbol);
|
|
6146
|
-
}
|
|
6147
6150
|
}
|
|
6148
6151
|
const accountsById = this.safeValue(this.options, 'accountsById', {});
|
|
6149
6152
|
const fromIsolated = !(fromId in accountsById);
|
|
6150
6153
|
const toIsolated = !(toId in accountsById);
|
|
6154
|
+
if (fromIsolated && (market === undefined)) {
|
|
6155
|
+
isolatedSymbol = fromId; // allow user provide symbol as the from/to account
|
|
6156
|
+
}
|
|
6157
|
+
if (toIsolated && (market === undefined)) {
|
|
6158
|
+
isolatedSymbol = toId;
|
|
6159
|
+
}
|
|
6151
6160
|
if (fromIsolated || toIsolated) { // Isolated margin transfer
|
|
6152
6161
|
const fromFuture = fromId === 'UMFUTURE' || fromId === 'CMFUTURE';
|
|
6153
6162
|
const toFuture = toId === 'UMFUTURE' || toId === 'CMFUTURE';
|
|
6154
6163
|
const fromSpot = fromId === 'MAIN';
|
|
6155
6164
|
const toSpot = toId === 'MAIN';
|
|
6156
6165
|
const funding = fromId === 'FUNDING' || toId === 'FUNDING';
|
|
6157
|
-
const mining = fromId === 'MINING' || toId === 'MINING';
|
|
6158
6166
|
const option = fromId === 'OPTION' || toId === 'OPTION';
|
|
6159
|
-
const prohibitedWithIsolated = fromFuture || toFuture ||
|
|
6167
|
+
const prohibitedWithIsolated = fromFuture || toFuture || funding || option;
|
|
6160
6168
|
if ((fromIsolated || toIsolated) && prohibitedWithIsolated) {
|
|
6161
6169
|
throw new BadRequest(this.id + ' transfer () does not allow transfers between ' + fromAccount + ' and ' + toAccount);
|
|
6162
6170
|
}
|
|
6163
6171
|
else if (toSpot && fromIsolated) {
|
|
6164
|
-
|
|
6165
|
-
request['
|
|
6166
|
-
request['symbol'] = fromId;
|
|
6167
|
-
response = await this.sapiPostMarginIsolatedTransfer(this.extend(request, params));
|
|
6172
|
+
fromId = 'ISOLATED_MARGIN';
|
|
6173
|
+
request['fromSymbol'] = isolatedSymbol;
|
|
6168
6174
|
}
|
|
6169
6175
|
else if (fromSpot && toIsolated) {
|
|
6170
|
-
|
|
6171
|
-
request['
|
|
6172
|
-
request['symbol'] = toId;
|
|
6173
|
-
response = await this.sapiPostMarginIsolatedTransfer(this.extend(request, params));
|
|
6176
|
+
toId = 'ISOLATED_MARGIN';
|
|
6177
|
+
request['toSymbol'] = isolatedSymbol;
|
|
6174
6178
|
}
|
|
6175
6179
|
else {
|
|
6176
|
-
if (fromIsolated) {
|
|
6180
|
+
if (fromIsolated && toIsolated) {
|
|
6177
6181
|
request['fromSymbol'] = fromId;
|
|
6178
|
-
fromId = 'ISOLATEDMARGIN';
|
|
6179
|
-
}
|
|
6180
|
-
if (toIsolated) {
|
|
6181
6182
|
request['toSymbol'] = toId;
|
|
6183
|
+
fromId = 'ISOLATEDMARGIN';
|
|
6182
6184
|
toId = 'ISOLATEDMARGIN';
|
|
6183
6185
|
}
|
|
6184
|
-
|
|
6186
|
+
else {
|
|
6187
|
+
if (fromIsolated) {
|
|
6188
|
+
request['fromSymbol'] = isolatedSymbol;
|
|
6189
|
+
fromId = 'ISOLATEDMARGIN';
|
|
6190
|
+
}
|
|
6191
|
+
if (toIsolated) {
|
|
6192
|
+
request['toSymbol'] = isolatedSymbol;
|
|
6193
|
+
toId = 'ISOLATEDMARGIN';
|
|
6194
|
+
}
|
|
6195
|
+
}
|
|
6185
6196
|
}
|
|
6197
|
+
request['type'] = fromId + '_' + toId;
|
|
6186
6198
|
}
|
|
6187
6199
|
else {
|
|
6188
6200
|
request['type'] = fromId + '_' + toId;
|
|
6189
6201
|
}
|
|
6190
6202
|
}
|
|
6191
|
-
|
|
6192
|
-
response = await this.sapiPostAssetTransfer(this.extend(request, params));
|
|
6193
|
-
}
|
|
6203
|
+
const response = await this.sapiPostAssetTransfer(this.extend(request, params));
|
|
6194
6204
|
//
|
|
6195
6205
|
// {
|
|
6196
6206
|
// "tranId":13526853623
|
|
@@ -9128,7 +9138,7 @@ export default class binance extends Exchange {
|
|
|
9128
9138
|
* @method
|
|
9129
9139
|
* @name binance#repayCrossMargin
|
|
9130
9140
|
* @description repay borrowed margin and interest
|
|
9131
|
-
* @see https://binance-docs.github.io/apidocs/spot/en/#margin-account-repay-margin
|
|
9141
|
+
* @see https://binance-docs.github.io/apidocs/spot/en/#margin-account-borrow-repay-margin
|
|
9132
9142
|
* @param {string} code unified currency code of the currency to repay
|
|
9133
9143
|
* @param {float} amount the amount to repay
|
|
9134
9144
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
@@ -9140,8 +9150,9 @@ export default class binance extends Exchange {
|
|
|
9140
9150
|
'asset': currency['id'],
|
|
9141
9151
|
'amount': this.currencyToPrecision(code, amount),
|
|
9142
9152
|
'isIsolated': 'FALSE',
|
|
9153
|
+
'type': 'REPAY',
|
|
9143
9154
|
};
|
|
9144
|
-
const response = await this.
|
|
9155
|
+
const response = await this.sapiPostMarginBorrowRepay(this.extend(request, params));
|
|
9145
9156
|
//
|
|
9146
9157
|
// {
|
|
9147
9158
|
// "tranId": 108988250265,
|
|
@@ -9155,7 +9166,7 @@ export default class binance extends Exchange {
|
|
|
9155
9166
|
* @method
|
|
9156
9167
|
* @name binance#repayIsolatedMargin
|
|
9157
9168
|
* @description repay borrowed margin and interest
|
|
9158
|
-
* @see https://binance-docs.github.io/apidocs/spot/en/#margin-account-repay-margin
|
|
9169
|
+
* @see https://binance-docs.github.io/apidocs/spot/en/#margin-account-borrow-repay-margin
|
|
9159
9170
|
* @param {string} symbol unified market symbol, required for isolated margin
|
|
9160
9171
|
* @param {string} code unified currency code of the currency to repay
|
|
9161
9172
|
* @param {float} amount the amount to repay
|
|
@@ -9170,8 +9181,9 @@ export default class binance extends Exchange {
|
|
|
9170
9181
|
'amount': this.currencyToPrecision(code, amount),
|
|
9171
9182
|
'symbol': market['id'],
|
|
9172
9183
|
'isIsolated': 'TRUE',
|
|
9184
|
+
'type': 'REPAY',
|
|
9173
9185
|
};
|
|
9174
|
-
const response = await this.
|
|
9186
|
+
const response = await this.sapiPostMarginBorrowRepay(this.extend(request, params));
|
|
9175
9187
|
//
|
|
9176
9188
|
// {
|
|
9177
9189
|
// "tranId": 108988250265,
|
|
@@ -9185,7 +9197,7 @@ export default class binance extends Exchange {
|
|
|
9185
9197
|
* @method
|
|
9186
9198
|
* @name binance#borrowCrossMargin
|
|
9187
9199
|
* @description create a loan to borrow margin
|
|
9188
|
-
* @see https://binance-docs.github.io/apidocs/spot/en/#margin-account-borrow-margin
|
|
9200
|
+
* @see https://binance-docs.github.io/apidocs/spot/en/#margin-account-borrow-repay-margin
|
|
9189
9201
|
* @param {string} code unified currency code of the currency to borrow
|
|
9190
9202
|
* @param {float} amount the amount to borrow
|
|
9191
9203
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
@@ -9197,8 +9209,9 @@ export default class binance extends Exchange {
|
|
|
9197
9209
|
'asset': currency['id'],
|
|
9198
9210
|
'amount': this.currencyToPrecision(code, amount),
|
|
9199
9211
|
'isIsolated': 'FALSE',
|
|
9212
|
+
'type': 'BORROW',
|
|
9200
9213
|
};
|
|
9201
|
-
const response = await this.
|
|
9214
|
+
const response = await this.sapiPostMarginBorrowRepay(this.extend(request, params));
|
|
9202
9215
|
//
|
|
9203
9216
|
// {
|
|
9204
9217
|
// "tranId": 108988250265,
|
|
@@ -9212,7 +9225,7 @@ export default class binance extends Exchange {
|
|
|
9212
9225
|
* @method
|
|
9213
9226
|
* @name binance#borrowIsolatedMargin
|
|
9214
9227
|
* @description create a loan to borrow margin
|
|
9215
|
-
* @see https://binance-docs.github.io/apidocs/spot/en/#margin-account-borrow-margin
|
|
9228
|
+
* @see https://binance-docs.github.io/apidocs/spot/en/#margin-account-borrow-repay-margin
|
|
9216
9229
|
* @param {string} symbol unified market symbol, required for isolated margin
|
|
9217
9230
|
* @param {string} code unified currency code of the currency to borrow
|
|
9218
9231
|
* @param {float} amount the amount to borrow
|
|
@@ -9227,8 +9240,9 @@ export default class binance extends Exchange {
|
|
|
9227
9240
|
'amount': this.currencyToPrecision(code, amount),
|
|
9228
9241
|
'symbol': market['id'],
|
|
9229
9242
|
'isIsolated': 'TRUE',
|
|
9243
|
+
'type': 'BORROW',
|
|
9230
9244
|
};
|
|
9231
|
-
const response = await this.
|
|
9245
|
+
const response = await this.sapiPostMarginBorrowRepay(this.extend(request, params));
|
|
9232
9246
|
//
|
|
9233
9247
|
// {
|
|
9234
9248
|
// "tranId": 108988250265,
|
package/js/src/bingx.js
CHANGED
|
@@ -39,6 +39,8 @@ export default class bingx extends Exchange {
|
|
|
39
39
|
'createMarketSellOrderWithCost': true,
|
|
40
40
|
'createOrder': true,
|
|
41
41
|
'createOrders': true,
|
|
42
|
+
'createTrailingAmountOrder': true,
|
|
43
|
+
'createTrailingPercentOrder': true,
|
|
42
44
|
'fetchBalance': true,
|
|
43
45
|
'fetchClosedOrders': true,
|
|
44
46
|
'fetchCurrencies': true,
|
|
@@ -120,6 +122,7 @@ export default class bingx extends Exchange {
|
|
|
120
122
|
'trade/query': 3,
|
|
121
123
|
'trade/openOrders': 3,
|
|
122
124
|
'trade/historyOrders': 3,
|
|
125
|
+
'trade/myTrades': 3,
|
|
123
126
|
'user/commissionRate': 3,
|
|
124
127
|
'account/balance': 3,
|
|
125
128
|
},
|
|
@@ -179,6 +182,7 @@ export default class bingx extends Exchange {
|
|
|
179
182
|
'user/positions': 3,
|
|
180
183
|
'user/income': 3,
|
|
181
184
|
'trade/openOrders': 3,
|
|
185
|
+
'trade/openOrder': 3,
|
|
182
186
|
'trade/order': 3,
|
|
183
187
|
'trade/marginType': 3,
|
|
184
188
|
'trade/leverage': 3,
|
|
@@ -846,6 +850,22 @@ export default class bingx extends Exchange {
|
|
|
846
850
|
// "buyerMaker": false
|
|
847
851
|
// }
|
|
848
852
|
//
|
|
853
|
+
// spot
|
|
854
|
+
// fetchMyTrades
|
|
855
|
+
// {
|
|
856
|
+
// "symbol": "LTC-USDT",
|
|
857
|
+
// "id": 36237072,
|
|
858
|
+
// "orderId": 1674069326895775744,
|
|
859
|
+
// "price": "85.891",
|
|
860
|
+
// "qty": "0.0582",
|
|
861
|
+
// "quoteQty": "4.9988562000000005",
|
|
862
|
+
// "commission": -0.00005820000000000001,
|
|
863
|
+
// "commissionAsset": "LTC",
|
|
864
|
+
// "time": 1687964205000,
|
|
865
|
+
// "isBuyer": true,
|
|
866
|
+
// "isMaker": false
|
|
867
|
+
// }
|
|
868
|
+
//
|
|
849
869
|
// swap
|
|
850
870
|
// fetchTrades
|
|
851
871
|
//
|
|
@@ -908,7 +928,7 @@ export default class bingx extends Exchange {
|
|
|
908
928
|
}
|
|
909
929
|
const cost = this.safeString(trade, 'quoteQty');
|
|
910
930
|
const type = (cost === undefined) ? 'spot' : 'swap';
|
|
911
|
-
const currencyId = this.
|
|
931
|
+
const currencyId = this.safeStringN(trade, ['currency', 'N', 'commissionAsset']);
|
|
912
932
|
const currencyCode = this.safeCurrencyCode(currencyId);
|
|
913
933
|
const m = this.safeValue(trade, 'm');
|
|
914
934
|
const marketId = this.safeString(trade, 's');
|
|
@@ -924,6 +944,14 @@ export default class bingx extends Exchange {
|
|
|
924
944
|
takeOrMaker = 'taker';
|
|
925
945
|
}
|
|
926
946
|
}
|
|
947
|
+
const isBuyer = this.safeValue(trade, 'isBuyer');
|
|
948
|
+
if (isBuyer !== undefined) {
|
|
949
|
+
side = isBuyer ? 'buy' : 'sell';
|
|
950
|
+
}
|
|
951
|
+
const isMaker = this.safeValue(trade, 'isMaker');
|
|
952
|
+
if (isMaker !== undefined) {
|
|
953
|
+
takeOrMaker = isMaker ? 'maker' : 'taker';
|
|
954
|
+
}
|
|
927
955
|
return this.safeTrade({
|
|
928
956
|
'id': this.safeStringN(trade, ['id', 't']),
|
|
929
957
|
'info': trade,
|
|
@@ -2420,6 +2448,7 @@ export default class bingx extends Exchange {
|
|
|
2420
2448
|
'symbol': market['id'],
|
|
2421
2449
|
};
|
|
2422
2450
|
const clientOrderIds = this.safeValue(params, 'clientOrderIds');
|
|
2451
|
+
params = this.omit(params, 'clientOrderIds');
|
|
2423
2452
|
let idsToParse = ids;
|
|
2424
2453
|
const areClientOrderIds = (clientOrderIds !== undefined);
|
|
2425
2454
|
if (areClientOrderIds) {
|
|
@@ -2438,8 +2467,12 @@ export default class bingx extends Exchange {
|
|
|
2438
2467
|
response = await this.spotV1PrivatePostTradeCancelOrders(this.extend(request, params));
|
|
2439
2468
|
}
|
|
2440
2469
|
else {
|
|
2441
|
-
|
|
2442
|
-
|
|
2470
|
+
if (areClientOrderIds) {
|
|
2471
|
+
request['clientOrderIDList'] = this.json(parsedIds);
|
|
2472
|
+
}
|
|
2473
|
+
else {
|
|
2474
|
+
request['orderIdList'] = parsedIds;
|
|
2475
|
+
}
|
|
2443
2476
|
response = await this.swapV2PrivateDeleteTradeBatchOrders(this.extend(request, params));
|
|
2444
2477
|
}
|
|
2445
2478
|
//
|
|
@@ -3253,57 +3286,101 @@ export default class bingx extends Exchange {
|
|
|
3253
3286
|
* @method
|
|
3254
3287
|
* @name bingx#fetchMyTrades
|
|
3255
3288
|
* @description fetch all trades made by the user
|
|
3289
|
+
* @see https://bingx-api.github.io/docs/#/en-us/spot/trade-api.html#Query%20Order%20History
|
|
3256
3290
|
* @see https://bingx-api.github.io/docs/#/swapV2/trade-api.html#Query%20historical%20transaction%20orders
|
|
3257
3291
|
* @param {string} [symbol] unified market symbol
|
|
3258
3292
|
* @param {int} [since] the earliest time in ms to fetch trades for
|
|
3259
3293
|
* @param {int} [limit] the maximum number of trades structures to retrieve
|
|
3260
3294
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
3295
|
+
* @param {int} [params.until] timestamp in ms for the ending date filter, default is undefined
|
|
3261
3296
|
* @param {string} params.trandingUnit COIN (directly represent assets such as BTC and ETH) or CONT (represents the number of contract sheets)
|
|
3262
3297
|
* @returns {object[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=trade-structure}
|
|
3263
3298
|
*/
|
|
3264
3299
|
if (symbol === undefined) {
|
|
3265
3300
|
throw new ArgumentsRequired(this.id + ' fetchMyTrades() requires a symbol argument');
|
|
3266
3301
|
}
|
|
3267
|
-
if (since === undefined) {
|
|
3268
|
-
throw new ArgumentsRequired(this.id + ' fetchMyTrades() requires a since argument');
|
|
3269
|
-
}
|
|
3270
|
-
const tradingUnit = this.safeStringUpper(params, 'tradingUnit', 'CONT');
|
|
3271
3302
|
await this.loadMarkets();
|
|
3272
3303
|
const market = this.market(symbol);
|
|
3273
|
-
|
|
3274
|
-
|
|
3275
|
-
}
|
|
3304
|
+
const now = this.milliseconds();
|
|
3305
|
+
let response = undefined;
|
|
3276
3306
|
const request = {
|
|
3277
3307
|
'symbol': market['id'],
|
|
3278
|
-
'tradingUnit': tradingUnit,
|
|
3279
|
-
'startTs': since,
|
|
3280
|
-
'endTs': this.nonce(),
|
|
3281
3308
|
};
|
|
3282
|
-
|
|
3283
|
-
|
|
3284
|
-
|
|
3285
|
-
|
|
3286
|
-
|
|
3287
|
-
|
|
3288
|
-
|
|
3289
|
-
|
|
3290
|
-
|
|
3291
|
-
|
|
3292
|
-
|
|
3293
|
-
|
|
3294
|
-
|
|
3295
|
-
|
|
3296
|
-
|
|
3297
|
-
|
|
3298
|
-
|
|
3299
|
-
|
|
3300
|
-
|
|
3301
|
-
|
|
3302
|
-
|
|
3303
|
-
|
|
3304
|
-
|
|
3305
|
-
|
|
3306
|
-
|
|
3309
|
+
if (since !== undefined) {
|
|
3310
|
+
const startTimeReq = market['spot'] ? 'startTime' : 'startTs';
|
|
3311
|
+
request[startTimeReq] = since;
|
|
3312
|
+
}
|
|
3313
|
+
else if (market['swap']) {
|
|
3314
|
+
request['startTs'] = now - 7776000000; // 90 days
|
|
3315
|
+
}
|
|
3316
|
+
const until = this.safeInteger(params, 'until');
|
|
3317
|
+
params = this.omit(params, 'until');
|
|
3318
|
+
if (until !== undefined) {
|
|
3319
|
+
const endTimeReq = market['spot'] ? 'endTime' : 'endTs';
|
|
3320
|
+
request[endTimeReq] = until;
|
|
3321
|
+
}
|
|
3322
|
+
else if (market['swap']) {
|
|
3323
|
+
request['endTs'] = now;
|
|
3324
|
+
}
|
|
3325
|
+
let fills = undefined;
|
|
3326
|
+
if (market['spot']) {
|
|
3327
|
+
response = await this.spotV1PrivateGetTradeMyTrades(this.extend(request, params));
|
|
3328
|
+
const data = this.safeValue(response, 'data', []);
|
|
3329
|
+
fills = this.safeValue(data, 'fills', []);
|
|
3330
|
+
//
|
|
3331
|
+
// {
|
|
3332
|
+
// "code": 0,
|
|
3333
|
+
// "msg": "",
|
|
3334
|
+
// "debugMsg": "",
|
|
3335
|
+
// "data": {
|
|
3336
|
+
// "fills": [
|
|
3337
|
+
// {
|
|
3338
|
+
// "symbol": "LTC-USDT",
|
|
3339
|
+
// "id": 36237072,
|
|
3340
|
+
// "orderId": 1674069326895775744,
|
|
3341
|
+
// "price": "85.891",
|
|
3342
|
+
// "qty": "0.0582",
|
|
3343
|
+
// "quoteQty": "4.9988562000000005",
|
|
3344
|
+
// "commission": -0.00005820000000000001,
|
|
3345
|
+
// "commissionAsset": "LTC",
|
|
3346
|
+
// "time": 1687964205000,
|
|
3347
|
+
// "isBuyer": true,
|
|
3348
|
+
// "isMaker": false
|
|
3349
|
+
// }
|
|
3350
|
+
// ]
|
|
3351
|
+
// }
|
|
3352
|
+
// }
|
|
3353
|
+
//
|
|
3354
|
+
}
|
|
3355
|
+
else {
|
|
3356
|
+
const tradingUnit = this.safeStringUpper(params, 'tradingUnit', 'CONT');
|
|
3357
|
+
params = this.omit(params, 'tradingUnit');
|
|
3358
|
+
request['tradingUnit'] = tradingUnit;
|
|
3359
|
+
response = await this.swapV2PrivateGetTradeAllFillOrders(this.extend(request, params));
|
|
3360
|
+
const data = this.safeValue(response, 'data', []);
|
|
3361
|
+
fills = this.safeValue(data, 'fill_orders', []);
|
|
3362
|
+
//
|
|
3363
|
+
// {
|
|
3364
|
+
// "code": "0",
|
|
3365
|
+
// "msg": '',
|
|
3366
|
+
// "data": { fill_orders: [
|
|
3367
|
+
// {
|
|
3368
|
+
// "volume": "0.1",
|
|
3369
|
+
// "price": "106.75",
|
|
3370
|
+
// "amount": "10.6750",
|
|
3371
|
+
// "commission": "-0.0053",
|
|
3372
|
+
// "currency": "USDT",
|
|
3373
|
+
// "orderId": "1676213270274379776",
|
|
3374
|
+
// "liquidatedPrice": "0.00",
|
|
3375
|
+
// "liquidatedMarginRatio": "0.00",
|
|
3376
|
+
// "filledTime": "2023-07-04T20:56:01.000+0800"
|
|
3377
|
+
// }
|
|
3378
|
+
// ]
|
|
3379
|
+
// }
|
|
3380
|
+
// }
|
|
3381
|
+
//
|
|
3382
|
+
}
|
|
3383
|
+
return this.parseTrades(fills, market, since, limit, params);
|
|
3307
3384
|
}
|
|
3308
3385
|
parseDepositWithdrawFee(fee, currency = undefined) {
|
|
3309
3386
|
//
|
package/js/src/bitfinex.d.ts
CHANGED
|
@@ -29,8 +29,8 @@ export default class bitfinex extends Exchange {
|
|
|
29
29
|
parseTransfer(transfer: any, currency?: Currency): {
|
|
30
30
|
info: any;
|
|
31
31
|
id: any;
|
|
32
|
-
timestamp:
|
|
33
|
-
datetime:
|
|
32
|
+
timestamp: any;
|
|
33
|
+
datetime: any;
|
|
34
34
|
currency: string;
|
|
35
35
|
amount: any;
|
|
36
36
|
fromAccount: any;
|
package/js/src/bitfinex.js
CHANGED
|
@@ -792,12 +792,11 @@ export default class bitfinex extends Exchange {
|
|
|
792
792
|
// "message": "0.0001 Bitcoin transfered from Margin to Exchange"
|
|
793
793
|
// }
|
|
794
794
|
//
|
|
795
|
-
const timestamp = this.milliseconds();
|
|
796
795
|
return {
|
|
797
796
|
'info': transfer,
|
|
798
797
|
'id': undefined,
|
|
799
|
-
'timestamp':
|
|
800
|
-
'datetime':
|
|
798
|
+
'timestamp': undefined,
|
|
799
|
+
'datetime': undefined,
|
|
801
800
|
'currency': this.safeCurrencyCode(undefined, currency),
|
|
802
801
|
'amount': undefined,
|
|
803
802
|
'fromAccount': undefined,
|
package/js/src/bitget.js
CHANGED
|
@@ -46,6 +46,7 @@ export default class bitget extends Exchange {
|
|
|
46
46
|
'createOrder': true,
|
|
47
47
|
'createOrders': true,
|
|
48
48
|
'createReduceOnlyOrder': false,
|
|
49
|
+
'createTrailingPercentOrder': true,
|
|
49
50
|
'editOrder': true,
|
|
50
51
|
'fetchAccounts': false,
|
|
51
52
|
'fetchBalance': true,
|
|
@@ -2959,7 +2960,12 @@ export default class bitget extends Exchange {
|
|
|
2959
2960
|
'symbol': market['id'],
|
|
2960
2961
|
};
|
|
2961
2962
|
if (limit !== undefined) {
|
|
2962
|
-
|
|
2963
|
+
if (market['contract']) {
|
|
2964
|
+
request['limit'] = Math.min(limit, 1000);
|
|
2965
|
+
}
|
|
2966
|
+
else {
|
|
2967
|
+
request['limit'] = limit;
|
|
2968
|
+
}
|
|
2963
2969
|
}
|
|
2964
2970
|
const options = this.safeValue(this.options, 'fetchTrades', {});
|
|
2965
2971
|
let response = undefined;
|
|
@@ -3271,31 +3277,45 @@ export default class bitget extends Exchange {
|
|
|
3271
3277
|
const marketType = market['spot'] ? 'spot' : 'swap';
|
|
3272
3278
|
const timeframes = this.options['timeframes'][marketType];
|
|
3273
3279
|
const selectedTimeframe = this.safeString(timeframes, timeframe, timeframe);
|
|
3274
|
-
|
|
3280
|
+
const request = {
|
|
3275
3281
|
'symbol': market['id'],
|
|
3276
3282
|
'granularity': selectedTimeframe,
|
|
3277
3283
|
};
|
|
3278
|
-
|
|
3279
|
-
|
|
3280
|
-
request['startTime'] = limit;
|
|
3281
|
-
}
|
|
3284
|
+
const until = this.safeInteger2(params, 'until', 'till');
|
|
3285
|
+
params = this.omit(params, ['until', 'till']);
|
|
3282
3286
|
if (limit !== undefined) {
|
|
3283
3287
|
request['limit'] = limit;
|
|
3284
3288
|
}
|
|
3285
3289
|
const options = this.safeValue(this.options, 'fetchOHLCV', {});
|
|
3290
|
+
const spotOptions = this.safeValue(options, 'spot', {});
|
|
3291
|
+
const defaultSpotMethod = this.safeString(spotOptions, 'method', 'publicSpotGetV2SpotMarketCandles');
|
|
3292
|
+
const method = this.safeString(params, 'method', defaultSpotMethod);
|
|
3293
|
+
params = this.omit(params, 'method');
|
|
3294
|
+
if (method !== 'publicSpotGetV2SpotMarketHistoryCandles') {
|
|
3295
|
+
if (since !== undefined) {
|
|
3296
|
+
request['startTime'] = since;
|
|
3297
|
+
}
|
|
3298
|
+
if (until !== undefined) {
|
|
3299
|
+
request['endTime'] = until;
|
|
3300
|
+
}
|
|
3301
|
+
}
|
|
3286
3302
|
let response = undefined;
|
|
3287
3303
|
if (market['spot']) {
|
|
3288
|
-
const spotOptions = this.safeValue(options, 'spot', {});
|
|
3289
|
-
const defaultSpotMethod = this.safeString(spotOptions, 'method', 'publicSpotGetV2SpotMarketCandles');
|
|
3290
|
-
const method = this.safeString(params, 'method', defaultSpotMethod);
|
|
3291
|
-
params = this.omit(params, 'method');
|
|
3292
3304
|
if (method === 'publicSpotGetV2SpotMarketCandles') {
|
|
3293
3305
|
response = await this.publicSpotGetV2SpotMarketCandles(this.extend(request, params));
|
|
3294
3306
|
}
|
|
3295
3307
|
else if (method === 'publicSpotGetV2SpotMarketHistoryCandles') {
|
|
3296
|
-
|
|
3297
|
-
|
|
3298
|
-
|
|
3308
|
+
if (since !== undefined) {
|
|
3309
|
+
if (limit === undefined) {
|
|
3310
|
+
limit = 100; // exchange default
|
|
3311
|
+
}
|
|
3312
|
+
const duration = this.parseTimeframe(timeframe) * 1000;
|
|
3313
|
+
request['endTime'] = this.sum(since, duration * limit);
|
|
3314
|
+
}
|
|
3315
|
+
else if (until !== undefined) {
|
|
3316
|
+
request['endTime'] = until;
|
|
3317
|
+
}
|
|
3318
|
+
else {
|
|
3299
3319
|
request['endTime'] = this.milliseconds();
|
|
3300
3320
|
}
|
|
3301
3321
|
response = await this.publicSpotGetV2SpotMarketHistoryCandles(this.extend(request, params));
|
package/js/src/bitmart.d.ts
CHANGED
|
@@ -109,8 +109,8 @@ export default class bitmart extends Exchange {
|
|
|
109
109
|
currency: string;
|
|
110
110
|
amount: any;
|
|
111
111
|
symbol: any;
|
|
112
|
-
timestamp:
|
|
113
|
-
datetime:
|
|
112
|
+
timestamp: any;
|
|
113
|
+
datetime: any;
|
|
114
114
|
info: any;
|
|
115
115
|
};
|
|
116
116
|
fetchIsolatedBorrowRate(symbol: string, params?: {}): Promise<{
|
package/js/src/bitmart.js
CHANGED
|
@@ -47,6 +47,7 @@ export default class bitmart extends Exchange {
|
|
|
47
47
|
'createStopLimitOrder': false,
|
|
48
48
|
'createStopMarketOrder': false,
|
|
49
49
|
'createStopOrder': false,
|
|
50
|
+
'createTrailingPercentOrder': true,
|
|
50
51
|
'fetchBalance': true,
|
|
51
52
|
'fetchBorrowInterest': true,
|
|
52
53
|
'fetchBorrowRateHistories': false,
|
|
@@ -265,8 +266,8 @@ export default class bitmart extends Exchange {
|
|
|
265
266
|
'trading': {
|
|
266
267
|
'tierBased': true,
|
|
267
268
|
'percentage': true,
|
|
268
|
-
'taker': this.parseNumber('0.
|
|
269
|
-
'maker': this.parseNumber('0.
|
|
269
|
+
'taker': this.parseNumber('0.0040'),
|
|
270
|
+
'maker': this.parseNumber('0.0035'),
|
|
270
271
|
'tiers': {
|
|
271
272
|
'taker': [
|
|
272
273
|
[this.parseNumber('0'), this.parseNumber('0.0020')],
|
|
@@ -3515,14 +3516,13 @@ export default class bitmart extends Exchange {
|
|
|
3515
3516
|
// "repay_id": "2afcc16d99bd4707818c5a355dc89bed",
|
|
3516
3517
|
// }
|
|
3517
3518
|
//
|
|
3518
|
-
const timestamp = this.milliseconds();
|
|
3519
3519
|
return {
|
|
3520
3520
|
'id': this.safeString2(info, 'borrow_id', 'repay_id'),
|
|
3521
3521
|
'currency': this.safeCurrencyCode(undefined, currency),
|
|
3522
3522
|
'amount': undefined,
|
|
3523
3523
|
'symbol': undefined,
|
|
3524
|
-
'timestamp':
|
|
3525
|
-
'datetime':
|
|
3524
|
+
'timestamp': undefined,
|
|
3525
|
+
'datetime': undefined,
|
|
3526
3526
|
'info': info,
|
|
3527
3527
|
};
|
|
3528
3528
|
}
|
package/js/src/bitmex.js
CHANGED
package/js/src/bybit.js
CHANGED
|
@@ -49,6 +49,7 @@ export default class bybit extends Exchange {
|
|
|
49
49
|
'createStopLimitOrder': true,
|
|
50
50
|
'createStopMarketOrder': true,
|
|
51
51
|
'createStopOrder': true,
|
|
52
|
+
'createTrailingAmountOrder': true,
|
|
52
53
|
'editOrder': true,
|
|
53
54
|
'fetchBalance': true,
|
|
54
55
|
'fetchBorrowInterest': false,
|
|
@@ -295,6 +296,7 @@ export default class bybit extends Exchange {
|
|
|
295
296
|
'v5/account/wallet-balance': 1,
|
|
296
297
|
'v5/account/borrow-history': 1,
|
|
297
298
|
'v5/account/set-collateral-switch': 5,
|
|
299
|
+
'v5/account/set-collateral-switch-batch': 5,
|
|
298
300
|
'v5/account/collateral-info': 1,
|
|
299
301
|
'v5/asset/coin-greeks': 1,
|
|
300
302
|
'v5/account/fee-rate': 10,
|