dev
dart 31 lines 1.14 KB
Raw
1 import 'package:cake_wallet/core/secure_storage.dart';
2 import 'package:cake_wallet/entities/secret_store_key.dart';
3 import 'package:cake_wallet/entities/encrypt.dart';
4
5 class KeyService {
6 KeyService(this._secureStorage);
7
8 final SecureStorage _secureStorage;
9
10 Future<String> getWalletPassword({required String walletName}) async {
11 final key =
12 generateStoreKeyFor(key: SecretStoreKey.moneroWalletPassword, walletName: walletName);
13 final encodedPassword = await _secureStorage.read(key: key);
14 return decodeWalletPassword(password: encodedPassword!);
15 }
16
17 Future<void> saveWalletPassword({required String walletName, required String password}) async {
18 final key =
19 generateStoreKeyFor(key: SecretStoreKey.moneroWalletPassword, walletName: walletName);
20 final encodedPassword = encodeWalletPassword(password: password);
21
22 await _secureStorage.write(key: key, value: encodedPassword);
23 }
24
25 Future<void> deleteWalletPassword({required String walletName}) async {
26 final key =
27 generateStoreKeyFor(key: SecretStoreKey.moneroWalletPassword, walletName: walletName);
28
29 await _secureStorage.delete(key: key);
30 }
31 }