using Nethereum.ABI.FunctionEncoding.Attributes;

namespace Managing.ABI.GmxV2.ExchangeRouter.ContractDefinition
{
    public partial class CreateOrderParamsAddresses : CreateOrderParamsAddressesBase
    {
    }

    public class CreateOrderParamsAddressesBase
    {
        [Parameter("address", "receiver", 1)] public virtual string Receiver { get; set; }

        [Parameter("address", "cancellationReceiver", 2)]
        public virtual string CancellationReceiver { get; set; }

        [Parameter("address", "callbackContract", 3)]
        public virtual string CallbackContract { get; set; }

        [Parameter("address", "uiFeeReceiver", 4)]
        public virtual string UiFeeReceiver { get; set; }

        [Parameter("address", "market", 5)] public virtual string Market { get; set; }

        [Parameter("address", "initialCollateralToken", 6)]
        public virtual string InitialCollateralToken { get; set; }

        [Parameter("address[]", "swapPath", 7)]
        public virtual List<string> SwapPath { get; set; }
    }
}