async def _get_next_peers_to_try(self) -> Sequence[LNPeerAddr]:
    now = time.time()
    (await self.channel_db.data_loaded.wait())
    recent_peers = self.channel_db.get_recent_peers()
    for peer in recent_peers:
        if (not peer):
            continue
        if (peer.pubkey in self._peers):
            continue
        if (not self._can_retry_addr(peer, now=now)):
            continue
        if (not self.is_good_peer(peer)):
            continue
        return [peer]
    unconnected_nodes = self.channel_db.get_200_randomly_sorted_nodes_not_in(self.peers.keys())
    if unconnected_nodes:
        for node_id in unconnected_nodes:
            addrs = self.channel_db.get_node_addresses(node_id)
            if (not addrs):
                continue
            (host, port, timestamp) = self.choose_preferred_address(list(addrs))
            try:
                peer = LNPeerAddr(host, port, node_id)
            except ValueError:
                continue
            if (not self._can_retry_addr(peer, now=now)):
                continue
            if (not self.is_good_peer(peer)):
                continue
            return [peer]
    if (constants.net in (constants.RavencoinTestnet,)):
        fallback_list = FALLBACK_NODE_LIST_TESTNET
    elif (constants.net in (constants.RavencoinMainnet,)):
        fallback_list = FALLBACK_NODE_LIST_MAINNET
    else:
        return []
    fallback_list = [peer for peer in fallback_list if self._can_retry_addr(peer, now=now)]
    if fallback_list:
        return [random.choice(fallback_list)]
    return (await run_in_thread(self._get_peers_from_dns_seeds))
async def _get_next_peers_to_try(self) -> Sequence[LNPeerAddr]:
    now = time.time()
    (await self.channel_db.data_loaded.wait())
    recent_peers = self.channel_db.get_recent_peers()
    for peer in recent_peers:
        if (not peer):
            continue
        if (peer.pubkey in self._peers):
            continue
        if (not self._can_retry_addr(peer, now=now)):
            continue
        if (not self.is_good_peer(peer)):
            continue
        return [peer]
    unconnected_nodes = self.channel_db.get_200_randomly_sorted_nodes_not_in(self.peers.keys())
    if unconnected_nodes:
        for node_id in unconnected_nodes:
            addrs = self.channel_db.get_node_addresses(node_id)
            if (not addrs):
                continue
            (host, port, timestamp) = self.choose_preferred_address(list(addrs))
            try:
                peer = LNPeerAddr(host, port, node_id)
            except ValueError:
                continue
            if (not self._can_retry_addr(peer, now=now)):
                continue
            if (not self.is_good_peer(peer)):
                continue
            return [peer]
    if (constants.net in (constants.RavencoinTestnet,)):
        fallback_list = FALLBACK_NODE_LIST_TESTNET
    elif (constants.net in (constants.RavencoinMainnet,)):
        fallback_list = FALLBACK_NODE_LIST_MAINNET
    else:
        return []
    fallback_list = [peer for peer in fallback_list if self._can_retry_addr(peer, now=now)]
    if fallback_list:
        return [random.choice(fallback_list)]
    return (await run_in_thread(self._get_peers_from_dns_seeds))