UNPKG

@molecularlabs/nucleus-frontend

Version:
1 lines 7.87 kB
{"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":[]}