// DragonX Wallet - ImGui Edition
// Copyright 2024-2026 The Hush Developers
// Released under the GPLv3

#pragma once

#include <string>

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();

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 std::string s_address_type;
    static std::string s_error_message;
};

} // namespace ui
} // namespace dragonx
