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

namespace Managing.ABI.GmxV2.Reader.ContractDefinition
{
    public partial class PositionFundingFees : PositionFundingFeesBase
    {
    }

    public class PositionFundingFeesBase
    {
        [Parameter("uint256", "fundingFeeAmount", 1)]
        public virtual BigInteger FundingFeeAmount { get; set; }

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

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

        [Parameter("uint256", "latestFundingFeeAmountPerSize", 4)]
        public virtual BigInteger LatestFundingFeeAmountPerSize { get; set; }

        [Parameter("uint256", "latestLongTokenClaimableFundingAmountPerSize", 5)]
        public virtual BigInteger LatestLongTokenClaimableFundingAmountPerSize { get; set; }

        [Parameter("uint256", "latestShortTokenClaimableFundingAmountPerSize", 6)]
        public virtual BigInteger LatestShortTokenClaimableFundingAmountPerSize { get; set; }
    }
}