NVC/PPC protocol changes support
[p2pool.git] / p2pool / bitcoin / p2p.py
index fd403f1..6cec4b6 100644 (file)
@@ -15,7 +15,8 @@ from p2pool.util import deferral, p2protocol, pack, variable
 class Protocol(p2protocol.Protocol):
     def __init__(self, net):
         p2protocol.Protocol.__init__(self, net.P2P_PREFIX, 1000000)
-    
+        self.net = net
+
     def connectionMade(self):
         self.send_version(
             version=32200,
@@ -115,7 +116,7 @@ class Protocol(p2protocol.Protocol):
         ('block', bitcoin_data.block_type),
     ])
     def handle_block(self, block):
-        block_hash = bitcoin_data.hash256(bitcoin_data.block_header_type.pack(block['header']))
+        block_hash = self.net.BLOCKHASH_FUNC(bitcoin_data.block_header_type.pack(block['header']))
         self.get_block.got_response(block_hash, block)
         self.get_block_header.got_response(block_hash, block['header'])
     
@@ -125,7 +126,7 @@ class Protocol(p2protocol.Protocol):
     def handle_headers(self, headers):
         for header in headers:
             header = header['header']
-            self.get_block_header.got_response(bitcoin_data.hash256(bitcoin_data.block_header_type.pack(header)), header)
+            self.get_block_header.got_response(self.net.BLOCKHASH_FUNC(bitcoin_data.block_header_type.pack(header)), header)
         self.factory.new_headers.happened([header['header'] for header in headers])
     
     message_ping = pack.ComposedType([])