electrum

Electrum Bitcoin wallet
git clone https://git.parazyd.org/electrum
Log | Files | Refs | Submodules

commit bcdb0c46fc13c00dcd3d6baf8045199aab54b4c5
parent 263c9265ae99012aae499fd5f4ffa27a616685be
Author: SomberNight <somber.night@protonmail.com>
Date:   Fri, 26 Oct 2018 17:06:42 +0200

update to aiorpcx 0.9 and require it

Diffstat:
Mcontrib/deterministic-build/requirements.txt | 7++++---
Mcontrib/requirements/requirements.txt | 2+-
Melectrum/interface.py | 16++++++++++------
3 files changed, 15 insertions(+), 10 deletions(-)

diff --git a/contrib/deterministic-build/requirements.txt b/contrib/deterministic-build/requirements.txt @@ -23,9 +23,10 @@ aiohttp==3.4.4 \ --hash=sha256:f3df52362be39908f9c028a65490fae0475e4898b43a03d8aa29d1e765b45e07 aiohttp_socks==0.2 \ --hash=sha256:eba0a6e198d9a69d254bf956d68cec7615c2a4cadd861b8da46464bd13c5641d -aiorpcX==0.8.2 \ - --hash=sha256:980d1d85a831688163ad087a1c1a88b6695a06e5e9914824676bab4251b2b1f2 \ - --hash=sha256:e53ff8917a87843875526be1261d80171f5ad09187917ff29dfdc003c1526a65 +aiorpcX==0.9.0 \ + --hash=sha256:4ad259076a3c94da5265505ef698d04a6d5a92d09e91d2296b5cc09d7d0f0c2c \ + --hash=sha256:71bfd014669bec0ffe2e1b82c1978b2c66330ce5adb3162529a6e066531703e7 \ + --hash=sha256:df621d8a434d4354554496c1e2db74056c88c7e9742cb3e343a22acca27dfc50 async_timeout==3.0.1 \ --hash=sha256:0c3c816a028d47f659d6ff5c745cb2acf1f966da1fe5c19c77a70282b25f4c5f \ --hash=sha256:4291ca197d287d274d0b6cb5d6f8f8f82d434ed288f962539ff18cc9012f9ea3 diff --git a/contrib/requirements/requirements.txt b/contrib/requirements/requirements.txt @@ -6,6 +6,6 @@ protobuf dnspython jsonrpclib-pelix qdarkstyle<3.0 -aiorpcx>=0.8.2,<0.9 +aiorpcx>=0.9,<0.10 aiohttp aiohttp_socks diff --git a/electrum/interface.py b/electrum/interface.py @@ -32,7 +32,7 @@ from typing import Tuple, Union, List, TYPE_CHECKING from collections import defaultdict import aiorpcx -from aiorpcx import ClientSession, Notification +from aiorpcx import RPCSession, Notification from .util import PrintError, ignore_exceptions, log_exceptions, bfh, SilentTaskGroup from . import util @@ -47,7 +47,7 @@ if TYPE_CHECKING: from .network import Network -class NotificationSession(ClientSession): +class NotificationSession(RPCSession): def __init__(self, *args, **kwargs): super(NotificationSession, self).__init__(*args, **kwargs) @@ -71,7 +71,7 @@ class NotificationSession(ClientSession): async def send_request(self, *args, timeout=-1, **kwargs): # note: the timeout starts after the request touches the wire! if timeout == -1: - timeout = 20 if not self.proxy else 30 + timeout = 30 # note: the semaphore implementation guarantees no starvation async with self.in_flight_requests_semaphore: try: @@ -307,7 +307,9 @@ class Interface(PrintError): async def get_certificate(self): sslc = ssl.SSLContext() try: - async with aiorpcx.ClientSession(self.host, self.port, ssl=sslc, proxy=self.proxy) as session: + async with aiorpcx.Connector(RPCSession, + host=self.host, port=self.port, + ssl=sslc, proxy=self.proxy) as session: return session.transport._ssl_protocol._sslpipe._sslobj.getpeercert(True) except ValueError: return None @@ -340,8 +342,10 @@ class Interface(PrintError): return conn, res['count'] async def open_session(self, sslc, exit_early=False): - self.session = NotificationSession(self.host, self.port, ssl=sslc, proxy=self.proxy) - async with self.session as session: + async with aiorpcx.Connector(NotificationSession, + host=self.host, port=self.port, + ssl=sslc, proxy=self.proxy) as session: + self.session = session # type: NotificationSession try: ver = await session.send_request('server.version', [ELECTRUM_VERSION, PROTOCOL_VERSION]) except aiorpcx.jsonrpc.RPCError as e: