mirror of
https://github.com/cake-tech/cake_wallet.git
synced 2024-12-23 12:09:43 +00:00
c78662fbfe
* replace all print statements with printV * restore backup error message * missing print statements, error fixes * Update cw_core/lib/utils/print_verbose.dart [skip ci] * Update cw_core/lib/utils/print_verbose.dart [skip ci] * CW-846: Correctly display balance (#1848) * Correctly display balance even with frozen coins * remove package= from AndroidMainfest.xml * update namespace * print -> printV --------- Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
53 lines
1.7 KiB
Dart
53 lines
1.7 KiB
Dart
import 'package:cake_wallet/ethereum/ethereum.dart';
|
|
import 'package:cake_wallet/polygon/polygon.dart';
|
|
import 'package:cw_core/utils/print_verbose.dart';
|
|
import 'package:cw_core/wallet_base.dart';
|
|
import 'package:cw_core/wallet_type.dart';
|
|
import 'package:ens_dart/ens_dart.dart';
|
|
import 'package:http/http.dart';
|
|
import 'package:web3dart/web3dart.dart';
|
|
|
|
class EnsRecord {
|
|
static Future<String> fetchEnsAddress(String name, {WalletBase? wallet}) async {
|
|
Web3Client? _client;
|
|
|
|
if (wallet != null && wallet.type == WalletType.ethereum) {
|
|
_client = ethereum!.getWeb3Client(wallet);
|
|
}
|
|
|
|
if (wallet != null && wallet.type == WalletType.polygon) {
|
|
_client = polygon!.getWeb3Client(wallet);
|
|
}
|
|
|
|
if (_client == null) {
|
|
_client = Web3Client("https://ethereum.publicnode.com", Client());
|
|
}
|
|
|
|
try {
|
|
final ens = Ens(client: _client);
|
|
|
|
if (wallet != null) {
|
|
switch (wallet.type) {
|
|
case WalletType.monero:
|
|
return await ens.withName(name).getCoinAddress(CoinType.XMR);
|
|
case WalletType.bitcoin:
|
|
return await ens.withName(name).getCoinAddress(CoinType.BTC);
|
|
case WalletType.litecoin:
|
|
return await ens.withName(name).getCoinAddress(CoinType.LTC);
|
|
case WalletType.haven:
|
|
return await ens.withName(name).getCoinAddress(CoinType.XHV);
|
|
case WalletType.ethereum:
|
|
case WalletType.polygon:
|
|
default:
|
|
return (await ens.withName(name).getAddress()).hex;
|
|
}
|
|
}
|
|
|
|
final addr = await ens.withName(name).getAddress();
|
|
return addr.hex;
|
|
} catch (e) {
|
|
printV(e);
|
|
return "";
|
|
}
|
|
}
|
|
}
|