mirror of
https://github.com/Such-Software/hash-wallet.git
synced 2026-10-26 06:08:40 +01:00
zec ironwood (#3425)
* initial * wip * ironwood detection, migration * dev: zec address validation on rt * fix: ironwood spend * ironwood regressions * fix: tx history * bump: zkool2 * fix: tx amounts on pending fix: ironwood pending balance fix: orchard->ironwood migration fix: orchard->any pre ironwood txs fix: ironwood -> any txs fix: WrongSpendAuthorizingKey fix: tx history fix: autoshield to ironwood fix: zkool to latest version break: my sleep schedule :sweating: :worksonmymachine: * thx fable * downgrade frb to 2.11.1 * fix: tx amounts in history * Migating... / migration label for O->I txs
This commit is contained in:
@@ -14,11 +14,13 @@ import 'package:cake_wallet/src/widgets/base_text_form_field.dart';
|
||||
import 'package:cake_wallet/src/widgets/primary_button.dart';
|
||||
import 'package:cake_wallet/src/widgets/scrollable_with_bottom_section.dart';
|
||||
import 'package:cake_wallet/utils/show_pop_up.dart';
|
||||
import 'package:cake_wallet/utils/feature_flag.dart';
|
||||
import 'package:cake_wallet/view_model/advanced_privacy_settings_view_model.dart';
|
||||
import 'package:cake_wallet/view_model/node_list/node_create_or_edit_view_model.dart';
|
||||
import 'package:cake_wallet/view_model/seed_settings_view_model.dart';
|
||||
import 'package:cake_wallet/view_model/settings/choices_list_item.dart';
|
||||
import 'package:cw_core/wallet_type.dart';
|
||||
import 'package:cake_wallet/zcash/zcash_network_type.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_mobx/flutter_mobx.dart';
|
||||
|
||||
@@ -28,6 +30,8 @@ class AdvancedPrivacySettingsPage extends BasePage {
|
||||
required this.isChildWallet,
|
||||
required this.useTestnet,
|
||||
required this.toggleUseTestnet,
|
||||
required this.zcashNetwork,
|
||||
required this.setZcashNetwork,
|
||||
required this.advancedPrivacySettingsViewModel,
|
||||
required this.nodeViewModel,
|
||||
required this.seedSettingsViewModel,
|
||||
@@ -44,6 +48,8 @@ class AdvancedPrivacySettingsPage extends BasePage {
|
||||
final bool isChildWallet;
|
||||
final bool useTestnet;
|
||||
final Function(bool? val) toggleUseTestnet;
|
||||
final int zcashNetwork;
|
||||
final void Function(int network) setZcashNetwork;
|
||||
|
||||
@override
|
||||
Widget body(BuildContext context) => _AdvancedPrivacySettingsBody(
|
||||
@@ -51,6 +57,8 @@ class AdvancedPrivacySettingsPage extends BasePage {
|
||||
isChildWallet,
|
||||
useTestnet,
|
||||
toggleUseTestnet,
|
||||
zcashNetwork,
|
||||
setZcashNetwork,
|
||||
advancedPrivacySettingsViewModel,
|
||||
nodeViewModel,
|
||||
seedSettingsViewModel,
|
||||
@@ -63,6 +71,8 @@ class _AdvancedPrivacySettingsBody extends StatefulWidget {
|
||||
this.isChildWallet,
|
||||
this.useTestnet,
|
||||
this.toggleUseTestnet,
|
||||
this.zcashNetwork,
|
||||
this.setZcashNetwork,
|
||||
this.privacySettingsViewModel,
|
||||
this.nodeViewModel,
|
||||
this.seedTypeViewModel,
|
||||
@@ -76,6 +86,8 @@ class _AdvancedPrivacySettingsBody extends StatefulWidget {
|
||||
final bool isChildWallet;
|
||||
final bool useTestnet;
|
||||
final Function(bool? val) toggleUseTestnet;
|
||||
final int zcashNetwork;
|
||||
final void Function(int network) setZcashNetwork;
|
||||
|
||||
@override
|
||||
_AdvancedPrivacySettingsBodyState createState() => _AdvancedPrivacySettingsBodyState();
|
||||
@@ -87,6 +99,7 @@ class _AdvancedPrivacySettingsBodyState extends State<_AdvancedPrivacySettingsBo
|
||||
final _formKey = GlobalKey<NodeFormState>();
|
||||
final _passphraseFormKey = GlobalKey<FormState>();
|
||||
bool? testnetValue;
|
||||
int? zcashNetworkValue;
|
||||
|
||||
bool obscurePassphrase = true;
|
||||
|
||||
@@ -112,6 +125,7 @@ class _AdvancedPrivacySettingsBodyState extends State<_AdvancedPrivacySettingsBo
|
||||
if (testnetValue == null && widget.useTestnet) {
|
||||
testnetValue = widget.useTestnet;
|
||||
}
|
||||
zcashNetworkValue ??= widget.zcashNetwork;
|
||||
|
||||
return Container(
|
||||
padding: EdgeInsets.only(top: 24),
|
||||
@@ -281,6 +295,20 @@ class _AdvancedPrivacySettingsBodyState extends State<_AdvancedPrivacySettingsBo
|
||||
],
|
||||
);
|
||||
}),
|
||||
if (FeatureFlag.hasDevOptions &&
|
||||
widget.privacySettingsViewModel.type == WalletType.zcash)
|
||||
SettingsChoicesCell(
|
||||
ChoicesListItem<int>(
|
||||
title: 'Zcash network',
|
||||
items: ZcashNetworkType.values,
|
||||
selectedItem: zcashNetworkValue ?? ZcashNetworkType.mainnet,
|
||||
displayItem: ZcashNetworkType.label,
|
||||
onItemSelected: (final network) {
|
||||
setState(() => zcashNetworkValue = network);
|
||||
widget.setZcashNetwork(network);
|
||||
},
|
||||
),
|
||||
),
|
||||
if (widget.privacySettingsViewModel.type == WalletType.bitcoin ||
|
||||
widget.privacySettingsViewModel.type == WalletType.decred)
|
||||
Builder(builder: (_) {
|
||||
|
||||
@@ -316,6 +316,8 @@ class _WalletNameFormState extends State<WalletNameForm> {
|
||||
"type": _walletNewVM.type,
|
||||
"useTestnet": _walletNewVM.useTestnet,
|
||||
"toggleTestnet": _walletNewVM.toggleUseTestnet,
|
||||
"zcashNetwork": _walletNewVM.zcashNetwork,
|
||||
"setZcashNetwork": _walletNewVM.setZcashNetwork,
|
||||
"isChildWallet": widget.isChildWallet,
|
||||
});
|
||||
},
|
||||
|
||||
@@ -121,7 +121,9 @@ class WalletRestorePage extends BasePage {
|
||||
'isFromRestore': true,
|
||||
'type': walletRestoreViewModel.type,
|
||||
'useTestnet': walletRestoreViewModel.useTestnet,
|
||||
'toggleTestnet': walletRestoreViewModel.toggleUseTestnet
|
||||
'toggleTestnet': walletRestoreViewModel.toggleUseTestnet,
|
||||
'zcashNetwork': walletRestoreViewModel.zcashNetwork,
|
||||
'setZcashNetwork': walletRestoreViewModel.setZcashNetwork,
|
||||
},
|
||||
);
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user