public async Task <ActionResult> Address(string address, int count = 10) { string nice = address; var balanceSelector = new BalanceSelector(address); Script script = null; if (nice.StartsWith("0x")) { script = new Script(Encoders.Hex.DecodeData(nice.Substring(2, nice.Length - 2))); } if (address.Contains("OP_")) { script = new Script(address); balanceSelector = new BalanceSelector(script); } nice = script?.GetDestinationAddress(QBit.Network)?.ToString() ?? script?.ToString() ?? nice; var balances = QBit.GetBalance(balanceSelector); var summary = QBit.GetBalanceSummary(balanceSelector); await Task.WhenAll(balances, summary); var model = new AddressModel() { Address = nice, NextCount = count + 10, ConfirmedBalance = ToString(summary.Result.Confirmed.Amount), TotalReceived = ToString(summary.Result.Spendable.Received), TransactionCount = summary.Result.Spendable.TransactionCount, UnconfirmedBalance = ToString(summary.Result.UnConfirmed.Amount), }; model.Transactions = GetBlockTransactions(balances.Result.Operations.ToArray()); return(View(model)); }
public Task <BalanceSummary> GetBalanceSummary(BalanceSelector dest) { if (dest == null) { throw new ArgumentNullException("dest"); } return(Get <BalanceSummary>("balances/" + EscapeUrlPart(dest.ToString()) + "/summary" + CreateParameters())); }
public Task <BalanceModel> GetBalance(BalanceSelector dest, bool unspentOnly = false) { if (dest == null) { throw new ArgumentNullException("dest"); } return(Get <BalanceModel>("balances/" + EscapeUrlPart(dest.ToString()) + CreateParameters("unspentOnly", unspentOnly))); }
public Task <BalanceModel> GetBalanceBetween( BalanceSelector dest, BlockFeature from = null, BlockFeature until = null, bool includeImmature = false, bool unspentOnly = false) { return(Get <BalanceModel>("balances/" + EscapeUrlPart(dest.ToString()) + CreateParameters("unspentOnly", unspentOnly, "until", until, "from", from))); }
public Task <BalanceModel> GetBalance(BalanceSelector dest, bool unspentOnly = false, string continuation = null) { if (dest == null) { throw new ArgumentNullException("dest"); } var url = "balances/" + EscapeUrlPart(dest.ToString()) + CreateParameters("unspentOnly", unspentOnly) + (!string.IsNullOrEmpty(continuation)? $"&continuation={continuation}": ""); return(Get <BalanceModel>(url)); }
public async Task <BalanceModel> GetReceivedAsync(string address) { if (address == null) { throw new ArgumentNullException("address"); } var dest = new BalanceSelector(address); var response = await Client.GetBalance(dest, false); return(response); }