public async Task <ITrade> GetLatestTradeAsync(
     LatestDataRequest request,
     CancellationToken cancellationToken = default) =>
 await _httpClient.GetAsync <ITrade, JsonLatestTrade>(
     await request.EnsureNotNull(nameof(request))
     .GetUriBuilderAsync(_httpClient, "trades").ConfigureAwait(false),
     cancellationToken).ConfigureAwait(false);
 public async Task <IQuote> GetLatestQuoteAsync(
     LatestDataRequest request,
     CancellationToken cancellationToken = default) =>
 await _httpClient.GetAsync <IQuote, JsonLatestQuote <JsonHistoricalCryptoQuote> >(
     await request.EnsureNotNull(nameof(request))
     .GetUriBuilderAsync(_httpClient, "quotes").ConfigureAwait(false),
     cancellationToken).ConfigureAwait(false);
 public async Task <IBar> GetLatestBarAsync(
     LatestDataRequest request,
     CancellationToken cancellationToken = default) =>
 await _httpClient.GetAsync <IBar, JsonLatestBar>(
     await request.EnsureNotNull(nameof(request)).Validate()
     .GetUriBuilderAsync(_httpClient, "bars").ConfigureAwait(false),
     cancellationToken).ConfigureAwait(false);