import { ChainId } from '@lifi/types'

// This name is used to map the chainId to the chain name when running scripts
// There is no documentation on the chain names, you can refer to
// the chain names in https://github.com/lifinance/contracts/tree/main/deployments
export const foundryChainNameMap: Record<ChainId, string> = {
  [ChainId.UNI]: 'unichain',
  [ChainId.HYP]: 'hyperevm',
  [ChainId.FLR]: 'flare',
  [ChainId.SON]: 'sonic',
  [ChainId.VAN]: 'vana',
  [ChainId.SOE]: 'soneium',
  [ChainId.SWL]: 'swellchain',
  [ChainId.RON]: 'ronin',
  [ChainId.CRN]: 'corn',
  [ChainId.LNS]: 'lens',
  [ChainId.ABS]: 'abstract',
  [ChainId.FSN]: 'fusion',
  [ChainId.APE]: 'apechain',
  [ChainId.TLO]: 'telos',
  [ChainId.ETL]: 'etherlink',
  [ChainId.XDC]: 'xdc',
  [ChainId.SOP]: 'sophon',
  [ChainId.SUP]: 'superposition',
  [ChainId.INK]: 'ink',
  [ChainId.BOC]: 'bob',
  [ChainId.NIB]: 'niburu',
  [ChainId.KAT]: 'katana',
  [ChainId.BER]: 'berachain',
  [ChainId.VIC]: 'viction',
  [ChainId.PLU]: 'plume',
  [ChainId.ETH]: 'mainnet',
  [ChainId.DAI]: 'gnosis',
  [ChainId.POL]: 'polygon',
  [ChainId.BSC]: 'bsc',
  [ChainId.ARB]: 'arbitrum',
  [ChainId.OPT]: 'optimism',
  [ChainId.FTM]: 'fantom',
  [ChainId.AVA]: 'avalanche',
  [ChainId.MOR]: 'moonriver',
  [ChainId.MOO]: 'moonbeam',
  [ChainId.CEL]: 'celo',
  [ChainId.FUS]: 'fuse',
  [ChainId.CRO]: 'cronos',
  [ChainId.ONE]: 'harmony',
  [ChainId.EVM]: 'evmos',
  [ChainId.BOB]: 'boba',
  [ChainId.ARN]: 'arbitrumnova',
  [ChainId.VEL]: 'velas',
  [ChainId.BAS]: 'base',
  [ChainId.LNA]: 'linea',
  [ChainId.ERA]: 'zksync',
  [ChainId.PZE]: 'polygonzkevm',
  [ChainId.MAM]: 'metis',
  [ChainId.AUR]: 'aurora',
  [ChainId.MOD]: 'mode',
  [ChainId.SCL]: 'scroll',
  [ChainId.BLS]: 'blast',
  [ChainId.RSK]: 'rootstock',
  [ChainId.XLY]: 'xlayer',
  [ChainId.FRA]: 'fraxtal',
  [ChainId.SEI]: 'sei',
  [ChainId.GRA]: 'gravity',
  [ChainId.MNT]: 'mantle',
  [ChainId.KAI]: 'kaia',
  [ChainId.IMX]: 'immutablezkevm',
  [ChainId.TAI]: 'taiko',
  [ChainId.WCC]: 'worldchain',
  [ChainId.OPB]: 'opbnb',
  [ChainId.LSK]: 'lisk',
  [ChainId.PLA]: 'plasma',
  [ChainId.FLW]: 'flow',
  [ChainId.HMI]: 'hemi',
  [ChainId.MON]: 'monad',
  [ChainId.STA]: 'stable',
  [ChainId.MEG]: 'megaeth',
  [ChainId.BOT]: 'botanix',
  [ChainId.JOV]: 'jovay',
  [ChainId.MOP]: 'morph',
  [ChainId.TEM]: 'tempo',
  [ChainId.ARCT]: 'arctestnet',
  [ChainId.ZEROG]: '0g',
  [ChainId.PHR]: 'pharos',
  [ChainId.SOM]: 'somnia',
  [ChainId.OPST]: 'optimismsepolia',
  [ChainId.BAST]: 'basesepolia',
  [ChainId.ARBS]: 'arbitrumsepolia',

  // Custom chains
  [7777777 as ChainId]: 'zora',

  // non-evm chains, just kept for more secure typing
  [ChainId.TRN]: 'tron',
  [ChainId.SUI]: 'sui',
  [ChainId.HPL]: 'hyperliquid',
  [ChainId.LTR]: 'lighter',
  [ChainId.OAS]: 'oasis',
  [ChainId.SOL]: 'solana',
  [ChainId.FOG]: 'fogo',
  [ChainId.TER]: 'terra',
  [ChainId.BTC]: 'bitcoin',
  [ChainId.BCH]: 'bitcoin-cash',
  [ChainId.LTC]: 'litecoin',
  [ChainId.DGE]: 'dogecoin',
  [ChainId.ZEC]: 'zcash',
  [ChainId.XLM]: 'stellar',
}
