Пример #1
0
        public ApiResult <BalanceCS> Balance(string Public)
        {
            ApiResult <BalanceCS> Res = new ApiResult <BalanceCS>
            {
                Result = null
            };


            byte[] PublicKey;
            try
            {
                PublicKey = Base58CheckEncoding.DecodePlain(Public);
            }
            catch (Exception)
            {
                Res.Message = "PublicKey error";
                return(Res);
            }

            WalletBalanceGetResult Balance = _connect.WalletBalanceGet(PublicKey);

            if (Balance.Status.Code > 0 && Balance.Status.Message != "Not found")
            {
                Res.Message = Balance.Status.Message;
                return(Res);
            }

            TokenBalancesResult Tokens = _connect.TokenBalancesGet(PublicKey);

            if (Tokens.Status.Code > 0 && Balance.Status.Message != "Not found")
            {
                Res.Message = Tokens.Status.Message;
                return(Res);
            }

            Res.Result = new BalanceCS
            {
                CS        = $"{Balance.Balance.Integral}.{FractionToStr(Balance.Balance.Fraction)}",
                Tokens    = Tokens.Balances.Select(BalanceTokenModel).ToList(),
                PublicKey = Public
            };

            return(Res);
        }
Пример #2
0
        public List <WalletAllBalance> Balance(byte[] PublicKey)
        {
            List <WalletAllBalance> Res = new List <WalletAllBalance>();

            WalletBalanceGetResult CS_Bal = CS_Balance(PublicKey);

            if (CS_Bal.Status.Code > 0)
            {
                throw new Exception(CS_Bal.Status.Message);
            }

            TokenBalancesResult Token_Balance = TokenBalance(PublicKey);

            if (Token_Balance.Status.Code > 0)
            {
                throw new Exception(Token_Balance.Status.Message);
            }

            Res.Add(WalletAllBalance.Create(BcToDouble(CS_Bal.Balance)));

            foreach (TokenBalance item in Token_Balance.Balances)
            {
                //Delete trycatch block
                try
                {
                    Res.Add(WalletAllBalance.Create(
                                Convert.ToDouble(item.Balance),
                                Base58CheckEncoding.EncodePlain(item.Token),
                                item.Code,
                                item.Name)
                            );
                }
                catch (Exception)
                {
                    Console.WriteLine("");
                }
            }

            return(Res);
        }