diff --git a/lib/core/address_validator.dart b/lib/core/address_validator.dart index fec250a08..b9d6cf0d6 100644 --- a/lib/core/address_validator.dart +++ b/lib/core/address_validator.dart @@ -13,10 +13,14 @@ class AddressValidator extends TextValidator { static String getPattern(CryptoCurrency type) { switch (type) { case CryptoCurrency.xmr: - return '[0-9a-zA-Z]'; + return '^4[0-9a-zA-Z]{94}\$|^8[0-9a-zA-Z]{94}\$|^[0-9a-zA-Z]{106}\$'; case CryptoCurrency.ada: return '^[0-9a-zA-Z]{59}\$|^[0-9a-zA-Z]{92}\$|^[0-9a-zA-Z]{104}\$' '|^[0-9a-zA-Z]{105}\$|^addr1[0-9a-zA-Z]{98}\$'; + case CryptoCurrency.ape: + return '0x[0-9a-zA-Z]'; + case CryptoCurrency.avaxc: + return '0x[0-9a-zA-Z]'; case CryptoCurrency.bch: return '[0-9a-zA-Z]'; case CryptoCurrency.bnb: @@ -31,13 +35,15 @@ class AddressValidator extends TextValidator { case CryptoCurrency.eos: return '[0-9a-zA-Z]'; case CryptoCurrency.eth: - return '[0-9a-zA-Z]'; + return '0x[0-9a-zA-Z]'; case CryptoCurrency.ltc: return '[0-9a-zA-Z]'; case CryptoCurrency.nano: return '[0-9a-zA-Z_]'; case CryptoCurrency.trx: return '[0-9a-zA-Z]'; + case CryptoCurrency.usdc: + return '0x[0-9a-zA-Z]'; case CryptoCurrency.usdt: return '[0-9a-zA-Z]'; case CryptoCurrency.usdterc20: @@ -62,6 +68,12 @@ class AddressValidator extends TextValidator { case CryptoCurrency.xnzd: case CryptoCurrency.xusd: return '[0-9a-zA-Z]'; + case CryptoCurrency.hbar: + return '[0-9a-zA-Z.]'; + case CryptoCurrency.zaddr: + return '^zs[0-9a-zA-Z]{75}\&|^zc[0-9a-zA-Z]{93}\$'; + case CryptoCurrency.zec: + return '^t1[0-9a-zA-Z]{33}\$|^t3[0-9a-zA-Z]{33}\$'; default: return '[0-9a-zA-Z]'; } @@ -70,9 +82,13 @@ class AddressValidator extends TextValidator { static List getLength(CryptoCurrency type) { switch (type) { case CryptoCurrency.xmr: - return [95, 106]; + return null; case CryptoCurrency.ada: return null; + case CryptoCurrency.ape: + return [42]; + case CryptoCurrency.avaxc: + return [42]; case CryptoCurrency.bch: return [42]; case CryptoCurrency.bnb: @@ -91,12 +107,22 @@ class AddressValidator extends TextValidator { return [34, 43]; case CryptoCurrency.nano: return [64, 65]; + case CryptoCurrency.sc: + return [76]; + case CryptoCurrency.sol: + return [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44]; case CryptoCurrency.trx: return [34]; + case CryptoCurrency.usdc: + return [42]; + case CryptoCurrency.usdcsol: + return [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44]; case CryptoCurrency.usdt: return [34]; case CryptoCurrency.usdterc20: return [42]; + case CryptoCurrency.usdttrc20: + return [34]; case CryptoCurrency.xlm: return [56]; case CryptoCurrency.xrp: @@ -116,6 +142,24 @@ class AddressValidator extends TextValidator { case CryptoCurrency.xnzd: case CryptoCurrency.xusd: return [98, 99, 106]; + case CryptoCurrency.btt: + return [34]; + case CryptoCurrency.bttbsc: + return [34]; + case CryptoCurrency.doge: + return [34]; + case CryptoCurrency.firo: + return [34]; + case CryptoCurrency.hbar: + return [4, 5, 6, 7, 8, 9, 10, 11]; + case CryptoCurrency.xvg: + return [34]; + case CryptoCurrency.zen: + return [35]; + case CryptoCurrency.zaddr: + return null; + case CryptoCurrency.zec: + return null; default: return []; } diff --git a/lib/src/screens/exchange/widgets/currency_picker_item_widget.dart b/lib/src/screens/exchange/widgets/currency_picker_item_widget.dart index a23b88c10..1c7fb81a3 100644 --- a/lib/src/screens/exchange/widgets/currency_picker_item_widget.dart +++ b/lib/src/screens/exchange/widgets/currency_picker_item_widget.dart @@ -22,7 +22,7 @@ class PickerItemWidget extends StatelessWidget { children: [ Container( child: Image.asset( - iconPath, + iconPath ?? '', height: 20.0, width: 20.0, ),