mirror of
https://github.com/cake-tech/cake_wallet.git
synced 2024-12-22 19:49:22 +00:00
lib/core/address_validator.dart - updated zano address regex
lib/src/screens/dashboard/edit_token_page.dart - using AddressValidator().call
This commit is contained in:
parent
cda4a38b59
commit
3caca5c913
2 changed files with 7 additions and 7 deletions
|
@ -7,18 +7,18 @@ import 'package:cw_core/erc20_token.dart';
|
||||||
import 'package:cw_zano/zano_utils.dart';
|
import 'package:cw_zano/zano_utils.dart';
|
||||||
|
|
||||||
class AddressValidator extends TextValidator {
|
class AddressValidator extends TextValidator {
|
||||||
AddressValidator({required CryptoCurrency type, bool skipZanoAddressValidation = false})
|
AddressValidator({required CryptoCurrency type})
|
||||||
: super(
|
: super(
|
||||||
errorMessage: S.current.error_text_address,
|
errorMessage: S.current.error_text_address,
|
||||||
useAdditionalValidation: type == CryptoCurrency.btc
|
useAdditionalValidation: type == CryptoCurrency.btc
|
||||||
? (String txt) => validateAddress(address: txt, network: BitcoinNetwork.mainnet)
|
? (String txt) => validateAddress(address: txt, network: BitcoinNetwork.mainnet)
|
||||||
: type == CryptoCurrency.zano && !skipZanoAddressValidation
|
: type == CryptoCurrency.zano
|
||||||
? ZanoUtils.validateAddress
|
? ZanoUtils.validateAddress
|
||||||
: null,
|
: null,
|
||||||
pattern: getPattern(type, skipZanoAddressValidation),
|
pattern: getPattern(type),
|
||||||
length: getLength(type));
|
length: getLength(type));
|
||||||
|
|
||||||
static String getPattern(CryptoCurrency type, bool skipZanoAddressValidation) {
|
static String getPattern(CryptoCurrency type) {
|
||||||
if (type is Erc20Token) {
|
if (type is Erc20Token) {
|
||||||
return '0x[0-9a-zA-Z]';
|
return '0x[0-9a-zA-Z]';
|
||||||
}
|
}
|
||||||
|
@ -127,7 +127,7 @@ class AddressValidator extends TextValidator {
|
||||||
case CryptoCurrency.btcln:
|
case CryptoCurrency.btcln:
|
||||||
return '^(lnbc|LNBC)([0-9]{1,}[a-zA-Z0-9]+)';
|
return '^(lnbc|LNBC)([0-9]{1,}[a-zA-Z0-9]+)';
|
||||||
case CryptoCurrency.zano:
|
case CryptoCurrency.zano:
|
||||||
return skipZanoAddressValidation ? '[0-9a-zA-Z]' : r'$.^'; // always false, we use additional validation then
|
return '([1-9A-HJ-NP-Za-km-z]{90,200})|(@[\w\d-.]+)';
|
||||||
default:
|
default:
|
||||||
return '[0-9a-zA-Z]';
|
return '[0-9a-zA-Z]';
|
||||||
}
|
}
|
||||||
|
@ -308,7 +308,7 @@ class AddressValidator extends TextValidator {
|
||||||
case CryptoCurrency.trx:
|
case CryptoCurrency.trx:
|
||||||
return '(T|t)[1-9A-HJ-NP-Za-km-z]{33}';
|
return '(T|t)[1-9A-HJ-NP-Za-km-z]{33}';
|
||||||
case CryptoCurrency.zano:
|
case CryptoCurrency.zano:
|
||||||
return '[0-9a-zA-Z]{1,100}';
|
return '([1-9A-HJ-NP-Za-km-z]{90,200})|(@[\w\d-.]+)';
|
||||||
default:
|
default:
|
||||||
if (type.tag == CryptoCurrency.eth.title) {
|
if (type.tag == CryptoCurrency.eth.title) {
|
||||||
return '0x[0-9a-zA-Z]{42}';
|
return '0x[0-9a-zA-Z]{42}';
|
||||||
|
|
|
@ -267,7 +267,7 @@ class _EditTokenPageBodyState extends State<EditTokenPageBody> {
|
||||||
placeholder: S.of(context).token_contract_address,
|
placeholder: S.of(context).token_contract_address,
|
||||||
options: [AddressTextFieldOption.paste],
|
options: [AddressTextFieldOption.paste],
|
||||||
buttonColor: Theme.of(context).hintColor,
|
buttonColor: Theme.of(context).hintColor,
|
||||||
validator: widget.homeSettingsViewModel.walletType == WalletType.zano ? null : AddressValidator(type: widget.homeSettingsViewModel.nativeToken),
|
validator: widget.homeSettingsViewModel.walletType == WalletType.zano ? null : AddressValidator(type: widget.homeSettingsViewModel.nativeToken).call,
|
||||||
onPushPasteButton: (_) {
|
onPushPasteButton: (_) {
|
||||||
_pasteText();
|
_pasteText();
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in a new issue