Browse Source

Merge pull request #5700 from fiatjaf/bugfixopenchannel

fix expected returned peer address values when opening channel.
dependabot/pip/contrib/deterministic-build/ecdsa-0.13.3
ghost43 5 years ago
committed by GitHub
parent
commit
d480d0b265
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 3
      electrum/channel_db.py
  2. 6
      electrum/lnworker.py

3
electrum/channel_db.py

@ -250,7 +250,8 @@ class ChannelDB(SqlDB):
self._channels = {} # type: Dict[bytes, ChannelInfo]
self._policies = {}
self._nodes = {}
self._addresses = defaultdict(set)
# node_id -> (host, port, ts)
self._addresses = defaultdict(set) # type: Dict[bytes, Set[Tuple[str, int, int]]]
self._channels_for_node = defaultdict(set)
self.data_loaded = asyncio.Event()
self.network = network # only for callback

6
electrum/lnworker.py

@ -251,7 +251,7 @@ class LNWorker(Logger):
return peers
@staticmethod
def choose_preferred_address(addr_list: List[Tuple[str, int]]) -> Tuple[str, int]:
def choose_preferred_address(addr_list: Sequence[Tuple[str, int, int]]) -> Tuple[str, int, int]:
assert len(addr_list) >= 1
# choose first one that is an IP
for host, port, timestamp in addr_list:
@ -793,9 +793,9 @@ class LNWallet(LNWorker):
host, port = split_host_port(rest)
else:
addrs = self.channel_db.get_node_addresses(node_id)
if len(addrs) == 0:
if not addrs:
raise ConnStringFormatError(_('Don\'t know any addresses for node:') + ' ' + bh2u(node_id))
host, port = self.choose_preferred_address(addrs)
host, port, timestamp = self.choose_preferred_address(addrs)
try:
socket.getaddrinfo(host, int(port))
except socket.gaierror:

Loading…
Cancel
Save