lnhtlc.discard_unsigned_remote_updates: fix edge case

This commit is contained in:
SomberNight 2019-08-05 17:47:42 +02:00 committed by ThomasV
parent bb63bd98fb
commit 7f1b456b93

View file

@ -181,12 +181,16 @@ class HTLCManager:
"""Discard updates sent by the remote, that the remote itself
did not yet sign (i.e. there was no corresponding commitment_signed msg)
"""
# htlcs
# htlcs added
for htlc_id, ctns in list(self.log[REMOTE]['locked_in'].items()):
if ctns[LOCAL] > self.ctn_latest(LOCAL):
del self.log[REMOTE]['locked_in'][htlc_id]
del self.log[REMOTE]['adds'][htlc_id]
self.log[REMOTE]['next_htlc_id'] = max(self.log[REMOTE]['locked_in']) + 1
if self.log[REMOTE]['locked_in']:
self.log[REMOTE]['next_htlc_id'] = max(self.log[REMOTE]['locked_in']) + 1
else:
self.log[REMOTE]['next_htlc_id'] = 0
# htlcs removed
for log_action in ('settles', 'fails'):
for htlc_id, ctns in list(self.log[LOCAL][log_action].items()):
if ctns[LOCAL] > self.ctn_latest(LOCAL):