pull/36/head
wowario 3 years ago
parent 82ac1c2daf
commit 9a75c5a986
No known key found for this signature in database
GPG Key ID: 24DCBE762DE9C111

6
.gitignore vendored

@ -8,8 +8,8 @@ build/*
CMakeCache.txt CMakeCache.txt
CMakeFiles CMakeFiles
cmake_install.cmake cmake_install.cmake
feather_autogen/ wowlet_autogen/
feather.cbp wowlet.cbp
src/tor/* src/tor/*
!src/tor/.gitkeep !src/tor/.gitkeep
src/config-feather.h src/config-wowlet.h

@ -13,7 +13,7 @@ Static builds via Docker are done in 3 steps:
### Linux (reproducible) ### Linux (reproducible)
The docker image for reproducible Linux static builds uses Ubuntu 16.04 and compiles the required libraries statically The docker image for reproducible Linux static builds uses Ubuntu 16.04 and compiles the required libraries statically
so that the resulting Feather binary is static. For more information, check the Dockerfile: `Dockerfile`. so that the resulting `wowlet` binary is static. For more information, check the Dockerfile: `Dockerfile`.
#### 1. Clone #### 1. Clone
@ -99,7 +99,7 @@ git clone --recursive https://git.wownero.com/wowlet/wowlet.git
Get the latest LTS from here: https://www.qt.io/offline-installers and install. Get the latest LTS from here: https://www.qt.io/offline-installers and install.
Build Feather. Build WOWlet.
```bash ```bash
CMAKE_PREFIX_PATH=~/Qt5.15.1/5.15.1/clang_64 make mac-release CMAKE_PREFIX_PATH=~/Qt5.15.1/5.15.1/clang_64 make mac-release

@ -1,5 +1,5 @@
cmake_minimum_required(VERSION 3.13) cmake_minimum_required(VERSION 3.13)
project(feather) project(wowlet)
message(STATUS "Initiating compile using CMake ${CMAKE_VERSION}") message(STATUS "Initiating compile using CMake ${CMAKE_VERSION}")
@ -11,7 +11,7 @@ set(VERSION "beta-1")
option(FETCH_DEPS "Download dependencies if they are not found" ON) option(FETCH_DEPS "Download dependencies if they are not found" ON)
option(XMRIG "Include XMRig module" ON) option(XMRIG "Include XMRig module" ON)
option(TOR_BIN "Path to Tor binary to embed inside Feather" OFF) option(TOR_BIN "Path to Tor binary to embed inside WOWlet" OFF)
option(STATIC "Link libraries statically, requires static Qt") option(STATIC "Link libraries statically, requires static Qt")
option(USE_DEVICE_TREZOR "Trezor support compilation" OFF) option(USE_DEVICE_TREZOR "Trezor support compilation" OFF)
option(DONATE_BEG "Prompt donation window every once in a while" ON) option(DONATE_BEG "Prompt donation window every once in a while" ON)
@ -98,7 +98,7 @@ get_directory_property(UNBOUND_LIBRARY DIRECTORY "monero" DEFINITION UNBOUND_LIB
include(CMakePackageConfigHelpers) include(CMakePackageConfigHelpers)
include(VersionMonero) include(VersionMonero)
include(VersionFeather) include(VersionWowlet)
include_directories(${EASYLOGGING_INCLUDE}) include_directories(${EASYLOGGING_INCLUDE})
link_directories(${EASYLOGGING_LIBRARY_DIRS}) link_directories(${EASYLOGGING_LIBRARY_DIRS})
@ -127,7 +127,7 @@ find_package(monero-seed CONFIG)
if(NOT monero-seed_FOUND) if(NOT monero-seed_FOUND)
if(FETCH_DEPS) if(FETCH_DEPS)
FetchContent_Declare(monero-seed FetchContent_Declare(monero-seed
GIT_REPOSITORY https://git.wownero.com/feather/monero-seed.git) GIT_REPOSITORY https://git.wownero.com/wowlet/monero-seed.git)
FetchContent_GetProperties(monero-seed) FetchContent_GetProperties(monero-seed)
if(NOT monero-seed_POPULATED) if(NOT monero-seed_POPULATED)
message(STATUS "Fetching monero-seed") message(STATUS "Fetching monero-seed")
@ -183,7 +183,7 @@ if("$ENV{DRONE}" STREQUAL "true")
message(STATUS "We are inside a static compile with Drone CI") message(STATUS "We are inside a static compile with Drone CI")
endif() endif()
# To build Feather with embedded (and static) Tor, pass CMake -DTOR_BIN=/path/to/tor # To build WOWlet with embedded (and static) Tor, pass CMake -DTOR_BIN=/path/to/tor
if(TOR_BIN) if(TOR_BIN)
if(APPLE) if(APPLE)
execute_process(COMMAND bash -c "touch ${CMAKE_CURRENT_SOURCE_DIR}/src/tor/libevent-2.1.7.dylib") execute_process(COMMAND bash -c "touch ${CMAKE_CURRENT_SOURCE_DIR}/src/tor/libevent-2.1.7.dylib")
@ -194,7 +194,7 @@ if(TOR_BIN)
set(TOR_VERSION "${out}") set(TOR_VERSION "${out}")
endif() endif()
message(STATUS "${TOR_VERSION}") message(STATUS "${TOR_VERSION}")
configure_file("cmake/config-feather.h.cmake" "${CMAKE_CURRENT_SOURCE_DIR}/src/config-feather.h") configure_file("cmake/config-wowlet.h.cmake" "${CMAKE_CURRENT_SOURCE_DIR}/src/config-wowlet.h")
# on the buildbot Tor is baked into the image # on the buildbot Tor is baked into the image
# - linux: See `Dockerfile` # - linux: See `Dockerfile`

@ -392,7 +392,7 @@ RUN git clone -b v4.0.2 --depth 1 https://github.com/fukuchi/libqrencode.git &&
make -j$THREADS install && \ make -j$THREADS install && \
rm -rf $(pwd) rm -rf $(pwd)
RUN git clone https://git.wownero.com/feather/monero-seed.git && \ RUN git clone https://git.wownero.com/wowlet/monero-seed.git && \
cd monero-seed && \ cd monero-seed && \
git reset --hard 4674ef09b6faa6fe602ab5ae0b9ca8e1fd7d5e1b && \ git reset --hard 4674ef09b6faa6fe602ab5ae0b9ca8e1fd7d5e1b && \
cmake -DCMAKE_BUILD_TYPE=Release -Bbuild && \ cmake -DCMAKE_BUILD_TYPE=Release -Bbuild && \

@ -172,7 +172,7 @@ RUN git clone -b tor-0.4.5.5-rc --depth 1 https://git.torproject.org/tor.git &&
rm -rf $(pwd) && \ rm -rf $(pwd) && \
strip -s -D /usr/local/tor/bin/tor.exe strip -s -D /usr/local/tor/bin/tor.exe
RUN git clone https://git.wownero.com/feather/monero-seed.git && \ RUN git clone https://git.wownero.com/wowlet/monero-seed.git && \
cd monero-seed && \ cd monero-seed && \
git reset --hard 4674ef09b6faa6fe602ab5ae0b9ca8e1fd7d5e1b && \ git reset --hard 4674ef09b6faa6fe602ab5ae0b9ca8e1fd7d5e1b && \
cmake -DCMAKE_INSTALL_PREFIX=/depends/x86_64-w64-mingw32 \ cmake -DCMAKE_INSTALL_PREFIX=/depends/x86_64-w64-mingw32 \

@ -48,7 +48,7 @@ RUN apt install -y \
wget \ wget \
xz-utils xz-utils
RUN git clone -b feather-patch --depth 1 https://git.wownero.com/feather/mxe.git && \ RUN git clone -b wowlet-patch --depth 1 https://git.wownero.com/wowlet/mxe.git && \
cd mxe && \ cd mxe && \
make -j$THREADS MXE_TARGETS='x86_64-w64-mingw32.static' gcc libqrencode pkgconf libgpg_error libgcrypt cmake libsodium lzma readline libzmq boost qtbase qtsvg qtwebsockets qtimageformats qtmultimedia make -j$THREADS MXE_TARGETS='x86_64-w64-mingw32.static' gcc libqrencode pkgconf libgpg_error libgcrypt cmake libsodium lzma readline libzmq boost qtbase qtsvg qtwebsockets qtimageformats qtmultimedia
@ -67,7 +67,7 @@ RUN ln -s /mxe/usr/x86_64-w64-mingw32.static/lib/libsicuin.a /mxe/usr/x86_64-w64
ENV PATH="/mxe/usr/bin/:$PATH" ENV PATH="/mxe/usr/bin/:$PATH"
RUN git clone https://git.wownero.com/feather/monero-seed.git && \ RUN git clone https://git.wownero.com/wowlet/monero-seed.git && \
cd monero-seed && \ cd monero-seed && \
cmake -DCMAKE_BUILD_TYPE=Release -Bbuild && \ cmake -DCMAKE_BUILD_TYPE=Release -Bbuild && \
make -Cbuild -j$THREADS && \ make -Cbuild -j$THREADS && \

@ -11,6 +11,5 @@ The following keys may be used to communicate sensitive information to developer
| Name | Fingerprint | | Name | Fingerprint |
|------|-------------| |------|-------------|
| dsc | 1BFD 40F9 B0E2 B40D C8C7 FD4A 521F 1E79 91AA 42DC | | dsc | 1BFD 40F9 B0E2 B40D C8C7 FD4A 521F 1E79 91AA 42DC |
| tobtoht | C5AB E5C0 E50F A2B3 F14A B92D 1CAD D27F 41F4 5C3C |
Public keys can be found in `utils/pubkeys`. Public keys can be found in `utils/pubkeys`.

@ -46,4 +46,4 @@ else ()
set(MONERO_VERSION "${TAG}") set(MONERO_VERSION "${TAG}")
endif() endif()
configure_file("cmake/config-feather.h.cmake" "${CMAKE_CURRENT_SOURCE_DIR}/src/config-feather.h") configure_file("cmake/config-wowlet.h.cmake" "${CMAKE_CURRENT_SOURCE_DIR}/src/config-wowlet.h")

@ -10,8 +10,8 @@ if(RET)
# Something went wrong, set the version tag to -unknown # Something went wrong, set the version tag to -unknown
message(WARNING "Cannot determine current commit. Make sure that you are building either from a Git working tree or from a source archive.") message(WARNING "Cannot determine current commit. Make sure that you are building either from a Git working tree or from a source archive.")
set(FEATHER_BRANCH "unknown") set(WOWLET_BRANCH "unknown")
configure_file("cmake/config-feather.h.cmake" "${CMAKE_CURRENT_SOURCE_DIR}/src/config-feather.h") configure_file("cmake/config-wowlet.h.cmake" "${CMAKE_CURRENT_SOURCE_DIR}/src/config-wowlet.h")
else() else()
string(SUBSTRING ${COMMIT} 0 9 COMMIT) string(SUBSTRING ${COMMIT} 0 9 COMMIT)
message(STATUS "You are currently on commit ${COMMIT}") message(STATUS "You are currently on commit ${COMMIT}")
@ -21,19 +21,19 @@ else()
if(NOT TAGGEDCOMMIT) if(NOT TAGGEDCOMMIT)
message(STATUS "Cannot determine most recent tag. Make sure that you are building either from a Git working tree or from a source archive.") message(STATUS "Cannot determine most recent tag. Make sure that you are building either from a Git working tree or from a source archive.")
set(FEATHER_BRANCH "${COMMIT}") set(WOWLET_BRANCH "${COMMIT}")
else() else()
message(STATUS "The most recent tag was at ${TAGGEDCOMMIT}") message(STATUS "The most recent tag was at ${TAGGEDCOMMIT}")
# Check if we're building that tagged commit or a different one # Check if we're building that tagged commit or a different one
if(COMMIT STREQUAL TAGGEDCOMMIT) if(COMMIT STREQUAL TAGGEDCOMMIT)
message(STATUS "You are building a tagged release") message(STATUS "You are building a tagged release")
set(FEATHER_BRANCH "release") set(WOWLET_BRANCH "release")
else() else()
message(STATUS "You are ahead of or behind a tagged release") message(STATUS "You are ahead of or behind a tagged release")
set(FEATHER_BRANCH "${COMMIT}") set(WOWLET_BRANCH "${COMMIT}")
endif() endif()
endif() endif()
configure_file("cmake/config-feather.h.cmake" "${CMAKE_CURRENT_SOURCE_DIR}/src/config-feather.h") configure_file("cmake/config-wowlet.h.cmake" "${CMAKE_CURRENT_SOURCE_DIR}/src/config-wowlet.h")
endif() endif()

@ -1,12 +0,0 @@
#ifndef FEATHER_VERSION_H
#define FEATHER_VERSION_H
#define FEATHER_VERSION "@VERSION@"
#define FEATHER_BRANCH "@FEATHER_BRANCH@"
#define MONERO_VERSION "@MONERO_VERSION@"
#define MONERO_BRANCH "@MONERO_BRANCH@"
#define TOR_VERSION "@TOR_VERSION@"
#endif //FEATHER_VERSION_H

@ -0,0 +1,12 @@
#ifndef WOWLET_VERSION_H
#define WOWLET_VERSION_H
#define WOWLET_VERSION "@VERSION@"
#define WOWLET_BRANCH "@WOWLET_BRANCH@"
#define MONERO_VERSION "@MONERO_VERSION@"
#define MONERO_BRANCH "@MONERO_BRANCH@"
#define TOR_VERSION "@TOR_VERSION@"
#endif //WOWLET_VERSION_H

@ -93,7 +93,7 @@ file(GLOB_RECURSE SRC_SOURCES *.cpp)
file(GLOB_RECURSE SRC_HEADERS *.h) file(GLOB_RECURSE SRC_HEADERS *.h)
target_include_directories(wowlet PUBLIC target_include_directories(wowlet PUBLIC
${CMAKE_BINARY_DIR}/src/feather_autogen/include ${CMAKE_BINARY_DIR}/src/wowlet_autogen/include
${CMAKE_SOURCE_DIR}/monero/include ${CMAKE_SOURCE_DIR}/monero/include
${CMAKE_SOURCE_DIR}/monero/src ${CMAKE_SOURCE_DIR}/monero/src
${CMAKE_SOURCE_DIR}/monero/external/easylogging++ ${CMAKE_SOURCE_DIR}/monero/external/easylogging++

@ -142,7 +142,7 @@ AppContext::AppContext(QCommandLineParser *cmdargs) {
this->walletManager = WalletManager::instance(); this->walletManager = WalletManager::instance();
QString logPath = QString("%1/daemon.log").arg(configDirectory); QString logPath = QString("%1/daemon.log").arg(configDirectory);
Monero::Utils::onStartup(); Monero::Utils::onStartup();
Monero::Wallet::init("", "feather", logPath.toStdString(), true); Monero::Wallet::init("", "wowlet", logPath.toStdString(), true);
bool logLevelFromEnv; bool logLevelFromEnv;
int logLevel = qEnvironmentVariableIntValue("MONERO_LOG_LEVEL", &logLevelFromEnv); int logLevel = qEnvironmentVariableIntValue("MONERO_LOG_LEVEL", &logLevelFromEnv);
@ -444,7 +444,7 @@ void AppContext::onWSMessage(const QJsonObject &msg) {
} }
void AppContext::onWSNodes(const QJsonArray &nodes) { void AppContext::onWSNodes(const QJsonArray &nodes) {
QList<QSharedPointer<FeatherNode>> l; QList<QSharedPointer<WowletNode>> l;
for (auto &&entry: nodes) { for (auto &&entry: nodes) {
auto obj = entry.toObject(); auto obj = entry.toObject();
auto nettype = obj.value("nettype"); auto nettype = obj.value("nettype");
@ -463,12 +463,12 @@ void AppContext::onWSNodes(const QJsonArray &nodes) {
if(type == "tor" && (!(this->isTails || this->isWhonix || this->isTorSocks))) if(type == "tor" && (!(this->isTails || this->isWhonix || this->isTorSocks)))
continue; continue;
auto node = new FeatherNode( auto node = new WowletNode(
obj.value("address").toString(), obj.value("address").toString(),
obj.value("height").toInt(), obj.value("height").toInt(),
obj.value("target_height").toInt(), obj.value("target_height").toInt(),
obj.value("online").toBool()); obj.value("online").toBool());
QSharedPointer<FeatherNode> r = QSharedPointer<FeatherNode>(node); QSharedPointer<WowletNode> r = QSharedPointer<WowletNode>(node);
l.append(r); l.append(r);
} }
this->nodes->onWSNodesReceived(l); this->nodes->onWSNodesReceived(l);
@ -536,7 +536,7 @@ void AppContext::createConfigDirectory(const QString &dir) {
} }
} }
void AppContext::createWallet(FeatherSeed seed, const QString &path, const QString &password) { void AppContext::createWallet(WowletSeed seed, const QString &path, const QString &password) {
if(Utils::fileExists(path)) { if(Utils::fileExists(path)) {
auto err = QString("Failed to write wallet to path: \"%1\"; file already exists.").arg(path); auto err = QString("Failed to write wallet to path: \"%1\"; file already exists.").arg(path);
qCritical() << err; qCritical() << err;
@ -552,7 +552,7 @@ void AppContext::createWallet(FeatherSeed seed, const QString &path, const QStri
Wallet *wallet = nullptr; Wallet *wallet = nullptr;
if (seed.seedType == SeedType::TEVADOR) { if (seed.seedType == SeedType::TEVADOR) {
wallet = this->walletManager->createDeterministicWalletFromSpendKey(path, password, seed.language, this->networkType, seed.spendKey, seed.restoreHeight, this->kdfRounds); wallet = this->walletManager->createDeterministicWalletFromSpendKey(path, password, seed.language, this->networkType, seed.spendKey, seed.restoreHeight, this->kdfRounds);
wallet->setCacheAttribute("feather.seed", seed.mnemonic.join(" ")); wallet->setCacheAttribute("wowlet.seed", seed.mnemonic.join(" "));
} }
if (seed.seedType == SeedType::MONERO) { if (seed.seedType == SeedType::MONERO) {
wallet = this->walletManager->recoveryWallet(path, password, seed.mnemonic.join(" "), "", this->networkType, seed.restoreHeight, this->kdfRounds); wallet = this->walletManager->recoveryWallet(path, password, seed.mnemonic.join(" "), "", this->networkType, seed.restoreHeight, this->kdfRounds);
@ -614,7 +614,7 @@ void AppContext::initRestoreHeights() {
} }
void AppContext::onSetRestoreHeight(quint64 height){ void AppContext::onSetRestoreHeight(quint64 height){
auto seed = this->currentWallet->getCacheAttribute("feather.seed"); auto seed = this->currentWallet->getCacheAttribute("wowlet.seed");
if(!seed.isEmpty()) { if(!seed.isEmpty()) {
const auto msg = "This wallet has a 14 word mnemonic seed which has the restore height embedded."; const auto msg = "This wallet has a 14 word mnemonic seed which has the restore height embedded.";
emit setRestoreHeightError(msg); emit setRestoreHeightError(msg);
@ -811,7 +811,7 @@ void AppContext::onTransactionCommitted(bool status, PendingTransaction *tx, con
emit transactionCommitted(status, tx, txid); emit transactionCommitted(status, tx, txid);
// this tx was a donation to Feather, stop our nagging // this tx was a donation to WOWlet, stop our nagging
if(this->donationSending) { if(this->donationSending) {
this->donationSending = false; this->donationSending = false;
config()->set(Config::donateBeg, -1); config()->set(Config::donateBeg, -1);

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_APPCONTEXT_H #ifndef WOWLET_APPCONTEXT_H
#define FEATHER_APPCONTEXT_H #define WOWLET_APPCONTEXT_H
#include <QObject> #include <QObject>
#include <QProcess> #include <QProcess>
@ -17,7 +17,7 @@
#include "utils/xmrig.h" #include "utils/xmrig.h"
#include "utils/wsclient.h" #include "utils/wsclient.h"
#include "utils/txfiathistory.h" #include "utils/txfiathistory.h"
#include "utils/FeatherSeed.h" #include "utils/WowletSeed.h"
#include "widgets/RedditPost.h" #include "widgets/RedditPost.h"
#include "widgets/CCSEntry.h" #include "widgets/CCSEntry.h"
#include "utils/RestoreHeightLookup.h" #include "utils/RestoreHeightLookup.h"
@ -99,7 +99,7 @@ public:
bool refreshed = false; bool refreshed = false;
WalletManager *walletManager; WalletManager *walletManager;
Wallet *currentWallet = nullptr; Wallet *currentWallet = nullptr;
void createWallet(FeatherSeed seed, const QString &path, const QString &password); void createWallet(WowletSeed seed, const QString &path, const QString &password);
void createWalletViewOnly(const QString &path, const QString &password, const QString &address, const QString &viewkey, const QString &spendkey, quint64 restoreHeight); void createWalletViewOnly(const QString &path, const QString &password, const QString &address, const QString &viewkey, const QString &spendkey, quint64 restoreHeight);
void createWalletFinish(const QString &password); void createWalletFinish(const QString &password);
void syncStatusUpdated(quint64 height, quint64 target); void syncStatusUpdated(quint64 height, quint64 target);
@ -166,12 +166,12 @@ signals:
void createTransactionCancelled(const QVector<QString> &address, double amount); void createTransactionCancelled(const QVector<QString> &address, double amount);
void createTransactionSuccess(PendingTransaction *tx, const QVector<QString> &address); void createTransactionSuccess(PendingTransaction *tx, const QVector<QString> &address);
void redditUpdated(QList<QSharedPointer<RedditPost>> &posts); void redditUpdated(QList<QSharedPointer<RedditPost>> &posts);
void nodesUpdated(QList<QSharedPointer<FeatherNode>> &nodes); void nodesUpdated(QList<QSharedPointer<WowletNode>> &nodes);
void ccsUpdated(QList<QSharedPointer<CCSEntry>> &entries); void ccsUpdated(QList<QSharedPointer<CCSEntry>> &entries);
void suchWowUpdated(const QJsonArray &such_data); void suchWowUpdated(const QJsonArray &such_data);
void nodeSourceChanged(NodeSource nodeSource); void nodeSourceChanged(NodeSource nodeSource);
void XMRigDownloads(const QJsonObject &data); void XMRigDownloads(const QJsonObject &data);
void setCustomNodes(QList<FeatherNode> nodes); void setCustomNodes(QList<WowletNode> nodes);
void openAliasResolveError(const QString &msg); void openAliasResolveError(const QString &msg);
void openAliasResolved(const QString &address, const QString &openAlias); void openAliasResolved(const QString &address, const QString &openAlias);
void setRestoreHeightError(const QString &msg); void setRestoreHeightError(const QString &msg);
@ -186,7 +186,8 @@ private:
WalletKeysFilesModel *m_walletKeysFilesModel; WalletKeysFilesModel *m_walletKeysFilesModel;
const int m_donationBoundary = 15; const int m_donationBoundary = 15;
QTimer m_storeTimer; QTimer m_storeTimer;
// @TODO: Replace url
QUrl m_wsUrl = QUrl(QStringLiteral("ws://feathercitimllbmdktu6cmjo3fizgmyfrntntqzu6xguqa2rlq5cgid.onion/ws")); QUrl m_wsUrl = QUrl(QStringLiteral("ws://feathercitimllbmdktu6cmjo3fizgmyfrntntqzu6xguqa2rlq5cgid.onion/ws"));
}; };
#endif //FEATHER_APPCONTEXT_H #endif //WOWLET_APPCONTEXT_H

@ -1,4 +1,4 @@
WOWlet <feather_version> (<feather_git_head>) WOWlet <wowlet_version> (<wowlet_git_head>)
Website: https://wownero.org Website: https://wownero.org
E-mail: dev@wownero.org E-mail: dev@wownero.org

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_CLI_H #ifndef WOWLET_CLI_H
#define FEATHER_CLI_H #define WOWLET_CLI_H
#include <QtCore> #include <QtCore>
#include "appcontext.h" #include "appcontext.h"
@ -46,4 +46,4 @@ signals:
void closeApplication(); void closeApplication();
}; };
#endif //FEATHER_CLI_H #endif //WOWLET_CLI_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_COINSWIDGET_H #ifndef WOWLET_COINSWIDGET_H
#define FEATHER_COINSWIDGET_H #define WOWLET_COINSWIDGET_H
#include "appcontext.h" #include "appcontext.h"
#include "model/CoinsModel.h" #include "model/CoinsModel.h"
@ -76,4 +76,4 @@ private:
}; };
#endif //FEATHER_COINSWIDGET_H #endif //WOWLET_COINSWIDGET_H

@ -0,0 +1,12 @@
#ifndef WOWLET_VERSION_H
#define WOWLET_VERSION_H
#define WOWLET_VERSION "beta-1"
#define WOWLET_BRANCH "fd09b8875"
#define MONERO_VERSION "v0.9.0.2"
#define MONERO_BRANCH "f611d5c9e"
#define TOR_VERSION ""
#endif //WOWLET_VERSION_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_WALLETCACHEDEBUGDIALOG_H #ifndef WOWLET_WALLETCACHEDEBUGDIALOG_H
#define FEATHER_WALLETCACHEDEBUGDIALOG_H #define WOWLET_WALLETCACHEDEBUGDIALOG_H
#include <QDialog> #include <QDialog>
#include "appcontext.h" #include "appcontext.h"
@ -27,4 +27,4 @@ private:
#endif //FEATHER_WALLETCACHEDEBUGDIALOG_H #endif //WOWLET_WALLETCACHEDEBUGDIALOG_H

@ -4,7 +4,7 @@
#include "aboutdialog.h" #include "aboutdialog.h"
#include "ui_aboutdialog.h" #include "ui_aboutdialog.h"
#include "utils/utils.h" #include "utils/utils.h"
#include "config-feather.h" #include "config-wowlet.h"
AboutDialog::AboutDialog(QWidget *parent) AboutDialog::AboutDialog(QWidget *parent)
: QDialog(parent) : QDialog(parent)
@ -17,8 +17,8 @@ AboutDialog::AboutDialog(QWidget *parent)
ui->aboutImage->setPixmap(p.scaled(128, 128, Qt::KeepAspectRatio, Qt::SmoothTransformation)); ui->aboutImage->setPixmap(p.scaled(128, 128, Qt::KeepAspectRatio, Qt::SmoothTransformation));
auto about = Utils::fileOpenQRC(":assets/about.txt"); auto about = Utils::fileOpenQRC(":assets/about.txt");
auto about_text = Utils::barrayToString(about); auto about_text = Utils::barrayToString(about);
about_text = about_text.replace("<feather_version>", FEATHER_VERSION); about_text = about_text.replace("<wowlet_version>", WOWLET_VERSION);
about_text = about_text.replace("<feather_git_head>", FEATHER_BRANCH); about_text = about_text.replace("<wowlet_git_head>", WOWLET_BRANCH);
about_text = about_text.replace("<current_year>", QString::number(QDate::currentDate().year())); about_text = about_text.replace("<current_year>", QString::number(QDate::currentDate().year()));
ui->copyrightText->setPlainText(about_text); ui->copyrightText->setPlainText(about_text);

@ -25,7 +25,7 @@
<property name="currentIndex"> <property name="currentIndex">
<number>0</number> <number>0</number>
</property> </property>
<widget class="QWidget" name="Feather"> <widget class="QWidget" name="WOWlet">
<attribute name="title"> <attribute name="title">
<string>WOWlet</string> <string>WOWlet</string>
</attribute> </attribute>

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_BALANCEDIALOG_H #ifndef WOWLET_BALANCEDIALOG_H
#define FEATHER_BALANCEDIALOG_H #define WOWLET_BALANCEDIALOG_H
#include "libwalletqt/Wallet.h" #include "libwalletqt/Wallet.h"
@ -24,4 +24,4 @@ private:
Ui::BalanceDialog *ui; Ui::BalanceDialog *ui;
}; };
#endif //FEATHER_BALANCEDIALOG_H #endif //WOWLET_BALANCEDIALOG_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_BROADCASTTXDIALOG_H #ifndef WOWLET_BROADCASTTXDIALOG_H
#define FEATHER_BROADCASTTXDIALOG_H #define WOWLET_BROADCASTTXDIALOG_H
#include <QDialog> #include <QDialog>
#include "appcontext.h" #include "appcontext.h"
@ -32,4 +32,4 @@ private:
}; };
#endif //FEATHER_BROADCASTTXDIALOG_H #endif //WOWLET_BROADCASTTXDIALOG_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_CONTACTSDIALOG_H #ifndef WOWLET_CONTACTSDIALOG_H
#define FEATHER_CONTACTSDIALOG_H #define WOWLET_CONTACTSDIALOG_H
#include <QDialog> #include <QDialog>
@ -28,4 +28,4 @@ private:
QString m_name; QString m_name;
}; };
#endif //FEATHER_CONTACTSDIALOG_H #endif //WOWLET_CONTACTSDIALOG_H

@ -3,7 +3,7 @@
#include "debuginfodialog.h" #include "debuginfodialog.h"
#include "ui_debuginfodialog.h" #include "ui_debuginfodialog.h"
#include "config-feather.h" #include "config-wowlet.h"
DebugInfoDialog::DebugInfoDialog(AppContext *ctx, QWidget *parent) DebugInfoDialog::DebugInfoDialog(AppContext *ctx, QWidget *parent)
: QDialog(parent) : QDialog(parent)
@ -40,7 +40,7 @@ void DebugInfoDialog::updateInfo() {
else else
torStatus = "Unknown"; torStatus = "Unknown";
ui->label_featherVersion->setText(QString("%1-%2").arg(FEATHER_VERSION, FEATHER_BRANCH)); ui->label_wowletVersion->setText(QString("%1-%2").arg(WOWLET_VERSION, WOWLET_BRANCH));
ui->label_moneroVersion->setText(QString("%1-%2").arg(MONERO_VERSION, MONERO_BRANCH)); ui->label_moneroVersion->setText(QString("%1-%2").arg(MONERO_VERSION, MONERO_BRANCH));
ui->label_walletHeight->setText(QString::number(m_ctx->currentWallet->blockChainHeight())); ui->label_walletHeight->setText(QString::number(m_ctx->currentWallet->blockChainHeight()));
@ -56,7 +56,7 @@ void DebugInfoDialog::updateInfo() {
ui->label_websocketStatus->setText(Utils::QtEnumToString(m_ctx->ws->webSocket.state()).remove("State")); ui->label_websocketStatus->setText(Utils::QtEnumToString(m_ctx->ws->webSocket.state()).remove("State"));
ui->label_netType->setText(Utils::QtEnumToString(m_ctx->currentWallet->nettype())); ui->label_netType->setText(Utils::QtEnumToString(m_ctx->currentWallet->nettype()));
ui->label_seedType->setText(m_ctx->currentWallet->getCacheAttribute("feather.seed").isEmpty() ? "25 word" : "14 word"); ui->label_seedType->setText(m_ctx->currentWallet->getCacheAttribute("wowlet.seed").isEmpty() ? "25 word" : "14 word");
ui->label_viewOnly->setText(m_ctx->currentWallet->viewOnly() ? "True" : "False"); ui->label_viewOnly->setText(m_ctx->currentWallet->viewOnly() ? "True" : "False");
ui->label_primaryOnly->setText(m_ctx->currentWallet->balance(0) == m_ctx->currentWallet->balanceAll() ? "True" : "False"); ui->label_primaryOnly->setText(m_ctx->currentWallet->balance(0) == m_ctx->currentWallet->balanceAll() ? "True" : "False");
@ -89,7 +89,7 @@ QString DebugInfoDialog::statusToString(Wallet::ConnectionStatus status) {
void DebugInfoDialog::copyToClipboad() { void DebugInfoDialog::copyToClipboad() {
// Two spaces at the end of each line are for newlines in Markdown // Two spaces at the end of each line are for newlines in Markdown
QString text = ""; QString text = "";
text += QString("WOWlet version: %1 \n").arg(ui->label_featherVersion->text()); text += QString("WOWlet version: %1 \n").arg(ui->label_wowletVersion->text());
text += QString("Wownero version: %1 \n").arg(ui->label_moneroVersion->text()); text += QString("Wownero version: %1 \n").arg(ui->label_moneroVersion->text());
text += QString("Wallet height: %1 \n").arg(ui->label_walletHeight->text()); text += QString("Wallet height: %1 \n").arg(ui->label_walletHeight->text());

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_DEBUGINFODIALOG_H #ifndef WOWLET_DEBUGINFODIALOG_H
#define FEATHER_DEBUGINFODIALOG_H #define WOWLET_DEBUGINFODIALOG_H
#include <QDialog> #include <QDialog>
#include "appcontext.h" #include "appcontext.h"
@ -31,4 +31,4 @@ private:
Ui::DebugInfoDialog *ui; Ui::DebugInfoDialog *ui;
}; };
#endif //FEATHER_DEBUGINFODIALOG_H #endif //WOWLET_DEBUGINFODIALOG_H

@ -24,7 +24,7 @@
</widget> </widget>
</item> </item>
<item row="0" column="1"> <item row="0" column="1">
<widget class="QLabel" name="label_featherVersion"> <widget class="QLabel" name="label_wowletVersion">
<property name="text"> <property name="text">
<string>TextLabel</string> <string>TextLabel</string>
</property> </property>

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_KEYSDIALOG_H #ifndef WOWLET_KEYSDIALOG_H
#define FEATHER_KEYSDIALOG_H #define WOWLET_KEYSDIALOG_H
#include <QDialog> #include <QDialog>
#include "appcontext.h" #include "appcontext.h"
@ -24,4 +24,4 @@ private:
}; };
#endif //FEATHER_KEYSDIALOG_H #endif //WOWLET_KEYSDIALOG_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_OUTPUTINFODIALOG_H #ifndef WOWLET_OUTPUTINFODIALOG_H
#define FEATHER_OUTPUTINFODIALOG_H #define WOWLET_OUTPUTINFODIALOG_H
#include <QDialog> #include <QDialog>
#include "libwalletqt/Coins.h" #include "libwalletqt/Coins.h"
@ -25,4 +25,4 @@ private:
}; };
#endif //FEATHER_OUTPUTINFODIALOG_H #endif //WOWLET_OUTPUTINFODIALOG_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_OUTPUTSWEEPDIALOG_H #ifndef WOWLET_OUTPUTSWEEPDIALOG_H
#define FEATHER_OUTPUTSWEEPDIALOG_H #define WOWLET_OUTPUTSWEEPDIALOG_H
#include <QDialog> #include <QDialog>
@ -31,4 +31,4 @@ private:
}; };
#endif //FEATHER_OUTPUTSWEEPDIALOG_H #endif //WOWLET_OUTPUTSWEEPDIALOG_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_PASSWORDCHANGEDIALOG_H #ifndef WOWLET_PASSWORDCHANGEDIALOG_H
#define FEATHER_PASSWORDCHANGEDIALOG_H #define WOWLET_PASSWORDCHANGEDIALOG_H
#include <QDialog> #include <QDialog>
#include "libwalletqt/Wallet.h" #include "libwalletqt/Wallet.h"
@ -27,4 +27,4 @@ private:
void setPassword(); void setPassword();
}; };
#endif //FEATHER_PASSWORDCHANGEDIALOG_H #endif //WOWLET_PASSWORDCHANGEDIALOG_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_PASSWORDDIALOG_H #ifndef WOWLET_PASSWORDDIALOG_H
#define FEATHER_PASSWORDDIALOG_H #define WOWLET_PASSWORDDIALOG_H
#include <QDialog> #include <QDialog>
@ -24,4 +24,4 @@ private:
Ui::PasswordDialog *ui; Ui::PasswordDialog *ui;
}; };
#endif //FEATHER_PASSWORDDIALOG_H #endif //WOWLET_PASSWORDDIALOG_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_QRCODEDIALOG_H #ifndef WOWLET_QRCODEDIALOG_H
#define FEATHER_QRCODEDIALOG_H #define WOWLET_QRCODEDIALOG_H
#include <QDialog> #include <QDialog>
#include "qrcode/QrCode.h" #include "qrcode/QrCode.h"
@ -29,4 +29,4 @@ private:
}; };
#endif //FEATHER_QRCODEDIALOG_H #endif //WOWLET_QRCODEDIALOG_H

@ -13,7 +13,7 @@ SeedDialog::SeedDialog(Wallet *wallet, QWidget *parent)
ui->label_restoreHeight->setText(QString::number(wallet->getWalletCreationHeight())); ui->label_restoreHeight->setText(QString::number(wallet->getWalletCreationHeight()));
QString seed_14_words = wallet->getCacheAttribute("feather.seed"); QString seed_14_words = wallet->getCacheAttribute("wowlet.seed");
QString seed_25_words = wallet->getSeed(); QString seed_25_words = wallet->getSeed();
if (seed_14_words.isEmpty()) { if (seed_14_words.isEmpty()) {

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_SEEDDIALOG_H #ifndef WOWLET_SEEDDIALOG_H
#define FEATHER_SEEDDIALOG_H #define WOWLET_SEEDDIALOG_H
#include <QDialog> #include <QDialog>
#include "libwalletqt/Wallet.h" #include "libwalletqt/Wallet.h"
@ -26,4 +26,4 @@ private:
}; };
#endif //FEATHER_SEEDDIALOG_H #endif //WOWLET_SEEDDIALOG_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_SIGNVERIFYDIALOG_H #ifndef WOWLET_SIGNVERIFYDIALOG_H
#define FEATHER_SIGNVERIFYDIALOG_H #define WOWLET_SIGNVERIFYDIALOG_H
#include <QDialog> #include <QDialog>
#include "libwalletqt/Wallet.h" #include "libwalletqt/Wallet.h"
@ -30,4 +30,4 @@ private slots:
}; };
#endif //FEATHER_SIGNVERIFYDIALOG_H #endif //WOWLET_SIGNVERIFYDIALOG_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_TORINFODIALOG_H #ifndef WOWLET_TORINFODIALOG_H
#define FEATHER_TORINFODIALOG_H #define WOWLET_TORINFODIALOG_H
#include <QDialog> #include <QDialog>
@ -29,4 +29,4 @@ private:
}; };
#endif //FEATHER_TORINFODIALOG_H #endif //WOWLET_TORINFODIALOG_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_TRANSACTIONINFODIALOG_H #ifndef WOWLET_TRANSACTIONINFODIALOG_H
#define FEATHER_TRANSACTIONINFODIALOG_H #define WOWLET_TRANSACTIONINFODIALOG_H
#include <QDialog> #include <QDialog>
#include <QTextCharFormat> #include <QTextCharFormat>
@ -35,4 +35,4 @@ private:
QString m_txKey; QString m_txKey;
}; };
#endif //FEATHER_TRANSACTIONINFODIALOG_H #endif //WOWLET_TRANSACTIONINFODIALOG_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_TXCONFADVDIALOG_H #ifndef WOWLET_TXCONFADVDIALOG_H
#define FEATHER_TXCONFADVDIALOG_H #define WOWLET_TXCONFADVDIALOG_H
#include <QDialog> #include <QDialog>
#include <QStandardItemModel> #include <QStandardItemModel>
@ -50,4 +50,4 @@ private:
QMenu *m_exportSignedMenu; QMenu *m_exportSignedMenu;
}; };
#endif //FEATHER_TXCONFADVDIALOG_H #endif //WOWLET_TXCONFADVDIALOG_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_TXCONFDIALOG_H #ifndef WOWLET_TXCONFDIALOG_H
#define FEATHER_TXCONFDIALOG_H #define WOWLET_TXCONFDIALOG_H
#include <QDialog> #include <QDialog>
#include "libwalletqt/PendingTransaction.h" #include "libwalletqt/PendingTransaction.h"
@ -33,4 +33,4 @@ private:
QString m_description; QString m_description;
}; };
#endif //FEATHER_TXCONFDIALOG_H #endif //WOWLET_TXCONFDIALOG_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_TXIMPORTDIALOG_H #ifndef WOWLET_TXIMPORTDIALOG_H
#define FEATHER_TXIMPORTDIALOG_H #define WOWLET_TXIMPORTDIALOG_H
#include <QDialog> #include <QDialog>
#include "appcontext.h" #include "appcontext.h"
@ -36,4 +36,4 @@ private:
}; };
#endif //FEATHER_TXIMPORTDIALOG_H #endif //WOWLET_TXIMPORTDIALOG_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_VERIFYPROOFDIALOG_H #ifndef WOWLET_VERIFYPROOFDIALOG_H
#define FEATHER_VERIFYPROOFDIALOG_H #define WOWLET_VERIFYPROOFDIALOG_H
#include <QDialog> #include <QDialog>
#include "libwalletqt/Wallet.h" #include "libwalletqt/Wallet.h"
@ -32,4 +32,4 @@ private:
Wallet *m_wallet; Wallet *m_wallet;
}; };
#endif //FEATHER_VERIFYPROOFDIALOG_H #endif //WOWLET_VERIFYPROOFDIALOG_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_VIEWONLYDIALOG_H #ifndef WOWLET_VIEWONLYDIALOG_H
#define FEATHER_VIEWONLYDIALOG_H #define WOWLET_VIEWONLYDIALOG_H
#include <QDialog> #include <QDialog>
#include "appcontext.h" #include "appcontext.h"
@ -29,4 +29,4 @@ private:
}; };
#endif //FEATHER_KEYSDIALOG_H #endif //WOWLET_KEYSDIALOG_H

@ -18,7 +18,7 @@ WalletInfoDialog::WalletInfoDialog(AppContext *ctx, QWidget *parent)
ui->label_walletName->setText(keys.fileName().replace(".keys", "")); ui->label_walletName->setText(keys.fileName().replace(".keys", ""));
ui->label_netType->setText(Utils::QtEnumToString(ctx->currentWallet->nettype())); ui->label_netType->setText(Utils::QtEnumToString(ctx->currentWallet->nettype()));
ui->label_seedType->setText(ctx->currentWallet->getCacheAttribute("feather.seed").isEmpty() ? "25 word" : "14 word"); ui->label_seedType->setText(ctx->currentWallet->getCacheAttribute("wowlet.seed").isEmpty() ? "25 word" : "14 word");
ui->label_viewOnly->setText(ctx->currentWallet->viewOnly() ? "True" : "False"); ui->label_viewOnly->setText(ctx->currentWallet->viewOnly() ? "True" : "False");
ui->label_path->setText(ctx->walletPath); ui->label_path->setText(ctx->walletPath);
ui->label_cacheSize->setText(QString("%1 MB").arg(QString::number(cache.size() / 1e6, 'f', 2))); ui->label_cacheSize->setText(QString("%1 MB").arg(QString::number(cache.size() / 1e6, 'f', 2)));

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_WALLETINFODIALOG_H #ifndef WOWLET_WALLETINFODIALOG_H
#define FEATHER_WALLETINFODIALOG_H #define WOWLET_WALLETINFODIALOG_H
#include <QDialog> #include <QDialog>
@ -27,4 +27,4 @@ private:
AppContext *m_ctx; AppContext *m_ctx;
}; };
#endif //FEATHER_WALLETINFODIALOG_H #endif //WOWLET_WALLETINFODIALOG_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_GLOBALS_H #ifndef WOWLET_GLOBALS_H
#define FEATHER_GLOBALS_H #define WOWLET_GLOBALS_H
#include <QtGlobal> #include <QtGlobal>
@ -11,4 +11,4 @@ namespace globals
const qreal cdiv = 1e11; const qreal cdiv = 1e11;
} }
#endif //FEATHER_GLOBALS_H #endif //WOWLET_GLOBALS_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_HISTORYWIDGET_H #ifndef WOWLET_HISTORYWIDGET_H
#define FEATHER_HISTORYWIDGET_H #define WOWLET_HISTORYWIDGET_H
#include "model/TransactionHistoryModel.h" #include "model/TransactionHistoryModel.h"
#include "model/TransactionHistoryProxyModel.h" #include "model/TransactionHistoryProxyModel.h"
@ -60,4 +60,4 @@ private:
Wallet *m_wallet = nullptr; Wallet *m_wallet = nullptr;
}; };
#endif //FEATHER_HISTORYWIDGET_H #endif //WOWLET_HISTORYWIDGET_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2014-2021, The Monero Project. // Copyright (c) 2014-2021, The Monero Project.
#ifndef FEATHER_ADDRESSBOOKINFO_H #ifndef WOWLET_ADDRESSBOOKINFO_H
#define FEATHER_ADDRESSBOOKINFO_H #define WOWLET_ADDRESSBOOKINFO_H
#include <wallet/api/wallet2_api.h> #include <wallet/api/wallet2_api.h>
#include <QObject> #include <QObject>
@ -25,4 +25,4 @@ private:
}; };
#endif //FEATHER_ADDRESSBOOKINFO_H #endif //WOWLET_ADDRESSBOOKINFO_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_COINS_H #ifndef WOWLET_COINS_H
#define FEATHER_COINS_H #define WOWLET_COINS_H
#include <functional> #include <functional>
@ -49,4 +49,4 @@ private:
mutable QList<CoinsInfo*> m_tinfo; mutable QList<CoinsInfo*> m_tinfo;
}; };
#endif //FEATHER_COINS_H #endif //WOWLET_COINS_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_COINSINFO_H #ifndef WOWLET_COINSINFO_H
#define FEATHER_COINSINFO_H #define WOWLET_COINSINFO_H
#include <wallet/api/wallet2_api.h> #include <wallet/api/wallet2_api.h>
#include <QObject> #include <QObject>
@ -88,4 +88,4 @@ private:
bool m_coinbase; bool m_coinbase;
}; };
#endif //FEATHER_COINSINFO_H #endif //WOWLET_COINSINFO_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2014-2021, The Monero Project. // Copyright (c) 2014-2021, The Monero Project.
#ifndef FEATHER_CONSTRUCTIONINFO_H #ifndef WOWLET_CONSTRUCTIONINFO_H
#define FEATHER_CONSTRUCTIONINFO_H #define WOWLET_CONSTRUCTIONINFO_H
#include <wallet/api/wallet2_api.h> #include <wallet/api/wallet2_api.h>
#include <QObject> #include <QObject>
@ -43,4 +43,4 @@ private:
}; };
#endif //FEATHER_CONSTRUCTIONINFO_H #endif //WOWLET_CONSTRUCTIONINFO_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2014-2021, The Monero Project. // Copyright (c) 2014-2021, The Monero Project.
#ifndef FEATHER_INPUT_H #ifndef WOWLET_INPUT_H
#define FEATHER_INPUT_H #define WOWLET_INPUT_H
#include <wallet/api/wallet2_api.h> #include <wallet/api/wallet2_api.h>
#include <QObject> #include <QObject>
@ -26,4 +26,4 @@ public:
}; };
#endif //FEATHER_INPUT_H #endif //WOWLET_INPUT_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2014-2021, The Monero Project. // Copyright (c) 2014-2021, The Monero Project.
#ifndef FEATHER_PENDINGTRANSACTIONINFO_H #ifndef WOWLET_PENDINGTRANSACTIONINFO_H
#define FEATHER_PENDINGTRANSACTIONINFO_H #define WOWLET_PENDINGTRANSACTIONINFO_H
#include <wallet/api/wallet2_api.h> #include <wallet/api/wallet2_api.h>
#include "ConstructionInfo.h" #include "ConstructionInfo.h"
@ -43,4 +43,4 @@ private:
}; };
#endif //FEATHER_PENDINGTRANSACTIONINFO_H #endif //WOWLET_PENDINGTRANSACTIONINFO_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_RINGS_H #ifndef WOWLET_RINGS_H
#define FEATHER_RINGS_H #define WOWLET_RINGS_H
#include <wallet/api/wallet2_api.h> #include <wallet/api/wallet2_api.h>
#include <QObject> #include <QObject>
@ -25,4 +25,4 @@ public:
std::vector<uint64_t> ringMembers() const { return m_ringMembers; } std::vector<uint64_t> ringMembers() const { return m_ringMembers; }
}; };
#endif //FEATHER_RINGS_H #endif //WOWLET_RINGS_H

@ -22,7 +22,7 @@ namespace {
static const int DAEMON_BLOCKCHAIN_TARGET_HEIGHT_CACHE_TTL_SECONDS = 30; static const int DAEMON_BLOCKCHAIN_TARGET_HEIGHT_CACHE_TTL_SECONDS = 30;
static const int WALLET_CONNECTION_STATUS_CACHE_TTL_SECONDS = 5; static const int WALLET_CONNECTION_STATUS_CACHE_TTL_SECONDS = 5;
static constexpr char ATTRIBUTE_SUBADDRESS_ACCOUNT[] = "feather.subaddress_account"; static constexpr char ATTRIBUTE_SUBADDRESS_ACCOUNT[] = "wowlet.subaddress_account";
} }
Wallet::Wallet(QObject * parent) Wallet::Wallet(QObject * parent)

@ -6,7 +6,7 @@
#include <QtCore> #include <QtCore>
#include <QtGui> #include <QtGui>
#include "config-feather.h" #include "config-wowlet.h"
#include "mainwindow.h" #include "mainwindow.h"
#include "cli.h" #include "cli.h"
@ -155,7 +155,7 @@ if (AttachConsole(ATTACH_PARENT_PROCESS)) {
QApplication::setAttribute(Qt::AA_EnableHighDpiScaling); QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QApplication::setAttribute(Qt::AA_DisableWindowContextHelpButton); QApplication::setAttribute(Qt::AA_DisableWindowContextHelpButton);
QApplication::setDesktopSettingsAware(true); // use system font QApplication::setDesktopSettingsAware(true); // use system font
QApplication::setApplicationVersion(FEATHER_VERSION); QApplication::setApplicationVersion(WOWLET_VERSION);
QApplication app(argc, argv); QApplication app(argc, argv);
@ -168,7 +168,7 @@ if (AttachConsole(ATTACH_PARENT_PROCESS)) {
if(!quiet) { if(!quiet) {
QMap<QString, QString> info; QMap<QString, QString> info;
info["Qt"] = QT_VERSION_STR; info["Qt"] = QT_VERSION_STR;
info["WOWlet"] = FEATHER_VERSION; info["WOWlet"] = WOWLET_VERSION;
if (stagenet) info["Mode"] = "Stagenet"; if (stagenet) info["Mode"] = "Stagenet";
else if (testnet) info["Mode"] = "Testnet"; else if (testnet) info["Mode"] = "Testnet";
else info["Mode"] = "Mainnet"; else info["Mode"] = "Mainnet";

@ -328,7 +328,7 @@ MainWindow::MainWindow(AppContext *ctx, QWidget *parent) :
#ifdef Q_OS_MAC #ifdef Q_OS_MAC
m_touchbar = new KDMacTouchBar(this); m_touchbar = new KDMacTouchBar(this);
m_touchbarActionWelcome = new QAction(QIcon(":/assets/images/wowlet.png"), "Welcome to WOWlet!"); m_touchbarActionWelcome = new QAction(QIcon(":/assets/images/wowlet.png"), "Welcome to WOWlet!");
m_touchbarWalletItems = {ui->actionSettings, ui->actionCalculator, ui->actionKeys, ui->actionDonate_to_Feather}; m_touchbarWalletItems = {ui->actionSettings, ui->actionCalculator, ui->actionKeys, ui->actionDonate_to_Wowlet};
m_touchbarWizardItems = {m_touchbarActionWelcome}; m_touchbarWizardItems = {m_touchbarActionWelcome};
#endif #endif
@ -480,7 +480,7 @@ void MainWindow::initMenu() {
// About screen // About screen
connect(ui->actionAbout, &QAction::triggered, this, &MainWindow::menuAboutClicked); connect(ui->actionAbout, &QAction::triggered, this, &MainWindow::menuAboutClicked);
connect(ui->actionDonate_to_Feather, &QAction::triggered, this, &MainWindow::donateButtonClicked); connect(ui->actionDonate_to_Wowlet, &QAction::triggered, this, &MainWindow::donateButtonClicked);
// Close wallet // Close wallet
connect(ui->actionClose, &QAction::triggered, this, &MainWindow::menuWalletCloseClicked); connect(ui->actionClose, &QAction::triggered, this, &MainWindow::menuWalletCloseClicked);
@ -876,7 +876,7 @@ void MainWindow::updatePasswordIcon() {
void MainWindow::showRestoreHeightDialog() { void MainWindow::showRestoreHeightDialog() {
// settings custom restore height is only available for 25 word seeds // settings custom restore height is only available for 25 word seeds
auto seed = m_ctx->currentWallet->getCacheAttribute("feather.seed"); auto seed = m_ctx->currentWallet->getCacheAttribute("wowlet.seed");
if(!seed.isEmpty()) { if(!seed.isEmpty()) {
const auto msg = "This wallet has a 14 word mnemonic seed which has the restore height embedded."; const auto msg = "This wallet has a 14 word mnemonic seed which has the restore height embedded.";
QMessageBox::warning(this, "Cannot set custom restore height", msg); QMessageBox::warning(this, "Cannot set custom restore height", msg);

@ -429,7 +429,7 @@
</property> </property>
<addaction name="actionAbout"/> <addaction name="actionAbout"/>
<addaction name="actionOfficialWebsite"/> <addaction name="actionOfficialWebsite"/>
<addaction name="actionDonate_to_Feather"/> <addaction name="actionDonate_to_Wowlet"/>
<addaction name="separator"/> <addaction name="separator"/>
<addaction name="actionReport_bug"/> <addaction name="actionReport_bug"/>
<addaction name="actionShow_debug_info"/> <addaction name="actionShow_debug_info"/>
@ -504,7 +504,7 @@
<string>Report bug</string> <string>Report bug</string>
</property> </property>
</action> </action>
<action name="actionDonate_to_Feather"> <action name="actionDonate_to_Wowlet">
<property name="text"> <property name="text">
<string>Donate to WOWlet</string> <string>Donate to WOWlet</string>
</property> </property>

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_ADDRESSBOOKPROXYMODEL_H #ifndef WOWLET_ADDRESSBOOKPROXYMODEL_H
#define FEATHER_ADDRESSBOOKPROXYMODEL_H #define WOWLET_ADDRESSBOOKPROXYMODEL_H
#include <QSortFilterProxyModel> #include <QSortFilterProxyModel>
@ -25,4 +25,4 @@ private:
QRegExp m_searchRegExp; QRegExp m_searchRegExp;
}; };
#endif //FEATHER_ADDRESSBOOKPROXYMODEL_H #endif //WOWLET_ADDRESSBOOKPROXYMODEL_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_CCSMODEL_H #ifndef WOWLET_CCSMODEL_H
#define FEATHER_CCSMODEL_H #define WOWLET_CCSMODEL_H
#include <QAbstractTableModel> #include <QAbstractTableModel>
#include <QSharedPointer> #include <QSharedPointer>
@ -39,4 +39,4 @@ private:
}; };
#endif //FEATHER_CCSMODEL_H #endif //WOWLET_CCSMODEL_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_COINSMODEL_H #ifndef WOWLET_COINSMODEL_H
#define FEATHER_COINSMODEL_H #define WOWLET_COINSMODEL_H
#include <wallet/api/wallet2_api.h> #include <wallet/api/wallet2_api.h>
@ -55,4 +55,4 @@ private:
QIcon m_eyeBlind; QIcon m_eyeBlind;
}; };
#endif //FEATHER_COINSMODEL_H #endif //WOWLET_COINSMODEL_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_COINSPROXYMODEL_H #ifndef WOWLET_COINSPROXYMODEL_H
#define FEATHER_COINSPROXYMODEL_H #define WOWLET_COINSPROXYMODEL_H
#include <QSortFilterProxyModel> #include <QSortFilterProxyModel>
#include "libwalletqt/Coins.h" #include "libwalletqt/Coins.h"
@ -25,4 +25,4 @@ private:
Coins *m_coins; Coins *m_coins;
}; };
#endif //FEATHER_COINSPROXYMODEL_H #endif //WOWLET_COINSPROXYMODEL_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_MODELUTILS_H #ifndef WOWLET_MODELUTILS_H
#define FEATHER_MODELUTILS_H #define WOWLET_MODELUTILS_H
#include <QString> #include <QString>
#include <QModelIndex> #include <QModelIndex>
@ -15,4 +15,4 @@ public:
}; };
#endif //FEATHER_MODELUTILS_H #endif //WOWLET_MODELUTILS_H

@ -19,7 +19,7 @@ void NodeModel::clear() {
endResetModel(); endResetModel();
} }
void NodeModel::updateNodes(const QList<FeatherNode> nodes) { void NodeModel::updateNodes(const QList<WowletNode> nodes) {
beginResetModel(); beginResetModel();
m_nodes.clear(); m_nodes.clear();
m_nodes = nodes; m_nodes = nodes;
@ -42,7 +42,7 @@ QVariant NodeModel::data(const QModelIndex &index, int role) const {
if (!index.isValid() || index.row() < 0 || index.row() >= m_nodes.count()) if (!index.isValid() || index.row() < 0 || index.row() >= m_nodes.count())
return QVariant(); return QVariant();
FeatherNode node = m_nodes.at(index.row()); WowletNode node = m_nodes.at(index.row());
if(role == Qt::DisplayRole) { if(role == Qt::DisplayRole) {
switch(index.column()) { switch(index.column()) {
@ -94,10 +94,10 @@ QVariant NodeModel::headerData(int section, Qt::Orientation orientation, int rol
return QVariant(); return QVariant();
} }
FeatherNode NodeModel::node(int row) { WowletNode NodeModel::node(int row) {
if (row < 0 || row >= m_nodes.size()) { if (row < 0 || row >= m_nodes.size()) {
qCritical("%s: no reddit post for index %d", __FUNCTION__, row); qCritical("%s: no reddit post for index %d", __FUNCTION__, row);
return FeatherNode(); return WowletNode();
} }
return m_nodes.at(row); return m_nodes.at(row);
} }

@ -1,13 +1,13 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_NODEMODEL_H #ifndef WOWLET_NODEMODEL_H
#define FEATHER_NODEMODEL_H #define WOWLET_NODEMODEL_H
#include <QAbstractTableModel> #include <QAbstractTableModel>
#include <QIcon> #include <QIcon>
class FeatherNode; class WowletNode;
class NodeModel : public QAbstractTableModel { class NodeModel : public QAbstractTableModel {
Q_OBJECT Q_OBJECT
@ -25,16 +25,16 @@ public:
int columnCount(const QModelIndex &parent) const override; int columnCount(const QModelIndex &parent) const override;
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override; QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
QVariant headerData(int section, Qt::Orientation orientation, int role) const override; QVariant headerData(int section, Qt::Orientation orientation, int role) const override;
FeatherNode node(int row); WowletNode node(int row);
void clear(); void clear();
void updateNodes(QList<FeatherNode> nodes); void updateNodes(QList<WowletNode> nodes);
private: private:
QList<FeatherNode> m_nodes; QList<WowletNode> m_nodes;
QIcon m_offline; QIcon m_offline;
QIcon m_online; QIcon m_online;
int m_nodeSource; int m_nodeSource;
}; };
#endif //FEATHER_NODEMODEL_H #endif //WOWLET_NODEMODEL_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_REDDITMODEL_H #ifndef WOWLET_REDDITMODEL_H
#define FEATHER_REDDITMODEL_H #define WOWLET_REDDITMODEL_H
#include <QAbstractTableModel> #include <QAbstractTableModel>
#include <QSharedPointer> #include <QSharedPointer>
@ -38,4 +38,4 @@ private:
QList<QSharedPointer<RedditPost>> m_posts; QList<QSharedPointer<RedditPost>> m_posts;
}; };
#endif //FEATHER_REDDITMODEL_H #endif //WOWLET_REDDITMODEL_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_SUBADDRESSPROXYMODEL_H #ifndef WOWLET_SUBADDRESSPROXYMODEL_H
#define FEATHER_SUBADDRESSPROXYMODEL_H #define WOWLET_SUBADDRESSPROXYMODEL_H
#include "libwalletqt/Subaddress.h" #include "libwalletqt/Subaddress.h"
@ -35,4 +35,4 @@ private:
bool m_hidePrimary; bool m_hidePrimary;
}; };
#endif //FEATHER_SUBADDRESSPROXYMODEL_H #endif //WOWLET_SUBADDRESSPROXYMODEL_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_SUBADDRESSVIEW_H #ifndef WOWLET_SUBADDRESSVIEW_H
#define FEATHER_SUBADDRESSVIEW_H #define WOWLET_SUBADDRESSVIEW_H
#include <QTreeView> #include <QTreeView>
#include <QKeyEvent> #include <QKeyEvent>
@ -19,4 +19,4 @@ protected:
void keyPressEvent(QKeyEvent *event); void keyPressEvent(QKeyEvent *event);
}; };
#endif //FEATHER_SUBADDRESSVIEW_H #endif //WOWLET_SUBADDRESSVIEW_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_TRANSACTIONHISTORYPROXYMODEL_H #ifndef WOWLET_TRANSACTIONHISTORYPROXYMODEL_H
#define FEATHER_TRANSACTIONHISTORYPROXYMODEL_H #define WOWLET_TRANSACTIONHISTORYPROXYMODEL_H
#include "libwalletqt/TransactionHistory.h" #include "libwalletqt/TransactionHistory.h"
#include "libwalletqt/Wallet.h" #include "libwalletqt/Wallet.h"
@ -30,4 +30,4 @@ private:
QRegExp m_searchRegExp; QRegExp m_searchRegExp;
}; };
#endif //FEATHER_TRANSACTIONHISTORYPROXYMODEL_H #endif //WOWLET_TRANSACTIONHISTORYPROXYMODEL_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_RECEIVEWIDGET_H #ifndef WOWLET_RECEIVEWIDGET_H
#define FEATHER_RECEIVEWIDGET_H #define WOWLET_RECEIVEWIDGET_H
#include "appcontext.h" #include "appcontext.h"
#include "qrcode/QrCode.h" #include "qrcode/QrCode.h"
@ -59,4 +59,4 @@ private:
void showQrCodeDialog(); void showQrCodeDialog();
}; };
#endif //FEATHER_RECEIVEWIDGET_H #endif //WOWLET_RECEIVEWIDGET_H

@ -31,7 +31,7 @@ Settings::Settings(QWidget *parent) :
// nodes // nodes
ui->nodeWidget->setupUI(m_ctx); ui->nodeWidget->setupUI(m_ctx);
connect(ui->nodeWidget, &NodeWidget::nodeSourceChanged, m_ctx->nodes, &Nodes::onNodeSourceChanged); connect(ui->nodeWidget, &NodeWidget::nodeSourceChanged, m_ctx->nodes, &Nodes::onNodeSourceChanged);
connect(ui->nodeWidget, &NodeWidget::connectToNode, m_ctx->nodes, QOverload<const FeatherNode&>::of(&Nodes::connectToNode)); connect(ui->nodeWidget, &NodeWidget::connectToNode, m_ctx->nodes, QOverload<const WowletNode&>::of(&Nodes::connectToNode));
// setup checkboxes // setup checkboxes
ui->checkBox_externalLink->setChecked(config()->get(Config::warnOnExternalLink).toBool()); ui->checkBox_externalLink->setChecked(config()->get(Config::warnOnExternalLink).toBool());

@ -2,8 +2,8 @@
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
// Copyright (c) 2012 thomasv@gitorious // Copyright (c) 2012 thomasv@gitorious
#ifndef FEATHER_COLORSCHEME_H #ifndef WOWLET_COLORSCHEME_H
#define FEATHER_COLORSCHEME_H #define WOWLET_COLORSCHEME_H
#include <QString> #include <QString>
#include <QVector> #include <QVector>
@ -41,4 +41,4 @@ public:
}; };
#endif //FEATHER_COLORSCHEME_H #endif //WOWLET_COLORSCHEME_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_RESTOREHEIGHTLOOKUP_H #ifndef WOWLET_RESTOREHEIGHTLOOKUP_H
#define FEATHER_RESTOREHEIGHTLOOKUP_H #define WOWLET_RESTOREHEIGHTLOOKUP_H
#include <cstdio> #include <cstdio>
#include <cstdlib> #include <cstdlib>
@ -73,4 +73,4 @@ struct RestoreHeightLookup {
} }
}; };
#endif //FEATHER_RESTOREHEIGHTLOOKUP_H #endif //WOWLET_RESTOREHEIGHTLOOKUP_H

@ -1,5 +1,5 @@
#ifndef FEATHER_FEATHERSEED_H #ifndef WOWLET_WOWLETSEED_H
#define FEATHER_FEATHERSEED_H #define WOWLET_WOWLETSEED_H
#include "libwalletqt/WalletManager.h" #include "libwalletqt/WalletManager.h"
#include "libwalletqt/Wallet.h" #include "libwalletqt/Wallet.h"
@ -12,7 +12,7 @@ enum SeedType {
TEVADOR // 14 word seeds TEVADOR // 14 word seeds
}; };
struct FeatherSeed { struct WowletSeed {
QString coin; QString coin;
QString language; QString language;
SeedType seedType; SeedType seedType;
@ -27,7 +27,7 @@ struct FeatherSeed {
QString errorString; QString errorString;
explicit FeatherSeed(RestoreHeightLookup *lookup, explicit WowletSeed(RestoreHeightLookup *lookup,
const QString &coin = "monero", const QString &coin = "monero",
const QString &language = "English", const QString &language = "English",
const QStringList &mnemonic = {}) const QStringList &mnemonic = {})
@ -111,4 +111,4 @@ struct FeatherSeed {
} }
}; };
#endif //FEATHER_FEATHERSEED_H #endif //WOWLET_WOWLETSEED_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_FPROCESS_H #ifndef WOWLET_FPROCESS_H
#define FEATHER_FPROCESS_H #define WOWLET_FPROCESS_H
#include <QProcess> #include <QProcess>
@ -21,4 +21,4 @@ protected:
}; };
#endif //FEATHER_FPROCESS_H #endif //WOWLET_FPROCESS_H

@ -3,8 +3,8 @@
// Copyright (C) 2011 Felix Geyer <debfx@fobos.de> // Copyright (C) 2011 Felix Geyer <debfx@fobos.de>
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_SETTINGS_H #ifndef WOWLET_SETTINGS_H
#define FEATHER_SETTINGS_H #define WOWLET_SETTINGS_H
#include <QObject> #include <QObject>
#include <QSettings> #include <QSettings>
@ -78,4 +78,4 @@ inline Config* config()
return Config::instance(); return Config::instance();
} }
#endif //FEATHER_SETTINGS_H #endif //WOWLET_SETTINGS_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_DAEMON_RPC_H #ifndef WOWLET_DAEMON_RPC_H
#define FEATHER_DAEMON_RPC_H #define WOWLET_DAEMON_RPC_H
#include <QObject> #include <QObject>
@ -48,4 +48,4 @@ private:
}; };
#endif //FEATHER_DAEMON_RPC_H #endif //WOWLET_DAEMON_RPC_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_NETWORKING_H #ifndef WOWLET_NETWORKING_H
#define FEATHER_NETWORKING_H #define WOWLET_NETWORKING_H
#include <QRegExp> #include <QRegExp>
#include <QtNetwork> #include <QtNetwork>
@ -38,4 +38,4 @@ private:
QNetworkAccessManager *m_networkAccessManager; QNetworkAccessManager *m_networkAccessManager;
}; };
#endif //FEATHER_NETWORKING_H #endif //WOWLET_NETWORKING_H

@ -12,7 +12,7 @@ Nodes::Nodes(AppContext *ctx, QNetworkAccessManager *networkAccessManager, QObje
QObject(parent), QObject(parent),
m_ctx(ctx), m_ctx(ctx),
m_networkAccessManager(networkAccessManager), m_networkAccessManager(networkAccessManager),
m_connection(FeatherNode()), m_connection(WowletNode()),
modelWebsocket(new NodeModel(NodeSource::websocket, this)), modelWebsocket(new NodeModel(NodeSource::websocket, this)),
modelCustom(new NodeModel(NodeSource::custom, this)) { modelCustom(new NodeModel(NodeSource::custom, this)) {
this->loadConfig(); this->loadConfig();
@ -41,7 +41,7 @@ void Nodes::loadConfig() {
// load custom nodes // load custom nodes
auto nodes = obj.value("custom").toArray(); auto nodes = obj.value("custom").toArray();
for (auto value: nodes) { for (auto value: nodes) {
auto customNode = FeatherNode(value.toString()); auto customNode = WowletNode(value.toString());
customNode.custom = true; customNode.custom = true;
if(m_connection == customNode) { if(m_connection == customNode) {
@ -57,7 +57,7 @@ void Nodes::loadConfig() {
// load cached websocket nodes // load cached websocket nodes
auto ws = obj.value("ws").toArray(); auto ws = obj.value("ws").toArray();
for (auto value: ws) { for (auto value: ws) {
auto wsNode = FeatherNode(value.toString()); auto wsNode = WowletNode(value.toString());
wsNode.custom = false; wsNode.custom = false;
wsNode.online = true; // assume online wsNode.online = true; // assume online
@ -104,7 +104,7 @@ void Nodes::loadConfig() {
nodes_list = nodes_json[netKey].toObject()["clearnet"].toArray(); nodes_list = nodes_json[netKey].toObject()["clearnet"].toArray();
} }
for (auto node: nodes_list) { for (auto node: nodes_list) {
auto wsNode = FeatherNode(node.toString()); auto wsNode = WowletNode(node.toString());
wsNode.custom = false; wsNode.custom = false;
wsNode.online = true; wsNode.online = true;
m_websocketNodes.append(wsNode); m_websocketNodes.append(wsNode);
@ -134,7 +134,7 @@ void Nodes::connectToNode() {
this->autoConnect(true); this->autoConnect(true);
} }
void Nodes::connectToNode(const FeatherNode &node) { void Nodes::connectToNode(const WowletNode &node) {
if (node.address.isEmpty()) if (node.address.isEmpty())
return; return;
@ -169,7 +169,7 @@ void Nodes::autoConnect(bool forceReconnect) {
if (wsMode && !m_wsNodesReceived && m_websocketNodes.count() == 0) { if (wsMode && !m_wsNodesReceived && m_websocketNodes.count() == 0) {
// this situation should rarely occur due to the usage of the websocket node cache on startup. // this situation should rarely occur due to the usage of the websocket node cache on startup.
qInfo() << "Feather is in websocket connection mode but was not able to receive any nodes (yet)."; qInfo() << "WOWlet is in websocket connection mode but was not able to receive any nodes (yet).";
return; return;
} }
@ -200,9 +200,9 @@ void Nodes::autoConnect(bool forceReconnect) {
this->updateModels(); this->updateModels();
} }
FeatherNode Nodes::pickEligibleNode() { WowletNode Nodes::pickEligibleNode() {
// Pick a node at random to connect to // Pick a node at random to connect to
auto rtn = FeatherNode(); auto rtn = WowletNode();
auto wsMode = (this->source() == NodeSource::websocket); auto wsMode = (this->source() == NodeSource::websocket);
auto nodes = wsMode ? m_websocketNodes : m_customNodes; auto nodes = wsMode ? m_websocketNodes : m_customNodes;
@ -224,7 +224,7 @@ FeatherNode Nodes::pickEligibleNode() {
// Pick random eligible node // Pick random eligible node
int mode_height = this->modeHeight(nodes); int mode_height = this->modeHeight(nodes);
for (int index : node_indeces) { for (int index : node_indeces) {
const FeatherNode &node = nodes.at(index); const WowletNode &node = nodes.at(index);
// This may fail to detect bad nodes if cached nodes are used // This may fail to detect bad nodes if cached nodes are used
// Todo: wait on websocket before connecting, only use cache if websocket is unavailable // Todo: wait on websocket before connecting, only use cache if websocket is unavailable
@ -258,7 +258,7 @@ FeatherNode Nodes::pickEligibleNode() {
return rtn; return rtn;
} }
void Nodes::onWSNodesReceived(const QList<QSharedPointer<FeatherNode>> &nodes) { void Nodes::onWSNodesReceived(const QList<QSharedPointer<WowletNode>> &nodes) {
m_websocketNodes.clear(); m_websocketNodes.clear();
m_wsNodesReceived = true; m_wsNodesReceived = true;
@ -303,7 +303,7 @@ void Nodes::onNodeSourceChanged(NodeSource nodeSource) {
this->autoConnect(true); this->autoConnect(true);
} }
void Nodes::setCustomNodes(const QList<FeatherNode> &nodes) { void Nodes::setCustomNodes(const QList<WowletNode> &nodes) {
m_customNodes.clear(); m_customNodes.clear();
auto key = QString::number(m_ctx->networkType); auto key = QString::number(m_ctx->networkType);
auto obj = m_configJson.value(key).toObject(); auto obj = m_configJson.value(key).toObject();
@ -329,7 +329,7 @@ void Nodes::updateModels() {
} }
void Nodes::resetLocalState() { void Nodes::resetLocalState() {
auto resetState = [this](QList<FeatherNode> *model){ auto resetState = [this](QList<WowletNode> *model){
for (auto&& node: *model) { for (auto&& node: *model) {
node.isConnecting = false; node.isConnecting = false;
node.isActive = false; node.isActive = false;
@ -372,11 +372,11 @@ void Nodes::WSNodeExhaustedWarning() {
m_wsExhaustedWarningEmitted = true; m_wsExhaustedWarningEmitted = true;
} }
QList<FeatherNode> Nodes::customNodes() { QList<WowletNode> Nodes::customNodes() {
return m_customNodes; return m_customNodes;
} }
FeatherNode Nodes::connection() { WowletNode Nodes::connection() {
return m_connection; return m_connection;
} }
@ -384,7 +384,7 @@ NodeSource Nodes::source() {
return m_source; return m_source;
} }
int Nodes::modeHeight(const QList<FeatherNode> &nodes) { int Nodes::modeHeight(const QList<WowletNode> &nodes) {
QVector<int> heights; QVector<int> heights;
for (const auto &node: nodes) { for (const auto &node: nodes) {
heights.push_back(node.height); heights.push_back(node.height);

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_NODES_H #ifndef WOWLET_NODES_H
#define FEATHER_NODES_H #define WOWLET_NODES_H
#include <QTimer> #include <QTimer>
#include <QRegExp> #include <QRegExp>
@ -20,8 +20,8 @@ enum NodeSource {
custom custom
}; };
struct FeatherNode { struct WowletNode {
explicit FeatherNode(QString _address = "", int height = 0, int target_height = 0, bool online = false) explicit WowletNode(QString _address = "", int height = 0, int target_height = 0, bool online = false)
: height(height), target_height(target_height), online(online){ : height(height), target_height(target_height), online(online){
// wonky ipv4/host parsing, should be fine(tm)(c). // wonky ipv4/host parsing, should be fine(tm)(c).
if(_address.isEmpty()) return; if(_address.isEmpty()) return;
@ -73,7 +73,7 @@ struct FeatherNode {
return QString("%1://%2/get_info").arg(this->isHttps ? "https": "http",this->full); return QString("%1://%2/get_info").arg(this->isHttps ? "https": "http",this->full);
} }
bool operator == (const FeatherNode &other) const { bool operator == (const WowletNode &other) const {
return this->full == other.full; return this->full == other.full;
} }
}; };
@ -87,18 +87,18 @@ public:
void writeConfig(); void writeConfig();
NodeSource source(); NodeSource source();
FeatherNode connection(); WowletNode connection();
QList<FeatherNode> customNodes(); QList<WowletNode> customNodes();
NodeModel *modelWebsocket; NodeModel *modelWebsocket;
NodeModel *modelCustom; NodeModel *modelCustom;
public slots: public slots:
void connectToNode(); void connectToNode();
void connectToNode(const FeatherNode &node); void connectToNode(const WowletNode &node);
void onWSNodesReceived(const QList<QSharedPointer<FeatherNode>>& nodes); void onWSNodesReceived(const QList<QSharedPointer<WowletNode>>& nodes);
void onNodeSourceChanged(NodeSource nodeSource); void onNodeSourceChanged(NodeSource nodeSource);
void setCustomNodes(const QList<FeatherNode>& nodes); void setCustomNodes(const QList<WowletNode>& nodes);
void autoConnect(bool forceReconnect = false); void autoConnect(bool forceReconnect = false);
signals: signals:
@ -114,24 +114,24 @@ private:
QStringList m_recentFailures; QStringList m_recentFailures;
QList<FeatherNode> m_customNodes; QList<WowletNode> m_customNodes;
QList<FeatherNode> m_websocketNodes; QList<WowletNode> m_websocketNodes;
FeatherNode m_connection; // current active connection, if any WowletNode m_connection; // current active connection, if any
bool m_wsNodesReceived = false; bool m_wsNodesReceived = false;
bool m_wsExhaustedWarningEmitted = true; bool m_wsExhaustedWarningEmitted = true;
bool m_customExhaustedWarningEmitted = true; bool m_customExhaustedWarningEmitted = true;
bool m_enableAutoconnect = true; bool m_enableAutoconnect = true;
FeatherNode pickEligibleNode(); WowletNode pickEligibleNode();
void updateModels(); void updateModels();
void resetLocalState(); void resetLocalState();
void exhausted(); void exhausted();
void WSNodeExhaustedWarning(); void WSNodeExhaustedWarning();
void nodeExhaustedWarning(); void nodeExhaustedWarning();
int modeHeight(const QList<FeatherNode> &nodes); int modeHeight(const QList<WowletNode> &nodes);
}; };
#endif //FEATHER_NODES_H #endif //WOWLET_NODES_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_PRICES_H #ifndef WOWLET_PRICES_H
#define FEATHER_PRICES_H #define WOWLET_PRICES_H
#include <QObject> #include <QObject>
#include <QProcess> #include <QProcess>
@ -39,4 +39,4 @@ signals:
void cryptoPricesUpdated(); void cryptoPricesUpdated();
}; };
#endif //FEATHER_PRICES_H #endif //WOWLET_PRICES_H

@ -8,7 +8,7 @@
#include "utils/utils.h" #include "utils/utils.h"
#include "utils/tor.h" #include "utils/tor.h"
#include "appcontext.h" #include "appcontext.h"
#include "config-feather.h" #include "config-wowlet.h"
QString Tor::torHost = "127.0.0.1"; QString Tor::torHost = "127.0.0.1";
quint16 Tor::torPort = 9050; quint16 Tor::torPort = 9050;
@ -116,7 +116,7 @@ void Tor::start() {
} }
void Tor::checkConnection() { void Tor::checkConnection() {
// We might not be able to connect to localhost if torsocks is used to start feather // We might not be able to connect to localhost if torsocks is used to start wowlet
if (m_ctx->isTorSocks) if (m_ctx->isTorSocks)
this->setConnectionState(true); this->setConnectionState(true);

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_TOR_H #ifndef WOWLET_TOR_H
#define FEATHER_TOR_H #define WOWLET_TOR_H
#include <cstdio> #include <cstdio>
#include <cstdlib> #include <cstdlib>
@ -112,4 +112,4 @@ private:
class AppContext; // forward declaration class AppContext; // forward declaration
#endif //FEATHER_TOR_H #endif //WOWLET_TOR_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_TXFIATHISTORY_H #ifndef WOWLET_TXFIATHISTORY_H
#define FEATHER_TXFIATHISTORY_H #define WOWLET_TXFIATHISTORY_H
class TxFiatHistory : public QObject { class TxFiatHistory : public QObject {
Q_OBJECT Q_OBJECT
@ -30,4 +30,4 @@ private:
int m_genesis_timestamp; int m_genesis_timestamp;
}; };
#endif //FEATHER_TXFIATHISTORY_H #endif //WOWLET_TXFIATHISTORY_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_UTILS_H #ifndef WOWLET_UTILS_H
#define FEATHER_UTILS_H #define WOWLET_UTILS_H
#include <QRegExp> #include <QRegExp>
#include <QStandardItemModel> #include <QStandardItemModel>
@ -86,4 +86,4 @@ public:
class AppContext; // forward declaration class AppContext; // forward declaration
#endif //FEATHER_UTILS_H #endif //WOWLET_UTILS_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_WHONIX_H #ifndef WOWLET_WHONIX_H
#define FEATHER_WHONIX_H #define WOWLET_WHONIX_H
#include <QString> #include <QString>
@ -12,4 +12,4 @@ struct WhonixOS {
}; };
#endif //FEATHER_WHONIX_H #endif //WOWLET_WHONIX_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_XMRIG_H #ifndef WOWLET_XMRIG_H
#define FEATHER_XMRIG_H #define WOWLET_XMRIG_H
#include <cstdio> #include <cstdio>
#include <cstdlib> #include <cstdlib>
@ -42,4 +42,4 @@ private:
ChildProcess m_process; ChildProcess m_process;
}; };
#endif //FEATHER_XMRIG_H #endif //WOWLET_XMRIG_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_CCSENTRY_H #ifndef WOWLET_CCSENTRY_H
#define FEATHER_CCSENTRY_H #define WOWLET_CCSENTRY_H
#include <QString> #include <QString>
@ -21,4 +21,4 @@ struct CCSEntry {
int contributions = 0; int contributions = 0;
}; };
#endif //FEATHER_CCSENTRY_H #endif //WOWLET_CCSENTRY_H

@ -2,8 +2,8 @@
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
// Copyright (c) 2012 thomasv@gitorious // Copyright (c) 2012 thomasv@gitorious
#ifndef FEATHER_PAYTOEDIT_H #ifndef WOWLET_PAYTOEDIT_H
#define FEATHER_PAYTOEDIT_H #define WOWLET_PAYTOEDIT_H
#include <QObject> #include <QObject>
#include <QPlainTextEdit> #include <QPlainTextEdit>
@ -67,4 +67,4 @@ private:
QVector<PartialTxOutput> m_outputs; QVector<PartialTxOutput> m_outputs;
}; };
#endif //FEATHER_PAYTOEDIT_H #endif //WOWLET_PAYTOEDIT_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_REDDITPOST_H #ifndef WOWLET_REDDITPOST_H
#define FEATHER_REDDITPOST_H #define WOWLET_REDDITPOST_H
#include <QString> #include <QString>
@ -16,4 +16,4 @@ struct RedditPost {
int comments; int comments;
}; };
#endif //FEATHER_REDDITPOST_H #endif //WOWLET_REDDITPOST_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_CSSPROGRESSDELEGATE_H #ifndef WOWLET_CSSPROGRESSDELEGATE_H
#define FEATHER_CSSPROGRESSDELEGATE_H #define WOWLET_CSSPROGRESSDELEGATE_H
#include <QStyledItemDelegate> #include <QStyledItemDelegate>
#include "model/CCSModel.h" #include "model/CCSModel.h"
@ -20,4 +20,4 @@ private:
}; };
#endif //FEATHER_CSSPROGRESSDELEGATE_H #endif //WOWLET_CSSPROGRESSDELEGATE_H

@ -49,7 +49,7 @@ NodeWidget::NodeWidget(QWidget *parent)
void NodeWidget::onShowWSContextMenu(const QPoint &pos) { void NodeWidget::onShowWSContextMenu(const QPoint &pos) {
m_activeView = ui->wsView; m_activeView = ui->wsView;
FeatherNode node = this->selectedNode(); WowletNode node = this->selectedNode();
if (node.full.isEmpty()) return; if (node.full.isEmpty()) return;
this->showContextMenu(pos, node); this->showContextMenu(pos, node);
@ -57,13 +57,13 @@ void NodeWidget::onShowWSContextMenu(const QPoint &pos) {
void NodeWidget::onShowCustomContextMenu(const QPoint &pos) { void NodeWidget::onShowCustomContextMenu(const QPoint &pos) {
m_activeView = ui->customView; m_activeView = ui->customView;
FeatherNode node = this->selectedNode(); WowletNode node = this->selectedNode();
if (node.full.isEmpty()) return; if (node.full.isEmpty()) return;
this->showContextMenu(pos, node); this->showContextMenu(pos, node);
} }
void NodeWidget::showContextMenu(const QPoint &pos, const FeatherNode &node) { void NodeWidget::showContextMenu(const QPoint &pos, const WowletNode &node) {
QMenu menu(this); QMenu menu(this);
if (!node.isActive) { if (!node.isActive) {
@ -86,27 +86,27 @@ void NodeWidget::onContextConnect() {
else else
m_activeView = ui->wsView; m_activeView = ui->wsView;
FeatherNode node = this->selectedNode(); WowletNode node = this->selectedNode();
if (!node.full.isEmpty()) if (!node.full.isEmpty())
emit connectToNode(node); emit connectToNode(node);
} }
void NodeWidget::onContextStatusURL() { void NodeWidget::onContextStatusURL() {
FeatherNode node = this->selectedNode(); WowletNode node = this->selectedNode();
if (!node.full.isEmpty()) if (!node.full.isEmpty())
Utils::externalLinkWarning(this, node.as_url()); Utils::externalLinkWarning(this, node.as_url());
} }
void NodeWidget::onContextNodeCopy() { void NodeWidget::onContextNodeCopy() {
FeatherNode node = this->selectedNode(); WowletNode node = this->selectedNode();
Utils::copyToClipboard(node.full); Utils::copyToClipboard(node.full);
} }
FeatherNode NodeWidget::selectedNode() { WowletNode NodeWidget::selectedNode() {
QModelIndex index = m_activeView->currentIndex(); QModelIndex index = m_activeView->currentIndex();
if (!index.isValid()) return FeatherNode(); if (!index.isValid()) return WowletNode();
FeatherNode node; WowletNode node;
if (m_activeView == ui->customView) { if (m_activeView == ui->customView) {
node = m_customModel->node(index.row()); node = m_customModel->node(index.row());
} else { } else {
@ -118,10 +118,10 @@ FeatherNode NodeWidget::selectedNode() {
void NodeWidget::onContextCustomNodeRemove() { void NodeWidget::onContextCustomNodeRemove() {
QModelIndex index = ui->customView->currentIndex(); QModelIndex index = ui->customView->currentIndex();
if (!index.isValid()) return; if (!index.isValid()) return;
FeatherNode node = m_customModel->node(index.row()); WowletNode node = m_customModel->node(index.row());
auto nodes = m_ctx->nodes->customNodes(); auto nodes = m_ctx->nodes->customNodes();
QMutableListIterator<FeatherNode> i(nodes); QMutableListIterator<WowletNode> i(nodes);
while (i.hasNext()) while (i.hasNext())
if (i.next() == node) if (i.next() == node)
i.remove(); i.remove();
@ -141,14 +141,14 @@ void NodeWidget::onCustomAddClicked(){
if (!ok || text.isEmpty()) if (!ok || text.isEmpty())
return; return;
QList<FeatherNode> nodesList; QList<WowletNode> nodesList;
auto newNodesList = text.split("\n"); auto newNodesList = text.split("\n");
for(auto &newNodeText: newNodesList) { for(auto &newNodeText: newNodesList) {
newNodeText = newNodeText.replace("\r", "").trimmed(); newNodeText = newNodeText.replace("\r", "").trimmed();
if(newNodeText.isEmpty()) if(newNodeText.isEmpty())
continue; continue;
auto node = FeatherNode(newNodeText); auto node = WowletNode(newNodeText);
node.custom = true; node.custom = true;
nodesList.append(node); nodesList.append(node);
} }

@ -40,7 +40,7 @@ private slots:
void onContextNodeCopy(); void onContextNodeCopy();
signals: signals:
void connectToNode(FeatherNode node); void connectToNode(WowletNode node);
void nodeSourceChanged(NodeSource nodeSource); void nodeSourceChanged(NodeSource nodeSource);
private: private:
@ -56,8 +56,8 @@ private:
QAction *m_contextActionOpenStatusURL; QAction *m_contextActionOpenStatusURL;
QAction *m_contextActionCopy; QAction *m_contextActionCopy;
void showContextMenu(const QPoint &pos, const FeatherNode &node); void showContextMenu(const QPoint &pos, const WowletNode &node);
FeatherNode selectedNode(); WowletNode selectedNode();
}; };
#endif // NODEWIDGET_H #endif // NODEWIDGET_H

@ -57,6 +57,7 @@ signals:
void thumbReceived(SuchWowPost *test); void thumbReceived(SuchWowPost *test);
private: private:
// @TODO: Replace url
QString m_weburl = "http://feathercitimllbmdktu6cmjo3fizgmyfrntntqzu6xguqa2rlq5cgid.onion/suchwow"; QString m_weburl = "http://feathercitimllbmdktu6cmjo3fizgmyfrntntqzu6xguqa2rlq5cgid.onion/suchwow";
AppContext *m_ctx = nullptr; AppContext *m_ctx = nullptr;
UtilsNetworking *m_networkThumb = nullptr; UtilsNetworking *m_networkThumb = nullptr;

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_TXPROOFWIDGET_H #ifndef WOWLET_TXPROOFWIDGET_H
#define FEATHER_TXPROOFWIDGET_H #define WOWLET_TXPROOFWIDGET_H
#include <QWidget> #include <QWidget>
@ -30,4 +30,4 @@ private:
Wallet *m_wallet; Wallet *m_wallet;
}; };
#endif //FEATHER_TXPROOFWIDGET_H #endif //WOWLET_TXPROOFWIDGET_H

@ -83,11 +83,11 @@ XMRigWidget::XMRigWidget(AppContext *ctx, QWidget *parent) :
// username/password // username/password
connect(ui->lineEdit_password, &QLineEdit::editingFinished, [=]() { connect(ui->lineEdit_password, &QLineEdit::editingFinished, [=]() {
m_ctx->currentWallet->setCacheAttribute("feather.xmrig_password", ui->lineEdit_password->text()); m_ctx->currentWallet->setCacheAttribute("wowlet.xmrig_password", ui->lineEdit_password->text());
m_ctx->storeWallet(); m_ctx->storeWallet();
}); });
connect(ui->lineEdit_address, &QLineEdit::editingFinished, [=]() { connect(ui->lineEdit_address, &QLineEdit::editingFinished, [=]() {
m_ctx->currentWallet->setCacheAttribute("feather.xmrig_username", ui->lineEdit_address->text()); m_ctx->currentWallet->setCacheAttribute("wowlet.xmrig_username", ui->lineEdit_address->text());
m_ctx->storeWallet(); m_ctx->storeWallet();
}); });
@ -104,17 +104,17 @@ void XMRigWidget::onWalletClosed() {
void XMRigWidget::onWalletOpened(Wallet *wallet){ void XMRigWidget::onWalletOpened(Wallet *wallet){
// Xmrig username // Xmrig username
auto username = m_ctx->currentWallet->getCacheAttribute("feather.xmrig_username"); auto username = m_ctx->currentWallet->getCacheAttribute("wowlet.xmrig_username");
if(!username.isEmpty()) if(!username.isEmpty())
ui->lineEdit_address->setText(username); ui->lineEdit_address->setText(username);
// Xmrig passwd // Xmrig passwd
auto password = m_ctx->currentWallet->getCacheAttribute("feather.xmrig_password"); auto password = m_ctx->currentWallet->getCacheAttribute("wowlet.xmrig_password");
if(!password.isEmpty()) { if(!password.isEmpty()) {
ui->lineEdit_password->setText(password); ui->lineEdit_password->setText(password);
} else { } else {
ui->lineEdit_password->setText("featherwallet"); ui->lineEdit_password->setText("wowlet");
m_ctx->currentWallet->setCacheAttribute("feather.xmrig_password", ui->lineEdit_password->text()); m_ctx->currentWallet->setCacheAttribute("wowlet.xmrig_password", ui->lineEdit_password->text());
} }
} }
@ -145,8 +145,8 @@ void XMRigWidget::onStartClicked() {
xmrigPath = config()->get(Config::xmrigPath).toString(); xmrigPath = config()->get(Config::xmrigPath).toString();
// username is receiving address usually // username is receiving address usually
auto username = m_ctx->currentWallet->getCacheAttribute("feather.xmrig_username"); auto username = m_ctx->currentWallet->getCacheAttribute("wowlet.xmrig_username");
auto password = m_ctx->currentWallet->getCacheAttribute("feather.xmrig_password"); auto password = m_ctx->currentWallet->getCacheAttribute("wowlet.xmrig_password");
if(username.isEmpty()) { if(username.isEmpty()) {
QString err = "Please specify a receiving address on the Settings screen"; QString err = "Please specify a receiving address on the Settings screen";

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_CREATEWALLET_H #ifndef WOWLET_CREATEWALLET_H
#define FEATHER_CREATEWALLET_H #define WOWLET_CREATEWALLET_H
#include <QLabel> #include <QLabel>
#include <QWizardPage> #include <QWizardPage>
@ -35,4 +35,4 @@ private:
bool validateWidgets(); bool validateWidgets();
}; };
#endif //FEATHER_CREATEWALLET_H #endif //WOWLET_CREATEWALLET_H

@ -51,7 +51,7 @@ void CreateWalletSeedPage::seedRoulette(int count) {
} }
void CreateWalletSeedPage::generateSeed() { void CreateWalletSeedPage::generateSeed() {
FeatherSeed seed = FeatherSeed(m_ctx->restoreHeights[m_ctx->networkType], m_ctx->coinName, m_ctx->seedLanguage); WowletSeed seed = WowletSeed(m_ctx->restoreHeights[m_ctx->networkType], m_ctx->coinName, m_ctx->seedLanguage);
m_mnemonic = seed.mnemonic.join(" "); m_mnemonic = seed.mnemonic.join(" ");
m_restoreHeight = seed.restoreHeight; m_restoreHeight = seed.restoreHeight;
this->displaySeed(m_mnemonic); this->displaySeed(m_mnemonic);

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_CREATEWALLETSEED_H #ifndef WOWLET_CREATEWALLETSEED_H
#define FEATHER_CREATEWALLETSEED_H #define WOWLET_CREATEWALLETSEED_H
#include <QLabel> #include <QLabel>
#include <QWizardPage> #include <QWizardPage>
@ -47,4 +47,4 @@ private:
int m_rouletteSpin = 15; int m_rouletteSpin = 15;
}; };
#endif //FEATHER_CREATEWALLETSEED_H #endif //WOWLET_CREATEWALLETSEED_H

@ -1,8 +1,8 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2020-2021, The Monero Project. // Copyright (c) 2020-2021, The Monero Project.
#ifndef FEATHER_WIZARDMENU_H #ifndef WOWLET_WIZARDMENU_H
#define FEATHER_WIZARDMENU_H #define WOWLET_WIZARDMENU_H
#include <QLabel> #include <QLabel>
#include <QWizardPage> #include <QWizardPage>
@ -30,4 +30,4 @@ private:
Ui::MenuPage *ui; Ui::MenuPage *ui;
}; };
#endif //FEATHER_WIZARDMENU_H #endif //WOWLET_WIZARDMENU_H

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save