wizard restore hook
[electrum-nvc.git] / lib / network.py
index ca145e2..f07846a 100644 (file)
@@ -18,7 +18,9 @@ DEFAULT_SERVERS = {
     'electrum.electricnewyear.net': DEFAULT_PORTS,
     'erbium.sytes.net': DEFAULT_PORTS,
     'e2.pdmc.net':DEFAULT_PORTS,
+    'electrum.no-ip.org':{'h': '80', 's': '50002', 't': '50001', 'g': '443'},
     'electrum.thwg.org':DEFAULT_PORTS,
+    'electrum.stepkrav.pw':DEFAULT_PORTS,
 }
 
 
@@ -70,7 +72,9 @@ from simple_config import SimpleConfig
 
 class Network(threading.Thread):
 
-    def __init__(self, config = {}):
+    def __init__(self, config=None):
+        if config is None:
+            config = {}  # Do not use mutables as default values!
         threading.Thread.__init__(self)
         self.daemon = True
         self.config = SimpleConfig(config) if type(config) == type({}) else config
@@ -109,6 +113,7 @@ class Network(threading.Thread):
         self.subscriptions = {}
         self.subscriptions[self.on_banner] = [('server.banner',[])]
         self.subscriptions[self.on_peers] = [('server.peers.subscribe',[])]
+        self.pending_transactions_for_notifications = []
 
 
     def is_connected(self):
@@ -368,8 +373,11 @@ class Network(threading.Thread):
 
     def on_header(self, i, r):
         result = r.get('result')
-        if not result: return
+        if not result:
+            return
         height = result.get('block_height')
+        if not height:
+            return
         self.heights[i.server] = height
         self.merkle_roots[i.server] = result.get('merkle_root')
         self.utxo_roots[i.server] = result.get('utxo_root')