public bool OnGetBalances(AccountInfo account, byte[] data)
        {
            string  text = UTF8Encoding.Default.GetString(data);
            JObject root = (JObject)JsonConvert.DeserializeObject(text);

            if (root.Value <string>("code") != null)
            {
                LogManager.Default.Error(this, "error on get balance", text);
                return(false);
            }
            JArray balances = root.Value <JArray>("balances");

            if (balances == null)
            {
                return(false);
            }
            account.Balances.Clear();
            foreach (JObject obj in balances)
            {
                BinanceAccountBalanceInfo b = new BinanceAccountBalanceInfo(account);
                b.Currency  = obj.Value <string>("asset");
                b.Available = obj.Value <double>("free");
                b.OnOrders  = obj.Value <double>("locked");
                account.Balances.Add(b);
            }
            return(true);
        }
Esempio n. 2
0
        public override bool OnGetBalances(AccountInfo account, byte[] data)
        {
            string  text = UTF8Encoding.Default.GetString(data);
            object  conv = JsonConvert.DeserializeObject(text);
            JObject root = conv as JObject;

            if (conv == null)
            {
                LogManager.Default.Error(this, "error on get balance", "empty text return");
                return(false);
            }
            if (root != null && root.Value <string>("code") != null)
            {
                LogManager.Default.Error(this, "error on get balance", root.Value <string>("message"));
                return(false);
            }
            JArray balances = conv as JArray;

            if (balances == null)
            {
                return(false);
            }
            account.Balances.Clear();
            foreach (JObject obj in balances)
            {
                BinanceAccountBalanceInfo b = new BinanceAccountBalanceInfo(account);
                b.Balance   = obj.Value <double>("balance");
                b.Currency  = obj.Value <string>("asset");
                b.Available = obj.Value <double>("availableBalance");
                b.OnOrders  = b.Balance - b.Available;
                account.Balances.Add(b);
            }
            return(true);
        }