electrum

Electrum Bitcoin wallet
git clone https://git.parazyd.org/electrum
Log | Files | Refs | Submodules

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:
Melectrum/lnhtlc.py | 12++++++++++--
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()}, }