// components/AuthDebugScreen.tsx import React, { useState, useEffect } from 'react'; import { View, Text, Button, StyleSheet } from 'react-native'; import * as SecureStore from 'expo-secure-store'; import { SECURE_STORE_KEYS } from '@/lib/auth/constants'; import { useAuthStore } from '@/lib/auth/AuthStateManager'; export default function AuthDebugScreen() { const [storageInfo, setStorageInfo] = useState({ privateKey: 'Checking...', pubkey: 'Checking...', externalSigner: 'Checking...' }); const authState = useAuthStore((state) => state); const checkStorage = async () => { try { // Check using the defined constants const privateKey = await SecureStore.getItemAsync(SECURE_STORE_KEYS.PRIVATE_KEY); const pubkey = await SecureStore.getItemAsync(SECURE_STORE_KEYS.PUBKEY); const externalSigner = await SecureStore.getItemAsync(SECURE_STORE_KEYS.EXTERNAL_SIGNER); // Also check the legacy key const legacyKey = await SecureStore.getItemAsync('powr.private_key'); setStorageInfo({ privateKey: privateKey ? `Found (${privateKey.length} chars)${legacyKey ? ' [also in legacy]' : ''}` : 'Not found', pubkey: pubkey ? `Found (${pubkey.substring(0, 8)}...)` : 'Not found', externalSigner: externalSigner ? 'Found' : 'Not found' }); } catch (error: any) { console.error('Error checking storage:', error); const errorMessage = error && error.message ? error.message : 'Unknown error'; setStorageInfo({ privateKey: `Error: ${errorMessage}`, pubkey: `Error: ${errorMessage}`, externalSigner: `Error: ${errorMessage}` }); } }; useEffect(() => { checkStorage(); }, []); return ( Authentication Debug Auth State Status: {authState.status} {authState.status === 'authenticated' && ( <> User: {authState.user.pubkey.substring(0, 8)}... Method: {authState.method} )} Secure Storage Private Key: {storageInfo.privateKey} Public Key: {storageInfo.pubkey} External Signer: {storageInfo.externalSigner}