feat(ui): rework the consolidate/merge modal
Make Merge to Address actually serve wallet-bloat consolidation and be far less opaque. New ShieldDialog::showConsolidate() preset (used by the large-wallet Settings banner + alert action) frames it as "Consolidate funds" and targets shielded notes — the bloat the nudge warns about. - Source selector: consolidate shielded notes (ANY_SAPLING), transparent (ANY_TADDR), or both (*) — previously hardcoded to ANY_TADDR, which never reduced the shielded-witness bloat. Batch limit now applies to the right side. - Scope: on open, count spendable UTXOs + notes (listunspent / z_listunspent) and show "N transparent + M shielded · ~X DRGX"; warn "repeat to finish" when the set exceeds one batch. - Destination auto-selects the best spendable z-address (button enabled by default); empty wallets get an inline "Create shielded address" (z_getnewaddress). - Advanced disclosure hides Fee + "Max inputs per batch" (renamed from the "UTXO Limit" jargon) with sane defaults. - Inline confirm step before the fund-moving call (amount + input count + dest). - Live progress: self-polls z_getoperationstatus to show Consolidating… → Done/Failed, replacing the raw opid + manual "Check status" button. All three merge entry points now use the typed showMerge()/showConsolidate() (no stale-static leaks from direct show(MergeToAddress)). Shield-coinbase mode keeps working. New i18n keys fall back to English. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -2241,6 +2241,29 @@ void I18n::loadBuiltinEnglish()
|
||||
strings_["merge_funds"] = "Merge Funds";
|
||||
strings_["merge_started"] = "Merge operation started";
|
||||
strings_["merge_title"] = "Merge to Address";
|
||||
// Consolidate-funds flow (rich merge modal + wallet-bloat preset).
|
||||
strings_["consolidate_title"] = "Consolidate funds";
|
||||
strings_["consolidate_desc"] = "Combine many small inputs into a single shielded note. Fewer notes means a smaller wallet file and better privacy.";
|
||||
strings_["consolidate_funds_btn"] = "Consolidate";
|
||||
strings_["merge_scope_loading"] = "Checking your inputs\xE2\x80\xA6";
|
||||
strings_["merge_scope_fmt"] = "%d transparent + %d shielded inputs \xC2\xB7 ~%s DRGX spendable";
|
||||
strings_["merge_source"] = "Consolidate";
|
||||
strings_["merge_src_transparent"] = "Transparent";
|
||||
strings_["merge_src_shielded"] = "Shielded";
|
||||
strings_["merge_src_both"] = "Both";
|
||||
strings_["merge_batch_fmt"] = "Merges up to %d inputs per run \xE2\x80\x94 repeat to finish the rest.";
|
||||
strings_["merge_advanced"] = "Advanced";
|
||||
strings_["merge_max_inputs"] = "Max inputs per batch";
|
||||
strings_["merge_fee_hint"] = "Network fee for this transaction.";
|
||||
strings_["merge_create_zaddr"] = "Create shielded address";
|
||||
strings_["merge_creating"] = "Creating address\xE2\x80\xA6";
|
||||
strings_["merge_addr_created"] = "Shielded address created.";
|
||||
strings_["merge_confirm_fmt"] = "Consolidate ~%s DRGX from %d input(s) into %s?";
|
||||
strings_["merge_confirm_btn"] = "Confirm";
|
||||
strings_["merge_back"] = "Back";
|
||||
strings_["merge_progress"] = "Consolidating\xE2\x80\xA6 this can take a few minutes. You can close this window.";
|
||||
strings_["merge_no_spendable"] = "No spendable inputs to consolidate yet.";
|
||||
strings_["done"] = "Done";
|
||||
|
||||
// --- Transaction Details Dialog ---
|
||||
strings_["tx_confirmations"] = "%d confirmations";
|
||||
|
||||
Reference in New Issue
Block a user