aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortobtoht <tob@featherwallet.org>2026-01-29 15:38:23 +0000
committertobtoht <tob@featherwallet.org>2026-01-29 15:38:23 +0000
commit98ed779e188ae6b5053bf8198f3cd4b8d5aeb3db (patch)
tree6571eb59f989f96d9b6658ad642c70d3d327c1d6
parentd3559a40baf439d4677831c08a3c3a8a5d932111 (diff)
parent765982c7a176fc545777c7f3c880493734bf1464 (diff)
downloadmonzero-gui-98ed779e188ae6b5053bf8198f3cd4b8d5aeb3db.tar.gz
monzero-gui-98ed779e188ae6b5053bf8198f3cd4b8d5aeb3db.tar.xz
monzero-gui-98ed779e188ae6b5053bf8198f3cd4b8d5aeb3db.zip
Merge pull request #4552
765982c main: update blockchain size estimate (selsta) 172e346 DaemonManager: use accurate blockchain size estimate (selsta)
-rw-r--r--main.qml4
-rw-r--r--src/daemon/DaemonManager.cpp7
-rw-r--r--src/daemon/DaemonManager.h2
3 files changed, 6 insertions, 7 deletions
diff --git a/main.qml b/main.qml
index 16fcff21..4646a928 100644
--- a/main.qml
+++ b/main.qml
@@ -94,7 +94,7 @@ ApplicationWindow {
readonly property string localDaemonAddress : "localhost:" + getDefaultDaemonRpcPort(persistentSettings.nettype)
property string currentDaemonAddress;
property int disconnectedEpoch: 0
- property int estimatedBlockchainSize: persistentSettings.pruneBlockchain ? 100 : 225 // GB
+ property int estimatedBlockchainSize: persistentSettings.pruneBlockchain ? 110 : 270 // GB
property alias viewState: rootItem.state
property string prevSplashText;
property bool splashDisplayedBeforeButtonRequest;
@@ -1737,7 +1737,7 @@ ApplicationWindow {
onRejected: console.log("data dir selection canceled")
onAccepted: {
var dataDir = walletManager.urlToLocalPath(blockchainFileDialog.fileUrl)
- var validator = daemonManager.validateDataDir(dataDir);
+ var validator = daemonManager.validateDataDir(dataDir, estimatedBlockchainSize);
if(validator.valid) {
persistentSettings.blockchainDataDir = dataDir;
} else {
diff --git a/src/daemon/DaemonManager.cpp b/src/daemon/DaemonManager.cpp
index f1e4ddf9..60feebc7 100644
--- a/src/daemon/DaemonManager.cpp
+++ b/src/daemon/DaemonManager.cpp
@@ -297,7 +297,7 @@ void DaemonManager::exit()
m_app_exit = true;
}
-QVariantMap DaemonManager::validateDataDir(const QString &dataDir) const
+QVariantMap DaemonManager::validateDataDir(const QString &dataDir, const int estimatedBlockchainSize) const
{
QVariantMap result;
bool valid = true;
@@ -312,9 +312,8 @@ QVariantMap DaemonManager::validateDataDir(const QString &dataDir) const
valid = false;
}
- // Make sure there is 75GB storage available
storageAvailable = storage.bytesAvailable()/1000/1000/1000;
- if (storageAvailable < 75) {
+ if (storageAvailable < estimatedBlockchainSize) {
valid = false;
}
} else {
@@ -339,7 +338,7 @@ bool DaemonManager::checkLmdbExists(QString datadir) {
if (datadir.isEmpty() || datadir.isNull()) {
datadir = QString::fromStdString(tools::get_default_data_dir());
}
- return validateDataDir(datadir).value("lmdbExists").value<bool>();
+ return QDir(datadir + "/lmdb").exists();
}
QString DaemonManager::getArgs(const QString &dataDir) {
diff --git a/src/daemon/DaemonManager.h b/src/daemon/DaemonManager.h
index 5945c697..3b5fc6e0 100644
--- a/src/daemon/DaemonManager.h
+++ b/src/daemon/DaemonManager.h
@@ -56,7 +56,7 @@ public:
// Send daemon command from qml and prints output in console window.
Q_INVOKABLE void sendCommandAsync(const QStringList &cmd, NetworkType::Type nettype, const QString &dataDir, const QJSValue& callback) const;
Q_INVOKABLE void exit();
- Q_INVOKABLE QVariantMap validateDataDir(const QString &dataDir) const;
+ Q_INVOKABLE QVariantMap validateDataDir(const QString &dataDir, const int estimatedBlockchainSizeGb) const;
Q_INVOKABLE bool checkLmdbExists(QString datadir);
Q_INVOKABLE QString getArgs(const QString &dataDir);