/ src / ui-config / permitConfig.ts
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  };