Browse Source

lnpeer: await_remote/await_local now more restrictive, and docstring

Previously it was not so clear what these methods were doing.
hard-fail-on-bad-server-string
SomberNight 5 years ago
parent
commit
e7ab9e4054
No known key found for this signature in database GPG Key ID: B33B5F232C6271E9
  1. 12
      electrum/lnpeer.py

12
electrum/lnpeer.py

@ -1019,15 +1019,19 @@ class Peer(Logger):
self.send_message("commitment_signed", channel_id=chan.channel_id, signature=sig_64, num_htlcs=len(htlc_sigs), htlc_signature=b"".join(htlc_sigs))
async def await_remote(self, chan: Channel, ctn: int):
"""Wait until remote 'ctn' gets revoked."""
# if 'ctn' is too high, we risk waiting "forever", hence assert:
assert chan.get_latest_ctn(REMOTE) >= ctn, (chan.get_latest_ctn(REMOTE), ctn)
self.maybe_send_commitment(chan)
# TODO review this. I suspect some callers want updates irrevocably committed,
# so comparision should use chan.get_oldest_unrevoked_ctn(REMOTE)
while chan.get_latest_ctn(REMOTE) <= ctn:
while chan.get_oldest_unrevoked_ctn(REMOTE) <= ctn:
await self._remote_changed_events[chan.channel_id].wait()
async def await_local(self, chan: Channel, ctn: int):
"""Wait until local 'ctn' gets revoked."""
# if 'ctn' is too high, we risk waiting "forever", hence assert:
assert chan.get_latest_ctn(LOCAL) >= ctn, (chan.get_latest_ctn(LOCAL), ctn)
self.maybe_send_commitment(chan)
while chan.get_latest_ctn(LOCAL) <= ctn:
while chan.get_oldest_unrevoked_ctn(LOCAL) <= ctn:
await self._local_changed_events[chan.channel_id].wait()
async def pay(self, route: 'LNPaymentRoute', chan: Channel, amount_msat: int,

Loading…
Cancel
Save