Skip to content

Commit 9081664

Browse files
committed
extracted the proto receipts list mapping to a function
Signed-off-by: HusseinYasser <[email protected]>
1 parent 177cd47 commit 9081664

File tree

1 file changed

+24
-12
lines changed

1 file changed

+24
-12
lines changed

src/hiero_sdk_python/query/transaction_get_receipt_query.py

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import traceback
2-
from typing import Optional, Union
2+
from typing import List, Optional, Union
33

44
from hiero_sdk_python.channels import _Channel
55
from hiero_sdk_python.client.client import Client
66
from hiero_sdk_python.exceptions import PrecheckError, ReceiptStatusError
77
from hiero_sdk_python.executable import _ExecutionState, _Method
8-
from hiero_sdk_python.hapi.services import query_header_pb2, query_pb2, response_pb2, transaction_get_receipt_pb2
8+
from hiero_sdk_python.hapi.services import query_header_pb2, query_pb2, response_pb2, transaction_get_receipt_pb2, transaction_receipt_pb2
99
from hiero_sdk_python.query.query import Query
1010
from hiero_sdk_python.response_code import ResponseCode
1111
from hiero_sdk_python.transaction.transaction_id import TransactionId
@@ -247,6 +247,22 @@ def _map_status_error(self, response: response_pb2.Response) -> Union[PrecheckEr
247247
TransactionReceipt._from_proto(response.transactionGetReceipt.receipt, self.transaction_id),
248248
)
249249

250+
def _map_receipt_list(self, receipts: List[transaction_receipt_pb2.TransactionReceipt]) -> List["TransactionReceipt"]:
251+
"""
252+
Maps a list of protobuf transaction receipts to TransactionReceipt objects.
253+
254+
Args:
255+
receipts: A list of protobuf TransactionReceipt objects
256+
257+
Returns:
258+
A list of TransactionReceipt objects
259+
"""
260+
return [
261+
TransactionReceipt._from_proto(receipt_proto, self.transaction_id)
262+
for receipt_proto in receipts
263+
]
264+
265+
250266
def execute(self, client: Client) -> TransactionReceipt:
251267
"""
252268
Executes the transaction receipt query.
@@ -272,20 +288,16 @@ def execute(self, client: Client) -> TransactionReceipt:
272288
parent = TransactionReceipt._from_proto(response.transactionGetReceipt.receipt, self.transaction_id)
273289

274290
if self.include_children:
275-
children = []
276-
277-
for child_proto in response.transactionGetReceipt.child_transaction_receipts:
278-
child_receipt = TransactionReceipt._from_proto(child_proto, self.transaction_id)
279-
children.append(child_receipt)
291+
children = self._map_receipt_list(
292+
response.transactionGetReceipt.child_transaction_receipts
293+
)
280294

281295
parent._set_children(children)
282296

283297
if self.include_duplicates:
284-
duplicates = []
285-
286-
for duplicate_proto in response.transactionGetReceipt.duplicateTransactionReceipts:
287-
duplicate_receipt = TransactionReceipt._from_proto(duplicate_proto, self.transaction_id)
288-
duplicates.append(duplicate_receipt)
298+
duplicates = self._map_receipt_list(
299+
response.transactionGetReceipt.duplicateTransactionReceipts
300+
)
289301

290302
parent._set_duplicates(duplicates)
291303

0 commit comments

Comments
 (0)