Example #1
0
        /// <summary>
        /// The account_lines method returns information about an account's trust lines, including balances in all non-XRP currencies and assets.
        /// All information retrieved is relative to a particular version of the ledger.
        /// </summary>
        public async Task <AccountLinesResponse> AccountLines(AccountLinesRequest request, CancellationToken cancellationToken = default)
        {
            jsonBuffer.Clear();
            jsonWriter.Reset();
            jsonWriter.WriteStartObject();
            var requestId = WriteHeader(jsonWriter, "account_lines");

            LedgerSpecification.Write(jsonWriter, request.Ledger);
            jsonWriter.WriteString("account", request.Account.ToString());
            if (request.Peer.HasValue)
            {
                jsonWriter.WriteString("peer", request.Peer.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 AccountLinesResponse(response, request, this));
        }
Example #2
0
        public Task <AccountLines> AccountLines(AccountLinesRequest request)
        {
            var command = JsonConvert.SerializeObject(request, serializerSettings);
            TaskCompletionSource <AccountLines> task = new TaskCompletionSource <AccountLines>();

            TaskInfo taskInfo = new TaskInfo();

            taskInfo.TaskId = request.Id;
            taskInfo.TaskCompletionResult = task;
            taskInfo.Type = typeof(AccountLines);

            tasks.TryAdd(request.Id, taskInfo);

            client.SendMessage(command);
            return(task.Task);
        }
Example #3
0
        public void AccountLines()
        {
            // Arrange
            var request = new AccountLinesRequest();

            request.Params.Add(new AccountLinesRequestParams
            {
                Account = "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59"
            });

            // Act
            var response = _client.AccountInformation.AccountLinesAsync(request).Result;

            // Assert
            Assert.AreEqual(Status.Success, response.Result.Status);
        }
Example #4
0
        public Task <AccountLines> AccountLines(string account)
        {
            AccountLinesRequest request = new AccountLinesRequest(account);

            return(AccountLines(request));
        }
 public async Task <RpcJsonResponse <AccountLinesResult> > AccountLinesAsync(AccountLinesRequest request)
 {
     return(await PostAsync <RpcJsonResponse <AccountLinesResult>, AccountLinesResult>(request));
 }