using System.ComponentModel.DataAnnotations;
using static Managing.Common.Enums;

namespace Managing.Api.Models.Requests;

/// <summary>
/// Request model for token sending operations
/// </summary>
public class SendTokenRequest
{
    /// <summary>
    /// The recipient's wallet address
    /// </summary>
    [Required]
    public string RecipientAddress { get; set; }

    /// <summary>
    /// The ticker symbol of the token to send
    /// </summary>
    [Required]
    public Ticker Ticker { get; set; }

    /// <summary>
    /// The amount to send
    /// </summary>
    [Required]
    [Range(0.000001, double.MaxValue, ErrorMessage = "Amount must be greater than 0")]
    public decimal Amount { get; set; }

    /// <summary>
    /// The chain ID where the transaction will be executed (optional, defaults to ARBITRUM)
    /// </summary>
    public int? ChainId { get; set; }
} 