diff --git a/electrum/lnutil.py b/electrum/lnutil.py index eb34eefc7..04086fefa 100644 --- a/electrum/lnutil.py +++ b/electrum/lnutil.py @@ -1484,6 +1484,12 @@ class LNPeerAddr: def __str__(self): return '{}@{}'.format(self.pubkey.hex(), self.net_addr_str()) + @classmethod + def from_str(cls, s): + node_id, rest = extract_nodeid(s) + host, port = split_host_port(rest) + return LNPeerAddr(host, int(port), node_id) + def __repr__(self): return f'' diff --git a/electrum/lnworker.py b/electrum/lnworker.py index dfedebf90..8a0582530 100644 --- a/electrum/lnworker.py +++ b/electrum/lnworker.py @@ -2831,7 +2831,9 @@ class LNWallet(LNWorker): if self.stopping_soon: return if self.config.ZEROCONF_TRUSTED_NODE: - await self.add_peer(self.config.ZEROCONF_TRUSTED_NODE) + peer = LNPeerAddr.from_str(self.config.ZEROCONF_TRUSTED_NODE) + if self._can_retry_addr(peer, urgent=True): + await self._add_peer(peer.host, peer.port, peer.pubkey) for chan in self.channels.values(): if chan.is_closed(): continue