permitConfig.ts
1 import { ChainId } from '@aave/contract-helpers'; 2 3 /** 4 * Maps token permit support by chain and token address. 5 * Permit enables gasless approvals using signed messages (EIP-2612). 6 * 7 * To check if a token supports permit, check if the contract has a permit function in the chain's scanner 8 * or in the contract's source code. 9 * 10 * @dev use addresses in lowercase 11 */ 12 export const permitByChainAndToken: { 13 [chainId: number]: Record<string, boolean>; 14 } = { 15 [ChainId.mainnet]: { 16 '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48': false, // USDC 17 '0x6b175474e89094c44da98b954eedeac495271d0f': false, // DAI 18 '0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9': true, // AAVE 19 '0x514910771af9ca656af840dff83e8264ecf986ca': false, // LINK 20 '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599': false, // WBTC 21 '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2': false, // WETH 22 '0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0': true, // wstETH 23 '0x40d16fc0246ad3160ccc09b8d0d3a2cd28ae6c2f': true, // GHO 24 '0x5f98805a4e8be255a32880fdec7f6728c6568ba0': true, // LUSD 25 '0xdc035d45d973e3ec169d2276ddab16f1e407384f': true, // USDS 26 }, 27 [ChainId.arbitrum_one]: { 28 '0xf97f4df75117a78c1a5a0dbb814af92458539fb4': true, 29 '0xff970a61a04b1ca14834a43f5de4533ebddb5cc8': true, 30 '0x2f2a2543b76a4166549f7aab2e75bef0aefc5b0f': true, 31 '0x82af49447d8a07e3bd95bd0d56f35241523fbab1': true, 32 '0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9': true, 33 '0xba5ddd1f9d7f570dc94a51479a000e3bce967196': true, 34 '0x7dff72693f6a4149b17e7c6314655f6a9f7c8b33': true, // GHO 35 '0xd22a58f79e9481d1a88e00c343885a588b34b68b': false, // eurs 36 }, 37 38 [ChainId.polygon]: { 39 '0x4e3decbb3645551b8a19f0ea1678079fcb33fb4c': true, 40 }, 41 [ChainId.avalanche]: { 42 '0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7': true, 43 }, 44 [ChainId.optimism]: { 45 '0x76fb31fb4af56892a25e32cfc43de717950c9278': false, // aave 46 }, 47 [ChainId.zksync]: { 48 '0x5a7d6b2f92c77fad6ccabd7ee0624e64907eaf3e': true, 49 '0x703b52f2b28febcb60e1372858af5b18849fe867': true, 50 '0x493257fd37edb34451f62edf8d2a0c418852ba4c': true, 51 '0x5aea5775959fbc2557cc8789bc1bf90a239d9a91': true, 52 }, 53 [ChainId.linea]: { 54 '0xa219439258ca9da29e9cc4ce5596924745e12b93': true, // USDT 55 '0x2416092f143378750bb29b79ed961ab195cceea5': true, // ezETH 56 '0xb5bedd42000b71fdde22d3ee8a79bd49a568fc8f': true, // wstETH 57 }, 58 [ChainId.sonic]: { 59 // adding these in false for clarity 60 '0x50c42deacd8fc9773493ed674b675be577f2634b': false, // WETH 61 '0x039e2fb66102314ce7b64ce5ce3e5183bc94ad38': false, // wS 62 '0x29219dd400f2bf60e5a23d13be72b486d4038894': false, // USDC.e 63 }, 64 [ChainId.celo]: { 65 // '0xceba9300f2b948710d2653dd7b07f33a8b32118c': true, // USDC 66 '0x48065fbbe25f71c9282ddf5e1cd6d6a887483d5e': true, // USDT 67 // '0xd8763cba276a3738e6de85b4b3bf5fded6d6ca73': true, // cEUR 68 // '0x765de816845861e75a25fca122bb6898b8b1282a': true, // cUSD 69 }, 70 };