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,9 @@ import itertools
|
||||
from collections import defaultdict
|
||||
from typing import TYPE_CHECKING, Dict, Optional, Set, Tuple, NamedTuple, Sequence, List
|
||||
|
||||
from aiorpcx import TaskGroup
|
||||
|
||||
from . import bitcoin, util
|
||||
from .bitcoin import COINBASE_MATURITY
|
||||
from .util import profiler, bfh, TxMinedInfo, UnrelatedTransactionException, with_lock
|
||||
from .util import profiler, bfh, TxMinedInfo, UnrelatedTransactionException, with_lock, OldTaskGroup
|
||||
from .transaction import Transaction, TxOutput, TxInput, PartialTxInput, TxOutpoint, PartialTransaction
|
||||
from .synchronizer import Synchronizer
|
||||
from .verifier import SPV
|
||||
@@ -193,7 +191,7 @@ class AddressSynchronizer(Logger):
|
||||
async def stop(self):
|
||||
if self.network:
|
||||
try:
|
||||
async with TaskGroup() as group:
|
||||
async with OldTaskGroup() as group:
|
||||
if self.synchronizer:
|
||||
await group.spawn(self.synchronizer.stop())
|
||||
if self.verifier:
|
||||
|
||||
Reference in New Issue
Block a user