// 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 validating cryptocurrency addresses */ class ValidateAddressDialog { public: /** * @brief Show the validate address dialog */ static void show(); /** * @brief Render the dialog (call every frame) * @param app Pointer to app instance for RPC calls */ static void render(App* app); /** * @brief Check if dialog is currently open */ static bool isOpen(); /** * @brief Close the dialog (used by the UI sweep teardown) */ static void hide(); /** UI sweep: show the result for a valid mining (transparent) address of ours. */ static void sweepShowMiningResult(const char* address); private: static bool s_open; static bool s_validated; static bool s_validating; static char s_address_input[512]; // Validation results static bool s_is_valid; static bool s_is_mine; static bool s_is_mining; // a valid transparent (mining) address: explain it can't be paid static bool s_ownership_known; // false when no node was asked (lite): the ownership row is hidden static std::string s_address_type; static std::string s_error_message; }; } // namespace ui } // namespace dragonx