From fe09138ed4cf741e5827d947c905d6175865f51f Mon Sep 17 00:00:00 2001 From: ibraheem-latent Date: Mon, 1 Dec 2025 10:00:45 -0800 Subject: [PATCH 1/3] add type checking --- async_substrate_interface/async_substrate.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/async_substrate_interface/async_substrate.py b/async_substrate_interface/async_substrate.py index 6a1de27..d9a7406 100644 --- a/async_substrate_interface/async_substrate.py +++ b/async_substrate_interface/async_substrate.py @@ -378,7 +378,14 @@ async def process_events(self): event["event"]["module_id"] == "Balances" and event["event"]["event_id"] == "Deposit" ): - self.__total_fee_amount += event.value["attributes"]["amount"] + if isinstance(event, dict): + self.__total_fee_amount += event["event"]["attributes"][ + "amount" + ] + else: + self.__total_fee_amount += event.value["attributes"][ + "amount" + ] if possible_success is True and self.__error_message is None: # we delay the positive setting of the __is_success flag until we have finished iteration of the # events and have ensured nothing has set an error message From 627a8f2060dd35cab2b6d14b4e85bfef3860ee85 Mon Sep 17 00:00:00 2001 From: bdhimes Date: Mon, 1 Dec 2025 20:44:54 +0200 Subject: [PATCH 2/3] Removed non-dict event check, applied to sync --- async_substrate_interface/async_substrate.py | 11 +++-------- async_substrate_interface/sync_substrate.py | 4 +++- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/async_substrate_interface/async_substrate.py b/async_substrate_interface/async_substrate.py index d9a7406..c97d94d 100644 --- a/async_substrate_interface/async_substrate.py +++ b/async_substrate_interface/async_substrate.py @@ -378,14 +378,9 @@ async def process_events(self): event["event"]["module_id"] == "Balances" and event["event"]["event_id"] == "Deposit" ): - if isinstance(event, dict): - self.__total_fee_amount += event["event"]["attributes"][ - "amount" - ] - else: - self.__total_fee_amount += event.value["attributes"][ - "amount" - ] + self.__total_fee_amount += event["event"]["attributes"][ + "amount" + ] if possible_success is True and self.__error_message is None: # we delay the positive setting of the __is_success flag until we have finished iteration of the # events and have ensured nothing has set an error message diff --git a/async_substrate_interface/sync_substrate.py b/async_substrate_interface/sync_substrate.py index 96d1d7f..3fd85ee 100644 --- a/async_substrate_interface/sync_substrate.py +++ b/async_substrate_interface/sync_substrate.py @@ -331,7 +331,9 @@ def process_events(self): event["event"]["module_id"] == "Balances" and event["event"]["event_id"] == "Deposit" ): - self.__total_fee_amount += event.value["attributes"]["amount"] + self.__total_fee_amount += event["event"]["attributes"][ + "amount" + ] if possible_success is True and self.__error_message is None: # we delay the positive setting of the __is_success flag until we have finished iteration of the # events and have ensured nothing has set an error message From 48cfac77f022668f52971bc4e87b947ef1508750 Mon Sep 17 00:00:00 2001 From: bdhimes Date: Mon, 1 Dec 2025 20:46:26 +0200 Subject: [PATCH 3/3] Added TODOs --- async_substrate_interface/async_substrate.py | 1 + async_substrate_interface/sync_substrate.py | 1 + 2 files changed, 2 insertions(+) diff --git a/async_substrate_interface/async_substrate.py b/async_substrate_interface/async_substrate.py index c97d94d..a654c1b 100644 --- a/async_substrate_interface/async_substrate.py +++ b/async_substrate_interface/async_substrate.py @@ -276,6 +276,7 @@ async def process_events(self): # Process other events possible_success = False for event in await self.triggered_events: + # TODO make this more readable # Check events if ( event["event"]["module_id"] == "System" diff --git a/async_substrate_interface/sync_substrate.py b/async_substrate_interface/sync_substrate.py index 3fd85ee..e6a2e3b 100644 --- a/async_substrate_interface/sync_substrate.py +++ b/async_substrate_interface/sync_substrate.py @@ -237,6 +237,7 @@ def process_events(self): # Process other events possible_success = False for event in self.triggered_events: + # TODO make this more readable # Check events if ( event["event"]["module_id"] == "System"