moved version check into network definitions so it doesn't apply to litecoin
authorForrest Voight <forrest@forre.st>
Tue, 20 Mar 2012 16:56:55 +0000 (12:56 -0400)
committerForrest Voight <forrest@forre.st>
Tue, 20 Mar 2012 19:43:04 +0000 (15:43 -0400)
p2pool/main.py
p2pool/networks.py

index 7523617..8d317d8 100644 (file)
@@ -63,8 +63,7 @@ def main(args, net, datadir_path, merged_urls, worker_endpoint):
                 raise deferral.RetrySilentlyException()
             v = (yield bitcoind.rpc_getinfo())['version']
             temp_work = yield getwork(bitcoind)
-            major, minor, patch = v//10000, v//100%100, v%100
-            if not (major >= 7 or (major == 6 and patch >= 3) or (major == 5 and minor >= 4) or '/P2SH/' in temp_work['coinbaseflags']):
+            if not net.VERSION_CHECK((v//10000, v//100%100, v%100), temp_work):
                 print >>sys.stderr, '    Bitcoin version too old! BIP16 support required! Upgrade to 0.6.0rc4 or greater!'
                 raise deferral.RetrySilentlyException()
             defer.returnValue(temp_work)
index 936a08f..06b5458 100644 (file)
@@ -23,6 +23,7 @@ nets = dict(
         WORKER_PORT=9332,
         BOOTSTRAP_ADDRS='74.220.242.6:9334 93.97.192.93 66.90.73.83 67.83.108.0 219.84.64.174 24.167.17.248 109.74.195.142 83.211.86.49 89.78.212.44 94.23.34.145 168.7.116.243 72.14.191.28 94.174.40.189:9344'.split(' '),
         ANNOUNCE_CHANNEL='#p2pool',
+        VERSION_CHECK=lambda (major, minor, patch), temp_work: major >= 7 or (major == 6 and patch >= 3) or (major == 5 and minor >= 4) or '/P2SH/' in temp_work['coinbaseflags'],
     ),
     bitcoin_testnet=math.Object(
         PARENT=networks.nets['bitcoin_testnet'],
@@ -39,6 +40,7 @@ nets = dict(
         WORKER_PORT=19332,
         BOOTSTRAP_ADDRS='72.14.191.28'.split(' '),
         ANNOUNCE_CHANNEL='#p2pool-alt',
+        VERSION_CHECK=lambda (major, minor, patch), temp_work: major >= 7 or (major == 6 and patch >= 3) or (major == 5 and minor >= 4) or '/P2SH/' in temp_work['coinbaseflags'],
     ),
     
     litecoin=math.Object(
@@ -56,6 +58,7 @@ nets = dict(
         WORKER_PORT=9327,
         BOOTSTRAP_ADDRS='76.26.53.101 124.205.120.178 190.195.79.161 173.167.113.73 82.161.65.210 67.83.108.0 78.101.67.239 78.100.161.252 87.58.117.233 78.100.162.223 216.239.45.4 78.101.131.221 72.14.191.28 97.81.163.217 69.126.183.240 219.84.64.174 78.101.119.27 89.211.228.244 178.152.122.30 172.16.0.3 76.26.53.101:51319'.split(' '),
         ANNOUNCE_CHANNEL='#p2pool-alt',
+        VERSION_CHECK=lambda (major, minor, patch), temp_work: True,
     ),
     litecoin_testnet=math.Object(
         PARENT=networks.nets['litecoin_testnet'],
@@ -72,6 +75,7 @@ nets = dict(
         WORKER_PORT=19327,
         BOOTSTRAP_ADDRS='72.14.191.28'.split(' '),
         ANNOUNCE_CHANNEL='#p2pool-alt',
+        VERSION_CHECK=lambda (major, minor, patch), temp_work: True,
     ),
 )
 for net_name, net in nets.iteritems():