commit f7166e95c4119e67667dbda7fe573b3147b7bce7
parent b7178f2d21c96ba483894a2f70ea2ef27e5a2182
Author: SomberNight <somber.night@protonmail.com>
Date: Tue, 14 Aug 2018 21:53:05 +0200
wallet: move get_depending_transactions to AddressSynchronizer
and resolve TODO
Diffstat:
2 files changed, 8 insertions(+), 11 deletions(-)
diff --git a/electrum/address_synchronizer.py b/electrum/address_synchronizer.py
@@ -319,6 +319,14 @@ class AddressSynchronizer(PrintError):
self.txi.pop(tx_hash, None)
self.txo.pop(tx_hash, None)
+ def get_depending_transactions(self, tx_hash):
+ """Returns all (grand-)children of tx_hash in this wallet."""
+ children = set()
+ for other_hash in self.spent_outpoints[tx_hash].values():
+ children.add(other_hash)
+ children |= self.get_depending_transactions(other_hash)
+ return children
+
def receive_tx_callback(self, tx_hash, tx, tx_height):
self.add_unverified_tx(tx_hash, tx_height)
self.add_transaction(tx_hash, tx, allow_unrelated=True)
diff --git a/electrum/wallet.py b/electrum/wallet.py
@@ -1068,17 +1068,6 @@ class Abstract_Wallet(AddressSynchronizer):
index = self.get_address_index(addr)
return self.keystore.decrypt_message(index, message, password)
- def get_depending_transactions(self, tx_hash):
- """Returns all (grand-)children of tx_hash in this wallet."""
- children = set()
- # TODO rewrite this to use self.spent_outpoints
- for other_hash, tx in self.transactions.items():
- for input in (tx.inputs()):
- if input["prevout_hash"] == tx_hash:
- children.add(other_hash)
- children |= self.get_depending_transactions(other_hash)
- return children
-
def txin_value(self, txin):
txid = txin['prevout_hash']
prev_n = txin['prevout_n']