/**
 * 区块链名称格式化工具
 */

// 链名称简写映射
const CHAIN_SHORT_NAMES: Record<string, string> = {
  'BNB Smart Chain': 'BSC',
  'BNB Smart Chain (BEP20)': 'BSC',
  'Binance Smart Chain': 'BSC',
  'Ethereum': 'ETH',
  'Ethereum (ERC20)': 'ETH',
  'TRON': 'TRC20',
  'TRON (TRC20)': 'TRC20',
  'Polygon': 'MATIC',
  'Polygon (MATIC)': 'MATIC',
  'Arbitrum': 'ARB',
  'Arbitrum One': 'ARB',
  'Optimism': 'OP',
  'Avalanche': 'AVAX',
  'Avalanche C-Chain': 'AVAX',
  'Solana': 'SOL',
  'Bitcoin': 'BTC',
};

/**
 * 格式化链名称为简写形式
 * @param chainName 原始链名称
 * @returns 简写后的链名称
 */
export const formatChainName = (chainName: string): string => {
  if (!chainName) return '-';
  return CHAIN_SHORT_NAMES[chainName] || chainName;
};

/**
 * 获取链的完整名称
 * @param shortName 简写名称
 * @returns 完整链名称
 */
export const getFullChainName = (shortName: string): string => {
  const entry = Object.entries(CHAIN_SHORT_NAMES).find(([_, short]) => short === shortName);
  return entry ? entry[0] : shortName;
};
