From 3746050fe6bfd053984def39355f3062ca86538f Mon Sep 17 00:00:00 2001 From: Neil Booth Date: Thu, 10 Sep 2015 13:32:00 +0900 Subject: [PATCH] Subscribed address fix Add an addr to the subcribed address set on receiving a response, not on sending a request. --- lib/network.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/network.py b/lib/network.py index 7f7247357..2a8b66720 100644 --- a/lib/network.py +++ b/lib/network.py @@ -509,6 +509,10 @@ class Network(util.DaemonThread): # Copy the request method and params to the response response['method'] = method response['params'] = params + # Only once we've received a response to an addr subscription + # add it to the list; avoids double-sends on reconnection + if method == 'blockchain.address.subscribe': + self.subscribed_addresses.add(params[0]) else: if not response: # Closed remotely / misbehaving self.connection_down(interface.server) @@ -570,10 +574,6 @@ class Network(util.DaemonThread): callback(out) return True - if method == 'blockchain.address.subscribe': - addr = params[0] - self.subscribed_addresses.add(addr) - # This request needs connectivity. If we don't have an # interface, we cannot process it. if not self.interface: