/// <summary> /// Initializes a new instance of the <see cref="MosaicSupplyChangeTransaction"/> class. /// </summary> /// <param name="networkType">Type of the network.</param> /// <param name="version">The transaction version.</param> /// <param name="deadline">The deadline.</param> /// <param name="fee">The fee.</param> /// <param name="mosaicId">The mosaic identifier.</param> /// <param name="direction">The direction.</param> /// <param name="delta">The delta.</param> /// <param name="signature">The signature.</param> /// <param name="signer">The signer.</param> /// <param name="transactionInfo">The transaction information.</param> /// <exception cref="ArgumentOutOfRangeException">direction</exception> /// <exception cref="InvalidEnumArgumentException">networkType</exception> /// <exception cref="ArgumentNullException">mosaicId</exception> public MosaicSupplyChangeTransaction(NetworkType.Types networkType, int version, Deadline deadline, ulong fee, MosaicId mosaicId, MosaicSupplyType.Type direction, ulong delta, string signature, PublicAccount signer, TransactionInfo transactionInfo) { if (direction.GetValue() >= 2) { throw new ArgumentOutOfRangeException(nameof(direction)); } if (!Enum.IsDefined(typeof(NetworkType.Types), networkType)) { throw new InvalidEnumArgumentException(nameof(networkType), (int)networkType, typeof(NetworkType.Types)); } MosaicId = mosaicId ?? throw new ArgumentNullException(nameof(mosaicId)); Delta = delta; SupplyType = direction; Version = version; Deadline = deadline; Fee = fee; NetworkType = networkType; TransactionType = TransactionTypes.Types.MosaicSupplyChange; Signer = signer; Signature = signature; TransactionInfo = transactionInfo; }
/// <summary> /// Initializes a new instance of the <see cref="MosaicSupplyChangeTransaction"/> class. /// </summary> /// <param name="mosaicId">The mosaic identifier.</param> /// <param name="delta">The delta.</param> /// <param name="direction">The direction.</param> /// <param name="version">The transaction version.</param> /// <param name="deadline">The deadline.</param> /// <param name="fee">The fee.</param> /// <param name="networkType">Type of the network.</param> /// <exception cref="ArgumentOutOfRangeException">direction</exception> /// <exception cref="InvalidEnumArgumentException">networkType</exception> /// <exception cref="ArgumentNullException">mosaicId</exception> public MosaicSupplyChangeTransaction(NetworkType.Types networkType, int version, Deadline deadline, ulong fee, MosaicId mosaicId, MosaicSupplyType.Type direction, ulong delta) : this(networkType, version, deadline, fee, mosaicId, direction, delta, null, null, null) { }
/// <summary> /// Creates the specified MosaicSupplyChangeTransaction. /// </summary> /// <param name="mosaicId">The mosaic identifier.</param> /// <param name="delta">The delta.</param> /// <param name="direction">The direction.</param> /// <param name="deadline">The deadline.</param> /// <param name="networkType">Type of the network.</param> /// <returns>MosaicSupplyChangeTransaction.</returns> public static MosaicSupplyChangeTransaction Create(NetworkType.Types networkType, Deadline deadline, MosaicId mosaicId, MosaicSupplyType.Type direction, ulong delta) { return(new MosaicSupplyChangeTransaction(networkType, 3, deadline, 0, mosaicId, direction, delta)); }