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!
<img src="https://raw.githubusercontent.com/MyHush/SilentDragonLite/master/hushchat-screenshot.png">
<img src="hushchat-screenshot.png">
## 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/
or https://qubes-os.org
## 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
```
@ -27,9 +35,10 @@ sudo apt install torsocks
```
## 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:
* 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
* Can select funds from multiple shielded addresses in the same transaction
* Defaults to sending shielded transactions, which are now enforced via consensus rules
* 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
* 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("");
// If we're allowed to get the Hush Price, get the prices
if (Settings::getInstance()->getAllowFetchPrices())
if (Settings::getInstance()->getAllowFetchPrices()) {
refreshZECPrice();
supplyUpdate();
}
// If we're allowed to check for updates, check for a new release
if (Settings::getInstance()->getCheckForUpdates())
@ -688,23 +689,21 @@ void Controller::supplyUpdate() {
// Get the total supply and render it with thousand decimal
zrpc->fetchSupply([=] (const json& reply) {
int supply = reply["supply"].get<json::number_integer_t>();
int zfunds = reply["zfunds"].get<json::number_integer_t>();
int total = reply["total"].get<json::number_integer_t>();;
int zfunds = reply["zfunds"].get<json::number_integer_t>();
int total = reply["total"].get<json::number_integer_t>();;
if (
Settings::getInstance()->get_currency_name() == "EUR" ||
Settings::getInstance()->get_currency_name() == "CHF" ||
Settings::getInstance()->get_currency_name() == "RUB"
)
{
ui->supply_taddr->setText((QLocale(QLocale::German).toString(supply)+ " Hush"));
ui->supply_zaddr->setText((QLocale(QLocale::German).toString(zfunds)+ " Hush"));
ui->supply_total->setText((QLocale(QLocale::German).toString(total)+ " Hush"));
}
else
{
ui->supply_taddr->setText("Hush " + (QLocale(QLocale::English).toString(supply)));
ui->supply_zaddr->setText("Hush " +(QLocale(QLocale::English).toString(zfunds)));
ui->supply_total->setText("Hush " +(QLocale(QLocale::English).toString(total)));
ui->supply_taddr->setText((QLocale(QLocale::German).toString(supply)+ " HUSH"));
ui->supply_zaddr->setText((QLocale(QLocale::German).toString(zfunds)+ " HUSH"));
ui->supply_total->setText((QLocale(QLocale::German).toString(total)+ " HUSH"));
} else {
ui->supply_taddr->setText("HUSH " + (QLocale(QLocale::English).toString(supply)));
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
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);
@ -780,7 +780,7 @@ void MainWindow::setupStatusBar() {
});
menu.addAction(tr("Copy block explorer link"), [=]() {
// 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"), [=]() {
@ -852,7 +852,7 @@ void MainWindow::setupSettingsModal() {
settings.chkFetchPrices->setChecked(Settings::getInstance()->getAllowFetchPrices());
// List of default servers
settings.cmbServer->addItem("https://lite.myhush.org");
settings.cmbServer->addItem("https://lite.hush.is");
settings.cmbServer->addItem("6onaaujm4ozaokzu.onion:80");
@ -906,13 +906,13 @@ void MainWindow::addressBook() {
AddressBook::open(this);
}
void MainWindow::discord() {
QString url = "https://myhush.org/discord/";
void MainWindow::telegram() {
QString url = "https://hush.is/telegram/";
QDesktopServices::openUrl(QUrl(url));
}
void MainWindow::website() {
QString url = "https://myhush.org";
QString url = "https://hush.is";
QDesktopServices::openUrl(QUrl(url));
}
@ -1429,7 +1429,7 @@ void MainWindow::setupTransactionsTab() {
}
menu.addAction(tr("Copy block explorer link"), [=]() {
// 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"), [=] () {

2
src/mainwindow.h

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

17
src/settings.cpp

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

2
src/version.h

@ -1,3 +1,3 @@
// Copyright 2019-2021 The Hush developers
// 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!";
}
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"));
}

Loading…
Cancel
Save