/// <summary> /// The gateway_balances command calculates the total balances issued by a given account, optionally excluding amounts held by operational addresses. /// New in: rippled 0.28.2 /// </summary> public async Task <GatewayBalancesResponse> GatewayBalances(GatewayBalancesRequest request, CancellationToken cancellationToken = default) { jsonBuffer.Clear(); jsonWriter.Reset(); jsonWriter.WriteStartObject(); var requestId = WriteHeader(jsonWriter, "gateway_balances"); LedgerSpecification.Write(jsonWriter, request.Ledger); jsonWriter.WriteString("account", request.Account.ToString()); if (request.HotWallet != null) { if (request.HotWallet.Length == 1) { jsonWriter.WriteString("hotwallet", request.HotWallet[0].ToString()); } else { jsonWriter.WriteStartArray("hotwallet"); foreach (var account in request.HotWallet) { jsonWriter.WriteStringValue(account.ToString()); } jsonWriter.WriteEndArray(); } } WriteFooter(jsonWriter); jsonWriter.WriteEndObject(); jsonWriter.Flush(); var response = await SendReceiveAsync(requestId, jsonBuffer.WrittenMemory, cancellationToken); return(new GatewayBalancesResponse(response)); }
public Task <GatewayBalances> GatewayBalances(GatewayBalancesRequest request) { var command = JsonConvert.SerializeObject(request, serializerSettings); TaskCompletionSource <GatewayBalances> task = new TaskCompletionSource <GatewayBalances>(); TaskInfo taskInfo = new TaskInfo(); taskInfo.TaskId = request.Id; taskInfo.TaskCompletionResult = task; taskInfo.Type = typeof(GatewayBalances); tasks.TryAdd(request.Id, taskInfo); client.SendMessage(command); return(task.Task); }
public void GatewayBalances() { // Arrange var request = new GatewayBalancesRequest(); request.Params.Add(new GatewayBalancesRequestParams() { Account = "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", LedgerIndex = LedgerIndex.Validated.ToLower(), Strict = true, HotWallet = new List <string> { "ra7JkEzrgeKHdzKgo4EUUVBnxggY4z37kt", "rKm4uWpg9tfwbVSeATv4KxDe6mpE9yPkgJ" } }); // Act var response = _client.AccountInformation.GatewayBalancesAsync(request).Result; // Assert Assert.AreEqual(Status.Success, response.Result.Status); }
public Task <GatewayBalances> GatewayBalances(string account) { GatewayBalancesRequest request = new GatewayBalancesRequest(account); return(GatewayBalances(request)); }
public async Task <RpcJsonResponse <GatewayBalancesResult> > GatewayBalancesAsync(GatewayBalancesRequest request) { return(await PostAsync <RpcJsonResponse <GatewayBalancesResult>, GatewayBalancesResult>(request)); }