mirror of
https://github.com/Such-Software/hash-wallet.git
synced 2026-10-18 05:51:34 +02:00
* feat: Automatically detect wallet tokens for EVM chains * feat: Disable potential tg scam tokens by default * feat: Add homoglyph normalization to detect spoofing attacks in token symbols * refactor: Improve scam token detection and apply to automatically fetched EVM tokens * refactor: Enhance scam detection for automatically detected tokens in evm wallets * feat: Add fiat check to scam checks on automatically imported token and disable tokens that fail the check * feat: Add fiat check to scam checks on automatically imported token and disable tokens that fail the check * feat: Add fiat check to scam checks on automatically imported token and disable tokens that fail the check * feat: Enable whitelisted tokens with balance when importing wallet tokens * feat: Disable imported tokens with balance less than 0.1 usd * feat: Disable imported tokens with balance less than 0.1 usd - Update configure file * fixes: - default tokens marked as potential scam - ui overflow for token name on balance page - add more filters for spam tokens * - detect and flag default token impersonators - add homoglyph normalization to prevent spoofing attacks on new token symbols - fix bnb not coming up in receive currency list for swap page * - detect and flag default token impersonators - add homoglyph normalization to prevent spoofing attacks on new token symbols - fix bnb not coming up in receive currency list for swap page * Revert Exclude BNB from receive currencies list [skip ci] --------- Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
29 lines
1.0 KiB
Dart
29 lines
1.0 KiB
Dart
import 'package:cw_core/erc20_token.dart';
|
|
import 'package:cw_evm/tokens/arbitrum_tokens.dart';
|
|
import 'package:cw_evm/tokens/base_tokens.dart';
|
|
import 'package:cw_evm/tokens/bsc_tokens.dart';
|
|
import 'package:cw_evm/tokens/ethereum_tokens.dart';
|
|
import 'package:cw_evm/tokens/polygon_tokens.dart';
|
|
|
|
/// Default ERC20 tokens for each EVM chain and utility methods for interacting with them
|
|
class EVMChainDefaultTokens {
|
|
static List<Erc20Token> getDefaultTokensByChainId(int chainId) {
|
|
return switch (chainId) {
|
|
1 => EthereumTokens.tokens,
|
|
137 => PolygonTokens.tokens,
|
|
8453 => BaseTokens.tokens,
|
|
42161 => ArbitrumTokens.tokens,
|
|
56 => BSCTokens.tokens,
|
|
_ => [],
|
|
};
|
|
}
|
|
|
|
static List<String> getDefaultTokenAddresses(int chainId) {
|
|
return getDefaultTokensByChainId(chainId).map((token) => token.contractAddress).toList();
|
|
}
|
|
|
|
static List<String> getDefaultTokenSymbols(int chainId) {
|
|
return getDefaultTokensByChainId(chainId).map((token) => token.symbol.toUpperCase()).toList();
|
|
}
|
|
}
|