remove unsubscribed addresses
[electrum-server.git] / backends / bitcoind / deserialize.py
index 614c15a..60af334 100644 (file)
@@ -290,10 +290,9 @@ def parse_Transaction(vds, is_coinbase):
   for i in xrange(n_vout):
       o = parse_TxOut(vds, i)
 
-      if o['address'] == "None" and o['value']==0:
-          print("skipping strange tx output with zero value")
-          continue
-
+      #if o['address'] == "None" and o['value']==0:
+      #    print("skipping strange tx output with zero value")
+      #    continue
       # if o['address'] != "None":
       d['outputs'].append(o)
 
@@ -392,6 +391,12 @@ def extract_public_key(bytes):
   if match_decoded(decoded, match):
     return public_key_to_bc_address(decoded[0][1])
 
+  # coins sent to black hole
+  # DUP HASH160 20 BYTES:... EQUALVERIFY CHECKSIG
+  match = [ opcodes.OP_DUP, opcodes.OP_HASH160, opcodes.OP_0, opcodes.OP_EQUALVERIFY, opcodes.OP_CHECKSIG ]
+  if match_decoded(decoded, match):
+    return "None"
+
   # Pay-by-Bitcoin-address TxOuts look like:
   # DUP HASH160 20 BYTES:... EQUALVERIFY CHECKSIG
   match = [ opcodes.OP_DUP, opcodes.OP_HASH160, opcodes.OP_PUSHDATA4, opcodes.OP_EQUALVERIFY, opcodes.OP_CHECKSIG ]