consolidated network definitions
authorForrest Voight <forrest.voight@gmail.com>
Wed, 23 Nov 2011 23:32:13 +0000 (18:32 -0500)
committerForrest Voight <forrest.voight@gmail.com>
Wed, 23 Nov 2011 23:32:13 +0000 (18:32 -0500)
p2pool/bitcoin/data.py
p2pool/bitcoin/i0coin.py [deleted file]
p2pool/bitcoin/ixcoin.py [deleted file]
p2pool/bitcoin/litecoin.py [deleted file]
p2pool/bitcoin/namecoin.py [deleted file]
p2pool/bitcoin/networks.py [new file with mode: 0644]
p2pool/bitcoin/solidcoin.py [deleted file]
p2pool/data.py

index e0c1d9a..3b8bb70 100644 (file)
@@ -841,31 +841,3 @@ if __name__ == '__main__':
             for a in x[1]:
                 print str(a).rjust(10),
         print
-
-# network definitions
-
-class Mainnet(object):
-    BITCOIN_P2P_PREFIX = 'f9beb4d9'.decode('hex')
-    BITCOIN_P2P_PORT = 8333
-    BITCOIN_ADDRESS_VERSION = 0
-    BITCOIN_RPC_PORT = 8332
-    BITCOIN_RPC_CHECK = staticmethod(defer.inlineCallbacks(lambda bitcoind: defer.returnValue(
-        'name_firstupdate' not in (yield bitcoind.rpc_help()) and
-        'ixcoinaddress' not in (yield bitcoind.rpc_help()) and
-        not (yield bitcoind.rpc_getinfo())['testnet']
-    )))
-    BITCOIN_SUBSIDY_FUNC = staticmethod(lambda height: 50*100000000 >> (height + 1)//210000)
-    BITCOIN_SYMBOL = 'BTC'
-
-class Testnet(object):
-    BITCOIN_P2P_PREFIX = 'fabfb5da'.decode('hex')
-    BITCOIN_P2P_PORT = 18333
-    BITCOIN_ADDRESS_VERSION = 111
-    BITCOIN_RPC_PORT = 8332
-    BITCOIN_RPC_CHECK = staticmethod(defer.inlineCallbacks(lambda bitcoind: defer.returnValue(
-        'name_firstupdate' not in (yield bitcoind.rpc_help()) and
-        'ixcoinaddress' not in (yield bitcoind.rpc_help()) and
-        (yield bitcoind.rpc_getinfo())['testnet']
-    )))
-    BITCOIN_SUBSIDY_FUNC = staticmethod(lambda height: 50*100000000 >> (height + 1)//210000)
-    BITCOIN_SYMBOL = 'tBTC'
diff --git a/p2pool/bitcoin/i0coin.py b/p2pool/bitcoin/i0coin.py
deleted file mode 100644 (file)
index 03441d8..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-from twisted.internet import defer
-
-class Mainnet(object):
-    BITCOIN_P2P_PREFIX = 'f1b2b3d4'.decode('hex')
-    BITCOIN_P2P_PORT = 7333
-    BITCOIN_ADDRESS_VERSION = 105
-    BITCOIN_RPC_PORT = 7332
-    BITCOIN_RPC_CHECK = staticmethod(defer.inlineCallbacks(lambda bitcoind: defer.returnValue(
-        'name_firstupdate' not in (yield bitcoind.rpc_help()) and
-        'ixcoinaddress' not in (yield bitcoind.rpc_help()) and
-        'i0coinaddress' in (yield bitcoind.rpc_help()) and
-        not (yield bitcoind.rpc_getinfo())['testnet']
-    )))
-    BITCOIN_SUBSIDY_FUNC = staticmethod(lambda height: 48*100000000 >> (height + 1)//218750)
-    BITCOIN_SYMBOL = 'I0C'
-
-class Testnet(object):
-    BITCOIN_P2P_PREFIX = 'f5b6b7d8'.decode('hex')
-    BITCOIN_P2P_PORT = 17333
-    BITCOIN_ADDRESS_VERSION = 112
-    BITCOIN_RPC_PORT = 7332
-    BITCOIN_RPC_CHECK = staticmethod(defer.inlineCallbacks(lambda bitcoind: defer.returnValue(
-        'name_firstupdate' not in (yield bitcoind.rpc_help()) and
-        'ixcoinaddress' not in (yield bitcoind.rpc_help()) and
-        'i0coinaddress' in (yield bitcoind.rpc_help()) and
-        (yield bitcoind.rpc_getinfo())['testnet']
-    )))
-    BITCOIN_SUBSIDY_FUNC = staticmethod(lambda height: 48*100000000 >> (height + 1)//218750)
-    BITCOIN_SYMBOL = 'tI0C'
diff --git a/p2pool/bitcoin/ixcoin.py b/p2pool/bitcoin/ixcoin.py
deleted file mode 100644 (file)
index 4aa1b46..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-from twisted.internet import defer
-
-class Mainnet(object):
-    BITCOIN_P2P_PREFIX = 'f9beb4d9'.decode('hex')
-    BITCOIN_P2P_PORT = 8337
-    BITCOIN_ADDRESS_VERSION = 138
-    BITCOIN_RPC_PORT = 8338
-    BITCOIN_RPC_CHECK = staticmethod(defer.inlineCallbacks(lambda bitcoind: defer.returnValue(
-        'name_firstupdate' not in (yield bitcoind.rpc_help()) and
-        'ixcoinaddress' in (yield bitcoind.rpc_help()) and
-        not (yield bitcoind.rpc_getinfo())['testnet']
-    )))
-    BITCOIN_SUBSIDY_FUNC = staticmethod(lambda height: 96*100000000 >> (height + 1)//210000)
-    BITCOIN_SYMBOL = 'IXC'
-
-class Testnet(object):
-    BITCOIN_P2P_PREFIX = 'fabfb5da'.decode('hex')
-    BITCOIN_P2P_PORT = 18337
-    BITCOIN_ADDRESS_VERSION = 111
-    BITCOIN_RPC_PORT = 8338
-    BITCOIN_RPC_CHECK = staticmethod(defer.inlineCallbacks(lambda bitcoind: defer.returnValue(
-        'name_firstupdate' not in (yield bitcoind.rpc_help()) and
-        'ixcoinaddress' in (yield bitcoind.rpc_help()) and
-        (yield bitcoind.rpc_getinfo())['testnet']
-    )))
-    BITCOIN_SUBSIDY_FUNC = staticmethod(lambda height: 96*100000000 >> (height + 1)//210000)
-    BITCOIN_SYMBOL = 'tIXC'
diff --git a/p2pool/bitcoin/litecoin.py b/p2pool/bitcoin/litecoin.py
deleted file mode 100644 (file)
index b83da0a..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-from twisted.internet import defer
-
-class Mainnet(object):
-    BITCOIN_P2P_PREFIX = 'fbc0b6db'.decode('hex')
-    BITCOIN_P2P_PORT = 9333
-    BITCOIN_ADDRESS_VERSION = 48
-    BITCOIN_RPC_PORT = 9332
-    BITCOIN_RPC_CHECK = staticmethod(defer.inlineCallbacks(lambda bitcoind: defer.returnValue(
-        'litecoinaddress' in (yield bitcoind.rpc_help()) and
-        not (yield bitcoind.rpc_getinfo())['testnet']
-    )))
-    BITCOIN_SUBSIDY_FUNC = staticmethod(lambda height: 50*100000000 >> (height + 1)//840000)
-    BITCOIN_POW_SCRYPT = True;
-    BITCOIN_SYMBOL = 'LTC'
-
-class Testnet(object):
-    BITCOIN_P2P_PREFIX = 'fcc1b7dc'.decode('hex')
-    BITCOIN_P2P_PORT = 19333
-    BITCOIN_ADDRESS_VERSION = 111
-    BITCOIN_RPC_PORT = 19332
-    BITCOIN_RPC_CHECK = staticmethod(defer.inlineCallbacks(lambda bitcoind: defer.returnValue(
-        'litecoinaddress' in (yield bitcoind.rpc_help()) and
-        (yield bitcoind.rpc_getinfo())['testnet']
-    )))
-    BITCOIN_SUBSIDY_FUNC = staticmethod(lambda height: 50*100000000 >> (height + 1)//840000)
-    BITCOIN_POW_SCRYPT = True;
-    BITCOIN_SYMBOL = 'tLTC'
diff --git a/p2pool/bitcoin/namecoin.py b/p2pool/bitcoin/namecoin.py
deleted file mode 100644 (file)
index bdead37..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-from twisted.internet import defer
-
-class Mainnet(object):
-    BITCOIN_P2P_PREFIX = 'f9beb4fe'.decode('hex')
-    BITCOIN_P2P_PORT = 8334
-    BITCOIN_ADDRESS_VERSION = 52
-    BITCOIN_RPC_PORT = 8332
-    BITCOIN_RPC_CHECK = staticmethod(defer.inlineCallbacks(lambda bitcoind: defer.returnValue(
-        'name_firstupdate' in (yield bitcoind.rpc_help()) and
-        'ixcoinaddress' not in (yield bitcoind.rpc_help()) and
-        not (yield bitcoind.rpc_getinfo())['testnet']
-    )))
-    BITCOIN_SUBSIDY_FUNC = staticmethod(lambda height: 50*100000000 >> (height + 1)//210000)
-    BITCOIN_SYMBOL = 'NMC'
-
-class Testnet(object):
-    BITCOIN_P2P_PREFIX = 'fabfb5fe'.decode('hex')
-    BITCOIN_P2P_PORT = 18334
-    BITCOIN_ADDRESS_VERSION = 111
-    BITCOIN_RPC_PORT = 8332
-    BITCOIN_RPC_CHECK = staticmethod(defer.inlineCallbacks(lambda bitcoind: defer.returnValue(
-        'name_firstupdate' in (yield bitcoind.rpc_help()) and
-        'ixcoinaddress' not in (yield bitcoind.rpc_help()) and
-        (yield bitcoind.rpc_getinfo())['testnet']
-    )))
-    BITCOIN_SUBSIDY_FUNC = staticmethod(lambda height: 50*100000000 >> (height + 1)//210000)
-    BITCOIN_SYMBOL = 'tNMC'
diff --git a/p2pool/bitcoin/networks.py b/p2pool/bitcoin/networks.py
new file mode 100644 (file)
index 0000000..3481975
--- /dev/null
@@ -0,0 +1,151 @@
+from twisted.internet import defer
+
+
+class BitcoinMainnet(object):
+    BITCOIN_P2P_PREFIX = 'f9beb4d9'.decode('hex')
+    BITCOIN_P2P_PORT = 8333
+    BITCOIN_ADDRESS_VERSION = 0
+    BITCOIN_RPC_PORT = 8332
+    BITCOIN_RPC_CHECK = staticmethod(defer.inlineCallbacks(lambda bitcoind: defer.returnValue(
+        'name_firstupdate' not in (yield bitcoind.rpc_help()) and
+        'ixcoinaddress' not in (yield bitcoind.rpc_help()) and
+        not (yield bitcoind.rpc_getinfo())['testnet']
+    )))
+    BITCOIN_SUBSIDY_FUNC = staticmethod(lambda height: 50*100000000 >> (height + 1)//210000)
+    BITCOIN_SYMBOL = 'BTC'
+
+class BitcoinTestnet(object):
+    BITCOIN_P2P_PREFIX = 'fabfb5da'.decode('hex')
+    BITCOIN_P2P_PORT = 18333
+    BITCOIN_ADDRESS_VERSION = 111
+    BITCOIN_RPC_PORT = 8332
+    BITCOIN_RPC_CHECK = staticmethod(defer.inlineCallbacks(lambda bitcoind: defer.returnValue(
+        'name_firstupdate' not in (yield bitcoind.rpc_help()) and
+        'ixcoinaddress' not in (yield bitcoind.rpc_help()) and
+        (yield bitcoind.rpc_getinfo())['testnet']
+    )))
+    BITCOIN_SUBSIDY_FUNC = staticmethod(lambda height: 50*100000000 >> (height + 1)//210000)
+    BITCOIN_SYMBOL = 'tBTC'
+
+
+class NamecoinMainnet(object):
+    BITCOIN_P2P_PREFIX = 'f9beb4fe'.decode('hex')
+    BITCOIN_P2P_PORT = 8334
+    BITCOIN_ADDRESS_VERSION = 52
+    BITCOIN_RPC_PORT = 8332
+    BITCOIN_RPC_CHECK = staticmethod(defer.inlineCallbacks(lambda bitcoind: defer.returnValue(
+        'name_firstupdate' in (yield bitcoind.rpc_help()) and
+        'ixcoinaddress' not in (yield bitcoind.rpc_help()) and
+        not (yield bitcoind.rpc_getinfo())['testnet']
+    )))
+    BITCOIN_SUBSIDY_FUNC = staticmethod(lambda height: 50*100000000 >> (height + 1)//210000)
+    BITCOIN_SYMBOL = 'NMC'
+
+class NamecoinTestnet(object):
+    BITCOIN_P2P_PREFIX = 'fabfb5fe'.decode('hex')
+    BITCOIN_P2P_PORT = 18334
+    BITCOIN_ADDRESS_VERSION = 111
+    BITCOIN_RPC_PORT = 8332
+    BITCOIN_RPC_CHECK = staticmethod(defer.inlineCallbacks(lambda bitcoind: defer.returnValue(
+        'name_firstupdate' in (yield bitcoind.rpc_help()) and
+        'ixcoinaddress' not in (yield bitcoind.rpc_help()) and
+        (yield bitcoind.rpc_getinfo())['testnet']
+    )))
+    BITCOIN_SUBSIDY_FUNC = staticmethod(lambda height: 50*100000000 >> (height + 1)//210000)
+    BITCOIN_SYMBOL = 'tNMC'
+
+
+class IxcoinMainnet(object):
+    BITCOIN_P2P_PREFIX = 'f9beb4d9'.decode('hex')
+    BITCOIN_P2P_PORT = 8337
+    BITCOIN_ADDRESS_VERSION = 138
+    BITCOIN_RPC_PORT = 8338
+    BITCOIN_RPC_CHECK = staticmethod(defer.inlineCallbacks(lambda bitcoind: defer.returnValue(
+        'name_firstupdate' not in (yield bitcoind.rpc_help()) and
+        'ixcoinaddress' in (yield bitcoind.rpc_help()) and
+        not (yield bitcoind.rpc_getinfo())['testnet']
+    )))
+    BITCOIN_SUBSIDY_FUNC = staticmethod(lambda height: 96*100000000 >> (height + 1)//210000)
+    BITCOIN_SYMBOL = 'IXC'
+
+class IxcoinTestnet(object):
+    BITCOIN_P2P_PREFIX = 'fabfb5da'.decode('hex')
+    BITCOIN_P2P_PORT = 18337
+    BITCOIN_ADDRESS_VERSION = 111
+    BITCOIN_RPC_PORT = 8338
+    BITCOIN_RPC_CHECK = staticmethod(defer.inlineCallbacks(lambda bitcoind: defer.returnValue(
+        'name_firstupdate' not in (yield bitcoind.rpc_help()) and
+        'ixcoinaddress' in (yield bitcoind.rpc_help()) and
+        (yield bitcoind.rpc_getinfo())['testnet']
+    )))
+    BITCOIN_SUBSIDY_FUNC = staticmethod(lambda height: 96*100000000 >> (height + 1)//210000)
+    BITCOIN_SYMBOL = 'tIXC'
+
+
+class I0coinMainnet(object):
+    BITCOIN_P2P_PREFIX = 'f1b2b3d4'.decode('hex')
+    BITCOIN_P2P_PORT = 7333
+    BITCOIN_ADDRESS_VERSION = 105
+    BITCOIN_RPC_PORT = 7332
+    BITCOIN_RPC_CHECK = staticmethod(defer.inlineCallbacks(lambda bitcoind: defer.returnValue(
+        'name_firstupdate' not in (yield bitcoind.rpc_help()) and
+        'ixcoinaddress' not in (yield bitcoind.rpc_help()) and
+        'i0coinaddress' in (yield bitcoind.rpc_help()) and
+        not (yield bitcoind.rpc_getinfo())['testnet']
+    )))
+    BITCOIN_SUBSIDY_FUNC = staticmethod(lambda height: 48*100000000 >> (height + 1)//218750)
+    BITCOIN_SYMBOL = 'I0C'
+
+class I0coinTestnet(object):
+    BITCOIN_P2P_PREFIX = 'f5b6b7d8'.decode('hex')
+    BITCOIN_P2P_PORT = 17333
+    BITCOIN_ADDRESS_VERSION = 112
+    BITCOIN_RPC_PORT = 7332
+    BITCOIN_RPC_CHECK = staticmethod(defer.inlineCallbacks(lambda bitcoind: defer.returnValue(
+        'name_firstupdate' not in (yield bitcoind.rpc_help()) and
+        'ixcoinaddress' not in (yield bitcoind.rpc_help()) and
+        'i0coinaddress' in (yield bitcoind.rpc_help()) and
+        (yield bitcoind.rpc_getinfo())['testnet']
+    )))
+    BITCOIN_SUBSIDY_FUNC = staticmethod(lambda height: 48*100000000 >> (height + 1)//218750)
+    BITCOIN_SYMBOL = 'tI0C'
+
+
+class SolidcoinMainnet(object):
+    BITCOIN_P2P_PREFIX = 'deadbabe'.decode('hex')
+    BITCOIN_P2P_PORT = 7555
+    BITCOIN_ADDRESS_VERSION = 125
+    BITCOIN_RPC_PORT = 8332
+    BITCOIN_RPC_CHECK = staticmethod(defer.inlineCallbacks(lambda bitcoind: defer.returnValue(
+        'solidcoinaddress' in (yield bitcoind.rpc_help()) and
+        not (yield bitcoind.rpc_getinfo())['testnet']
+    )))
+    BITCOIN_SUBSIDY_FUNC = staticmethod(lambda height: 32*100000000 >> (height + 1)//300000)
+    BITCOIN_SYMBOL = 'SC'
+
+
+class LitecoinMainnet(object):
+    BITCOIN_P2P_PREFIX = 'fbc0b6db'.decode('hex')
+    BITCOIN_P2P_PORT = 9333
+    BITCOIN_ADDRESS_VERSION = 48
+    BITCOIN_RPC_PORT = 9332
+    BITCOIN_RPC_CHECK = staticmethod(defer.inlineCallbacks(lambda bitcoind: defer.returnValue(
+        'litecoinaddress' in (yield bitcoind.rpc_help()) and
+        not (yield bitcoind.rpc_getinfo())['testnet']
+    )))
+    BITCOIN_SUBSIDY_FUNC = staticmethod(lambda height: 50*100000000 >> (height + 1)//840000)
+    BITCOIN_POW_SCRYPT = True;
+    BITCOIN_SYMBOL = 'LTC'
+
+class LitecoinTestnet(object):
+    BITCOIN_P2P_PREFIX = 'fcc1b7dc'.decode('hex')
+    BITCOIN_P2P_PORT = 19333
+    BITCOIN_ADDRESS_VERSION = 111
+    BITCOIN_RPC_PORT = 19332
+    BITCOIN_RPC_CHECK = staticmethod(defer.inlineCallbacks(lambda bitcoind: defer.returnValue(
+        'litecoinaddress' in (yield bitcoind.rpc_help()) and
+        (yield bitcoind.rpc_getinfo())['testnet']
+    )))
+    BITCOIN_SUBSIDY_FUNC = staticmethod(lambda height: 50*100000000 >> (height + 1)//840000)
+    BITCOIN_POW_SCRYPT = True;
+    BITCOIN_SYMBOL = 'tLTC'
diff --git a/p2pool/bitcoin/solidcoin.py b/p2pool/bitcoin/solidcoin.py
deleted file mode 100644 (file)
index 763f3c0..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-from twisted.internet import defer
-
-class Mainnet(object):
-    BITCOIN_P2P_PREFIX = 'deadbabe'.decode('hex')
-    BITCOIN_P2P_PORT = 7555
-    BITCOIN_ADDRESS_VERSION = 125
-    BITCOIN_RPC_PORT = 8332
-    BITCOIN_RPC_CHECK = staticmethod(defer.inlineCallbacks(lambda bitcoind: defer.returnValue(
-        'solidcoinaddress' in (yield bitcoind.rpc_help()) and
-        not (yield bitcoind.rpc_getinfo())['testnet']
-    )))
-    BITCOIN_SUBSIDY_FUNC = staticmethod(lambda height: 32*100000000 >> (height + 1)//300000)
-    BITCOIN_SYMBOL = 'SC'
index a3f2d9a..cabea0c 100644 (file)
@@ -9,7 +9,7 @@ from twisted.python import log
 
 import p2pool
 from p2pool import skiplists
-from p2pool.bitcoin import data as bitcoin_data, script, namecoin, ixcoin, i0coin, solidcoin, litecoin
+from p2pool.bitcoin import data as bitcoin_data, script, networks
 from p2pool.util import memoize, expiring_dict, math
 
 
@@ -547,7 +547,7 @@ class ShareStore(object):
             os.remove(filename)
             print "REMOVED", filename
 
-class BitcoinMainnet(bitcoin_data.Mainnet):
+class BitcoinMainnet(networks.BitcoinMainnet):
     SHARE_PERIOD = 10 # seconds
     CHAIN_LENGTH = 24*60*60//5 # shares
     TARGET_LOOKBEHIND = 200 # shares
@@ -561,7 +561,7 @@ class BitcoinMainnet(bitcoin_data.Mainnet):
     PERSIST = True
     WORKER_PORT = 9332
 
-class BitcoinTestnet(bitcoin_data.Testnet):
+class BitcoinTestnet(networks.BitcoinTestnet):
     SHARE_PERIOD = 1 # seconds
     CHAIN_LENGTH = 24*60*60//5 # shares
     TARGET_LOOKBEHIND = 200 # shares
@@ -575,7 +575,7 @@ class BitcoinTestnet(bitcoin_data.Testnet):
     PERSIST = False
     WORKER_PORT = 19332
 
-class NamecoinMainnet(namecoin.Mainnet):
+class NamecoinMainnet(networks.NamecoinMainnet):
     SHARE_PERIOD = 10 # seconds
     CHAIN_LENGTH = 24*60*60//10 # shares
     TARGET_LOOKBEHIND = 3600//10 # shares
@@ -589,7 +589,7 @@ class NamecoinMainnet(namecoin.Mainnet):
     PERSIST = True
     WORKER_PORT = 9331
 
-class NamecoinTestnet(namecoin.Testnet):
+class NamecoinTestnet(networks.NamecoinTestnet):
     SHARE_PERIOD = 1 # seconds
     CHAIN_LENGTH = 24*60*60//5 # shares
     TARGET_LOOKBEHIND = 200 # shares
@@ -603,7 +603,7 @@ class NamecoinTestnet(namecoin.Testnet):
     PERSIST = False
     WORKER_PORT = 19331
 
-class IxcoinMainnet(ixcoin.Mainnet):
+class IxcoinMainnet(networks.IxcoinMainnet):
     SHARE_PERIOD = 10 # seconds
     CHAIN_LENGTH = 24*60*60//10 # shares
     TARGET_LOOKBEHIND = 3600//10 # shares
@@ -617,7 +617,7 @@ class IxcoinMainnet(ixcoin.Mainnet):
     PERSIST = True
     WORKER_PORT = 9330
 
-class IxcoinTestnet(ixcoin.Testnet):
+class IxcoinTestnet(networks.IxcoinTestnet):
     SHARE_PERIOD = 1 # seconds
     CHAIN_LENGTH = 24*60*60//5 # shares
     TARGET_LOOKBEHIND = 200 # shares
@@ -631,7 +631,7 @@ class IxcoinTestnet(ixcoin.Testnet):
     PERSIST = False
     WORKER_PORT = 19330
 
-class I0coinMainnet(i0coin.Mainnet):
+class I0coinMainnet(networks.I0coinMainnet):
     SHARE_PERIOD = 10 # seconds
     CHAIN_LENGTH = 24*60*60//10 # shares
     TARGET_LOOKBEHIND = 3600//10 # shares
@@ -645,7 +645,7 @@ class I0coinMainnet(i0coin.Mainnet):
     PERSIST = False
     WORKER_PORT = 9329
 
-class I0coinTestnet(i0coin.Testnet):
+class I0coinTestnet(networks.I0coinTestnet):
     SHARE_PERIOD = 1 # seconds
     CHAIN_LENGTH = 24*60*60//5 # shares
     TARGET_LOOKBEHIND = 200 # shares
@@ -659,12 +659,12 @@ class I0coinTestnet(i0coin.Testnet):
     PERSIST = False
     WORKER_PORT = 19329
 
-class SolidcoinMainnet(solidcoin.Mainnet):
+class SolidcoinMainnet(networks.SolidcoinMainnet):
     SHARE_PERIOD = 10
     CHAIN_LENGTH = 24*60*60//10 # shares
     TARGET_LOOKBEHIND = 3600//10 # shares
     SPREAD = 3 # blocks
-    SCRIPT = bitcoin_data.pubkey_hash_to_script2(bitcoin_data.address_to_pubkey_hash('sMKZ1yxHETxPYKh4Z2anWnwZDJZU7ztroy', solidcoin.Mainnet))
+    SCRIPT = bitcoin_data.pubkey_hash_to_script2(bitcoin_data.address_to_pubkey_hash('sMKZ1yxHETxPYKh4Z2anWnwZDJZU7ztroy', networks.SolidcoinMainnet))
     IDENTIFIER = '9cc9c421cca258cd'.decode('hex')
     PREFIX = 'c059125b8070f00a'.decode('hex')
     NAME = 'solidcoin'
@@ -673,7 +673,7 @@ class SolidcoinMainnet(solidcoin.Mainnet):
     PERSIST = True
     WORKER_PORT = 9328
 
-class LitecoinMainnet(litecoin.Mainnet):
+class LitecoinMainnet(networks.LitecoinMainnet):
     SHARE_PERIOD = 10 # seconds
     CHAIN_LENGTH = 24*60*60//5 # shares
     TARGET_LOOKBEHIND = 200 # shares
@@ -687,7 +687,7 @@ class LitecoinMainnet(litecoin.Mainnet):
     PERSIST = True
     WORKER_PORT = 9327
 
-class LitecoinTestnet(litecoin.Testnet):
+class LitecoinTestnet(networks.LitecoinTestnet):
     SHARE_PERIOD = 1 # seconds
     CHAIN_LENGTH = 24*60*60//5 # shares
     TARGET_LOOKBEHIND = 200 # shares