tln: don't save htlcs that are not locked in - electrum - Electrum Bitcoin wallet HTML git clone https://git.parazyd.org/electrum DIR Log DIR Files DIR Refs DIR Submodules --- DIR commit 878dc17acbe664d512623f588b1efbdf338385a7 DIR parent 2c6925e526d04626fbad72bc33884f205a0d14ff HTML Author: Janus <ysangkok@gmail.com> Date: Tue, 25 Sep 2018 18:48:22 +0200 ln: don't save htlcs that are not locked in Diffstat: M electrum/lnhtlc.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) --- DIR diff --git a/electrum/lnhtlc.py b/electrum/lnhtlc.py t@@ -659,6 +659,14 @@ class HTLCStateMachine(PrintError): pending_fee = FeeUpdate(self, rate=feerate) self.fee_mgr.append(pending_fee) + @staticmethod + def remove_unlocked(log): + copy = [] + for i in log: + if type(i) is not UpdateAddHtlc or i.locked_in[LOCAL] is not None or i.locked_in[REMOTE] is not None: + copy.append(i) + return copy + def to_save(self): return { "local_config": self.local_config, t@@ -671,8 +679,8 @@ class HTLCStateMachine(PrintError): "funding_outpoint": self.funding_outpoint, "node_id": self.node_id, "remote_commitment_to_be_revoked": str(self.remote_commitment_to_be_revoked), - "remote_log": [(type(x).__name__, x) for x in self.log[REMOTE]], - "local_log": [(type(x).__name__, x) for x in self.log[LOCAL]], + "remote_log": [(type(x).__name__, x) for x in self.remove_unlocked(self.log[REMOTE])], + "local_log": [(type(x).__name__, x) for x in self.remove_unlocked(self.log[LOCAL])], "fee_updates": [x.to_save() for x in self.fee_mgr], "onion_keys": {str(k): bh2u(v) for k, v in self.onion_keys.items()}, }