assert that merkle_root passed to get_share is correct
authorForrest Voight <forrest@forre.st>
Tue, 1 Jan 2013 21:18:29 +0000 (16:18 -0500)
committerForrest Voight <forrest@forre.st>
Wed, 2 Jan 2013 01:01:28 +0000 (20:01 -0500)
p2pool/data.py

index 7643e61..f4114cd 100644 (file)
@@ -199,8 +199,8 @@ class Share(object):
         )
         
         def get_share(header, last_txout_nonce=last_txout_nonce):
-            min_header=dict(header);del min_header['merkle_root']
-            return cls(net, None, dict(
+            min_header = dict(header); del min_header['merkle_root']
+            share = cls(net, None, dict(
                 min_header=min_header,
                 share_info=share_info,
                 ref_merkle_link=dict(branch=[], index=0),
@@ -208,6 +208,8 @@ class Share(object):
                 hash_link=prefix_to_hash_link(bitcoin_data.tx_type.pack(gentx)[:-32-4-4], cls.gentx_before_refhash),
                 merkle_link=bitcoin_data.calculate_merkle_link([None] + other_transaction_hashes, 0),
             ))
+            assert share.header == header # checks merkle_root
+            return share
         
         return share_info, gentx, other_transaction_hashes, get_share