/// <summary> /// Gets market info for all currency pairs. /// </summary> /// <returns>List of Market Information.</returns> internal static async Task <List <TradingMarketInfo> > GetAllMarketsAsync() { List <TradingMarketInfo> MarketList = new List <TradingMarketInfo>(); List <TradingPair> PairList = await TradingPair.GetAllPairsAsync().ConfigureAwait(false); foreach (TradingPair tp in PairList) { TradingMarketInfo NewMarket = await GetMarketInfoAsync(tp.Pair).ConfigureAwait(false); MarketList.Add(NewMarket); } return(MarketList); }
/// <summary> /// Gets list of all trade limits. /// </summary> /// <returns>List of all trade limits.</returns> internal static async Task <List <TradingLimit> > GetAllLimitsAsync() { List <TradingLimit> LimitList = new List <TradingLimit>(); List <TradingPair> PairList = await TradingPair.GetAllPairsAsync().ConfigureAwait(false); foreach (TradingPair tp in PairList) { TradingLimit NewLimit = await GetLimitAsync(tp.Pair).ConfigureAwait(false); LimitList.Add(NewLimit); } return(LimitList); }
/// <summary> /// Finds exchange rates for all valid coin pairs. /// </summary> /// <returns>List of exchange rates.</returns> internal static async Task <List <TradingRate> > GetAllRatesAsync() { List <TradingRate> RateList = new List <TradingRate>(); List <TradingPair> PairList = await TradingPair.GetAllPairsAsync().ConfigureAwait(false); foreach (TradingPair tp in PairList) { TradingRate NewRate = await GetRateAsync(tp.Pair).ConfigureAwait(false); RateList.Add(NewRate); } return(RateList); }
/// <summary> /// Generates a list of all TradingPairs supported by ShapeShift. /// </summary> /// <returns>A List of TradingPairs.</returns> internal static async Task <List <TradingPair> > GetAllPairsAsync() { //Initialize an empty List of TradingPairs List <TradingPair> PairList = new List <TradingPair>(); //Generate a List of all SupportedCoins List <SupportedCoin> CoinList = await SupportedCoin.GetCoinsAsync().ConfigureAwait(false); //Loop through all SupportedCoins foreach (SupportedCoin Coin1 in CoinList) { //Check if coin is available for Shifting if (Coin1.Status == CoinStatuses.Available) { //Loop through all SupportedCoins again for generating all TradingPairs foreach (SupportedCoin Coin2 in CoinList) { //Check if both coins are not the same and both coins are available to Shift if (Coin1 != Coin2 && Coin2.Status == CoinStatuses.Available) { //Create new TradingPair object and assign values TradingPair NewPair = new TradingPair(); NewPair.Ticker1 = Coin1.Symbol; NewPair.Ticker2 = Coin2.Symbol; NewPair.Pair = string.Format("{0}_{1}", Coin1.Symbol, Coin2.Symbol); //Add new TradingPair object to List of TradingPairs PairList.Add(NewPair); } else { continue; } } } else { continue; } } //Return complete TradingPair List return(PairList); }
/// <summary> /// Generates a list of all TradingPairs supported by ShapeShift. /// </summary> /// <returns>A List of TradingPairs.</returns> public static async Task <List <TradingPair> > GetAllPairsAsync() => await TradingPair.GetAllPairsAsync().ConfigureAwait(false);