public Task <AccountCurrencies> AccountCurrencies(AccountCurrenciesRequest request) { var command = JsonConvert.SerializeObject(request, serializerSettings); TaskCompletionSource <AccountCurrencies> task = new TaskCompletionSource <AccountCurrencies>(); TaskInfo taskInfo = new TaskInfo(); taskInfo.TaskId = request.Id; taskInfo.TaskCompletionResult = task; taskInfo.Type = typeof(AccountCurrencies); tasks.TryAdd(request.Id, taskInfo); client.SendMessage(command); return(task.Task); }
/// <summary> /// The account_currencies command retrieves a list of currencies that an account can send or receive, based on its trust lines. /// (This is not a thoroughly confirmed list, but it can be used to populate user interfaces.) /// </summary> public async Task <AccountCurrenciesResponse> AccountCurrencies(AccountCurrenciesRequest request, CancellationToken cancellationToken = default) { jsonBuffer.Clear(); jsonWriter.Reset(); jsonWriter.WriteStartObject(); var requestId = WriteHeader(jsonWriter, "account_currencies"); LedgerSpecification.Write(jsonWriter, request.Ledger); jsonWriter.WriteString("account", request.Account.ToString()); WriteFooter(jsonWriter); jsonWriter.WriteEndObject(); jsonWriter.Flush(); var response = await SendReceiveAsync(requestId, jsonBuffer.WrittenMemory, cancellationToken); return(new AccountCurrenciesResponse(response)); }
public Task <AccountCurrencies> AccountCurrencies(string account) { AccountCurrenciesRequest request = new AccountCurrenciesRequest(account); return(AccountCurrencies(request)); }