From 02a2995887d3f3c960a18d029ef95248b1a74386 Mon Sep 17 00:00:00 2001 From: "Jonathan \"Duke\" Leto" Date: Fri, 6 Dec 2019 05:36:13 -0800 Subject: [PATCH] Volume and marketcap stuff --- src/mainwindow.ui | 3 +-- src/rpc.cpp | 25 +++++++++++++++++++------ src/settings.h | 4 +++- 3 files changed, 23 insertions(+), 9 deletions(-) diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 89ec4f9..4c703e6 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -994,7 +994,7 @@ - Volume on Exchanges + 24H Volume @@ -1020,7 +1020,6 @@ - diff --git a/src/rpc.cpp b/src/rpc.cpp index 8345bef..6318882 100644 --- a/src/rpc.cpp +++ b/src/rpc.cpp @@ -1134,27 +1134,40 @@ void RPC::refreshPrice() { //TODO: better check for valid json response if (hush["usd"] >= 0) { qDebug() << "Found hush key in price json"; - // TODO: support BTC/EUR prices as well //QString price = QString::fromStdString(hush["usd"].get()); qDebug() << "HUSH = $" << QString::number((double)hush["usd"]); qDebug() << "HUSH = " << QString::number((double)hush["eur"]) << " EUR"; qDebug() << "HUSH = " << QString::number((int) 100000000 * (double) hush["btc"]) << " sat "; - //TODO: based on current fiat selection, store that fiat price + s->setZECPrice( hush["usd"] ); s->setBTCPrice( (unsigned int) 100000000 * (double)hush["btc"] ); - // convert ticker to upper case std::for_each(ticker.begin(), ticker.end(), [](char & c){ c = ::tolower(c); }); qDebug() << "ticker=" << QString::fromStdString(ticker); // TODO: update all stats and prevent coredumps! auto price = hush[ticker]; auto vol = hush[ticker + "_24h_vol"]; auto mcap = hush[ticker + "_market_cap"]; + + auto btcprice = hush["btc"]; + auto btcvol = hush["btc_24h_vol"]; + auto btcmcap = hush["btc_market_cap"]; s->set_price(ticker, price); s->set_volume(ticker, vol); - //s->set_marketcap(ticker, mcap); - //ui->marketcap = QString::number(mcap); - ui->volume = QString::number((double) vol); + s->set_volume("BTC", btcvol); + s->set_marketcap(ticker, mcap); + + qDebug() << "Volume = " << (double) vol; + ui->volume->setText( QString::number((double) vol) + " HUSH" ); + ui->volumeBTC->setText( QString::number((double) btcvol) + " BTC" ); + std::for_each(ticker.begin(), ticker.end(), [](char & c){ c = ::toupper(c); }); + ui->volumeLocal->setText( QString::number((double) vol * (double) price) + " " + QString::fromStdString(ticker) ); + + qDebug() << "Mcap = " << (double) mcap; + ui->marketcap->setText( QString::number( (double) mcap) + " HUSH" ); + ui->marketcapBTC->setText( QString::number((double) btcmcap) + " BTC" ); + std::for_each(ticker.begin(), ticker.end(), [](char & c){ c = ::toupper(c); }); + ui->marketcapLocal->setText( QString::number((double) mcap * (double) price) + " " + QString::fromStdString(ticker) ); refresh(true); return; diff --git a/src/settings.h b/src/settings.h index e33a508..ac060bc 100644 --- a/src/settings.h +++ b/src/settings.h @@ -98,9 +98,11 @@ public: double get_fiat_price(); unsigned int getBTCPrice(); double get_price(std::string currency); - double get_marketcap(std::string currency); void set_price(std::string currency, double price); double get_volume(std::string ticker); + void set_volume(std::string curr, double volume); + double get_marketcap(std::string curr); + void set_marketcap(std::string curr, double marketcap); void setPeers(int peers); int getPeers();