using System.Text.Json.Serialization;
using Managing.Domain.Trades;
using Newtonsoft.Json;

namespace Managing.Infrastructure.Evm.Models.Proxy;

public class GetGmxTradesResponse : Web3ProxyBaseResponse
{
  
    [JsonProperty("trades")]
    [JsonPropertyName("trades")]
    public List<GmxTrade> Trades { get; set; }
}

public class GmxTrade
{
    [JsonProperty("id")]
    [JsonPropertyName("id")]
    public string Id { get; set; }

    [JsonProperty("ticker")]
    [JsonPropertyName("ticker")]
    public string Ticker { get; set; }

    [JsonProperty("direction")]
    [JsonPropertyName("direction")]
    public string Direction { get; set; }

    [JsonProperty("price")]
    [JsonPropertyName("price")]
    public double Price { get; set; }

    [JsonProperty("quantity")]
    [JsonPropertyName("quantity")]
    public double Quantity { get; set; }

    [JsonProperty("leverage")]
    [JsonPropertyName("leverage")]
    public decimal Leverage { get; set; }

    [JsonProperty("status")]
    [JsonPropertyName("status")]
    public string Status { get; set; }

    [JsonProperty("tradeType")]
    [JsonPropertyName("tradeType")]
    public string TradeType { get; set; }

    [JsonProperty("date")]
    [JsonPropertyName("date")]
    public DateTime Date { get; set; }

    [JsonProperty("exchangeOrderId")]
    [JsonPropertyName("exchangeOrderId")]
    public string ExchangeOrderId { get; set; }
}
