/// <summary> /// Initializes a new instance of the <see cref="RegisterNamespaceTransaction" /> class. /// </summary> /// <param name="networkType"></param> /// <param name="version"></param> /// <param name="deadline"></param> /// <param name="maxFee"></param> /// <param name="namespaceName"></param> /// <param name="namespaceId"></param> /// <param name="namespaceType"></param> /// <param name="duration"></param> /// <param name="parentId"></param> /// <param name="signature"></param> /// <param name="signer"></param> /// <param name="transactionInfo"></param> public RegisterNamespaceTransaction(NetworkType networkType, int version, Deadline deadline, ulong?maxFee, string namespaceName, NamespaceId namespaceId, NamespaceType namespaceType, ulong?duration, NamespaceId parentId = null, string signature = null, PublicAccount signer = null, TransactionInfo transactionInfo = null) : base(networkType, version, EntityType.REGISTER_NAMESPACE, deadline, maxFee, signature, signer, transactionInfo) { if (string.IsNullOrEmpty(namespaceName)) { throw new ArgumentNullException(nameof(namespaceName)); } if (!Enum.IsDefined(typeof(NetworkType), networkType)) { throw new InvalidEnumArgumentException(nameof(networkType), networkType.GetValue(), typeof(NetworkType)); } if (namespaceType != NamespaceType.ROOT_NAMESPACE && namespaceType != NamespaceType.SUB_NAMESPACE) { throw new ArgumentOutOfRangeException(nameof(namespaceType)); } if (namespaceType == NamespaceType.ROOT_NAMESPACE) { if (!duration.HasValue) { throw new ArgumentNullException(nameof(duration)); } } else { if (parentId == null) { throw new ArgumentNullException(nameof(parentId)); } } Duration = duration; NamespaceName = namespaceName; NamespaceType = namespaceType; NamespaceId = namespaceId; ParentId = parentId; }
/// <summary> /// Get value of the version field for serialization /// </summary> /// <returns>4 bytes</returns> protected int GetTxVersionSerialization() { return(TransactionMappingUtils.SerializeVersion(Version, NetworkType.GetValue())); }
private static void NetworkTypeValueIsX(NetworkType networkType, int expectedValue) { networkType.GetValue().Should().Be(expectedValue); }