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

namespace Managing.ABI.GmxV2.Reader.ContractDefinition
{
    public partial class MarketInfo : MarketInfoBase
    {
    }

    public class MarketInfoBase
    {
        [Parameter("tuple", "market", 1)] public virtual MarketsProps Market { get; set; }

        [Parameter("uint256", "borrowingFactorPerSecondForLongs", 2)]
        public virtual BigInteger BorrowingFactorPerSecondForLongs { get; set; }

        [Parameter("uint256", "borrowingFactorPerSecondForShorts", 3)]
        public virtual BigInteger BorrowingFactorPerSecondForShorts { get; set; }

        [Parameter("tuple", "baseFunding", 4)] public virtual BaseFundingValues BaseFunding { get; set; }

        [Parameter("tuple", "nextFunding", 5)]
        public virtual GetNextFundingAmountPerSizeResult NextFunding { get; set; }

        [Parameter("tuple", "virtualInventory", 6)]
        public virtual VirtualInventory VirtualInventory { get; set; }

        [Parameter("bool", "isDisabled", 7)] public virtual bool IsDisabled { get; set; }
    }
}