From a01dc06a54c5f30bb2bf49b0e28d8853c95df7af Mon Sep 17 00:00:00 2001 From: plowsof Date: Fri, 23 Dec 2022 08:30:03 +0000 Subject: open-wallet: set network type when using file browser Co-authored-by: selsta --- src/main/oshelper.cpp | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'src/main/oshelper.cpp') diff --git a/src/main/oshelper.cpp b/src/main/oshelper.cpp index c9b1e269..8294dd3c 100644 --- a/src/main/oshelper.cpp +++ b/src/main/oshelper.cpp @@ -63,6 +63,7 @@ #include "QR-Code-scanner/Decoder.h" #include "qt/ScopeGuard.h" +#include "NetworkType.h" namespace { @@ -280,3 +281,35 @@ bool OSHelper::installed() const return false; #endif } + +std::pair OSHelper::getNetworkTypeAndAddressFromFile(const QString &wallet) +{ + quint8 networkType = NetworkType::MAINNET; + QString address = QString(""); + // attempt to retreive wallet address + if(QFile::exists(wallet + ".address.txt")){ + QFile file(wallet + ".address.txt"); + file.open(QFile::ReadOnly | QFile::Text); + QString _address = QString(file.readAll()); + if(!_address.isEmpty()){ + address = _address; + if(address.startsWith("5") || address.startsWith("7")){ + networkType = NetworkType::STAGENET; + } else if(address.startsWith("9") || address.startsWith("B")){ + networkType = NetworkType::TESTNET; + } + } + + file.close(); + } + return std::make_pair(networkType, address); +} + +quint8 OSHelper::getNetworkTypeFromFile(const QString &keysPath) const +{ + QString walletPath = keysPath; + if(keysPath.endsWith(".keys")){ + walletPath = keysPath.mid(0,keysPath.length()-5); + } + return getNetworkTypeAndAddressFromFile(walletPath).first; +} -- cgit v1.2.3