Beispiel #1
0
 def get_safe_info(self, safe_address: str) -> SafeInfo:
     try:
         safe = Safe(safe_address, self.ethereum_client)
         return safe.retrieve_all_info()
     except IOError as exc:
         raise NodeConnectionError from exc
     except CannotRetrieveSafeInfoException as e:
         raise CannotGetSafeInfo from e
Beispiel #2
0
    def retrieve_safe_info(self, address: str) -> SafeInfo:
        safe = Safe(address, self.ethereum_client)
        if not self.ethereum_client.is_contract(address):
            raise SafeNotDeployed('Safe with address=%s not deployed' %
                                  address)

        try:
            return safe.retrieve_all_info()
        except CannotRetrieveSafeInfoException as e:
            raise CannotRetrieveSafeInfo(address) from e
 def get_safe_info_from_blockchain(
         self, safe_address: ChecksumAddress) -> SafeInfo:
     """
     :param safe_address:
     :return: SafeInfo from blockchain
     """
     try:
         safe = Safe(safe_address, self.ethereum_client)
         safe_info = safe.retrieve_all_info()
         # Return same master copy information than the db method
         return replace(
             safe_info,
             version=SafeMasterCopy.objects.get_version_for_address(
                 safe_info.master_copy),
         )
     except IOError as exc:
         raise NodeConnectionException from exc
     except CannotRetrieveSafeInfoException as exc:
         raise CannotGetSafeInfoFromBlockchain(safe_address) from exc
 def get_safe_info(self, safe_address: str) -> SafeInfo:
     safe = Safe(safe_address, self.ethereum_client)
     return safe.retrieve_all_info()