/// <summary> /// The account_channels method returns information about an account's Payment Channels. /// This includes only channels where the specified account is the channel's source, not the destination. /// (A channel's "source" and "owner" are the same.) /// All information retrieved is relative to a particular version of the ledger. /// </summary> public async Task <AccountChannelsResponse> AccountChannels(AccountChannelsRequest request, CancellationToken cancellationToken = default) { jsonBuffer.Clear(); jsonWriter.Reset(); jsonWriter.WriteStartObject(); var requestId = WriteHeader(jsonWriter, "account_channels"); LedgerSpecification.Write(jsonWriter, request.Ledger); jsonWriter.WriteString("account", request.Account.ToString()); if (request.DestinationAccount.HasValue) { jsonWriter.WriteString("destination_account", request.DestinationAccount.Value.ToString()); } if (request.Limit.HasValue) { jsonWriter.WriteNumber("limit", request.Limit.Value); } if (request.Marker.HasValue) { jsonWriter.WritePropertyName("marker"); request.Marker.Value.WriteTo(jsonWriter); } WriteFooter(jsonWriter); jsonWriter.WriteEndObject(); jsonWriter.Flush(); var response = await SendReceiveAsync(requestId, jsonBuffer.WrittenMemory, cancellationToken); return(new AccountChannelsResponse(response, request, this)); }
public Task <AccountChannels> AccountChannels(string account) { AccountChannelsRequest request = new AccountChannelsRequest(account); return(AccountChannels(request)); }