From 65e75bc9b72edcbfa323f4c9677ae22399405566 Mon Sep 17 00:00:00 2001 From: The MMGen Project Date: Tue, 4 Jan 2022 19:51:22 +0000 Subject: [PATCH] eth rlp: fix import for Python 3.10 (collections -> collections.abc) --- mmgen/altcoins/eth/rlp/codec.py | 4 ++-- mmgen/altcoins/eth/rlp/sedes/lists.py | 2 +- mmgen/altcoins/eth/rlp/sedes/raw.py | 2 +- mmgen/altcoins/eth/rlp/sedes/serializable.py | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/mmgen/altcoins/eth/rlp/codec.py b/mmgen/altcoins/eth/rlp/codec.py index 61346896..7cdb9988 100644 --- a/mmgen/altcoins/eth/rlp/codec.py +++ b/mmgen/altcoins/eth/rlp/codec.py @@ -70,7 +70,7 @@ def encode_raw(item): return item payload = item prefix_offset = 128 # string - elif not isinstance(item, str) and isinstance(item, collections.Sequence): + elif not isinstance(item, str) and isinstance(item, collections.abc.Sequence): payload = b''.join(encode_raw(x) for x in item) prefix_offset = 192 # list else: @@ -267,7 +267,7 @@ def infer_sedes(obj): return big_endian_int elif BinaryClass.is_valid_type(obj): return binary - elif not isinstance(obj, str) and isinstance(obj, collections.Sequence): + elif not isinstance(obj, str) and isinstance(obj, collections.abc.Sequence): return List(map(infer_sedes, obj)) elif isinstance(obj, bool): return boolean diff --git a/mmgen/altcoins/eth/rlp/sedes/lists.py b/mmgen/altcoins/eth/rlp/sedes/lists.py index 5aae7aa1..f37ca1d8 100644 --- a/mmgen/altcoins/eth/rlp/sedes/lists.py +++ b/mmgen/altcoins/eth/rlp/sedes/lists.py @@ -1,7 +1,7 @@ """ Module for sedes objects that use lists as serialization format. """ -from collections import Sequence +from collections.abc import Sequence from ...pyethereum.utils import to_list,to_tuple diff --git a/mmgen/altcoins/eth/rlp/sedes/raw.py b/mmgen/altcoins/eth/rlp/sedes/raw.py index 4f241e85..c12255c6 100644 --- a/mmgen/altcoins/eth/rlp/sedes/raw.py +++ b/mmgen/altcoins/eth/rlp/sedes/raw.py @@ -3,7 +3,7 @@ A sedes that does nothing. Thus, everything that can be directly encoded by RLP is serializable. This sedes can be used as a placeholder when deserializing larger structures. """ -from collections import Sequence +from collections.abc import Sequence from ..exceptions import SerializationError from ..atomic import Atomic diff --git a/mmgen/altcoins/eth/rlp/sedes/serializable.py b/mmgen/altcoins/eth/rlp/sedes/serializable.py index ce141523..de9fe62f 100644 --- a/mmgen/altcoins/eth/rlp/sedes/serializable.py +++ b/mmgen/altcoins/eth/rlp/sedes/serializable.py @@ -182,7 +182,7 @@ def Changeset(obj, changes): return cls(obj, changes) -class BaseSerializable(collections.Sequence): +class BaseSerializable(collections.abc.Sequence): def __init__(self, *args, **kwargs): if kwargs: field_values = merge_kwargs_to_args(args, kwargs, self._meta.field_names)