CWA-155 | added btc validation, that include Bech32 address format
Oleksandr Sobol committed
Jan 10, 2020 at 13:49 UTC
e42a01fcb49d384de20a92e5e64851f5c540a006
6 files changed
+31
-26
.gitignore
+2
@@ -88,3 +88,5 @@ android/key.properties
88
89
**/tool/.secrets-prod.json
90
**/lib/.secrets.g.dart
91
+
92
+**/lib/generated/i18n.dart
\ No newline at end of file
lib/generated/i18n.dart
+21
-18
@@ -44,7 +44,6 @@ class S implements WidgetsLocalizations {
44
String get change_language => "Change language";
45
String get clear => "Clear";
46
String get confirm => "Confirm";
47
- String get send_xmr => "Send XMR";
47
String get confirm_sending => "Confirm sending";
48
String get contact => "Contact";
49
String get contact_name => "Contact Name";
@@ -155,6 +154,7 @@ class S implements WidgetsLocalizations {
154
String get send_monero_address => "Monero address";
155
String get send_payment_id => "Payment ID (optional)";
156
String get send_title => "Send Monero";
157
+ String get send_xmr => "Send XMR";
158
String get send_your_wallet => "Your wallet";
159
String get sending => "Sending";
160
String get sent => "Sent";
@@ -400,7 +400,6 @@ class $de extends S {
400
String get trade_details_pair => "Paar";
401
@override
402
String get confirm => "Bestätigen";
403
- String get send_xmr => "Senden XMR";
403
@override
404
String get settings_display_balance_as => "Kontostand anzeigen als";
405
@override
@@ -450,6 +449,8 @@ class $de extends S {
449
@override
450
String get xmr_hidden => "XMR versteckt";
451
@override
452
+ String get send_xmr => "Senden XMR";
453
+ @override
454
String get exchange => "Austausch";
455
@override
456
String get sync_status_failed_connect => "Verbindung zum Knoten fehlgeschlagen";
@@ -937,7 +938,6 @@ class $hi extends S {
938
String get trade_details_pair => "जोड़ा";
939
@override
940
String get confirm => "की पुष्टि करें";
940
- String get send_xmr => "संदेश XMR";
941
@override
942
String get settings_display_balance_as => "के रूप में संतुलन प्रदर्शित करें";
943
@override
@@ -987,6 +987,8 @@ class $hi extends S {
987
@override
988
String get xmr_hidden => "XMR छिपा हुआ";
989
@override
990
+ String get send_xmr => "संदेश XMR";
991
+ @override
992
String get exchange => "अदला बदली";
993
@override
994
String get sync_status_failed_connect => "फेल हुआ कनेक्ट नोड";
@@ -1474,7 +1476,6 @@ class $ru extends S {
1476
String get trade_details_pair => "Пара";
1477
@override
1478
String get confirm => "Подтвердить";
1477
- String get send_xmr => "Отправить XMR";
1479
@override
1480
String get settings_display_balance_as => "Отображать баланс";
1481
@override
@@ -1524,6 +1525,8 @@ class $ru extends S {
1525
@override
1526
String get xmr_hidden => "XMR Скрытый";
1527
@override
1528
+ String get send_xmr => "Отправить XMR";
1529
+ @override
1530
String get exchange => "Обмен";
1531
@override
1532
String get sync_status_failed_connect => "ОШИБКА ПОДКЛЮЧЕНИЯ К НОДЕ";
@@ -2012,8 +2015,6 @@ class $ko extends S {
2015
@override
2016
String get confirm => "확인";
2017
@override
2015
- String get send_xmr => "보내다 XMR";
2016
- @override
2018
String get settings_display_balance_as => "잔액 표시";
2019
@override
2020
String get trade_details_provider => "공급자";
@@ -2062,6 +2063,8 @@ class $ko extends S {
2063
@override
2064
String get xmr_hidden => "XMR 숨김";
2065
@override
2066
+ String get send_xmr => "보내다 XMR";
2067
+ @override
2068
String get exchange => "교환";
2069
@override
2070
String get sync_status_failed_connect => "노드에 연결하지 못했습니다";
@@ -2550,8 +2553,6 @@ class $pt extends S {
2553
@override
2554
String get confirm => "Confirme";
2555
@override
2553
- String get send_xmr => "Mandar XMR";
2554
- @override
2556
String get settings_display_balance_as => "Exibir saldo como";
2557
@override
2558
String get trade_details_provider => "Fornecedor";
@@ -2600,6 +2601,8 @@ class $pt extends S {
2601
@override
2602
String get xmr_hidden => "XMR Oculto";
2603
@override
2604
+ String get send_xmr => "Mandar XMR";
2605
+ @override
2606
String get exchange => "Troca";
2607
@override
2608
String get sync_status_failed_connect => "Falha na conexão com o nó";
@@ -3088,8 +3091,6 @@ class $ja extends S {
3091
@override
3092
String get confirm => "確認する";
3093
@override
3091
- String get send_xmr => "送る XMR";
3092
- @override
3094
String get settings_display_balance_as => "残高を表示";
3095
@override
3096
String get trade_details_provider => "プロバイダー";
@@ -3138,6 +3139,8 @@ class $ja extends S {
3139
@override
3140
String get xmr_hidden => "XMR非表示";
3141
@override
3142
+ String get send_xmr => "送る XMR";
3143
+ @override
3144
String get exchange => "交換する";
3145
@override
3146
String get sync_status_failed_connect => "ノードへの接続に失敗しました";
@@ -3630,8 +3633,6 @@ class $pl extends S {
3633
@override
3634
String get confirm => "Potwierdzać";
3635
@override
3633
- String get send_xmr => "Wysłać XMR";
3634
- @override
3636
String get settings_display_balance_as => "Wyświetl saldo jako";
3637
@override
3638
String get trade_details_provider => "Dostawca";
@@ -3680,6 +3681,8 @@ class $pl extends S {
3681
@override
3682
String get xmr_hidden => "XMR Ukryty";
3683
@override
3684
+ String get send_xmr => "Wysłać XMR";
3685
+ @override
3686
String get exchange => "Wymieniać się";
3687
@override
3688
String get sync_status_failed_connect => "NIE MOŻNA PODŁĄCZYĆ DO WĘZŁA";
@@ -4168,8 +4171,6 @@ class $es extends S {
4171
@override
4172
String get confirm => "Confirmar";
4173
@override
4171
- String get send_xmr => "Enviar XMR";
4172
- @override
4174
String get settings_display_balance_as => "Mostrar saldo como";
4175
@override
4176
String get trade_details_provider => "Proveedor";
@@ -4218,6 +4219,8 @@ class $es extends S {
4219
@override
4220
String get xmr_hidden => "XMR Oculto";
4221
@override
4222
+ String get send_xmr => "Enviar XMR";
4223
+ @override
4224
String get exchange => "Intercambiar";
4225
@override
4226
String get sync_status_failed_connect => "CONEXIÓN FALLIDA AL NODO";
@@ -4706,8 +4709,6 @@ class $nl extends S {
4709
@override
4710
String get confirm => "Bevestigen";
4711
@override
4709
- String get send_xmr => "Sturen XMR";
4710
- @override
4712
String get settings_display_balance_as => "Toon saldo als";
4713
@override
4714
String get trade_details_provider => "Leverancier";
@@ -4756,6 +4757,8 @@ class $nl extends S {
4757
@override
4758
String get xmr_hidden => "XMR Verborgen";
4759
@override
4760
+ String get send_xmr => "Sturen XMR";
4761
+ @override
4762
String get exchange => "Uitwisseling";
4763
@override
4764
String get sync_status_failed_connect => "MISLUKT VERBINDING MET DE NODE";
@@ -5244,8 +5247,6 @@ class $zh extends S {
5247
@override
5248
String get confirm => "确认";
5249
@override
5247
- String get send_xmr => "发送 XMR";
5248
- @override
5250
String get settings_display_balance_as => "将余额显示为";
5251
@override
5252
String get trade_details_provider => "提供者";
@@ -5294,6 +5295,8 @@ class $zh extends S {
5295
@override
5296
String get xmr_hidden => "XMR Hidden";
5297
@override
5298
+ String get send_xmr => "发送 XMR";
5299
+ @override
5300
String get exchange => "交换";
5301
@override
5302
String get sync_status_failed_connect => "无法连接到节点";
lib/src/stores/address_book/address_book_store.dart
+2
-2
@@ -45,7 +45,7 @@ abstract class AddressBookStoreBase with Store {
45
}
46
47
void validateAddress(String value, {CryptoCurrency cryptoCurrency}) {
48
- // XMR (95), BTC (34), ETH (42), LTC (34), BCH (42), DASH (34)
48
+ // XMR (95), BTC (34, 42), ETH (42), LTC (34), BCH (42), DASH (34)
49
const pattern = '^[0-9a-zA-Z]{95}\$|^[0-9a-zA-Z]{34}\$|^[0-9a-zA-Z]{42}\$';
50
final regExp = RegExp(pattern);
51
isValid = regExp.hasMatch(value);
@@ -56,7 +56,7 @@ abstract class AddressBookStoreBase with Store {
56
isValid = (value.length == 95);
57
break;
58
case 'BTC':
59
- isValid = (value.length == 34);
59
+ isValid = (value.length == 34)||(value.length == 42);
60
break;
61
case 'ETH':
62
isValid = (value.length == 42);
lib/src/stores/exchange/exchange_store.dart
+2
-2
@@ -226,7 +226,7 @@ abstract class ExchangeStoreBase with Store {
226
}
227
228
void validateAddress(String value, {CryptoCurrency cryptoCurrency}) {
229
- // XMR (95), BTC (34), ETH (42), LTC (34), BCH (42), DASH (34)
229
+ // XMR (95), BTC (34, 42), ETH (42), LTC (34), BCH (42), DASH (34)
230
const pattern = '^[0-9a-zA-Z]{95}\$|^[0-9a-zA-Z]{34}\$|^[0-9a-zA-Z]{42}\$';
231
final regExp = RegExp(pattern);
232
isValid = regExp.hasMatch(value);
@@ -237,7 +237,7 @@ abstract class ExchangeStoreBase with Store {
237
isValid = (value.length == 95);
238
break;
239
case 'BTC':
240
- isValid = (value.length == 34);
240
+ isValid = (value.length == 34)||(value.length == 42);
241
break;
242
case 'ETH':
243
isValid = (value.length == 42);
lib/src/stores/send/send_store.dart
+2
-2
@@ -159,7 +159,7 @@ abstract class SendStoreBase with Store {
159
}
160
161
void validateAddress(String value, {CryptoCurrency cryptoCurrency}) {
162
- // XMR (95), BTC (34), ETH (42), LTC (34), BCH (42), DASH (34)
162
+ // XMR (95), BTC (34, 42), ETH (42), LTC (34), BCH (42), DASH (34)
163
const pattern = '^[0-9a-zA-Z]{95}\$|^[0-9a-zA-Z]{34}\$|^[0-9a-zA-Z]{42}\$';
164
final regExp = RegExp(pattern);
165
isValid = value == null ? false : regExp.hasMatch(value);
@@ -170,7 +170,7 @@ abstract class SendStoreBase with Store {
170
isValid = (value.length == 95);
171
break;
172
case 'BTC':
173
- isValid = (value.length == 34);
173
+ isValid = (value.length == 34)||(value.length == 42);
174
break;
175
case 'ETH':
176
isValid = (value.length == 42);
lib/src/stores/wallet_restoration/wallet_restoration_store.dart
+2
-2
@@ -117,7 +117,7 @@ abstract class WalleRestorationStoreBase with Store {
117
}
118
119
void validateAddress(String value, {CryptoCurrency cryptoCurrency}) {
120
- // XMR (95), BTC (34), ETH (42), LTC (34), BCH (42), DASH (34)
120
+ // XMR (95), BTC (34, 42), ETH (42), LTC (34), BCH (42), DASH (34)
121
const pattern = '^[0-9a-zA-Z]{95}\$|^[0-9a-zA-Z]{34}\$|^[0-9a-zA-Z]{42}\$';
122
final regExp = RegExp(pattern);
123
isValid = regExp.hasMatch(value);
@@ -128,7 +128,7 @@ abstract class WalleRestorationStoreBase with Store {
128
isValid = (value.length == 95);
129
break;
130
case 'BTC':
131
- isValid = (value.length == 34);
131
+ isValid = (value.length == 34)||(value.length == 42);
132
break;
133
case 'ETH':
134
isValid = (value.length == 42);