ccxt: EXMO fetchCurrencies() is missing currencies
- OS: OSX
- Programming Language version: Node.js
- CCXT version: 1.27.89
const ccxt = require('ccxt');
(async () => {
const exch = new ccxt.exmo({
enableRateLimit: true,
apiKey: 'K-yourKEY,
secret: 'S-yourSECRET'
});
const markets = await exch.loadMarkets(true);
console.info("Markets found: %s", Object.keys(markets).sort().join(' '));
console.info("Currencies found: %s", Object.keys(exch.currencies).sort().join(' '));
})();
node exmo-currency-bug.js
Markets found: ADA/BTC ADA/ETH ADA/USD ALGO/BTC ALGO/EUR ALGO/EXM ALGO/RUB ALGO/USDT ATOM/BTC ATOM/EUR ATOM/EXM ATOM/USD BCH/BTC BCH/ETH BCH/EUR BCH/RUB BCH/UAH BCH/USD BCH/USDT BTC/EUR BTC/GBP BTC/KZT BTC/PLN BTC/RUB BTC/TRY BTC/UAH BTC/USD BTC/USDT BTG/BTC BTG/ETH BTG/USD BTT/BTC BTT/RUB BTT/UAH CRON/BTC CRON/ETH CRON/EXM CRON/USDT DAI/BTC DAI/ETH DAI/RUB DAI/USD DASH/BTC DASH/RUB DASH/UAH DASH/USD DASH/USDT DCR/BTC DCR/RUB DCR/UAH DOGE/BTC DOGE/USD EOS/BTC EOS/EUR EOS/USD ETC/BTC ETC/RUB ETC/USD ETH/BTC ETH/EUR ETH/GBP ETH/KZT ETH/LTC ETH/PLN ETH/RUB ETH/TRY ETH/UAH ETH/USD ETH/USDT ETZ/BTC ETZ/ETH ETZ/USDT EXM/BTC EXM/ETH EXM/USDT GAS/BTC GAS/USD GNT/BTC GNT/ETH GUSD/BTC GUSD/RUB GUSD/USD HB/BTC HP/BTC LSK/BTC LSK/RUB LSK/USD LTC/BTC LTC/EUR LTC/RUB LTC/UAH LTC/USD MKR/BTC MKR/DAI MNC/BTC MNC/ETH MNC/USD NEO/BTC NEO/RUB NEO/USD OMG/BTC OMG/ETH OMG/USD ONG/BTC ONG/EXM ONG/RUB ONG/UAH ONT/BTC ONT/EXM ONT/RUB ONT/UAH PTI/BTC PTI/EOS PTI/RUB PTI/USDT QTUM/BTC QTUM/ETH QTUM/USD ROOBEE/BTC SMART/BTC SMART/EUR SMART/RUB SMART/USD TRX/BTC TRX/EUR TRX/RUB TRX/UAH TRX/USD USD/RUB USDC/BTC USDC/ETH USDC/USD USDC/USDT USDT/EUR USDT/GBP USDT/KZT USDT/RUB USDT/UAH USDT/USD VLX/BTC WAVES/BTC WAVES/ETH WAVES/RUB WAVES/USD XEM/BTC XEM/EUR XEM/UAH XEM/USD XLM/BTC XLM/RUB XLM/TRY XLM/USD XMR/BTC XMR/ETH XMR/EUR XMR/RUB XMR/UAH XMR/USD XRP/BTC XRP/ETH XRP/EUR XRP/GBP XRP/RUB XRP/TRY XRP/UAH XRP/USD XRP/USDT XTZ/BTC XTZ/ETH XTZ/RUB XTZ/USD ZAG/BTC ZEC/BTC ZEC/EUR ZEC/RUB ZEC/USD ZRX/BTC ZRX/ETH ZRX/USD
Currencies found: ADA ALGO ATMCASH BCH BTC BTCZ BTG BTT CRON DAI DASH DCR DOGE DXT EOS ETC ETH ETZ EUR EXM GAS GNT GUSD HB INK KICK KZT LSK LTC MKR MNC MNX NEO OMG ONG ONT PLN PTI QTUM ROOBEE RUB SMART TRX TRY UAH USD USDC USDT VLX WAVES XEM XLM XMR XRP ZAG ZEC ZRX
There is currencies that we find in the markets, but which are missing in the currencies object: eg.: ATOM, GBP, HP, XTZ.
I’ve tried fetchCurrencies() but the result is the same.
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Comments: 15 (6 by maintainers)
Commits related to this issue
- exmo USDT parsing fix #6964 — committed to ccxt/ccxt by kroitor 4 years ago
- Ccxt update 5 18 2020 (#17) * binance setSandboxMode future vs spot fix #6890 * 1.27.26 [ci skip] * fix TypeError: Class constructor cannot be invoked without 'new' * createOrder add leve... — committed to newsum/ccxt by newsum 4 years ago
Thanks again @kroitor !
@davidonlaptop i’ve uploaded the fix for USDT, however, on BCH they say this: https://exmo.me/en/news_view?id=2989
Sorry to insist, but the latest version (1.27.91) brings ATOM and GBP, however we lost BCH and USDT. USDT is present in the fees section.
I see, it’s not in the fees section.
Okay that works!
P.S. The new build will arrive in version 1.27.90 in 15 minutes.
@davidonlaptop i’ve uploaded an update to EXMO metainfo, that fixes ATOM and GBP. However, we can’t find anything about HP or XTZ here:
So, you might really want to forward your question on HP / XTZ to EXMO.
On the script - thank you very much for it! The problem is that it false alarms, since 4BCH, 4BTC are not currencies – those are just the way for Bibox to label their stuff. You would still use the BCH, BTC currencies to withdraw and deposit, not 4BCH nor 4BTC – those are the names of perpetual contracts. Bibox uses those 4xxx symbols to differentiate spot pairs from contracts. So a general script does not help resolve this – we still have to look into each exchange and their rules in particular. If you find more bugs like EXMO – let us know. We will fix the specific exchanges, where there is a bug indeed.
Closing this for now if you don’t mind. Feel free to reopen it or just ask further questions if you have more. Thx again for the feedback, we really appreciate your involvement!
Contents of file
bug-report.js:It can be executed with:
or
If it finds missing currencies it will print:
Ah great! thanks 😃
Thanks @kroitor , it’s true that XTZ_BTC does not seem tradeable, but BTC/GBP appears to be so, and GBP is missing.
When digging in the source of
fetchCurrencies()it seems to rely onfetchFundingFees()but lost the track from there: https://github.com/ccxt/ccxt/blob/4e279314b5a9cec22e5a83e37370b9e83ea1ee21/js/exmo.js#L523