Пример #1
0
        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()));
 }
Пример #3
0
 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));
        }
Пример #6
0
        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);
        }