@@ -103,8 +103,8 @@ def new(
103103 cls ,
104104 hasher : TweakHasher ,
105105 rand : Rand ,
106- lowest_layer : int ,
107- depth : int ,
106+ lowest_layer : Uint64 ,
107+ depth : Uint64 ,
108108 start_index : Uint64 ,
109109 parameter : Parameter ,
110110 lowest_layer_nodes : list [HashDigestVector ],
@@ -146,7 +146,7 @@ def new(
146146 A `HashSubTree` containing all computed layers from `lowest_layer` to root.
147147 """
148148 # Validate: nodes must fit in available positions at this layer.
149- max_positions = 1 << (depth - lowest_layer )
149+ max_positions = 1 << int (depth - lowest_layer )
150150 if int (start_index ) + len (lowest_layer_nodes ) > max_positions :
151151 raise ValueError (
152152 f"Overflow at layer { lowest_layer } : "
@@ -163,12 +163,11 @@ def new(
163163 parent_start = current .start_index // Uint64 (2 )
164164
165165 # Hash each pair of siblings into their parent using zip for cleaner indexing.
166- parent_start_int = int (parent_start )
167166 node_pairs = zip (current .nodes [::2 ], current .nodes [1 ::2 ], strict = True )
168167 parents = [
169168 hasher .apply (
170169 parameter ,
171- TreeTweak (level = level + 1 , index = Uint64 ( parent_start_int + i )),
170+ TreeTweak (level = level + 1 , index = parent_start + Uint64 ( i )),
172171 [left , right ],
173172 )
174173 for i , (left , right ) in enumerate (node_pairs )
@@ -179,8 +178,8 @@ def new(
179178 layers .append (current )
180179
181180 return cls (
182- depth = Uint64 ( depth ) ,
183- lowest_layer = Uint64 ( lowest_layer ) ,
181+ depth = depth ,
182+ lowest_layer = lowest_layer ,
184183 layers = HashTreeLayers (data = layers ),
185184 )
186185
@@ -233,8 +232,8 @@ def new_top_tree(
233232 return cls .new (
234233 hasher = hasher ,
235234 rand = rand ,
236- lowest_layer = depth // 2 ,
237- depth = depth ,
235+ lowest_layer = Uint64 ( depth // 2 ) ,
236+ depth = Uint64 ( depth ) ,
238237 start_index = start_bottom_tree_index ,
239238 parameter = parameter ,
240239 lowest_layer_nodes = bottom_tree_roots ,
@@ -300,8 +299,8 @@ def new_bottom_tree(
300299 full_tree = cls .new (
301300 hasher = hasher ,
302301 rand = rand ,
303- lowest_layer = 0 ,
304- depth = depth ,
302+ lowest_layer = Uint64 ( 0 ) ,
303+ depth = Uint64 ( depth ) ,
305304 start_index = bottom_tree_index * Uint64 (leafs_per_tree ),
306305 parameter = parameter ,
307306 lowest_layer_nodes = leaves ,
0 commit comments