Browse Source

Stuff

pull/2/head
Duke Leto 3 years ago
parent
commit
3b75b37b81
  1. 21
      README.md
  2. BIN
      res/hushdlogo.gif
  3. BIN
      res/new-sdl-logo.gif
  4. BIN
      res/sdl-logo.gif
  5. 23
      src/controller.cpp
  6. 14
      src/mainwindow.cpp
  7. 2
      src/mainwindow.h
  8. 17
      src/settings.cpp
  9. 2
      src/version.h
  10. 2
      src/websockets.cpp

21
README.md

@ -3,17 +3,25 @@
SilentDragonLite is a lightwallet for HUSH ($HUSH) runs on Linux and Windows which does not require you to download the full blockchain. This is experimental software under active development! SilentDragonLite is a lightwallet for HUSH ($HUSH) runs on Linux and Windows which does not require you to download the full blockchain. This is experimental software under active development!
<img src="https://raw.githubusercontent.com/MyHush/SilentDragonLite/master/hushchat-screenshot.png"> <img src="hushchat-screenshot.png">
## PRIVACY NOTICE ## PRIVACY NOTICE
SilentDragonLite contacts a few different external websites to get various bits of data. * coingecko.com for price data API * explorer.myhush.org for explorer links * dexstats.info for address utilities, hush-lightwallet.de to get Data. SilentDragonLite contacts a few different external websites to get various bits of data.
The first two are option features, to get real-time price data feeds and if you want
to look at explorer details. Price feed can be turned off in Settings and you can set
a custom block explorer URL as well.
* coingecko.com for price data API (optional)
* explorer.hush.is for explorer links (optional)
* various community-run lite wallet servers to provide basic functionality (required)
This means your IP address is known to these servers. Enable Tor setting in SilentDragon to prevent this, or better yet, use TAILS: https://tails.boum.org/ This means your IP address is known to these servers. Enable Tor setting in SilentDragon to prevent this, or better yet, use TAILS: https://tails.boum.org/
or https://qubes-os.org
## Installation ## Installation
Go to the releases page and grab the latest installers or binary. https://github.com/MyHush/SilentDragonLite/releases Go to the releases page and grab the latest installers or binary. https://git.hush.is/hush/SilentDragonLite/releases
## Install Torsocks (or any other Socks service for TOR) on Ubuntu 18.04 ## Install Torsocks (or any other Socks service for TOR) on Ubuntu 18.04
``` ```
@ -27,9 +35,10 @@ sudo apt install torsocks
``` ```
## Note Management ## Note Management
SilentDragonLite does automatic note and utxo management, which means it doesn't allow you to manually select which address to send outgoing transactions from. It follows these principles: SilentDragonLite does automatic note and utxo management, which means it doesn't allow you to manually select which address to send outgoing transactions from. It follows these principles:
* Defaults to sending shielded transactions, even if you're sending to a transparent address
* Sapling funds need at least 2 confirmations before they can be spent * Defaults to sending shielded transactions, which are now enforced via consensus rules
* Can select funds from multiple shielded addresses in the same transaction * Sapling funds need at least 2 confirmations before they can be spent (150 seconds on average for HUSH mainnet)
* Can select funds from multiple shielded addresses in the same transaction (via raw transactions)
* Will automatically shield your transparent funds at the first opportunity * Will automatically shield your transparent funds at the first opportunity
* When sending an outgoing transaction to a shielded address, SilentDragonLite can decide to use the transaction to additionally shield your transparent funds (i.e., send your transparent funds to your own shielded address in the same transaction) * When sending an outgoing transaction to a shielded address, SilentDragonLite can decide to use the transaction to additionally shield your transparent funds (i.e., send your transparent funds to your own shielded address in the same transaction)

BIN
res/hushdlogo.gif

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 75 KiB

BIN
res/new-sdl-logo.gif

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

BIN
res/sdl-logo.gif

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

23
src/controller.cpp

@ -89,9 +89,10 @@ void Controller::setConnection(Connection* c)
ui->statusBar->showMessage(""); ui->statusBar->showMessage("");
// If we're allowed to get the Hush Price, get the prices // If we're allowed to get the Hush Price, get the prices
if (Settings::getInstance()->getAllowFetchPrices()) if (Settings::getInstance()->getAllowFetchPrices()) {
refreshZECPrice(); refreshZECPrice();
supplyUpdate(); supplyUpdate();
}
// If we're allowed to check for updates, check for a new release // If we're allowed to check for updates, check for a new release
if (Settings::getInstance()->getCheckForUpdates()) if (Settings::getInstance()->getCheckForUpdates())
@ -688,23 +689,21 @@ void Controller::supplyUpdate() {
// Get the total supply and render it with thousand decimal // Get the total supply and render it with thousand decimal
zrpc->fetchSupply([=] (const json& reply) { zrpc->fetchSupply([=] (const json& reply) {
int supply = reply["supply"].get<json::number_integer_t>(); int supply = reply["supply"].get<json::number_integer_t>();
int zfunds = reply["zfunds"].get<json::number_integer_t>(); int zfunds = reply["zfunds"].get<json::number_integer_t>();
int total = reply["total"].get<json::number_integer_t>();; int total = reply["total"].get<json::number_integer_t>();;
if ( if (
Settings::getInstance()->get_currency_name() == "EUR" || Settings::getInstance()->get_currency_name() == "EUR" ||
Settings::getInstance()->get_currency_name() == "CHF" || Settings::getInstance()->get_currency_name() == "CHF" ||
Settings::getInstance()->get_currency_name() == "RUB" Settings::getInstance()->get_currency_name() == "RUB"
) )
{ {
ui->supply_taddr->setText((QLocale(QLocale::German).toString(supply)+ " Hush")); ui->supply_taddr->setText((QLocale(QLocale::German).toString(supply)+ " HUSH"));
ui->supply_zaddr->setText((QLocale(QLocale::German).toString(zfunds)+ " Hush")); ui->supply_zaddr->setText((QLocale(QLocale::German).toString(zfunds)+ " HUSH"));
ui->supply_total->setText((QLocale(QLocale::German).toString(total)+ " Hush")); ui->supply_total->setText((QLocale(QLocale::German).toString(total)+ " HUSH"));
} } else {
else ui->supply_taddr->setText("HUSH " + (QLocale(QLocale::English).toString(supply)));
{ ui->supply_zaddr->setText("HUSH " +(QLocale(QLocale::English).toString(zfunds)));
ui->supply_taddr->setText("Hush " + (QLocale(QLocale::English).toString(supply))); ui->supply_total->setText("HUSH " +(QLocale(QLocale::English).toString(total)));
ui->supply_zaddr->setText("Hush " +(QLocale(QLocale::English).toString(zfunds)));
ui->supply_total->setText("Hush " +(QLocale(QLocale::English).toString(total)));
} }
}); });

14
src/mainwindow.cpp

@ -111,7 +111,7 @@ MainWindow::MainWindow(QWidget *parent) :
// Set up Feedback action // Set up Feedback action
QObject::connect(ui->actionDonate, &QAction::triggered, this, &MainWindow::donate); QObject::connect(ui->actionDonate, &QAction::triggered, this, &MainWindow::donate);
QObject::connect(ui->actionDiscord, &QAction::triggered, this, &MainWindow::discord); QObject::connect(ui->actionDiscord, &QAction::triggered, this, &MainWindow::telegram);
QObject::connect(ui->actionWebsite, &QAction::triggered, this, &MainWindow::website); QObject::connect(ui->actionWebsite, &QAction::triggered, this, &MainWindow::website);
@ -780,7 +780,7 @@ void MainWindow::setupStatusBar() {
}); });
menu.addAction(tr("Copy block explorer link"), [=]() { menu.addAction(tr("Copy block explorer link"), [=]() {
// auto explorer = Settings::getInstance()->getExplorer(); // auto explorer = Settings::getInstance()->getExplorer();
QGuiApplication::clipboard()->setText("https://explorer.myhush.org/tx/" + txid); QGuiApplication::clipboard()->setText("https://explorer.hush.is/tx/" + txid);
}); });
menu.addAction(tr("View tx on block explorer"), [=]() { menu.addAction(tr("View tx on block explorer"), [=]() {
@ -852,7 +852,7 @@ void MainWindow::setupSettingsModal() {
settings.chkFetchPrices->setChecked(Settings::getInstance()->getAllowFetchPrices()); settings.chkFetchPrices->setChecked(Settings::getInstance()->getAllowFetchPrices());
// List of default servers // List of default servers
settings.cmbServer->addItem("https://lite.myhush.org"); settings.cmbServer->addItem("https://lite.hush.is");
settings.cmbServer->addItem("6onaaujm4ozaokzu.onion:80"); settings.cmbServer->addItem("6onaaujm4ozaokzu.onion:80");
@ -906,13 +906,13 @@ void MainWindow::addressBook() {
AddressBook::open(this); AddressBook::open(this);
} }
void MainWindow::discord() { void MainWindow::telegram() {
QString url = "https://myhush.org/discord/"; QString url = "https://hush.is/telegram/";
QDesktopServices::openUrl(QUrl(url)); QDesktopServices::openUrl(QUrl(url));
} }
void MainWindow::website() { void MainWindow::website() {
QString url = "https://myhush.org"; QString url = "https://hush.is";
QDesktopServices::openUrl(QUrl(url)); QDesktopServices::openUrl(QUrl(url));
} }
@ -1429,7 +1429,7 @@ void MainWindow::setupTransactionsTab() {
} }
menu.addAction(tr("Copy block explorer link"), [=]() { menu.addAction(tr("Copy block explorer link"), [=]() {
// auto explorer = Settings::getInstance()->getExplorer(); // auto explorer = Settings::getInstance()->getExplorer();
QGuiApplication::clipboard()->setText("https://explorer.myhush.org/tx/" + txid); QGuiApplication::clipboard()->setText("https://explorer.hush.is/tx/" + txid);
}); });
menu.addAction(tr("View on block explorer"), [=] () { menu.addAction(tr("View on block explorer"), [=] () {

2
src/mainwindow.h

@ -180,7 +180,7 @@ private:
void setMemoEnabled(int number, bool enabled); void setMemoEnabled(int number, bool enabled);
void donate(); void donate();
void discord(); void telegram();
void website(); void website();
void addressBook(); void addressBook();
void importPrivKey(); void importPrivKey();

17
src/settings.cpp

@ -264,27 +264,16 @@ void Settings::saveRestoreTableHeader(QTableView* table, QDialog* d, QString tab
} }
QString Settings::getDefaultServer() { QString Settings::getDefaultServer() {
return "https://lite.myhush.org"; return "https://lite.hush.is";
} }
void Settings::openAddressInExplorer(QString address) { void Settings::openAddressInExplorer(QString address) {
QString url; QString url = "https://explorer.hush.is/address/" + address;
if (Settings::getInstance()->isTestnet()) {
url = "https://chain.so/address/hushTEST/" + address;
} else {
url = "https://explorer.myhush.org/address/" + address;
}
QDesktopServices::openUrl(QUrl(url)); QDesktopServices::openUrl(QUrl(url));
} }
void Settings::openTxInExplorer(QString txid) { void Settings::openTxInExplorer(QString txid) {
QString url; QString url = "https://explorer.hush.is/tx/" + txid;
if (Settings::getInstance()->isTestnet()) {
url = "https://chain.so/tx/hushTEST/" + txid;
}
else {
url = "https://explorer.myhush.org/tx/" + txid;
}
QDesktopServices::openUrl(QUrl(url)); QDesktopServices::openUrl(QUrl(url));
} }

2
src/version.h

@ -1,3 +1,3 @@
// Copyright 2019-2021 The Hush developers // Copyright 2019-2021 The Hush developers
// Released under the GPLv3 // Released under the GPLv3
#define APP_VERSION "1.3.11" #define APP_VERSION "1.3.12"

2
src/websockets.cpp

@ -127,7 +127,7 @@ void WormholeClient::connect() {
qDebug() << "Invalid websocket object!"; qDebug() << "Invalid websocket object!";
} }
m_webSocket->open(QUrl("wss://wormhole.myhush.org:443")); m_webSocket->open(QUrl("wss://wormhole.hush.is:443"));
//m_webSocket->open(QUrl("ws://127.0.0.1:7070")); //m_webSocket->open(QUrl("ws://127.0.0.1:7070"));
} }

Loading…
Cancel
Save