Get address from mempool for prevout not in db
authorJerzy Kozera <jerzy.kozera@gmail.com>
Sun, 14 Apr 2013 22:43:09 +0000 (00:43 +0200)
committerJerzy Kozera <jerzy.kozera@gmail.com>
Sun, 14 Apr 2013 22:43:09 +0000 (00:43 +0200)
This fixes transactions from memorypool with inputs also in memorypool not being processed

backends/bitcoind/blockchain_processor.py

index 9a14ded..310f10b 100644 (file)
@@ -829,7 +829,12 @@ class BlockchainProcessor(Processor):
                 try:
                     addr = self.db.Get(txi)
                 except:
-                    continue
+                    tx_prev = self.get_mempool_transaction(x.get('prevout_hash'))
+                    try:
+                        addr = tx_prev['outputs'][x.get('prevout_n')]['address']
+                        if not addr: continue
+                    except:
+                        continue
                 l = self.mempool_addresses.get(tx_hash, [])
                 if addr not in l:
                     l.append(addr)