internal SigningPayload(string address, AccountIdentifier accountIdentifier, string hexBytes, SignatureType?signatureType) { Address = address; AccountIdentifier = accountIdentifier; HexBytes = hexBytes; SignatureType = signatureType; }
internal static ConstructionPreprocessResponse DeserializeConstructionPreprocessResponse(JsonElement element) { Optional <object> options = default; Optional <IReadOnlyList <AccountIdentifier> > requiredPublicKeys = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("options")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } options = property.Value.GetObject(); continue; } if (property.NameEquals("required_public_keys")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <AccountIdentifier> array = new List <AccountIdentifier>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(AccountIdentifier.DeserializeAccountIdentifier(item)); } requiredPublicKeys = array; continue; } } return(new ConstructionPreprocessResponse(options.Value, Optional.ToList(requiredPublicKeys))); }
internal Operation(OperationIdentifier operationIdentifier, IList <OperationIdentifier> relatedOperations, string type, string status, AccountIdentifier account, Amount amount, CoinChange coinChange, object metadata) { OperationIdentifier = operationIdentifier; RelatedOperations = relatedOperations; Type = type; Status = status; Account = account; Amount = amount; CoinChange = coinChange; Metadata = metadata; }
public AccountBalanceRequest(NetworkIdentifier networkIdentifier, AccountIdentifier accountIdentifier) { if (networkIdentifier == null) { throw new ArgumentNullException(nameof(networkIdentifier)); } if (accountIdentifier == null) { throw new ArgumentNullException(nameof(accountIdentifier)); } NetworkIdentifier = networkIdentifier; AccountIdentifier = accountIdentifier; Currencies = new ChangeTrackingList <Currency>(); }
public AccountCoinsRequest(NetworkIdentifier networkIdentifier, AccountIdentifier accountIdentifier, bool includeMempool) { if (networkIdentifier == null) { throw new ArgumentNullException(nameof(networkIdentifier)); } if (accountIdentifier == null) { throw new ArgumentNullException(nameof(accountIdentifier)); } NetworkIdentifier = networkIdentifier; AccountIdentifier = accountIdentifier; IncludeMempool = includeMempool; Currencies = new ChangeTrackingList <Currency>(); }
internal static SigningPayload DeserializeSigningPayload(JsonElement element) { Optional <string> address = default; Optional <AccountIdentifier> accountIdentifier = default; string hexBytes = default; Optional <SignatureType> signatureType = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("address")) { address = property.Value.GetString(); continue; } if (property.NameEquals("account_identifier")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } accountIdentifier = AccountIdentifier.DeserializeAccountIdentifier(property.Value); continue; } if (property.NameEquals("hex_bytes")) { hexBytes = property.Value.GetString(); continue; } if (property.NameEquals("signature_type")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } signatureType = new SignatureType(property.Value.GetString()); continue; } } return(new SigningPayload(address.Value, accountIdentifier.Value, hexBytes, Optional.ToNullable(signatureType))); }
internal static ConstructionDeriveResponse DeserializeConstructionDeriveResponse(JsonElement element) { Optional <string> address = default; Optional <AccountIdentifier> accountIdentifier = default; Optional <object> metadata = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("address")) { address = property.Value.GetString(); continue; } if (property.NameEquals("account_identifier")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } accountIdentifier = AccountIdentifier.DeserializeAccountIdentifier(property.Value); continue; } if (property.NameEquals("metadata")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } metadata = property.Value.GetObject(); continue; } } return(new ConstructionDeriveResponse(address.Value, accountIdentifier.Value, metadata.Value)); }
internal static ConstructionParseResponse DeserializeConstructionParseResponse(JsonElement element) { IReadOnlyList <Operation> operations = default; Optional <IReadOnlyList <string> > signers = default; Optional <IReadOnlyList <AccountIdentifier> > accountIdentifierSigners = default; Optional <object> metadata = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("operations")) { List <Operation> array = new List <Operation>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(Operation.DeserializeOperation(item)); } operations = array; continue; } if (property.NameEquals("signers")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <string> array = new List <string>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(item.GetString()); } signers = array; continue; } if (property.NameEquals("account_identifier_signers")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <AccountIdentifier> array = new List <AccountIdentifier>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(AccountIdentifier.DeserializeAccountIdentifier(item)); } accountIdentifierSigners = array; continue; } if (property.NameEquals("metadata")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } metadata = property.Value.GetObject(); continue; } } return(new ConstructionParseResponse(operations, Optional.ToList(signers), Optional.ToList(accountIdentifierSigners), metadata.Value)); }
internal static Operation DeserializeOperation(JsonElement element) { OperationIdentifier operationIdentifier = default; Optional <IList <OperationIdentifier> > relatedOperations = default; string type = default; Optional <string> status = default; Optional <AccountIdentifier> account = default; Optional <Amount> amount = default; Optional <CoinChange> coinChange = default; Optional <object> metadata = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("operation_identifier")) { operationIdentifier = OperationIdentifier.DeserializeOperationIdentifier(property.Value); continue; } if (property.NameEquals("related_operations")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <OperationIdentifier> array = new List <OperationIdentifier>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(OperationIdentifier.DeserializeOperationIdentifier(item)); } relatedOperations = array; continue; } if (property.NameEquals("type")) { type = property.Value.GetString(); continue; } if (property.NameEquals("status")) { status = property.Value.GetString(); continue; } if (property.NameEquals("account")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } account = AccountIdentifier.DeserializeAccountIdentifier(property.Value); continue; } if (property.NameEquals("amount")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } amount = Amount.DeserializeAmount(property.Value); continue; } if (property.NameEquals("coin_change")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } coinChange = CoinChange.DeserializeCoinChange(property.Value); continue; } if (property.NameEquals("metadata")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } metadata = property.Value.GetObject(); continue; } } return(new Operation(operationIdentifier, Optional.ToList(relatedOperations), type, status.Value, account.Value, amount.Value, coinChange.Value, metadata.Value)); }