Browse Source

Add DRGX market data

dev
fekt 2 months ago
parent
commit
3a160c1136
  1. 38
      src/rpc.cpp

38
src/rpc.cpp

@ -1573,8 +1573,13 @@ void RPC::refreshPrice() {
if (conn == nullptr)
return noConnection();
QString price_feed;
// TODO: Make price_feed dynamic to support HACs
if (isdragonx) {
return;
price_feed = "https://api.coingecko.com/api/v3/simple/price?ids=dragonx-2&vs_currencies=btc%2Cusd%2Ceur%2Ceth%2Cgbp%2Ccny%2Cjpy%2Cidr%2Crub%2Ccad%2Csgd%2Cchf%2Cinr%2Caud%2Cinr%2Ckrw%2Cthb%2Cnzd%2Czar%2Cvef%2Cxau%2Cxag%2Cvnd%2Csar%2Ctwd%2Caed%2Cars%2Cbdt%2Cbhd%2Cbmd%2Cbrl%2Cclp%2Cczk%2Cdkk%2Chuf%2Cils%2Ckwd%2Clkr%2Cpkr%2Cnok%2Ctry%2Csek%2Cmxn%2Cuah%2Chkd&include_market_cap=true&include_24hr_vol=true&include_24hr_change=true";
} else {
price_feed = "https://api.coingecko.com/api/v3/simple/price?ids=hush&vs_currencies=btc%2Cusd%2Ceur%2Ceth%2Cgbp%2Ccny%2Cjpy%2Cidr%2Crub%2Ccad%2Csgd%2Cchf%2Cinr%2Caud%2Cinr%2Ckrw%2Cthb%2Cnzd%2Czar%2Cvef%2Cxau%2Cxag%2Cvnd%2Csar%2Ctwd%2Caed%2Cars%2Cbdt%2Cbhd%2Cbmd%2Cbrl%2Cclp%2Cczk%2Cdkk%2Chuf%2Cils%2Ckwd%2Clkr%2Cpkr%2Cnok%2Ctry%2Csek%2Cmxn%2Cuah%2Chkd&include_market_cap=true&include_24hr_vol=true&include_24hr_change=true";
}
auto s = Settings::getInstance();
@ -1584,7 +1589,6 @@ void RPC::refreshPrice() {
return;
}
QString price_feed = "https://api.coingecko.com/api/v3/simple/price?ids=hush&vs_currencies=btc%2Cusd%2Ceur%2Ceth%2Cgbp%2Ccny%2Cjpy%2Cidr%2Crub%2Ccad%2Csgd%2Cchf%2Cinr%2Caud%2Cinr%2Ckrw%2Cthb%2Cnzd%2Czar%2Cvef%2Cxau%2Cxag%2Cvnd%2Csar%2Ctwd%2Caed%2Cars%2Cbdt%2Cbhd%2Cbmd%2Cbrl%2Cclp%2Cczk%2Cdkk%2Chuf%2Cils%2Ckwd%2Clkr%2Cpkr%2Cnok%2Ctry%2Csek%2Cmxn%2Cuah%2Chkd&include_market_cap=true&include_24hr_vol=true&include_24hr_change=true";
qDebug() << "Requesting price feed data via " << price_feed;
QUrl cmcURL(price_feed);
@ -1632,7 +1636,16 @@ void RPC::refreshPrice() {
qDebug() << "Parsed JSON";
const QJsonValue& item = parsed;
const QJsonValue& hush = item["hush"].toObject();
// TODO: Rename hush to be more universal for HACs and avoid confusion
QJsonValue hush;
if (isdragonx) {
hush = item["dragonx-2"].toObject();
} else {
hush = item["hush"].toObject();
}
QString ticker = s->get_currency_name();
ticker = ticker.toLower();
fprintf(stderr,"ticker=%s\n", ticker.toLocal8Bit().data());
@ -1666,17 +1679,24 @@ void RPC::refreshPrice() {
qDebug() << "Volume = " << (double) vol;
ticker = ticker.toUpper();
ui->volume->setText( QString::number((double) vol, 'f', 2) + " " + ticker );
ui->volumeBTC->setText( QString::number((double) btcvol, 'f', 2) + " BTC" );
ui->volume->setText( QString::number((double) vol, 'f', 8) + " " + ticker );
ui->volumeBTC->setText( QString::number((double) btcvol, 'f', 8) + " BTC" );
ticker = ticker.toUpper();
// We don't get an actual HUSH volume stat, so we calculate it
if (price > 0)
ui->volumeLocal->setText( QString::number((double) vol / (double) price) + " HUSH");
if (price > 0) {
// TODO: Make dynamic to support HACs
if (isdragonx) {
ui->volumeLocal->setText( QString::number((double) vol / (double) price) + " DRGX");
} else {
ui->volumeLocal->setText( QString::number((double) vol / (double) price) + " HUSH");
}
}
qDebug() << "Mcap = " << (double) mcap;
ui->marketcap->setText( QString::number( (double) mcap, 'f', 2) + " " + ticker );
ui->marketcapBTC->setText( QString::number((double) btcmcap, 'f', 2) + " BTC" );
ui->marketcap->setText( QString::number( (double) mcap, 'f', 8) + " " + ticker );
ui->marketcapBTC->setText( QString::number((double) btcmcap, 'f', 8) + " BTC" );
//ui->marketcapLocal->setText( QString::number((double) mcap * (double) price) + " " + ticker );
refresh(true);

Loading…
Cancel
Save