hash tree of unspents
[electrum-server.git] / backends / bitcoind / deserialize.py
index bacc1a7..93ad4d4 100644 (file)
@@ -388,7 +388,10 @@ def get_address_from_input_script(bytes):
 
 
 def get_address_from_output_script(bytes):
-    decoded = [ x for x in script_GetOp(bytes) ]
+    try:
+        decoded = [ x for x in script_GetOp(bytes) ]
+    except:
+        return None
 
     # The Genesis Block, self-payments, and pay-by-IP-address payments look like:
     # 65 BYTES:... CHECKSIG
@@ -400,7 +403,7 @@ def get_address_from_output_script(bytes):
     # 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"
+        return None
 
     # Pay-by-Bitcoin-address TxOuts look like:
     # DUP HASH160 20 BYTES:... EQUALVERIFY CHECKSIG
@@ -419,4 +422,4 @@ def get_address_from_output_script(bytes):
         addr = hash_160_to_bc_address(decoded[1][1],5)
         return addr
 
-    return "None"
+    return None