Browse Source

Merge pull request #4371 from haarts/remove-explicit-protocol-mentions

Remove explicit protocol mentions
3.2.x
ThomasV 7 years ago
committed by GitHub
parent
commit
d538106caf
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 3
      lib/commands.py
  2. 20
      lib/network.py
  3. 4
      lib/websockets.py

3
lib/commands.py

@ -647,8 +647,7 @@ class Commands:
util.print_error('Got Response for %s' % address)
except BaseException as e:
util.print_error(str(e))
h = self.network.addr_to_scripthash(address)
self.network.send([('blockchain.scripthash.subscribe', [h])], callback)
self.network.subscribe_to_addresses([addr], callback)
return True
@command('wn')

20
lib/network.py

@ -625,13 +625,7 @@ class Network(util.DaemonThread):
# Response is now in canonical form
self.process_response(interface, response, callbacks)
def addr_to_scripthash(self, addr):
h = bitcoin.address_to_scripthash(addr)
if h not in self.h2addr:
self.h2addr[h] = addr
return h
def overload_cb(self, callback):
def map_scripthash_to_address(self, callback):
def cb2(x):
x2 = x.copy()
p = x2.pop('params')
@ -641,13 +635,15 @@ class Network(util.DaemonThread):
return cb2
def subscribe_to_addresses(self, addresses, callback):
hashes = [self.addr_to_scripthash(addr) for addr in addresses]
msgs = [('blockchain.scripthash.subscribe', [x]) for x in hashes]
self.send(msgs, self.overload_cb(callback))
hash2address = {bitcoin.address_to_scripthash(address): address for address in addresses}
self.h2addr.update(hash2address)
msgs = [('blockchain.scripthash.subscribe', [x]) for x in hash2address.keys()]
self.send(msgs, self.map_scripthash_to_address(callback))
def request_address_history(self, address, callback):
h = self.addr_to_scripthash(address)
self.send([('blockchain.scripthash.get_history', [h])], self.overload_cb(callback))
h = bitcoin.address_to_scripthash(address)
self.h2addr.update({h: address})
self.send([('blockchain.scripthash.get_history', [h])], self.map_scripthash_to_address(callback))
def send(self, messages, callback):
'''Messages is a list of (method, params) tuples'''

4
lib/websockets.py

@ -84,9 +84,7 @@ class WsClientThread(util.DaemonThread):
l = self.subscriptions.get(addr, [])
l.append((ws, amount))
self.subscriptions[addr] = l
h = self.network.addr_to_scripthash(addr)
self.network.send([('blockchain.scripthash.subscribe', [h])], self.response_queue.put)
self.network.subscribe_to_addresses([addr], self.response_queue.put)
def run(self):
threading.Thread(target=self.reading_thread).start()

Loading…
Cancel
Save