mirror of
https://github.com/cake-tech/cake_wallet.git
synced 2025-06-28 12:29:51 +00:00
Revert removing isTestnet from other wallets [skip ci]
This commit is contained in:
parent
1434e5afbf
commit
8cd1693b6b
12 changed files with 84 additions and 113 deletions
|
@ -12,8 +12,10 @@ import 'package:cw_core/wallet_info.dart';
|
|||
import 'package:cw_core/wallet_base.dart';
|
||||
import 'package:collection/collection.dart';
|
||||
|
||||
class LitecoinWalletService extends WalletService<BitcoinNewWalletCredentials,
|
||||
BitcoinRestoreWalletFromSeedCredentials, BitcoinRestoreWalletFromWIFCredentials> {
|
||||
class LitecoinWalletService extends WalletService<
|
||||
BitcoinNewWalletCredentials,
|
||||
BitcoinRestoreWalletFromSeedCredentials,
|
||||
BitcoinRestoreWalletFromWIFCredentials> {
|
||||
LitecoinWalletService(this.walletInfoSource, this.unspentCoinsInfoSource);
|
||||
|
||||
final Box<WalletInfo> walletInfoSource;
|
||||
|
@ -23,7 +25,7 @@ class LitecoinWalletService extends WalletService<BitcoinNewWalletCredentials,
|
|||
WalletType getType() => WalletType.litecoin;
|
||||
|
||||
@override
|
||||
Future<LitecoinWallet> create(BitcoinNewWalletCredentials credentials) async {
|
||||
Future<LitecoinWallet> create(BitcoinNewWalletCredentials credentials, {bool? isTestnet}) async {
|
||||
final wallet = await LitecoinWalletBase.create(
|
||||
mnemonic: await generateMnemonic(),
|
||||
password: credentials.password!,
|
||||
|
@ -41,14 +43,12 @@ class LitecoinWalletService extends WalletService<BitcoinNewWalletCredentials,
|
|||
|
||||
@override
|
||||
Future<LitecoinWallet> openWallet(String name, String password) async {
|
||||
final walletInfo = walletInfoSource.values
|
||||
.firstWhereOrNull((info) => info.id == WalletBase.idFor(name, getType()))!;
|
||||
final walletInfo = walletInfoSource.values.firstWhereOrNull(
|
||||
(info) => info.id == WalletBase.idFor(name, getType()))!;
|
||||
|
||||
try {
|
||||
final wallet = await LitecoinWalletBase.open(
|
||||
password: password,
|
||||
name: name,
|
||||
walletInfo: walletInfo,
|
||||
password: password, name: name, walletInfo: walletInfo,
|
||||
unspentCoinsInfo: unspentCoinsInfoSource);
|
||||
await wallet.init();
|
||||
saveBackup(name);
|
||||
|
@ -56,9 +56,7 @@ class LitecoinWalletService extends WalletService<BitcoinNewWalletCredentials,
|
|||
} catch (_) {
|
||||
await restoreWalletFilesFromBackup(name);
|
||||
final wallet = await LitecoinWalletBase.open(
|
||||
password: password,
|
||||
name: name,
|
||||
walletInfo: walletInfo,
|
||||
password: password, name: name, walletInfo: walletInfo,
|
||||
unspentCoinsInfo: unspentCoinsInfoSource);
|
||||
await wallet.init();
|
||||
return wallet;
|
||||
|
@ -67,16 +65,17 @@ class LitecoinWalletService extends WalletService<BitcoinNewWalletCredentials,
|
|||
|
||||
@override
|
||||
Future<void> remove(String wallet) async {
|
||||
File(await pathForWalletDir(name: wallet, type: getType())).delete(recursive: true);
|
||||
final walletInfo = walletInfoSource.values
|
||||
.firstWhereOrNull((info) => info.id == WalletBase.idFor(wallet, getType()))!;
|
||||
File(await pathForWalletDir(name: wallet, type: getType()))
|
||||
.delete(recursive: true);
|
||||
final walletInfo = walletInfoSource.values.firstWhereOrNull(
|
||||
(info) => info.id == WalletBase.idFor(wallet, getType()))!;
|
||||
await walletInfoSource.delete(walletInfo.key);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> rename(String currentName, String password, String newName) async {
|
||||
final currentWalletInfo = walletInfoSource.values
|
||||
.firstWhereOrNull((info) => info.id == WalletBase.idFor(currentName, getType()))!;
|
||||
final currentWalletInfo = walletInfoSource.values.firstWhereOrNull(
|
||||
(info) => info.id == WalletBase.idFor(currentName, getType()))!;
|
||||
final currentWallet = await LitecoinWalletBase.open(
|
||||
password: password,
|
||||
name: currentName,
|
||||
|
@ -95,12 +94,12 @@ class LitecoinWalletService extends WalletService<BitcoinNewWalletCredentials,
|
|||
|
||||
@override
|
||||
Future<LitecoinWallet> restoreFromKeys(
|
||||
BitcoinRestoreWalletFromWIFCredentials credentials) async =>
|
||||
BitcoinRestoreWalletFromWIFCredentials credentials, {bool? isTestnet}) async =>
|
||||
throw UnimplementedError();
|
||||
|
||||
@override
|
||||
Future<LitecoinWallet> restoreFromSeed(
|
||||
BitcoinRestoreWalletFromSeedCredentials credentials) async {
|
||||
BitcoinRestoreWalletFromSeedCredentials credentials, {bool? isTestnet}) async {
|
||||
if (!validateMnemonic(credentials.mnemonic)) {
|
||||
throw BitcoinMnemonicIsIncorrectException();
|
||||
}
|
||||
|
|
|
@ -2,10 +2,7 @@ import 'dart:io';
|
|||
|
||||
import 'package:bip39/bip39.dart';
|
||||
import 'package:cw_bitcoin_cash/cw_bitcoin_cash.dart';
|
||||
import 'package:cw_core/balance.dart';
|
||||
import 'package:cw_core/pathForWallet.dart';
|
||||
import 'package:cw_core/transaction_history.dart';
|
||||
import 'package:cw_core/transaction_info.dart';
|
||||
import 'package:cw_core/unspent_coins_info.dart';
|
||||
import 'package:cw_core/wallet_base.dart';
|
||||
import 'package:cw_core/wallet_info.dart';
|
||||
|
@ -29,12 +26,9 @@ class BitcoinCashWalletService extends WalletService<BitcoinCashNewWalletCredent
|
|||
File(await pathForWallet(name: name, type: getType())).existsSync();
|
||||
|
||||
@override
|
||||
Future<BitcoinCashWallet> create(credentials) async {
|
||||
final strength = (credentials.seedPhraseLength == 12)
|
||||
? 128
|
||||
: (credentials.seedPhraseLength == 24)
|
||||
? 256
|
||||
: 128;
|
||||
Future<BitcoinCashWallet> create(credentials, {bool? isTestnet}) async {
|
||||
final strength = credentials.seedPhraseLength == 24 ? 256 : 128;
|
||||
|
||||
final wallet = await BitcoinCashWalletBase.create(
|
||||
mnemonic: await Mnemonic.generate(strength: strength),
|
||||
password: credentials.password!,
|
||||
|
@ -100,14 +94,14 @@ class BitcoinCashWalletService extends WalletService<BitcoinCashNewWalletCredent
|
|||
}
|
||||
|
||||
@override
|
||||
Future<BitcoinCashWallet> restoreFromKeys(credentials) {
|
||||
Future<BitcoinCashWallet> restoreFromKeys(credentials, {bool? isTestnet}) {
|
||||
// TODO: implement restoreFromKeys
|
||||
throw UnimplementedError('restoreFromKeys() is not implemented');
|
||||
}
|
||||
|
||||
@override
|
||||
Future<BitcoinCashWallet> restoreFromSeed(
|
||||
BitcoinCashRestoreWalletFromSeedCredentials credentials) async {
|
||||
Future<BitcoinCashWallet> restoreFromSeed(BitcoinCashRestoreWalletFromSeedCredentials credentials,
|
||||
{bool? isTestnet}) async {
|
||||
if (!validateMnemonic(credentials.mnemonic)) {
|
||||
throw BitcoinCashMnemonicIsIncorrectException();
|
||||
}
|
||||
|
|
|
@ -9,11 +9,11 @@ abstract class WalletService<N extends WalletCredentials, RFS extends WalletCred
|
|||
RFK extends WalletCredentials> {
|
||||
WalletType getType();
|
||||
|
||||
Future<WalletBase> create(N credentials);
|
||||
Future<WalletBase> create(N credentials, {bool? isTestnet});
|
||||
|
||||
Future<WalletBase> restoreFromSeed(RFS credentials);
|
||||
Future<WalletBase> restoreFromSeed(RFS credentials, {bool? isTestnet});
|
||||
|
||||
Future<WalletBase> restoreFromKeys(RFK credentials);
|
||||
Future<WalletBase> restoreFromKeys(RFK credentials, {bool? isTestnet});
|
||||
|
||||
Future<WalletBase> openWallet(String name, String password);
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@ class EthereumWalletService extends EVMChainWalletService<EthereumWallet> {
|
|||
WalletType getType() => WalletType.ethereum;
|
||||
|
||||
@override
|
||||
Future<EthereumWallet> create(EVMChainNewWalletCredentials credentials) async {
|
||||
Future<EthereumWallet> create(EVMChainNewWalletCredentials credentials, {bool? isTestnet}) async {
|
||||
final strength = credentials.seedPhraseLength == 24 ? 256 : 128;
|
||||
|
||||
final mnemonic = bip39.generateMnemonic(strength: strength);
|
||||
|
@ -83,7 +83,8 @@ class EthereumWalletService extends EVMChainWalletService<EthereumWallet> {
|
|||
}
|
||||
|
||||
@override
|
||||
Future<EthereumWallet> restoreFromKeys(EVMChainRestoreWalletFromPrivateKey credentials) async {
|
||||
Future<EthereumWallet> restoreFromKeys(EVMChainRestoreWalletFromPrivateKey credentials,
|
||||
{bool? isTestnet}) async {
|
||||
final wallet = EthereumWallet(
|
||||
password: credentials.password!,
|
||||
privateKey: credentials.privateKey,
|
||||
|
@ -99,8 +100,8 @@ class EthereumWalletService extends EVMChainWalletService<EthereumWallet> {
|
|||
}
|
||||
|
||||
@override
|
||||
Future<EthereumWallet> restoreFromSeed(
|
||||
EVMChainRestoreWalletFromSeedCredentials credentials) async {
|
||||
Future<EthereumWallet> restoreFromSeed(EVMChainRestoreWalletFromSeedCredentials credentials,
|
||||
{bool? isTestnet}) async {
|
||||
if (!bip39.validateMnemonic(credentials.mnemonic)) {
|
||||
throw EthereumMnemonicIsIncorrectException();
|
||||
}
|
||||
|
|
|
@ -22,7 +22,7 @@ abstract class EVMChainWalletService<T extends EVMChainWallet> extends WalletSer
|
|||
WalletType getType();
|
||||
|
||||
@override
|
||||
Future<T> create(EVMChainNewWalletCredentials credentials);
|
||||
Future<T> create(EVMChainNewWalletCredentials credentials, {bool? isTestnet});
|
||||
|
||||
@override
|
||||
Future<T> openWallet(String name, String password);
|
||||
|
@ -31,10 +31,10 @@ abstract class EVMChainWalletService<T extends EVMChainWallet> extends WalletSer
|
|||
Future<void> rename(String currentName, String password, String newName);
|
||||
|
||||
@override
|
||||
Future<T> restoreFromKeys(EVMChainRestoreWalletFromPrivateKey credentials);
|
||||
Future<T> restoreFromKeys(EVMChainRestoreWalletFromPrivateKey credentials, {bool? isTestnet});
|
||||
|
||||
@override
|
||||
Future<T> restoreFromSeed(EVMChainRestoreWalletFromSeedCredentials credentials);
|
||||
Future<T> restoreFromSeed(EVMChainRestoreWalletFromSeedCredentials credentials, {bool? isTestnet});
|
||||
|
||||
@override
|
||||
Future<bool> isWalletExit(String name) async =>
|
||||
|
|
|
@ -22,7 +22,10 @@ class HavenNewWalletCredentials extends WalletCredentials {
|
|||
|
||||
class HavenRestoreWalletFromSeedCredentials extends WalletCredentials {
|
||||
HavenRestoreWalletFromSeedCredentials(
|
||||
{required String name, required String password, required int height, required this.mnemonic})
|
||||
{required String name,
|
||||
required String password,
|
||||
required int height,
|
||||
required this.mnemonic})
|
||||
: super(name: name, password: password, height: height);
|
||||
|
||||
final String mnemonic;
|
||||
|
@ -50,12 +53,14 @@ class HavenRestoreWalletFromKeysCredentials extends WalletCredentials {
|
|||
final String spendKey;
|
||||
}
|
||||
|
||||
class HavenWalletService extends WalletService<HavenNewWalletCredentials,
|
||||
HavenRestoreWalletFromSeedCredentials, HavenRestoreWalletFromKeysCredentials> {
|
||||
class HavenWalletService extends WalletService<
|
||||
HavenNewWalletCredentials,
|
||||
HavenRestoreWalletFromSeedCredentials,
|
||||
HavenRestoreWalletFromKeysCredentials> {
|
||||
HavenWalletService(this.walletInfoSource);
|
||||
|
||||
final Box<WalletInfo> walletInfoSource;
|
||||
|
||||
|
||||
static bool walletFilesExist(String path) =>
|
||||
!File(path).existsSync() && !File('$path.keys').existsSync();
|
||||
|
||||
|
@ -63,11 +68,13 @@ class HavenWalletService extends WalletService<HavenNewWalletCredentials,
|
|||
WalletType getType() => WalletType.haven;
|
||||
|
||||
@override
|
||||
Future<HavenWallet> create(HavenNewWalletCredentials credentials) async {
|
||||
Future<HavenWallet> create(HavenNewWalletCredentials credentials, {bool? isTestnet}) async {
|
||||
try {
|
||||
final path = await pathForWallet(name: credentials.name, type: getType());
|
||||
await haven_wallet_manager.createWallet(
|
||||
path: path, password: credentials.password!, language: credentials.language);
|
||||
path: path,
|
||||
password: credentials.password!,
|
||||
language: credentials.language);
|
||||
final wallet = HavenWallet(walletInfo: credentials.walletInfo!);
|
||||
await wallet.init();
|
||||
return wallet;
|
||||
|
@ -99,9 +106,10 @@ class HavenWalletService extends WalletService<HavenNewWalletCredentials,
|
|||
await repairOldAndroidWallet(name);
|
||||
}
|
||||
|
||||
await haven_wallet_manager.openWalletAsync({'path': path, 'password': password});
|
||||
final walletInfo = walletInfoSource.values
|
||||
.firstWhereOrNull((info) => info.id == WalletBase.idFor(name, getType()))!;
|
||||
await haven_wallet_manager
|
||||
.openWalletAsync({'path': path, 'password': password});
|
||||
final walletInfo = walletInfoSource.values.firstWhereOrNull(
|
||||
(info) => info.id == WalletBase.idFor(name, getType()))!;
|
||||
final wallet = HavenWallet(walletInfo: walletInfo);
|
||||
final isValid = wallet.walletAddresses.validate();
|
||||
|
||||
|
@ -118,10 +126,12 @@ class HavenWalletService extends WalletService<HavenNewWalletCredentials,
|
|||
// TODO: Implement Exception for wallet list service.
|
||||
|
||||
if ((e.toString().contains('bad_alloc') ||
|
||||
(e is WalletOpeningException &&
|
||||
(e.message == 'std::bad_alloc' || e.message.contains('bad_alloc')))) ||
|
||||
(e is WalletOpeningException &&
|
||||
(e.message == 'std::bad_alloc' ||
|
||||
e.message.contains('bad_alloc')))) ||
|
||||
(e.toString().contains('does not correspond') ||
|
||||
(e is WalletOpeningException && e.message.contains('does not correspond')))) {
|
||||
(e is WalletOpeningException &&
|
||||
e.message.contains('does not correspond')))) {
|
||||
await restoreOrResetWalletFiles(name);
|
||||
return openWallet(name, password);
|
||||
}
|
||||
|
@ -146,9 +156,10 @@ class HavenWalletService extends WalletService<HavenNewWalletCredentials,
|
|||
}
|
||||
|
||||
@override
|
||||
Future<void> rename(String currentName, String password, String newName) async {
|
||||
final currentWalletInfo = walletInfoSource.values
|
||||
.firstWhere((info) => info.id == WalletBase.idFor(currentName, getType()));
|
||||
Future<void> rename(
|
||||
String currentName, String password, String newName) async {
|
||||
final currentWalletInfo = walletInfoSource.values.firstWhere(
|
||||
(info) => info.id == WalletBase.idFor(currentName, getType()));
|
||||
final currentWallet = HavenWallet(walletInfo: currentWalletInfo);
|
||||
|
||||
await currentWallet.renameWalletFiles(newName);
|
||||
|
@ -162,7 +173,8 @@ class HavenWalletService extends WalletService<HavenNewWalletCredentials,
|
|||
}
|
||||
|
||||
@override
|
||||
Future<HavenWallet> restoreFromKeys(HavenRestoreWalletFromKeysCredentials credentials) async {
|
||||
Future<HavenWallet> restoreFromKeys(
|
||||
HavenRestoreWalletFromKeysCredentials credentials, {bool? isTestnet}) async {
|
||||
try {
|
||||
final path = await pathForWallet(name: credentials.name, type: getType());
|
||||
await haven_wallet_manager.restoreFromKeys(
|
||||
|
@ -185,7 +197,8 @@ class HavenWalletService extends WalletService<HavenNewWalletCredentials,
|
|||
}
|
||||
|
||||
@override
|
||||
Future<HavenWallet> restoreFromSeed(HavenRestoreWalletFromSeedCredentials credentials) async {
|
||||
Future<HavenWallet> restoreFromSeed(
|
||||
HavenRestoreWalletFromSeedCredentials credentials, {bool? isTestnet}) async {
|
||||
try {
|
||||
final path = await pathForWallet(name: credentials.name, type: getType());
|
||||
await haven_wallet_manager.restoreFromSeed(
|
||||
|
@ -210,14 +223,16 @@ class HavenWalletService extends WalletService<HavenNewWalletCredentials,
|
|||
return;
|
||||
}
|
||||
|
||||
final oldAndroidWalletDirPath = await outdatedAndroidPathForWalletDir(name: name);
|
||||
final oldAndroidWalletDirPath =
|
||||
await outdatedAndroidPathForWalletDir(name: name);
|
||||
final dir = Directory(oldAndroidWalletDirPath);
|
||||
|
||||
if (!dir.existsSync()) {
|
||||
return;
|
||||
}
|
||||
|
||||
final newWalletDirPath = await pathForWalletDir(name: name, type: getType());
|
||||
final newWalletDirPath =
|
||||
await pathForWalletDir(name: name, type: getType());
|
||||
|
||||
dir.listSync().forEach((f) {
|
||||
final file = File(f.path);
|
||||
|
|
|
@ -68,7 +68,7 @@ class MoneroWalletService extends WalletService<MoneroNewWalletCredentials,
|
|||
WalletType getType() => WalletType.monero;
|
||||
|
||||
@override
|
||||
Future<MoneroWallet> create(MoneroNewWalletCredentials credentials) async {
|
||||
Future<MoneroWallet> create(MoneroNewWalletCredentials credentials, {bool? isTestnet}) async {
|
||||
try {
|
||||
final path = await pathForWallet(name: credentials.name, type: getType());
|
||||
|
||||
|
@ -203,7 +203,8 @@ class MoneroWalletService extends WalletService<MoneroNewWalletCredentials,
|
|||
}
|
||||
|
||||
@override
|
||||
Future<MoneroWallet> restoreFromKeys(MoneroRestoreWalletFromKeysCredentials credentials) async {
|
||||
Future<MoneroWallet> restoreFromKeys(MoneroRestoreWalletFromKeysCredentials credentials,
|
||||
{bool? isTestnet}) async {
|
||||
try {
|
||||
final path = await pathForWallet(name: credentials.name, type: getType());
|
||||
await monero_wallet_manager.restoreFromKeys(
|
||||
|
@ -227,7 +228,8 @@ class MoneroWalletService extends WalletService<MoneroNewWalletCredentials,
|
|||
}
|
||||
|
||||
@override
|
||||
Future<MoneroWallet> restoreFromSeed(MoneroRestoreWalletFromSeedCredentials credentials) async {
|
||||
Future<MoneroWallet> restoreFromSeed(MoneroRestoreWalletFromSeedCredentials credentials,
|
||||
{bool? isTestnet}) async {
|
||||
// Restore from Polyseed
|
||||
if (Polyseed.isValidSeed(credentials.mnemonic)) {
|
||||
return restoreFromPolyseed(credentials);
|
||||
|
|
|
@ -26,7 +26,7 @@ class NanoWalletService extends WalletService<NanoNewWalletCredentials,
|
|||
WalletType getType() => WalletType.nano;
|
||||
|
||||
@override
|
||||
Future<WalletBase> create(NanoNewWalletCredentials credentials) async {
|
||||
Future<WalletBase> create(NanoNewWalletCredentials credentials, {bool? isTestnet}) async {
|
||||
// nano standard:
|
||||
DerivationType derivationType = DerivationType.nano;
|
||||
String seedKey = NanoSeeds.generateSeed();
|
||||
|
@ -79,7 +79,7 @@ class NanoWalletService extends WalletService<NanoNewWalletCredentials,
|
|||
}
|
||||
|
||||
@override
|
||||
Future<NanoWallet> restoreFromKeys(NanoRestoreWalletFromKeysCredentials credentials) async {
|
||||
Future<NanoWallet> restoreFromKeys(NanoRestoreWalletFromKeysCredentials credentials, {bool? isTestnet}) async {
|
||||
if (credentials.seedKey.contains(' ')) {
|
||||
throw Exception("Invalid key!");
|
||||
} else {
|
||||
|
@ -113,7 +113,7 @@ class NanoWalletService extends WalletService<NanoNewWalletCredentials,
|
|||
}
|
||||
|
||||
@override
|
||||
Future<NanoWallet> restoreFromSeed(NanoRestoreWalletFromSeedCredentials credentials) async {
|
||||
Future<NanoWallet> restoreFromSeed(NanoRestoreWalletFromSeedCredentials credentials, {bool? isTestnet}) async {
|
||||
if (credentials.mnemonic.contains(' ')) {
|
||||
if (!bip39.validateMnemonic(credentials.mnemonic)) {
|
||||
throw nm.NanoMnemonicIsIncorrectException();
|
||||
|
|
|
@ -19,7 +19,7 @@ class PolygonWalletService extends EVMChainWalletService<PolygonWallet> {
|
|||
WalletType getType() => WalletType.polygon;
|
||||
|
||||
@override
|
||||
Future<PolygonWallet> create(EVMChainNewWalletCredentials credentials) async {
|
||||
Future<PolygonWallet> create(EVMChainNewWalletCredentials credentials, {bool? isTestnet}) async {
|
||||
final strength = credentials.seedPhraseLength == 24 ? 256 : 128;
|
||||
|
||||
final mnemonic = bip39.generateMnemonic(strength: strength);
|
||||
|
@ -70,7 +70,8 @@ class PolygonWalletService extends EVMChainWalletService<PolygonWallet> {
|
|||
}
|
||||
|
||||
@override
|
||||
Future<PolygonWallet> restoreFromKeys(EVMChainRestoreWalletFromPrivateKey credentials) async {
|
||||
Future<PolygonWallet> restoreFromKeys(EVMChainRestoreWalletFromPrivateKey credentials,
|
||||
{bool? isTestnet}) async {
|
||||
final wallet = PolygonWallet(
|
||||
password: credentials.password!,
|
||||
privateKey: credentials.privateKey,
|
||||
|
@ -86,8 +87,8 @@ class PolygonWalletService extends EVMChainWalletService<PolygonWallet> {
|
|||
}
|
||||
|
||||
@override
|
||||
Future<PolygonWallet> restoreFromSeed(
|
||||
EVMChainRestoreWalletFromSeedCredentials credentials) async {
|
||||
Future<PolygonWallet> restoreFromSeed(EVMChainRestoreWalletFromSeedCredentials credentials,
|
||||
{bool? isTestnet}) async {
|
||||
if (!bip39.validateMnemonic(credentials.mnemonic)) {
|
||||
throw PolygonMnemonicIsIncorrectException();
|
||||
}
|
||||
|
|
|
@ -188,24 +188,4 @@ class CWBitcoin extends Bitcoin {
|
|||
|
||||
@override
|
||||
List<BitcoinReceivePageOption> getBitcoinReceivePageOptions() => BitcoinReceivePageOption.all;
|
||||
|
||||
@override
|
||||
Future<BitcoinWallet> create(WalletService service, WalletCredentials credentials,
|
||||
{bool? isTestnet}) =>
|
||||
(service as BitcoinWalletService)
|
||||
.create(credentials as BitcoinNewWalletCredentials, isTestnet: isTestnet);
|
||||
|
||||
@override
|
||||
Future<BitcoinWallet> restoreFromKeys(WalletService service, WalletCredentials credentials,
|
||||
{bool? isTestnet}) =>
|
||||
(service as BitcoinWalletService).restoreFromKeys(
|
||||
credentials as BitcoinRestoreWalletFromWIFCredentials,
|
||||
isTestnet: isTestnet);
|
||||
|
||||
@override
|
||||
Future<BitcoinWallet> restoreFromSeed(WalletService service, WalletCredentials credentials,
|
||||
{bool? isTestnet}) =>
|
||||
(service as BitcoinWalletService).restoreFromSeed(
|
||||
credentials as BitcoinRestoreWalletFromSeedCredentials,
|
||||
isTestnet: isTestnet);
|
||||
}
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
import 'package:cake_wallet/bitcoin/bitcoin.dart';
|
||||
import 'package:cake_wallet/di.dart';
|
||||
import 'package:cake_wallet/store/settings_store.dart';
|
||||
import 'package:cw_core/wallet_info.dart';
|
||||
|
@ -63,12 +62,7 @@ class WalletCreationService {
|
|||
credentials.seedPhraseLength = settingsStore.seedPhraseLength.value;
|
||||
}
|
||||
await keyService.saveWalletPassword(password: password, walletName: credentials.name);
|
||||
WalletBase? wallet;
|
||||
if (type == WalletType.bitcoin) {
|
||||
wallet = await bitcoin!.create(_service!, credentials, isTestnet: isTestnet);
|
||||
} else {
|
||||
wallet = await _service!.create(credentials);
|
||||
}
|
||||
final wallet = await _service!.create(credentials, isTestnet: isTestnet);
|
||||
|
||||
if (wallet.type == WalletType.monero) {
|
||||
await sharedPreferences.setBool(
|
||||
|
@ -83,12 +77,7 @@ class WalletCreationService {
|
|||
final password = generateWalletPassword();
|
||||
credentials.password = password;
|
||||
await keyService.saveWalletPassword(password: password, walletName: credentials.name);
|
||||
WalletBase? wallet;
|
||||
if (type == WalletType.bitcoin) {
|
||||
wallet = await bitcoin!.restoreFromKeys(_service!, credentials, isTestnet: isTestnet);
|
||||
} else {
|
||||
wallet = await _service!.restoreFromKeys(credentials);
|
||||
}
|
||||
final wallet = await _service!.restoreFromKeys(credentials, isTestnet: isTestnet);
|
||||
|
||||
if (wallet.type == WalletType.monero) {
|
||||
await sharedPreferences.setBool(
|
||||
|
@ -103,12 +92,7 @@ class WalletCreationService {
|
|||
final password = generateWalletPassword();
|
||||
credentials.password = password;
|
||||
await keyService.saveWalletPassword(password: password, walletName: credentials.name);
|
||||
WalletBase? wallet;
|
||||
if (type == WalletType.bitcoin) {
|
||||
wallet = await bitcoin!.restoreFromSeed(_service!, credentials, isTestnet: isTestnet);
|
||||
} else {
|
||||
wallet = await _service!.restoreFromSeed(credentials);
|
||||
}
|
||||
final wallet = await _service!.restoreFromSeed(credentials, isTestnet: isTestnet);
|
||||
|
||||
if (wallet.type == WalletType.monero) {
|
||||
await sharedPreferences.setBool(
|
||||
|
|
|
@ -72,14 +72,12 @@ import 'package:cw_bitcoin/electrum_wallet.dart';
|
|||
import 'package:cw_bitcoin/bitcoin_unspent.dart';
|
||||
import 'package:cw_bitcoin/bitcoin_mnemonic.dart';
|
||||
import 'package:cw_bitcoin/bitcoin_transaction_priority.dart';
|
||||
import 'package:cw_bitcoin/bitcoin_wallet.dart';
|
||||
import 'package:cw_bitcoin/bitcoin_wallet_service.dart';
|
||||
import 'package:cw_bitcoin/bitcoin_wallet_creation_credentials.dart';
|
||||
import 'package:cw_bitcoin/bitcoin_amount_format.dart';
|
||||
import 'package:cw_bitcoin/bitcoin_address_record.dart';
|
||||
import 'package:cw_bitcoin/bitcoin_transaction_credentials.dart';
|
||||
import 'package:cw_bitcoin/litecoin_wallet_service.dart';
|
||||
import 'package:cw_core/wallet_base.dart';
|
||||
import 'package:bitcoin_base/bitcoin_base.dart';
|
||||
import 'package:mobx/mobx.dart';
|
||||
""";
|
||||
|
@ -142,9 +140,6 @@ abstract class Bitcoin {
|
|||
Future<void> setAddressType(Object wallet, dynamic option);
|
||||
BitcoinReceivePageOption getSelectedAddressType(Object wallet);
|
||||
List<BitcoinReceivePageOption> getBitcoinReceivePageOptions();
|
||||
Future<BitcoinWallet> create(WalletService service, WalletCredentials credentials, {bool? isTestnet});
|
||||
Future<BitcoinWallet> restoreFromKeys(WalletService service, WalletCredentials credentials, {bool? isTestnet});
|
||||
Future<BitcoinWallet> restoreFromSeed(WalletService service, WalletCredentials credentials, {bool? isTestnet});
|
||||
}
|
||||
""";
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue