CWA-155 | added btc validation, that include Bech32 address format

This commit is contained in:
Oleksandr Sobol 2020-01-10 13:49:46 +02:00
parent e46c653f3b
commit e42a01fcb4
6 changed files with 31 additions and 26 deletions

2
.gitignore vendored
View file

@ -88,3 +88,5 @@ android/key.properties
**/tool/.secrets-prod.json
**/lib/.secrets.g.dart
**/lib/generated/i18n.dart

View file

@ -44,7 +44,6 @@ class S implements WidgetsLocalizations {
String get change_language => "Change language";
String get clear => "Clear";
String get confirm => "Confirm";
String get send_xmr => "Send XMR";
String get confirm_sending => "Confirm sending";
String get contact => "Contact";
String get contact_name => "Contact Name";
@ -155,6 +154,7 @@ class S implements WidgetsLocalizations {
String get send_monero_address => "Monero address";
String get send_payment_id => "Payment ID (optional)";
String get send_title => "Send Monero";
String get send_xmr => "Send XMR";
String get send_your_wallet => "Your wallet";
String get sending => "Sending";
String get sent => "Sent";
@ -400,7 +400,6 @@ class $de extends S {
String get trade_details_pair => "Paar";
@override
String get confirm => "Bestätigen";
String get send_xmr => "Senden XMR";
@override
String get settings_display_balance_as => "Kontostand anzeigen als";
@override
@ -450,6 +449,8 @@ class $de extends S {
@override
String get xmr_hidden => "XMR versteckt";
@override
String get send_xmr => "Senden XMR";
@override
String get exchange => "Austausch";
@override
String get sync_status_failed_connect => "Verbindung zum Knoten fehlgeschlagen";
@ -937,7 +938,6 @@ class $hi extends S {
String get trade_details_pair => "जोड़ा";
@override
String get confirm => "की पुष्टि करें";
String get send_xmr => "संदेश XMR";
@override
String get settings_display_balance_as => "के रूप में संतुलन प्रदर्शित करें";
@override
@ -987,6 +987,8 @@ class $hi extends S {
@override
String get xmr_hidden => "XMR छिपा हुआ";
@override
String get send_xmr => "संदेश XMR";
@override
String get exchange => "अदला बदली";
@override
String get sync_status_failed_connect => "फेल हुआ कनेक्ट नोड";
@ -1474,7 +1476,6 @@ class $ru extends S {
String get trade_details_pair => "Пара";
@override
String get confirm => "Подтвердить";
String get send_xmr => "Отправить XMR";
@override
String get settings_display_balance_as => "Отображать баланс";
@override
@ -1524,6 +1525,8 @@ class $ru extends S {
@override
String get xmr_hidden => "XMR Скрытый";
@override
String get send_xmr => "Отправить XMR";
@override
String get exchange => "Обмен";
@override
String get sync_status_failed_connect => "ОШИБКА ПОДКЛЮЧЕНИЯ К НОДЕ";
@ -2012,8 +2015,6 @@ class $ko extends S {
@override
String get confirm => "확인";
@override
String get send_xmr => "보내다 XMR";
@override
String get settings_display_balance_as => "잔액 표시";
@override
String get trade_details_provider => "공급자";
@ -2062,6 +2063,8 @@ class $ko extends S {
@override
String get xmr_hidden => "XMR 숨김";
@override
String get send_xmr => "보내다 XMR";
@override
String get exchange => "교환";
@override
String get sync_status_failed_connect => "노드에 연결하지 못했습니다";
@ -2550,8 +2553,6 @@ class $pt extends S {
@override
String get confirm => "Confirme";
@override
String get send_xmr => "Mandar XMR";
@override
String get settings_display_balance_as => "Exibir saldo como";
@override
String get trade_details_provider => "Fornecedor";
@ -2600,6 +2601,8 @@ class $pt extends S {
@override
String get xmr_hidden => "XMR Oculto";
@override
String get send_xmr => "Mandar XMR";
@override
String get exchange => "Troca";
@override
String get sync_status_failed_connect => "Falha na conexão com o nó";
@ -3088,8 +3091,6 @@ class $ja extends S {
@override
String get confirm => "確認する";
@override
String get send_xmr => "送る XMR";
@override
String get settings_display_balance_as => "残高を表示";
@override
String get trade_details_provider => "プロバイダー";
@ -3138,6 +3139,8 @@ class $ja extends S {
@override
String get xmr_hidden => "XMR非表示";
@override
String get send_xmr => "送る XMR";
@override
String get exchange => "交換する";
@override
String get sync_status_failed_connect => "ノードへの接続に失敗しました";
@ -3630,8 +3633,6 @@ class $pl extends S {
@override
String get confirm => "Potwierdzać";
@override
String get send_xmr => "Wysłać XMR";
@override
String get settings_display_balance_as => "Wyświetl saldo jako";
@override
String get trade_details_provider => "Dostawca";
@ -3680,6 +3681,8 @@ class $pl extends S {
@override
String get xmr_hidden => "XMR Ukryty";
@override
String get send_xmr => "Wysłać XMR";
@override
String get exchange => "Wymieniać się";
@override
String get sync_status_failed_connect => "NIE MOŻNA PODŁĄCZYĆ DO WĘZŁA";
@ -4168,8 +4171,6 @@ class $es extends S {
@override
String get confirm => "Confirmar";
@override
String get send_xmr => "Enviar XMR";
@override
String get settings_display_balance_as => "Mostrar saldo como";
@override
String get trade_details_provider => "Proveedor";
@ -4218,6 +4219,8 @@ class $es extends S {
@override
String get xmr_hidden => "XMR Oculto";
@override
String get send_xmr => "Enviar XMR";
@override
String get exchange => "Intercambiar";
@override
String get sync_status_failed_connect => "CONEXIÓN FALLIDA AL NODO";
@ -4706,8 +4709,6 @@ class $nl extends S {
@override
String get confirm => "Bevestigen";
@override
String get send_xmr => "Sturen XMR";
@override
String get settings_display_balance_as => "Toon saldo als";
@override
String get trade_details_provider => "Leverancier";
@ -4756,6 +4757,8 @@ class $nl extends S {
@override
String get xmr_hidden => "XMR Verborgen";
@override
String get send_xmr => "Sturen XMR";
@override
String get exchange => "Uitwisseling";
@override
String get sync_status_failed_connect => "MISLUKT VERBINDING MET DE NODE";
@ -5244,8 +5247,6 @@ class $zh extends S {
@override
String get confirm => "确认";
@override
String get send_xmr => "发送 XMR";
@override
String get settings_display_balance_as => "将余额显示为";
@override
String get trade_details_provider => "提供者";
@ -5294,6 +5295,8 @@ class $zh extends S {
@override
String get xmr_hidden => "XMR Hidden";
@override
String get send_xmr => "发送 XMR";
@override
String get exchange => "交换";
@override
String get sync_status_failed_connect => "无法连接到节点";

View file

@ -45,7 +45,7 @@ abstract class AddressBookStoreBase with Store {
}
void validateAddress(String value, {CryptoCurrency cryptoCurrency}) {
// XMR (95), BTC (34), ETH (42), LTC (34), BCH (42), DASH (34)
// XMR (95), BTC (34, 42), ETH (42), LTC (34), BCH (42), DASH (34)
const pattern = '^[0-9a-zA-Z]{95}\$|^[0-9a-zA-Z]{34}\$|^[0-9a-zA-Z]{42}\$';
final regExp = RegExp(pattern);
isValid = regExp.hasMatch(value);
@ -56,7 +56,7 @@ abstract class AddressBookStoreBase with Store {
isValid = (value.length == 95);
break;
case 'BTC':
isValid = (value.length == 34);
isValid = (value.length == 34)||(value.length == 42);
break;
case 'ETH':
isValid = (value.length == 42);

View file

@ -226,7 +226,7 @@ abstract class ExchangeStoreBase with Store {
}
void validateAddress(String value, {CryptoCurrency cryptoCurrency}) {
// XMR (95), BTC (34), ETH (42), LTC (34), BCH (42), DASH (34)
// XMR (95), BTC (34, 42), ETH (42), LTC (34), BCH (42), DASH (34)
const pattern = '^[0-9a-zA-Z]{95}\$|^[0-9a-zA-Z]{34}\$|^[0-9a-zA-Z]{42}\$';
final regExp = RegExp(pattern);
isValid = regExp.hasMatch(value);
@ -237,7 +237,7 @@ abstract class ExchangeStoreBase with Store {
isValid = (value.length == 95);
break;
case 'BTC':
isValid = (value.length == 34);
isValid = (value.length == 34)||(value.length == 42);
break;
case 'ETH':
isValid = (value.length == 42);

View file

@ -159,7 +159,7 @@ abstract class SendStoreBase with Store {
}
void validateAddress(String value, {CryptoCurrency cryptoCurrency}) {
// XMR (95), BTC (34), ETH (42), LTC (34), BCH (42), DASH (34)
// XMR (95), BTC (34, 42), ETH (42), LTC (34), BCH (42), DASH (34)
const pattern = '^[0-9a-zA-Z]{95}\$|^[0-9a-zA-Z]{34}\$|^[0-9a-zA-Z]{42}\$';
final regExp = RegExp(pattern);
isValid = value == null ? false : regExp.hasMatch(value);
@ -170,7 +170,7 @@ abstract class SendStoreBase with Store {
isValid = (value.length == 95);
break;
case 'BTC':
isValid = (value.length == 34);
isValid = (value.length == 34)||(value.length == 42);
break;
case 'ETH':
isValid = (value.length == 42);

View file

@ -117,7 +117,7 @@ abstract class WalleRestorationStoreBase with Store {
}
void validateAddress(String value, {CryptoCurrency cryptoCurrency}) {
// XMR (95), BTC (34), ETH (42), LTC (34), BCH (42), DASH (34)
// XMR (95), BTC (34, 42), ETH (42), LTC (34), BCH (42), DASH (34)
const pattern = '^[0-9a-zA-Z]{95}\$|^[0-9a-zA-Z]{34}\$|^[0-9a-zA-Z]{42}\$';
final regExp = RegExp(pattern);
isValid = regExp.hasMatch(value);
@ -128,7 +128,7 @@ abstract class WalleRestorationStoreBase with Store {
isValid = (value.length == 95);
break;
case 'BTC':
isValid = (value.length == 34);
isValid = (value.length == 34)||(value.length == 42);
break;
case 'ETH':
isValid = (value.length == 42);