CAKE-20 | fixed address validators of the base exchange widget

Oleksandr Sobol committed Jul 31, 2020 at 21:47 UTC 861a2840ce4fdc031931392fd1b4075a4ce3d27f
3 files changed +11 -23
lib/src/screens/dashboard/dashboard_page.dart
+1 -3
@@ -20,9 +20,7 @@ class DashboardPage extends BasePage {
20 DashboardPage({
21 @required this.walletViewModel,
22 @required this.addressListViewModel,
23 - }) {
24 - walletViewModel.pageViewStore.setCurrentPage(1);
25 - }
23 + });
24
25 @override
26 Color get backgroundLightColor => PaletteDark.backgroundColor;
lib/src/screens/exchange/widgets/base_exchange_widget.dart
+10 -4
@@ -20,6 +20,8 @@ import 'package:cake_wallet/src/widgets/scollable_with_bottom_section.dart';
20 import 'package:cake_wallet/src/widgets/top_panel.dart';
21 import 'package:cake_wallet/src/widgets/alert_with_one_action.dart';
22 import 'package:cake_wallet/view_model/exchange/exchange_view_model.dart';
23 +import 'package:cake_wallet/core/address_validator.dart';
24 +import 'package:cake_wallet/core/amount_validator.dart';
25
26 class BaseExchangeWidget extends StatefulWidget {
27 BaseExchangeWidget({
@@ -112,8 +114,10 @@ class BaseExchangeWidgetState extends State<BaseExchangeWidget> {
114 imageArrow: arrowBottomPurple,
115 currencyButtonColor: PaletteDark.wildVioletBlue,
116 addressButtonsColor: PaletteDark.moderateBlue,
115 - currencyValueValidator: exchangeViewModel.amountValidator,
116 - addressTextFieldValidator: exchangeViewModel.addressValidator,
117 + currencyValueValidator: AmountValidator(
118 + type: exchangeViewModel.wallet.type),
119 + addressTextFieldValidator: AddressValidator(
120 + type: exchangeViewModel.depositCurrency),
121 ),
122 )
123 ),
@@ -138,8 +142,10 @@ class BaseExchangeWidgetState extends State<BaseExchangeWidget> {
142 imageArrow: arrowBottomCakeGreen,
143 currencyButtonColor: PaletteDark.darkNightBlue,
144 addressButtonsColor: PaletteDark.moderateBlue,
141 - currencyValueValidator: exchangeViewModel.amountValidator,
142 - addressTextFieldValidator: exchangeViewModel.addressValidator,
145 + currencyValueValidator: AmountValidator(
146 + type: exchangeViewModel.wallet.type),
147 + addressTextFieldValidator: AddressValidator(
148 + type: exchangeViewModel.receiveCurrency),
149 )),
150 )
151 ],
lib/view_model/exchange/exchange_view_model.dart
-16
@@ -1,7 +1,3 @@
1 -import 'package:cake_wallet/core/address_validator.dart';
2 -import 'package:cake_wallet/core/amount_validator.dart';
3 -import 'package:cake_wallet/core/template_validator.dart';
4 -import 'package:cake_wallet/core/validator.dart';
1 import 'package:cake_wallet/core/wallet_base.dart';
2 import 'package:cake_wallet/src/domain/common/crypto_currency.dart';
3 import 'package:cake_wallet/src/domain/exchange/exchange_provider.dart';
@@ -91,22 +87,10 @@ abstract class ExchangeViewModelBase with Store {
87 @observable
88 bool isReceiveAddressEnabled;
89
94 - @observable
95 - bool isValid;
96 -
97 - @observable
98 - String errorMessage;
99 -
90 Limits limits;
91
92 NumberFormat _cryptoNumberFormat;
93
104 - Validator get amountValidator => AmountValidator(type: wallet.type);
105 -
106 - Validator get addressValidator => AddressValidator(type: wallet.currency);
107 -
108 - Validator get templateValidator => TemplateValidator();
109 -
94 @computed
95 ObservableList<ExchangeTemplate> get templates =>
96 exchangeTemplateStore.templates;