From f3471cba7a0537dc103b306dbc74992014e99c21 Mon Sep 17 00:00:00 2001 From: ibraheem-latent Date: Thu, 4 Dec 2025 13:10:36 -0800 Subject: [PATCH] adds supp for DecryptedRejected --- async_substrate_interface/async_substrate.py | 27 ++++++++++++++------ 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/async_substrate_interface/async_substrate.py b/async_substrate_interface/async_substrate.py index a654c1b..dae91e5 100644 --- a/async_substrate_interface/async_substrate.py +++ b/async_substrate_interface/async_substrate.py @@ -297,7 +297,8 @@ async def process_events(self): and event["event"]["event_id"] == "ExtrinsicFailed" ) or ( event["event"]["module_id"] == "MevShield" - and event["event"]["event_id"] == "DecryptedRejected" + and event["event"]["event_id"] + in ("DecryptedRejected", "DecryptionFailed") ): possible_success = False self.__is_success = False @@ -308,13 +309,23 @@ async def process_events(self): self.__weight = dispatch_info["weight"] else: # MEV shield extrinsics - dispatch_info = event["event"]["attributes"]["reason"][ - "post_info" - ] - dispatch_error = event["event"]["attributes"]["reason"]["error"] - self.__weight = event["event"]["attributes"]["reason"][ - "post_info" - ]["actual_weight"] + if event["event"]["event_id"] == "DecryptedRejected": + dispatch_info = event["event"]["attributes"]["reason"][ + "post_info" + ] + dispatch_error = event["event"]["attributes"]["reason"][ + "error" + ] + self.__weight = event["event"]["attributes"]["reason"][ + "post_info" + ]["actual_weight"] + else: + self.__error_message = { + "type": "MevShield", + "name": "DecryptionFailed", + "docs": event["event"]["attributes"]["reason"], + } + continue if "Module" in dispatch_error: if isinstance(dispatch_error["Module"], tuple):