from chipi_sdk import ChipiApiError, GetWalletParams
def safe_get_wallet(user_id: str):
"""Get wallet with error handling."""
try:
wallet_response = sdk.get_wallet(
params=GetWalletParams(external_user_id=user_id)
)
if wallet_response is None:
return {
"success": False,
"error": "Wallet not found",
"user_id": user_id
}
return {
"success": True,
"wallet": wallet_response.wallet,
"public_key": wallet_response.wallet.public_key,
"created_at": wallet_response.created_at
}
except ChipiApiError as e:
print(f"❌ API error: {e.message}")
return {
"success": False,
"error": e.message,
"status": e.status
}
except Exception as e:
print(f"❌ Unexpected error: {e}")
return {
"success": False,
"error": str(e)
}
# Usage
result = safe_get_wallet("user-123")
if result["success"]:
print(f"Wallet: {result['public_key']}")
else:
print(f"Error: {result['error']}")