cake_wallet/lib/core/key_service.dart
OmarHatem 42155c913d Merge branch 'main' of https://github.com/cake-tech/cake_wallet into cw_linux_direct_input_password
 Conflicts:
	cw_bitcoin/lib/bitcoin_wallet.dart
	cw_bitcoin/lib/bitcoin_wallet_service.dart
	cw_bitcoin/lib/electrum_wallet.dart
	cw_bitcoin/lib/litecoin_wallet.dart
	cw_bitcoin/lib/litecoin_wallet_service.dart
	cw_bitcoin_cash/lib/src/bitcoin_cash_wallet.dart
	cw_bitcoin_cash/lib/src/bitcoin_cash_wallet_service.dart
	cw_ethereum/lib/ethereum_wallet_service.dart
	cw_evm/lib/evm_chain_wallet.dart
	cw_evm/lib/evm_chain_wallet_service.dart
	cw_nano/lib/nano_wallet_service.dart
	cw_solana/lib/solana_wallet_service.dart
	lib/di.dart
	lib/entities/get_encryption_key.dart
	lib/main.dart
	lib/router.dart
	lib/view_model/wallet_new_vm.dart
	pubspec_base.yaml
	tool/configure.dart
2024-05-08 18:16:03 +03:00

31 lines
1.2 KiB
Dart

import 'package:cake_wallet/core/secure_storage.dart';
import 'package:cake_wallet/entities/secret_store_key.dart';
import 'package:cake_wallet/entities/encrypt.dart';
class KeyService {
KeyService(this._secureStorage);
final SecureStorage _secureStorage;
Future<String> getWalletPassword({required String walletName}) async {
final key = generateStoreKeyFor(
key: SecretStoreKey.moneroWalletPassword, walletName: walletName);
final encodedPassword = await _secureStorage.read(key: key);
return decodeWalletPassword(password: encodedPassword!);
}
Future<void> saveWalletPassword({required String walletName, required String password}) async {
final key = generateStoreKeyFor(
key: SecretStoreKey.moneroWalletPassword, walletName: walletName);
final encodedPassword = encodeWalletPassword(password: password);
await writeSecureStorage(_secureStorage, key: key, value: encodedPassword);
}
Future<void> deleteWalletPassword({required String walletName}) async {
final key = generateStoreKeyFor(
key: SecretStoreKey.moneroWalletPassword, walletName: walletName);
await _secureStorage.delete(key: key);
}
}