import 'dart:io'; import 'package:cw_core/pathForWallet.dart'; import 'package:cw_core/wallet_base.dart'; import 'package:cw_core/wallet_credentials.dart'; import 'package:cw_core/wallet_type.dart'; abstract class WalletService { WalletType getType(); Future create(N credentials, {bool? isTestnet}); Future restoreFromHardwareWallet(RFH credentials); Future restoreFromSeed(RFS credentials, {bool? isTestnet}); Future restoreFromKeys(RFK credentials, {bool? isTestnet}); Future openWallet(String name, String password); Future isWalletExit(String name); Future remove(String wallet); Future rename(String currentName, String password, String newName); Future restoreWalletFilesFromBackup(String name) async { final backupWalletDirPath = await pathForWalletDir(name: "$name.backup", type: getType()); final walletDirPath = await pathForWalletDir(name: name, type: getType()); if (File(backupWalletDirPath).existsSync()) { await File(backupWalletDirPath).copy(walletDirPath); } } Future saveBackup(String name) async { final backupWalletDirPath = await pathForWalletDir(name: "$name.backup", type: getType()); final walletDirPath = await pathForWalletDir(name: name, type: getType()); if (File(walletDirPath).existsSync()) { await File(walletDirPath).copy(backupWalletDirPath); } } }