From 225332c77955b0d852a9a598ea7fdb55af521564 Mon Sep 17 00:00:00 2001 From: enitrat Date: Fri, 20 Dec 2024 14:23:23 +0100 Subject: [PATCH 01/10] dev: change type of branch node subnodes --- src/ethereum/arrow_glacier/trie.py | 9 +++++---- src/ethereum/berlin/trie.py | 9 +++++---- src/ethereum/byzantium/trie.py | 9 +++++---- src/ethereum/cancun/trie.py | 9 +++++---- src/ethereum/constantinople/trie.py | 9 +++++---- src/ethereum/dao_fork/trie.py | 9 +++++---- src/ethereum/frontier/trie.py | 9 +++++---- src/ethereum/gray_glacier/trie.py | 9 +++++---- src/ethereum/homestead/trie.py | 9 +++++---- src/ethereum/istanbul/trie.py | 9 +++++---- src/ethereum/london/trie.py | 9 +++++---- src/ethereum/muir_glacier/trie.py | 9 +++++---- src/ethereum/paris/trie.py | 9 +++++---- src/ethereum/shanghai/trie.py | 9 +++++---- src/ethereum/spurious_dragon/trie.py | 9 +++++---- src/ethereum/tangerine_whistle/trie.py | 9 +++++---- 16 files changed, 80 insertions(+), 64 deletions(-) diff --git a/src/ethereum/arrow_glacier/trie.py b/src/ethereum/arrow_glacier/trie.py index 069b8127e2..4353ab8963 100644 --- a/src/ethereum/arrow_glacier/trie.py +++ b/src/ethereum/arrow_glacier/trie.py @@ -24,6 +24,7 @@ MutableMapping, Optional, Sequence, + Tuple, TypeVar, Union, ) @@ -97,7 +98,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: List[rlp.Extended] + subnodes: Tuple[rlp.Extended, ...] value: rlp.Extended @@ -137,7 +138,7 @@ def encode_internal_node(node: Optional[InternalNode]) -> rlp.Extended: node.subnode, ) elif isinstance(node, BranchNode): - unencoded = node.subnodes + [node.value] + unencoded = list(node.subnodes) + [node.value] else: raise AssertionError(f"Invalid internal node type {type(node)}!") @@ -459,9 +460,9 @@ def patricialize( branches[key[level]][key] = obj[key] return BranchNode( - [ + ( encode_internal_node(patricialize(branches[k], level + Uint(1))) for k in range(16) - ], + ), value, ) diff --git a/src/ethereum/berlin/trie.py b/src/ethereum/berlin/trie.py index 5ab348f521..e42d136aef 100644 --- a/src/ethereum/berlin/trie.py +++ b/src/ethereum/berlin/trie.py @@ -24,6 +24,7 @@ MutableMapping, Optional, Sequence, + Tuple, TypeVar, Union, ) @@ -97,7 +98,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: List[rlp.Extended] + subnodes: Tuple[rlp.Extended, ...] value: rlp.Extended @@ -137,7 +138,7 @@ def encode_internal_node(node: Optional[InternalNode]) -> rlp.Extended: node.subnode, ) elif isinstance(node, BranchNode): - unencoded = node.subnodes + [node.value] + unencoded = list(node.subnodes) + [node.value] else: raise AssertionError(f"Invalid internal node type {type(node)}!") @@ -459,9 +460,9 @@ def patricialize( branches[key[level]][key] = obj[key] return BranchNode( - [ + ( encode_internal_node(patricialize(branches[k], level + Uint(1))) for k in range(16) - ], + ), value, ) diff --git a/src/ethereum/byzantium/trie.py b/src/ethereum/byzantium/trie.py index 9d2a8f256e..10377dfddd 100644 --- a/src/ethereum/byzantium/trie.py +++ b/src/ethereum/byzantium/trie.py @@ -24,6 +24,7 @@ MutableMapping, Optional, Sequence, + Tuple, TypeVar, Union, ) @@ -97,7 +98,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: List[rlp.Extended] + subnodes: Tuple[rlp.Extended, ...] value: rlp.Extended @@ -137,7 +138,7 @@ def encode_internal_node(node: Optional[InternalNode]) -> rlp.Extended: node.subnode, ) elif isinstance(node, BranchNode): - unencoded = node.subnodes + [node.value] + unencoded = list(node.subnodes) + [node.value] else: raise AssertionError(f"Invalid internal node type {type(node)}!") @@ -459,9 +460,9 @@ def patricialize( branches[key[level]][key] = obj[key] return BranchNode( - [ + ( encode_internal_node(patricialize(branches[k], level + Uint(1))) for k in range(16) - ], + ), value, ) diff --git a/src/ethereum/cancun/trie.py b/src/ethereum/cancun/trie.py index db0394cdb2..268050ca1a 100644 --- a/src/ethereum/cancun/trie.py +++ b/src/ethereum/cancun/trie.py @@ -24,6 +24,7 @@ MutableMapping, Optional, Sequence, + Tuple, TypeVar, Union, ) @@ -100,7 +101,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: List[rlp.Extended] + subnodes: Tuple[rlp.Extended, ...] value: rlp.Extended @@ -140,7 +141,7 @@ def encode_internal_node(node: Optional[InternalNode]) -> rlp.Extended: node.subnode, ) elif isinstance(node, BranchNode): - unencoded = node.subnodes + [node.value] + unencoded = list(node.subnodes) + [node.value] else: raise AssertionError(f"Invalid internal node type {type(node)}!") @@ -462,9 +463,9 @@ def patricialize( branches[key[level]][key] = obj[key] return BranchNode( - [ + ( encode_internal_node(patricialize(branches[k], level + Uint(1))) for k in range(16) - ], + ), value, ) diff --git a/src/ethereum/constantinople/trie.py b/src/ethereum/constantinople/trie.py index 6d61f3aaa9..3687231873 100644 --- a/src/ethereum/constantinople/trie.py +++ b/src/ethereum/constantinople/trie.py @@ -24,6 +24,7 @@ MutableMapping, Optional, Sequence, + Tuple, TypeVar, Union, ) @@ -97,7 +98,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: List[rlp.Extended] + subnodes: Tuple[rlp.Extended, ...] value: rlp.Extended @@ -137,7 +138,7 @@ def encode_internal_node(node: Optional[InternalNode]) -> rlp.Extended: node.subnode, ) elif isinstance(node, BranchNode): - unencoded = node.subnodes + [node.value] + unencoded = list(node.subnodes) + [node.value] else: raise AssertionError(f"Invalid internal node type {type(node)}!") @@ -459,9 +460,9 @@ def patricialize( branches[key[level]][key] = obj[key] return BranchNode( - [ + ( encode_internal_node(patricialize(branches[k], level + Uint(1))) for k in range(16) - ], + ), value, ) diff --git a/src/ethereum/dao_fork/trie.py b/src/ethereum/dao_fork/trie.py index 0b1bd95d96..40b70ad9e3 100644 --- a/src/ethereum/dao_fork/trie.py +++ b/src/ethereum/dao_fork/trie.py @@ -24,6 +24,7 @@ MutableMapping, Optional, Sequence, + Tuple, TypeVar, Union, ) @@ -97,7 +98,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: List[rlp.Extended] + subnodes: Tuple[rlp.Extended, ...] value: rlp.Extended @@ -137,7 +138,7 @@ def encode_internal_node(node: Optional[InternalNode]) -> rlp.Extended: node.subnode, ) elif isinstance(node, BranchNode): - unencoded = node.subnodes + [node.value] + unencoded = list(node.subnodes) + [node.value] else: raise AssertionError(f"Invalid internal node type {type(node)}!") @@ -459,9 +460,9 @@ def patricialize( branches[key[level]][key] = obj[key] return BranchNode( - [ + ( encode_internal_node(patricialize(branches[k], level + Uint(1))) for k in range(16) - ], + ), value, ) diff --git a/src/ethereum/frontier/trie.py b/src/ethereum/frontier/trie.py index 587e811172..d4cd75ab4c 100644 --- a/src/ethereum/frontier/trie.py +++ b/src/ethereum/frontier/trie.py @@ -24,6 +24,7 @@ MutableMapping, Optional, Sequence, + Tuple, TypeVar, Union, ) @@ -96,7 +97,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: List[rlp.Extended] + subnodes: Tuple[rlp.Extended, ...] value: rlp.Extended @@ -136,7 +137,7 @@ def encode_internal_node(node: Optional[InternalNode]) -> rlp.Extended: node.subnode, ) elif isinstance(node, BranchNode): - unencoded = node.subnodes + [node.value] + unencoded = list(node.subnodes) + [node.value] else: raise AssertionError(f"Invalid internal node type {type(node)}!") @@ -460,9 +461,9 @@ def patricialize( branches[key[level]][key] = obj[key] return BranchNode( - [ + ( encode_internal_node(patricialize(branches[k], level + Uint(1))) for k in range(16) - ], + ), value, ) diff --git a/src/ethereum/gray_glacier/trie.py b/src/ethereum/gray_glacier/trie.py index e6ee3e9bef..84f0beaabf 100644 --- a/src/ethereum/gray_glacier/trie.py +++ b/src/ethereum/gray_glacier/trie.py @@ -24,6 +24,7 @@ MutableMapping, Optional, Sequence, + Tuple, TypeVar, Union, ) @@ -97,7 +98,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: List[rlp.Extended] + subnodes: Tuple[rlp.Extended, ...] value: rlp.Extended @@ -137,7 +138,7 @@ def encode_internal_node(node: Optional[InternalNode]) -> rlp.Extended: node.subnode, ) elif isinstance(node, BranchNode): - unencoded = node.subnodes + [node.value] + unencoded = list(node.subnodes) + [node.value] else: raise AssertionError(f"Invalid internal node type {type(node)}!") @@ -459,9 +460,9 @@ def patricialize( branches[key[level]][key] = obj[key] return BranchNode( - [ + ( encode_internal_node(patricialize(branches[k], level + Uint(1))) for k in range(16) - ], + ), value, ) diff --git a/src/ethereum/homestead/trie.py b/src/ethereum/homestead/trie.py index 5294a2ba0d..2bdf78b9be 100644 --- a/src/ethereum/homestead/trie.py +++ b/src/ethereum/homestead/trie.py @@ -24,6 +24,7 @@ MutableMapping, Optional, Sequence, + Tuple, TypeVar, Union, ) @@ -97,7 +98,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: List[rlp.Extended] + subnodes: Tuple[rlp.Extended, ...] value: rlp.Extended @@ -137,7 +138,7 @@ def encode_internal_node(node: Optional[InternalNode]) -> rlp.Extended: node.subnode, ) elif isinstance(node, BranchNode): - unencoded = node.subnodes + [node.value] + unencoded = list(node.subnodes) + [node.value] else: raise AssertionError(f"Invalid internal node type {type(node)}!") @@ -459,9 +460,9 @@ def patricialize( branches[key[level]][key] = obj[key] return BranchNode( - [ + ( encode_internal_node(patricialize(branches[k], level + Uint(1))) for k in range(16) - ], + ), value, ) diff --git a/src/ethereum/istanbul/trie.py b/src/ethereum/istanbul/trie.py index a1a4cfbf98..347ffb0bd0 100644 --- a/src/ethereum/istanbul/trie.py +++ b/src/ethereum/istanbul/trie.py @@ -24,6 +24,7 @@ MutableMapping, Optional, Sequence, + Tuple, TypeVar, Union, ) @@ -97,7 +98,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: List[rlp.Extended] + subnodes: Tuple[rlp.Extended, ...] value: rlp.Extended @@ -137,7 +138,7 @@ def encode_internal_node(node: Optional[InternalNode]) -> rlp.Extended: node.subnode, ) elif isinstance(node, BranchNode): - unencoded = node.subnodes + [node.value] + unencoded = list(node.subnodes) + [node.value] else: raise AssertionError(f"Invalid internal node type {type(node)}!") @@ -459,9 +460,9 @@ def patricialize( branches[key[level]][key] = obj[key] return BranchNode( - [ + ( encode_internal_node(patricialize(branches[k], level + Uint(1))) for k in range(16) - ], + ), value, ) diff --git a/src/ethereum/london/trie.py b/src/ethereum/london/trie.py index 03e230531c..b84ed19f71 100644 --- a/src/ethereum/london/trie.py +++ b/src/ethereum/london/trie.py @@ -24,6 +24,7 @@ MutableMapping, Optional, Sequence, + Tuple, TypeVar, Union, ) @@ -97,7 +98,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: List[rlp.Extended] + subnodes: Tuple[rlp.Extended, ...] value: rlp.Extended @@ -137,7 +138,7 @@ def encode_internal_node(node: Optional[InternalNode]) -> rlp.Extended: node.subnode, ) elif isinstance(node, BranchNode): - unencoded = node.subnodes + [node.value] + unencoded = list(node.subnodes) + [node.value] else: raise AssertionError(f"Invalid internal node type {type(node)}!") @@ -459,9 +460,9 @@ def patricialize( branches[key[level]][key] = obj[key] return BranchNode( - [ + ( encode_internal_node(patricialize(branches[k], level + Uint(1))) for k in range(16) - ], + ), value, ) diff --git a/src/ethereum/muir_glacier/trie.py b/src/ethereum/muir_glacier/trie.py index f2e4f29460..be99b895ce 100644 --- a/src/ethereum/muir_glacier/trie.py +++ b/src/ethereum/muir_glacier/trie.py @@ -24,6 +24,7 @@ MutableMapping, Optional, Sequence, + Tuple, TypeVar, Union, ) @@ -97,7 +98,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: List[rlp.Extended] + subnodes: Tuple[rlp.Extended, ...] value: rlp.Extended @@ -137,7 +138,7 @@ def encode_internal_node(node: Optional[InternalNode]) -> rlp.Extended: node.subnode, ) elif isinstance(node, BranchNode): - unencoded = node.subnodes + [node.value] + unencoded = list(node.subnodes) + [node.value] else: raise AssertionError(f"Invalid internal node type {type(node)}!") @@ -459,9 +460,9 @@ def patricialize( branches[key[level]][key] = obj[key] return BranchNode( - [ + ( encode_internal_node(patricialize(branches[k], level + Uint(1))) for k in range(16) - ], + ), value, ) diff --git a/src/ethereum/paris/trie.py b/src/ethereum/paris/trie.py index ccd99a17af..cd23509958 100644 --- a/src/ethereum/paris/trie.py +++ b/src/ethereum/paris/trie.py @@ -24,6 +24,7 @@ MutableMapping, Optional, Sequence, + Tuple, TypeVar, Union, ) @@ -97,7 +98,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: List[rlp.Extended] + subnodes: Tuple[rlp.Extended, ...] value: rlp.Extended @@ -137,7 +138,7 @@ def encode_internal_node(node: Optional[InternalNode]) -> rlp.Extended: node.subnode, ) elif isinstance(node, BranchNode): - unencoded = node.subnodes + [node.value] + unencoded = list(node.subnodes) + [node.value] else: raise AssertionError(f"Invalid internal node type {type(node)}!") @@ -459,9 +460,9 @@ def patricialize( branches[key[level]][key] = obj[key] return BranchNode( - [ + ( encode_internal_node(patricialize(branches[k], level + Uint(1))) for k in range(16) - ], + ), value, ) diff --git a/src/ethereum/shanghai/trie.py b/src/ethereum/shanghai/trie.py index 020e9900c4..7ce098e547 100644 --- a/src/ethereum/shanghai/trie.py +++ b/src/ethereum/shanghai/trie.py @@ -24,6 +24,7 @@ MutableMapping, Optional, Sequence, + Tuple, TypeVar, Union, ) @@ -100,7 +101,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: List[rlp.Extended] + subnodes: Tuple[rlp.Extended, ...] value: rlp.Extended @@ -140,7 +141,7 @@ def encode_internal_node(node: Optional[InternalNode]) -> rlp.Extended: node.subnode, ) elif isinstance(node, BranchNode): - unencoded = node.subnodes + [node.value] + unencoded = list(node.subnodes) + [node.value] else: raise AssertionError(f"Invalid internal node type {type(node)}!") @@ -462,9 +463,9 @@ def patricialize( branches[key[level]][key] = obj[key] return BranchNode( - [ + ( encode_internal_node(patricialize(branches[k], level + Uint(1))) for k in range(16) - ], + ), value, ) diff --git a/src/ethereum/spurious_dragon/trie.py b/src/ethereum/spurious_dragon/trie.py index 1b13975d22..3e7f78a498 100644 --- a/src/ethereum/spurious_dragon/trie.py +++ b/src/ethereum/spurious_dragon/trie.py @@ -24,6 +24,7 @@ MutableMapping, Optional, Sequence, + Tuple, TypeVar, Union, ) @@ -97,7 +98,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: List[rlp.Extended] + subnodes: Tuple[rlp.Extended, ...] value: rlp.Extended @@ -137,7 +138,7 @@ def encode_internal_node(node: Optional[InternalNode]) -> rlp.Extended: node.subnode, ) elif isinstance(node, BranchNode): - unencoded = node.subnodes + [node.value] + unencoded = list(node.subnodes) + [node.value] else: raise AssertionError(f"Invalid internal node type {type(node)}!") @@ -459,9 +460,9 @@ def patricialize( branches[key[level]][key] = obj[key] return BranchNode( - [ + ( encode_internal_node(patricialize(branches[k], level + Uint(1))) for k in range(16) - ], + ), value, ) diff --git a/src/ethereum/tangerine_whistle/trie.py b/src/ethereum/tangerine_whistle/trie.py index 884faff508..f75172df62 100644 --- a/src/ethereum/tangerine_whistle/trie.py +++ b/src/ethereum/tangerine_whistle/trie.py @@ -24,6 +24,7 @@ MutableMapping, Optional, Sequence, + Tuple, TypeVar, Union, ) @@ -97,7 +98,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: List[rlp.Extended] + subnodes: Tuple[rlp.Extended, ...] value: rlp.Extended @@ -137,7 +138,7 @@ def encode_internal_node(node: Optional[InternalNode]) -> rlp.Extended: node.subnode, ) elif isinstance(node, BranchNode): - unencoded = node.subnodes + [node.value] + unencoded = list(node.subnodes) + [node.value] else: raise AssertionError(f"Invalid internal node type {type(node)}!") @@ -459,9 +460,9 @@ def patricialize( branches[key[level]][key] = obj[key] return BranchNode( - [ + ( encode_internal_node(patricialize(branches[k], level + Uint(1))) for k in range(16) - ], + ), value, ) From e135681216777a9a8b186ef67f5f4f117403372b Mon Sep 17 00:00:00 2001 From: enitrat Date: Fri, 20 Dec 2024 15:17:16 +0100 Subject: [PATCH 02/10] Annotate tuple with 16 --- src/ethereum/arrow_glacier/trie.py | 3 ++- src/ethereum/berlin/trie.py | 3 ++- src/ethereum/byzantium/trie.py | 3 ++- src/ethereum/cancun/trie.py | 3 ++- src/ethereum/constantinople/trie.py | 3 ++- src/ethereum/dao_fork/trie.py | 3 ++- src/ethereum/frontier/trie.py | 3 ++- src/ethereum/gray_glacier/trie.py | 3 ++- src/ethereum/homestead/trie.py | 3 ++- src/ethereum/istanbul/trie.py | 3 ++- src/ethereum/london/trie.py | 3 ++- src/ethereum/muir_glacier/trie.py | 3 ++- src/ethereum/paris/trie.py | 3 ++- src/ethereum/shanghai/trie.py | 3 ++- src/ethereum/spurious_dragon/trie.py | 3 ++- src/ethereum/tangerine_whistle/trie.py | 3 ++- 16 files changed, 32 insertions(+), 16 deletions(-) diff --git a/src/ethereum/arrow_glacier/trie.py b/src/ethereum/arrow_glacier/trie.py index 4353ab8963..2be9cd57e9 100644 --- a/src/ethereum/arrow_glacier/trie.py +++ b/src/ethereum/arrow_glacier/trie.py @@ -16,6 +16,7 @@ import copy from dataclasses import dataclass, field from typing import ( + Annotated, Callable, Dict, Generic, @@ -98,7 +99,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Tuple[rlp.Extended, ...] + subnodes: Annotated[Tuple[rlp.Extended], 16] value: rlp.Extended diff --git a/src/ethereum/berlin/trie.py b/src/ethereum/berlin/trie.py index e42d136aef..d41c563a4f 100644 --- a/src/ethereum/berlin/trie.py +++ b/src/ethereum/berlin/trie.py @@ -16,6 +16,7 @@ import copy from dataclasses import dataclass, field from typing import ( + Annotated, Callable, Dict, Generic, @@ -98,7 +99,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Tuple[rlp.Extended, ...] + subnodes: Annotated[Tuple[rlp.Extended], 16] value: rlp.Extended diff --git a/src/ethereum/byzantium/trie.py b/src/ethereum/byzantium/trie.py index 10377dfddd..fbe98303c3 100644 --- a/src/ethereum/byzantium/trie.py +++ b/src/ethereum/byzantium/trie.py @@ -16,6 +16,7 @@ import copy from dataclasses import dataclass, field from typing import ( + Annotated, Callable, Dict, Generic, @@ -98,7 +99,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Tuple[rlp.Extended, ...] + subnodes: Annotated[Tuple[rlp.Extended], 16] value: rlp.Extended diff --git a/src/ethereum/cancun/trie.py b/src/ethereum/cancun/trie.py index 268050ca1a..94df309ebe 100644 --- a/src/ethereum/cancun/trie.py +++ b/src/ethereum/cancun/trie.py @@ -16,6 +16,7 @@ import copy from dataclasses import dataclass, field from typing import ( + Annotated, Callable, Dict, Generic, @@ -101,7 +102,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Tuple[rlp.Extended, ...] + subnodes: Annotated[Tuple[rlp.Extended], 16] value: rlp.Extended diff --git a/src/ethereum/constantinople/trie.py b/src/ethereum/constantinople/trie.py index 3687231873..235cac7a62 100644 --- a/src/ethereum/constantinople/trie.py +++ b/src/ethereum/constantinople/trie.py @@ -16,6 +16,7 @@ import copy from dataclasses import dataclass, field from typing import ( + Annotated, Callable, Dict, Generic, @@ -98,7 +99,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Tuple[rlp.Extended, ...] + subnodes: Annotated[Tuple[rlp.Extended], 16] value: rlp.Extended diff --git a/src/ethereum/dao_fork/trie.py b/src/ethereum/dao_fork/trie.py index 40b70ad9e3..6acef34587 100644 --- a/src/ethereum/dao_fork/trie.py +++ b/src/ethereum/dao_fork/trie.py @@ -16,6 +16,7 @@ import copy from dataclasses import dataclass, field from typing import ( + Annotated, Callable, Dict, Generic, @@ -98,7 +99,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Tuple[rlp.Extended, ...] + subnodes: Annotated[Tuple[rlp.Extended], 16] value: rlp.Extended diff --git a/src/ethereum/frontier/trie.py b/src/ethereum/frontier/trie.py index d4cd75ab4c..abcf67f48a 100644 --- a/src/ethereum/frontier/trie.py +++ b/src/ethereum/frontier/trie.py @@ -16,6 +16,7 @@ import copy from dataclasses import dataclass, field from typing import ( + Annotated, Callable, Dict, Generic, @@ -97,7 +98,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Tuple[rlp.Extended, ...] + subnodes: Annotated[Tuple[rlp.Extended], 16] value: rlp.Extended diff --git a/src/ethereum/gray_glacier/trie.py b/src/ethereum/gray_glacier/trie.py index 84f0beaabf..6420bd5fa9 100644 --- a/src/ethereum/gray_glacier/trie.py +++ b/src/ethereum/gray_glacier/trie.py @@ -16,6 +16,7 @@ import copy from dataclasses import dataclass, field from typing import ( + Annotated, Callable, Dict, Generic, @@ -98,7 +99,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Tuple[rlp.Extended, ...] + subnodes: Annotated[Tuple[rlp.Extended], 16] value: rlp.Extended diff --git a/src/ethereum/homestead/trie.py b/src/ethereum/homestead/trie.py index 2bdf78b9be..a9df0f9d4c 100644 --- a/src/ethereum/homestead/trie.py +++ b/src/ethereum/homestead/trie.py @@ -16,6 +16,7 @@ import copy from dataclasses import dataclass, field from typing import ( + Annotated, Callable, Dict, Generic, @@ -98,7 +99,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Tuple[rlp.Extended, ...] + subnodes: Annotated[Tuple[rlp.Extended], 16] value: rlp.Extended diff --git a/src/ethereum/istanbul/trie.py b/src/ethereum/istanbul/trie.py index 347ffb0bd0..fc6b294b0f 100644 --- a/src/ethereum/istanbul/trie.py +++ b/src/ethereum/istanbul/trie.py @@ -16,6 +16,7 @@ import copy from dataclasses import dataclass, field from typing import ( + Annotated, Callable, Dict, Generic, @@ -98,7 +99,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Tuple[rlp.Extended, ...] + subnodes: Annotated[Tuple[rlp.Extended], 16] value: rlp.Extended diff --git a/src/ethereum/london/trie.py b/src/ethereum/london/trie.py index b84ed19f71..e3df4e26e8 100644 --- a/src/ethereum/london/trie.py +++ b/src/ethereum/london/trie.py @@ -16,6 +16,7 @@ import copy from dataclasses import dataclass, field from typing import ( + Annotated, Callable, Dict, Generic, @@ -98,7 +99,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Tuple[rlp.Extended, ...] + subnodes: Annotated[Tuple[rlp.Extended], 16] value: rlp.Extended diff --git a/src/ethereum/muir_glacier/trie.py b/src/ethereum/muir_glacier/trie.py index be99b895ce..d3e49ac19f 100644 --- a/src/ethereum/muir_glacier/trie.py +++ b/src/ethereum/muir_glacier/trie.py @@ -16,6 +16,7 @@ import copy from dataclasses import dataclass, field from typing import ( + Annotated, Callable, Dict, Generic, @@ -98,7 +99,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Tuple[rlp.Extended, ...] + subnodes: Annotated[Tuple[rlp.Extended], 16] value: rlp.Extended diff --git a/src/ethereum/paris/trie.py b/src/ethereum/paris/trie.py index cd23509958..eab863fead 100644 --- a/src/ethereum/paris/trie.py +++ b/src/ethereum/paris/trie.py @@ -16,6 +16,7 @@ import copy from dataclasses import dataclass, field from typing import ( + Annotated, Callable, Dict, Generic, @@ -98,7 +99,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Tuple[rlp.Extended, ...] + subnodes: Annotated[Tuple[rlp.Extended], 16] value: rlp.Extended diff --git a/src/ethereum/shanghai/trie.py b/src/ethereum/shanghai/trie.py index 7ce098e547..b298f807b8 100644 --- a/src/ethereum/shanghai/trie.py +++ b/src/ethereum/shanghai/trie.py @@ -16,6 +16,7 @@ import copy from dataclasses import dataclass, field from typing import ( + Annotated, Callable, Dict, Generic, @@ -101,7 +102,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Tuple[rlp.Extended, ...] + subnodes: Annotated[Tuple[rlp.Extended], 16] value: rlp.Extended diff --git a/src/ethereum/spurious_dragon/trie.py b/src/ethereum/spurious_dragon/trie.py index 3e7f78a498..bb9fa124d9 100644 --- a/src/ethereum/spurious_dragon/trie.py +++ b/src/ethereum/spurious_dragon/trie.py @@ -16,6 +16,7 @@ import copy from dataclasses import dataclass, field from typing import ( + Annotated, Callable, Dict, Generic, @@ -98,7 +99,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Tuple[rlp.Extended, ...] + subnodes: Annotated[Tuple[rlp.Extended], 16] value: rlp.Extended diff --git a/src/ethereum/tangerine_whistle/trie.py b/src/ethereum/tangerine_whistle/trie.py index f75172df62..bc128dfa5a 100644 --- a/src/ethereum/tangerine_whistle/trie.py +++ b/src/ethereum/tangerine_whistle/trie.py @@ -16,6 +16,7 @@ import copy from dataclasses import dataclass, field from typing import ( + Annotated, Callable, Dict, Generic, @@ -98,7 +99,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Tuple[rlp.Extended, ...] + subnodes: Annotated[Tuple[rlp.Extended], 16] value: rlp.Extended From 2a3b61a5659bb0691975f0d5593ab1a15deb6efa Mon Sep 17 00:00:00 2001 From: enitrat Date: Fri, 20 Dec 2024 16:01:20 +0100 Subject: [PATCH 03/10] add ellipsis to tuple --- src/ethereum/arrow_glacier/trie.py | 2 +- src/ethereum/berlin/trie.py | 2 +- src/ethereum/byzantium/trie.py | 2 +- src/ethereum/cancun/trie.py | 2 +- src/ethereum/constantinople/trie.py | 2 +- src/ethereum/dao_fork/trie.py | 2 +- src/ethereum/frontier/trie.py | 2 +- src/ethereum/gray_glacier/trie.py | 2 +- src/ethereum/homestead/trie.py | 2 +- src/ethereum/istanbul/trie.py | 2 +- src/ethereum/london/trie.py | 2 +- src/ethereum/muir_glacier/trie.py | 2 +- src/ethereum/paris/trie.py | 2 +- src/ethereum/shanghai/trie.py | 2 +- src/ethereum/spurious_dragon/trie.py | 2 +- src/ethereum/tangerine_whistle/trie.py | 2 +- 16 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/ethereum/arrow_glacier/trie.py b/src/ethereum/arrow_glacier/trie.py index 2be9cd57e9..42d223c85c 100644 --- a/src/ethereum/arrow_glacier/trie.py +++ b/src/ethereum/arrow_glacier/trie.py @@ -99,7 +99,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Annotated[Tuple[rlp.Extended], 16] + subnodes: Annotated[Tuple[rlp.Extended, ...], 16] value: rlp.Extended diff --git a/src/ethereum/berlin/trie.py b/src/ethereum/berlin/trie.py index d41c563a4f..28b88e4234 100644 --- a/src/ethereum/berlin/trie.py +++ b/src/ethereum/berlin/trie.py @@ -99,7 +99,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Annotated[Tuple[rlp.Extended], 16] + subnodes: Annotated[Tuple[rlp.Extended, ...], 16] value: rlp.Extended diff --git a/src/ethereum/byzantium/trie.py b/src/ethereum/byzantium/trie.py index fbe98303c3..5c3f2c4e1c 100644 --- a/src/ethereum/byzantium/trie.py +++ b/src/ethereum/byzantium/trie.py @@ -99,7 +99,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Annotated[Tuple[rlp.Extended], 16] + subnodes: Annotated[Tuple[rlp.Extended, ...], 16] value: rlp.Extended diff --git a/src/ethereum/cancun/trie.py b/src/ethereum/cancun/trie.py index 94df309ebe..119be4cc1e 100644 --- a/src/ethereum/cancun/trie.py +++ b/src/ethereum/cancun/trie.py @@ -102,7 +102,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Annotated[Tuple[rlp.Extended], 16] + subnodes: Annotated[Tuple[rlp.Extended, ...], 16] value: rlp.Extended diff --git a/src/ethereum/constantinople/trie.py b/src/ethereum/constantinople/trie.py index 235cac7a62..cfabb37331 100644 --- a/src/ethereum/constantinople/trie.py +++ b/src/ethereum/constantinople/trie.py @@ -99,7 +99,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Annotated[Tuple[rlp.Extended], 16] + subnodes: Annotated[Tuple[rlp.Extended, ...], 16] value: rlp.Extended diff --git a/src/ethereum/dao_fork/trie.py b/src/ethereum/dao_fork/trie.py index 6acef34587..049f8ce896 100644 --- a/src/ethereum/dao_fork/trie.py +++ b/src/ethereum/dao_fork/trie.py @@ -99,7 +99,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Annotated[Tuple[rlp.Extended], 16] + subnodes: Annotated[Tuple[rlp.Extended, ...], 16] value: rlp.Extended diff --git a/src/ethereum/frontier/trie.py b/src/ethereum/frontier/trie.py index abcf67f48a..3f5dcb7706 100644 --- a/src/ethereum/frontier/trie.py +++ b/src/ethereum/frontier/trie.py @@ -98,7 +98,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Annotated[Tuple[rlp.Extended], 16] + subnodes: Annotated[Tuple[rlp.Extended, ...], 16] value: rlp.Extended diff --git a/src/ethereum/gray_glacier/trie.py b/src/ethereum/gray_glacier/trie.py index 6420bd5fa9..01003c575d 100644 --- a/src/ethereum/gray_glacier/trie.py +++ b/src/ethereum/gray_glacier/trie.py @@ -99,7 +99,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Annotated[Tuple[rlp.Extended], 16] + subnodes: Annotated[Tuple[rlp.Extended, ...], 16] value: rlp.Extended diff --git a/src/ethereum/homestead/trie.py b/src/ethereum/homestead/trie.py index a9df0f9d4c..44804c50b5 100644 --- a/src/ethereum/homestead/trie.py +++ b/src/ethereum/homestead/trie.py @@ -99,7 +99,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Annotated[Tuple[rlp.Extended], 16] + subnodes: Annotated[Tuple[rlp.Extended, ...], 16] value: rlp.Extended diff --git a/src/ethereum/istanbul/trie.py b/src/ethereum/istanbul/trie.py index fc6b294b0f..3b611b52ab 100644 --- a/src/ethereum/istanbul/trie.py +++ b/src/ethereum/istanbul/trie.py @@ -99,7 +99,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Annotated[Tuple[rlp.Extended], 16] + subnodes: Annotated[Tuple[rlp.Extended, ...], 16] value: rlp.Extended diff --git a/src/ethereum/london/trie.py b/src/ethereum/london/trie.py index e3df4e26e8..1c68b9eafe 100644 --- a/src/ethereum/london/trie.py +++ b/src/ethereum/london/trie.py @@ -99,7 +99,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Annotated[Tuple[rlp.Extended], 16] + subnodes: Annotated[Tuple[rlp.Extended, ...], 16] value: rlp.Extended diff --git a/src/ethereum/muir_glacier/trie.py b/src/ethereum/muir_glacier/trie.py index d3e49ac19f..1392a91f07 100644 --- a/src/ethereum/muir_glacier/trie.py +++ b/src/ethereum/muir_glacier/trie.py @@ -99,7 +99,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Annotated[Tuple[rlp.Extended], 16] + subnodes: Annotated[Tuple[rlp.Extended, ...], 16] value: rlp.Extended diff --git a/src/ethereum/paris/trie.py b/src/ethereum/paris/trie.py index eab863fead..688c5e2ae9 100644 --- a/src/ethereum/paris/trie.py +++ b/src/ethereum/paris/trie.py @@ -99,7 +99,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Annotated[Tuple[rlp.Extended], 16] + subnodes: Annotated[Tuple[rlp.Extended, ...], 16] value: rlp.Extended diff --git a/src/ethereum/shanghai/trie.py b/src/ethereum/shanghai/trie.py index b298f807b8..e8245b442c 100644 --- a/src/ethereum/shanghai/trie.py +++ b/src/ethereum/shanghai/trie.py @@ -102,7 +102,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Annotated[Tuple[rlp.Extended], 16] + subnodes: Annotated[Tuple[rlp.Extended, ...], 16] value: rlp.Extended diff --git a/src/ethereum/spurious_dragon/trie.py b/src/ethereum/spurious_dragon/trie.py index bb9fa124d9..07163cc1dd 100644 --- a/src/ethereum/spurious_dragon/trie.py +++ b/src/ethereum/spurious_dragon/trie.py @@ -99,7 +99,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Annotated[Tuple[rlp.Extended], 16] + subnodes: Annotated[Tuple[rlp.Extended, ...], 16] value: rlp.Extended diff --git a/src/ethereum/tangerine_whistle/trie.py b/src/ethereum/tangerine_whistle/trie.py index bc128dfa5a..26fdb1a549 100644 --- a/src/ethereum/tangerine_whistle/trie.py +++ b/src/ethereum/tangerine_whistle/trie.py @@ -99,7 +99,7 @@ class ExtensionNode: class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Annotated[Tuple[rlp.Extended], 16] + subnodes: Annotated[Tuple[rlp.Extended, ...], 16] value: rlp.Extended From b255036441d64437bd4fc9f9068bc64c45470e93 Mon Sep 17 00:00:00 2001 From: enitrat Date: Mon, 30 Dec 2024 10:58:55 +0100 Subject: [PATCH 04/10] explicit tuple --- src/ethereum/arrow_glacier/trie.py | 2 +- src/ethereum/berlin/trie.py | 2 +- src/ethereum/byzantium/trie.py | 2 +- src/ethereum/cancun/trie.py | 2 +- src/ethereum/constantinople/trie.py | 2 +- src/ethereum/dao_fork/trie.py | 2 +- src/ethereum/frontier/trie.py | 2 +- src/ethereum/gray_glacier/trie.py | 2 +- src/ethereum/homestead/trie.py | 2 +- src/ethereum/istanbul/trie.py | 2 +- src/ethereum/london/trie.py | 2 +- src/ethereum/muir_glacier/trie.py | 2 +- src/ethereum/paris/trie.py | 2 +- src/ethereum/shanghai/trie.py | 2 +- src/ethereum/spurious_dragon/trie.py | 2 +- src/ethereum/tangerine_whistle/trie.py | 2 +- 16 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/ethereum/arrow_glacier/trie.py b/src/ethereum/arrow_glacier/trie.py index 42d223c85c..8100b01f8e 100644 --- a/src/ethereum/arrow_glacier/trie.py +++ b/src/ethereum/arrow_glacier/trie.py @@ -461,7 +461,7 @@ def patricialize( branches[key[level]][key] = obj[key] return BranchNode( - ( + tuple( encode_internal_node(patricialize(branches[k], level + Uint(1))) for k in range(16) ), diff --git a/src/ethereum/berlin/trie.py b/src/ethereum/berlin/trie.py index 28b88e4234..4eb0b6ca51 100644 --- a/src/ethereum/berlin/trie.py +++ b/src/ethereum/berlin/trie.py @@ -461,7 +461,7 @@ def patricialize( branches[key[level]][key] = obj[key] return BranchNode( - ( + tuple( encode_internal_node(patricialize(branches[k], level + Uint(1))) for k in range(16) ), diff --git a/src/ethereum/byzantium/trie.py b/src/ethereum/byzantium/trie.py index 5c3f2c4e1c..2aafc29fc9 100644 --- a/src/ethereum/byzantium/trie.py +++ b/src/ethereum/byzantium/trie.py @@ -461,7 +461,7 @@ def patricialize( branches[key[level]][key] = obj[key] return BranchNode( - ( + tuple( encode_internal_node(patricialize(branches[k], level + Uint(1))) for k in range(16) ), diff --git a/src/ethereum/cancun/trie.py b/src/ethereum/cancun/trie.py index 119be4cc1e..7052c1ab81 100644 --- a/src/ethereum/cancun/trie.py +++ b/src/ethereum/cancun/trie.py @@ -464,7 +464,7 @@ def patricialize( branches[key[level]][key] = obj[key] return BranchNode( - ( + tuple( encode_internal_node(patricialize(branches[k], level + Uint(1))) for k in range(16) ), diff --git a/src/ethereum/constantinople/trie.py b/src/ethereum/constantinople/trie.py index cfabb37331..9a6e71694b 100644 --- a/src/ethereum/constantinople/trie.py +++ b/src/ethereum/constantinople/trie.py @@ -461,7 +461,7 @@ def patricialize( branches[key[level]][key] = obj[key] return BranchNode( - ( + tuple( encode_internal_node(patricialize(branches[k], level + Uint(1))) for k in range(16) ), diff --git a/src/ethereum/dao_fork/trie.py b/src/ethereum/dao_fork/trie.py index 049f8ce896..52fdd5609e 100644 --- a/src/ethereum/dao_fork/trie.py +++ b/src/ethereum/dao_fork/trie.py @@ -461,7 +461,7 @@ def patricialize( branches[key[level]][key] = obj[key] return BranchNode( - ( + tuple( encode_internal_node(patricialize(branches[k], level + Uint(1))) for k in range(16) ), diff --git a/src/ethereum/frontier/trie.py b/src/ethereum/frontier/trie.py index 3f5dcb7706..6378b93d19 100644 --- a/src/ethereum/frontier/trie.py +++ b/src/ethereum/frontier/trie.py @@ -462,7 +462,7 @@ def patricialize( branches[key[level]][key] = obj[key] return BranchNode( - ( + tuple( encode_internal_node(patricialize(branches[k], level + Uint(1))) for k in range(16) ), diff --git a/src/ethereum/gray_glacier/trie.py b/src/ethereum/gray_glacier/trie.py index 01003c575d..b6ddb29212 100644 --- a/src/ethereum/gray_glacier/trie.py +++ b/src/ethereum/gray_glacier/trie.py @@ -461,7 +461,7 @@ def patricialize( branches[key[level]][key] = obj[key] return BranchNode( - ( + tuple( encode_internal_node(patricialize(branches[k], level + Uint(1))) for k in range(16) ), diff --git a/src/ethereum/homestead/trie.py b/src/ethereum/homestead/trie.py index 44804c50b5..cab6ad5827 100644 --- a/src/ethereum/homestead/trie.py +++ b/src/ethereum/homestead/trie.py @@ -461,7 +461,7 @@ def patricialize( branches[key[level]][key] = obj[key] return BranchNode( - ( + tuple( encode_internal_node(patricialize(branches[k], level + Uint(1))) for k in range(16) ), diff --git a/src/ethereum/istanbul/trie.py b/src/ethereum/istanbul/trie.py index 3b611b52ab..9394bdf47e 100644 --- a/src/ethereum/istanbul/trie.py +++ b/src/ethereum/istanbul/trie.py @@ -461,7 +461,7 @@ def patricialize( branches[key[level]][key] = obj[key] return BranchNode( - ( + tuple( encode_internal_node(patricialize(branches[k], level + Uint(1))) for k in range(16) ), diff --git a/src/ethereum/london/trie.py b/src/ethereum/london/trie.py index 1c68b9eafe..7de878095b 100644 --- a/src/ethereum/london/trie.py +++ b/src/ethereum/london/trie.py @@ -461,7 +461,7 @@ def patricialize( branches[key[level]][key] = obj[key] return BranchNode( - ( + tuple( encode_internal_node(patricialize(branches[k], level + Uint(1))) for k in range(16) ), diff --git a/src/ethereum/muir_glacier/trie.py b/src/ethereum/muir_glacier/trie.py index 1392a91f07..fd458d78c1 100644 --- a/src/ethereum/muir_glacier/trie.py +++ b/src/ethereum/muir_glacier/trie.py @@ -461,7 +461,7 @@ def patricialize( branches[key[level]][key] = obj[key] return BranchNode( - ( + tuple( encode_internal_node(patricialize(branches[k], level + Uint(1))) for k in range(16) ), diff --git a/src/ethereum/paris/trie.py b/src/ethereum/paris/trie.py index 688c5e2ae9..82d2c90fc8 100644 --- a/src/ethereum/paris/trie.py +++ b/src/ethereum/paris/trie.py @@ -461,7 +461,7 @@ def patricialize( branches[key[level]][key] = obj[key] return BranchNode( - ( + tuple( encode_internal_node(patricialize(branches[k], level + Uint(1))) for k in range(16) ), diff --git a/src/ethereum/shanghai/trie.py b/src/ethereum/shanghai/trie.py index e8245b442c..ade5b3e1c7 100644 --- a/src/ethereum/shanghai/trie.py +++ b/src/ethereum/shanghai/trie.py @@ -464,7 +464,7 @@ def patricialize( branches[key[level]][key] = obj[key] return BranchNode( - ( + tuple( encode_internal_node(patricialize(branches[k], level + Uint(1))) for k in range(16) ), diff --git a/src/ethereum/spurious_dragon/trie.py b/src/ethereum/spurious_dragon/trie.py index 07163cc1dd..f8694e6061 100644 --- a/src/ethereum/spurious_dragon/trie.py +++ b/src/ethereum/spurious_dragon/trie.py @@ -461,7 +461,7 @@ def patricialize( branches[key[level]][key] = obj[key] return BranchNode( - ( + tuple( encode_internal_node(patricialize(branches[k], level + Uint(1))) for k in range(16) ), diff --git a/src/ethereum/tangerine_whistle/trie.py b/src/ethereum/tangerine_whistle/trie.py index 26fdb1a549..91d4e3e382 100644 --- a/src/ethereum/tangerine_whistle/trie.py +++ b/src/ethereum/tangerine_whistle/trie.py @@ -461,7 +461,7 @@ def patricialize( branches[key[level]][key] = obj[key] return BranchNode( - ( + tuple( encode_internal_node(patricialize(branches[k], level + Uint(1))) for k in range(16) ), From e148ed4c7671d1c0154e1b80f74131b186a8afb4 Mon Sep 17 00:00:00 2001 From: enitrat Date: Mon, 30 Dec 2024 19:38:32 +0100 Subject: [PATCH 05/10] use explicit 16-field tuple --- src/ethereum/arrow_glacier/trie.py | 7 ++++++- src/ethereum/berlin/trie.py | 7 ++++++- src/ethereum/byzantium/trie.py | 7 ++++++- src/ethereum/cancun/trie.py | 7 ++++++- src/ethereum/constantinople/trie.py | 7 ++++++- src/ethereum/dao_fork/trie.py | 7 ++++++- src/ethereum/frontier/trie.py | 7 ++++++- src/ethereum/gray_glacier/trie.py | 7 ++++++- src/ethereum/homestead/trie.py | 7 ++++++- src/ethereum/istanbul/trie.py | 7 ++++++- src/ethereum/london/trie.py | 7 ++++++- src/ethereum/muir_glacier/trie.py | 7 ++++++- src/ethereum/paris/trie.py | 7 ++++++- src/ethereum/shanghai/trie.py | 7 ++++++- src/ethereum/spurious_dragon/trie.py | 7 ++++++- src/ethereum/tangerine_whistle/trie.py | 7 ++++++- 16 files changed, 96 insertions(+), 16 deletions(-) diff --git a/src/ethereum/arrow_glacier/trie.py b/src/ethereum/arrow_glacier/trie.py index 8100b01f8e..245a139416 100644 --- a/src/ethereum/arrow_glacier/trie.py +++ b/src/ethereum/arrow_glacier/trie.py @@ -94,12 +94,17 @@ class ExtensionNode: subnode: rlp.Extended +BranchSubnodes = Tuple[rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended] + @slotted_freezable @dataclass class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Annotated[Tuple[rlp.Extended, ...], 16] + subnodes: BranchSubnodes value: rlp.Extended diff --git a/src/ethereum/berlin/trie.py b/src/ethereum/berlin/trie.py index 4eb0b6ca51..d77616f70b 100644 --- a/src/ethereum/berlin/trie.py +++ b/src/ethereum/berlin/trie.py @@ -94,12 +94,17 @@ class ExtensionNode: subnode: rlp.Extended +BranchSubnodes = Tuple[rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended] + @slotted_freezable @dataclass class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Annotated[Tuple[rlp.Extended, ...], 16] + subnodes: BranchSubnodes value: rlp.Extended diff --git a/src/ethereum/byzantium/trie.py b/src/ethereum/byzantium/trie.py index 2aafc29fc9..83cadac217 100644 --- a/src/ethereum/byzantium/trie.py +++ b/src/ethereum/byzantium/trie.py @@ -94,12 +94,17 @@ class ExtensionNode: subnode: rlp.Extended +BranchSubnodes = Tuple[rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended] + @slotted_freezable @dataclass class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Annotated[Tuple[rlp.Extended, ...], 16] + subnodes: BranchSubnodes value: rlp.Extended diff --git a/src/ethereum/cancun/trie.py b/src/ethereum/cancun/trie.py index 7052c1ab81..ad96e18a76 100644 --- a/src/ethereum/cancun/trie.py +++ b/src/ethereum/cancun/trie.py @@ -97,12 +97,17 @@ class ExtensionNode: subnode: rlp.Extended +BranchSubnodes = Tuple[rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended] + @slotted_freezable @dataclass class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Annotated[Tuple[rlp.Extended, ...], 16] + subnodes: BranchSubnodes value: rlp.Extended diff --git a/src/ethereum/constantinople/trie.py b/src/ethereum/constantinople/trie.py index 9a6e71694b..a9a402d3a5 100644 --- a/src/ethereum/constantinople/trie.py +++ b/src/ethereum/constantinople/trie.py @@ -94,12 +94,17 @@ class ExtensionNode: subnode: rlp.Extended +BranchSubnodes = Tuple[rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended] + @slotted_freezable @dataclass class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Annotated[Tuple[rlp.Extended, ...], 16] + subnodes: BranchSubnodes value: rlp.Extended diff --git a/src/ethereum/dao_fork/trie.py b/src/ethereum/dao_fork/trie.py index 52fdd5609e..fe1d158d97 100644 --- a/src/ethereum/dao_fork/trie.py +++ b/src/ethereum/dao_fork/trie.py @@ -94,12 +94,17 @@ class ExtensionNode: subnode: rlp.Extended +BranchSubnodes = Tuple[rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended] + @slotted_freezable @dataclass class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Annotated[Tuple[rlp.Extended, ...], 16] + subnodes: BranchSubnodes value: rlp.Extended diff --git a/src/ethereum/frontier/trie.py b/src/ethereum/frontier/trie.py index 6378b93d19..a3d409fbbf 100644 --- a/src/ethereum/frontier/trie.py +++ b/src/ethereum/frontier/trie.py @@ -93,12 +93,17 @@ class ExtensionNode: subnode: rlp.Extended +BranchSubnodes = Tuple[rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended] + @slotted_freezable @dataclass class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Annotated[Tuple[rlp.Extended, ...], 16] + subnodes: BranchSubnodes value: rlp.Extended diff --git a/src/ethereum/gray_glacier/trie.py b/src/ethereum/gray_glacier/trie.py index b6ddb29212..5d89799561 100644 --- a/src/ethereum/gray_glacier/trie.py +++ b/src/ethereum/gray_glacier/trie.py @@ -94,12 +94,17 @@ class ExtensionNode: subnode: rlp.Extended +BranchSubnodes = Tuple[rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended] + @slotted_freezable @dataclass class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Annotated[Tuple[rlp.Extended, ...], 16] + subnodes: BranchSubnodes value: rlp.Extended diff --git a/src/ethereum/homestead/trie.py b/src/ethereum/homestead/trie.py index cab6ad5827..33f1997d7b 100644 --- a/src/ethereum/homestead/trie.py +++ b/src/ethereum/homestead/trie.py @@ -94,12 +94,17 @@ class ExtensionNode: subnode: rlp.Extended +BranchSubnodes = Tuple[rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended] + @slotted_freezable @dataclass class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Annotated[Tuple[rlp.Extended, ...], 16] + subnodes: BranchSubnodes value: rlp.Extended diff --git a/src/ethereum/istanbul/trie.py b/src/ethereum/istanbul/trie.py index 9394bdf47e..118071f130 100644 --- a/src/ethereum/istanbul/trie.py +++ b/src/ethereum/istanbul/trie.py @@ -94,12 +94,17 @@ class ExtensionNode: subnode: rlp.Extended +BranchSubnodes = Tuple[rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended] + @slotted_freezable @dataclass class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Annotated[Tuple[rlp.Extended, ...], 16] + subnodes: BranchSubnodes value: rlp.Extended diff --git a/src/ethereum/london/trie.py b/src/ethereum/london/trie.py index 7de878095b..20e58b6807 100644 --- a/src/ethereum/london/trie.py +++ b/src/ethereum/london/trie.py @@ -94,12 +94,17 @@ class ExtensionNode: subnode: rlp.Extended +BranchSubnodes = Tuple[rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended] + @slotted_freezable @dataclass class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Annotated[Tuple[rlp.Extended, ...], 16] + subnodes: BranchSubnodes value: rlp.Extended diff --git a/src/ethereum/muir_glacier/trie.py b/src/ethereum/muir_glacier/trie.py index fd458d78c1..f247c6e7a9 100644 --- a/src/ethereum/muir_glacier/trie.py +++ b/src/ethereum/muir_glacier/trie.py @@ -94,12 +94,17 @@ class ExtensionNode: subnode: rlp.Extended +BranchSubnodes = Tuple[rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended] + @slotted_freezable @dataclass class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Annotated[Tuple[rlp.Extended, ...], 16] + subnodes: BranchSubnodes value: rlp.Extended diff --git a/src/ethereum/paris/trie.py b/src/ethereum/paris/trie.py index 82d2c90fc8..f1a6804355 100644 --- a/src/ethereum/paris/trie.py +++ b/src/ethereum/paris/trie.py @@ -94,12 +94,17 @@ class ExtensionNode: subnode: rlp.Extended +BranchSubnodes = Tuple[rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended] + @slotted_freezable @dataclass class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Annotated[Tuple[rlp.Extended, ...], 16] + subnodes: BranchSubnodes value: rlp.Extended diff --git a/src/ethereum/shanghai/trie.py b/src/ethereum/shanghai/trie.py index ade5b3e1c7..b9a7d9e590 100644 --- a/src/ethereum/shanghai/trie.py +++ b/src/ethereum/shanghai/trie.py @@ -97,12 +97,17 @@ class ExtensionNode: subnode: rlp.Extended +BranchSubnodes = Tuple[rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended] + @slotted_freezable @dataclass class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Annotated[Tuple[rlp.Extended, ...], 16] + subnodes: BranchSubnodes value: rlp.Extended diff --git a/src/ethereum/spurious_dragon/trie.py b/src/ethereum/spurious_dragon/trie.py index f8694e6061..a7d2c360a1 100644 --- a/src/ethereum/spurious_dragon/trie.py +++ b/src/ethereum/spurious_dragon/trie.py @@ -94,12 +94,17 @@ class ExtensionNode: subnode: rlp.Extended +BranchSubnodes = Tuple[rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended] + @slotted_freezable @dataclass class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Annotated[Tuple[rlp.Extended, ...], 16] + subnodes: BranchSubnodes value: rlp.Extended diff --git a/src/ethereum/tangerine_whistle/trie.py b/src/ethereum/tangerine_whistle/trie.py index 91d4e3e382..3c6659351d 100644 --- a/src/ethereum/tangerine_whistle/trie.py +++ b/src/ethereum/tangerine_whistle/trie.py @@ -94,12 +94,17 @@ class ExtensionNode: subnode: rlp.Extended +BranchSubnodes = Tuple[rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, + rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended] + @slotted_freezable @dataclass class BranchNode: """Branch node in the Merkle Trie""" - subnodes: Annotated[Tuple[rlp.Extended, ...], 16] + subnodes: BranchSubnodes value: rlp.Extended From 85f96cd6e9670283c0d83335614991276ce09b16 Mon Sep 17 00:00:00 2001 From: enitrat Date: Mon, 30 Dec 2024 19:39:32 +0100 Subject: [PATCH 06/10] fmt --- src/ethereum/arrow_glacier/trie.py | 23 +++++++++++++++++++---- src/ethereum/berlin/trie.py | 23 +++++++++++++++++++---- src/ethereum/byzantium/trie.py | 23 +++++++++++++++++++---- src/ethereum/cancun/trie.py | 23 +++++++++++++++++++---- src/ethereum/constantinople/trie.py | 23 +++++++++++++++++++---- src/ethereum/dao_fork/trie.py | 23 +++++++++++++++++++---- src/ethereum/frontier/trie.py | 23 +++++++++++++++++++---- src/ethereum/gray_glacier/trie.py | 23 +++++++++++++++++++---- src/ethereum/homestead/trie.py | 23 +++++++++++++++++++---- src/ethereum/istanbul/trie.py | 23 +++++++++++++++++++---- src/ethereum/london/trie.py | 23 +++++++++++++++++++---- src/ethereum/muir_glacier/trie.py | 23 +++++++++++++++++++---- src/ethereum/paris/trie.py | 23 +++++++++++++++++++---- src/ethereum/shanghai/trie.py | 23 +++++++++++++++++++---- src/ethereum/spurious_dragon/trie.py | 23 +++++++++++++++++++---- src/ethereum/tangerine_whistle/trie.py | 23 +++++++++++++++++++---- 16 files changed, 304 insertions(+), 64 deletions(-) diff --git a/src/ethereum/arrow_glacier/trie.py b/src/ethereum/arrow_glacier/trie.py index 245a139416..fa92d51d48 100644 --- a/src/ethereum/arrow_glacier/trie.py +++ b/src/ethereum/arrow_glacier/trie.py @@ -94,10 +94,25 @@ class ExtensionNode: subnode: rlp.Extended -BranchSubnodes = Tuple[rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended] +BranchSubnodes = Tuple[ + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, +] + @slotted_freezable @dataclass diff --git a/src/ethereum/berlin/trie.py b/src/ethereum/berlin/trie.py index d77616f70b..36662788fc 100644 --- a/src/ethereum/berlin/trie.py +++ b/src/ethereum/berlin/trie.py @@ -94,10 +94,25 @@ class ExtensionNode: subnode: rlp.Extended -BranchSubnodes = Tuple[rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended] +BranchSubnodes = Tuple[ + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, +] + @slotted_freezable @dataclass diff --git a/src/ethereum/byzantium/trie.py b/src/ethereum/byzantium/trie.py index 83cadac217..5e8af1cafa 100644 --- a/src/ethereum/byzantium/trie.py +++ b/src/ethereum/byzantium/trie.py @@ -94,10 +94,25 @@ class ExtensionNode: subnode: rlp.Extended -BranchSubnodes = Tuple[rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended] +BranchSubnodes = Tuple[ + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, +] + @slotted_freezable @dataclass diff --git a/src/ethereum/cancun/trie.py b/src/ethereum/cancun/trie.py index ad96e18a76..3323c8cf58 100644 --- a/src/ethereum/cancun/trie.py +++ b/src/ethereum/cancun/trie.py @@ -97,10 +97,25 @@ class ExtensionNode: subnode: rlp.Extended -BranchSubnodes = Tuple[rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended] +BranchSubnodes = Tuple[ + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, +] + @slotted_freezable @dataclass diff --git a/src/ethereum/constantinople/trie.py b/src/ethereum/constantinople/trie.py index a9a402d3a5..d4f16a97eb 100644 --- a/src/ethereum/constantinople/trie.py +++ b/src/ethereum/constantinople/trie.py @@ -94,10 +94,25 @@ class ExtensionNode: subnode: rlp.Extended -BranchSubnodes = Tuple[rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended] +BranchSubnodes = Tuple[ + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, +] + @slotted_freezable @dataclass diff --git a/src/ethereum/dao_fork/trie.py b/src/ethereum/dao_fork/trie.py index fe1d158d97..8d556b48f4 100644 --- a/src/ethereum/dao_fork/trie.py +++ b/src/ethereum/dao_fork/trie.py @@ -94,10 +94,25 @@ class ExtensionNode: subnode: rlp.Extended -BranchSubnodes = Tuple[rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended] +BranchSubnodes = Tuple[ + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, +] + @slotted_freezable @dataclass diff --git a/src/ethereum/frontier/trie.py b/src/ethereum/frontier/trie.py index a3d409fbbf..988f6a297d 100644 --- a/src/ethereum/frontier/trie.py +++ b/src/ethereum/frontier/trie.py @@ -93,10 +93,25 @@ class ExtensionNode: subnode: rlp.Extended -BranchSubnodes = Tuple[rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended] +BranchSubnodes = Tuple[ + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, +] + @slotted_freezable @dataclass diff --git a/src/ethereum/gray_glacier/trie.py b/src/ethereum/gray_glacier/trie.py index 5d89799561..e896b89859 100644 --- a/src/ethereum/gray_glacier/trie.py +++ b/src/ethereum/gray_glacier/trie.py @@ -94,10 +94,25 @@ class ExtensionNode: subnode: rlp.Extended -BranchSubnodes = Tuple[rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended] +BranchSubnodes = Tuple[ + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, +] + @slotted_freezable @dataclass diff --git a/src/ethereum/homestead/trie.py b/src/ethereum/homestead/trie.py index 33f1997d7b..79a699887f 100644 --- a/src/ethereum/homestead/trie.py +++ b/src/ethereum/homestead/trie.py @@ -94,10 +94,25 @@ class ExtensionNode: subnode: rlp.Extended -BranchSubnodes = Tuple[rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended] +BranchSubnodes = Tuple[ + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, +] + @slotted_freezable @dataclass diff --git a/src/ethereum/istanbul/trie.py b/src/ethereum/istanbul/trie.py index 118071f130..65bb51d462 100644 --- a/src/ethereum/istanbul/trie.py +++ b/src/ethereum/istanbul/trie.py @@ -94,10 +94,25 @@ class ExtensionNode: subnode: rlp.Extended -BranchSubnodes = Tuple[rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended] +BranchSubnodes = Tuple[ + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, +] + @slotted_freezable @dataclass diff --git a/src/ethereum/london/trie.py b/src/ethereum/london/trie.py index 20e58b6807..39dffa823d 100644 --- a/src/ethereum/london/trie.py +++ b/src/ethereum/london/trie.py @@ -94,10 +94,25 @@ class ExtensionNode: subnode: rlp.Extended -BranchSubnodes = Tuple[rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended] +BranchSubnodes = Tuple[ + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, +] + @slotted_freezable @dataclass diff --git a/src/ethereum/muir_glacier/trie.py b/src/ethereum/muir_glacier/trie.py index f247c6e7a9..9846bfcf65 100644 --- a/src/ethereum/muir_glacier/trie.py +++ b/src/ethereum/muir_glacier/trie.py @@ -94,10 +94,25 @@ class ExtensionNode: subnode: rlp.Extended -BranchSubnodes = Tuple[rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended] +BranchSubnodes = Tuple[ + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, +] + @slotted_freezable @dataclass diff --git a/src/ethereum/paris/trie.py b/src/ethereum/paris/trie.py index f1a6804355..88b82bc503 100644 --- a/src/ethereum/paris/trie.py +++ b/src/ethereum/paris/trie.py @@ -94,10 +94,25 @@ class ExtensionNode: subnode: rlp.Extended -BranchSubnodes = Tuple[rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended] +BranchSubnodes = Tuple[ + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, +] + @slotted_freezable @dataclass diff --git a/src/ethereum/shanghai/trie.py b/src/ethereum/shanghai/trie.py index b9a7d9e590..e53f25a61b 100644 --- a/src/ethereum/shanghai/trie.py +++ b/src/ethereum/shanghai/trie.py @@ -97,10 +97,25 @@ class ExtensionNode: subnode: rlp.Extended -BranchSubnodes = Tuple[rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended] +BranchSubnodes = Tuple[ + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, +] + @slotted_freezable @dataclass diff --git a/src/ethereum/spurious_dragon/trie.py b/src/ethereum/spurious_dragon/trie.py index a7d2c360a1..5f275b3b90 100644 --- a/src/ethereum/spurious_dragon/trie.py +++ b/src/ethereum/spurious_dragon/trie.py @@ -94,10 +94,25 @@ class ExtensionNode: subnode: rlp.Extended -BranchSubnodes = Tuple[rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended] +BranchSubnodes = Tuple[ + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, +] + @slotted_freezable @dataclass diff --git a/src/ethereum/tangerine_whistle/trie.py b/src/ethereum/tangerine_whistle/trie.py index 3c6659351d..d6a03d51b7 100644 --- a/src/ethereum/tangerine_whistle/trie.py +++ b/src/ethereum/tangerine_whistle/trie.py @@ -94,10 +94,25 @@ class ExtensionNode: subnode: rlp.Extended -BranchSubnodes = Tuple[rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended, - rlp.Extended, rlp.Extended, rlp.Extended, rlp.Extended] +BranchSubnodes = Tuple[ + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, + rlp.Extended, +] + @slotted_freezable @dataclass From 068b9a786152ad069043308d584e0442bd65a285 Mon Sep 17 00:00:00 2001 From: enitrat Date: Tue, 31 Dec 2024 08:01:01 +0100 Subject: [PATCH 07/10] remove Annotated import --- src/ethereum/arrow_glacier/trie.py | 1 - src/ethereum/berlin/trie.py | 1 - src/ethereum/byzantium/trie.py | 1 - src/ethereum/cancun/trie.py | 1 - src/ethereum/constantinople/trie.py | 1 - src/ethereum/dao_fork/trie.py | 1 - src/ethereum/frontier/trie.py | 1 - src/ethereum/gray_glacier/trie.py | 1 - src/ethereum/homestead/trie.py | 1 - src/ethereum/istanbul/trie.py | 1 - src/ethereum/london/trie.py | 1 - src/ethereum/muir_glacier/trie.py | 1 - src/ethereum/paris/trie.py | 1 - src/ethereum/shanghai/trie.py | 1 - src/ethereum/spurious_dragon/trie.py | 1 - src/ethereum/tangerine_whistle/trie.py | 1 - 16 files changed, 16 deletions(-) diff --git a/src/ethereum/arrow_glacier/trie.py b/src/ethereum/arrow_glacier/trie.py index fa92d51d48..055e3e5ace 100644 --- a/src/ethereum/arrow_glacier/trie.py +++ b/src/ethereum/arrow_glacier/trie.py @@ -16,7 +16,6 @@ import copy from dataclasses import dataclass, field from typing import ( - Annotated, Callable, Dict, Generic, diff --git a/src/ethereum/berlin/trie.py b/src/ethereum/berlin/trie.py index 36662788fc..6c4d100e43 100644 --- a/src/ethereum/berlin/trie.py +++ b/src/ethereum/berlin/trie.py @@ -16,7 +16,6 @@ import copy from dataclasses import dataclass, field from typing import ( - Annotated, Callable, Dict, Generic, diff --git a/src/ethereum/byzantium/trie.py b/src/ethereum/byzantium/trie.py index 5e8af1cafa..7c988353a5 100644 --- a/src/ethereum/byzantium/trie.py +++ b/src/ethereum/byzantium/trie.py @@ -16,7 +16,6 @@ import copy from dataclasses import dataclass, field from typing import ( - Annotated, Callable, Dict, Generic, diff --git a/src/ethereum/cancun/trie.py b/src/ethereum/cancun/trie.py index 3323c8cf58..98790a4d4f 100644 --- a/src/ethereum/cancun/trie.py +++ b/src/ethereum/cancun/trie.py @@ -16,7 +16,6 @@ import copy from dataclasses import dataclass, field from typing import ( - Annotated, Callable, Dict, Generic, diff --git a/src/ethereum/constantinople/trie.py b/src/ethereum/constantinople/trie.py index d4f16a97eb..d03017148c 100644 --- a/src/ethereum/constantinople/trie.py +++ b/src/ethereum/constantinople/trie.py @@ -16,7 +16,6 @@ import copy from dataclasses import dataclass, field from typing import ( - Annotated, Callable, Dict, Generic, diff --git a/src/ethereum/dao_fork/trie.py b/src/ethereum/dao_fork/trie.py index 8d556b48f4..a28eea10bd 100644 --- a/src/ethereum/dao_fork/trie.py +++ b/src/ethereum/dao_fork/trie.py @@ -16,7 +16,6 @@ import copy from dataclasses import dataclass, field from typing import ( - Annotated, Callable, Dict, Generic, diff --git a/src/ethereum/frontier/trie.py b/src/ethereum/frontier/trie.py index 988f6a297d..71a8a2b884 100644 --- a/src/ethereum/frontier/trie.py +++ b/src/ethereum/frontier/trie.py @@ -16,7 +16,6 @@ import copy from dataclasses import dataclass, field from typing import ( - Annotated, Callable, Dict, Generic, diff --git a/src/ethereum/gray_glacier/trie.py b/src/ethereum/gray_glacier/trie.py index e896b89859..55c6138ca3 100644 --- a/src/ethereum/gray_glacier/trie.py +++ b/src/ethereum/gray_glacier/trie.py @@ -16,7 +16,6 @@ import copy from dataclasses import dataclass, field from typing import ( - Annotated, Callable, Dict, Generic, diff --git a/src/ethereum/homestead/trie.py b/src/ethereum/homestead/trie.py index 79a699887f..b60d7d2968 100644 --- a/src/ethereum/homestead/trie.py +++ b/src/ethereum/homestead/trie.py @@ -16,7 +16,6 @@ import copy from dataclasses import dataclass, field from typing import ( - Annotated, Callable, Dict, Generic, diff --git a/src/ethereum/istanbul/trie.py b/src/ethereum/istanbul/trie.py index 65bb51d462..545165a981 100644 --- a/src/ethereum/istanbul/trie.py +++ b/src/ethereum/istanbul/trie.py @@ -16,7 +16,6 @@ import copy from dataclasses import dataclass, field from typing import ( - Annotated, Callable, Dict, Generic, diff --git a/src/ethereum/london/trie.py b/src/ethereum/london/trie.py index 39dffa823d..bbfff32c70 100644 --- a/src/ethereum/london/trie.py +++ b/src/ethereum/london/trie.py @@ -16,7 +16,6 @@ import copy from dataclasses import dataclass, field from typing import ( - Annotated, Callable, Dict, Generic, diff --git a/src/ethereum/muir_glacier/trie.py b/src/ethereum/muir_glacier/trie.py index 9846bfcf65..db00c92e2d 100644 --- a/src/ethereum/muir_glacier/trie.py +++ b/src/ethereum/muir_glacier/trie.py @@ -16,7 +16,6 @@ import copy from dataclasses import dataclass, field from typing import ( - Annotated, Callable, Dict, Generic, diff --git a/src/ethereum/paris/trie.py b/src/ethereum/paris/trie.py index 88b82bc503..5f7392f8ba 100644 --- a/src/ethereum/paris/trie.py +++ b/src/ethereum/paris/trie.py @@ -16,7 +16,6 @@ import copy from dataclasses import dataclass, field from typing import ( - Annotated, Callable, Dict, Generic, diff --git a/src/ethereum/shanghai/trie.py b/src/ethereum/shanghai/trie.py index e53f25a61b..0b4c2c53f9 100644 --- a/src/ethereum/shanghai/trie.py +++ b/src/ethereum/shanghai/trie.py @@ -16,7 +16,6 @@ import copy from dataclasses import dataclass, field from typing import ( - Annotated, Callable, Dict, Generic, diff --git a/src/ethereum/spurious_dragon/trie.py b/src/ethereum/spurious_dragon/trie.py index 5f275b3b90..0e34fc7399 100644 --- a/src/ethereum/spurious_dragon/trie.py +++ b/src/ethereum/spurious_dragon/trie.py @@ -16,7 +16,6 @@ import copy from dataclasses import dataclass, field from typing import ( - Annotated, Callable, Dict, Generic, diff --git a/src/ethereum/tangerine_whistle/trie.py b/src/ethereum/tangerine_whistle/trie.py index d6a03d51b7..2fca742752 100644 --- a/src/ethereum/tangerine_whistle/trie.py +++ b/src/ethereum/tangerine_whistle/trie.py @@ -16,7 +16,6 @@ import copy from dataclasses import dataclass, field from typing import ( - Annotated, Callable, Dict, Generic, From a83b0d0f7457723b00d6a6faa36c2bcdd3842e40 Mon Sep 17 00:00:00 2001 From: enitrat Date: Mon, 6 Jan 2025 16:20:21 +0100 Subject: [PATCH 08/10] fix types --- src/ethereum/arrow_glacier/trie.py | 10 ++++++---- src/ethereum/berlin/trie.py | 10 ++++++---- src/ethereum/byzantium/trie.py | 10 ++++++---- src/ethereum/cancun/trie.py | 10 ++++++---- src/ethereum/constantinople/trie.py | 10 ++++++---- src/ethereum/dao_fork/trie.py | 10 ++++++---- src/ethereum/frontier/trie.py | 10 ++++++---- src/ethereum/gray_glacier/trie.py | 10 ++++++---- src/ethereum/homestead/trie.py | 10 ++++++---- src/ethereum/istanbul/trie.py | 10 ++++++---- src/ethereum/london/trie.py | 10 ++++++---- src/ethereum/muir_glacier/trie.py | 10 ++++++---- src/ethereum/paris/trie.py | 10 ++++++---- src/ethereum/shanghai/trie.py | 10 ++++++---- src/ethereum/spurious_dragon/trie.py | 10 ++++++---- src/ethereum/tangerine_whistle/trie.py | 10 ++++++---- 16 files changed, 96 insertions(+), 64 deletions(-) diff --git a/src/ethereum/arrow_glacier/trie.py b/src/ethereum/arrow_glacier/trie.py index 055e3e5ace..57dccead3f 100644 --- a/src/ethereum/arrow_glacier/trie.py +++ b/src/ethereum/arrow_glacier/trie.py @@ -27,6 +27,7 @@ Tuple, TypeVar, Union, + cast, ) from ethereum_types.bytes import Bytes @@ -479,10 +480,11 @@ def patricialize( else: branches[key[level]][key] = obj[key] + subnodes = tuple( + encode_internal_node(patricialize(branches[k], level + Uint(1))) + for k in range(16) + ) return BranchNode( - tuple( - encode_internal_node(patricialize(branches[k], level + Uint(1))) - for k in range(16) - ), + cast(BranchSubnodes, subnodes), value, ) diff --git a/src/ethereum/berlin/trie.py b/src/ethereum/berlin/trie.py index 6c4d100e43..4a8e9c373a 100644 --- a/src/ethereum/berlin/trie.py +++ b/src/ethereum/berlin/trie.py @@ -27,6 +27,7 @@ Tuple, TypeVar, Union, + cast, ) from ethereum_types.bytes import Bytes @@ -479,10 +480,11 @@ def patricialize( else: branches[key[level]][key] = obj[key] + subnodes = tuple( + encode_internal_node(patricialize(branches[k], level + Uint(1))) + for k in range(16) + ) return BranchNode( - tuple( - encode_internal_node(patricialize(branches[k], level + Uint(1))) - for k in range(16) - ), + cast(BranchSubnodes, subnodes), value, ) diff --git a/src/ethereum/byzantium/trie.py b/src/ethereum/byzantium/trie.py index 7c988353a5..d3f3808680 100644 --- a/src/ethereum/byzantium/trie.py +++ b/src/ethereum/byzantium/trie.py @@ -27,6 +27,7 @@ Tuple, TypeVar, Union, + cast, ) from ethereum_types.bytes import Bytes @@ -479,10 +480,11 @@ def patricialize( else: branches[key[level]][key] = obj[key] + subnodes = tuple( + encode_internal_node(patricialize(branches[k], level + Uint(1))) + for k in range(16) + ) return BranchNode( - tuple( - encode_internal_node(patricialize(branches[k], level + Uint(1))) - for k in range(16) - ), + cast(BranchSubnodes, subnodes), value, ) diff --git a/src/ethereum/cancun/trie.py b/src/ethereum/cancun/trie.py index 98790a4d4f..ed41209723 100644 --- a/src/ethereum/cancun/trie.py +++ b/src/ethereum/cancun/trie.py @@ -27,6 +27,7 @@ Tuple, TypeVar, Union, + cast, ) from ethereum_types.bytes import Bytes @@ -482,10 +483,11 @@ def patricialize( else: branches[key[level]][key] = obj[key] + subnodes = tuple( + encode_internal_node(patricialize(branches[k], level + Uint(1))) + for k in range(16) + ) return BranchNode( - tuple( - encode_internal_node(patricialize(branches[k], level + Uint(1))) - for k in range(16) - ), + cast(BranchSubnodes, subnodes), value, ) diff --git a/src/ethereum/constantinople/trie.py b/src/ethereum/constantinople/trie.py index d03017148c..bc29414882 100644 --- a/src/ethereum/constantinople/trie.py +++ b/src/ethereum/constantinople/trie.py @@ -27,6 +27,7 @@ Tuple, TypeVar, Union, + cast, ) from ethereum_types.bytes import Bytes @@ -479,10 +480,11 @@ def patricialize( else: branches[key[level]][key] = obj[key] + subnodes = tuple( + encode_internal_node(patricialize(branches[k], level + Uint(1))) + for k in range(16) + ) return BranchNode( - tuple( - encode_internal_node(patricialize(branches[k], level + Uint(1))) - for k in range(16) - ), + cast(BranchSubnodes, subnodes), value, ) diff --git a/src/ethereum/dao_fork/trie.py b/src/ethereum/dao_fork/trie.py index a28eea10bd..ab2263892c 100644 --- a/src/ethereum/dao_fork/trie.py +++ b/src/ethereum/dao_fork/trie.py @@ -27,6 +27,7 @@ Tuple, TypeVar, Union, + cast, ) from ethereum_types.bytes import Bytes @@ -479,10 +480,11 @@ def patricialize( else: branches[key[level]][key] = obj[key] + subnodes = tuple( + encode_internal_node(patricialize(branches[k], level + Uint(1))) + for k in range(16) + ) return BranchNode( - tuple( - encode_internal_node(patricialize(branches[k], level + Uint(1))) - for k in range(16) - ), + cast(BranchSubnodes, subnodes), value, ) diff --git a/src/ethereum/frontier/trie.py b/src/ethereum/frontier/trie.py index 71a8a2b884..2f4982a819 100644 --- a/src/ethereum/frontier/trie.py +++ b/src/ethereum/frontier/trie.py @@ -27,6 +27,7 @@ Tuple, TypeVar, Union, + cast, ) from ethereum_types.bytes import Bytes @@ -480,10 +481,11 @@ def patricialize( else: branches[key[level]][key] = obj[key] + subnodes = tuple( + encode_internal_node(patricialize(branches[k], level + Uint(1))) + for k in range(16) + ) return BranchNode( - tuple( - encode_internal_node(patricialize(branches[k], level + Uint(1))) - for k in range(16) - ), + cast(BranchSubnodes, subnodes), value, ) diff --git a/src/ethereum/gray_glacier/trie.py b/src/ethereum/gray_glacier/trie.py index 55c6138ca3..b4c92a75e9 100644 --- a/src/ethereum/gray_glacier/trie.py +++ b/src/ethereum/gray_glacier/trie.py @@ -27,6 +27,7 @@ Tuple, TypeVar, Union, + cast, ) from ethereum_types.bytes import Bytes @@ -479,10 +480,11 @@ def patricialize( else: branches[key[level]][key] = obj[key] + subnodes = tuple( + encode_internal_node(patricialize(branches[k], level + Uint(1))) + for k in range(16) + ) return BranchNode( - tuple( - encode_internal_node(patricialize(branches[k], level + Uint(1))) - for k in range(16) - ), + cast(BranchSubnodes, subnodes), value, ) diff --git a/src/ethereum/homestead/trie.py b/src/ethereum/homestead/trie.py index b60d7d2968..7e190ddb68 100644 --- a/src/ethereum/homestead/trie.py +++ b/src/ethereum/homestead/trie.py @@ -27,6 +27,7 @@ Tuple, TypeVar, Union, + cast, ) from ethereum_types.bytes import Bytes @@ -479,10 +480,11 @@ def patricialize( else: branches[key[level]][key] = obj[key] + subnodes = tuple( + encode_internal_node(patricialize(branches[k], level + Uint(1))) + for k in range(16) + ) return BranchNode( - tuple( - encode_internal_node(patricialize(branches[k], level + Uint(1))) - for k in range(16) - ), + cast(BranchSubnodes, subnodes), value, ) diff --git a/src/ethereum/istanbul/trie.py b/src/ethereum/istanbul/trie.py index 545165a981..eb985c1b3d 100644 --- a/src/ethereum/istanbul/trie.py +++ b/src/ethereum/istanbul/trie.py @@ -27,6 +27,7 @@ Tuple, TypeVar, Union, + cast, ) from ethereum_types.bytes import Bytes @@ -479,10 +480,11 @@ def patricialize( else: branches[key[level]][key] = obj[key] + subnodes = tuple( + encode_internal_node(patricialize(branches[k], level + Uint(1))) + for k in range(16) + ) return BranchNode( - tuple( - encode_internal_node(patricialize(branches[k], level + Uint(1))) - for k in range(16) - ), + cast(BranchSubnodes, subnodes), value, ) diff --git a/src/ethereum/london/trie.py b/src/ethereum/london/trie.py index bbfff32c70..44d2cc0c54 100644 --- a/src/ethereum/london/trie.py +++ b/src/ethereum/london/trie.py @@ -27,6 +27,7 @@ Tuple, TypeVar, Union, + cast, ) from ethereum_types.bytes import Bytes @@ -479,10 +480,11 @@ def patricialize( else: branches[key[level]][key] = obj[key] + subnodes = tuple( + encode_internal_node(patricialize(branches[k], level + Uint(1))) + for k in range(16) + ) return BranchNode( - tuple( - encode_internal_node(patricialize(branches[k], level + Uint(1))) - for k in range(16) - ), + cast(BranchSubnodes, subnodes), value, ) diff --git a/src/ethereum/muir_glacier/trie.py b/src/ethereum/muir_glacier/trie.py index db00c92e2d..2e07eec683 100644 --- a/src/ethereum/muir_glacier/trie.py +++ b/src/ethereum/muir_glacier/trie.py @@ -27,6 +27,7 @@ Tuple, TypeVar, Union, + cast, ) from ethereum_types.bytes import Bytes @@ -479,10 +480,11 @@ def patricialize( else: branches[key[level]][key] = obj[key] + subnodes = tuple( + encode_internal_node(patricialize(branches[k], level + Uint(1))) + for k in range(16) + ) return BranchNode( - tuple( - encode_internal_node(patricialize(branches[k], level + Uint(1))) - for k in range(16) - ), + cast(BranchSubnodes, subnodes), value, ) diff --git a/src/ethereum/paris/trie.py b/src/ethereum/paris/trie.py index 5f7392f8ba..7f7febfab0 100644 --- a/src/ethereum/paris/trie.py +++ b/src/ethereum/paris/trie.py @@ -27,6 +27,7 @@ Tuple, TypeVar, Union, + cast, ) from ethereum_types.bytes import Bytes @@ -479,10 +480,11 @@ def patricialize( else: branches[key[level]][key] = obj[key] + subnodes = tuple( + encode_internal_node(patricialize(branches[k], level + Uint(1))) + for k in range(16) + ) return BranchNode( - tuple( - encode_internal_node(patricialize(branches[k], level + Uint(1))) - for k in range(16) - ), + cast(BranchSubnodes, subnodes), value, ) diff --git a/src/ethereum/shanghai/trie.py b/src/ethereum/shanghai/trie.py index 0b4c2c53f9..90f366854c 100644 --- a/src/ethereum/shanghai/trie.py +++ b/src/ethereum/shanghai/trie.py @@ -27,6 +27,7 @@ Tuple, TypeVar, Union, + cast, ) from ethereum_types.bytes import Bytes @@ -482,10 +483,11 @@ def patricialize( else: branches[key[level]][key] = obj[key] + subnodes = tuple( + encode_internal_node(patricialize(branches[k], level + Uint(1))) + for k in range(16) + ) return BranchNode( - tuple( - encode_internal_node(patricialize(branches[k], level + Uint(1))) - for k in range(16) - ), + cast(BranchSubnodes, subnodes), value, ) diff --git a/src/ethereum/spurious_dragon/trie.py b/src/ethereum/spurious_dragon/trie.py index 0e34fc7399..29e3aaf01e 100644 --- a/src/ethereum/spurious_dragon/trie.py +++ b/src/ethereum/spurious_dragon/trie.py @@ -27,6 +27,7 @@ Tuple, TypeVar, Union, + cast, ) from ethereum_types.bytes import Bytes @@ -479,10 +480,11 @@ def patricialize( else: branches[key[level]][key] = obj[key] + subnodes = tuple( + encode_internal_node(patricialize(branches[k], level + Uint(1))) + for k in range(16) + ) return BranchNode( - tuple( - encode_internal_node(patricialize(branches[k], level + Uint(1))) - for k in range(16) - ), + cast(BranchSubnodes, subnodes), value, ) diff --git a/src/ethereum/tangerine_whistle/trie.py b/src/ethereum/tangerine_whistle/trie.py index 2fca742752..1fcb986233 100644 --- a/src/ethereum/tangerine_whistle/trie.py +++ b/src/ethereum/tangerine_whistle/trie.py @@ -27,6 +27,7 @@ Tuple, TypeVar, Union, + cast, ) from ethereum_types.bytes import Bytes @@ -479,10 +480,11 @@ def patricialize( else: branches[key[level]][key] = obj[key] + subnodes = tuple( + encode_internal_node(patricialize(branches[k], level + Uint(1))) + for k in range(16) + ) return BranchNode( - tuple( - encode_internal_node(patricialize(branches[k], level + Uint(1))) - for k in range(16) - ), + cast(BranchSubnodes, subnodes), value, ) From e122ca6a4d17be1ccbdf84f914cdc6c6e6c4b687 Mon Sep 17 00:00:00 2001 From: Sam Wilson <57262657+SamWilsn@users.noreply.github.com> Date: Tue, 21 Jan 2025 04:14:48 -0500 Subject: [PATCH 09/10] Use assert_type alongside cast (#1) --- setup.cfg | 2 +- src/ethereum/arrow_glacier/trie.py | 3 ++- src/ethereum/berlin/trie.py | 3 ++- src/ethereum/byzantium/trie.py | 3 ++- src/ethereum/cancun/trie.py | 3 ++- src/ethereum/constantinople/trie.py | 3 ++- src/ethereum/dao_fork/trie.py | 3 ++- src/ethereum/frontier/trie.py | 3 ++- src/ethereum/gray_glacier/trie.py | 3 ++- src/ethereum/homestead/trie.py | 3 ++- src/ethereum/istanbul/trie.py | 3 ++- src/ethereum/london/trie.py | 3 ++- src/ethereum/muir_glacier/trie.py | 3 ++- src/ethereum/paris/trie.py | 3 ++- src/ethereum/shanghai/trie.py | 3 ++- src/ethereum/spurious_dragon/trie.py | 3 ++- src/ethereum/tangerine_whistle/trie.py | 3 ++- 17 files changed, 33 insertions(+), 17 deletions(-) diff --git a/setup.cfg b/setup.cfg index 730939c928..53b30f6759 100644 --- a/setup.cfg +++ b/setup.cfg @@ -113,7 +113,7 @@ python_requires = >=3.10 install_requires = pycryptodome>=3,<4 coincurve>=20,<21 - typing_extensions>=4 + typing_extensions>=4.2 py_ecc @ git+https://github.com/petertdavies/py_ecc.git@127184f4c57b1812da959586d0fe8f43bb1a2389 ethereum-types>=0.2.1,<0.3 diff --git a/src/ethereum/arrow_glacier/trie.py b/src/ethereum/arrow_glacier/trie.py index 57dccead3f..8672584f5b 100644 --- a/src/ethereum/arrow_glacier/trie.py +++ b/src/ethereum/arrow_glacier/trie.py @@ -33,6 +33,7 @@ from ethereum_types.bytes import Bytes from ethereum_types.frozen import slotted_freezable from ethereum_types.numeric import U256, Uint +from typing_extensions import assert_type from ethereum.crypto.hash import keccak256 from ethereum.london import trie as previous_trie @@ -485,6 +486,6 @@ def patricialize( for k in range(16) ) return BranchNode( - cast(BranchSubnodes, subnodes), + cast(BranchSubnodes, assert_type(subnodes, Tuple[rlp.Extended, ...])), value, ) diff --git a/src/ethereum/berlin/trie.py b/src/ethereum/berlin/trie.py index 4a8e9c373a..105b5e27b7 100644 --- a/src/ethereum/berlin/trie.py +++ b/src/ethereum/berlin/trie.py @@ -27,6 +27,7 @@ Tuple, TypeVar, Union, + assert_type, cast, ) @@ -485,6 +486,6 @@ def patricialize( for k in range(16) ) return BranchNode( - cast(BranchSubnodes, subnodes), + cast(BranchSubnodes, assert_type(subnodes, Tuple[rlp.Extended, ...])), value, ) diff --git a/src/ethereum/byzantium/trie.py b/src/ethereum/byzantium/trie.py index d3f3808680..26cbb0cc14 100644 --- a/src/ethereum/byzantium/trie.py +++ b/src/ethereum/byzantium/trie.py @@ -27,6 +27,7 @@ Tuple, TypeVar, Union, + assert_type, cast, ) @@ -485,6 +486,6 @@ def patricialize( for k in range(16) ) return BranchNode( - cast(BranchSubnodes, subnodes), + cast(BranchSubnodes, assert_type(subnodes, Tuple[rlp.Extended, ...])), value, ) diff --git a/src/ethereum/cancun/trie.py b/src/ethereum/cancun/trie.py index ed41209723..ce1bb3df07 100644 --- a/src/ethereum/cancun/trie.py +++ b/src/ethereum/cancun/trie.py @@ -27,6 +27,7 @@ Tuple, TypeVar, Union, + assert_type, cast, ) @@ -488,6 +489,6 @@ def patricialize( for k in range(16) ) return BranchNode( - cast(BranchSubnodes, subnodes), + cast(BranchSubnodes, assert_type(subnodes, Tuple[rlp.Extended, ...])), value, ) diff --git a/src/ethereum/constantinople/trie.py b/src/ethereum/constantinople/trie.py index bc29414882..c94e1ef8db 100644 --- a/src/ethereum/constantinople/trie.py +++ b/src/ethereum/constantinople/trie.py @@ -27,6 +27,7 @@ Tuple, TypeVar, Union, + assert_type, cast, ) @@ -485,6 +486,6 @@ def patricialize( for k in range(16) ) return BranchNode( - cast(BranchSubnodes, subnodes), + cast(BranchSubnodes, assert_type(subnodes, Tuple[rlp.Extended, ...])), value, ) diff --git a/src/ethereum/dao_fork/trie.py b/src/ethereum/dao_fork/trie.py index ab2263892c..5a1cdeeb94 100644 --- a/src/ethereum/dao_fork/trie.py +++ b/src/ethereum/dao_fork/trie.py @@ -27,6 +27,7 @@ Tuple, TypeVar, Union, + assert_type, cast, ) @@ -485,6 +486,6 @@ def patricialize( for k in range(16) ) return BranchNode( - cast(BranchSubnodes, subnodes), + cast(BranchSubnodes, assert_type(subnodes, Tuple[rlp.Extended, ...])), value, ) diff --git a/src/ethereum/frontier/trie.py b/src/ethereum/frontier/trie.py index 2f4982a819..64cefbc933 100644 --- a/src/ethereum/frontier/trie.py +++ b/src/ethereum/frontier/trie.py @@ -27,6 +27,7 @@ Tuple, TypeVar, Union, + assert_type, cast, ) @@ -486,6 +487,6 @@ def patricialize( for k in range(16) ) return BranchNode( - cast(BranchSubnodes, subnodes), + cast(BranchSubnodes, assert_type(subnodes, Tuple[rlp.Extended, ...])), value, ) diff --git a/src/ethereum/gray_glacier/trie.py b/src/ethereum/gray_glacier/trie.py index b4c92a75e9..0e216325f5 100644 --- a/src/ethereum/gray_glacier/trie.py +++ b/src/ethereum/gray_glacier/trie.py @@ -27,6 +27,7 @@ Tuple, TypeVar, Union, + assert_type, cast, ) @@ -485,6 +486,6 @@ def patricialize( for k in range(16) ) return BranchNode( - cast(BranchSubnodes, subnodes), + cast(BranchSubnodes, assert_type(subnodes, Tuple[rlp.Extended, ...])), value, ) diff --git a/src/ethereum/homestead/trie.py b/src/ethereum/homestead/trie.py index 7e190ddb68..e9affa74a7 100644 --- a/src/ethereum/homestead/trie.py +++ b/src/ethereum/homestead/trie.py @@ -27,6 +27,7 @@ Tuple, TypeVar, Union, + assert_type, cast, ) @@ -485,6 +486,6 @@ def patricialize( for k in range(16) ) return BranchNode( - cast(BranchSubnodes, subnodes), + cast(BranchSubnodes, assert_type(subnodes, Tuple[rlp.Extended, ...])), value, ) diff --git a/src/ethereum/istanbul/trie.py b/src/ethereum/istanbul/trie.py index eb985c1b3d..6a222f92ec 100644 --- a/src/ethereum/istanbul/trie.py +++ b/src/ethereum/istanbul/trie.py @@ -27,6 +27,7 @@ Tuple, TypeVar, Union, + assert_type, cast, ) @@ -485,6 +486,6 @@ def patricialize( for k in range(16) ) return BranchNode( - cast(BranchSubnodes, subnodes), + cast(BranchSubnodes, assert_type(subnodes, Tuple[rlp.Extended, ...])), value, ) diff --git a/src/ethereum/london/trie.py b/src/ethereum/london/trie.py index 44d2cc0c54..546a17bc0b 100644 --- a/src/ethereum/london/trie.py +++ b/src/ethereum/london/trie.py @@ -27,6 +27,7 @@ Tuple, TypeVar, Union, + assert_type, cast, ) @@ -485,6 +486,6 @@ def patricialize( for k in range(16) ) return BranchNode( - cast(BranchSubnodes, subnodes), + cast(BranchSubnodes, assert_type(subnodes, Tuple[rlp.Extended, ...])), value, ) diff --git a/src/ethereum/muir_glacier/trie.py b/src/ethereum/muir_glacier/trie.py index 2e07eec683..05b31a5150 100644 --- a/src/ethereum/muir_glacier/trie.py +++ b/src/ethereum/muir_glacier/trie.py @@ -27,6 +27,7 @@ Tuple, TypeVar, Union, + assert_type, cast, ) @@ -485,6 +486,6 @@ def patricialize( for k in range(16) ) return BranchNode( - cast(BranchSubnodes, subnodes), + cast(BranchSubnodes, assert_type(subnodes, Tuple[rlp.Extended, ...])), value, ) diff --git a/src/ethereum/paris/trie.py b/src/ethereum/paris/trie.py index 7f7febfab0..5f27a6ff04 100644 --- a/src/ethereum/paris/trie.py +++ b/src/ethereum/paris/trie.py @@ -27,6 +27,7 @@ Tuple, TypeVar, Union, + assert_type, cast, ) @@ -485,6 +486,6 @@ def patricialize( for k in range(16) ) return BranchNode( - cast(BranchSubnodes, subnodes), + cast(BranchSubnodes, assert_type(subnodes, Tuple[rlp.Extended, ...])), value, ) diff --git a/src/ethereum/shanghai/trie.py b/src/ethereum/shanghai/trie.py index 90f366854c..f2ca34c080 100644 --- a/src/ethereum/shanghai/trie.py +++ b/src/ethereum/shanghai/trie.py @@ -27,6 +27,7 @@ Tuple, TypeVar, Union, + assert_type, cast, ) @@ -488,6 +489,6 @@ def patricialize( for k in range(16) ) return BranchNode( - cast(BranchSubnodes, subnodes), + cast(BranchSubnodes, assert_type(subnodes, Tuple[rlp.Extended, ...])), value, ) diff --git a/src/ethereum/spurious_dragon/trie.py b/src/ethereum/spurious_dragon/trie.py index 29e3aaf01e..d7460d1995 100644 --- a/src/ethereum/spurious_dragon/trie.py +++ b/src/ethereum/spurious_dragon/trie.py @@ -27,6 +27,7 @@ Tuple, TypeVar, Union, + assert_type, cast, ) @@ -485,6 +486,6 @@ def patricialize( for k in range(16) ) return BranchNode( - cast(BranchSubnodes, subnodes), + cast(BranchSubnodes, assert_type(subnodes, Tuple[rlp.Extended, ...])), value, ) diff --git a/src/ethereum/tangerine_whistle/trie.py b/src/ethereum/tangerine_whistle/trie.py index 1fcb986233..d47bc069c9 100644 --- a/src/ethereum/tangerine_whistle/trie.py +++ b/src/ethereum/tangerine_whistle/trie.py @@ -27,6 +27,7 @@ Tuple, TypeVar, Union, + assert_type, cast, ) @@ -485,6 +486,6 @@ def patricialize( for k in range(16) ) return BranchNode( - cast(BranchSubnodes, subnodes), + cast(BranchSubnodes, assert_type(subnodes, Tuple[rlp.Extended, ...])), value, ) From 5ad253c48d513012a02f14a92a11848e1f76288f Mon Sep 17 00:00:00 2001 From: Sam Wilson <57262657+SamWilsn@users.noreply.github.com> Date: Wed, 22 Jan 2025 15:32:02 -0500 Subject: [PATCH 10/10] Import from typing_extensions instead of typing (#2) --- src/ethereum/berlin/trie.py | 2 +- src/ethereum/byzantium/trie.py | 2 +- src/ethereum/cancun/trie.py | 2 +- src/ethereum/constantinople/trie.py | 2 +- src/ethereum/dao_fork/trie.py | 2 +- src/ethereum/frontier/trie.py | 2 +- src/ethereum/gray_glacier/trie.py | 2 +- src/ethereum/homestead/trie.py | 2 +- src/ethereum/istanbul/trie.py | 2 +- src/ethereum/london/trie.py | 2 +- src/ethereum/muir_glacier/trie.py | 2 +- src/ethereum/paris/trie.py | 2 +- src/ethereum/shanghai/trie.py | 2 +- src/ethereum/spurious_dragon/trie.py | 2 +- src/ethereum/tangerine_whistle/trie.py | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/ethereum/berlin/trie.py b/src/ethereum/berlin/trie.py index 105b5e27b7..a8c5345919 100644 --- a/src/ethereum/berlin/trie.py +++ b/src/ethereum/berlin/trie.py @@ -27,13 +27,13 @@ Tuple, TypeVar, Union, - assert_type, cast, ) from ethereum_types.bytes import Bytes from ethereum_types.frozen import slotted_freezable from ethereum_types.numeric import U256, Uint +from typing_extensions import assert_type from ethereum.crypto.hash import keccak256 from ethereum.muir_glacier import trie as previous_trie diff --git a/src/ethereum/byzantium/trie.py b/src/ethereum/byzantium/trie.py index 26cbb0cc14..bd67de821f 100644 --- a/src/ethereum/byzantium/trie.py +++ b/src/ethereum/byzantium/trie.py @@ -27,13 +27,13 @@ Tuple, TypeVar, Union, - assert_type, cast, ) from ethereum_types.bytes import Bytes from ethereum_types.frozen import slotted_freezable from ethereum_types.numeric import U256, Uint +from typing_extensions import assert_type from ethereum.crypto.hash import keccak256 from ethereum.spurious_dragon import trie as previous_trie diff --git a/src/ethereum/cancun/trie.py b/src/ethereum/cancun/trie.py index ce1bb3df07..17d9ce4ec7 100644 --- a/src/ethereum/cancun/trie.py +++ b/src/ethereum/cancun/trie.py @@ -27,13 +27,13 @@ Tuple, TypeVar, Union, - assert_type, cast, ) from ethereum_types.bytes import Bytes from ethereum_types.frozen import slotted_freezable from ethereum_types.numeric import U256, Uint +from typing_extensions import assert_type from ethereum.crypto.hash import keccak256 from ethereum.shanghai import trie as previous_trie diff --git a/src/ethereum/constantinople/trie.py b/src/ethereum/constantinople/trie.py index c94e1ef8db..ca3a619288 100644 --- a/src/ethereum/constantinople/trie.py +++ b/src/ethereum/constantinople/trie.py @@ -27,13 +27,13 @@ Tuple, TypeVar, Union, - assert_type, cast, ) from ethereum_types.bytes import Bytes from ethereum_types.frozen import slotted_freezable from ethereum_types.numeric import U256, Uint +from typing_extensions import assert_type from ethereum.byzantium import trie as previous_trie from ethereum.crypto.hash import keccak256 diff --git a/src/ethereum/dao_fork/trie.py b/src/ethereum/dao_fork/trie.py index 5a1cdeeb94..10185b0c4b 100644 --- a/src/ethereum/dao_fork/trie.py +++ b/src/ethereum/dao_fork/trie.py @@ -27,13 +27,13 @@ Tuple, TypeVar, Union, - assert_type, cast, ) from ethereum_types.bytes import Bytes from ethereum_types.frozen import slotted_freezable from ethereum_types.numeric import U256, Uint +from typing_extensions import assert_type from ethereum.crypto.hash import keccak256 from ethereum.homestead import trie as previous_trie diff --git a/src/ethereum/frontier/trie.py b/src/ethereum/frontier/trie.py index 64cefbc933..e06e78226e 100644 --- a/src/ethereum/frontier/trie.py +++ b/src/ethereum/frontier/trie.py @@ -27,13 +27,13 @@ Tuple, TypeVar, Union, - assert_type, cast, ) from ethereum_types.bytes import Bytes from ethereum_types.frozen import slotted_freezable from ethereum_types.numeric import U256, Uint +from typing_extensions import assert_type from ethereum.crypto.hash import keccak256 from ethereum.utils.hexadecimal import hex_to_bytes diff --git a/src/ethereum/gray_glacier/trie.py b/src/ethereum/gray_glacier/trie.py index 0e216325f5..e874e4937e 100644 --- a/src/ethereum/gray_glacier/trie.py +++ b/src/ethereum/gray_glacier/trie.py @@ -27,13 +27,13 @@ Tuple, TypeVar, Union, - assert_type, cast, ) from ethereum_types.bytes import Bytes from ethereum_types.frozen import slotted_freezable from ethereum_types.numeric import U256, Uint +from typing_extensions import assert_type from ethereum.arrow_glacier import trie as previous_trie from ethereum.crypto.hash import keccak256 diff --git a/src/ethereum/homestead/trie.py b/src/ethereum/homestead/trie.py index e9affa74a7..629afadb29 100644 --- a/src/ethereum/homestead/trie.py +++ b/src/ethereum/homestead/trie.py @@ -27,13 +27,13 @@ Tuple, TypeVar, Union, - assert_type, cast, ) from ethereum_types.bytes import Bytes from ethereum_types.frozen import slotted_freezable from ethereum_types.numeric import U256, Uint +from typing_extensions import assert_type from ethereum.crypto.hash import keccak256 from ethereum.frontier import trie as previous_trie diff --git a/src/ethereum/istanbul/trie.py b/src/ethereum/istanbul/trie.py index 6a222f92ec..c2d2115038 100644 --- a/src/ethereum/istanbul/trie.py +++ b/src/ethereum/istanbul/trie.py @@ -27,13 +27,13 @@ Tuple, TypeVar, Union, - assert_type, cast, ) from ethereum_types.bytes import Bytes from ethereum_types.frozen import slotted_freezable from ethereum_types.numeric import U256, Uint +from typing_extensions import assert_type from ethereum.constantinople import trie as previous_trie from ethereum.crypto.hash import keccak256 diff --git a/src/ethereum/london/trie.py b/src/ethereum/london/trie.py index 546a17bc0b..398af1a8c6 100644 --- a/src/ethereum/london/trie.py +++ b/src/ethereum/london/trie.py @@ -27,13 +27,13 @@ Tuple, TypeVar, Union, - assert_type, cast, ) from ethereum_types.bytes import Bytes from ethereum_types.frozen import slotted_freezable from ethereum_types.numeric import U256, Uint +from typing_extensions import assert_type from ethereum.berlin import trie as previous_trie from ethereum.crypto.hash import keccak256 diff --git a/src/ethereum/muir_glacier/trie.py b/src/ethereum/muir_glacier/trie.py index 05b31a5150..f3172811f9 100644 --- a/src/ethereum/muir_glacier/trie.py +++ b/src/ethereum/muir_glacier/trie.py @@ -27,13 +27,13 @@ Tuple, TypeVar, Union, - assert_type, cast, ) from ethereum_types.bytes import Bytes from ethereum_types.frozen import slotted_freezable from ethereum_types.numeric import U256, Uint +from typing_extensions import assert_type from ethereum.crypto.hash import keccak256 from ethereum.istanbul import trie as previous_trie diff --git a/src/ethereum/paris/trie.py b/src/ethereum/paris/trie.py index 5f27a6ff04..c723f3b23e 100644 --- a/src/ethereum/paris/trie.py +++ b/src/ethereum/paris/trie.py @@ -27,13 +27,13 @@ Tuple, TypeVar, Union, - assert_type, cast, ) from ethereum_types.bytes import Bytes from ethereum_types.frozen import slotted_freezable from ethereum_types.numeric import U256, Uint +from typing_extensions import assert_type from ethereum.crypto.hash import keccak256 from ethereum.gray_glacier import trie as previous_trie diff --git a/src/ethereum/shanghai/trie.py b/src/ethereum/shanghai/trie.py index f2ca34c080..d4b6c61db7 100644 --- a/src/ethereum/shanghai/trie.py +++ b/src/ethereum/shanghai/trie.py @@ -27,13 +27,13 @@ Tuple, TypeVar, Union, - assert_type, cast, ) from ethereum_types.bytes import Bytes from ethereum_types.frozen import slotted_freezable from ethereum_types.numeric import U256, Uint +from typing_extensions import assert_type from ethereum.crypto.hash import keccak256 from ethereum.paris import trie as previous_trie diff --git a/src/ethereum/spurious_dragon/trie.py b/src/ethereum/spurious_dragon/trie.py index d7460d1995..2a02fe1a62 100644 --- a/src/ethereum/spurious_dragon/trie.py +++ b/src/ethereum/spurious_dragon/trie.py @@ -27,13 +27,13 @@ Tuple, TypeVar, Union, - assert_type, cast, ) from ethereum_types.bytes import Bytes from ethereum_types.frozen import slotted_freezable from ethereum_types.numeric import U256, Uint +from typing_extensions import assert_type from ethereum.crypto.hash import keccak256 from ethereum.tangerine_whistle import trie as previous_trie diff --git a/src/ethereum/tangerine_whistle/trie.py b/src/ethereum/tangerine_whistle/trie.py index d47bc069c9..4bdb803009 100644 --- a/src/ethereum/tangerine_whistle/trie.py +++ b/src/ethereum/tangerine_whistle/trie.py @@ -27,13 +27,13 @@ Tuple, TypeVar, Union, - assert_type, cast, ) from ethereum_types.bytes import Bytes from ethereum_types.frozen import slotted_freezable from ethereum_types.numeric import U256, Uint +from typing_extensions import assert_type from ethereum.crypto.hash import keccak256 from ethereum.dao_fork import trie as previous_trie