private async Task <List <string> > GetOutOfSyncAddressesAsync() { var qbitResult = await _qBitNinjaWalletClient.GetAddresses(); var qbitAddresses = qbitResult.Select(x => x.Address.ToString()).ToList(); var safeAddresses = new HashSet <string>(); for (var i = 0; i < AddressCount; i++) { safeAddresses.Add(KeyRing.GetAddress(i)); } if (qbitAddresses.Any(qbitAddress => !safeAddresses.Contains(qbitAddress))) { throw new Exception("QBitNinja wallet and HTTPKeyRingMonitor is out of sync."); } return(safeAddresses.Where(safeAddress => !qbitAddresses.Contains(safeAddress)).ToList()); }