Skip to content

Commit

Permalink
Merge pull request #1216 from ethereum/fix-type-aliasing
Browse files Browse the repository at this point in the history
Change uint aliases to just be subclasses
  • Loading branch information
djrtwo authored Jun 25, 2019
2 parents fbb284c + 2c6f4f2 commit ab012b8
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 7 deletions.
6 changes: 1 addition & 5 deletions scripts/build_spec.py
Original file line number Diff line number Diff line change
Expand Up @@ -130,11 +130,7 @@ def objects_to_spec(functions: Dict[str, str],
new_type_definitions = (
'\n\n'.join(
[
f"class {key}({value}):\n"
f" def __init__(self, _x: {value}) -> None:\n"
f" ...\n"
if value.startswith("uint")
else f"class {key}({value}):\n pass\n"
f"class {key}({value}):\n pass\n"
for key, value in custom_types.items()
]
)
Expand Down
4 changes: 2 additions & 2 deletions test_libs/pyspec/eth2spec/utils/ssz/ssz_typing.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ class BasicValue(int, SSZValue, metaclass=BasicType):
class Bool(BasicValue): # can't subclass bool.
byte_len = 1

def __new__(cls, value, *args, **kwargs):
def __new__(cls, value: int): # int value, but can be any subclass of int (bool, Bit, Bool, etc...)
if value < 0 or value > 1:
raise ValueError(f"value {value} out of bounds for bit")
return super().__new__(cls, value)
Expand All @@ -54,7 +54,7 @@ class Bit(Bool):

class uint(BasicValue, metaclass=BasicType):

def __new__(cls, value, *args, **kwargs):
def __new__(cls, value: int):
if value < 0:
raise ValueError("unsigned types must not be negative")
if cls.byte_len and value.bit_length() > (cls.byte_len << 3):
Expand Down

0 comments on commit ab012b8

Please sign in to comment.