diff --git a/server/controller.py b/server/controller.py index e609abd..0b862ae 100644 --- a/server/controller.py +++ b/server/controller.py @@ -19,7 +19,7 @@ from functools import partial import pylru -from aiorpcx import RPCError, TaskSet, _version +from aiorpcx import RPCError, TaskSet, _version as aiorpcx_version from lib.hash import double_sha256, hash_to_str, hex_str_to_hash, HASHX_LEN from lib.peer import Peer from lib.server_base import ServerBase @@ -29,6 +29,7 @@ from server.mempool import MemPool from server.peers import PeerManager from server.session import LocalRPC, BAD_REQUEST, DAEMON_ERROR from server.version import VERSION +version_string = util.version_string class SessionGroup(object): @@ -49,15 +50,18 @@ class Controller(ServerBase): CATCHING_UP, LISTENING, PAUSED, SHUTTING_DOWN = range(4) PROTOCOL_MIN = '1.1' PROTOCOL_MAX = '1.2' + AIORPCX_MIN = (0, 5, 6) VERSION = VERSION def __init__(self, env): '''Initialize everything that doesn't require the event loop.''' super().__init__(env) - if _version < (0, 5, 5): - raise RuntimeError('ElectrumX requires aiorpcX 0.5.5') + if aiorpcx_version < self.AIORPCX_MIN: + raise RuntimeError('ElectrumX requires aiorpcX >= ' + f'{version_string(self.AIORPCX_MIN)}') self.logger.info(f'software version: {self.VERSION}') + self.logger.info(f'aiorpcX version: {version_string(aiorpcx_version)}') self.logger.info(f'supported protocol versions: ' f'{self.PROTOCOL_MIN}-{self.PROTOCOL_MAX}') self.logger.info(f'event loop policy: {env.loop_policy}')