{"version":3,"sources":["../../src/vaults/tokens.ts"],"sourcesContent":["import type { Address } from \"viem\";\nimport type { ChainId } from \"../api/vault-config\";\nimport { boba, form, mainnet, plume, rari, sei } from \"./chains\";\n\nexport const TokenKey = {\n  ETH: \"eth\",\n  WETH: \"weth\",\n  WSTETH: \"wsteth\",\n  EZETH: \"ezeth\",\n  PZETH: \"pzeth\",\n  OPNRWA: \"op-nRWA\",\n  NRWA: \"nRWA\",\n  PUSD: \"pUSD\",\n  PLUME: \"plume\",\n  USDC: \"usdc\",\n  USDCe: \"usdce\",\n} as const;\n\nexport type TokenKey = (typeof TokenKey)[keyof typeof TokenKey] | string;\n\nexport const NucleusTokenKey = {\n  BOBAETH: \"bobaeth\",\n  SSETH: \"sseth\",\n  FETH: \"feth\",\n  RARIETH: \"rarieth\",\n} as const;\n\nexport type NucleusTokenKey =\n  (typeof NucleusTokenKey)[keyof typeof NucleusTokenKey];\n\nexport interface Token {\n  key: TokenKey | NucleusTokenKey;\n  name: string;\n  fullName?: string;\n  symbol: string;\n  addresses: Partial<Record<ChainId, Address>>; // TODO: Should update to Address type\n  rateOracles?: Partial<Record<ChainId, Address>>; // For getting the token/usd rate for that token on that chain\n  coinGeckoId?: string;\n}\n// TODO: Refactor and move to API\nexport const tokenConfig: Record<TokenKey, Token> = {\n  [TokenKey.ETH]: {\n    key: TokenKey.ETH,\n    name: \"ETH\",\n    symbol: \"ETH\",\n    addresses: {\n      [mainnet.id]: \"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\n      [boba.id]: \"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\n    },\n    coinGeckoId: \"ethereum\",\n  },\n  [TokenKey.WETH]: {\n    key: TokenKey.WETH,\n    name: \"WETH\",\n    symbol: \"WETH\",\n    fullName: \"Wrapped ETH\",\n    addresses: {\n      [mainnet.id]: \"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\",\n      [boba.id]: \"0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000\",\n      [plume.id]: \"0xee9e50425e1599e4ec09f0a5f76ce35a4924e4ac\",\n    },\n  },\n  [TokenKey.WSTETH]: {\n    key: TokenKey.WSTETH,\n    name: \"wsTETH\",\n    symbol: \"WSTETH\",\n    fullName: \"Wrapped StETH\",\n    addresses: {\n      [mainnet.id]: \"0xCd5fE23C85820F7B72D0926FC9b05b43E359b7ee\",\n    },\n  },\n  [TokenKey.EZETH]: {\n    key: TokenKey.EZETH,\n    name: \"EZETH\",\n    symbol: \"EZETH\",\n    addresses: {\n      [mainnet.id]: \"0xbf5495efe5db9ce00f80364c8b423567e58d2110\",\n    },\n  },\n  [TokenKey.PZETH]: {\n    key: TokenKey.PZETH,\n    name: \"PZETH\",\n    symbol: \"PZETH\",\n    addresses: {\n      [mainnet.id]: \"0x8c9532a60E0E7C6BbD2B2c1303F63aCE1c3E9811\",\n    },\n  },\n  [TokenKey.OPNRWA]: {\n    key: TokenKey.OPNRWA,\n    name: \"Op-nRWA\",\n    symbol: \"OPNRWA\",\n    addresses: {\n      [plume.id]: \"0xab306afbf157534cdea99bf197f473362468692e\",\n    },\n  },\n  [TokenKey.NRWA]: {\n    key: TokenKey.NRWA,\n    name: \"nRWA\",\n    symbol: \"NRWA\",\n    addresses: {\n      [plume.id]: \"0x593cCcA4c4bf58b7526a4C164cEEf4003C6388db\",\n    },\n  },\n  [TokenKey.PUSD]: {\n    key: TokenKey.PUSD,\n    name: \"pUSD\",\n    symbol: \"PUSD\",\n    addresses: {\n      [plume.id]: \"0xdddd73f5df1f0dc31373357beac77545dc5a6f3f\",\n    },\n  },\n  [TokenKey.PLUME]: {\n    key: TokenKey.PLUME,\n    name: \"Plume\",\n    symbol: \"PLUME\",\n    addresses: {\n      [plume.id]: \"0xEa237441c92CAe6FC17Caaf9a7acB3f953be4bd1\",\n    },\n  },\n  [TokenKey.USDC]: {\n    key: TokenKey.USDC,\n    name: \"USDC\",\n    symbol: \"USDC\",\n    addresses: {\n      [mainnet.id]: \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n    },\n  },\n  [TokenKey.USDCe]: {\n    key: TokenKey.USDCe,\n    name: \"Bridged USDC (Stargate)\",\n    symbol: \"USDC.e\",\n    addresses: {\n      [plume.id]: \"0x78adD880A697070c1e765Ac44D65323a0DcCE913\",\n    },\n  },\n};\n\n// TODO: Refactor and move to API\nexport const nucleusTokenConfig: Record<NucleusTokenKey, Token> = {\n  [NucleusTokenKey.BOBAETH]: {\n    key: NucleusTokenKey.BOBAETH,\n    name: \"bobaETH\",\n    fullName: \"Boba ETH\",\n    symbol: \"BOBAETH\",\n    addresses: {\n      [mainnet.id]: \"0x52E4d8989fa8b3E1C06696e7b16DEf5d7707A0d1\",\n      [boba.id]: \"0x52E4d8989fa8b3E1C06696e7b16DEf5d7707A0d1\",\n    },\n  },\n  [NucleusTokenKey.SSETH]: {\n    key: NucleusTokenKey.SSETH,\n    name: \"sETH\",\n    fullName: \"Sei Asset\",\n    symbol: \"SSETH\",\n    addresses: {\n      [mainnet.id]: \"0xA8A3A5013104e093245164eA56588DBE10a3Eb48\",\n      [sei.id]: \"0xA8A3A5013104e093245164eA56588DBE10a3Eb48\",\n    },\n  },\n  [NucleusTokenKey.FETH]: {\n    key: NucleusTokenKey.FETH,\n    name: \"FETH\",\n    symbol: \"FETH\",\n    addresses: {\n      [mainnet.id]: \"0x6C587402dC88Ef187670F744dFB9d6a09Ff7fd76\",\n      [form.id]: \"0x6C587402dC88Ef187670F744dFB9d6a09Ff7fd76\",\n    },\n  },\n  [NucleusTokenKey.RARIETH]: {\n    key: NucleusTokenKey.RARIETH,\n    name: \"RARIETH\",\n    symbol: \"RARIETH\",\n    addresses: {\n      [mainnet.id]: \"0x5d82Ac302C64B229dC94f866FD10EC6CcF8d47A2\",\n      [rari.id]: \"0x5d82Ac302C64B229dC94f866FD10EC6CcF8d47A2\",\n    },\n  },\n};\n"],"mappings":"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","names":[]}