/// <summary> /// The ledger_data method retrieves contents of the specified ledger. /// You can iterate through several calls to retrieve the entire contents of a single ledger version. /// </summary> public async Task <LedgerDataResponse> LedgerData(LedgerDataRequest request, CancellationToken cancellationToken = default) { jsonBuffer.Clear(); jsonWriter.Reset(); jsonWriter.WriteStartObject(); var requestId = WriteHeader(jsonWriter, "ledger_data"); LedgerSpecification.Write(jsonWriter, request.Ledger); jsonWriter.WriteBoolean("binary", true); 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 LedgerDataResponse(response)); }
public async Task CanGetLedgerData() { var closedLedger = await client.ClosedLedger(); LedgerDataRequest request = new LedgerDataRequest(); request.LedgerHash = closedLedger.LedgerHash; var ledgerData = await client.LedgerData(request); Assert.IsNotNull(ledgerData); }
public Task <LedgerData> LedgerData(LedgerDataRequest request) { var command = JsonConvert.SerializeObject(request, serializerSettings); TaskCompletionSource <LedgerData> task = new TaskCompletionSource <LedgerData>(); TaskInfo taskInfo = new TaskInfo(); taskInfo.TaskId = request.Id; taskInfo.TaskCompletionResult = task; taskInfo.Type = typeof(LedgerData); tasks.TryAdd(request.Id, taskInfo); client.SendMessage(command); return(task.Task); }
public void LedgerData() { // Arrange var request = new LedgerDataRequest(); request.Params.Add(new LedgerDataRequestParams { Binary = false, Limit = 5 }); // Act var response = _client.Ledger.LedgerDataAsync(request).Result; // Assert Assert.AreEqual(Status.Success, response.Result.Status); }
public async Task <RpcJsonResponse <LedgerDataResult> > LedgerDataAsync(LedgerDataRequest request) { return(await PostAsync <RpcJsonResponse <LedgerDataResult>, LedgerDataResult>(request)); }