2024-03-26 11:37:52 +01:00
|
|
|
import 'package:cake_wallet/core/secure_storage.dart';
|
2020-09-21 14:50:26 +03:00
|
|
|
import 'package:cake_wallet/entities/secret_store_key.dart';
|
|
|
|
import 'package:cake_wallet/entities/encrypt.dart';
|
2020-07-06 23:09:03 +03:00
|
|
|
|
|
|
|
class KeyService {
|
|
|
|
KeyService(this._secureStorage);
|
|
|
|
|
2024-05-08 21:23:27 +01:00
|
|
|
final SecureStorage _secureStorage;
|
2020-07-06 23:09:03 +03:00
|
|
|
|
2022-10-12 13:09:57 -04:00
|
|
|
Future<String> getWalletPassword({required String walletName}) async {
|
2024-05-08 21:23:27 +01:00
|
|
|
final key =
|
|
|
|
generateStoreKeyFor(key: SecretStoreKey.moneroWalletPassword, walletName: walletName);
|
|
|
|
final encodedPassword = await _secureStorage.read(key: key);
|
2022-10-12 13:09:57 -04:00
|
|
|
return decodeWalletPassword(password: encodedPassword!);
|
2020-07-06 23:09:03 +03:00
|
|
|
}
|
|
|
|
|
2022-10-12 13:09:57 -04:00
|
|
|
Future<void> saveWalletPassword({required String walletName, required String password}) async {
|
2024-05-08 21:23:27 +01:00
|
|
|
final key =
|
|
|
|
generateStoreKeyFor(key: SecretStoreKey.moneroWalletPassword, walletName: walletName);
|
2020-07-06 23:09:03 +03:00
|
|
|
final encodedPassword = encodeWalletPassword(password: password);
|
|
|
|
|
2024-05-08 21:23:27 +01:00
|
|
|
await _secureStorage.write(key: key, value: encodedPassword);
|
2020-07-06 23:09:03 +03:00
|
|
|
}
|
2023-07-12 20:20:11 -03:00
|
|
|
|
|
|
|
Future<void> deleteWalletPassword({required String walletName}) async {
|
2024-05-08 21:23:27 +01:00
|
|
|
final key =
|
|
|
|
generateStoreKeyFor(key: SecretStoreKey.moneroWalletPassword, walletName: walletName);
|
2023-07-12 20:20:11 -03:00
|
|
|
|
|
|
|
await _secureStorage.delete(key: key);
|
|
|
|
}
|
2020-07-06 23:09:03 +03:00
|
|
|
}
|