mirror of
https://github.com/cake-tech/cake_wallet.git
synced 2024-12-22 19:49:22 +00:00
fixes post merge
This commit is contained in:
parent
c31cb25ec0
commit
c4c26c3a48
6 changed files with 76 additions and 31 deletions
|
@ -38,7 +38,6 @@ import 'package:cake_wallet/src/screens/restore/wallet_restore_choose_derivation
|
||||||
import 'package:cake_wallet/src/screens/settings/display_settings_page.dart';
|
import 'package:cake_wallet/src/screens/settings/display_settings_page.dart';
|
||||||
import 'package:cake_wallet/src/screens/settings/domain_lookups_page.dart';
|
import 'package:cake_wallet/src/screens/settings/domain_lookups_page.dart';
|
||||||
import 'package:cake_wallet/src/screens/settings/manage_nodes_page.dart';
|
import 'package:cake_wallet/src/screens/settings/manage_nodes_page.dart';
|
||||||
import 'package:cake_wallet/src/screens/settings/manage_pow_nodes_page.dart';
|
|
||||||
import 'package:cake_wallet/src/screens/settings/other_settings_page.dart';
|
import 'package:cake_wallet/src/screens/settings/other_settings_page.dart';
|
||||||
import 'package:cake_wallet/src/screens/settings/privacy_page.dart';
|
import 'package:cake_wallet/src/screens/settings/privacy_page.dart';
|
||||||
import 'package:cake_wallet/src/screens/settings/security_backup_page.dart';
|
import 'package:cake_wallet/src/screens/settings/security_backup_page.dart';
|
||||||
|
@ -87,6 +86,7 @@ import 'package:cake_wallet/view_model/ionia/ionia_gift_cards_list_view_model.da
|
||||||
import 'package:cake_wallet/view_model/ionia/ionia_purchase_merch_view_model.dart';
|
import 'package:cake_wallet/view_model/ionia/ionia_purchase_merch_view_model.dart';
|
||||||
import 'package:cake_wallet/view_model/nano_account_list/nano_account_edit_or_create_view_model.dart';
|
import 'package:cake_wallet/view_model/nano_account_list/nano_account_edit_or_create_view_model.dart';
|
||||||
import 'package:cake_wallet/view_model/nano_account_list/nano_account_list_view_model.dart';
|
import 'package:cake_wallet/view_model/nano_account_list/nano_account_list_view_model.dart';
|
||||||
|
import 'package:cake_wallet/view_model/node_list/pow_node_create_or_edit_view_model.dart';
|
||||||
import 'package:cake_wallet/view_model/node_list/pow_node_list_view_model.dart';
|
import 'package:cake_wallet/view_model/node_list/pow_node_list_view_model.dart';
|
||||||
import 'package:cake_wallet/view_model/set_up_2fa_viewmodel.dart';
|
import 'package:cake_wallet/view_model/set_up_2fa_viewmodel.dart';
|
||||||
import 'package:cake_wallet/view_model/restore/restore_from_qr_vm.dart';
|
import 'package:cake_wallet/view_model/restore/restore_from_qr_vm.dart';
|
||||||
|
|
|
@ -1,23 +1,38 @@
|
||||||
|
import 'package:cw_core/cake_hive.dart';
|
||||||
import 'package:cw_core/nano_account.dart';
|
import 'package:cw_core/nano_account.dart';
|
||||||
import 'package:cw_nano/nano_mnemonic.dart';
|
|
||||||
import 'package:cw_nano/nano_wallet.dart';
|
|
||||||
import 'package:cw_nano/nano_wallet_service.dart';
|
|
||||||
import 'package:cake_wallet/view_model/send/output.dart';
|
|
||||||
import 'package:cw_core/account.dart';
|
import 'package:cw_core/account.dart';
|
||||||
import 'package:mobx/mobx.dart';
|
import 'package:cw_core/node.dart';
|
||||||
import 'package:cw_core/wallet_credentials.dart';
|
import 'package:cw_core/wallet_credentials.dart';
|
||||||
import 'package:cw_core/wallet_info.dart';
|
import 'package:cw_core/wallet_info.dart';
|
||||||
|
import 'package:cw_core/transaction_info.dart';
|
||||||
import 'package:cw_core/transaction_history.dart';
|
import 'package:cw_core/transaction_history.dart';
|
||||||
import 'package:cw_core/wallet_service.dart';
|
import 'package:cw_core/wallet_service.dart';
|
||||||
import 'package:cw_core/output_info.dart';
|
import 'package:cw_core/output_info.dart';
|
||||||
|
import 'package:cw_core/nano_account_info_response.dart';
|
||||||
|
import 'package:mobx/mobx.dart';
|
||||||
import 'package:hive/hive.dart';
|
import 'package:hive/hive.dart';
|
||||||
|
import 'package:cake_wallet/view_model/send/output.dart';
|
||||||
|
|
||||||
|
import 'package:cw_nano/nano_client.dart';
|
||||||
|
import 'package:cw_nano/nano_mnemonic.dart';
|
||||||
|
import 'package:cw_nano/nano_wallet.dart';
|
||||||
|
import 'package:cw_nano/nano_wallet_service.dart';
|
||||||
|
import 'package:cw_nano/nano_transaction_info.dart';
|
||||||
import 'package:cw_nano/nano_transaction_credentials.dart';
|
import 'package:cw_nano/nano_transaction_credentials.dart';
|
||||||
import 'package:cw_nano/nano_wallet_creation_credentials.dart';
|
import 'package:cw_nano/nano_wallet_creation_credentials.dart';
|
||||||
|
// needed for nano_util:
|
||||||
|
import 'dart:convert';
|
||||||
|
import 'dart:typed_data';
|
||||||
|
import 'package:convert/convert.dart';
|
||||||
|
import "package:ed25519_hd_key/ed25519_hd_key.dart";
|
||||||
|
import 'package:libcrypto/libcrypto.dart';
|
||||||
|
import 'package:nanodart/nanodart.dart' as ND;
|
||||||
|
import 'package:decimal/decimal.dart';
|
||||||
|
|
||||||
part 'cw_nano.dart';
|
part 'cw_nano.dart';
|
||||||
|
|
||||||
Nano? nano = CWNano();
|
Nano? nano = CWNano();
|
||||||
|
NanoUtil? nanoUtil = CWNanoUtil();
|
||||||
|
|
||||||
abstract class Nano {
|
abstract class Nano {
|
||||||
NanoAccountList getAccountList(Object wallet);
|
NanoAccountList getAccountList(Object wallet);
|
||||||
|
@ -28,8 +43,6 @@ abstract class Nano {
|
||||||
|
|
||||||
WalletService createNanoWalletService(Box<WalletInfo> walletInfoSource);
|
WalletService createNanoWalletService(Box<WalletInfo> walletInfoSource);
|
||||||
|
|
||||||
TransactionHistoryBase getTransactionHistory(Object wallet);
|
|
||||||
|
|
||||||
WalletCredentials createNanoNewWalletCredentials({
|
WalletCredentials createNanoNewWalletCredentials({
|
||||||
required String name,
|
required String name,
|
||||||
String password,
|
String password,
|
||||||
|
@ -49,13 +62,13 @@ abstract class Nano {
|
||||||
DerivationType? derivationType,
|
DerivationType? derivationType,
|
||||||
});
|
});
|
||||||
|
|
||||||
String getTransactionAddress(Object wallet, int accountIndex, int addressIndex);
|
|
||||||
|
|
||||||
void onStartup();
|
|
||||||
|
|
||||||
List<String> getNanoWordList(String language);
|
List<String> getNanoWordList(String language);
|
||||||
Map<String, String> getKeys(Object wallet);
|
Map<String, String> getKeys(Object wallet);
|
||||||
Object createNanoTransactionCredentials(List<Output> outputs);
|
Object createNanoTransactionCredentials(List<Output> outputs);
|
||||||
|
Future<void> changeRep(Object wallet, String address);
|
||||||
|
Future<void> updateTransactions(Object wallet);
|
||||||
|
BigInt getTransactionAmountRaw(TransactionInfo transactionInfo);
|
||||||
|
String getRepresentative(Object wallet);
|
||||||
}
|
}
|
||||||
|
|
||||||
abstract class NanoAccountList {
|
abstract class NanoAccountList {
|
||||||
|
@ -67,3 +80,44 @@ abstract class NanoAccountList {
|
||||||
Future<void> setLabelAccount(Object wallet, {required int accountIndex, required String label});
|
Future<void> setLabelAccount(Object wallet, {required int accountIndex, required String label});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
abstract class NanoUtil {
|
||||||
|
String seedToPrivate(String seed, int index);
|
||||||
|
String seedToAddress(String seed, int index);
|
||||||
|
String seedToMnemonic(String seed);
|
||||||
|
Future<String> mnemonicToSeed(String mnemonic);
|
||||||
|
String privateKeyToPublic(String privateKey);
|
||||||
|
String addressToPublicKey(String publicAddress);
|
||||||
|
String privateKeyToAddress(String privateKey);
|
||||||
|
String publicKeyToAddress(String publicKey);
|
||||||
|
bool isValidSeed(String seed);
|
||||||
|
Future<String> hdMnemonicListToSeed(List<String> words);
|
||||||
|
Future<String> hdSeedToPrivate(String seed, int index);
|
||||||
|
Future<String> hdSeedToAddress(String seed, int index);
|
||||||
|
Future<String> uniSeedToAddress(String seed, int index, String type);
|
||||||
|
Future<String> uniSeedToPrivate(String seed, int index, String type);
|
||||||
|
bool isValidBip39Seed(String seed);
|
||||||
|
static const int maxDecimalDigits = 6; // Max digits after decimal
|
||||||
|
BigInt rawPerNano = BigInt.parse("1000000000000000000000000000000");
|
||||||
|
BigInt rawPerNyano = BigInt.parse("1000000000000000000000000");
|
||||||
|
BigInt rawPerBanano = BigInt.parse("100000000000000000000000000000");
|
||||||
|
BigInt rawPerXMR = BigInt.parse("1000000000000");
|
||||||
|
BigInt convertXMRtoNano = BigInt.parse("1000000000000000000");
|
||||||
|
String getRawAsDecimalString(String? raw, BigInt? rawPerCur);
|
||||||
|
String getRawAsUsableString(String? raw, BigInt rawPerCur);
|
||||||
|
String getRawAccuracy(String? raw, BigInt rawPerCur);
|
||||||
|
String getAmountAsRaw(String amount, BigInt rawPerCur);
|
||||||
|
|
||||||
|
// derivationInfo:
|
||||||
|
Future<AccountInfoResponse?> getInfoFromSeedOrMnemonic(
|
||||||
|
DerivationType derivationType, {
|
||||||
|
String? seedKey,
|
||||||
|
String? mnemonic,
|
||||||
|
required Node node,
|
||||||
|
});
|
||||||
|
Future<List<DerivationType>> compareDerivationMethods({
|
||||||
|
String? mnemonic,
|
||||||
|
String? privateKey,
|
||||||
|
required Node node,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
|
@ -193,7 +193,10 @@ class _DashboardPageView extends BasePage {
|
||||||
radius: 6.0,
|
radius: 6.0,
|
||||||
dotWidth: 6.0,
|
dotWidth: 6.0,
|
||||||
dotHeight: 6.0,
|
dotHeight: 6.0,
|
||||||
dotColor: Theme.of(context).indicatorColor,
|
dotColor: Theme.of(context)
|
||||||
|
.extension<DashboardPageTheme>()!
|
||||||
|
.indicatorDotTheme
|
||||||
|
.indicatorColor,
|
||||||
activeDotColor: Theme.of(context)
|
activeDotColor: Theme.of(context)
|
||||||
.extension<DashboardPageTheme>()!
|
.extension<DashboardPageTheme>()!
|
||||||
.indicatorDotTheme
|
.indicatorDotTheme
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
import 'package:cake_wallet/di.dart';
|
import 'package:cake_wallet/di.dart';
|
||||||
|
import 'package:cake_wallet/nano/nano.dart';
|
||||||
import 'package:cake_wallet/routes.dart';
|
import 'package:cake_wallet/routes.dart';
|
||||||
import 'package:cake_wallet/store/app_store.dart';
|
import 'package:cake_wallet/store/app_store.dart';
|
||||||
import 'package:cake_wallet/themes/extensions/keyboard_theme.dart';
|
import 'package:cake_wallet/themes/extensions/keyboard_theme.dart';
|
||||||
import 'package:cake_wallet/src/widgets/keyboard_done_button.dart';
|
import 'package:cake_wallet/src/widgets/keyboard_done_button.dart';
|
||||||
import 'package:cake_wallet/utils/responsive_layout_util.dart';
|
import 'package:cake_wallet/utils/responsive_layout_util.dart';
|
||||||
|
import 'package:cw_core/nano_account_info_response.dart';
|
||||||
import 'package:cw_core/wallet_info.dart';
|
import 'package:cw_core/wallet_info.dart';
|
||||||
import 'package:cw_core/wallet_type.dart';
|
import 'package:cw_core/wallet_type.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
|
@ -250,18 +250,4 @@ abstract class TransactionDetailsViewModelBase with Store {
|
||||||
|
|
||||||
items.addAll(_items);
|
items.addAll(_items);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void _addNanoListItems(TransactionInfo tx, DateFormat dateFormat) {
|
|
||||||
final _items = [
|
|
||||||
StandartListItem(title: S.current.transaction_details_transaction_id, value: tx.id),
|
|
||||||
StandartListItem(
|
|
||||||
title: S.current.transaction_details_date, value: dateFormat.format(tx.date)),
|
|
||||||
// StandartListItem(title: S.current.confirmed, value: (tx.confirmations > 0).toString()),
|
|
||||||
StandartListItem(title: S.current.transaction_details_height, value: '${tx.height}'),
|
|
||||||
StandartListItem(title: S.current.transaction_details_amount, value: tx.amountFormatted()),
|
|
||||||
];
|
|
||||||
|
|
||||||
items.addAll(_items);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -180,9 +180,9 @@ abstract class WalletRestoreViewModelBase extends WalletCreationVM with Store {
|
||||||
// return bitcoin!.createBitcoinRestoreWalletFromSeedCredentials(
|
// return bitcoin!.createBitcoinRestoreWalletFromSeedCredentials(
|
||||||
// name: name, mnemonic: seed, password: password);
|
// name: name, mnemonic: seed, password: password);
|
||||||
case WalletType.nano:
|
case WalletType.nano:
|
||||||
return await nanoUtil.compareDerivationMethods(
|
return await nanoUtil!.compareDerivationMethods(
|
||||||
mnemonic: mnemonic,
|
mnemonic: mnemonic,
|
||||||
seedKey: seedKey,
|
privateKey: seedKey,
|
||||||
node: node,
|
node: node,
|
||||||
);
|
);
|
||||||
default:
|
default:
|
||||||
|
|
Loading…
Reference in a new issue