using System.Numerics;
using Nethereum.ABI.FunctionEncoding.Attributes;

namespace Managing.ABI.GmxV2.Reader.ContractDefinition
{
    public partial class MarketPrices : MarketPricesBase
    {
    }

    public class MarketPricesBase
    {
        [Parameter("tuple", "indexTokenPrice", 1)]
        public virtual MarketPrice IndexTokenPrice { get; set; }

        [Parameter("tuple", "longTokenPrice", 2)]
        public virtual MarketPrice LongTokenPrice { get; set; }

        [Parameter("tuple", "shortTokenPrice", 3)]
        public virtual MarketPrice ShortTokenPrice { get; set; }
    }

    public class MarketPrice
    {
        [Parameter("uint256", "min", 1)] public BigInteger Min { get; set; }
        [Parameter("uint256", "max", 2)] public BigInteger Max { get; set; }
    }
}