mirror of
https://github.com/greenart7c3/Amber.git
synced 2026-10-05 19:08:23 +00:00
Improve error handling and safety when retrieving account seed words
- Update `Account.seedWords()` to use `runCatching` and return an empty string instead of a nullable value on failure. - Simplify seed word handling in `AccountBackupDialog` and `AccountExportService` by removing null checks.
This commit is contained in:
@@ -120,7 +120,7 @@ class Account(
|
||||
return signer.signerSync.decrypt(encryptedContent, fromPublicKey)
|
||||
}
|
||||
|
||||
suspend fun seedWords() = DataStoreAccess.getEncryptedKey(Amber.instance, npub, DataStoreAccess.SEED_WORDS)
|
||||
suspend fun seedWords() = runCatching { DataStoreAccess.getEncryptedKey(Amber.instance, npub, DataStoreAccess.SEED_WORDS) }.getOrNull() ?: ""
|
||||
|
||||
suspend fun decryptZapEvent(
|
||||
data: String,
|
||||
|
||||
@@ -121,7 +121,7 @@ object AccountExportService {
|
||||
*/
|
||||
private suspend fun accountToExportData(account: Account, password: String): AccountExportData {
|
||||
val seedWords = account.seedWords()
|
||||
val encrypedSeedWords = if (seedWords != null && seedWords.isNotBlank()) account.nip44Encrypt(seedWords, account.hexKey) else ""
|
||||
val encrypedSeedWords = if (seedWords.isNotBlank()) account.nip44Encrypt(seedWords, account.hexKey) else ""
|
||||
val encryptedNsec = account.nip49Encrypt(password)
|
||||
|
||||
return AccountExportData(
|
||||
|
||||
@@ -227,7 +227,7 @@ fun AccountBackupScreen(
|
||||
launch(Dispatchers.IO) {
|
||||
localAccount = LocalPreferences.loadFromEncryptedStorage(Amber.instance, it.npub)
|
||||
localAccount?.let { acc ->
|
||||
seedWords = acc.seedWords() ?: ""
|
||||
seedWords = acc.seedWords()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user