public async Task <IEnumerable <PoloniexTicker> > GetTickers(CancellationToken token = default(CancellationToken)) { return(await RetryHelper.DoAsync(async() => { JObject jobject = await JObjectQuery(PublicUrl + "?command=returnTicker", token); return PoloniexTicker.GetFromJObject(jobject); }, TimeSpan.FromMilliseconds(Constant.DefaultRetryInterval))); }
public void FillDepositTotalPoloniex(List <DepositInfo> list) { if (!PoloniexExchange.Default.UpdateBalances()) { LogManager.Default.AddError("FillDepositTotalPoloniex: can't get balances"); return; } if (!PoloniexExchange.Default.UpdateTickersInfo()) { LogManager.Default.AddError("FillDepositTotalPoloniex: can't get update markets info"); return; } PoloniexTicker btcMarket = (PoloniexTicker)PoloniexExchange.Default.Tickers.FirstOrDefault(m => m.BaseCurrency == "USDT" && m.MarketCurrency == "BTC"); if (btcMarket == null) { LogManager.Default.AddError("FillDepositTotalPoloniex: can't get BTC currency info"); return; } foreach (PoloniexAccountBalanceInfo info in PoloniexExchange.Default.Balances) { if (info.Available == 0) { continue; } DepositInfo dep = new DepositInfo(); dep.HostName = BittrexExchange.Default.Name; dep.Currency = info.Currency; dep.Amount = info.Available; if (dep.Currency != "BTC") { PoloniexTicker market = (PoloniexTicker)PoloniexExchange.Default.Tickers.FirstOrDefault(m => m.MarketCurrency == dep.Currency); if (market == null) { LogManager.Default.AddError("FillDepositTotalPoloniex: can't get " + dep.Currency + " currency info"); continue; } dep.RateInBTC = dep.Amount * market.Last; } else { dep.RateInBTC = info.Available; } dep.RateInUSD = dep.RateInBTC * btcMarket.Last; list.Add(dep); } }