public async Task<TupleValue<int, BlockIdentity?>> FetchHeadersAsync() { var client = new WalletLoaderService.WalletLoaderServiceClient(_channel); var request = new FetchHeadersRequest(); var response = await client.FetchHeadersAsync(request, cancellationToken: _tokenSource.Token); BlockIdentity? blockIdentity = null; if (response.FetchedHeadersCount != 0) { blockIdentity = new BlockIdentity(new Blake256Hash(response.FirstNewBlockHash.ToByteArray()), response.FirstNewBlockHeight); } return TupleValue.Create((int)response.FetchedHeadersCount, blockIdentity); }