requirements: bump min aiorpcx to 0.22.0
aiorpcx 0.20 changed the behaviour/API of TaskGroups. When used as a context manager, TaskGroups no longer propagate exceptions raised by their tasks. Instead, the calling code has to explicitly check the results of tasks and decide whether to re-raise any exceptions. This is a significant change, and so this commit introduces "OldTaskGroup", which should behave as the TaskGroup class of old aiorpcx. All existing usages of TaskGroup are replaced with OldTaskGroup. closes https://github.com/spesmilo/electrum/issues/7446
This commit is contained in:
@@ -28,11 +28,11 @@ from typing import Dict, List, TYPE_CHECKING, Tuple, Set
|
||||
from collections import defaultdict
|
||||
import logging
|
||||
|
||||
from aiorpcx import TaskGroup, run_in_thread, RPCError
|
||||
from aiorpcx import run_in_thread, RPCError
|
||||
|
||||
from . import util
|
||||
from .transaction import Transaction, PartialTransaction
|
||||
from .util import bh2u, make_aiohttp_session, NetworkJobOnDefaultServer, random_shuffled_copy
|
||||
from .util import bh2u, make_aiohttp_session, NetworkJobOnDefaultServer, random_shuffled_copy, OldTaskGroup
|
||||
from .bitcoin import address_to_scripthash, is_address
|
||||
from .logging import Logger
|
||||
from .interface import GracefulDisconnect, NetworkTimeout
|
||||
@@ -218,7 +218,7 @@ class Synchronizer(SynchronizerBase):
|
||||
self.requested_tx[tx_hash] = tx_height
|
||||
|
||||
if not transaction_hashes: return
|
||||
async with TaskGroup() as group:
|
||||
async with OldTaskGroup() as group:
|
||||
for tx_hash in transaction_hashes:
|
||||
await group.spawn(self._get_transaction(tx_hash, allow_server_not_finding_tx=allow_server_not_finding_tx))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user