// A list of tokens that are commonly used in the DXdao ecosystem import { gnosis, mainnet } from 'viem/chains'; import { Token } from './token.js'; export const USDC: Readonly> = { [mainnet.id]: new Token({ chainId: mainnet.id, address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', decimals: 6, symbol: 'USDC', name: 'USD Coin', }), [gnosis.id]: new Token({ chainId: gnosis.id, address: '0xDDAfbb505ad214D7b80b1f830fcCc89B60fb7A83', decimals: 6, symbol: 'USDC', name: 'USD Coin', }), }; export const USDT: Readonly> = { [mainnet.id]: new Token({ chainId: mainnet.id, address: '0xdac17f958d2ee523a2206206994597c13d831ec7', decimals: 6, symbol: 'USDT', name: 'Tether USD', }), [gnosis.id]: new Token({ chainId: gnosis.id, address: '0x4ECaBa5870353805a9F068101A40E0f32ed605C6', decimals: 6, symbol: 'USDT', name: 'Tether USD', }), }; export const SETH2 = new Token({ chainId: mainnet.id, address: '0xFe2e637202056d30016725477c5da089Ab0A043A', decimals: 18, symbol: 'sETH2', name: 'sETH2', }); export const RETH2 = new Token({ chainId: mainnet.id, address: '0x20bc832ca081b91433ff6c17f85701b6e92486c5', decimals: 18, symbol: 'rETH2', name: 'rETH2', }); export const WETH: Readonly> = { [mainnet.id]: new Token({ chainId: mainnet.id, address: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2', decimals: 18, symbol: 'WETH', name: 'Wrapped Ether', }), [gnosis.id]: new Token({ chainId: gnosis.id, address: '0x6A023CCd1ff6F2045C3309768eAd9E68F978f6e1', decimals: 18, symbol: 'WETH', name: 'Wrapped Ether', }), }; export const wstETH: Readonly> = { [mainnet.id]: new Token({ address: '0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0', symbol: 'wstETH', name: 'Wrapped liquid staked Ether 2.0', decimals: 18, chainId: mainnet.id, }), [gnosis.id]: new Token({ address: '0x6c76971f98945ae98dd7d4dfca8711ebea946ea6', symbol: 'wstETH', name: 'Wrapped liquid staked Ether 2.0 from Mainnet', decimals: 18, chainId: gnosis.id, }), }; export const WXDAI = new Token({ chainId: gnosis.id, address: '0xe91D153E0b41518A2Ce8Dd3D7944Fa863463a97d', decimals: 18, symbol: 'WXDAI', name: 'Wrapped xDAI', }); export const DAI = new Token({ chainId: mainnet.id, address: '0x6B175474E89094C44Da98b954EedeAC495271d0F', decimals: 18, symbol: 'DAI', name: 'Dai Stablecoin', }); export const GNO: Readonly> = { [mainnet.id]: new Token({ chainId: mainnet.id, address: '0x6810e776880c02933d47db1b9fc05908e5386b96', decimals: 18, symbol: 'GNO', name: 'Gnosis', }), [gnosis.id]: new Token({ chainId: gnosis.id, address: '0x9c58bacc331c9aa871afd802db6379a98e80cedb', decimals: 18, symbol: 'GNO', name: 'Gnosis', }), }; export const OLAS: Record = { [mainnet.id]: new Token({ chainId: mainnet.id, address: '0x0001A500A6B18995B03f44bb040A5fFc28E45CB0', decimals: 18, symbol: 'OLAS', name: 'Olas', }), [gnosis.id]: new Token({ chainId: gnosis.id, address: '0xce11e14225575945b8e6dc0d4f2dd4c570f79d9f', decimals: 18, symbol: 'OLAS', name: 'Olas', }), }; export const COW: Readonly> = { [mainnet.id]: new Token({ chainId: mainnet.id, address: '0xdef1ca1fb7fbcdc777520aa7f396b4e015f497ab', decimals: 18, symbol: 'COW', name: 'COW', }), [gnosis.id]: new Token({ chainId: gnosis.id, address: '0x177127622c4a00f3d409b75571e12cb3c8973d3c', decimals: 18, symbol: 'COW', name: 'COW', }), }; export const SAFE: Readonly> = { [mainnet.id]: new Token({ chainId: mainnet.id, address: '0x5afe3855358e112b5647b952709e6165e1c1eeee', decimals: 18, symbol: 'SAFE', name: 'Safe', }), [gnosis.id]: new Token({ chainId: gnosis.id, address: '0x4d18815d14fe5c3304e87b3fa18318baa5c23820', decimals: 18, symbol: 'SAFE', name: 'Safe', }), }; export const sDAI: Readonly> = { [mainnet.id]: new Token({ chainId: mainnet.id, address: '0x83F20F44975D03b1b09e64809B757c47f942BEeA', decimals: 18, symbol: 'sDAI', name: 'sDAI', }), [gnosis.id]: new Token({ chainId: gnosis.id, address: '0xaf204776c7245bf4147c2612bf6e5972ee483701', decimals: 18, symbol: 'sDAI', name: 'sDAI', }), }; /** * USDCe is the USDC token on the Gnosis chain. * It is bridged from the Ethereum chain. */ export const USDCe = new Token({ address: '0x2a22f9c3b484c3629090feed35f17ff8f88f76f0', symbol: 'USDC.e', name: 'Bridged USDC (Gnosis)', decimals: 6, chainId: gnosis.id, }); export const legacyEURe = new Token({ symbol: 'EURe', name: 'Monerium EUR emoney', address: '0xcB444e90D8198415266c6a2724b7900fb12FC56E', decimals: 18, chainId: gnosis.id, }); /** * Monerium EURe */ export const moneriumEURe: Readonly> = { [mainnet.id]: new Token({ symbol: 'EURe', name: 'Monerium EURe', address: '0x39b8B6385416f4cA36a20319F70D28621895279D', decimals: 18, chainId: mainnet.id, }), [gnosis.id]: new Token({ symbol: 'EURe', name: 'Monerium EURe', address: '0x420CA0f9B9b604cE0fd9C18EF134C705e5Fa3430', decimals: 18, chainId: gnosis.id, }), }; /** * Monerium GBPe */ export const moneriumGBPe: Readonly> = { [mainnet.id]: new Token({ address: '0x78a20B7AF85156B4389a349Aa4c96efC2E509768', symbol: 'GBPe', name: 'Monerium GBP emoney', decimals: 18, chainId: mainnet.id, }), [gnosis.id]: new Token({ address: '0x8E34bfEC4f6Eb781f9743D9b4af99CD23F9b7053', symbol: 'GBPe', name: 'Monerium GBP emoney', decimals: 18, chainId: gnosis.id, }), }; export const osGNO = new Token({ address: '0xf490c80aae5f2616d3e3bda2483e30c4cb21d1a0', symbol: 'osGNO', name: 'Staked GNO', decimals: 18, chainId: gnosis.id, }); export const BRLA = new Token({ chainId: gnosis.id, address: '0xfecb3f7c54e2caae9dc6ac9060a822d47e053760', symbol: 'BRLA', name: 'BRLA Token', decimals: 18, }); export const bTSLA = new Token({ address: '0x14a5f2872396802c3cc8942a39ab3e4118ee5038', symbol: 'bTSLA', name: 'Backed Tesla', decimals: 18, chainId: gnosis.id, }); export const bNVDA = new Token({ chainId: gnosis.id, address: '0xa34c5e0abe843e10461e2c9586ea03e55dbcc495', decimals: 18, symbol: 'bNVDA', name: 'Backed NVIDIA', }); export const bCSPX = new Token({ address: '0x1e2c4fb7ede391d116e6b41cd0608260e8801d59', symbol: 'bCSPX', name: 'Backed CSPX S&P 500', decimals: 18, chainId: gnosis.id, }); export const bMSTR = new Token({ address: '0xac28c9178acc8ba4a11a29e013a3a2627086e422', symbol: 'bMSTR', name: 'Backed Strategy', decimals: 18, chainId: gnosis.id, }); export const bCOIN = new Token({ address: '0xbbcb0356bb9e6b3faa5cbf9e5f36185d53403ac9', symbol: 'bCOIN', name: 'Backed Coinbase', decimals: 18, chainId: gnosis.id, }); export const BAL: Readonly> = { [gnosis.id]: new Token({ address: '0x7ef541e2a22058048904fe5744f9c7e4c57af717', symbol: 'BAL', name: 'Balancer', decimals: 18, chainId: gnosis.id, }), }; export const backedTokens = { bCSPX, bTSLA, bCOIN, bMSTR, bNVDA, };