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

namespace Managing.ABI.GmxV2.ExchangeRouter.ContractDefinition
{
    public partial class CreateOrderParamsNumbers : CreateOrderParamsNumbersBase
    {
    }

    public class CreateOrderParamsNumbersBase
    {
        [Parameter("uint256", "sizeDeltaUsd", 1)]
        public virtual BigInteger SizeDeltaUsd { get; set; }

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

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

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

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

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

        [Parameter("uint256", "minOutputAmount", 7)]
        public virtual BigInteger MinOutputAmount { get; set; }

        [Parameter("uint256", "validFromTime", 8)]
        public virtual BigInteger ValidFromTime { get; set; }
    }
}