mirror of
https://github.com/cake-tech/cake_wallet.git
synced 2025-01-11 05:14:46 +00:00
move wallet restore page proxy code to the view model
This commit is contained in:
parent
54e8c0c192
commit
db83cb625f
2 changed files with 51 additions and 51 deletions
|
@ -300,56 +300,6 @@ class WalletRestorePage extends BasePage {
|
||||||
return credentials;
|
return credentials;
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<List<DerivationInfo>> getDerivationInfo(dynamic credentials) async {
|
|
||||||
var list = <DerivationInfo>[];
|
|
||||||
var walletType = credentials["walletType"] as WalletType;
|
|
||||||
var appStore = getIt.get<AppStore>();
|
|
||||||
var node = appStore.settingsStore.getCurrentNode(walletType);
|
|
||||||
|
|
||||||
switch (walletType) {
|
|
||||||
case WalletType.bitcoin:
|
|
||||||
String? mnemonic = credentials['seed'] as String?;
|
|
||||||
return bitcoin!.getDerivationsFromMnemonic(
|
|
||||||
mnemonic: mnemonic!, node: node);
|
|
||||||
case WalletType.nano:
|
|
||||||
String? mnemonic = credentials['seed'] as String?;
|
|
||||||
String? seedKey = credentials['private_key'] as String?;
|
|
||||||
AccountInfoResponse? bip39Info = await nanoUtil!.getInfoFromSeedOrMnemonic(
|
|
||||||
DerivationType.bip39,
|
|
||||||
mnemonic: mnemonic,
|
|
||||||
seedKey: seedKey,
|
|
||||||
node: node);
|
|
||||||
AccountInfoResponse? standardInfo = await nanoUtil!.getInfoFromSeedOrMnemonic(
|
|
||||||
DerivationType.nano,
|
|
||||||
mnemonic: mnemonic,
|
|
||||||
seedKey: seedKey,
|
|
||||||
node: node,
|
|
||||||
);
|
|
||||||
|
|
||||||
if (standardInfo?.balance != null) {
|
|
||||||
list.add(DerivationInfo(
|
|
||||||
derivationType: DerivationType.nano,
|
|
||||||
balance: nanoUtil!.getRawAsUsableString(standardInfo!.balance, nanoUtil!.rawPerNano),
|
|
||||||
address: standardInfo.address!,
|
|
||||||
height: standardInfo.confirmationHeight,
|
|
||||||
));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (bip39Info?.balance != null) {
|
|
||||||
list.add(DerivationInfo(
|
|
||||||
derivationType: DerivationType.bip39,
|
|
||||||
balance: nanoUtil!.getRawAsUsableString(bip39Info!.balance, nanoUtil!.rawPerNano),
|
|
||||||
address: bip39Info.address!,
|
|
||||||
height: bip39Info.confirmationHeight,
|
|
||||||
));
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return list;
|
|
||||||
}
|
|
||||||
|
|
||||||
Future<void> _confirmForm(BuildContext context) async {
|
Future<void> _confirmForm(BuildContext context) async {
|
||||||
// Dismissing all visible keyboard to provide context for navigation
|
// Dismissing all visible keyboard to provide context for navigation
|
||||||
FocusManager.instance.primaryFocus?.unfocus();
|
FocusManager.instance.primaryFocus?.unfocus();
|
||||||
|
@ -383,7 +333,7 @@ class WalletRestorePage extends BasePage {
|
||||||
|
|
||||||
if (derivationTypes[0] == DerivationType.unknown || derivationTypes.length > 1) {
|
if (derivationTypes[0] == DerivationType.unknown || derivationTypes.length > 1) {
|
||||||
// push screen to choose the derivation type:
|
// push screen to choose the derivation type:
|
||||||
List<DerivationInfo> derivations = await getDerivationInfo(_credentials());
|
List<DerivationInfo> derivations = await walletRestoreViewModel.getDerivationInfo(_credentials());
|
||||||
|
|
||||||
int derivationsWithHistory = 0;
|
int derivationsWithHistory = 0;
|
||||||
int derivationWithHistoryIndex = 0;
|
int derivationWithHistoryIndex = 0;
|
||||||
|
|
|
@ -2,6 +2,7 @@ import 'package:cake_wallet/bitcoin/bitcoin.dart';
|
||||||
import 'package:cake_wallet/di.dart';
|
import 'package:cake_wallet/di.dart';
|
||||||
import 'package:cake_wallet/nano/nano.dart';
|
import 'package:cake_wallet/nano/nano.dart';
|
||||||
import 'package:cake_wallet/ethereum/ethereum.dart';
|
import 'package:cake_wallet/ethereum/ethereum.dart';
|
||||||
|
import 'package:cw_core/nano_account_info_response.dart';
|
||||||
import 'package:hive/hive.dart';
|
import 'package:hive/hive.dart';
|
||||||
import 'package:mobx/mobx.dart';
|
import 'package:mobx/mobx.dart';
|
||||||
import 'package:cake_wallet/store/app_store.dart';
|
import 'package:cake_wallet/store/app_store.dart';
|
||||||
|
@ -157,6 +158,55 @@ abstract class WalletRestoreViewModelBase extends WalletCreationVM with Store {
|
||||||
throw Exception('Unexpected type: ${type.toString()}');
|
throw Exception('Unexpected type: ${type.toString()}');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Future<List<DerivationInfo>> getDerivationInfo(dynamic credentials) async {
|
||||||
|
var list = <DerivationInfo>[];
|
||||||
|
var walletType = credentials["walletType"] as WalletType;
|
||||||
|
var appStore = getIt.get<AppStore>();
|
||||||
|
var node = appStore.settingsStore.getCurrentNode(walletType);
|
||||||
|
|
||||||
|
switch (walletType) {
|
||||||
|
case WalletType.bitcoin:
|
||||||
|
String? mnemonic = credentials['seed'] as String?;
|
||||||
|
return bitcoin!.getDerivationsFromMnemonic(mnemonic: mnemonic!, node: node);
|
||||||
|
case WalletType.nano:
|
||||||
|
String? mnemonic = credentials['seed'] as String?;
|
||||||
|
String? seedKey = credentials['private_key'] as String?;
|
||||||
|
AccountInfoResponse? bip39Info = await nanoUtil!.getInfoFromSeedOrMnemonic(
|
||||||
|
DerivationType.bip39,
|
||||||
|
mnemonic: mnemonic,
|
||||||
|
seedKey: seedKey,
|
||||||
|
node: node);
|
||||||
|
AccountInfoResponse? standardInfo = await nanoUtil!.getInfoFromSeedOrMnemonic(
|
||||||
|
DerivationType.nano,
|
||||||
|
mnemonic: mnemonic,
|
||||||
|
seedKey: seedKey,
|
||||||
|
node: node,
|
||||||
|
);
|
||||||
|
|
||||||
|
if (standardInfo?.balance != null) {
|
||||||
|
list.add(DerivationInfo(
|
||||||
|
derivationType: DerivationType.nano,
|
||||||
|
balance: nanoUtil!.getRawAsUsableString(standardInfo!.balance, nanoUtil!.rawPerNano),
|
||||||
|
address: standardInfo.address!,
|
||||||
|
height: standardInfo.confirmationHeight,
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (bip39Info?.balance != null) {
|
||||||
|
list.add(DerivationInfo(
|
||||||
|
derivationType: DerivationType.bip39,
|
||||||
|
balance: nanoUtil!.getRawAsUsableString(bip39Info!.balance, nanoUtil!.rawPerNano),
|
||||||
|
address: bip39Info.address!,
|
||||||
|
height: bip39Info.confirmationHeight,
|
||||||
|
));
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
Future<List<DerivationType>> getDerivationTypes(dynamic options) async {
|
Future<List<DerivationType>> getDerivationTypes(dynamic options) async {
|
||||||
final seedKey = options['private_key'] as String?;
|
final seedKey = options['private_key'] as String?;
|
||||||
final mnemonic = options['seed'] as String?;
|
final mnemonic = options['seed'] as String?;
|
||||||
|
|
Loading…
Reference in a new issue