diff --git a/src/app_network.cpp b/src/app_network.cpp index 1224927..0fdcc56 100644 --- a/src/app_network.cpp +++ b/src/app_network.cpp @@ -6374,6 +6374,9 @@ void App::finishConsolidation() // Start the shared ConsolidationRun with the SAME guards as startConsolidation but SILENTLY and with a // caller-chosen (gentle) config — the background driver's entry point. No toasts; marks the run as ours. +// Like the manual "keep in each address" mode, this run merges every address's notes back into THAT SAME +// address (z_mergetoaddress [addr] -> addr in postConsolidationCall), so auto-consolidation NEVER moves +// funds between addresses — it only sheds notes. It never uses the "into one address" sweep. bool App::startConsolidationQuiet(const std::vector& groups, services::RunConfig cfg) { if (isLiteBuild() || capture_mode_ || shutting_down_.load()) return false; diff --git a/src/config/settings.h b/src/config/settings.h index f2e7387..07b2ec1 100644 --- a/src/config/settings.h +++ b/src/config/settings.h @@ -230,7 +230,9 @@ public: bool getAutoShield() const { return auto_shield_; } void setAutoShield(bool shield) { auto_shield_ = shield; } // Automatic background note consolidation (full-node): when on, the wallet quietly merges small notes - // in tiny batches while idle (see App::pumpAutoConsolidation). Off by default. + // in tiny batches while idle (see App::pumpAutoConsolidation). Each address's notes are merged back into + // THAT SAME address (z_mergetoaddress [addr] -> addr), so funds never move between addresses. On by + // default — a missing key in an older config therefore enables it on upgrade, which is intended. bool getAutoConsolidate() const { return auto_consolidate_; } void setAutoConsolidate(bool v) { auto_consolidate_ = v; } @@ -731,7 +733,7 @@ private: int time_format_ = 0; // global clock: 0 = 24h, 1 = 12h bool save_ztxs_ = true; bool auto_shield_ = true; - bool auto_consolidate_ = false; + bool auto_consolidate_ = true; bool use_tor_ = false; bool allow_custom_fees_ = false; double default_fee_ = 0.0001; diff --git a/src/ui/pages/settings_page.cpp b/src/ui/pages/settings_page.cpp index 4d501b7..717b9c1 100644 --- a/src/ui/pages/settings_page.cpp +++ b/src/ui/pages/settings_page.cpp @@ -92,7 +92,7 @@ struct SettingsPageState { bool save_ztxs = true; bool allow_custom_fees = false; bool auto_shield = false; - bool auto_consolidate = false; + bool auto_consolidate = true; // on by default (loaded from settings on open; see getAutoConsolidate) bool fetch_prices = true; bool use_tor = false; char rpc_host[128] = DRAGONX_DEFAULT_RPC_HOST;