public async Task <List <MarketTrade> > GetMarketTrades(MarketId marketId) { PreludeMarketId preludeMarketId = (PreludeMarketId)marketId; return(PreludeMarketTrade.Parse(marketId, await CallPublic <JObject>(Method.last, preludeMarketId))); }
/// <summary> /// Make a call to a public (non-authenticated) API /// </summary> /// <param name="method">The method to call on the Prelude API</param> /// <param name="marketId">A market ID to append to the method URL</param> /// <returns>The raw JSON returned from Prelude</returns> private async Task <T> CallPublic <T>(Method method, PreludeMarketId marketId) where T : JToken { string url = BuildPublicUrl(method, marketId.QuoteCurrencyCode) + Uri.EscapeUriString(marketId.BaseCurrencyCode.ToLower()); return((T)JToken.Parse(await CallPublic(url))); }
public async Task <List <PreludeMarketId> > GetPairs() { List <PreludeMarketId> pairs = new List <PreludeMarketId>(); foreach (PreludeQuoteCurrency quoteCurrency in Enum.GetValues(typeof(PreludeQuoteCurrency))) { JObject response = await CallPublic <JObject>(Method.pairings, quoteCurrency); foreach (PreludeMarketId marketId in PreludeMarketId.ParsePairs(response, quoteCurrency )) { pairs.Add(marketId); } } return(pairs); }
public PreludeMarket(PreludeMarketId id, MarketStatistics statistics) : base(id, id.BaseCurrencyCode, Enum.GetName(typeof(PreludeQuoteCurrency), id.QuoteCurrencyCode), id.ToString(), statistics) { }
public override async Task <Model.Book> GetMarketDepth(MarketId marketId) { PreludeMarketId preludeMarketId = (PreludeMarketId)marketId; return(PreludeParsers.ParseOrderBook(await CallPublic <JObject>(Method.combined, preludeMarketId))); }