eth rlp: fix import for Python 3.10 (collections -> collections.abc)

This commit is contained in:
The MMGen Project 2022-01-04 19:51:22 +00:00
commit 65e75bc9b7
Signed by: mmgen
GPG key ID: 3F8B1861E32B7DA2
4 changed files with 5 additions and 5 deletions

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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)