mirror of
https://github.com/pezkuwichain/pwap.git
synced 2026-06-19 02:41:00 +00:00
fix(mobile): critical security and error handling improvements
🔐 SECURITY FIXES: - Fixed CRITICAL seed storage vulnerability * Changed from AsyncStorage to SecureStore for wallet seeds * Seeds now encrypted in hardware-backed secure storage * Affects: PolkadotContext.tsx (lines 166, 189) 🛡️ ERROR HANDLING: - Added global ErrorBoundary component * Catches unhandled React errors * Shows user-friendly error UI * Integrated into App.tsx provider hierarchy * Files: ErrorBoundary.tsx (new), App.tsx, components/index.ts 🧹 PRODUCTION READINESS: - Protected all 47 console statements with __DEV__ checks * console.log: 12 statements * console.error: 32 statements * console.warn: 1 statement * Files affected: 16 files across contexts, screens, i18n * Production builds will strip these out 📦 PROVIDER HIERARCHY: - Added BiometricAuthProvider to App.tsx - Updated provider order: ErrorBoundary → Polkadot → Language → BiometricAuth → Navigator Files modified: 18 New files: 1 (ErrorBoundary.tsx) This commit resolves 3 P0 critical issues from production readiness audit.
This commit is contained in:
@@ -122,7 +122,7 @@ export default function StakingScreen() {
|
||||
estimatedAPY,
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('Error fetching staking data:', error);
|
||||
if (__DEV__) console.error('Error fetching staking data:', error);
|
||||
Alert.alert('Error', 'Failed to load staking data');
|
||||
} finally {
|
||||
setLoading(false);
|
||||
@@ -155,7 +155,7 @@ export default function StakingScreen() {
|
||||
}
|
||||
});
|
||||
} catch (error: any) {
|
||||
console.error('Staking error:', error);
|
||||
if (__DEV__) console.error('Staking error:', error);
|
||||
Alert.alert('Error', error.message || 'Failed to stake tokens');
|
||||
} finally {
|
||||
setProcessing(false);
|
||||
@@ -189,7 +189,7 @@ export default function StakingScreen() {
|
||||
}
|
||||
});
|
||||
} catch (error: any) {
|
||||
console.error('Unstaking error:', error);
|
||||
if (__DEV__) console.error('Unstaking error:', error);
|
||||
Alert.alert('Error', error.message || 'Failed to unstake tokens');
|
||||
} finally {
|
||||
setProcessing(false);
|
||||
|
||||
Reference in New Issue
Block a user