import 'package:cake_wallet/entities/secret_store_key.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter_secure_storage/flutter_secure_storage.dart'; import 'package:mobx/mobx.dart'; part 'secret_store.g.dart'; class SecretStore = SecretStoreBase with _$SecretStore; abstract class SecretStoreBase with Store { static Future load(FlutterSecureStorage storage) async { final secretStore = SecretStore(); final backupPasswordKey = generateStoreKeyFor(key: SecretStoreKey.backupPassword); final backupPassword = await storage.read(key: backupPasswordKey); secretStore.write(key: backupPasswordKey, value: backupPassword); return secretStore; } SecretStoreBase() : values = ObservableMap(); ObservableMap values; String read(String key) => values[key] as String; String write({@required String key, @required String value}) => values[key] = value; }