From 568fed13397a5a2834584564daaff6a9501854b9 Mon Sep 17 00:00:00 2001 From: "kacper.golem" Date: Thu, 18 Apr 2024 07:13:18 +0200 Subject: [PATCH] FIX-OCT-1572: Ignore errors when 404 --- .../app/modules/multisig_signatures/core.py | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/backend/app/modules/multisig_signatures/core.py b/backend/app/modules/multisig_signatures/core.py index 0ea039b706..ad4713719c 100644 --- a/backend/app/modules/multisig_signatures/core.py +++ b/backend/app/modules/multisig_signatures/core.py @@ -1,8 +1,10 @@ import json +from http import HTTPStatus from typing import List, Tuple, Dict from eth_account.messages import SignableMessage +from app.exceptions import ExternalApiException from app.infrastructure.database.models import MultisigSignatures from app.infrastructure.external_api.safe.message_details import get_message_details from app.infrastructure.external_api.safe.user_details import get_user_details @@ -62,17 +64,20 @@ def approve_pending_signatures( approved_signatures.append(_create_signature_object(pending_signature)) continue - message_details = get_message_details( # TODO extract API call to service - pending_signature.msg_hash, is_mainnet=is_mainnet - ) - confirmations = message_details["confirmations"] - threshold = int( - get_user_details( + try: + message_details = get_message_details( # TODO extract API call to service + pending_signature.msg_hash, is_mainnet=is_mainnet + ) + user_details = get_user_details( pending_signature.address, is_mainnet=is_mainnet - )[ # TODO extract API call to service - "threshold" - ] - ) + ) # TODO extract API call to service + except ExternalApiException as e: + if e.status_code == HTTPStatus.NOT_FOUND: + continue + raise e + + confirmations = message_details["confirmations"] + threshold = int(user_details["threshold"]) if len(confirmations) >= threshold: pending_signature.confirmed_signature = message_details["preparedSignature"]