diff --git a/.drone.yml b/.drone.yml index ee478bae..6d0d8e0c 100644 --- a/.drone.yml +++ b/.drone.yml @@ -29,34 +29,34 @@ steps: - name: files_linux_appimage path: /linux-release-appimage commands: - - export FN="feather-`echo $DRONE_COMMIT_AFTER | cut -c 1-7`.zip" + - export FN="feather-wow-`echo $DRONE_COMMIT_AFTER | cut -c 1-7`.zip" - export TARGET_DIR="/linux-release/$DRONE_SOURCE_BRANCH" - mkdir -p "$TARGET_DIR" - echo "writing to $TARGET_DIR/$FN" - - strip -s build/bin/feather - - zip -j "$TARGET_DIR/$FN" build/feather.log build/bin/feather + - strip -s build/bin/feather-wow + - zip -j "$TARGET_DIR/$FN" build/feather.log build/bin/feather-wow - echo "[*] written to https://build.featherwallet.org/files/linux-release/$DRONE_SOURCE_BRANCH/$FN" - # AppImage - - export FN="feather-`git rev-parse --short HEAD`.AppImage" + - export FN="feather-wow-`git rev-parse --short HEAD`.AppImage" - export TARGET_DIR="/linux-release-appimage/$DRONE_SOURCE_BRANCH" - mkdir -p "$TARGET_DIR" - echo "writing to $TARGET_DIR/$FN" - - mv "feather.AppImage" "$TARGET_DIR/$FN" + - mv "feather-wow.AppImage" "$TARGET_DIR/$FN" - echo "[*] written to https://build.featherwallet.org/files/linux-release-appimage/$DRONE_SOURCE_BRANCH/$FN" volumes: - name: ccache_linux_release host: - path: /var/drone/ccache_linux_release/ + path: /var/drone/ccache_wow_linux_release/ - name: monero host: path: /var/drone/monero - name: files_linux_release host: - path: /build/feather_files/files/linux-release/ + path: /build/feather_files/files-wow/linux-release/ - name: files_linux_appimage host: - path: /build/feather_files/files/linux-release-appimage/ + path: /build/feather_files/files-wow/linux-release-appimage/ --- kind: pipeline @@ -82,19 +82,19 @@ steps: - name: files_win_release path: /files commands: - - export FN="feather-`echo $DRONE_COMMIT_AFTER | cut -c 1-7`.zip" + - export FN="feather-wow-`echo $DRONE_COMMIT_AFTER | cut -c 1-7`.zip" - export TARGET_DIR="/files/$DRONE_SOURCE_BRANCH" - mkdir -p "$TARGET_DIR" - echo "writing to $TARGET_DIR/$FN" - - zip -j "$TARGET_DIR/$FN" build/x86_64-w64-mingw32/release/bin/feather.exe - - echo "[*] written to https://build.featherwallet.org/files/windows-release/$DRONE_SOURCE_BRANCH/$FN" + - zip -j "$TARGET_DIR/$FN" build/x86_64-w64-mingw32/release/bin/feather-wow.exe + - echo "[*] written to https://build.featherwallet.org/files-wow/windows-release/$DRONE_SOURCE_BRANCH/$FN" volumes: - name: ccache_win_release host: - path: /var/drone/ccache_win_release/ + path: /var/drone/ccache_wow_win_release/ - name: files_win_release host: - path: /build/feather_files/files/windows-release/ + path: /build/feather_files/files-wow/windows-release/ - name: monero host: path: /var/drone/monero @@ -112,25 +112,25 @@ steps: path: /files commands: - mkdir -p build - - ssh administrator@steve.jobs.xmr.pm "chmod +x build_macos.sh && PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin ~/build_macos.sh $DRONE_COMMIT_SHA" - - scp -P22 administrator@steve.jobs.xmr.pm:feather.zip build/feather.zip + - ssh administrator@steve.jobs.xmr.pm "chmod +x build_wow_macos.sh && PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin ~/build_wow_macos.sh $DRONE_COMMIT_SHA" + - scp -P22 administrator@steve.jobs.xmr.pm:feather-wow.zip build/feather-wow.zip - name: deploy image: feather:mac volumes: - name: files_mac_release path: /files commands: - - export FN="feather-`echo $DRONE_COMMIT_AFTER | cut -c 1-7`.zip" + - export FN="feather-wow-`echo $DRONE_COMMIT_AFTER | cut -c 1-7`.zip" - export TARGET_DIR="/files/$DRONE_SOURCE_BRANCH" - mkdir -p "$TARGET_DIR" - echo "writing to $TARGET_DIR/$FN" - - mv build/feather.zip "$TARGET_DIR/$FN" - - echo "[*] written to https://build.featherwallet.org/files/mac-release/$DRONE_SOURCE_BRANCH/$FN" + - mv build/feather-wow.zip "$TARGET_DIR/$FN" + - echo "[*] written to https://build.featherwallet.org/files-wow/mac-release/$DRONE_SOURCE_BRANCH/$FN" volumes: - name: files_mac_release host: - path: /build/feather_files/files/mac-release/ + path: /build/feather-wow_files/files-wow/mac-release/ --- kind: signature hmac: f16a0379280e2e89987930d635ec6fb938d67732fdaf4ddc488f2a9db64bda2c diff --git a/.gitmodules b/.gitmodules index d3f35ebc..f56a6f83 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,9 +1,3 @@ -[submodule "monero"] - path = monero - url = https://git.wownero.com/feather/monero.git -[submodule "contrib/tor"] - path = contrib/tor - url = https://git.torproject.org/tor.git [submodule "contrib/KDMacTouchBar"] path = contrib/KDMacTouchBar url = https://github.com/KDAB/KDMacTouchBar.git diff --git a/CMakeLists.txt b/CMakeLists.txt index c0d1bab0..17bf773f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,7 +12,6 @@ set(VERSION "beta-4") option(FETCH_DEPS "Download dependencies if they are not found" ON) option(XMRIG "Include XMRig module" ON) option(TOR_BIN "Path to Tor binary to embed inside Feather" OFF) - option(STATIC "Link libraries statically, requires static Qt") option(USE_DEVICE_TREZOR "Trezor support compilation" OFF) option(DONATE_BEG "Prompt donation window every once in a while" ON) @@ -29,7 +28,7 @@ if(DEBUG) set(CMAKE_VERBOSE_MAKEFILE ON) endif() -set(MONERO_HEAD "aa0f58570d412cf02dd325e567bbc9fa093df16c") +set(MONERO_HEAD "b146027bc4515ebadb5e3705a9df9f325c053572") set(BUILD_GUI_DEPS ON) set(ARCH "x86-64") set(BUILD_64 ON) @@ -82,11 +81,11 @@ endfunction() find_package(Git) if(GIT_FOUND) - execute_process(COMMAND git rev-parse "HEAD" WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/monero OUTPUT_VARIABLE _MONERO_HEAD OUTPUT_STRIP_TRAILING_WHITESPACE) - if(NOT _MONERO_HEAD STREQUAL MONERO_HEAD) - message(FATAL_ERROR "[submodule] Monero HEAD was at ${_MONERO_HEAD} but should be at ${MONERO_HEAD}") + execute_process(COMMAND git rev-parse "HEAD" WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/monero OUTPUT_VARIABLE _WOWNERO_HEAD OUTPUT_STRIP_TRAILING_WHITESPACE) + if(NOT _WOWNERO_HEAD STREQUAL WOWNERO_HEAD) + message(FATAL_ERROR "[submodule] Monero HEAD was at ${_WOWNERO_HEAD} but should be at ${WOWNERO_HEAD}") else() - message(STATUS "[submodule] Monero HEAD @ ${MONERO_HEAD}") + message(STATUS "[submodule] Monero HEAD @ ${WOWNERO_HEAD}") endif() endif() diff --git a/Makefile b/Makefile index a1f81ad0..03e41a45 100644 --- a/Makefile +++ b/Makefile @@ -30,7 +30,7 @@ CMAKEFLAGS = \ -DARCH=x86_64 \ -DBUILD_64=On \ -DBUILD_TESTS=Off \ - -DXMRIG=On \ + -DXMRIG=Off \ -DTOR_BIN=Off \ -DCMAKE_CXX_STANDARD=11 \ -DCMAKE_VERBOSE_MAKEFILE=On \ diff --git a/README.md b/README.md index c8a1d01e..ab185f82 100644 --- a/README.md +++ b/README.md @@ -1,35 +1,13 @@ -# Feather - a free Monero desktop wallet +# Feather-WOW - a free Wownero desktop wallet -[![Build Status](https://build.featherwallet.org/api/badges/feather/feather/status.svg)](https://build.featherwallet.org/feather/feather) +[![Build Status](https://build.featherwallet.org/api/badges/feather/feather-wow/status.svg)](https://build.featherwallet.org/feather/feather-wow) -Feather is a free, open-source Monero client Linux with ports for Mac OS and Windows written in C++ with the Qt framework. It is created and maintained by [dsc](dsc@xmr.pm) and [tobtoht](thotbot@protonmail.com). +Feather is a free, open-source Wownero client for Linux with ports for Mac OS and Windows. ## Development resources * Web: [featherwallet.org](https://featherwallet.org) -* Git: [git.wownero.com/feather/feather](https://git.wownero.com/feather/feather) +* Git: [git.wownero.com/feather/feather-wow](https://git.wownero.com/feather/feather-wow) * IRC: `#feather` on OFTC -* Development builds: [build.featherwallet.org/files](https://build.featherwallet.org/files/) +* Development builds: [build.featherwallet.org/files-wow](https://build.featherwallet.org/files-wow/) Copyright (c) 2020-2021 The Monero Project. - -## Compiling Feather from source - -Feather uses Monero, as such it requires the same dependencies as outlined in [Monero's README](https://github.com/monero-project/monero#compiling-monero-from-source). Additionally, Feather uses: - -- Qt 5.15.0 -- libqrencode -- openpgp - -See [BUILDING.md](https://git.wownero.com/feather/feather/src/branch/master/BUILDING.md) for information on how to compile a build. - -## Supporting the project - -Feather is a 100% community-sponsored endeavor. If you want to join our efforts, the easiest thing you can do is support the project financially. - -`47ntfT2Z5384zku39pTM6hGcnLnvpRYW2Azm87GiAAH2bcTidtq278TL6HmwyL8yjMeERqGEBs3cqC8vvHPJd1cWQrGC65f` - -## Developers - -See [HACKING.md](https://git.wownero.com/feather/feather/src/branch/master/HACKING.md) for useful development resources. - -It is HIGHLY recommended that you join the `#feather` IRC channel on OFTC if you are hacking on Feather. Due to the nature of this open source software project, joining this channel and idling is the best way to stay updated on best practices and new developments. diff --git a/cmake/Deploy.cmake b/cmake/Deploy.cmake index 1a1e76b3..6c246647 100644 --- a/cmake/Deploy.cmake +++ b/cmake/Deploy.cmake @@ -7,7 +7,7 @@ if(APPLE OR (WIN32 AND NOT STATIC)) find_program(MACDEPLOYQT_EXECUTABLE macdeployqt HINTS "${_qt_bin_dir}") add_custom_command(TARGET deploy POST_BUILD - COMMAND "${MACDEPLOYQT_EXECUTABLE}" "$/../.." -always-overwrite + COMMAND "${MACDEPLOYQT_EXECUTABLE}" "$/../.." -always-overwrite COMMENT "Running macdeployqt..." ) @@ -16,11 +16,11 @@ if(APPLE OR (WIN32 AND NOT STATIC)) if(_qt_svg_dylib) add_custom_command(TARGET deploy POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${_qt_svg_dylib} $/../PlugIns/imageformats/ - COMMAND ${CMAKE_INSTALL_NAME_TOOL} -change "${CMAKE_PREFIX_PATH}/lib/QtGui.framework/Versions/5/QtGui" "@executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui" $/../PlugIns/imageformats/libqsvg.dylib - COMMAND ${CMAKE_INSTALL_NAME_TOOL} -change "${CMAKE_PREFIX_PATH}/lib/QtWidgets.framework/Versions/5/QtWidgets" "@executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui" $/../PlugIns/imageformats/libqsvg.dylib - COMMAND ${CMAKE_INSTALL_NAME_TOOL} -change "${CMAKE_PREFIX_PATH}/lib/QtSvg.framework/Versions/5/QtSvg" "@executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui" $/../PlugIns/imageformats/libqsvg.dylib - COMMAND ${CMAKE_INSTALL_NAME_TOOL} -change "${CMAKE_PREFIX_PATH}/lib/QtCore.framework/Versions/5/QtCore" "@executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui" $/../PlugIns/imageformats/libqsvg.dylib + COMMAND ${CMAKE_COMMAND} -E copy ${_qt_svg_dylib} $/../PlugIns/imageformats/ + COMMAND ${CMAKE_INSTALL_NAME_TOOL} -change "${CMAKE_PREFIX_PATH}/lib/QtGui.framework/Versions/5/QtGui" "@executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui" $/../PlugIns/imageformats/libqsvg.dylib + COMMAND ${CMAKE_INSTALL_NAME_TOOL} -change "${CMAKE_PREFIX_PATH}/lib/QtWidgets.framework/Versions/5/QtWidgets" "@executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui" $/../PlugIns/imageformats/libqsvg.dylib + COMMAND ${CMAKE_INSTALL_NAME_TOOL} -change "${CMAKE_PREFIX_PATH}/lib/QtSvg.framework/Versions/5/QtSvg" "@executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui" $/../PlugIns/imageformats/libqsvg.dylib + COMMAND ${CMAKE_INSTALL_NAME_TOOL} -change "${CMAKE_PREFIX_PATH}/lib/QtCore.framework/Versions/5/QtCore" "@executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui" $/../PlugIns/imageformats/libqsvg.dylib COMMENT "Copying libqsvg.dylib, running install_name_tool" ) endif() diff --git a/contrib/build-appimage.sh b/contrib/build-appimage.sh index c68b5039..458c8406 100755 --- a/contrib/build-appimage.sh +++ b/contrib/build-appimage.sh @@ -3,16 +3,17 @@ set -e unset SOURCE_DATE_EPOCH -APPDIR="$PWD/feather.AppDir" +APPDIR="$PWD/feather-wow.AppDir" + mkdir -p "$APPDIR" mkdir -p "$APPDIR/usr/share/applications/" mkdir -p "$APPDIR/usr/bin" -cp "$PWD/src/assets/feather.desktop" "$APPDIR/usr/share/applications/feather.desktop" -cp "$PWD/src/assets/images/appicons/64x64.png" "$APPDIR/feather.png" -cp "$PWD/build/bin/feather" "$APPDIR/usr/bin/feather" +cp "$PWD/src/assets/feather-wow.desktop" "$APPDIR/usr/share/applications/feather-wow.desktop" +cp "$PWD/src/assets/images/appicons/64x64.png" "$APPDIR/feather-wow.png" +cp "$PWD/build/bin/feather-wow" "$APPDIR/usr/bin/feather-wow" -LD_LIBRARY_PATH=/usr/local/lib /linuxdeployqt/squashfs-root/AppRun feather.AppDir/usr/share/applications/feather.desktop -bundle-non-qt-libs +LD_LIBRARY_PATH=/usr/local/lib /linuxdeployqt/squashfs-root/AppRun feather.AppDir/usr/share/applications/feather-wow.desktop -bundle-non-qt-libs find feather.AppDir/ -exec touch -h -a -m -t 202101010100.00 {} \; @@ -26,7 +27,7 @@ mksquashfs feather.AppDir feather.squashfs -info -root-owned -no-xattrs -noappen # mksquashfs writes a timestamp to the header printf '\x00\x00\x00\x00' | dd conv=notrunc of=feather.squashfs bs=1 seek=$((0x8)) -rm -f feather.AppImage -cat runtime-x86_64 >> feather.AppImage -cat feather.squashfs >> feather.AppImage -chmod a+x feather.AppImage +rm -f feather-wow.AppImage +cat runtime-x86_64 >> feather-wow.AppImage +cat feather.squashfs >> feather-wow.AppImage +chmod a+x feather-wow.AppImage diff --git a/contrib/tor b/contrib/tor deleted file mode 160000 index e6877071..00000000 --- a/contrib/tor +++ /dev/null @@ -1 +0,0 @@ -Subproject commit e68770719ef4d3d3b83398715b1e10391ab6a1b4 diff --git a/monero b/monero deleted file mode 160000 index aa0f5857..00000000 --- a/monero +++ /dev/null @@ -1 +0,0 @@ -Subproject commit aa0f58570d412cf02dd325e567bbc9fa093df16c diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 48312ce6..c4772e26 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -70,29 +70,29 @@ if(APPLE) list(APPEND RESOURCES ${ICON}) endif() -add_executable(feather ${EXECUTABLE_FLAG} main.cpp +add_executable(feather-wow ${EXECUTABLE_FLAG} main.cpp ${SOURCE_FILES} ${RESOURCES} ${ASSETS_TOR} ) # mac os bundle -set_target_properties(feather PROPERTIES +set_target_properties(feather-wow PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin" MACOSX_BUNDLE TRUE MACOSX_BUNDLE_INFO_PLIST "${CMAKE_SOURCE_DIR}/utils/Info.plist" LINK_FLAGS_RELEASE -s ) -set_property(TARGET feather PROPERTY RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin") +set_property(TARGET feather-wow PROPERTY RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin") -target_include_directories(feather PUBLIC ${OPENGL_INCLUDE_DIR}) -target_include_directories(feather PUBLIC ${Qt5Gui_PRIVATE_INCLUDE_DIRS}) +target_include_directories(feather-wow PUBLIC ${OPENGL_INCLUDE_DIR}) +target_include_directories(feather-wow PUBLIC ${Qt5Gui_PRIVATE_INCLUDE_DIRS}) file(GLOB_RECURSE SRC_SOURCES *.cpp) file(GLOB_RECURSE SRC_HEADERS *.h) -target_include_directories(feather PUBLIC +target_include_directories(feather-wow PUBLIC ${CMAKE_BINARY_DIR}/src/feather_autogen/include ${CMAKE_SOURCE_DIR}/monero/include ${CMAKE_SOURCE_DIR}/monero/src @@ -119,34 +119,38 @@ target_include_directories(feather PUBLIC ) if(DONATE_BEG) - target_compile_definitions(feather PRIVATE DONATE_BEG=1) + target_compile_definitions(feather-wow PRIVATE DONATE_BEG=1) endif() if(TOR_BIN) - target_compile_definitions(feather PRIVATE HAS_TOR_BIN=1) + target_compile_definitions(feather-wow PRIVATE HAS_TOR_BIN=1) endif() if(XMRIG) - target_compile_definitions(feather PRIVATE HAS_XMRIG=1) + target_compile_definitions(feather-wow PRIVATE HAS_XMRIG=1) endif() if(HAVE_SYS_PRCTL_H) - target_compile_definitions(feather PRIVATE HAVE_SYS_PRCTL_H=1) + target_compile_definitions(feather-wow PRIVATE HAVE_SYS_PRCTL_H=1) endif() if(STATIC) - target_compile_definitions(feather PRIVATE STATIC=1) + target_compile_definitions(feather-wow PRIVATE STATIC=1) +endif() + +if(STATIC) + target_compile_definitions(feather-wow PRIVATE STATIC=1) endif() if("$ENV{DRONE}" STREQUAL "true") - target_compile_definitions(feather PRIVATE DRONE=1) + target_compile_definitions(feather-wow PRIVATE DRONE=1) endif() if (NOT CMAKE_BUILD_TYPE STREQUAL "Debug") - target_compile_definitions(feather PRIVATE QT_NO_DEBUG=1) + target_compile_definitions(feather-wow PRIVATE QT_NO_DEBUG=1) endif() -target_compile_definitions(feather +target_compile_definitions(feather-wow PUBLIC ${Qt5Core_DEFINITIONS} ${Qt5Widgets_DEFINITIONS} @@ -162,12 +166,12 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS}") if(UNIX AND NOT APPLE) # https://stackoverflow.com/questions/57766620/cmake-add-library-doesnt-initialize-static-global-variable # so that contrib/monero-seed/src/gf_elem.cpp properly initializes. A better solution is welcome. - target_link_libraries(feather -Wl,--whole-archive monero-seed::monero-seed -Wl,--no-whole-archive) + target_link_libraries(feather-wow -Wl,--whole-archive monero-seed::monero-seed -Wl,--no-whole-archive) else() - target_link_libraries(feather monero-seed::monero-seed) + target_link_libraries(feather-wow monero-seed::monero-seed) endif() -target_link_libraries(feather +target_link_libraries(feather-wow wallet_merged ${LMDB_LIBRARY} epee @@ -202,30 +206,30 @@ if(APPLE) endif() if(NOT APPLE) - target_link_libraries(feather + target_link_libraries(feather-wow Qt5::QSvgIconPlugin Qt5::QSvgPlugin ) endif() if(STATIC) - target_link_libraries(feather + target_link_libraries(feather-wow Qt5::QSvgIconPlugin Qt5::QSvgPlugin) if(UNIX AND NOT APPLE) - target_link_libraries(feather + target_link_libraries(feather-wow Qt5::QXcbIntegrationPlugin) endif() endif() if(X11_FOUND) - target_link_libraries(feather ${X11_LIBRARIES}) + target_link_libraries(feather-wow ${X11_LIBRARIES}) endif() if(APPLE) include(Deploy) endif() -install(TARGETS feather +install(TARGETS feather-wow DESTINATION ${CMAKE_INSTALL_PREFIX} ) diff --git a/src/appcontext.cpp b/src/appcontext.cpp index 4cdbf971..c4e0f5ad 100644 --- a/src/appcontext.cpp +++ b/src/appcontext.cpp @@ -45,11 +45,11 @@ AppContext::AppContext(QCommandLineParser *cmdargs) { QString appImagePath = qgetenv("APPIMAGE"); if (appImagePath.isEmpty()) { qDebug() << "Not an appimage, using currentPath()"; - return QDir::currentPath() + "/.feather"; + return QDir::currentPath() + "/.feather-wow"; } QFileInfo appImageDir(appImagePath); - return appImageDir.absoluteDir().path() + "/.feather"; + return appImageDir.absoluteDir().path() + "/.feather-wow"; }(); @@ -66,10 +66,10 @@ AppContext::AppContext(QCommandLineParser *cmdargs) { QString walletDir = config()->get(Config::walletDirectory).toString(); if (walletDir.isEmpty()) { #if defined(Q_OS_LINUX) or defined(Q_OS_MAC) - this->defaultWalletDir = QString("%1/Monero/wallets").arg(this->configRoot); - this->defaultWalletDirRoot = QString("%1/Monero").arg(this->configRoot); + this->defaultWalletDir = QString("%1/Wownero/wallets").arg(this->configRoot); + this->defaultWalletDirRoot = QString("%1/Wownero").arg(this->configRoot); #elif defined(Q_OS_WIN) - this->defaultWalletDir = QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation) + "/Monero"; + this->defaultWalletDir = QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation) + "/Wownero"; this->defaultWalletDirRoot = QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation); #endif } else { @@ -81,7 +81,7 @@ AppContext::AppContext(QCommandLineParser *cmdargs) { if (!QDir().mkpath(defaultWalletDir)) qCritical() << "Unable to create dir: " << defaultWalletDir; - this->configDirectory = QString("%1/.config/feather/").arg(this->configRoot); + this->configDirectory = QString("%1/.config/feather-wow/").arg(this->configRoot); #if defined(Q_OS_UNIX) if(!this->configDirectory.endsWith('/')) this->configDirectory = QString("%1/").arg(this->configDirectory); @@ -90,12 +90,12 @@ AppContext::AppContext(QCommandLineParser *cmdargs) { // Config createConfigDirectory(this->configDirectory); - if(this->cmdargs->isSet("stagenet")) - this->networkType = NetworkType::STAGENET; - else if(this->cmdargs->isSet("testnet")) - this->networkType = NetworkType::TESTNET; - else - this->networkType = NetworkType::MAINNET; +// if(this->cmdargs->isSet("stagenet")) +// this->networkType = NetworkType::STAGENET; +// else if(this->cmdargs->isSet("testnet")) +// this->networkType = NetworkType::TESTNET; +// else + this->networkType = NetworkType::MAINNET; // auto nodeSourceUInt = config()->get(Config::nodeSource).toUInt(); // AppContext::nodeSource = static_cast(nodeSourceUInt); @@ -426,7 +426,7 @@ void AppContext::onWSMessage(const QJsonObject &msg) { this->onWSReddit(reddit_data); } - else if(cmd == "ccs") { + else if(cmd == "wfs") { auto ccs_data = msg.value("data").toArray(); this->onWSCCS(ccs_data); } @@ -602,9 +602,9 @@ void AppContext::createWalletFinish(const QString &password) { } void AppContext::initRestoreHeights() { - restoreHeights[NetworkType::TESTNET] = new RestoreHeightLookup(NetworkType::TESTNET); - restoreHeights[NetworkType::STAGENET] = RestoreHeightLookup::fromFile(":/assets/restore_heights_monero_stagenet.txt", NetworkType::STAGENET); - restoreHeights[NetworkType::MAINNET] = RestoreHeightLookup::fromFile(":/assets/restore_heights_monero_mainnet.txt", NetworkType::MAINNET); + restoreHeights[NetworkType::TESTNET] = RestoreHeightLookup::fromFile(":/assets/restore_heights_wownero_mainnet.txt", NetworkType::TESTNET); + restoreHeights[NetworkType::STAGENET] = RestoreHeightLookup::fromFile(":/assets/restore_heights_wownero_mainnet.txt", NetworkType::STAGENET); + restoreHeights[NetworkType::MAINNET] = RestoreHeightLookup::fromFile(":/assets/restore_heights_wownero_mainnet.txt", NetworkType::MAINNET); } void AppContext::onSetRestoreHeight(quint64 height){ @@ -703,7 +703,7 @@ void AppContext::onUnconfirmedMoneyReceived(const QString &txId, quint64 amount) qDebug() << Q_FUNC_INFO << txId << " " << QString::number(amount_num); if(this->currentWallet->synchronized()) { - auto notify = QString("%1 XMR (pending)").arg(amount_num); + auto notify = QString("%1 WOW (pending)").arg(amount_num); Utils::desktopNotify("Payment received", notify, 5000); } } diff --git a/src/appcontext.h b/src/appcontext.h index dd6369ad..f5a4cdfa 100644 --- a/src/appcontext.h +++ b/src/appcontext.h @@ -42,13 +42,13 @@ public: bool isDebug = false; // Donation config - const QString donationAddress = "47ntfT2Z5384zku39pTM6hGcnLnvpRYW2Azm87GiAAH2bcTidtq278TL6HmwyL8yjMeERqGEBs3cqC8vvHPJd1cWQrGC65f"; + const QString donationAddress = "WW2xGxtet29WxM6RBaxkTaBZoXC4mHGYoiHM5rPgViwNjnTLR452skNTsBMFp9JgMbdGucFQWF3PG95Hau9MnFjp2rmKgrcC7"; const int donationAmount = 25; // euro bool donationSending = false; QCommandLineParser *cmdargs; - QString coinName = "monero"; + QString coinName = "wownero"; bool isTorSocks = false; QString homeDir; QString accountName; @@ -178,7 +178,7 @@ signals: private: const int m_donationBoundary = 15; QTimer m_storeTimer; - QUrl m_wsUrl = QUrl(QStringLiteral("ws://7e6egbawekbkxzkv4244pqeqgoo4axko2imgjbedwnn6s5yb6b7oliqd.onion/ws")); + QUrl m_wsUrl = QUrl(QStringLiteral("ws://7e6egbawekbkxzkv4244pqeqgoo4axko2imgjbedwnn6s5yb6b7oliqd.onion/wow/ws")); }; #endif //FEATHER_APPCONTEXT_H diff --git a/src/assets.qrc b/src/assets.qrc index 5a341e77..39cc2a58 100644 --- a/src/assets.qrc +++ b/src/assets.qrc @@ -3,7 +3,7 @@ assets/about.txt assets/ack.txt assets/contributors.txt - assets/feather.desktop + assets/feather-wow.desktop assets/nodes.json assets/images/appicons/32x32.png assets/images/appicons/48x48.png @@ -56,6 +56,54 @@ assets/images/network.png assets/images/offline_tx.png assets/images/person.svg + assets/images/photos/illiterate_illuminati.png + assets/images/photos/wow1.png + assets/images/photos/wow2.png + assets/images/photos/wow3.png + assets/images/photos/wow4.png + assets/images/photos/wow5.png + assets/images/photos/wow6.png + assets/images/photos/wow7.png + assets/images/photos/wow8.png + assets/images/photos/wow9.png + assets/images/photos/wow10.png + assets/images/photos/wow11.png + assets/images/photos/wow12.png + assets/images/photos/wow13.png + assets/images/photos/wow14.png + assets/images/photos/wow15.png + assets/images/photos/wow16.png + assets/images/photos/wow17.png + assets/images/photos/wow18.png + assets/images/photos/wow19.png + assets/images/photos/wow20.png + assets/images/photos/wow21.png + assets/images/photos/wow22.png + assets/images/photos/wow23.png + assets/images/photos/wow24.png + assets/images/photos/wow25.png + assets/images/photos/wow26.png + assets/images/photos/wow27.png + assets/images/photos/wow28.png + assets/images/photos/wow29.png + assets/images/photos/wow30.png + assets/images/photos/wow31.png + assets/images/photos/wow32.png + assets/images/photos/wow33.png + assets/images/photos/wow34.png + assets/images/photos/wow35.png + assets/images/photos/wow36.png + assets/images/photos/wow37.png + assets/images/photos/wow38.png + assets/images/photos/wow39.png + assets/images/photos/wow40.png + assets/images/photos/wow41.png + assets/images/photos/wow42.png + assets/images/photos/wow43.png + assets/images/photos/wow44.png + assets/images/photos/wow45.png + assets/images/photos/wow46.png + assets/images/photos/wow47.png assets/images/preferences.png assets/images/preferences.svg assets/images/qrcode.png @@ -102,7 +150,6 @@ assets/images/xmrig.svg assets/images/zoom.png assets/mnemonic_25_english.txt - assets/restore_heights_monero_mainnet.txt - assets/restore_heights_monero_stagenet.txt + assets/restore_heights_wownero_mainnet.txt diff --git a/src/assets/ack.txt b/src/assets/ack.txt index c0259860..f268a547 100644 --- a/src/assets/ack.txt +++ b/src/assets/ack.txt @@ -8,5 +8,4 @@ Initial CMake support for the Monero GUI was coded by TheCharlatan/xiphon. Huge thanks to nioc, fluffypony, wowario, thrmo for help during development. -Some more shoutouts for people for hosting nodes and/or having good ideas: -dnale0r, dEBRUYNE, binaryFate, lza_menace, jwinterm, kico, wowario +rottensox for testing :-) diff --git a/src/assets/feather-wow.desktop b/src/assets/feather-wow.desktop new file mode 100644 index 00000000..10b5bc9b --- /dev/null +++ b/src/assets/feather-wow.desktop @@ -0,0 +1,14 @@ +[Desktop Entry] +Comment=Lightweight Wownero Wallet +Exec=feather-wow +GenericName[en_US]=Wownero Wallet +GenericName=Wownero Wallet +Icon=feather-wow +Name[en_US]=Feather-WOW +Name=Feather-WOW +Categories=Finance;Network; +StartupNotify=false +StartupWMClass=feather +Terminal=false +Type=Application +MimeType=x-scheme-handler/wownero; diff --git a/src/assets/feather.desktop b/src/assets/feather.desktop deleted file mode 100644 index 56a851c2..00000000 --- a/src/assets/feather.desktop +++ /dev/null @@ -1,14 +0,0 @@ -[Desktop Entry] -Comment=Lightweight Monero Wallet -Exec=feather -GenericName[en_US]=Monero Wallet -GenericName=Monero Wallet -Icon=feather -Name[en_US]=Feather -Name=Feather -Categories=Finance;Network; -StartupNotify=false -StartupWMClass=feather -Terminal=false -Type=Application -MimeType=x-scheme-handler/monero; diff --git a/src/assets/images/appicons/128x128.png b/src/assets/images/appicons/128x128.png index 496896ce..158e07cd 100644 Binary files a/src/assets/images/appicons/128x128.png and b/src/assets/images/appicons/128x128.png differ diff --git a/src/assets/images/appicons/16x16.png b/src/assets/images/appicons/16x16.png new file mode 100755 index 00000000..b4872068 Binary files /dev/null and b/src/assets/images/appicons/16x16.png differ diff --git a/src/assets/images/appicons/24x24.png b/src/assets/images/appicons/24x24.png new file mode 100755 index 00000000..0c4b31c6 Binary files /dev/null and b/src/assets/images/appicons/24x24.png differ diff --git a/src/assets/images/appicons/256x256.png b/src/assets/images/appicons/256x256.png index bbc3ddca..12ed7e97 100644 Binary files a/src/assets/images/appicons/256x256.png and b/src/assets/images/appicons/256x256.png differ diff --git a/src/assets/images/appicons/32x32.png b/src/assets/images/appicons/32x32.png index 260435f0..8b81a608 100644 Binary files a/src/assets/images/appicons/32x32.png and b/src/assets/images/appicons/32x32.png differ diff --git a/src/assets/images/appicons/48x48.png b/src/assets/images/appicons/48x48.png index c28af777..137e0c26 100644 Binary files a/src/assets/images/appicons/48x48.png and b/src/assets/images/appicons/48x48.png differ diff --git a/src/assets/images/appicons/64x64.png b/src/assets/images/appicons/64x64.png index d81babee..20feb8e5 100644 Binary files a/src/assets/images/appicons/64x64.png and b/src/assets/images/appicons/64x64.png differ diff --git a/src/assets/images/appicons/96x96.png b/src/assets/images/appicons/96x96.png index 3b3bbbd5..3b10e808 100644 Binary files a/src/assets/images/appicons/96x96.png and b/src/assets/images/appicons/96x96.png differ diff --git a/src/assets/images/photos/illiterate_illuminati.png b/src/assets/images/photos/illiterate_illuminati.png new file mode 100644 index 00000000..459f83e7 Binary files /dev/null and b/src/assets/images/photos/illiterate_illuminati.png differ diff --git a/src/assets/images/photos/wow1.png b/src/assets/images/photos/wow1.png new file mode 100644 index 00000000..de3bdb9e Binary files /dev/null and b/src/assets/images/photos/wow1.png differ diff --git a/src/assets/images/photos/wow10.png b/src/assets/images/photos/wow10.png new file mode 100644 index 00000000..0d75a4ab Binary files /dev/null and b/src/assets/images/photos/wow10.png differ diff --git a/src/assets/images/photos/wow11.png b/src/assets/images/photos/wow11.png new file mode 100644 index 00000000..ff55daa3 Binary files /dev/null and b/src/assets/images/photos/wow11.png differ diff --git a/src/assets/images/photos/wow12.png b/src/assets/images/photos/wow12.png new file mode 100644 index 00000000..fd641517 Binary files /dev/null and b/src/assets/images/photos/wow12.png differ diff --git a/src/assets/images/photos/wow13.png b/src/assets/images/photos/wow13.png new file mode 100644 index 00000000..6a57d424 Binary files /dev/null and b/src/assets/images/photos/wow13.png differ diff --git a/src/assets/images/photos/wow14.png b/src/assets/images/photos/wow14.png new file mode 100644 index 00000000..f82afb3b Binary files /dev/null and b/src/assets/images/photos/wow14.png differ diff --git a/src/assets/images/photos/wow15.png b/src/assets/images/photos/wow15.png new file mode 100644 index 00000000..fcf4a995 Binary files /dev/null and b/src/assets/images/photos/wow15.png differ diff --git a/src/assets/images/photos/wow16.png b/src/assets/images/photos/wow16.png new file mode 100644 index 00000000..fe9f0368 Binary files /dev/null and b/src/assets/images/photos/wow16.png differ diff --git a/src/assets/images/photos/wow17.png b/src/assets/images/photos/wow17.png new file mode 100644 index 00000000..e5917c9e Binary files /dev/null and b/src/assets/images/photos/wow17.png differ diff --git a/src/assets/images/photos/wow18.png b/src/assets/images/photos/wow18.png new file mode 100644 index 00000000..4f99f1a5 Binary files /dev/null and b/src/assets/images/photos/wow18.png differ diff --git a/src/assets/images/photos/wow19.png b/src/assets/images/photos/wow19.png new file mode 100644 index 00000000..e41fc257 Binary files /dev/null and b/src/assets/images/photos/wow19.png differ diff --git a/src/assets/images/photos/wow2.png b/src/assets/images/photos/wow2.png new file mode 100755 index 00000000..d0f96f04 Binary files /dev/null and b/src/assets/images/photos/wow2.png differ diff --git a/src/assets/images/photos/wow20.png b/src/assets/images/photos/wow20.png new file mode 100644 index 00000000..de0f2773 Binary files /dev/null and b/src/assets/images/photos/wow20.png differ diff --git a/src/assets/images/photos/wow21.png b/src/assets/images/photos/wow21.png new file mode 100644 index 00000000..375aa175 Binary files /dev/null and b/src/assets/images/photos/wow21.png differ diff --git a/src/assets/images/photos/wow22.png b/src/assets/images/photos/wow22.png new file mode 100644 index 00000000..2c4ad0f6 Binary files /dev/null and b/src/assets/images/photos/wow22.png differ diff --git a/src/assets/images/photos/wow23.png b/src/assets/images/photos/wow23.png new file mode 100644 index 00000000..0565e642 Binary files /dev/null and b/src/assets/images/photos/wow23.png differ diff --git a/src/assets/images/photos/wow24.png b/src/assets/images/photos/wow24.png new file mode 100644 index 00000000..05227002 Binary files /dev/null and b/src/assets/images/photos/wow24.png differ diff --git a/src/assets/images/photos/wow25.png b/src/assets/images/photos/wow25.png new file mode 100644 index 00000000..77aeb9d0 Binary files /dev/null and b/src/assets/images/photos/wow25.png differ diff --git a/src/assets/images/photos/wow26.png b/src/assets/images/photos/wow26.png new file mode 100644 index 00000000..cd1b1371 Binary files /dev/null and b/src/assets/images/photos/wow26.png differ diff --git a/src/assets/images/photos/wow27.png b/src/assets/images/photos/wow27.png new file mode 100644 index 00000000..1a443f14 Binary files /dev/null and b/src/assets/images/photos/wow27.png differ diff --git a/src/assets/images/photos/wow28.png b/src/assets/images/photos/wow28.png new file mode 100644 index 00000000..19e552f3 Binary files /dev/null and b/src/assets/images/photos/wow28.png differ diff --git a/src/assets/images/photos/wow29.png b/src/assets/images/photos/wow29.png new file mode 100644 index 00000000..0ced9b87 Binary files /dev/null and b/src/assets/images/photos/wow29.png differ diff --git a/src/assets/images/photos/wow3.png b/src/assets/images/photos/wow3.png new file mode 100755 index 00000000..c0db8168 Binary files /dev/null and b/src/assets/images/photos/wow3.png differ diff --git a/src/assets/images/photos/wow30.png b/src/assets/images/photos/wow30.png new file mode 100644 index 00000000..1b39a4f1 Binary files /dev/null and b/src/assets/images/photos/wow30.png differ diff --git a/src/assets/images/photos/wow31.png b/src/assets/images/photos/wow31.png new file mode 100644 index 00000000..16eabd37 Binary files /dev/null and b/src/assets/images/photos/wow31.png differ diff --git a/src/assets/images/photos/wow32.png b/src/assets/images/photos/wow32.png new file mode 100644 index 00000000..f6ed8144 Binary files /dev/null and b/src/assets/images/photos/wow32.png differ diff --git a/src/assets/images/photos/wow33.png b/src/assets/images/photos/wow33.png new file mode 100644 index 00000000..8d6f00fe Binary files /dev/null and b/src/assets/images/photos/wow33.png differ diff --git a/src/assets/images/photos/wow34.png b/src/assets/images/photos/wow34.png new file mode 100644 index 00000000..66366f35 Binary files /dev/null and b/src/assets/images/photos/wow34.png differ diff --git a/src/assets/images/photos/wow35.png b/src/assets/images/photos/wow35.png new file mode 100644 index 00000000..735705bc Binary files /dev/null and b/src/assets/images/photos/wow35.png differ diff --git a/src/assets/images/photos/wow36.png b/src/assets/images/photos/wow36.png new file mode 100644 index 00000000..f869dbb8 Binary files /dev/null and b/src/assets/images/photos/wow36.png differ diff --git a/src/assets/images/photos/wow37.png b/src/assets/images/photos/wow37.png new file mode 100644 index 00000000..2018a8b3 Binary files /dev/null and b/src/assets/images/photos/wow37.png differ diff --git a/src/assets/images/photos/wow38.png b/src/assets/images/photos/wow38.png new file mode 100644 index 00000000..3c845fa0 Binary files /dev/null and b/src/assets/images/photos/wow38.png differ diff --git a/src/assets/images/photos/wow39.png b/src/assets/images/photos/wow39.png new file mode 100644 index 00000000..b21e906c Binary files /dev/null and b/src/assets/images/photos/wow39.png differ diff --git a/src/assets/images/photos/wow4.png b/src/assets/images/photos/wow4.png new file mode 100644 index 00000000..9b490313 Binary files /dev/null and b/src/assets/images/photos/wow4.png differ diff --git a/src/assets/images/photos/wow40.png b/src/assets/images/photos/wow40.png new file mode 100644 index 00000000..3c686c99 Binary files /dev/null and b/src/assets/images/photos/wow40.png differ diff --git a/src/assets/images/photos/wow41.png b/src/assets/images/photos/wow41.png new file mode 100644 index 00000000..279c4f8d Binary files /dev/null and b/src/assets/images/photos/wow41.png differ diff --git a/src/assets/images/photos/wow42.png b/src/assets/images/photos/wow42.png new file mode 100644 index 00000000..e5ef1bf1 Binary files /dev/null and b/src/assets/images/photos/wow42.png differ diff --git a/src/assets/images/photos/wow43.png b/src/assets/images/photos/wow43.png new file mode 100644 index 00000000..93319816 Binary files /dev/null and b/src/assets/images/photos/wow43.png differ diff --git a/src/assets/images/photos/wow44.png b/src/assets/images/photos/wow44.png new file mode 100644 index 00000000..5051d152 Binary files /dev/null and b/src/assets/images/photos/wow44.png differ diff --git a/src/assets/images/photos/wow45.png b/src/assets/images/photos/wow45.png new file mode 100644 index 00000000..6ab151e1 Binary files /dev/null and b/src/assets/images/photos/wow45.png differ diff --git a/src/assets/images/photos/wow46.png b/src/assets/images/photos/wow46.png new file mode 100644 index 00000000..5f4b6eb7 Binary files /dev/null and b/src/assets/images/photos/wow46.png differ diff --git a/src/assets/images/photos/wow47.png b/src/assets/images/photos/wow47.png new file mode 100644 index 00000000..63d1b241 Binary files /dev/null and b/src/assets/images/photos/wow47.png differ diff --git a/src/assets/images/photos/wow5.png b/src/assets/images/photos/wow5.png new file mode 100644 index 00000000..dc99d7d6 Binary files /dev/null and b/src/assets/images/photos/wow5.png differ diff --git a/src/assets/images/photos/wow6.png b/src/assets/images/photos/wow6.png new file mode 100644 index 00000000..6193b3a6 Binary files /dev/null and b/src/assets/images/photos/wow6.png differ diff --git a/src/assets/images/photos/wow7.png b/src/assets/images/photos/wow7.png new file mode 100755 index 00000000..f6d43689 Binary files /dev/null and b/src/assets/images/photos/wow7.png differ diff --git a/src/assets/images/photos/wow8.png b/src/assets/images/photos/wow8.png new file mode 100644 index 00000000..288f3621 Binary files /dev/null and b/src/assets/images/photos/wow8.png differ diff --git a/src/assets/images/photos/wow9.png b/src/assets/images/photos/wow9.png new file mode 100755 index 00000000..300528cb Binary files /dev/null and b/src/assets/images/photos/wow9.png differ diff --git a/src/assets/restore_heights_monero_mainnet.txt b/src/assets/restore_heights_monero_mainnet.txt deleted file mode 100644 index 60e73531..00000000 --- a/src/assets/restore_heights_monero_mainnet.txt +++ /dev/null @@ -1,1457 +0,0 @@ -1397818193:1 -1397900458:1500 -1397988986:3000 -1398072982:4500 -1398150254:6000 -1398239439:7500 -1398327464:9000 -1398414629:10500 -1398503595:12000 -1398589229:13500 -1398674475:15000 -1398759778:16500 -1398853330:18000 -1398940120:19500 -1399029142:21000 -1399108598:22500 -1399199476:24000 -1399276463:25500 -1399359258:27000 -1399430728:28500 -1399529049:30000 -1399617670:31500 -1399704054:33000 -1399788123:34500 -1399876759:36000 -1399966741:37500 -1400048830:39000 -1400137204:40500 -1400227960:42000 -1400306653:43500 -1400390723:45000 -1400481607:46500 -1400562797:48000 -1400642153:49500 -1400733770:51000 -1400824661:52500 -1400909443:54000 -1400995911:55500 -1401087629:57000 -1401174818:58500 -1401259431:60000 -1401346018:61500 -1401446104:63000 -1401533922:64500 -1401615882:66000 -1401711748:67500 -1401800119:69000 -1401890061:70500 -1401981961:72000 -1402068695:73500 -1402161441:75000 -1402251933:76500 -1402342853:78000 -1402430216:79500 -1402521608:81000 -1402607480:82500 -1402694197:84000 -1402782013:85500 -1402877831:87000 -1402961257:88500 -1403051337:90000 -1403142326:91500 -1403227928:93000 -1403317545:94500 -1403402406:96000 -1403489043:97500 -1403581110:99000 -1403672901:100500 -1403762913:102000 -1403853728:103500 -1403942246:105000 -1404030101:106500 -1404121204:108000 -1404209324:109500 -1404299477:111000 -1404389132:112500 -1404479896:114000 -1404568672:115500 -1404658453:117000 -1404748301:118500 -1404841666:120000 -1404931637:121500 -1405021251:123000 -1405111817:124500 -1405202249:126000 -1405292780:127500 -1405384068:129000 -1405474052:130500 -1405560833:132000 -1405648064:133500 -1405738612:135000 -1405826744:136500 -1405917415:138000 -1406009136:139500 -1406098048:141000 -1406187373:142500 -1406276248:144000 -1406366555:145500 -1406454661:147000 -1406545604:148500 -1406634825:150000 -1406725340:151500 -1406814693:153000 -1406904971:154500 -1406994787:156000 -1407085463:157500 -1407175390:159000 -1407267706:160500 -1407356299:162000 -1407449840:163500 -1407538256:165000 -1407626820:166500 -1407724474:168000 -1407809765:169500 -1407902144:171000 -1407993798:172500 -1408082457:174000 -1408172155:175500 -1408262956:177000 -1408354097:178500 -1408443936:180000 -1408532602:181500 -1408622703:183000 -1408710047:184500 -1408800621:186000 -1408889541:187500 -1408978632:189000 -1409069384:190500 -1409161090:192000 -1409252389:193500 -1409341518:195000 -1409431833:196500 -1409523265:198000 -1409615103:199500 -1409706694:201000 -1409798817:202500 -1409887837:204000 -1409975926:205500 -1410066995:207000 -1410157020:208500 -1410247699:210000 -1410338278:211500 -1410426858:213000 -1410517509:214500 -1410603548:216000 -1410697050:217500 -1410786623:219000 -1410879374:220500 -1410968790:222000 -1411061102:223500 -1411150344:225000 -1411240315:226500 -1411333451:228000 -1411426837:229500 -1411517510:231000 -1411609298:232500 -1411700275:234000 -1411786636:235500 -1411879257:237000 -1411969413:238500 -1412059180:240000 -1412146654:241500 -1412240371:243000 -1412327650:244500 -1412419484:246000 -1412505208:247500 -1412598099:249000 -1412689756:250500 -1412779061:252000 -1412871113:253500 -1412958247:255000 -1413046858:256500 -1413143444:258000 -1413233792:259500 -1413326427:261000 -1413418713:262500 -1413513170:264000 -1413600711:265500 -1413691038:267000 -1413782539:268500 -1413873271:270000 -1413963233:271500 -1414051910:273000 -1414141926:274500 -1414235227:276000 -1414324027:277500 -1414416650:279000 -1414508370:280500 -1414600491:282000 -1414690323:283500 -1414780188:285000 -1414869014:286500 -1414960781:288000 -1415056523:289500 -1415146466:291000 -1415242321:292500 -1415326686:294000 -1415416410:295500 -1415513982:297000 -1415605041:298500 -1415690591:300000 -1415782947:301500 -1415872606:303000 -1415962299:304500 -1416054283:306000 -1416140330:307500 -1416233580:309000 -1416322091:310500 -1416414135:312000 -1416506758:313500 -1416595374:315000 -1416689164:316500 -1416780263:318000 -1416874051:319500 -1416962889:321000 -1417055934:322500 -1417146000:324000 -1417236998:325500 -1417324179:327000 -1417416820:328500 -1417507901:330000 -1417597710:331500 -1417686355:333000 -1417777506:334500 -1417862659:336000 -1417955917:337500 -1418046843:339000 -1418136820:340500 -1418233090:342000 -1418324035:343500 -1418414267:345000 -1418505126:346500 -1418595764:348000 -1418688320:349500 -1418779374:351000 -1418872600:352500 -1418966538:354000 -1419055739:355500 -1419144085:357000 -1419238098:358500 -1419326271:360000 -1419418123:361500 -1419507535:363000 -1419597647:364500 -1419683774:366000 -1419774083:367500 -1419866259:369000 -1419955270:370500 -1420044008:372000 -1420140609:373500 -1420231494:375000 -1420324119:376500 -1420413916:378000 -1420507318:379500 -1420606276:381000 -1420694938:382500 -1420789183:384000 -1420876853:385500 -1420964886:387000 -1421056364:388500 -1421145579:390000 -1421237342:391500 -1421326931:393000 -1421416957:394500 -1421502911:396000 -1421596997:397500 -1421688678:399000 -1421778389:400500 -1421868252:402000 -1421962600:403500 -1422053511:405000 -1422143942:406500 -1422233701:408000 -1422325595:409500 -1422417764:411000 -1422505420:412500 -1422598104:414000 -1422687391:415500 -1422777785:417000 -1422868479:418500 -1422956207:420000 -1423049056:421500 -1423138582:423000 -1423229478:424500 -1423317219:426000 -1423406036:427500 -1423499905:429000 -1423588906:430500 -1423680298:432000 -1423772526:433500 -1423862745:435000 -1423952092:436500 -1424041391:438000 -1424139807:439500 -1424229026:441000 -1424318898:442500 -1424409301:444000 -1424499432:445500 -1424588330:447000 -1424678229:448500 -1424767351:450000 -1424856412:451500 -1424945924:453000 -1425037250:454500 -1425127838:456000 -1425218701:457500 -1425304420:459000 -1425398748:460500 -1425487631:462000 -1425582279:463500 -1425668647:465000 -1425759251:466500 -1425851153:468000 -1425944420:469500 -1426035355:471000 -1426125337:472500 -1426216244:474000 -1426305042:475500 -1426396945:477000 -1426488132:478500 -1426579077:480000 -1426668886:481500 -1426757427:483000 -1426847995:484500 -1426937217:486000 -1427027279:487500 -1427118292:489000 -1427209584:490500 -1427297515:492000 -1427390524:493500 -1427480882:495000 -1427570116:496500 -1427659258:498000 -1427749838:499500 -1427840543:501000 -1427932591:502500 -1428024040:504000 -1428113328:505500 -1428207103:507000 -1428294368:508500 -1428385900:510000 -1428475862:511500 -1428566459:513000 -1428656150:514500 -1428745154:516000 -1428836572:517500 -1428927559:519000 -1429016578:520500 -1429108184:522000 -1429198248:523500 -1429288171:525000 -1429377542:526500 -1429471467:528000 -1429558593:529500 -1429653677:531000 -1429746059:532500 -1429836351:534000 -1429925189:535500 -1430016095:537000 -1430107657:538500 -1430197340:540000 -1430289235:541500 -1430378857:543000 -1430469252:544500 -1430559860:546000 -1430649912:547500 -1430737924:549000 -1430831012:550500 -1430922367:552000 -1431010902:553500 -1431101587:555000 -1431192674:556500 -1431285757:558000 -1431375632:559500 -1431466492:561000 -1431558015:562500 -1431649156:564000 -1431737625:565500 -1431828881:567000 -1431918115:568500 -1432011390:570000 -1432100985:571500 -1432189708:573000 -1432280424:574500 -1432369030:576000 -1432457824:577500 -1432550488:579000 -1432641906:580500 -1432730503:582000 -1432821446:583500 -1432914085:585000 -1433004746:586500 -1433094395:588000 -1433187412:589500 -1433276104:591000 -1433367216:592500 -1433460433:594000 -1433551901:595500 -1433637685:597000 -1433733220:598500 -1433825715:600000 -1433916570:601500 -1434006501:603000 -1434096894:604500 -1434187100:606000 -1434273702:607500 -1434367676:609000 -1434455723:610500 -1434545055:612000 -1434635579:613500 -1434730428:615000 -1434817300:616500 -1434906793:618000 -1434998648:619500 -1435090833:621000 -1435182990:622500 -1435273589:624000 -1435366019:625500 -1435453713:627000 -1435548085:628500 -1435636924:630000 -1435729973:631500 -1435822621:633000 -1435908886:634500 -1436001545:636000 -1436088666:637500 -1436178148:639000 -1436269067:640500 -1436362647:642000 -1436450486:643500 -1436539955:645000 -1436630255:646500 -1436721546:648000 -1436812401:649500 -1436903919:651000 -1436994474:652500 -1437085546:654000 -1437182957:655500 -1437275193:657000 -1437366265:658500 -1437455928:660000 -1437546033:661500 -1437633837:663000 -1437722391:664500 -1437810260:666000 -1437902321:667500 -1437993029:669000 -1438084185:670500 -1438171580:672000 -1438264522:673500 -1438354565:675000 -1438443988:676500 -1438535479:678000 -1438623629:679500 -1438716455:681000 -1438811029:682500 -1438904689:684000 -1438995954:685500 -1439086366:687000 -1439177854:688500 -1439267688:690000 -1439359080:691500 -1439447799:693000 -1439536807:694500 -1439628635:696000 -1439719005:697500 -1439804776:699000 -1439896959:700500 -1439989036:702000 -1440080322:703500 -1440170251:705000 -1440259422:706500 -1440351566:708000 -1440442434:709500 -1440537570:711000 -1440625665:712500 -1440717538:714000 -1440811510:715500 -1440903517:717000 -1440993091:718500 -1441084930:720000 -1441176305:721500 -1441265615:723000 -1441355056:724500 -1441446393:726000 -1441536851:727500 -1441628898:729000 -1441718152:730500 -1441805254:732000 -1441897179:733500 -1441986435:735000 -1442080450:736500 -1442172155:738000 -1442263883:739500 -1442355067:741000 -1442449041:742500 -1442542209:744000 -1442635207:745500 -1442724460:747000 -1442812486:748500 -1442902966:750000 -1442994219:751500 -1443085698:753000 -1443178161:754500 -1443264135:756000 -1443355099:757500 -1443446477:759000 -1443535739:760500 -1443625352:762000 -1443720015:763500 -1443811700:765000 -1443902882:766500 -1443998004:768000 -1444089737:769500 -1444182793:771000 -1444270850:772500 -1444361771:774000 -1444454626:775500 -1444544876:777000 -1444634893:778500 -1444725863:780000 -1444814080:781500 -1444904547:783000 -1444996388:784500 -1445086690:786000 -1445175749:787500 -1445267687:789000 -1445360811:790500 -1445449074:792000 -1445543282:793500 -1445632023:795000 -1445722156:796500 -1445813732:798000 -1445908836:799500 -1445998334:801000 -1446091833:802500 -1446185727:804000 -1446275117:805500 -1446367555:807000 -1446458743:808500 -1446548650:810000 -1446636178:811500 -1446729285:813000 -1446818028:814500 -1446909549:816000 -1447003607:817500 -1447093001:819000 -1447184705:820500 -1447278621:822000 -1447372370:823500 -1447468038:825000 -1447558138:826500 -1447652390:828000 -1447742476:829500 -1447828166:831000 -1447923194:832500 -1448013216:834000 -1448102910:835500 -1448193723:837000 -1448283885:838500 -1448375042:840000 -1448465226:841500 -1448556419:843000 -1448649382:844500 -1448740265:846000 -1448829027:847500 -1448923137:849000 -1449020848:850500 -1449111876:852000 -1449206548:853500 -1449295175:855000 -1449383624:856500 -1449475534:858000 -1449567493:859500 -1449656259:861000 -1449747770:862500 -1449839439:864000 -1449928803:865500 -1450020705:867000 -1450116099:868500 -1450206082:870000 -1450295833:871500 -1450393905:873000 -1450484210:874500 -1450576191:876000 -1450674264:877500 -1450763812:879000 -1450854842:880500 -1450945997:882000 -1451036350:883500 -1451125224:885000 -1451213407:886500 -1451306539:888000 -1451395994:889500 -1451487825:891000 -1451578633:892500 -1451673162:894000 -1451762734:895500 -1451855376:897000 -1451950724:898500 -1452044620:900000 -1452138667:901500 -1452229272:903000 -1452321274:904500 -1452411380:906000 -1452503713:907500 -1452593651:909000 -1452685043:910500 -1452774742:912000 -1452871547:913500 -1452955528:915000 -1453045013:916500 -1453139828:918000 -1453235253:919500 -1453322581:921000 -1453418754:922500 -1453508866:924000 -1453599446:925500 -1453692429:927000 -1453785727:928500 -1453874045:930000 -1453967280:931500 -1454056395:933000 -1454149053:934500 -1454238746:936000 -1454332249:937500 -1454422039:939000 -1454517368:940500 -1454604302:942000 -1454697148:943500 -1454792369:945000 -1454883921:946500 -1454976152:948000 -1455069597:949500 -1455162171:951000 -1455253531:952500 -1455344835:954000 -1455435262:955500 -1455523159:957000 -1455614591:958500 -1455704830:960000 -1455795089:961500 -1455885662:963000 -1455979503:964500 -1456067893:966000 -1456159912:967500 -1456252158:969000 -1456343386:970500 -1456436372:972000 -1456531050:973500 -1456626469:975000 -1456722795:976500 -1456812422:978000 -1456904454:979500 -1456992650:981000 -1457081799:982500 -1457174326:984000 -1457265022:985500 -1457353587:987000 -1457446102:988500 -1457536684:990000 -1457626424:991500 -1457717341:993000 -1457807857:994500 -1457902501:996000 -1457995186:997500 -1458089638:999000 -1458180514:1000500 -1458274276:1002000 -1458364317:1003500 -1458455352:1005000 -1458549046:1006500 -1458636174:1008000 -1458729317:1009500 -1458894346:1011000 -1459063482:1012500 -1459243276:1014000 -1459425755:1015500 -1459605826:1017000 -1459782083:1018500 -1459961331:1020000 -1460143746:1021500 -1460331607:1023000 -1460520936:1024500 -1460701361:1026000 -1460884221:1027500 -1461061695:1029000 -1461237934:1030500 -1461414191:1032000 -1461593953:1033500 -1461777761:1035000 -1461952141:1036500 -1462132052:1038000 -1462317051:1039500 -1462495092:1041000 -1462677074:1042500 -1462861748:1044000 -1463044884:1045500 -1463224911:1047000 -1463398580:1048500 -1463578591:1050000 -1463757604:1051500 -1463936022:1053000 -1464117101:1054500 -1464297865:1056000 -1464483584:1057500 -1464671071:1059000 -1464849970:1060500 -1465024863:1062000 -1465205807:1063500 -1465386722:1065000 -1465564285:1066500 -1465738760:1068000 -1465918555:1069500 -1466100427:1071000 -1466276876:1072500 -1466454118:1074000 -1466639653:1075500 -1466820501:1077000 -1467005177:1078500 -1467185150:1080000 -1467362682:1081500 -1467540213:1083000 -1467716652:1084500 -1467893799:1086000 -1468069912:1087500 -1468248812:1089000 -1468427344:1090500 -1468603125:1092000 -1468787751:1093500 -1468965065:1095000 -1469145781:1096500 -1469337233:1098000 -1469521554:1099500 -1469699691:1101000 -1469874679:1102500 -1470053612:1104000 -1470236012:1105500 -1470414476:1107000 -1470595923:1108500 -1470777161:1110000 -1470955781:1111500 -1471138526:1113000 -1471319847:1114500 -1471500943:1116000 -1471682222:1117500 -1471860790:1119000 -1472035420:1120500 -1472217115:1122000 -1472395302:1123500 -1472570739:1125000 -1472751050:1126500 -1472928309:1128000 -1473098267:1129500 -1473276441:1131000 -1473457643:1132500 -1473642257:1134000 -1473826970:1135500 -1474002748:1137000 -1474188317:1138500 -1474374066:1140000 -1474550392:1141500 -1474729572:1143000 -1474911163:1144500 -1475092518:1146000 -1475268122:1147500 -1475442938:1149000 -1475629374:1150500 -1475819480:1152000 -1475997819:1153500 -1476179133:1155000 -1476354939:1156500 -1476536210:1158000 -1476716350:1159500 -1476895225:1161000 -1477073983:1162500 -1477249312:1164000 -1477433801:1165500 -1477614082:1167000 -1477804971:1168500 -1477990372:1170000 -1478169998:1171500 -1478348283:1173000 -1478528413:1174500 -1478705414:1176000 -1478886655:1177500 -1479062832:1179000 -1479243048:1180500 -1479418422:1182000 -1479595192:1183500 -1479778962:1185000 -1479964598:1186500 -1480140671:1188000 -1480324683:1189500 -1480500809:1191000 -1480682239:1192500 -1480856453:1194000 -1481038133:1195500 -1481217124:1197000 -1481392752:1198500 -1481575804:1200000 -1481756751:1201500 -1481934733:1203000 -1482116256:1204500 -1482301346:1206000 -1482479176:1207500 -1482654068:1209000 -1482834659:1210500 -1483004059:1212000 -1483188148:1213500 -1483362554:1215000 -1483539897:1216500 -1483721622:1218000 -1483903190:1219500 -1484088607:1221000 -1484263006:1222500 -1484446963:1224000 -1484626829:1225500 -1484809489:1227000 -1484983861:1228500 -1485170094:1230000 -1485349686:1231500 -1485530749:1233000 -1485709581:1234500 -1485884232:1236000 -1486067414:1237500 -1486245341:1239000 -1486425256:1240500 -1486608991:1242000 -1486786270:1243500 -1486973042:1245000 -1487146309:1246500 -1487325223:1248000 -1487503053:1249500 -1487685365:1251000 -1487863975:1252500 -1488050119:1254000 -1488223036:1255500 -1488410492:1257000 -1488589768:1258500 -1488775148:1260000 -1488949276:1261500 -1489133453:1263000 -1489308790:1264500 -1489485996:1266000 -1489664303:1267500 -1489848401:1269000 -1490027832:1270500 -1490206463:1272000 -1490390593:1273500 -1490567029:1275000 -1490746894:1276500 -1490933137:1278000 -1491106069:1279500 -1491289329:1281000 -1491468486:1282500 -1491643624:1284000 -1491814895:1285500 -1491995475:1287000 -1492178181:1288500 -1492371569:1290000 -1492552114:1291500 -1492729903:1293000 -1492910706:1294500 -1493094028:1296000 -1493277668:1297500 -1493451685:1299000 -1493634509:1300500 -1493814008:1302000 -1493991208:1303500 -1494166238:1305000 -1494350490:1306500 -1494526071:1308000 -1494707137:1309500 -1494887930:1311000 -1495071305:1312500 -1495251430:1314000 -1495429566:1315500 -1495614062:1317000 -1495788802:1318500 -1495965162:1320000 -1496146099:1321500 -1496328368:1323000 -1496504063:1324500 -1496681255:1326000 -1496866740:1327500 -1497043312:1329000 -1497226571:1330500 -1497400684:1332000 -1497583491:1333500 -1497766332:1335000 -1497942512:1336500 -1498119751:1338000 -1498305083:1339500 -1498481551:1341000 -1498659598:1342500 -1498837788:1344000 -1499017991:1345500 -1499192957:1347000 -1499368904:1348500 -1499552117:1350000 -1499732418:1351500 -1499915064:1353000 -1500092067:1354500 -1500266465:1356000 -1500451753:1357500 -1500628055:1359000 -1500809381:1360500 -1500985894:1362000 -1501163425:1363500 -1501344352:1365000 -1501524529:1366500 -1501706158:1368000 -1501887950:1369500 -1502070277:1371000 -1502246128:1372500 -1502426331:1374000 -1502609329:1375500 -1502785502:1377000 -1502965697:1378500 -1503149952:1380000 -1503326470:1381500 -1503502198:1383000 -1503682259:1384500 -1503846976:1386000 -1504025371:1387500 -1504210659:1389000 -1504388051:1390500 -1504571483:1392000 -1504750590:1393500 -1504923930:1395000 -1505104688:1396500 -1505283020:1398000 -1505464381:1399500 -1505644195:1401000 -1505826737:1402500 -1506005392:1404000 -1506184128:1405500 -1506368706:1407000 -1506547393:1408500 -1506725266:1410000 -1506907806:1411500 -1507085344:1413000 -1507267312:1414500 -1507445129:1416000 -1507628097:1417500 -1507803256:1419000 -1507986316:1420500 -1508167088:1422000 -1508347016:1423500 -1508530561:1425000 -1508710041:1426500 -1508886983:1428000 -1509066419:1429500 -1509253136:1431000 -1509429629:1432500 -1509611536:1434000 -1509797649:1435500 -1509973107:1437000 -1510153044:1438500 -1510332372:1440000 -1510509741:1441500 -1510696836:1443000 -1510871459:1444500 -1511052822:1446000 -1511231910:1447500 -1511407518:1449000 -1511587113:1450500 -1511770521:1452000 -1511949617:1453500 -1512129674:1455000 -1512307629:1456500 -1512482822:1458000 -1512653560:1459500 -1512835616:1461000 -1513017827:1462500 -1513197715:1464000 -1513372385:1465500 -1513547532:1467000 -1513728243:1468500 -1513909535:1470000 -1514083183:1471500 -1514266543:1473000 -1514444953:1474500 -1514621027:1476000 -1514798581:1477500 -1514978081:1479000 -1515155541:1480500 -1515339872:1482000 -1515518908:1483500 -1515699380:1485000 -1515875622:1486500 -1516053533:1488000 -1516243460:1489500 -1516414701:1491000 -1516599857:1492500 -1516781257:1494000 -1516964999:1495500 -1517142540:1497000 -1517315501:1498500 -1517489351:1500000 -1517666336:1501500 -1517855270:1503000 -1518027977:1504500 -1518203488:1506000 -1518384465:1507500 -1518558355:1509000 -1518751308:1510500 -1518924052:1512000 -1519106822:1513500 -1519281628:1515000 -1519466837:1516500 -1519648752:1518000 -1519829797:1519500 -1520014254:1521000 -1520184998:1522500 -1520370843:1524000 -1520544780:1525500 -1520728324:1527000 -1520910430:1528500 -1521088410:1530000 -1521268781:1531500 -1521445861:1533000 -1521631805:1534500 -1521805475:1536000 -1521987364:1537500 -1522168759:1539000 -1522349749:1540500 -1522531771:1542000 -1522713608:1543500 -1522889687:1545000 -1523199218:1546500 -1523341007:1548000 -1523527026:1549500 -1523709149:1551000 -1523888851:1552500 -1524065976:1554000 -1524246015:1555500 -1524423554:1557000 -1524602490:1558500 -1524783179:1560000 -1524964360:1561500 -1525151214:1563000 -1525329119:1564500 -1525513042:1566000 -1525692507:1567500 -1525871313:1569000 -1526053870:1570500 -1526230509:1572000 -1526410171:1573500 -1526592816:1575000 -1526773513:1576500 -1526955087:1578000 -1527133612:1579500 -1527316345:1581000 -1527498499:1582500 -1527676559:1584000 -1527855294:1585500 -1528040693:1587000 -1528219591:1588500 -1528395704:1590000 -1528579987:1591500 -1528763026:1593000 -1528943220:1594500 -1529121386:1596000 -1529302157:1597500 -1529479749:1599000 -1529664069:1600500 -1529840212:1602000 -1530015093:1603500 -1530198774:1605000 -1530375043:1606500 -1530556497:1608000 -1530734767:1609500 -1530917375:1611000 -1531096855:1612500 -1531279152:1614000 -1531454376:1615500 -1531642390:1617000 -1531816195:1618500 -1531995687:1620000 -1532180791:1621500 -1532356484:1623000 -1532537384:1624500 -1532719158:1626000 -1532898266:1627500 -1533078869:1629000 -1533257860:1630500 -1533441853:1632000 -1533620709:1633500 -1533798312:1635000 -1533982417:1636500 -1534160192:1638000 -1534343434:1639500 -1534524042:1641000 -1534702092:1642500 -1534879676:1644000 -1535063247:1645500 -1535244194:1647000 -1535420587:1648500 -1535600184:1650000 -1535779496:1651500 -1535956153:1653000 -1536134137:1654500 -1536311328:1656000 -1536494008:1657500 -1536670845:1659000 -1536851610:1660500 -1537033013:1662000 -1537210976:1663500 -1537392240:1665000 -1537574727:1666500 -1537753429:1668000 -1537928751:1669500 -1538111834:1671000 -1538291618:1672500 -1538476427:1674000 -1538652972:1675500 -1538836084:1677000 -1539013906:1678500 -1539198355:1680000 -1539374477:1681500 -1539552789:1683000 -1539736817:1684500 -1539951210:1686000 -1540117344:1687500 -1540296439:1689000 -1540473097:1690500 -1540653573:1692000 -1540834279:1693500 -1541014980:1695000 -1541190938:1696500 -1541369517:1698000 -1541548646:1699500 -1541734186:1701000 -1541913570:1702500 -1542092909:1704000 -1542275017:1705500 -1542449875:1707000 -1542635853:1708500 -1542815406:1710000 -1542997650:1711500 -1543178239:1713000 -1543359208:1714500 -1543540950:1716000 -1543727129:1717500 -1543901392:1719000 -1544084664:1720500 -1544267089:1722000 -1544446105:1723500 -1544624643:1725000 -1544803722:1726500 -1544987704:1728000 -1545170981:1729500 -1545350532:1731000 -1545532466:1732500 -1545710048:1734000 -1545887915:1735500 -1546069559:1737000 -1546245869:1738500 -1546431793:1740000 -1546606116:1741500 -1546786754:1743000 -1546968255:1744500 -1547139298:1746000 -1547319437:1747500 -1547496353:1749000 -1547672846:1750500 -1547850712:1752000 -1548034420:1753500 -1548214308:1755000 -1548391966:1756500 -1548573263:1758000 -1548752471:1759500 -1548928088:1761000 -1549106489:1762500 -1549283115:1764000 -1549456506:1765500 -1549634814:1767000 -1549817916:1768500 -1549998027:1770000 -1550181258:1771500 -1550361109:1773000 -1550539544:1774500 -1550715280:1776000 -1550894562:1777500 -1551079870:1779000 -1551254182:1780500 -1551434299:1782000 -1551619776:1783500 -1551794014:1785000 -1551973350:1786500 -1552162320:1788000 -1552440957:1789500 -1552624599:1791000 -1552807716:1792500 -1552980302:1794000 -1553162414:1795500 -1553342996:1797000 -1553519700:1798500 -1553698458:1800000 -1553881211:1801500 -1554066280:1803000 -1554243249:1804500 -1554425052:1806000 -1554603701:1807500 -1554782591:1809000 -1554964129:1810500 -1555144375:1812000 -1555323612:1813500 -1555506661:1815000 -1555682580:1816500 -1555865552:1818000 -1556045247:1819500 -1556225465:1821000 -1556407651:1822500 -1556582937:1824000 -1556772261:1825500 -1556942721:1827000 -1557123929:1828500 -1557301054:1830000 -1557481698:1831500 -1557663940:1833000 -1557840344:1834500 -1558023818:1836000 -1558203355:1837500 -1558391132:1839000 -1558575667:1840500 -1558746689:1842000 -1558925957:1843500 -1559106354:1845000 -1559287492:1846500 -1559467006:1848000 -1559645231:1849500 -1559825739:1851000 -1560005500:1852500 -1560188695:1854000 -1560369273:1855500 -1560549957:1857000 -1560728250:1858500 -1560908667:1860000 -1561089902:1861500 -1561266483:1863000 -1561452756:1864500 -1561630099:1866000 -1561809391:1867500 -1561988751:1869000 -1562166315:1870500 -1562348668:1872000 -1562528088:1873500 -1562705035:1875000 -1562894124:1876500 -1563072153:1878000 -1563253196:1879500 -1563429474:1881000 -1563612610:1882500 -1563790557:1884000 -1563972425:1885500 -1564152141:1887000 -1564332716:1888500 -1564511944:1890000 -1564693842:1891500 -1564873798:1893000 -1565051050:1894500 -1565230166:1896000 -1565410958:1897500 -1565587893:1899000 -1565768680:1900500 -1565949811:1902000 -1566131254:1903500 -1566309564:1905000 -1566490278:1906500 -1566668500:1908000 -1566847812:1909500 -1567031237:1911000 -1567210421:1912500 -1567391373:1914000 -1567573130:1915500 -1567750424:1917000 -1567930191:1918500 -1568109052:1920000 -1568292141:1921500 -1568475276:1923000 -1568651158:1924500 -1568834035:1926000 -1569016695:1927500 -1569197462:1929000 -1569377087:1930500 -1569552946:1932000 -1569734228:1933500 -1569917274:1935000 -1570098125:1936500 -1570275613:1938000 -1570457750:1939500 -1570639244:1941000 -1570819775:1942500 -1570996968:1944000 -1571176527:1945500 -1571356679:1947000 -1571534462:1948500 -1571718656:1950000 -1571897497:1951500 -1572079573:1953000 -1572257839:1954500 -1572433496:1956000 -1572617030:1957500 -1572800390:1959000 -1572981257:1960500 -1573162090:1962000 -1573343169:1963500 -1573522418:1965000 -1573702490:1966500 -1573880257:1968000 -1574062548:1969500 -1574251843:1971000 -1574424663:1972500 -1574601376:1974000 -1574786775:1975500 -1574964035:1977000 -1575146296:1978500 -1575292812:1980000 -1575466285:1981500 -1575651166:1983000 -1575830411:1984500 -1576005533:1986000 -1576186198:1987500 -1576360710:1989000 -1576541731:1990500 -1576716413:1992000 -1576902518:1993500 -1577081999:1995000 -1577264190:1996500 -1577443608:1998000 -1577623965:1999500 -1577797297:2001000 -1577979977:2002500 -1578159838:2004000 -1578336239:2005500 -1578515304:2007000 -1578699616:2008500 -1578876107:2010000 -1579060229:2011500 -1579242633:2013000 -1579414863:2014500 -1579597542:2016000 -1579772970:2017500 -1579952975:2019000 -1580137609:2020500 -1580317014:2022000 -1580496315:2023500 -1580675324:2025000 -1580849194:2026500 -1581032371:2028000 -1581214733:2029500 -1581397004:2031000 -1581572973:2032500 -1581751875:2034000 -1581931029:2035500 -1582114546:2037000 -1582295872:2038500 -1582472927:2040000 -1582657335:2041500 -1582835968:2043000 -1583012446:2044500 -1583196576:2046000 -1583373753:2047500 -1583560473:2049000 -1583738686:2050500 -1583922736:2052000 -1584105842:2053500 -1584285185:2055000 -1584463972:2056500 -1584642026:2058000 -1584821928:2059500 -1584995845:2061000 -1585184223:2062500 -1585363485:2064000 -1585540102:2065500 -1585721837:2067000 -1585899117:2068500 -1586084634:2070000 -1586262819:2071500 -1586442409:2073000 -1586623044:2074500 -1586801375:2076000 -1586980631:2077500 -1587165890:2079000 -1587341099:2080500 -1587523790:2082000 -1587702237:2083500 -1587883578:2085000 -1588063778:2086500 -1588245212:2088000 -1588424440:2089500 -1588603366:2091000 -1588781424:2092500 -1588964395:2094000 -1589142803:2095500 -1589321977:2097000 -1589506409:2098500 -1589683808:2100000 -1589865852:2101500 -1590042622:2103000 -1590222956:2104500 -1590404367:2106000 -1590581681:2107500 -1590762536:2109000 -1590943308:2110500 -1591125425:2112000 -1591304788:2113500 -1591483294:2115000 -1591666790:2116500 -1591846816:2118000 -1592023700:2119500 -1592207460:2121000 -1592386537:2122500 -1592569543:2124000 -1592747578:2125500 -1592925121:2127000 -1593103239:2128500 -1593277684:2130000 -1593464042:2131500 -1593643273:2133000 -1593824098:2134500 -1594000762:2136000 -1594187379:2137500 -1594369906:2139000 -1594552767:2140500 -1594721587:2142000 -1594908084:2143500 -1595088951:2145000 -1595269262:2146500 -1595454606:2148000 -1595633949:2149500 -1595806853:2151000 -1595988097:2152500 -1596168734:2154000 -1596347710:2155500 -1596523798:2157000 -1596694716:2158500 -1596887172:2160000 -1597077820:2161500 -1597256353:2163000 -1597436569:2164500 -1597622246:2166000 -1597800117:2167500 -1597984768:2169000 -1598161623:2170500 -1598338544:2172000 -1598523532:2173500 -1598704427:2175000 -1598881234:2176500 -1599067666:2178000 -1599247884:2179500 -1599426969:2181000 -1599604157:2182500 -1599786817:2184000 diff --git a/src/assets/restore_heights_monero_stagenet.txt b/src/assets/restore_heights_monero_stagenet.txt deleted file mode 100644 index c28a4a46..00000000 --- a/src/assets/restore_heights_monero_stagenet.txt +++ /dev/null @@ -1,444 +0,0 @@ -1518932025:1 -1519057016:1500 -1519148374:3000 -1519251680:4500 -1519344568:6000 -1519443436:7500 -1519538388:9000 -1519630287:10500 -1519706564:12000 -1519797372:13500 -1519887275:15000 -1519977816:16500 -1520068127:18000 -1520163067:19500 -1520267595:21000 -1520378423:22500 -1520470528:24000 -1520547672:25500 -1520637599:27000 -1520727714:28500 -1520817129:30000 -1520907017:31500 -1521042482:33000 -1521203259:34500 -1521379791:36000 -1521565539:37500 -1521768004:39000 -1521952047:40500 -1522127660:42000 -1522284923:43500 -1522510139:45000 -1522676022:46500 -1522871613:48000 -1522969561:49500 -1523145200:51000 -1523316302:52500 -1523550884:54000 -1523758049:55500 -1523917524:57000 -1524106084:58500 -1524290437:60000 -1524464139:61500 -1524728732:63000 -1524905041:64500 -1525093135:66000 -1525239917:67500 -1525443579:69000 -1525663214:70500 -1525839621:72000 -1525989826:73500 -1526182919:75000 -1526437405:76500 -1526649137:78000 -1526812889:79500 -1526991726:81000 -1527184073:82500 -1527351889:84000 -1527567839:85500 -1527759754:87000 -1527916443:88500 -1528110008:90000 -1528285005:91500 -1528486806:93000 -1528666327:94500 -1528872096:96000 -1529015390:97500 -1529205809:99000 -1529384415:100500 -1529595764:102000 -1529770640:103500 -1529950955:105000 -1530115141:106500 -1530306273:108000 -1530491510:109500 -1530677550:111000 -1530823854:112500 -1531032372:114000 -1531175619:115500 -1531371373:117000 -1531541897:118500 -1531706629:120000 -1531888223:121500 -1532104373:123000 -1532314129:124500 -1532503060:126000 -1532663651:127500 -1532894128:129000 -1533095950:130500 -1533302631:132000 -1533464469:133500 -1533670723:135000 -1533833911:136500 -1534030841:138000 -1534203160:139500 -1534397055:141000 -1534577048:142500 -1534752236:144000 -1534931462:145500 -1535119263:147000 -1535300364:148500 -1535471540:150000 -1535640429:151500 -1535836082:153000 -1536059510:154500 -1536209710:156000 -1536366875:157500 -1536560444:159000 -1536749043:160500 -1536926345:162000 -1537105693:163500 -1537296613:165000 -1537501175:166500 -1537667740:168000 -1537844801:169500 -1538000228:171000 -1538199137:172500 -1538418406:174000 -1538612473:175500 -1538979696:177000 -1539147054:178500 -1539303989:180000 -1539488395:181500 -1539652212:183000 -1539819281:184500 -1539971301:186000 -1540146343:187500 -1540330288:189000 -1540505588:190500 -1540688044:192000 -1540869374:193500 -1541049379:195000 -1541223210:196500 -1541393586:198000 -1541577202:199500 -1541762094:201000 -1541909862:202500 -1542199063:204000 -1542399873:205500 -1542579333:207000 -1542763985:208500 -1542947442:210000 -1543124804:211500 -1543323933:213000 -1543489307:214500 -1543672244:216000 -1543837576:217500 -1544042420:219000 -1544222096:220500 -1544402628:222000 -1544546843:223500 -1544730464:225000 -1545134663:226500 -1545301874:228000 -1545488939:229500 -1545664263:231000 -1545834607:232500 -1546014630:234000 -1546192930:235500 -1546373750:237000 -1546556089:238500 -1546738764:240000 -1546917228:241500 -1547091360:243000 -1547272679:244500 -1547463907:246000 -1547636722:247500 -1547817060:249000 -1548001021:250500 -1548185375:252000 -1548380319:253500 -1548555267:255000 -1548741069:256500 -1548926544:258000 -1549140801:259500 -1549297081:261000 -1549478379:262500 -1549651888:264000 -1549860339:265500 -1550024455:267000 -1550217332:268500 -1551312389:270000 -1551527936:271500 -1551665288:273000 -1551836443:274500 -1552026339:276000 -1552218441:277500 -1552443760:279000 -1552680291:280500 -1552854334:282000 -1553030527:283500 -1553211359:285000 -1553385763:286500 -1553588198:288000 -1553760642:289500 -1553937158:291000 -1554121990:292500 -1554302691:294000 -1554479953:295500 -1554666762:297000 -1554850956:298500 -1555057081:300000 -1555228611:301500 -1555400592:303000 -1555615005:304500 -1555789135:306000 -1555995570:307500 -1556183867:309000 -1556362195:310500 -1556541232:312000 -1556728140:313500 -1556903453:315000 -1557065264:316500 -1557273415:318000 -1557443047:319500 -1557618850:321000 -1557798876:322500 -1557976530:324000 -1558172356:325500 -1558356032:327000 -1558534222:328500 -1558719934:330000 -1558892036:331500 -1559075695:333000 -1559253052:334500 -1559462339:336000 -1559647394:337500 -1559827424:339000 -1560002042:340500 -1560189126:342000 -1560343483:343500 -1560548477:345000 -1560709613:346500 -1560888640:348000 -1561072261:349500 -1561249189:351000 -1561433494:352500 -1561609875:354000 -1561789136:355500 -1561971530:357000 -1562146235:358500 -1562283612:360000 -1562536678:361500 -1562727970:363000 -1562896064:364500 -1563081360:366000 -1563222147:367500 -1563471753:369000 -1563648133:370500 -1563844968:372000 -1564019071:373500 -1564194349:375000 -1564378444:376500 -1564557884:378000 -1564733144:379500 -1564931656:381000 -1565088150:382500 -1565272766:384000 -1565457895:385500 -1565632566:387000 -1565824568:388500 -1565992971:390000 -1566155025:391500 -1566345274:393000 -1566534162:394500 -1566736618:396000 -1566937517:397500 -1567128136:399000 -1567296600:400500 -1567482630:402000 -1567671945:403500 -1567828904:405000 -1568061755:406500 -1568241437:408000 -1568413206:409500 -1568589427:411000 -1568777072:412500 -1568950797:414000 -1569140033:415500 -1569321139:417000 -1569497726:418500 -1569685524:420000 -1569858754:421500 -1570025222:423000 -1570195891:424500 -1570412169:426000 -1570568122:427500 -1570772965:429000 -1570968490:430500 -1571107236:432000 -1571359933:433500 -1571520970:435000 -1571737619:436500 -1571890574:438000 -1572104152:439500 -1572299391:441000 -1572483040:442500 -1572663772:444000 -1572839626:445500 -1573049256:447000 -1573229282:448500 -1573407580:450000 -1573589178:451500 -1573735333:453000 -1573840717:454500 -1574096272:456000 -1574280161:457500 -1574455892:459000 -1574604632:460500 -1574809987:462000 -1574975801:463500 -1575140569:465000 -1575422392:466500 -1575583824:468000 -1575763253:469500 -1575944350:471000 -1576125074:472500 -1576324269:474000 -1576508865:475500 -1576669612:477000 -1576891906:478500 -1577078563:480000 -1577265105:481500 -1577431370:483000 -1577744409:484500 -1577874268:486000 -1578038130:487500 -1578231375:489000 -1578439644:490500 -1578625982:492000 -1578808598:493500 -1578985283:495000 -1579175621:496500 -1579347774:498000 -1579517894:499500 -1579687667:501000 -1579868646:502500 -1580046838:504000 -1580240961:505500 -1580428207:507000 -1580572904:508500 -1580823996:510000 -1580994064:511500 -1581183924:513000 -1581351893:514500 -1581521085:516000 -1581702405:517500 -1581943619:519000 -1582098842:520500 -1582299537:522000 -1582480013:523500 -1582659742:525000 -1582839127:526500 -1583020057:528000 -1583266489:529500 -1583429819:531000 -1583615548:532500 -1583785190:534000 -1584011766:535500 -1584192961:537000 -1584342104:538500 -1584521327:540000 -1584706894:541500 -1584883565:543000 -1585062315:544500 -1585244138:546000 -1585427591:547500 -1585600165:549000 -1585784601:550500 -1585961031:552000 -1586147565:553500 -1586322716:555000 -1586513730:556500 -1586698639:558000 -1586878453:559500 -1587062131:561000 -1587234968:562500 -1587391529:564000 -1587591247:565500 -1587752262:567000 -1587969335:568500 -1588148503:570000 -1588405392:571500 -1588593609:573000 -1588778703:574500 -1588949467:576000 -1589172941:577500 -1589358899:579000 -1589536247:580500 -1589730950:582000 -1589882572:583500 -1590062931:585000 -1590237283:586500 -1590430792:588000 -1590599140:589500 -1590807968:591000 -1590987339:592500 -1591166304:594000 -1591348974:595500 -1591542069:597000 -1591723208:598500 -1591908870:600000 -1592060567:601500 -1592259549:603000 -1592465269:604500 -1592647205:606000 -1592828242:607500 -1593006687:609000 -1593201658:610500 -1593492855:612000 -1593636856:613500 -1593811224:615000 -1594004429:616500 -1594162422:618000 -1594348191:619500 -1594523256:621000 -1594685351:622500 -1594890677:624000 -1595073577:625500 -1595269373:627000 -1595477524:628500 -1595668392:630000 -1595867552:631500 -1596043173:633000 -1596209876:634500 -1596419711:636000 -1596600935:637500 -1596770710:639000 -1596979435:640500 -1597172685:642000 -1597347250:643500 -1597508807:645000 -1597698614:646500 -1597871525:648000 -1598058524:649500 -1598368966:651000 -1598552832:652500 -1598715002:654000 -1598902853:655500 -1599078705:657000 -1599253008:658500 -1599430407:660000 -1599636188:661500 -1599809533:663000 -1600001474:664500 diff --git a/src/assets/restore_heights_wownero_mainnet.txt b/src/assets/restore_heights_wownero_mainnet.txt new file mode 100644 index 00000000..c74c02e8 --- /dev/null +++ b/src/assets/restore_heights_wownero_mainnet.txt @@ -0,0 +1,170 @@ +1522624244:1 +1522919763:1500 +1523409727:3000 +1523960364:4500 +1524369547:6000 +1524784400:7500 +1525233663:9000 +1525687037:10500 +1526135584:12000 +1526578718:13500 +1527063859:15000 +1527518523:16500 +1527977555:18000 +1528436212:19500 +1528893646:21000 +1529347707:22500 +1529812899:24000 +1530272289:25500 +1530735091:27000 +1531195321:28500 +1531660804:30000 +1532117133:31500 +1532568099:33000 +1533015693:34500 +1533470854:36000 +1533923432:37500 +1534374443:39000 +1534823621:40500 +1535290349:42000 +1535735446:43500 +1536201310:45000 +1536655339:46500 +1537109771:48000 +1537565159:49500 +1538015344:51000 +1538470517:52500 +1538927269:54000 +1539379855:55500 +1539826869:57000 +1540311781:58500 +1540788117:60000 +1541297876:61500 +1541794302:63000 +1542407858:64500 +1543204218:66000 +1543955252:67500 +1544703247:69000 +1545372024:70500 +1546002226:72000 +1546636335:73500 +1547342810:75000 +1548268561:76500 +1548921502:78000 +1549481994:79500 +1550247894:81000 +1550743647:82500 +1551184199:84000 +1551626083:85500 +1552086272:87000 +1552546202:88500 +1552994646:90000 +1553451645:91500 +1553898976:93000 +1554352300:94500 +1554801655:96000 +1555254551:97500 +1555700170:99000 +1556151520:100500 +1556602014:102000 +1557057709:103500 +1557508808:105000 +1557961787:106500 +1558413175:108000 +1558860703:109500 +1559310651:111000 +1559759587:112500 +1560207825:114000 +1560635185:115500 +1561076902:117000 +1561514633:118500 +1561983210:120000 +1562435722:121500 +1562903313:123000 +1563367656:124500 +1563794760:126000 +1564249987:127500 +1564698967:129000 +1565154467:130500 +1565606876:132000 +1566053072:133500 +1566496455:135000 +1566940483:136500 +1567391114:138000 +1567840593:139500 +1568290979:141000 +1568739494:142500 +1569196321:144000 +1569643702:145500 +1570095074:147000 +1570533207:148500 +1570991907:150000 +1571447301:151500 +1571895478:153000 +1572343106:154500 +1572791579:156000 +1573241814:157500 +1573692641:159000 +1574137867:160500 +1574600312:162000 +1575051207:163500 +1575500955:165000 +1575953057:166500 +1576401859:168000 +1576850419:169500 +1577301553:171000 +1577753392:172500 +1578199780:174000 +1578655276:175500 +1579104342:177000 +1579549362:178500 +1580004525:180000 +1580451365:181500 +1580900062:183000 +1581350016:184500 +1581795609:186000 +1582251322:187500 +1582703447:189000 +1583152160:190500 +1583601824:192000 +1584051198:193500 +1584499159:195000 +1584949547:196500 +1585404000:198000 +1585843662:199500 +1586292852:201000 +1586738236:202500 +1587201986:204000 +1587663936:205500 +1588119101:207000 +1588586510:208500 +1589057972:210000 +1589520509:211500 +1589974638:213000 +1590425544:214500 +1590876865:216000 +1591326399:217500 +1591759684:219000 +1592226165:220500 +1592681388:222000 +1593141896:223500 +1593595859:225000 +1594048319:226500 +1594489197:228000 +1594955184:229500 +1595408732:231000 +1595854685:232500 +1596303095:234000 +1596732814:235500 +1597198383:237000 +1597650820:238500 +1598099448:240000 +1598553007:241500 +1599004645:243000 +1599459515:244500 +1599914532:246000 +1600357718:247500 +1600811447:249000 +1601257433:250500 +1601710572:252000 +1602154921:253500 \ No newline at end of file diff --git a/src/calcwidget.cpp b/src/calcwidget.cpp index 93bd7b97..9274813f 100644 --- a/src/calcwidget.cpp +++ b/src/calcwidget.cpp @@ -123,7 +123,7 @@ void CalcWidget::initComboBox() { ui->comboCalcFrom->addItems(marketsKeys); ui->comboCalcFrom->insertSeparator(marketsKeys.count()); ui->comboCalcFrom->addItems(ratesKeys); - ui->comboCalcFrom->setCurrentIndex(marketsKeys.indexOf("XMR")); + ui->comboCalcFrom->setCurrentIndex(marketsKeys.indexOf("WOW")); ui->comboCalcTo->addItems(marketsKeys); ui->comboCalcTo->insertSeparator(marketsKeys.count()); diff --git a/src/dialog/aboutdialog.cpp b/src/dialog/aboutdialog.cpp index 671d8f28..0d443c13 100644 --- a/src/dialog/aboutdialog.cpp +++ b/src/dialog/aboutdialog.cpp @@ -12,8 +12,8 @@ AboutDialog::AboutDialog(QWidget *parent) { ui->setupUi(this); this->setWindowIcon(QIcon("://assets/images/appicons/64x64.png")); - // cute fox (c) Diego "rehrar" Salazar :-D - QPixmap p(":assets/images/cutexmrfox.png"); + + QPixmap p(":assets/images/photos/illiterate_illuminati.png"); ui->aboutImage->setPixmap(p.scaled(128, 128, Qt::KeepAspectRatio, Qt::SmoothTransformation)); auto about = Utils::fileOpenQRC(":assets/about.txt"); auto about_text = Utils::barrayToString(about); diff --git a/src/dialog/aboutdialog.ui b/src/dialog/aboutdialog.ui index 84f2a76c..0cf2e410 100644 --- a/src/dialog/aboutdialog.ui +++ b/src/dialog/aboutdialog.ui @@ -43,7 +43,7 @@ - a free, open-source Monero wallet + a free, open-source Wownero wallet Qt::AlignCenter diff --git a/src/dialog/debuginfodialog.cpp b/src/dialog/debuginfodialog.cpp index e9b5addd..b8df6686 100644 --- a/src/dialog/debuginfodialog.cpp +++ b/src/dialog/debuginfodialog.cpp @@ -90,7 +90,7 @@ void DebugInfoDialog::copyToClipboad() { // Two spaces at the end of each line are for newlines in Markdown QString text = ""; text += QString("Feather version: %1 \n").arg(ui->label_featherVersion->text()); - text += QString("Monero 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("Daemon height: %1 \n").arg(ui->label_daemonHeight->text()); diff --git a/src/dialog/debuginfodialog.ui b/src/dialog/debuginfodialog.ui index 9348dbae..604d9c10 100644 --- a/src/dialog/debuginfodialog.ui +++ b/src/dialog/debuginfodialog.ui @@ -36,7 +36,7 @@ - Monero version: + Wownero version: diff --git a/src/dialog/outputinfodialog.cpp b/src/dialog/outputinfodialog.cpp index 26895bdc..456252bf 100644 --- a/src/dialog/outputinfodialog.cpp +++ b/src/dialog/outputinfodialog.cpp @@ -25,7 +25,7 @@ OutputInfoDialog::OutputInfoDialog(CoinsInfo *cInfo, QWidget *parent) QString status = cInfo->spent() ? "spent" : (cInfo->frozen() ? "frozen" : "unspent"); ui->label_status->setText(status); - ui->label_amount->setText(QString("%1 XMR").arg(cInfo->displayAmount())); + ui->label_amount->setText(QString("%1 WOW").arg(cInfo->displayAmount())); ui->label_creationHeight->setText(QString::number(cInfo->blockHeight())); ui->label_globalIndex->setText(QString::number(cInfo->globalOutputIndex())); ui->label_internalIndex->setText(QString::number(cInfo->internalOutputIndex())); diff --git a/src/dialog/txconfdialog.cpp b/src/dialog/txconfdialog.cpp index 9c5e3e57..be643748 100644 --- a/src/dialog/txconfdialog.cpp +++ b/src/dialog/txconfdialog.cpp @@ -26,7 +26,7 @@ TxConfDialog::TxConfDialog(AppContext *ctx, PendingTransaction *tx, const QStrin QString preferredCur = config()->get(Config::preferredFiatCurrency).toString(); auto convert = [preferredCur](double amount){ - return QString::number(AppContext::prices->convert("XMR", preferredCur, amount), 'f', 2); + return QString::number(AppContext::prices->convert("WOW", preferredCur, amount), 'f', 2); }; QString amount = WalletManager::displayAmount(tx->amount()); diff --git a/src/dialog/verifyproofdialog.cpp b/src/dialog/verifyproofdialog.cpp index 0bb5a6ae..1211c706 100644 --- a/src/dialog/verifyproofdialog.cpp +++ b/src/dialog/verifyproofdialog.cpp @@ -93,6 +93,6 @@ void VerifyProofDialog::checkTxProof(const QString &txId, const QString &address return; } - QString msg = QString("This address received %1 monero, with %2 confirmation(s)").arg(WalletManager::displayAmount(r.received), QString::number(r.confirmations)); + QString msg = QString("This address received %1 wownero, with %2 confirmation(s)").arg(WalletManager::displayAmount(r.received), QString::number(r.confirmations)); QMessageBox::information(this, "Information", QString("Proof is valid.\n\n%1").arg(msg)); } \ No newline at end of file diff --git a/src/globals.h b/src/globals.h index 3755e54f..03ef6b02 100644 --- a/src/globals.h +++ b/src/globals.h @@ -8,7 +8,7 @@ namespace globals { - const qreal cdiv = 1e12; + const qreal cdiv = 1e11; } #endif //FEATHER_GLOBALS_H diff --git a/src/libwalletqt/TransactionInfo.cpp b/src/libwalletqt/TransactionInfo.cpp index f7ad540e..890c16fd 100644 --- a/src/libwalletqt/TransactionInfo.cpp +++ b/src/libwalletqt/TransactionInfo.cpp @@ -91,7 +91,7 @@ quint64 TransactionInfo::confirmations() const quint64 TransactionInfo::confirmationsRequired() const { - return (m_blockHeight < m_unlockTime) ? m_unlockTime - m_blockHeight : 10; + return (m_blockHeight < m_unlockTime) ? m_unlockTime - m_blockHeight : 4; } quint64 TransactionInfo::unlockTime() const diff --git a/src/libwalletqt/Wallet.cpp b/src/libwalletqt/Wallet.cpp index 3cbefcbc..052e6267 100644 --- a/src/libwalletqt/Wallet.cpp +++ b/src/libwalletqt/Wallet.cpp @@ -444,20 +444,28 @@ quint64 Wallet::daemonBlockChainTargetHeight() const bool Wallet::exportKeyImages(const QString& path, bool all) { - return m_walletImpl->exportKeyImages(path.toStdString(), all); + // @TODO: remove after WOW 0.9.0.2 tagged + feather libwallet patch + //return m_walletImpl->exportKeyImages(path.toStdString(), all); + return false; } bool Wallet::importKeyImages(const QString& path) { - return m_walletImpl->importKeyImages(path.toStdString()); + // @TODO: remove after WOW 0.9.0.2 tagged + feather libwallet patch + //return m_walletImpl->importKeyImages(path.toStdString()); + return false; } bool Wallet::exportOutputs(const QString& path, bool all) { - return m_walletImpl->exportOutputs(path.toStdString(), all); + // @TODO: remove after WOW 0.9.0.2 tagged + feather libwallet patch + //return m_walletImpl->exportOutputs(path.toStdString(), all); + return false; } bool Wallet::importOutputs(const QString& path) { - return m_walletImpl->importOutputs(path.toStdString()); + // @TODO: remove after WOW 0.9.0.2 tagged + feather libwallet patch + // return m_walletImpl->importOutputs(path.toStdString()); + return false; } bool Wallet::importTransaction(const QString& txid, const QVector& output_indeces, quint64 height, quint64 timestamp, bool miner_tx, bool pool, bool double_spend_seen) { diff --git a/src/main.cpp b/src/main.cpp index e3d56bae..1b555915 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -41,7 +41,7 @@ if (AttachConsole(ATTACH_PARENT_PROCESS)) { } QCommandLineParser parser; - parser.setApplicationDescription("feather"); + parser.setApplicationDescription("feather-wow"); parser.addHelpOption(); parser.addVersionOption(); @@ -57,11 +57,11 @@ if (AttachConsole(ATTACH_PARENT_PROCESS)) { QCommandLineOption quietModeOption(QStringList() << "quiet", "Limit console output"); parser.addOption(quietModeOption); - QCommandLineOption stagenetOption(QStringList() << "stagenet", "Stagenet is for development purposes only."); - parser.addOption(stagenetOption); - - QCommandLineOption testnetOption(QStringList() << "testnet", "Testnet is for development purposes only."); - parser.addOption(testnetOption); +// QCommandLineOption stagenetOption(QStringList() << "stagenet", "Stagenet is for development purposes only."); +// parser.addOption(stagenetOption); +// +// QCommandLineOption testnetOption(QStringList() << "testnet", "Testnet is for development purposes only."); +// parser.addOption(testnetOption); QCommandLineOption walletPathOption(QStringList() << "wallet-file", "Path to wallet keys file.", "file"); parser.addOption(walletPathOption); @@ -87,8 +87,8 @@ if (AttachConsole(ATTACH_PARENT_PROCESS)) { const QStringList args = parser.positionalArguments(); bool debugMode = parser.isSet(debugModeOption); bool localTor = parser.isSet(useLocalTorOption); - bool stagenet = parser.isSet(stagenetOption); - bool testnet = parser.isSet(testnetOption); + bool stagenet = false; + bool testnet = false; bool quiet = parser.isSet(quietModeOption); bool exportContacts = parser.isSet(exportContactsOption); bool exportTxHistory = parser.isSet(exportTxHistoryOption); @@ -96,7 +96,7 @@ if (AttachConsole(ATTACH_PARENT_PROCESS)) { if(cliMode) { QCoreApplication cli_app(argc, argv); - QCoreApplication::setApplicationName("feather"); + QCoreApplication::setApplicationName("feather-wow"); QCoreApplication::setOrganizationDomain("featherwallet.org"); QCoreApplication::setOrganizationName("featherwallet.org"); @@ -129,7 +129,7 @@ if (AttachConsole(ATTACH_PARENT_PROCESS)) { QApplication app(argc, argv); - QApplication::setApplicationName("feather"); + QApplication::setApplicationName("feather-wow"); QApplication::setOrganizationDomain("featherwallet.org"); QApplication::setOrganizationName("featherwallet.org"); @@ -138,7 +138,7 @@ if (AttachConsole(ATTACH_PARENT_PROCESS)) { if(!quiet) { QMap info; info["Qt"] = QT_VERSION_STR; - info["Feather"] = FEATHER_VERSION; + info["Feather-WOW"] = FEATHER_VERSION; if (stagenet) info["Mode"] = "Stagenet"; else if (testnet) info["Mode"] = "Testnet"; else info["Mode"] = "Mainnet"; diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 8df08886..5d012230 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -88,7 +88,7 @@ MainWindow::MainWindow(AppContext *ctx, QWidget *parent) : connect(ui->actionReport_bug, &QAction::triggered, [this](){ QMessageBox::information(this, "Reporting Bugs", "Please report any bugs as issues on our git repo:
\n" - "https://git.wownero.com/feather/feather/issues

" + "https://git.wownero.com/feather/feather-wow/issues

" "\n" "Before reporting a bug, upgrade to the most recent version of Feather " "(latest release or git HEAD), and include the version number in your report. " @@ -106,7 +106,7 @@ MainWindow::MainWindow(AppContext *ctx, QWidget *parent) : m_trayActionCalc->setStatusTip("Calculator"); m_trayActionSend = new QAction("Send", this); - m_trayActionSend->setStatusTip("Send XMR payment"); + m_trayActionSend->setStatusTip("Send WOW payment"); m_trayActionHistory = new QAction("History", this); m_trayActionHistory->setStatusTip("View incoming transfers"); @@ -128,13 +128,13 @@ MainWindow::MainWindow(AppContext *ctx, QWidget *parent) : #endif // ticker widgets - m_tickerWidgets.append(new TickerWidget(this, "XMR")); + m_tickerWidgets.append(new TickerWidget(this, "WOW")); m_tickerWidgets.append(new TickerWidget(this, "BTC")); for(auto tickerWidget: m_tickerWidgets) { ui->tickerLayout->addWidget(tickerWidget); } - m_balanceWidget = new TickerWidget(this, "XMR", "Balance", true, true); + m_balanceWidget = new TickerWidget(this, "WOW", "Balance", true, true); ui->fiatTickerLayout->addWidget(m_balanceWidget); // Send widget @@ -462,7 +462,7 @@ void MainWindow::initMenu() { if(targetDir.isEmpty()) return; qint64 now = QDateTime::currentDateTime().currentMSecsSinceEpoch(); - QString fn = QString("%1/monero-contacts_%2.csv").arg(targetDir, QString::number(now / 1000)); + QString fn = QString("%1/wownero-contacts_%2.csv").arg(targetDir, QString::number(now / 1000)); if(model->writeCSV(fn)) QMessageBox::information(this, "Address book exported", QString("Address book exported to %1").arg(fn)); }); @@ -625,9 +625,9 @@ void MainWindow::onBalanceUpdated(quint64 balance, quint64 spendable) { qDebug() << Q_FUNC_INFO; bool hide = config()->get(Config::hideBalance).toBool(); - QString label_str = QString("Balance: %1 XMR").arg(Utils::balanceFormat(spendable)); + QString label_str = QString("Balance: %1 WOW").arg(Utils::balanceFormat(spendable)); if (balance > spendable) - label_str += QString(" (+%1 XMR unconfirmed)").arg(Utils::balanceFormat(balance - spendable)); + label_str += QString(" (+%1 WOW unconfirmed)").arg(Utils::balanceFormat(balance - spendable)); if (hide) label_str = "Balance: HIDDEN"; @@ -811,7 +811,8 @@ void MainWindow::create_status_bar() { this->statusBar()->addWidget(m_statusLabelNetStats); m_statusLabelBalance = new ClickableLabel(this); - m_statusLabelBalance->setText("Balance: 0 XMR"); + m_statusLabelBalance->setText("Balance: 0 WOW"); + m_statusLabelBalance->setTextInteractionFlags(Qt::TextSelectableByMouse); this->statusBar()->addPermanentWidget(m_statusLabelBalance); connect(m_statusLabelBalance, &ClickableLabel::clicked, this, &MainWindow::showBalanceDialog); @@ -1023,7 +1024,7 @@ void MainWindow::closeEvent(QCloseEvent *event) { } void MainWindow::donateButtonClicked() { - double donation = AppContext::prices->convert("EUR", "XMR", m_ctx->donationAmount); + double donation = AppContext::prices->convert("EUR", "WOW", m_ctx->donationAmount); if (donation <= 0) donation = 0.1337; diff --git a/src/sendwidget.cpp b/src/sendwidget.cpp index fc4e04a1..90f8b81b 100644 --- a/src/sendwidget.cpp +++ b/src/sendwidget.cpp @@ -145,7 +145,7 @@ void SendWidget::sendClicked() { } quint64 amount; - if (currency == "XMR") { + if (currency == "WOW") { amount = this->amount(); bool sendAll = (ui->lineAmount->text() == "all"); if (amount == 0 && !sendAll) { @@ -190,12 +190,12 @@ void SendWidget::updateConversionLabel() { QString conversionAmountStr = [this]{ QString currency = ui->comboCurrencySelection->currentText(); - if (currency != "XMR") { - return QString("~%1 XMR").arg(QString::number(this->conversionAmount(), 'f')); + if (currency != "WOW") { + return QString("~%1 WOW").arg(QString::number(this->conversionAmount(), 'f')); } else { auto preferredFiatCurrency = config()->get(Config::preferredFiatCurrency).toString(); - double conversionAmount = AppContext::prices->convert("XMR", preferredFiatCurrency, this->amountDouble()); + double conversionAmount = AppContext::prices->convert("WOW", preferredFiatCurrency, this->amountDouble()); return QString("~%1 %2").arg(QString::number(conversionAmount, 'f', 2), preferredFiatCurrency); } }(); diff --git a/src/settings.ui b/src/settings.ui index 9f0fb4b7..2df0bc71 100644 --- a/src/settings.ui +++ b/src/settings.ui @@ -141,17 +141,7 @@ - exploremonero.com - - - - - xmrchain.net - - - - - moneroblocks.info + explore.wownero.com diff --git a/src/utils/config.cpp b/src/utils/config.cpp index 60b7c646..4e3b490f 100644 --- a/src/utils/config.cpp +++ b/src/utils/config.cpp @@ -26,12 +26,12 @@ static const QHash configStrings = { {Config::donateBeg,{QS("donateBeg"), 1}}, {Config::skin,{QS("skin"), "light"}}, {Config::preferredFiatCurrency,{QS("preferredFiatCurrency"), "USD"}}, - {Config::blockExplorer,{QS("blockExplorer"), "exploremonero.com"}}, + {Config::blockExplorer,{QS("blockExplorer"), "explore.wownero.com"}}, {Config::walletDirectory,{QS("walletDirectory"), ""}}, {Config::autoOpenWalletPath,{QS("autoOpenWalletPath"), ""}}, {Config::walletPath,{QS("walletPath"), ""}}, {Config::xmrigPath,{QS("xmrigPath"), ""}}, - {Config::xmrigPool,{QS("xmrigPool"), "pool.xmr.pt:9000"}}, + {Config::xmrigPool,{QS("xmrigPool"), "cryptonote.social:2223"}}, {Config::nodes,{QS("nodes"), "{}"}}, {Config::websocketEnabled,{QS("websocketEnabled"), true}}, {Config::nodeSource,{QS("nodeSource"), 0}}, @@ -113,7 +113,7 @@ Config::Config(QObject* parent) QString appImagePath = qgetenv("APPIMAGE"); QFileInfo appImageDir(appImagePath); - QDir portablePath(appImageDir.absoluteDir().path() + "/.feather"); + QDir portablePath(appImageDir.absoluteDir().path() + "/.feather-wow"); if (portablePath.mkpath(".")) { configPath = portablePath.path(); } @@ -122,7 +122,7 @@ Config::Config(QObject* parent) } } - configPath += "/.config/feather/settings.json"; + configPath += "/.config/feather-wow/settings.json"; init(QDir::toNativeSeparators(configPath)); } @@ -148,4 +148,4 @@ Config* Config::instance() } return m_instance; -} \ No newline at end of file +} diff --git a/src/utils/utils.cpp b/src/utils/utils.cpp index 6be4201f..d5afc8fc 100644 --- a/src/utils/utils.cpp +++ b/src/utils/utils.cpp @@ -233,32 +233,7 @@ QString Utils::copyFromClipboard() { } QString Utils::blockExplorerLink(const QString &blockExplorer, NetworkType::Type nettype, const QString &txid) { - if (blockExplorer == "exploremonero.com") { - if (nettype == NetworkType::MAINNET) { - return QString("https://exploremonero.com/transaction/%1").arg(txid); - } - } - else if (blockExplorer == "moneroblocks.info") { - if (nettype == NetworkType::MAINNET) { - return QString("https://moneroblocks.info/tx/%1").arg(txid); - } - } - else if (blockExplorer == "blockchair.com") { - if (nettype == NetworkType::MAINNET) { - return QString("https://blockchair.com/monero/transaction/%1").arg(txid); - } - } - - switch (nettype) { - case NetworkType::MAINNET: - return QString("https://xmrchain.net/tx/%1").arg(txid); - case NetworkType::STAGENET: - return QString("https://stagenet.xmrchain.net/tx/%1").arg(txid); - case NetworkType::TESTNET: - return QString("https://testnet.xmrchain.net/tx/%1").arg(txid); - } - - return QString(""); + return QString("https://explore.wownero.com/tx/%1").arg(txid); } QStandardItem *Utils::qStandardItem(const QString& text) { @@ -286,11 +261,11 @@ QString Utils::getUnixAccountName() { QString Utils::xdgDesktopEntry(){ return QString( "[Desktop Entry]\n" - "Name=Feather\n" - "GenericName=Feather\n" - "X-GNOME-FullName=Feather\n" - "Comment=a free Monero desktop wallet\n" - "Keywords=Monero;\n" + "Name=Feather-WOW\n" + "GenericName=Feather-WOW\n" + "X-GNOME-FullName=Feather-WOW\n" + "Comment=a free Wownero desktop wallet\n" + "Keywords=Wownero;\n" "Exec=\"%1\" %u\n" "Terminal=false\n" "Type=Application\n" diff --git a/src/utils/utils.h b/src/utils/utils.h index b0b42944..3338c197 100644 --- a/src/utils/utils.h +++ b/src/utils/utils.h @@ -33,8 +33,8 @@ struct xdgDesktopEntryPaths { }; const xdgDesktopEntryPaths xdgPaths = { - QString("%1/feather.desktop").arg(QStandardPaths::writableLocation(QStandardPaths::ApplicationsLocation)), - QString("%1/.local/share/icons/feather.png").arg(QDir::homePath()), + QString("%1/feather-wow.desktop").arg(QStandardPaths::writableLocation(QStandardPaths::ApplicationsLocation)), + QString("%1/.local/share/icons/wownero.png").arg(QDir::homePath()), QString("/") }; diff --git a/src/utils/xmrig.cpp b/src/utils/xmrig.cpp index f6eb5e42..4cdb7093 100644 --- a/src/utils/xmrig.cpp +++ b/src/utils/xmrig.cpp @@ -54,7 +54,7 @@ void XmRig::start(const QString &path, QStringList arguments; arguments << "-o" << address; - arguments << "-a" << "rx/0"; + arguments << "-a" << "rx/wow"; arguments << "-u" << username; if(!password.isEmpty()) arguments << "-p" << password; diff --git a/src/widgets/ccsprogressdelegate.cpp b/src/widgets/ccsprogressdelegate.cpp index 51044acf..2431989d 100644 --- a/src/widgets/ccsprogressdelegate.cpp +++ b/src/widgets/ccsprogressdelegate.cpp @@ -31,7 +31,7 @@ void CCSProgressDelegate::paint(QPainter *painter, const QStyleOptionViewItem &o progressBarOption.textVisible = true; QSharedPointer entry = m_model->entry(index.row()); - auto target = QString("%1/%2 XMR").arg(entry->raised_amount).arg(entry->target_amount); + auto target = QString("%1/%2 WOW").arg(entry->raised_amount).arg(entry->target_amount); auto progress = (int)entry->percentage_funded; progressBarOption.progress = progress < 0 ? 0 : progress; progressBarOption.text = target; diff --git a/src/widgets/restoreheightwidget.ui b/src/widgets/restoreheightwidget.ui index 00cb7d37..70c4553c 100644 --- a/src/widgets/restoreheightwidget.ui +++ b/src/widgets/restoreheightwidget.ui @@ -53,7 +53,7 @@ - 2014-04-18 + 2018-04-1 Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter diff --git a/src/widgets/xmrigwidget.cpp b/src/widgets/xmrigwidget.cpp index 77537940..e1b131c6 100644 --- a/src/widgets/xmrigwidget.cpp +++ b/src/widgets/xmrigwidget.cpp @@ -20,7 +20,7 @@ XMRigWidget::XMRigWidget(AppContext *ctx, QWidget *parent) : { ui->setupUi(this); - QPixmap p(":assets/images/xmrig.svg"); + QPixmap p(":assets/images/mining.png"); ui->lbl_logo->setPixmap(p.scaled(64, 64, Qt::KeepAspectRatio, Qt::SmoothTransformation)); // table @@ -167,6 +167,7 @@ void XMRigWidget::onStartClicked() { } m_ctx->XMRig->start(xmrigPath, m_threads, address, username, password, ui->relayTor->isChecked(), ui->check_tls->isChecked()); + ui->btn_start->setEnabled(false); ui->btn_stop->setEnabled(true); emit miningStarted(); diff --git a/src/widgets/xmrigwidget.h b/src/widgets/xmrigwidget.h index ef79b5c5..59eeeafd 100644 --- a/src/widgets/xmrigwidget.h +++ b/src/widgets/xmrigwidget.h @@ -56,7 +56,7 @@ private: QMenu *m_contextMenu; int m_threads; QStringList m_urls; - QStringList m_pools{"pool.xmr.pt:9000", "pool.supportxmr.com:9000", "mine.xmrpool.net:443", "xmrpool.eu:9999", "xmr-eu1.nanopool.org:14433", "pool.minexmr.com:6666", "us-west.minexmr.com:6666", "monerohash.com:9999", "cryptonote.social:5555", "cryptonote.social:5556"}; + QStringList m_pools{"cryptonote.social:2223", "pool.hashvault.pro:8888"}; }; #endif // REDDITWIDGET_H diff --git a/src/wizard/menu.cpp b/src/wizard/menu.cpp index 9daefeaf..091ae873 100644 --- a/src/wizard/menu.cpp +++ b/src/wizard/menu.cpp @@ -14,6 +14,7 @@ MenuPage::MenuPage(AppContext *ctx, WalletKeysFilesModel *wallets, QWidget *pare , m_walletKeysFilesModel(wallets) { ui->setupUi(this); + this->setTitle("Welcome to feather-WOW"); this->setButtonText(QWizard::FinishButton, "Open recent wallet"); } diff --git a/src/wizard/menu.ui b/src/wizard/menu.ui index a45d1ee0..e2cce3de 100644 --- a/src/wizard/menu.ui +++ b/src/wizard/menu.ui @@ -90,16 +90,6 @@ - - - - false - - - banner: themonera.art - - - diff --git a/src/wizard/network.cpp b/src/wizard/network.cpp index 53ffa0d6..043d7943 100644 --- a/src/wizard/network.cpp +++ b/src/wizard/network.cpp @@ -11,11 +11,11 @@ NetworkPage::NetworkPage(AppContext *ctx, QWidget *parent) : ui(new Ui::NetworkPage), m_ctx(ctx) { ui->setupUi(this); - this->setTitle("Welcome to Feather!"); + this->setTitle("Welcome to Feather-WO!W"); ui->customFrame->hide(); - QPixmap p(":assets/images/feather.png"); + QPixmap p(":assets/images/feather-wow.png"); ui->featherImage->setText(""); ui->featherImage->setPixmap(p.scaled(128, 128, Qt::KeepAspectRatio, Qt::SmoothTransformation)); ui->label_eg->setText("Examples:\n- http://127.0.0.1:18089\n- my.node.com\n- my.node.com:18089\n- user:pass@my.node.com:18089"); diff --git a/src/wizard/network.ui b/src/wizard/network.ui index 62a5460a..f91771a8 100644 --- a/src/wizard/network.ui +++ b/src/wizard/network.ui @@ -17,7 +17,7 @@ - How would you like to connect to the Monero network? + How would you like to connect to the Wownero network? true @@ -204,7 +204,7 @@ - Automatically connect to a remote node, hosted by the feather team and various trusted Monero community members. These nodes are provided as "best effort". + Automatically connect to a remote node, hosted by the feather team and various trusted Wownero community members. These nodes are provided as "best effort". true diff --git a/src/wizard/walletwizard.cpp b/src/wizard/walletwizard.cpp index 63b02199..e47d7869 100644 --- a/src/wizard/walletwizard.cpp +++ b/src/wizard/walletwizard.cpp @@ -19,7 +19,7 @@ WalletWizard::WalletWizard(AppContext *ctx, WalletWizard::Page startPage, QWidge : QWizard(parent) , m_ctx(ctx) { - this->setWindowTitle("Welcome to Feather Wallet"); + this->setWindowTitle("Welcome to Feather-WOW"); this->setWindowIcon(QIcon(":/assets/images/appicons/64x64.png")); m_walletKeysFilesModel = new WalletKeysFilesModel(m_ctx, this); diff --git a/src/xmrtowidget.cpp b/src/xmrtowidget.cpp new file mode 100644 index 00000000..0404706c --- /dev/null +++ b/src/xmrtowidget.cpp @@ -0,0 +1,193 @@ +// SPDX-License-Identifier: BSD-3-Clause +// Copyright (c) 2020-2021, The Monero Project. + +#include "xmrtowidget.h" +#include "ui_xmrtowidget.h" +#include "dialog/xmrtoinfodialog.h" +#include "mainwindow.h" +#include "globals.h" + +#include + +XMRToWidget::XMRToWidget(QWidget *parent) : + QWidget(parent), + ui(new Ui::XMRToWidget) +{ + ui->setupUi(this); + m_ctx = MainWindow::getContext(); + + QString amount_rx = R"(^\d*\.\d*$)"; + QRegExp rx; + rx.setPattern(amount_rx); + QValidator *validator = new QRegExpValidator(rx, this); + ui->lineAmount->setValidator(validator); + + // xmrto logo (c) binaryFate et. al. :-D + QPixmap p(":assets/images/xmrto_big.png"); + ui->logo->setPixmap(p.scaled(112, 32, Qt::KeepAspectRatio, Qt::SmoothTransformation)); + + ui->ratesLayout->hide(); + + // context menu + m_contextMenu = new QMenu(); + m_showDetailsAction = m_contextMenu->addAction("Details"); + m_viewOnXmrToAction = m_contextMenu->addAction("View order on XMR.to"); + m_viewOnXmrToAction->setIcon(QIcon(":/assets/images/xmrto.png")); + connect(m_showDetailsAction, &QAction::triggered, this, &XMRToWidget::showInfoDialog); + connect(m_viewOnXmrToAction, &QAction::triggered, [&](){ + QModelIndex index = ui->historyTable->currentIndex(); + XmrToOrder *order = this->tableModel->orders->at(index.row()); + emit viewOrder(order->uuid); + }); + + // connects + connect(ui->btnGetRates, &QPushButton::pressed, this, &XMRToWidget::onGetRates); + connect(ui->lineAmount, &QLineEdit::textChanged, this, &XMRToWidget::updateConversionLabel); + connect(ui->comboBox_currency, &QComboBox::currentTextChanged, this, &XMRToWidget::updateConversionLabel); + connect(ui->torCheckBox, &QCheckBox::stateChanged, this, &XMRToWidget::onTorCheckBoxToggled); + connect(ui->btnCreate, &QPushButton::clicked, this, &XMRToWidget::onCreateOrder); + + ui->historyTable->header()->setStretchLastSection(true); + ui->historyTable->header()->setSectionResizeMode(QHeaderView::ResizeToContents); + ui->historyTable->setSelectionBehavior(QAbstractItemView::SelectRows); + ui->historyTable->setContextMenuPolicy(Qt::CustomContextMenu); + connect(ui->historyTable, &QTreeView::customContextMenuRequested, [&](const QPoint & point){ + QModelIndex index = ui->historyTable->indexAt(point); + if (index.isValid()) { + m_contextMenu->popup(ui->historyTable->viewport()->mapToGlobal(point)); + } + }); + + if (m_ctx->isTails || m_ctx->isWhonix) { + ui->torCheckBox->setDisabled(true); + } + + connect(ui->historyTable, &QTreeView::doubleClicked, this, &XMRToWidget::showInfoDialog); +} + +void XMRToWidget::setHistoryModel(XmrToModel *model) { + this->tableModel = model; + this->ui->historyTable->setModel(model); +} + +void XMRToWidget::onBalanceUpdated(quint64 balance, quint64 spendable) { + this->m_unlockedBalance = spendable / globals::cdiv; +} + +void XMRToWidget::onWalletClosed() { + ui->lineAddress->clear(); + ui->lineAmount->clear(); + ui->xmrLabelEstimate->setText("0.00 XMR"); +} + +void XMRToWidget::onCreateOrder() { + // @TODO: regex verify + + auto amount = ui->lineAmount->text(); + if(amount.isEmpty()) { + QMessageBox::warning(this, "Cannot create XMR.To order", "Invalid amount"); + return; + } + + double amount_num = amount.toDouble(); + QString amount_cur = (ui->comboBox_currency->currentIndex() == curr::BTC) ? "BTC" : "XMR"; + double amount_xmr = amount_num; + if (ui->comboBox_currency->currentIndex() == curr::BTC) { + amount_xmr = AppContext::prices->convert("BTC", "XMR", amount_num); + } + + auto available = m_unlockedBalance; + if(amount_xmr > available){ + QMessageBox::warning(this, "Cannot create XMR.To order", "Not enough Wownero to create order."); + return; + } + + ui->btnGetRates->setEnabled(false); + ui->btnCreate->setEnabled(false); + + auto btc_address = ui->lineAddress->text(); + emit createOrder(amount_num, amount_cur, btc_address); + + QTimer::singleShot(2000, [=] { + ui->lineAmount->clear(); + ui->lineAddress->clear(); + ui->btnGetRates->setEnabled(true); + }); +} + +void XMRToWidget::onTorCheckBoxToggled(int state) { + ui->btnGetRates->setEnabled(true); + ui->btnCreate->setEnabled(false); + emit networkChanged(!state); +} + +void XMRToWidget::updateConversionLabel() { + QString amount = ui->lineAmount->text(); + + int curIndex = ui->comboBox_currency->currentIndex(); + QString symbolFrom = (curIndex == curr::XMR) ? "XMR" : "BTC"; + QString symbolTo = (curIndex == curr::XMR) ? "BTC" : "XMR"; + + if(amount.isEmpty()) { + ui->xmrLabelEstimate->setText(QString("0.00 %1").arg(symbolTo)); + return; + } + auto amount_num = amount.toDouble(); + auto amount_converted = AppContext::prices->convert(symbolFrom, symbolTo, amount_num); + auto amount_converted_str = QString::number(amount_converted, 'f', 2); + + auto fiat_cur = config()->get(Config::preferredFiatCurrency).toString(); + auto amount_fiat = AppContext::prices->convert(symbolFrom, fiat_cur, amount_num); + auto amount_fiat_str = QString::number(amount_fiat, 'f', 2); + + ui->xmrLabelEstimate->setText(QString("%1 %2, %3 %4").arg(amount_converted_str, symbolTo, amount_fiat_str, fiat_cur)); +} + +void XMRToWidget::onGetRates() { + ui->btnGetRates->setEnabled(false); + ui->btnCreate->setEnabled(false); + emit getRates(); +} + +void XMRToWidget::onConnectionError(QString msg) { + ui->btnGetRates->setEnabled(true); + ui->btnCreate->setEnabled(false); + msg = QString("%1\n\n%2").arg(msg).arg(m_regionBlockMessage); + QMessageBox::warning(this, "XMR.To Connection Error", msg); +} + +void XMRToWidget::onConnectionSuccess() { + ui->btnGetRates->setEnabled(true); + ui->btnCreate->setEnabled(true); +} + +void XMRToWidget::onRatesUpdated(XmrToRates rates) { + ui->label_rate->setText(QString("%1 BTC").arg(QString::number(rates.price))); + ui->label_minimum->setText(QString("%1 BTC").arg(QString::number(rates.lower_limit))); + ui->label_maximum->setText(QString("%1 BTC").arg(QString::number(rates.upper_limit))); + + if(!m_ratesDisplayed) { + ui->ratesLayout->setVisible(true); + m_ratesDisplayed = true; + } +} + +void XMRToWidget::onInitiateTransaction() { + ui->btnCreate->setEnabled(false); +} + +void XMRToWidget::onEndTransaction() { + ui->btnCreate->setEnabled(true); +} + +void XMRToWidget::showInfoDialog() { + QModelIndex index = ui->historyTable->currentIndex(); + XmrToOrder *order = this->tableModel->orders->at(index.row()); + auto *dialog = new XmrToInfoDialog(order, this); + dialog->exec(); + dialog->deleteLater(); +} + +XMRToWidget::~XMRToWidget() { + delete ui; +} diff --git a/utils/Info.plist b/utils/Info.plist index 00d39295..aa3a29ce 100644 --- a/utils/Info.plist +++ b/utils/Info.plist @@ -3,7 +3,7 @@ LSMinimumSystemVersion - 10.10.0 + 10.0.0 NSPrincipalClass NSApplication @@ -18,16 +18,16 @@ ???? CFBundleExecutable - feather + feather-wow CFBundleName - Feather + Feather-WOW NSHumanReadableCopyright Copyright © 2014-2021 The Monero Project CFBundleIdentifier - org.monero-project.feather + org.monero-project.feather-wow CFBundleVersion @VERSION_LONG@ @@ -42,18 +42,10 @@ CFBundleURLName - monero Handler + wownero Handler CFBundleURLSchemes - monero - - - - CFBundleURLName - moneroseed Handler - CFBundleURLSchemes - - moneroseed + wownero diff --git a/utils/build_macos.sh b/utils/build_macos.sh index bf589607..8114d3f5 100644 --- a/utils/build_macos.sh +++ b/utils/build_macos.sh @@ -6,20 +6,20 @@ echo "[+] hash: $HASH" export DRONE=true echo "[+] Building" -rm ~/feather.zip 2>&1 >/dev/null -cd ~/feather -git fetch --all +rm ~/feather-wow.zip 2>&1 >/dev/null +cd ~/feather-wow +git fetch git reset --hard "$HASH" git submodule update --init --depth 120 monero git submodule update --init --depth 120 --recursive monero -cp "/Users/administrator/tor/libevent-2.1.7.dylib" "/Users/administrator/feather/src/assets/exec/libevent-2.1.7.dylib" +cp "/Users/administrator/tor/libevent-2.1.7.dylib" "/Users/administrator/feather-wow/src/assets/exec/libevent-2.1.7.dylib" CMAKE_PREFIX_PATH="~/Qt/5.15.1/clang_64" TOR_BIN="/Users/administrator/tor/tor" make -j3 mac-release if [[ $? -eq 0 ]]; then echo "[+] Feather built OK" - cd ~/feather/build/bin - zip -qr ~/feather.zip feather.app + cd ~/feather-wow/build/bin + zip -qr ~/feather-wow.zip feather-wow.app else echo "[+] Error!" exit 1;