commit 878dc17acbe664d512623f588b1efbdf338385a7
parent 2c6925e526d04626fbad72bc33884f205a0d14ff
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:
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/electrum/lnhtlc.py b/electrum/lnhtlc.py
@@ -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,
@@ -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()},
}