// DragonX Wallet - ImGui Edition // Copyright 2024-2026 The Hush Developers // Released under the GPLv3 #pragma once #include namespace dragonx { class App; namespace ui { /** * @brief Dialog for shielding coinbase rewards and merging funds */ class ShieldDialog { public: enum class Mode { ShieldCoinbase, // Shield mining rewards (t-addr coinbase -> z-addr) MergeToAddress // Merge multiple inputs to single z-addr }; /** * @brief Show the shield dialog * @param mode Operating mode */ static void show(Mode mode = Mode::ShieldCoinbase); /** * @brief Show shield coinbase dialog for specific address */ static void showShieldCoinbase(const std::string& fromAddress = "*"); /** * @brief Show merge to address dialog */ static void showMerge(); /** * @brief Render the dialog (call each frame) */ static void render(App* app); }; } // namespace ui } // namespace dragonx