mirror of
https://github.com/cake-tech/cake_wallet.git
synced 2025-03-22 07:08:49 +00:00
CAKE-192 | added name property to parsed_address.dart; fixed parse_address_from_domain.dart
This commit is contained in:
parent
bac491c44f
commit
008936435b
4 changed files with 27 additions and 16 deletions
|
@ -7,34 +7,41 @@ const topLevelDomain = 'crypto';
|
||||||
Future<ParsedAddress> parseAddressFromDomain(
|
Future<ParsedAddress> parseAddressFromDomain(
|
||||||
String domain, String ticker) async {
|
String domain, String ticker) async {
|
||||||
try {
|
try {
|
||||||
final domainParts = domain.split('.');
|
final formattedName = OpenaliasRecord.formatDomainName(domain);
|
||||||
|
final domainParts = formattedName.split('.');
|
||||||
final name = domainParts.last;
|
final name = domainParts.last;
|
||||||
|
|
||||||
if (domainParts.length <= 1 || domainParts.first.isEmpty || name.isEmpty) {
|
if (domainParts.length <= 1 || domainParts.first.isEmpty || name.isEmpty) {
|
||||||
return ParsedAddress(domain, ParseFrom.notParsed);
|
return ParsedAddress(address: domain);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (name.contains(topLevelDomain)) {
|
if (name.contains(topLevelDomain)) {
|
||||||
final address = await fetchUnstoppableDomainAddress(domain, ticker);
|
final address =
|
||||||
|
await fetchUnstoppableDomainAddress(formattedName, ticker);
|
||||||
|
|
||||||
if (address?.isEmpty ?? true) {
|
if (address?.isEmpty ?? true) {
|
||||||
return ParsedAddress(domain, ParseFrom.notParsed);
|
return ParsedAddress(address: domain);
|
||||||
}
|
}
|
||||||
|
|
||||||
return ParsedAddress(address, ParseFrom.unstoppableDomains);
|
return ParsedAddress(
|
||||||
|
address: address,
|
||||||
|
name: formattedName,
|
||||||
|
parseFrom: ParseFrom.unstoppableDomains);
|
||||||
}
|
}
|
||||||
|
|
||||||
final record = await OpenaliasRecord.fetchAddressAndName(
|
final record = await OpenaliasRecord.fetchAddressAndName(formattedName);
|
||||||
OpenaliasRecord.formatDomainName(domain));
|
|
||||||
|
|
||||||
if (record == null || record.address.contains(domain)) {
|
if (record == null || record.address.contains(formattedName)) {
|
||||||
return ParsedAddress(domain, ParseFrom.notParsed);
|
return ParsedAddress(address: domain);
|
||||||
}
|
}
|
||||||
|
|
||||||
return ParsedAddress(record.address, ParseFrom.openAlias);
|
return ParsedAddress(
|
||||||
|
address: record.address,
|
||||||
|
name: record.name,
|
||||||
|
parseFrom: ParseFrom.openAlias);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
print(e.toString());
|
print(e.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
return ParsedAddress(domain, ParseFrom.notParsed);
|
return ParsedAddress(address: domain);
|
||||||
}
|
}
|
|
@ -1,8 +1,12 @@
|
||||||
enum ParseFrom {unstoppableDomains, openAlias, notParsed}
|
enum ParseFrom {unstoppableDomains, openAlias, notParsed}
|
||||||
|
|
||||||
class ParsedAddress {
|
class ParsedAddress {
|
||||||
ParsedAddress(this.address, this.parseFrom);
|
ParsedAddress({
|
||||||
|
this.address = '',
|
||||||
|
this.name = '',
|
||||||
|
this.parseFrom = ParseFrom.notParsed});
|
||||||
|
|
||||||
final String address;
|
final String address;
|
||||||
|
final String name;
|
||||||
final ParseFrom parseFrom;
|
final ParseFrom parseFrom;
|
||||||
}
|
}
|
|
@ -787,13 +787,13 @@ class ExchangePage extends BasePage {
|
||||||
showAddressAlert(
|
showAddressAlert(
|
||||||
context,
|
context,
|
||||||
S.of(context).address_detected,
|
S.of(context).address_detected,
|
||||||
S.of(context).address_from_domain(domain));
|
S.of(context).address_from_domain(parsedAddress.name));
|
||||||
break;
|
break;
|
||||||
case ParseFrom.openAlias:
|
case ParseFrom.openAlias:
|
||||||
showAddressAlert(
|
showAddressAlert(
|
||||||
context,
|
context,
|
||||||
S.of(context).openalias_alert_title,
|
S.of(context).openalias_alert_title,
|
||||||
S.of(context).openalias_alert_content(domain));
|
S.of(context).openalias_alert_content(parsedAddress.name));
|
||||||
break;
|
break;
|
||||||
case ParseFrom.notParsed:
|
case ParseFrom.notParsed:
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -767,13 +767,13 @@ class SendPage extends BasePage {
|
||||||
showAddressAlert(
|
showAddressAlert(
|
||||||
context,
|
context,
|
||||||
S.of(context).address_detected,
|
S.of(context).address_detected,
|
||||||
S.of(context).address_from_domain(domain));
|
S.of(context).address_from_domain(parsedAddress.name));
|
||||||
break;
|
break;
|
||||||
case ParseFrom.openAlias:
|
case ParseFrom.openAlias:
|
||||||
showAddressAlert(
|
showAddressAlert(
|
||||||
context,
|
context,
|
||||||
S.of(context).openalias_alert_title,
|
S.of(context).openalias_alert_title,
|
||||||
S.of(context).openalias_alert_content(domain));
|
S.of(context).openalias_alert_content(parsedAddress.name));
|
||||||
break;
|
break;
|
||||||
case ParseFrom.notParsed:
|
case ParseFrom.notParsed:
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in a new issue