From a82dd54acca54838bbeac106511dbca312044737 Mon Sep 17 00:00:00 2001 From: Harsh Pandey Date: Thu, 14 Dec 2023 14:29:24 +0530 Subject: [PATCH 1/3] feat: scroll contracts --- package.json | 2 +- scripts/configs/networks/scroll.ts | 13 +++++ scripts/configs/pools/scroll.ts | 24 ++++++++ scripts/generateAddresses.ts | 5 +- scripts/generator/chains.ts | 1 + scripts/generator/clients.ts | 8 +++ src/AaveAddressBook.sol | 2 + src/AaveV2Ethereum.sol | 80 +++++++++++++------------- src/AaveV3Arbitrum.sol | 4 +- src/AaveV3Base.sol | 25 +++++++- src/AaveV3Optimism.sol | 4 +- src/AaveV3Scroll.sol | 92 ++++++++++++++++++++++++++++++ src/MiscScroll.sol | 11 ++++ src/ts/AaveAddressBook.ts | 2 + src/ts/AaveV2Ethereum.ts | 40 ++++++------- src/ts/AaveV3Arbitrum.ts | 4 +- src/ts/AaveV3Base.ts | 14 ++++- src/ts/AaveV3Optimism.ts | 4 +- src/ts/AaveV3Scroll.ts | 76 ++++++++++++++++++++++++ src/ts/MiscScroll.ts | 6 ++ yarn.lock | 18 +++--- 21 files changed, 352 insertions(+), 83 deletions(-) create mode 100644 scripts/configs/networks/scroll.ts create mode 100644 src/AaveV3Scroll.sol create mode 100644 src/MiscScroll.sol create mode 100644 src/ts/AaveV3Scroll.ts create mode 100644 src/ts/MiscScroll.ts diff --git a/package.json b/package.json index 317d015a..f3686499 100644 --- a/package.json +++ b/package.json @@ -54,6 +54,6 @@ "tsup": "^7.2.0", "tsx": "^3.14.0", "typescript": "^5.2.2", - "viem": "^1.18.9" + "viem": "^1.19.15" } } diff --git a/scripts/configs/networks/scroll.ts b/scripts/configs/networks/scroll.ts new file mode 100644 index 00000000..ebd16835 --- /dev/null +++ b/scripts/configs/networks/scroll.ts @@ -0,0 +1,13 @@ +import {ChainId} from '../../generator/chains'; +import {NetworkAddresses} from '../types'; + +export const scrollAddresses: NetworkAddresses = { + name: 'Scroll', + chainId: ChainId.scroll, + addresses: { + TRANSPARENT_PROXY_FACTORY: '0xFa2eeb2d0054C3Db2A606E2cd9EE111b62707D1e', + PROXY_ADMIN: '0x782559e349b084bB7C07c08404aE6E3436cDAE2E', + // TODO: CREATE_3_FACTORY: '', + // TODO: PROTOCOL_GUARDIAN: '', + }, +}; diff --git a/scripts/configs/pools/scroll.ts b/scripts/configs/pools/scroll.ts index 867d7fe9..c626544b 100644 --- a/scripts/configs/pools/scroll.ts +++ b/scripts/configs/pools/scroll.ts @@ -28,3 +28,27 @@ export const scrollSepoliaProtoV3: PoolConfig = { WETH_GATEWAY: '0x57ce905CfD7f986A929A26b006f797d181dB706e', }, }; + +export const scrollProtoV3: PoolConfig = { + name: 'Scroll', + chainId: ChainId.scroll, + POOL_ADDRESSES_PROVIDER: '0xdc5D225Df17df184d11015B91C4A10cd7834e2aC', + additionalAddresses: { + L2_ENCODER: '0x0ffE481FBF0AE2282A5E1f701fab266aF487A97D', + CAPS_PLUS_RISK_STEWARD: '0x36a92f2373400050656256B03Fa189145b708921', + FREEZING_STEWARD: '0xCC3958a77c001a5608768537F628cA3b0A2A9386', + CONFIG_ENGINE: '0x22913D4E21D44EF7662B118A6540450e25fE09a9', + POOL_ADDRESSES_PROVIDER_REGISTRY: '0xb0633e01310a09C1Ee71a96c057DcF9c13fd6F62', + RATES_FACTORY: '0xeF4d1F3F0dCe46C1Ad684F23Ea3aA542592A8cFe', + UI_INCENTIVE_DATA_PROVIDER: '0x9E7DF170E44093d6738057157CA048794B02555d', + UI_POOL_DATA_PROVIDER: '0x29CF7aC4Fc122085c0D4DE8894f878F0b141F799', + WALLET_BALANCE_PROVIDER: '0x07D04EfAAA0Ac69D19d107795aF247C42Eb50F1C', + WETH_GATEWAY: '0xd5DDE725b0A2dE43fBDb4E488A7fdA389210d461' + }, + initial: { + COLLECTOR: '0x83a9EFE0485e7C227F29fe376132EfF746B45E96', + DEFAULT_A_TOKEN_IMPL: '0xA9E3fFb25C369e44862DD3e87Be4420abb879965', + DEFAULT_VARIABLE_DEBT_TOKEN_IMPL: '0x95eeA7A0b16C8ee3A923D3F5ebe6d77C0332084c', + DEFAULT_STABLE_DEBT_TOKEN_IMPL: '0x07c319CaCAcF9422fA18f3e7389A0BE1B64cAB86', + }, +}; diff --git a/scripts/generateAddresses.ts b/scripts/generateAddresses.ts index 58ce342e..6b2cf555 100644 --- a/scripts/generateAddresses.ts +++ b/scripts/generateAddresses.ts @@ -29,7 +29,7 @@ import { polygonProtoV2, polygonProtoV3, } from './configs/pools/polygon'; -import {scrollAlphaProtoV3, scrollSepoliaProtoV3} from './configs/pools/scroll'; +import {scrollAlphaProtoV3, scrollSepoliaProtoV3, scrollProtoV3} from './configs/pools/scroll'; import {generateGovernanceLibrary} from './generator/governanceV3Generator'; import {generateProtocolV2Library} from './generator/protocolV2Generator'; import {generateProtocolV3Library} from './generator/protocolV3Generator'; @@ -56,6 +56,7 @@ import {optimismAddresses} from './configs/networks/optimism'; import {metisAddresses} from './configs/networks/metis'; import {gnosisAddresses} from './configs/networks/gnosis'; import {bnbAddresses} from './configs/networks/bnb'; +import {scrollAddresses} from './configs/networks/scroll'; async function main() { // cleanup ts artifacts @@ -114,6 +115,7 @@ async function main() { arbitrumProtoV3, optimismGoerliProtoV3, optimismProtoV3, + scrollProtoV3, scrollAlphaProtoV3, scrollSepoliaProtoV3, fantomTestnetProtoV3, @@ -133,6 +135,7 @@ async function main() { metisAddresses, gnosisAddresses, bnbAddresses, + scrollAddresses, sepoliaAddresses, mumbaiAddresses, ].map((addresses) => generateNetworkAddresses(addresses)); diff --git a/scripts/generator/chains.ts b/scripts/generator/chains.ts index 81c93fcb..66ca24db 100644 --- a/scripts/generator/chains.ts +++ b/scripts/generator/chains.ts @@ -16,6 +16,7 @@ export enum ChainId { optimism_goerli = 420, harmony = 1666600000, sepolia = 11155111, + scroll = 534352, scroll_alpha = 534353, scroll_sepolia = 534351, metis = 1088, diff --git a/scripts/generator/clients.ts b/scripts/generator/clients.ts index f65d4f2c..0a3c0286 100644 --- a/scripts/generator/clients.ts +++ b/scripts/generator/clients.ts @@ -12,6 +12,7 @@ import { optimismGoerli, fantom, fantomTestnet, + scroll, scrollTestnet, scrollSepolia, metis, @@ -173,4 +174,11 @@ export const RPC_PROVIDERS = { multicall: true, }, }), + [ChainId.scroll]: createPublicClient({ + chain: scroll, + transport: http(process.env.RPC_SCROLL), + batch: { + multicall: true, + }, + }), } as const; diff --git a/src/AaveAddressBook.sol b/src/AaveAddressBook.sol index 32655f1f..be5723c4 100644 --- a/src/AaveAddressBook.sol +++ b/src/AaveAddressBook.sol @@ -37,6 +37,7 @@ import {AaveV3ArbitrumGoerli} from './AaveV3ArbitrumGoerli.sol'; import {AaveV3Arbitrum} from './AaveV3Arbitrum.sol'; import {AaveV3OptimismGoerli} from './AaveV3OptimismGoerli.sol'; import {AaveV3Optimism} from './AaveV3Optimism.sol'; +import {AaveV3Scroll} from './AaveV3Scroll.sol'; import {AaveV3ScrollAlpha} from './AaveV3ScrollAlpha.sol'; import {AaveV3ScrollSepolia} from './AaveV3ScrollSepolia.sol'; import {AaveV3FantomTestnet} from './AaveV3FantomTestnet.sol'; @@ -52,6 +53,7 @@ import {MiscPolygon} from './MiscPolygon.sol'; import {MiscMetis} from './MiscMetis.sol'; import {MiscGnosis} from './MiscGnosis.sol'; import {MiscBNB} from './MiscBNB.sol'; +import {MiscScroll} from './MiscScroll.sol'; import {MiscSepolia} from './MiscSepolia.sol'; import {MiscMumbai} from './MiscMumbai.sol'; import {AaveGovernanceV2, IGovernanceStrategy} from './AaveGovernanceV2.sol'; diff --git a/src/AaveV2Ethereum.sol b/src/AaveV2Ethereum.sol index 47456f70..a0986263 100644 --- a/src/AaveV2Ethereum.sol +++ b/src/AaveV2Ethereum.sol @@ -165,8 +165,8 @@ library AaveV2EthereumAssets { // https://etherscan.io/address/0x7c5d4F8345e66f68099581Db340cd65B078C41f4 address internal constant YFI_ORACLE = 0x7c5d4F8345e66f68099581Db340cd65B078C41f4; - // https://etherscan.io/address/0xfd71623D7F41360aefE200de4f17E20A29e1d58C - address internal constant YFI_INTEREST_RATE_STRATEGY = 0xfd71623D7F41360aefE200de4f17E20A29e1d58C; + // https://etherscan.io/address/0x2c206fa2127aB7f1CE3dc987daf683Ed5B9CF069 + address internal constant YFI_INTEREST_RATE_STRATEGY = 0x2c206fa2127aB7f1CE3dc987daf683Ed5B9CF069; // https://etherscan.io/address/0xE41d2489571d322189246DaFA5ebDe1F4699F498 address internal constant ZRX_UNDERLYING = 0xE41d2489571d322189246DaFA5ebDe1F4699F498; @@ -185,8 +185,8 @@ library AaveV2EthereumAssets { // https://etherscan.io/address/0x2Da4983a622a8498bb1a21FaE9D8F6C664939962 address internal constant ZRX_ORACLE = 0x2Da4983a622a8498bb1a21FaE9D8F6C664939962; - // https://etherscan.io/address/0x1a4babC0e20d892167792AC79618273711afD3e7 - address internal constant ZRX_INTEREST_RATE_STRATEGY = 0x1a4babC0e20d892167792AC79618273711afD3e7; + // https://etherscan.io/address/0x2c206fa2127aB7f1CE3dc987daf683Ed5B9CF069 + address internal constant ZRX_INTEREST_RATE_STRATEGY = 0x2c206fa2127aB7f1CE3dc987daf683Ed5B9CF069; // https://etherscan.io/address/0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984 address internal constant UNI_UNDERLYING = 0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984; @@ -205,8 +205,8 @@ library AaveV2EthereumAssets { // https://etherscan.io/address/0xD6aA3D25116d8dA79Ea0246c4826EB951872e02e address internal constant UNI_ORACLE = 0xD6aA3D25116d8dA79Ea0246c4826EB951872e02e; - // https://etherscan.io/address/0x24ABFac8dd8f270D752837fDFe3B3C735361f4eE - address internal constant UNI_INTEREST_RATE_STRATEGY = 0x24ABFac8dd8f270D752837fDFe3B3C735361f4eE; + // https://etherscan.io/address/0x87cCa171a2125efca9868F9Bc1FfD7B7c80dC5a3 + address internal constant UNI_INTEREST_RATE_STRATEGY = 0x87cCa171a2125efca9868F9Bc1FfD7B7c80dC5a3; // https://etherscan.io/address/0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9 address internal constant AAVE_UNDERLYING = 0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9; @@ -246,8 +246,8 @@ library AaveV2EthereumAssets { // https://etherscan.io/address/0x0d16d4528239e9ee52fa531af613AcdB23D88c94 address internal constant BAT_ORACLE = 0x0d16d4528239e9ee52fa531af613AcdB23D88c94; - // https://etherscan.io/address/0xBdfC85b140edF1FeaFd6eD664027AA4C23b4A29F - address internal constant BAT_INTEREST_RATE_STRATEGY = 0xBdfC85b140edF1FeaFd6eD664027AA4C23b4A29F; + // https://etherscan.io/address/0x2c206fa2127aB7f1CE3dc987daf683Ed5B9CF069 + address internal constant BAT_INTEREST_RATE_STRATEGY = 0x2c206fa2127aB7f1CE3dc987daf683Ed5B9CF069; // https://etherscan.io/address/0x4Fabb145d64652a948d72533023f6E7A623C7C53 address internal constant BUSD_UNDERLYING = 0x4Fabb145d64652a948d72533023f6E7A623C7C53; @@ -307,8 +307,8 @@ library AaveV2EthereumAssets { // https://etherscan.io/address/0x24D9aB51950F3d62E9144fdC2f3135DAA6Ce8D1B address internal constant ENJ_ORACLE = 0x24D9aB51950F3d62E9144fdC2f3135DAA6Ce8D1B; - // https://etherscan.io/address/0x4a4fb6B26e7F516594b7242240039EA8FAAc897a - address internal constant ENJ_INTEREST_RATE_STRATEGY = 0x4a4fb6B26e7F516594b7242240039EA8FAAc897a; + // https://etherscan.io/address/0x2c206fa2127aB7f1CE3dc987daf683Ed5B9CF069 + address internal constant ENJ_INTEREST_RATE_STRATEGY = 0x2c206fa2127aB7f1CE3dc987daf683Ed5B9CF069; // https://etherscan.io/address/0xdd974D5C2e2928deA5F71b9825b8b646686BD200 address internal constant KNC_UNDERLYING = 0xdd974D5C2e2928deA5F71b9825b8b646686BD200; @@ -327,8 +327,8 @@ library AaveV2EthereumAssets { // https://etherscan.io/address/0x656c0544eF4C98A6a98491833A89204Abb045d6b address internal constant KNC_ORACLE = 0x656c0544eF4C98A6a98491833A89204Abb045d6b; - // https://etherscan.io/address/0xFDBDa42D2aC1bfbbc10555eb255De8387b8977C4 - address internal constant KNC_INTEREST_RATE_STRATEGY = 0xFDBDa42D2aC1bfbbc10555eb255De8387b8977C4; + // https://etherscan.io/address/0xeB65a3163Fd8900F4fE9a044e18966706b69A74D + address internal constant KNC_INTEREST_RATE_STRATEGY = 0xeB65a3163Fd8900F4fE9a044e18966706b69A74D; // https://etherscan.io/address/0x514910771AF9Ca656af840dff83E8264EcF986CA address internal constant LINK_UNDERLYING = 0x514910771AF9Ca656af840dff83E8264EcF986CA; @@ -368,9 +368,9 @@ library AaveV2EthereumAssets { // https://etherscan.io/address/0x82A44D92D6c329826dc557c5E1Be6ebeC5D5FeB9 address internal constant MANA_ORACLE = 0x82A44D92D6c329826dc557c5E1Be6ebeC5D5FeB9; - // https://etherscan.io/address/0x004fC239848D8A8d3304729b78ba81d73d83C99F + // https://etherscan.io/address/0x2c206fa2127aB7f1CE3dc987daf683Ed5B9CF069 address internal constant MANA_INTEREST_RATE_STRATEGY = - 0x004fC239848D8A8d3304729b78ba81d73d83C99F; + 0x2c206fa2127aB7f1CE3dc987daf683Ed5B9CF069; // https://etherscan.io/address/0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2 address internal constant MKR_UNDERLYING = 0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2; @@ -389,8 +389,8 @@ library AaveV2EthereumAssets { // https://etherscan.io/address/0x24551a8Fb2A7211A25a17B1481f043A8a8adC7f2 address internal constant MKR_ORACLE = 0x24551a8Fb2A7211A25a17B1481f043A8a8adC7f2; - // https://etherscan.io/address/0xE3a3DE71B827cB73663A24cDB6243bA7F986cC3b - address internal constant MKR_INTEREST_RATE_STRATEGY = 0xE3a3DE71B827cB73663A24cDB6243bA7F986cC3b; + // https://etherscan.io/address/0x2c206fa2127aB7f1CE3dc987daf683Ed5B9CF069 + address internal constant MKR_INTEREST_RATE_STRATEGY = 0x2c206fa2127aB7f1CE3dc987daf683Ed5B9CF069; // https://etherscan.io/address/0x408e41876cCCDC0F92210600ef50372656052a38 address internal constant REN_UNDERLYING = 0x408e41876cCCDC0F92210600ef50372656052a38; @@ -409,8 +409,8 @@ library AaveV2EthereumAssets { // https://etherscan.io/address/0x3147D7203354Dc06D9fd350c7a2437bcA92387a4 address internal constant REN_ORACLE = 0x3147D7203354Dc06D9fd350c7a2437bcA92387a4; - // https://etherscan.io/address/0x9B1e3C7483F0f21abFEaE3AeBC9b47b5f23f5bB0 - address internal constant REN_INTEREST_RATE_STRATEGY = 0x9B1e3C7483F0f21abFEaE3AeBC9b47b5f23f5bB0; + // https://etherscan.io/address/0x2c206fa2127aB7f1CE3dc987daf683Ed5B9CF069 + address internal constant REN_INTEREST_RATE_STRATEGY = 0x2c206fa2127aB7f1CE3dc987daf683Ed5B9CF069; // https://etherscan.io/address/0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F address internal constant SNX_UNDERLYING = 0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F; @@ -429,8 +429,8 @@ library AaveV2EthereumAssets { // https://etherscan.io/address/0x79291A9d692Df95334B1a0B3B4AE6bC606782f8c address internal constant SNX_ORACLE = 0x79291A9d692Df95334B1a0B3B4AE6bC606782f8c; - // https://etherscan.io/address/0xCc92073dDe8aE03bAA1812AC5cF22e69b5E76914 - address internal constant SNX_INTEREST_RATE_STRATEGY = 0xCc92073dDe8aE03bAA1812AC5cF22e69b5E76914; + // https://etherscan.io/address/0xB2D822cAdb9040F3164829BC34e41a93cA3E01e5 + address internal constant SNX_INTEREST_RATE_STRATEGY = 0xB2D822cAdb9040F3164829BC34e41a93cA3E01e5; // https://etherscan.io/address/0x57Ab1ec28D129707052df4dF418D58a2D46d5f51 address internal constant sUSD_UNDERLYING = 0x57Ab1ec28D129707052df4dF418D58a2D46d5f51; @@ -512,8 +512,8 @@ library AaveV2EthereumAssets { // https://etherscan.io/address/0x8a12Be339B0cD1829b91Adc01977caa5E9ac121e address internal constant CRV_ORACLE = 0x8a12Be339B0cD1829b91Adc01977caa5E9ac121e; - // https://etherscan.io/address/0xA4C2C730A4c01c64d54ce0165c27120989A3C743 - address internal constant CRV_INTEREST_RATE_STRATEGY = 0xA4C2C730A4c01c64d54ce0165c27120989A3C743; + // https://etherscan.io/address/0x35FE8C9924718f286463e659be35b4122eEe907F + address internal constant CRV_INTEREST_RATE_STRATEGY = 0x35FE8C9924718f286463e659be35b4122eEe907F; // https://etherscan.io/address/0x056Fd409E1d7A124BD7017459dFEa2F387b6d5Cd address internal constant GUSD_UNDERLYING = 0x056Fd409E1d7A124BD7017459dFEa2F387b6d5Cd; @@ -553,8 +553,8 @@ library AaveV2EthereumAssets { // https://etherscan.io/address/0xC1438AA3823A6Ba0C159CfA8D98dF5A994bA120b address internal constant BAL_ORACLE = 0xC1438AA3823A6Ba0C159CfA8D98dF5A994bA120b; - // https://etherscan.io/address/0x46158614537A48D51a30073A86b4B73B16D33b53 - address internal constant BAL_INTEREST_RATE_STRATEGY = 0x46158614537A48D51a30073A86b4B73B16D33b53; + // https://etherscan.io/address/0xb873ec463CAC50112B0e14d060fbc4192406279f + address internal constant BAL_INTEREST_RATE_STRATEGY = 0xb873ec463CAC50112B0e14d060fbc4192406279f; // https://etherscan.io/address/0x8798249c2E607446EfB7Ad49eC89dD1865Ff4272 address internal constant xSUSHI_UNDERLYING = 0x8798249c2E607446EfB7Ad49eC89dD1865Ff4272; @@ -573,9 +573,9 @@ library AaveV2EthereumAssets { // https://etherscan.io/address/0xF05D9B6C08757EAcb1fbec18e36A1B7566a13DEB address internal constant xSUSHI_ORACLE = 0xF05D9B6C08757EAcb1fbec18e36A1B7566a13DEB; - // https://etherscan.io/address/0xb49034Ada4BE5c6Bb3823A623C6250267110b06b + // https://etherscan.io/address/0x6855E5544Cd803BF24c9612b3F12C009116B0ee1 address internal constant xSUSHI_INTEREST_RATE_STRATEGY = - 0xb49034Ada4BE5c6Bb3823A623C6250267110b06b; + 0x6855E5544Cd803BF24c9612b3F12C009116B0ee1; // https://etherscan.io/address/0xD5147bc8e386d91Cc5DBE72099DAC6C9b99276F5 address internal constant renFIL_UNDERLYING = 0xD5147bc8e386d91Cc5DBE72099DAC6C9b99276F5; @@ -615,8 +615,8 @@ library AaveV2EthereumAssets { // https://etherscan.io/address/0x4ad7B025127e89263242aB68F0f9c4E5C033B489 address internal constant RAI_ORACLE = 0x4ad7B025127e89263242aB68F0f9c4E5C033B489; - // https://etherscan.io/address/0xA7d4df837926cD55036175AfeF38395d56A64c22 - address internal constant RAI_INTEREST_RATE_STRATEGY = 0xA7d4df837926cD55036175AfeF38395d56A64c22; + // https://etherscan.io/address/0xc83cDb49F234EC6666D7857B3EAa1302b109394C + address internal constant RAI_INTEREST_RATE_STRATEGY = 0xc83cDb49F234EC6666D7857B3EAa1302b109394C; // https://etherscan.io/address/0xD46bA6D942050d489DBd938a2C909A5d5039A161 address internal constant AMPL_UNDERLYING = 0xD46bA6D942050d489DBd938a2C909A5d5039A161; @@ -635,9 +635,9 @@ library AaveV2EthereumAssets { // https://etherscan.io/address/0x492575FDD11a0fCf2C6C719867890a7648d526eB address internal constant AMPL_ORACLE = 0x492575FDD11a0fCf2C6C719867890a7648d526eB; - // https://etherscan.io/address/0x84d1FaD9559b8AC1Fda17d073B8542c8Fb6986dd + // https://etherscan.io/address/0xB2D822cAdb9040F3164829BC34e41a93cA3E01e5 address internal constant AMPL_INTEREST_RATE_STRATEGY = - 0x84d1FaD9559b8AC1Fda17d073B8542c8Fb6986dd; + 0xB2D822cAdb9040F3164829BC34e41a93cA3E01e5; // https://etherscan.io/address/0x8E870D67F660D95d5be530380D0eC0bd388289E1 address internal constant USDP_UNDERLYING = 0x8E870D67F660D95d5be530380D0eC0bd388289E1; @@ -677,8 +677,8 @@ library AaveV2EthereumAssets { // https://etherscan.io/address/0x029849bbc0b1d93b85a8b6190e979fd38F5760E2 address internal constant DPI_ORACLE = 0x029849bbc0b1d93b85a8b6190e979fd38F5760E2; - // https://etherscan.io/address/0x9440aEc0795D7485e58bCF26622c2f4A681A9671 - address internal constant DPI_INTEREST_RATE_STRATEGY = 0x9440aEc0795D7485e58bCF26622c2f4A681A9671; + // https://etherscan.io/address/0xA12D7bB07379ad6de4497B80088e28D4C00932D1 + address internal constant DPI_INTEREST_RATE_STRATEGY = 0xA12D7bB07379ad6de4497B80088e28D4C00932D1; // https://etherscan.io/address/0x853d955aCEf822Db058eb8505911ED77F175b99e address internal constant FRAX_UNDERLYING = 0x853d955aCEf822Db058eb8505911ED77F175b99e; @@ -759,8 +759,8 @@ library AaveV2EthereumAssets { // https://etherscan.io/address/0xd4641b75015E6536E8102D98479568D05D7123Db address internal constant ENS_ORACLE = 0xd4641b75015E6536E8102D98479568D05D7123Db; - // https://etherscan.io/address/0xb2eD1eCE1c13455Ce9299d35D3B00358529f3Dc8 - address internal constant ENS_INTEREST_RATE_STRATEGY = 0xb2eD1eCE1c13455Ce9299d35D3B00358529f3Dc8; + // https://etherscan.io/address/0x6855E5544Cd803BF24c9612b3F12C009116B0ee1 + address internal constant ENS_INTEREST_RATE_STRATEGY = 0x6855E5544Cd803BF24c9612b3F12C009116B0ee1; // https://etherscan.io/address/0xa693B19d2931d498c5B318dF961919BB4aee87a5 address internal constant UST_UNDERLYING = 0xa693B19d2931d498c5B318dF961919BB4aee87a5; @@ -779,8 +779,8 @@ library AaveV2EthereumAssets { // https://etherscan.io/address/0xa20623070413d42a5C01Db2c8111640DD7A5A03a address internal constant UST_ORACLE = 0xa20623070413d42a5C01Db2c8111640DD7A5A03a; - // https://etherscan.io/address/0x0dEDCaE8Eb22A2EFB597aBde1834173C47Cff186 - address internal constant UST_INTEREST_RATE_STRATEGY = 0x0dEDCaE8Eb22A2EFB597aBde1834173C47Cff186; + // https://etherscan.io/address/0xc83cDb49F234EC6666D7857B3EAa1302b109394C + address internal constant UST_INTEREST_RATE_STRATEGY = 0xc83cDb49F234EC6666D7857B3EAa1302b109394C; // https://etherscan.io/address/0x4e3FBD56CD56c3e72c1403e103b45Db9da5B9D2B address internal constant CVX_UNDERLYING = 0x4e3FBD56CD56c3e72c1403e103b45Db9da5B9D2B; @@ -799,8 +799,8 @@ library AaveV2EthereumAssets { // https://etherscan.io/address/0xC9CbF687f43176B302F03f5e58470b77D07c61c6 address internal constant CVX_ORACLE = 0xC9CbF687f43176B302F03f5e58470b77D07c61c6; - // https://etherscan.io/address/0x1dA981865AE7a0C838eFBF4C7DFecb5c7268E73A - address internal constant CVX_INTEREST_RATE_STRATEGY = 0x1dA981865AE7a0C838eFBF4C7DFecb5c7268E73A; + // https://etherscan.io/address/0x2c206fa2127aB7f1CE3dc987daf683Ed5B9CF069 + address internal constant CVX_INTEREST_RATE_STRATEGY = 0x2c206fa2127aB7f1CE3dc987daf683Ed5B9CF069; // https://etherscan.io/address/0x111111111117dC0aa78b770fA6A738034120C302 address internal constant ONE_INCH_UNDERLYING = 0x111111111117dC0aa78b770fA6A738034120C302; @@ -819,9 +819,9 @@ library AaveV2EthereumAssets { // https://etherscan.io/address/0x72AFAECF99C9d9C8215fF44C77B94B99C28741e8 address internal constant ONE_INCH_ORACLE = 0x72AFAECF99C9d9C8215fF44C77B94B99C28741e8; - // https://etherscan.io/address/0xb2eD1eCE1c13455Ce9299d35D3B00358529f3Dc8 + // https://etherscan.io/address/0x6855E5544Cd803BF24c9612b3F12C009116B0ee1 address internal constant ONE_INCH_INTEREST_RATE_STRATEGY = - 0xb2eD1eCE1c13455Ce9299d35D3B00358529f3Dc8; + 0x6855E5544Cd803BF24c9612b3F12C009116B0ee1; // https://etherscan.io/address/0x5f98805A4E8be255a32880FDeC7F6728C6568bA0 address internal constant LUSD_UNDERLYING = 0x5f98805A4E8be255a32880FDeC7F6728C6568bA0; diff --git a/src/AaveV3Arbitrum.sol b/src/AaveV3Arbitrum.sol index f308ed0c..18730f16 100644 --- a/src/AaveV3Arbitrum.sol +++ b/src/AaveV3Arbitrum.sol @@ -20,8 +20,8 @@ library AaveV3Arbitrum { // https://arbiscan.io/address/0xb56c2F0B653B2e0b10C9b928C8580Ac5Df02C7C7 IAaveOracle internal constant ORACLE = IAaveOracle(0xb56c2F0B653B2e0b10C9b928C8580Ac5Df02C7C7); - // https://arbiscan.io/address/0xF876d26041a4Fdc7A787d209DC3D2795dDc74f1e - address internal constant PRICE_ORACLE_SENTINEL = 0xF876d26041a4Fdc7A787d209DC3D2795dDc74f1e; + // https://arbiscan.io/address/0x7A9ff54A6eE4a21223036890bB8c4ea2D62c686b + address internal constant PRICE_ORACLE_SENTINEL = 0x7A9ff54A6eE4a21223036890bB8c4ea2D62c686b; // https://arbiscan.io/address/0x6b4E260b765B3cA1514e618C0215A6B7839fF93e IPoolDataProvider internal constant AAVE_PROTOCOL_DATA_PROVIDER = diff --git a/src/AaveV3Base.sol b/src/AaveV3Base.sol index 7983af95..10b1e28d 100644 --- a/src/AaveV3Base.sol +++ b/src/AaveV3Base.sol @@ -20,8 +20,8 @@ library AaveV3Base { // https://basescan.org/address/0x2Cc0Fc26eD4563A5ce5e8bdcfe1A2878676Ae156 IAaveOracle internal constant ORACLE = IAaveOracle(0x2Cc0Fc26eD4563A5ce5e8bdcfe1A2878676Ae156); - // https://basescan.org/address/0xe34949A48cd2E6f5CD41753e449bd2d43993C9AC - address internal constant PRICE_ORACLE_SENTINEL = 0xe34949A48cd2E6f5CD41753e449bd2d43993C9AC; + // https://basescan.org/address/0x943AcD0c93d7a8Bee7dA5Fd0DC3d0028237074d6 + address internal constant PRICE_ORACLE_SENTINEL = 0x943AcD0c93d7a8Bee7dA5Fd0DC3d0028237074d6; // https://basescan.org/address/0x2d8A3C5677189723C4cB8873CfC9C8976FDF38Ac IPoolDataProvider internal constant AAVE_PROTOCOL_DATA_PROVIDER = @@ -175,6 +175,27 @@ library AaveV3BaseAssets { // https://basescan.org/address/0x6fCe2756794128B1771324caA860965801DCbCdB address internal constant USDbC_STATA_TOKEN = 0x6fCe2756794128B1771324caA860965801DCbCdB; + + // https://basescan.org/address/0xc1CBa3fCea344f92D9239c08C0568f6F2F0ee452 + address internal constant wstETH_UNDERLYING = 0xc1CBa3fCea344f92D9239c08C0568f6F2F0ee452; + + uint8 internal constant wstETH_DECIMALS = 18; + + // https://basescan.org/address/0x99CBC45ea5bb7eF3a5BC08FB1B7E56bB2442Ef0D + address internal constant wstETH_A_TOKEN = 0x99CBC45ea5bb7eF3a5BC08FB1B7E56bB2442Ef0D; + + // https://basescan.org/address/0x41A7C3f5904ad176dACbb1D99101F59ef0811DC1 + address internal constant wstETH_V_TOKEN = 0x41A7C3f5904ad176dACbb1D99101F59ef0811DC1; + + // https://basescan.org/address/0xfe742Fa2a84294E8316F05b17c05090Fc68B5105 + address internal constant wstETH_S_TOKEN = 0xfe742Fa2a84294E8316F05b17c05090Fc68B5105; + + // https://basescan.org/address/0x945fD405773973d286De54E44649cc0d9e264F78 + address internal constant wstETH_ORACLE = 0x945fD405773973d286De54E44649cc0d9e264F78; + + // https://basescan.org/address/0x2f51b00eC4912874DFDBd8dC3C8e390c21e77aF9 + address internal constant wstETH_INTEREST_RATE_STRATEGY = + 0x2f51b00eC4912874DFDBd8dC3C8e390c21e77aF9; } library AaveV3BaseEModes { diff --git a/src/AaveV3Optimism.sol b/src/AaveV3Optimism.sol index 8ebede0e..97b2558e 100644 --- a/src/AaveV3Optimism.sol +++ b/src/AaveV3Optimism.sol @@ -20,8 +20,8 @@ library AaveV3Optimism { // https://explorer.optimism.io/address/0xD81eb3728a631871a7eBBaD631b5f424909f0c77 IAaveOracle internal constant ORACLE = IAaveOracle(0xD81eb3728a631871a7eBBaD631b5f424909f0c77); - // https://explorer.optimism.io/address/0xB1ba0787Ca0A45f086F8CA03c97E7593636E47D5 - address internal constant PRICE_ORACLE_SENTINEL = 0xB1ba0787Ca0A45f086F8CA03c97E7593636E47D5; + // https://explorer.optimism.io/address/0xE229d5DE4BD5beEAf12d427B5B57BFe66abD2c3b + address internal constant PRICE_ORACLE_SENTINEL = 0xE229d5DE4BD5beEAf12d427B5B57BFe66abD2c3b; // https://explorer.optimism.io/address/0xd9Ca4878dd38B021583c1B669905592EAe76E044 IPoolDataProvider internal constant AAVE_PROTOCOL_DATA_PROVIDER = diff --git a/src/AaveV3Scroll.sol b/src/AaveV3Scroll.sol new file mode 100644 index 00000000..fad808a9 --- /dev/null +++ b/src/AaveV3Scroll.sol @@ -0,0 +1,92 @@ +// AUTOGENERATED - MANUALLY CHANGES WILL BE REVERTED BY THE GENERATOR +// SPDX-License-Identifier: MIT +pragma solidity >=0.6.0; + +import {IPoolAddressesProvider, IPool, IPoolConfigurator, IAaveOracle, IPoolDataProvider, IACLManager} from './AaveV3.sol'; +import {ICollector} from './common/ICollector.sol'; + +library AaveV3Scroll { + // https://scrollscan.com/address/0xdc5D225Df17df184d11015B91C4A10cd7834e2aC + IPoolAddressesProvider internal constant POOL_ADDRESSES_PROVIDER = + IPoolAddressesProvider(0xdc5D225Df17df184d11015B91C4A10cd7834e2aC); + + // https://scrollscan.com/address/0xe37405957E371D07A1086a02ae33Ae443d4574F9 + IPool internal constant POOL = IPool(0xe37405957E371D07A1086a02ae33Ae443d4574F9); + + // https://scrollscan.com/address/0x81b161773CE43781A3E67d71f652E0E22f21e170 + IPoolConfigurator internal constant POOL_CONFIGURATOR = + IPoolConfigurator(0x81b161773CE43781A3E67d71f652E0E22f21e170); + + // https://scrollscan.com/address/0xD936362a1960ECE6c99a89F0a6f1104f0873826A + IAaveOracle internal constant ORACLE = IAaveOracle(0xD936362a1960ECE6c99a89F0a6f1104f0873826A); + + // https://scrollscan.com/address/0x0000000000000000000000000000000000000000 + address internal constant PRICE_ORACLE_SENTINEL = 0x0000000000000000000000000000000000000000; + + // https://scrollscan.com/address/0xa411Accec7000c52feE9bFeDaDc53E1CEF72d6d4 + IPoolDataProvider internal constant AAVE_PROTOCOL_DATA_PROVIDER = + IPoolDataProvider(0xa411Accec7000c52feE9bFeDaDc53E1CEF72d6d4); + + // https://scrollscan.com/address/0xAF4646B0131af8fc0DC435AF7F7d303Ac131E072 + IACLManager internal constant ACL_MANAGER = + IACLManager(0xAF4646B0131af8fc0DC435AF7F7d303Ac131E072); + + // https://scrollscan.com/address/0xc1ABF87FfAdf4908f4eC8dc54A25DCFEabAE4A24 + address internal constant ACL_ADMIN = 0xc1ABF87FfAdf4908f4eC8dc54A25DCFEabAE4A24; + + // https://scrollscan.com/address/0x83a9EFE0485e7C227F29fe376132EfF746B45E96 + ICollector internal constant COLLECTOR = ICollector(0x83a9EFE0485e7C227F29fe376132EfF746B45E96); + + // https://scrollscan.com/address/0xB972ABEdB6047e0EfcfE1261c10F1a93C4daE29F + address internal constant DEFAULT_INCENTIVES_CONTROLLER = + 0xB972ABEdB6047e0EfcfE1261c10F1a93C4daE29F; + + // https://scrollscan.com/address/0xA9E3fFb25C369e44862DD3e87Be4420abb879965 + address internal constant DEFAULT_A_TOKEN_IMPL_REV_1 = 0xA9E3fFb25C369e44862DD3e87Be4420abb879965; + + // https://scrollscan.com/address/0x95eeA7A0b16C8ee3A923D3F5ebe6d77C0332084c + address internal constant DEFAULT_VARIABLE_DEBT_TOKEN_IMPL_REV_1 = + 0x95eeA7A0b16C8ee3A923D3F5ebe6d77C0332084c; + + // https://scrollscan.com/address/0x07c319CaCAcF9422fA18f3e7389A0BE1B64cAB86 + address internal constant DEFAULT_STABLE_DEBT_TOKEN_IMPL_REV_1 = + 0x07c319CaCAcF9422fA18f3e7389A0BE1B64cAB86; + + // https://scrollscan.com/address/0x7417cB07350Cc50ad5d461648cA55E2405190887 + address internal constant EMISSION_MANAGER = 0x7417cB07350Cc50ad5d461648cA55E2405190887; + + // https://scrollscan.com/address/0x0ffE481FBF0AE2282A5E1f701fab266aF487A97D + address internal constant L2_ENCODER = 0x0ffE481FBF0AE2282A5E1f701fab266aF487A97D; + + // https://scrollscan.com/address/0x36a92f2373400050656256B03Fa189145b708921 + address internal constant CAPS_PLUS_RISK_STEWARD = 0x36a92f2373400050656256B03Fa189145b708921; + + // https://scrollscan.com/address/0xCC3958a77c001a5608768537F628cA3b0A2A9386 + address internal constant FREEZING_STEWARD = 0xCC3958a77c001a5608768537F628cA3b0A2A9386; + + // https://scrollscan.com/address/0x22913D4E21D44EF7662B118A6540450e25fE09a9 + address internal constant CONFIG_ENGINE = 0x22913D4E21D44EF7662B118A6540450e25fE09a9; + + // https://scrollscan.com/address/0xb0633e01310a09C1Ee71a96c057DcF9c13fd6F62 + address internal constant POOL_ADDRESSES_PROVIDER_REGISTRY = + 0xb0633e01310a09C1Ee71a96c057DcF9c13fd6F62; + + // https://scrollscan.com/address/0xeF4d1F3F0dCe46C1Ad684F23Ea3aA542592A8cFe + address internal constant RATES_FACTORY = 0xeF4d1F3F0dCe46C1Ad684F23Ea3aA542592A8cFe; + + // https://scrollscan.com/address/0x9E7DF170E44093d6738057157CA048794B02555d + address internal constant UI_INCENTIVE_DATA_PROVIDER = 0x9E7DF170E44093d6738057157CA048794B02555d; + + // https://scrollscan.com/address/0x29CF7aC4Fc122085c0D4DE8894f878F0b141F799 + address internal constant UI_POOL_DATA_PROVIDER = 0x29CF7aC4Fc122085c0D4DE8894f878F0b141F799; + + // https://scrollscan.com/address/0x07D04EfAAA0Ac69D19d107795aF247C42Eb50F1C + address internal constant WALLET_BALANCE_PROVIDER = 0x07D04EfAAA0Ac69D19d107795aF247C42Eb50F1C; + + // https://scrollscan.com/address/0xd5DDE725b0A2dE43fBDb4E488A7fdA389210d461 + address internal constant WETH_GATEWAY = 0xd5DDE725b0A2dE43fBDb4E488A7fdA389210d461; +} + +library AaveV3ScrollAssets {} + +library AaveV3ScrollEModes {} diff --git a/src/MiscScroll.sol b/src/MiscScroll.sol new file mode 100644 index 00000000..ebca80b7 --- /dev/null +++ b/src/MiscScroll.sol @@ -0,0 +1,11 @@ +// AUTOGENERATED - MANUALLY CHANGES WILL BE REVERTED BY THE GENERATOR +// SPDX-License-Identifier: MIT +pragma solidity >=0.6.0; + +library MiscScroll { + // https://scrollscan.com/address/0xFa2eeb2d0054C3Db2A606E2cd9EE111b62707D1e + address internal constant TRANSPARENT_PROXY_FACTORY = 0xFa2eeb2d0054C3Db2A606E2cd9EE111b62707D1e; + + // https://scrollscan.com/address/0x782559e349b084bB7C07c08404aE6E3436cDAE2E + address internal constant PROXY_ADMIN = 0x782559e349b084bB7C07c08404aE6E3436cDAE2E; +} diff --git a/src/ts/AaveAddressBook.ts b/src/ts/AaveAddressBook.ts index 61fbbb09..63ab1be9 100644 --- a/src/ts/AaveAddressBook.ts +++ b/src/ts/AaveAddressBook.ts @@ -34,6 +34,7 @@ export * as AaveV3ArbitrumGoerli from './AaveV3ArbitrumGoerli'; export * as AaveV3Arbitrum from './AaveV3Arbitrum'; export * as AaveV3OptimismGoerli from './AaveV3OptimismGoerli'; export * as AaveV3Optimism from './AaveV3Optimism'; +export * as AaveV3Scroll from './AaveV3Scroll'; export * as AaveV3ScrollAlpha from './AaveV3ScrollAlpha'; export * as AaveV3ScrollSepolia from './AaveV3ScrollSepolia'; export * as AaveV3FantomTestnet from './AaveV3FantomTestnet'; @@ -49,6 +50,7 @@ export * as MiscPolygon from './MiscPolygon'; export * as MiscMetis from './MiscMetis'; export * as MiscGnosis from './MiscGnosis'; export * as MiscBNB from './MiscBNB'; +export * as MiscScroll from './MiscScroll'; export * as MiscSepolia from './MiscSepolia'; export * as MiscMumbai from './MiscMumbai'; export * as AaveGovernanceV2 from './AaveGovernanceV2'; diff --git a/src/ts/AaveV2Ethereum.ts b/src/ts/AaveV2Ethereum.ts index 51f8bbb3..d0841739 100644 --- a/src/ts/AaveV2Ethereum.ts +++ b/src/ts/AaveV2Ethereum.ts @@ -103,7 +103,7 @@ export const ASSETS = { A_TOKEN: '0x5165d24277cD063F5ac44Efd447B27025e888f37', S_TOKEN: '0xca823F78C2Dd38993284bb42Ba9b14152082F7BD', V_TOKEN: '0x7EbD09022Be45AD993BAA1CEc61166Fcc8644d97', - INTEREST_RATE_STRATEGY: '0xfd71623D7F41360aefE200de4f17E20A29e1d58C', + INTEREST_RATE_STRATEGY: '0x2c206fa2127aB7f1CE3dc987daf683Ed5B9CF069', ORACLE: '0x7c5d4F8345e66f68099581Db340cd65B078C41f4', }, ZRX: { @@ -112,7 +112,7 @@ export const ASSETS = { A_TOKEN: '0xDf7FF54aAcAcbFf42dfe29DD6144A69b629f8C9e', S_TOKEN: '0x071B4323a24E73A5afeEbe34118Cd21B8FAAF7C3', V_TOKEN: '0x85791D117A392097590bDeD3bD5abB8d5A20491A', - INTEREST_RATE_STRATEGY: '0x1a4babC0e20d892167792AC79618273711afD3e7', + INTEREST_RATE_STRATEGY: '0x2c206fa2127aB7f1CE3dc987daf683Ed5B9CF069', ORACLE: '0x2Da4983a622a8498bb1a21FaE9D8F6C664939962', }, UNI: { @@ -121,7 +121,7 @@ export const ASSETS = { A_TOKEN: '0xB9D7CB55f463405CDfBe4E90a6D2Df01C2B92BF1', S_TOKEN: '0xD939F7430dC8D5a427f156dE1012A56C18AcB6Aa', V_TOKEN: '0x5BdB050A92CADcCfCDcCCBFC17204a1C9cC0Ab73', - INTEREST_RATE_STRATEGY: '0x24ABFac8dd8f270D752837fDFe3B3C735361f4eE', + INTEREST_RATE_STRATEGY: '0x87cCa171a2125efca9868F9Bc1FfD7B7c80dC5a3', ORACLE: '0xD6aA3D25116d8dA79Ea0246c4826EB951872e02e', }, AAVE: { @@ -139,7 +139,7 @@ export const ASSETS = { A_TOKEN: '0x05Ec93c0365baAeAbF7AefFb0972ea7ECdD39CF1', S_TOKEN: '0x277f8676FAcf4dAA5a6EA38ba511B7F65AA02f9F', V_TOKEN: '0xfc218A6Dfe6901CB34B1a5281FC6f1b8e7E56877', - INTEREST_RATE_STRATEGY: '0xBdfC85b140edF1FeaFd6eD664027AA4C23b4A29F', + INTEREST_RATE_STRATEGY: '0x2c206fa2127aB7f1CE3dc987daf683Ed5B9CF069', ORACLE: '0x0d16d4528239e9ee52fa531af613AcdB23D88c94', }, BUSD: { @@ -166,7 +166,7 @@ export const ASSETS = { A_TOKEN: '0xaC6Df26a590F08dcC95D5a4705ae8abbc88509Ef', S_TOKEN: '0x943DcCA156b5312Aa24c1a08769D67FEce4ac14C', V_TOKEN: '0x38995F292a6E31b78203254fE1cdd5Ca1010A446', - INTEREST_RATE_STRATEGY: '0x4a4fb6B26e7F516594b7242240039EA8FAAc897a', + INTEREST_RATE_STRATEGY: '0x2c206fa2127aB7f1CE3dc987daf683Ed5B9CF069', ORACLE: '0x24D9aB51950F3d62E9144fdC2f3135DAA6Ce8D1B', }, KNC: { @@ -175,7 +175,7 @@ export const ASSETS = { A_TOKEN: '0x39C6b3e42d6A679d7D776778Fe880BC9487C2EDA', S_TOKEN: '0x9915dfb872778B2890a117DA1F35F335eb06B54f', V_TOKEN: '0x6B05D1c608015Ccb8e205A690cB86773A96F39f1', - INTEREST_RATE_STRATEGY: '0xFDBDa42D2aC1bfbbc10555eb255De8387b8977C4', + INTEREST_RATE_STRATEGY: '0xeB65a3163Fd8900F4fE9a044e18966706b69A74D', ORACLE: '0x656c0544eF4C98A6a98491833A89204Abb045d6b', }, LINK: { @@ -193,7 +193,7 @@ export const ASSETS = { A_TOKEN: '0xa685a61171bb30d4072B338c80Cb7b2c865c873E', S_TOKEN: '0xD86C74eA2224f4B8591560652b50035E4e5c0a3b', V_TOKEN: '0x0A68976301e46Ca6Ce7410DB28883E309EA0D352', - INTEREST_RATE_STRATEGY: '0x004fC239848D8A8d3304729b78ba81d73d83C99F', + INTEREST_RATE_STRATEGY: '0x2c206fa2127aB7f1CE3dc987daf683Ed5B9CF069', ORACLE: '0x82A44D92D6c329826dc557c5E1Be6ebeC5D5FeB9', }, MKR: { @@ -202,7 +202,7 @@ export const ASSETS = { A_TOKEN: '0xc713e5E149D5D0715DcD1c156a020976e7E56B88', S_TOKEN: '0xC01C8E4b12a89456a9fD4e4e75B72546Bf53f0B5', V_TOKEN: '0xba728eAd5e496BE00DCF66F650b6d7758eCB50f8', - INTEREST_RATE_STRATEGY: '0xE3a3DE71B827cB73663A24cDB6243bA7F986cC3b', + INTEREST_RATE_STRATEGY: '0x2c206fa2127aB7f1CE3dc987daf683Ed5B9CF069', ORACLE: '0x24551a8Fb2A7211A25a17B1481f043A8a8adC7f2', }, REN: { @@ -211,7 +211,7 @@ export const ASSETS = { A_TOKEN: '0xCC12AbE4ff81c9378D670De1b57F8e0Dd228D77a', S_TOKEN: '0x3356Ec1eFA75d9D150Da1EC7d944D9EDf73703B7', V_TOKEN: '0xcd9D82d33bd737De215cDac57FE2F7f04DF77FE0', - INTEREST_RATE_STRATEGY: '0x9B1e3C7483F0f21abFEaE3AeBC9b47b5f23f5bB0', + INTEREST_RATE_STRATEGY: '0x2c206fa2127aB7f1CE3dc987daf683Ed5B9CF069', ORACLE: '0x3147D7203354Dc06D9fd350c7a2437bcA92387a4', }, SNX: { @@ -220,7 +220,7 @@ export const ASSETS = { A_TOKEN: '0x35f6B052C598d933D69A4EEC4D04c73A191fE6c2', S_TOKEN: '0x8575c8ae70bDB71606A53AeA1c6789cB0fBF3166', V_TOKEN: '0x267EB8Cf715455517F9BD5834AeAE3CeA1EBdbD8', - INTEREST_RATE_STRATEGY: '0xCc92073dDe8aE03bAA1812AC5cF22e69b5E76914', + INTEREST_RATE_STRATEGY: '0xB2D822cAdb9040F3164829BC34e41a93cA3E01e5', ORACLE: '0x79291A9d692Df95334B1a0B3B4AE6bC606782f8c', }, sUSD: { @@ -256,7 +256,7 @@ export const ASSETS = { A_TOKEN: '0x8dAE6Cb04688C62d939ed9B68d32Bc62e49970b1', S_TOKEN: '0x9288059a74f589C919c7Cf1Db433251CdFEB874B', V_TOKEN: '0x00ad8eBF64F141f1C81e9f8f792d3d1631c6c684', - INTEREST_RATE_STRATEGY: '0xA4C2C730A4c01c64d54ce0165c27120989A3C743', + INTEREST_RATE_STRATEGY: '0x35FE8C9924718f286463e659be35b4122eEe907F', ORACLE: '0x8a12Be339B0cD1829b91Adc01977caa5E9ac121e', }, GUSD: { @@ -274,7 +274,7 @@ export const ASSETS = { A_TOKEN: '0x272F97b7a56a387aE942350bBC7Df5700f8a4576', S_TOKEN: '0xe569d31590307d05DA3812964F1eDd551D665a0b', V_TOKEN: '0x13210D4Fe0d5402bd7Ecbc4B5bC5cFcA3b71adB0', - INTEREST_RATE_STRATEGY: '0x46158614537A48D51a30073A86b4B73B16D33b53', + INTEREST_RATE_STRATEGY: '0xb873ec463CAC50112B0e14d060fbc4192406279f', ORACLE: '0xC1438AA3823A6Ba0C159CfA8D98dF5A994bA120b', }, xSUSHI: { @@ -283,7 +283,7 @@ export const ASSETS = { A_TOKEN: '0xF256CC7847E919FAc9B808cC216cAc87CCF2f47a', S_TOKEN: '0x73Bfb81D7dbA75C904f430eA8BAe82DB0D41187B', V_TOKEN: '0xfAFEDF95E21184E3d880bd56D4806c4b8d31c69A', - INTEREST_RATE_STRATEGY: '0xb49034Ada4BE5c6Bb3823A623C6250267110b06b', + INTEREST_RATE_STRATEGY: '0x6855E5544Cd803BF24c9612b3F12C009116B0ee1', ORACLE: '0xF05D9B6C08757EAcb1fbec18e36A1B7566a13DEB', }, renFIL: { @@ -301,7 +301,7 @@ export const ASSETS = { A_TOKEN: '0xc9BC48c72154ef3e5425641a3c747242112a46AF', S_TOKEN: '0x9C72B8476C33AE214ee3e8C20F0bc28496a62032', V_TOKEN: '0xB5385132EE8321977FfF44b60cDE9fE9AB0B4e6b', - INTEREST_RATE_STRATEGY: '0xA7d4df837926cD55036175AfeF38395d56A64c22', + INTEREST_RATE_STRATEGY: '0xc83cDb49F234EC6666D7857B3EAa1302b109394C', ORACLE: '0x4ad7B025127e89263242aB68F0f9c4E5C033B489', }, AMPL: { @@ -310,7 +310,7 @@ export const ASSETS = { A_TOKEN: '0x1E6bb68Acec8fefBD87D192bE09bb274170a0548', S_TOKEN: '0x18152C9f77DAdc737006e9430dB913159645fa87', V_TOKEN: '0xf013D90E4e4E3Baf420dFea60735e75dbd42f1e1', - INTEREST_RATE_STRATEGY: '0x84d1FaD9559b8AC1Fda17d073B8542c8Fb6986dd', + INTEREST_RATE_STRATEGY: '0xB2D822cAdb9040F3164829BC34e41a93cA3E01e5', ORACLE: '0x492575FDD11a0fCf2C6C719867890a7648d526eB', }, USDP: { @@ -328,7 +328,7 @@ export const ASSETS = { A_TOKEN: '0x6F634c6135D2EBD550000ac92F494F9CB8183dAe', S_TOKEN: '0xa3953F07f389d719F99FC378ebDb9276177d8A6e', V_TOKEN: '0x4dDff5885a67E4EffeC55875a3977D7E60F82ae0', - INTEREST_RATE_STRATEGY: '0x9440aEc0795D7485e58bCF26622c2f4A681A9671', + INTEREST_RATE_STRATEGY: '0xA12D7bB07379ad6de4497B80088e28D4C00932D1', ORACLE: '0x029849bbc0b1d93b85a8b6190e979fd38F5760E2', }, FRAX: { @@ -364,7 +364,7 @@ export const ASSETS = { A_TOKEN: '0x9a14e23A58edf4EFDcB360f68cd1b95ce2081a2F', S_TOKEN: '0x34441FFD1948E49dC7a607882D0c38Efd0083815', V_TOKEN: '0x176808047cc9b7A2C9AE202c593ED42dDD7C0D13', - INTEREST_RATE_STRATEGY: '0xb2eD1eCE1c13455Ce9299d35D3B00358529f3Dc8', + INTEREST_RATE_STRATEGY: '0x6855E5544Cd803BF24c9612b3F12C009116B0ee1', ORACLE: '0xd4641b75015E6536E8102D98479568D05D7123Db', }, UST: { @@ -373,7 +373,7 @@ export const ASSETS = { A_TOKEN: '0xc2e2152647F4C26028482Efaf64b2Aa28779EFC4', S_TOKEN: '0x7FDbfB0412700D94403c42cA3CAEeeA183F07B26', V_TOKEN: '0xaf32001cf2E66C4C3af4205F6EA77112AA4160FE', - INTEREST_RATE_STRATEGY: '0x0dEDCaE8Eb22A2EFB597aBde1834173C47Cff186', + INTEREST_RATE_STRATEGY: '0xc83cDb49F234EC6666D7857B3EAa1302b109394C', ORACLE: '0xa20623070413d42a5C01Db2c8111640DD7A5A03a', }, CVX: { @@ -382,7 +382,7 @@ export const ASSETS = { A_TOKEN: '0x952749E07d7157bb9644A894dFAF3Bad5eF6D918', S_TOKEN: '0xB01Eb1cE1Da06179136D561766fc2d609C5F55Eb', V_TOKEN: '0x4Ae5E4409C6Dbc84A00f9f89e4ba096603fb7d50', - INTEREST_RATE_STRATEGY: '0x1dA981865AE7a0C838eFBF4C7DFecb5c7268E73A', + INTEREST_RATE_STRATEGY: '0x2c206fa2127aB7f1CE3dc987daf683Ed5B9CF069', ORACLE: '0xC9CbF687f43176B302F03f5e58470b77D07c61c6', }, ONE_INCH: { @@ -391,7 +391,7 @@ export const ASSETS = { A_TOKEN: '0xB29130CBcC3F791f077eAdE0266168E808E5151e', S_TOKEN: '0x1278d6ED804d59d2d18a5Aa5638DfD591A79aF0a', V_TOKEN: '0xD7896C1B9b4455aFf31473908eB15796ad2295DA', - INTEREST_RATE_STRATEGY: '0xb2eD1eCE1c13455Ce9299d35D3B00358529f3Dc8', + INTEREST_RATE_STRATEGY: '0x6855E5544Cd803BF24c9612b3F12C009116B0ee1', ORACLE: '0x72AFAECF99C9d9C8215fF44C77B94B99C28741e8', }, LUSD: { diff --git a/src/ts/AaveV3Arbitrum.ts b/src/ts/AaveV3Arbitrum.ts index 9247521a..20371e06 100644 --- a/src/ts/AaveV3Arbitrum.ts +++ b/src/ts/AaveV3Arbitrum.ts @@ -11,8 +11,8 @@ export const POOL_CONFIGURATOR = '0x8145eddDf43f50276641b55bd3AD95944510021E'; // IAaveOracle https://arbiscan.io/address/0xb56c2F0B653B2e0b10C9b928C8580Ac5Df02C7C7 export const ORACLE = '0xb56c2F0B653B2e0b10C9b928C8580Ac5Df02C7C7'; -// https://arbiscan.io/address/0xF876d26041a4Fdc7A787d209DC3D2795dDc74f1e -export const PRICE_ORACLE_SENTINEL = '0xF876d26041a4Fdc7A787d209DC3D2795dDc74f1e'; +// https://arbiscan.io/address/0x7A9ff54A6eE4a21223036890bB8c4ea2D62c686b +export const PRICE_ORACLE_SENTINEL = '0x7A9ff54A6eE4a21223036890bB8c4ea2D62c686b'; // IPoolDataProvider https://arbiscan.io/address/0x6b4E260b765B3cA1514e618C0215A6B7839fF93e export const AAVE_PROTOCOL_DATA_PROVIDER = '0x6b4E260b765B3cA1514e618C0215A6B7839fF93e'; diff --git a/src/ts/AaveV3Base.ts b/src/ts/AaveV3Base.ts index 90a33ab4..2d26151c 100644 --- a/src/ts/AaveV3Base.ts +++ b/src/ts/AaveV3Base.ts @@ -11,8 +11,8 @@ export const POOL_CONFIGURATOR = '0x5731a04B1E775f0fdd454Bf70f3335886e9A96be'; // IAaveOracle https://basescan.org/address/0x2Cc0Fc26eD4563A5ce5e8bdcfe1A2878676Ae156 export const ORACLE = '0x2Cc0Fc26eD4563A5ce5e8bdcfe1A2878676Ae156'; -// https://basescan.org/address/0xe34949A48cd2E6f5CD41753e449bd2d43993C9AC -export const PRICE_ORACLE_SENTINEL = '0xe34949A48cd2E6f5CD41753e449bd2d43993C9AC'; +// https://basescan.org/address/0x943AcD0c93d7a8Bee7dA5Fd0DC3d0028237074d6 +export const PRICE_ORACLE_SENTINEL = '0x943AcD0c93d7a8Bee7dA5Fd0DC3d0028237074d6'; // IPoolDataProvider https://basescan.org/address/0x2d8A3C5677189723C4cB8873CfC9C8976FDF38Ac export const AAVE_PROTOCOL_DATA_PROVIDER = '0x2d8A3C5677189723C4cB8873CfC9C8976FDF38Ac'; @@ -118,6 +118,16 @@ export const ASSETS = { ORACLE: '0x7e860098F58bBFC8648a4311b374B1D669a2bc6B', STATA_TOKEN: '0x6fCe2756794128B1771324caA860965801DCbCdB', }, + wstETH: { + decimals: 18, + UNDERLYING: '0xc1CBa3fCea344f92D9239c08C0568f6F2F0ee452', + A_TOKEN: '0x99CBC45ea5bb7eF3a5BC08FB1B7E56bB2442Ef0D', + S_TOKEN: '0xfe742Fa2a84294E8316F05b17c05090Fc68B5105', + V_TOKEN: '0x41A7C3f5904ad176dACbb1D99101F59ef0811DC1', + INTEREST_RATE_STRATEGY: '0x2f51b00eC4912874DFDBd8dC3C8e390c21e77aF9', + ORACLE: '0x945fD405773973d286De54E44649cc0d9e264F78', + STATA_TOKEN: '0x0000000000000000000000000000000000000000', + }, } as const; export const E_MODES = { NONE: 0, diff --git a/src/ts/AaveV3Optimism.ts b/src/ts/AaveV3Optimism.ts index a61ebdf0..604d1e6a 100644 --- a/src/ts/AaveV3Optimism.ts +++ b/src/ts/AaveV3Optimism.ts @@ -11,8 +11,8 @@ export const POOL_CONFIGURATOR = '0x8145eddDf43f50276641b55bd3AD95944510021E'; // IAaveOracle https://explorer.optimism.io/address/0xD81eb3728a631871a7eBBaD631b5f424909f0c77 export const ORACLE = '0xD81eb3728a631871a7eBBaD631b5f424909f0c77'; -// https://explorer.optimism.io/address/0xB1ba0787Ca0A45f086F8CA03c97E7593636E47D5 -export const PRICE_ORACLE_SENTINEL = '0xB1ba0787Ca0A45f086F8CA03c97E7593636E47D5'; +// https://explorer.optimism.io/address/0xE229d5DE4BD5beEAf12d427B5B57BFe66abD2c3b +export const PRICE_ORACLE_SENTINEL = '0xE229d5DE4BD5beEAf12d427B5B57BFe66abD2c3b'; // IPoolDataProvider https://explorer.optimism.io/address/0xd9Ca4878dd38B021583c1B669905592EAe76E044 export const AAVE_PROTOCOL_DATA_PROVIDER = '0xd9Ca4878dd38B021583c1B669905592EAe76E044'; diff --git a/src/ts/AaveV3Scroll.ts b/src/ts/AaveV3Scroll.ts new file mode 100644 index 00000000..dcd5b88b --- /dev/null +++ b/src/ts/AaveV3Scroll.ts @@ -0,0 +1,76 @@ +// AUTOGENERATED - MANUALLY CHANGES WILL BE REVERTED BY THE GENERATOR +// IPoolAddressesProvider https://scrollscan.com/address/0xdc5D225Df17df184d11015B91C4A10cd7834e2aC +export const POOL_ADDRESSES_PROVIDER = '0xdc5D225Df17df184d11015B91C4A10cd7834e2aC'; + +// IPool https://scrollscan.com/address/0xe37405957E371D07A1086a02ae33Ae443d4574F9 +export const POOL = '0xe37405957E371D07A1086a02ae33Ae443d4574F9'; + +// IPoolConfigurator https://scrollscan.com/address/0x81b161773CE43781A3E67d71f652E0E22f21e170 +export const POOL_CONFIGURATOR = '0x81b161773CE43781A3E67d71f652E0E22f21e170'; + +// IAaveOracle https://scrollscan.com/address/0xD936362a1960ECE6c99a89F0a6f1104f0873826A +export const ORACLE = '0xD936362a1960ECE6c99a89F0a6f1104f0873826A'; + +// https://scrollscan.com/address/0x0000000000000000000000000000000000000000 +export const PRICE_ORACLE_SENTINEL = '0x0000000000000000000000000000000000000000'; + +// IPoolDataProvider https://scrollscan.com/address/0xa411Accec7000c52feE9bFeDaDc53E1CEF72d6d4 +export const AAVE_PROTOCOL_DATA_PROVIDER = '0xa411Accec7000c52feE9bFeDaDc53E1CEF72d6d4'; + +// IACLManager https://scrollscan.com/address/0xAF4646B0131af8fc0DC435AF7F7d303Ac131E072 +export const ACL_MANAGER = '0xAF4646B0131af8fc0DC435AF7F7d303Ac131E072'; + +// https://scrollscan.com/address/0xc1ABF87FfAdf4908f4eC8dc54A25DCFEabAE4A24 +export const ACL_ADMIN = '0xc1ABF87FfAdf4908f4eC8dc54A25DCFEabAE4A24'; + +// ICollector https://scrollscan.com/address/0x83a9EFE0485e7C227F29fe376132EfF746B45E96 +export const COLLECTOR = '0x83a9EFE0485e7C227F29fe376132EfF746B45E96'; + +// https://scrollscan.com/address/0xB972ABEdB6047e0EfcfE1261c10F1a93C4daE29F +export const DEFAULT_INCENTIVES_CONTROLLER = '0xB972ABEdB6047e0EfcfE1261c10F1a93C4daE29F'; + +// https://scrollscan.com/address/0xA9E3fFb25C369e44862DD3e87Be4420abb879965 +export const DEFAULT_A_TOKEN_IMPL_REV_1 = '0xA9E3fFb25C369e44862DD3e87Be4420abb879965'; + +// https://scrollscan.com/address/0x95eeA7A0b16C8ee3A923D3F5ebe6d77C0332084c +export const DEFAULT_VARIABLE_DEBT_TOKEN_IMPL_REV_1 = '0x95eeA7A0b16C8ee3A923D3F5ebe6d77C0332084c'; + +// https://scrollscan.com/address/0x07c319CaCAcF9422fA18f3e7389A0BE1B64cAB86 +export const DEFAULT_STABLE_DEBT_TOKEN_IMPL_REV_1 = '0x07c319CaCAcF9422fA18f3e7389A0BE1B64cAB86'; + +// https://scrollscan.com/address/0x7417cB07350Cc50ad5d461648cA55E2405190887 +export const EMISSION_MANAGER = '0x7417cB07350Cc50ad5d461648cA55E2405190887'; + +// https://scrollscan.com/address/0x0ffE481FBF0AE2282A5E1f701fab266aF487A97D +export const L2_ENCODER = '0x0ffE481FBF0AE2282A5E1f701fab266aF487A97D'; + +// https://scrollscan.com/address/0x36a92f2373400050656256B03Fa189145b708921 +export const CAPS_PLUS_RISK_STEWARD = '0x36a92f2373400050656256B03Fa189145b708921'; + +// https://scrollscan.com/address/0xCC3958a77c001a5608768537F628cA3b0A2A9386 +export const FREEZING_STEWARD = '0xCC3958a77c001a5608768537F628cA3b0A2A9386'; + +// https://scrollscan.com/address/0x22913D4E21D44EF7662B118A6540450e25fE09a9 +export const CONFIG_ENGINE = '0x22913D4E21D44EF7662B118A6540450e25fE09a9'; + +// https://scrollscan.com/address/0xb0633e01310a09C1Ee71a96c057DcF9c13fd6F62 +export const POOL_ADDRESSES_PROVIDER_REGISTRY = '0xb0633e01310a09C1Ee71a96c057DcF9c13fd6F62'; + +// https://scrollscan.com/address/0xeF4d1F3F0dCe46C1Ad684F23Ea3aA542592A8cFe +export const RATES_FACTORY = '0xeF4d1F3F0dCe46C1Ad684F23Ea3aA542592A8cFe'; + +// https://scrollscan.com/address/0x9E7DF170E44093d6738057157CA048794B02555d +export const UI_INCENTIVE_DATA_PROVIDER = '0x9E7DF170E44093d6738057157CA048794B02555d'; + +// https://scrollscan.com/address/0x29CF7aC4Fc122085c0D4DE8894f878F0b141F799 +export const UI_POOL_DATA_PROVIDER = '0x29CF7aC4Fc122085c0D4DE8894f878F0b141F799'; + +// https://scrollscan.com/address/0x07D04EfAAA0Ac69D19d107795aF247C42Eb50F1C +export const WALLET_BALANCE_PROVIDER = '0x07D04EfAAA0Ac69D19d107795aF247C42Eb50F1C'; + +// https://scrollscan.com/address/0xd5DDE725b0A2dE43fBDb4E488A7fdA389210d461 +export const WETH_GATEWAY = '0xd5DDE725b0A2dE43fBDb4E488A7fdA389210d461'; + +export const CHAIN_ID = 534352; +export const ASSETS = {} as const; +export const E_MODES = {} as const; diff --git a/src/ts/MiscScroll.ts b/src/ts/MiscScroll.ts new file mode 100644 index 00000000..d84f298b --- /dev/null +++ b/src/ts/MiscScroll.ts @@ -0,0 +1,6 @@ +// AUTOGENERATED - MANUALLY CHANGES WILL BE REVERTED BY THE GENERATOR +// https://scrollscan.com/address/0xFa2eeb2d0054C3Db2A606E2cd9EE111b62707D1e +export const TRANSPARENT_PROXY_FACTORY = '0xFa2eeb2d0054C3Db2A606E2cd9EE111b62707D1e'; + +// https://scrollscan.com/address/0x782559e349b084bB7C07c08404aE6E3436cDAE2E +export const PROXY_ADMIN = '0x782559e349b084bB7C07c08404aE6E3436cDAE2E'; diff --git a/yarn.lock b/yarn.lock index e736497b..77d43d03 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,10 +2,10 @@ # yarn lockfile v1 -"@adraffy/ens-normalize@1.9.4": - version "1.9.4" - resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.9.4.tgz#aae21cb858bbb0411949d5b7b3051f4209043f62" - integrity sha512-UK0bHA7hh9cR39V+4gl2/NnBBjoXIxkuWAPCaY4X7fbH4L/azIi7ilWOCjMUYfpJgraLUAqkRi2BqrjME8Rynw== +"@adraffy/ens-normalize@1.10.0": + version "1.10.0" + resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.10.0.tgz#d2a39395c587e092d77cbbc80acf956a54f38bf7" + integrity sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q== "@esbuild/android-arm64@0.18.20": version "0.18.20" @@ -880,12 +880,12 @@ undici-types@~5.26.4: resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== -viem@^1.18.9: - version "1.18.9" - resolved "https://registry.yarnpkg.com/viem/-/viem-1.18.9.tgz#8be8fe3148b1c6c3bccc853001df98f91a8aeb30" - integrity sha512-eAXtoTwAFA3YEgjTYMb5ZTQrDC0UPx5qyZ4sv90TirVKepcM9mBPksTkC1SSWya0UdxhBmhEBL/CiYMjmGCTWg== +viem@^1.19.15: + version "1.19.15" + resolved "https://registry.yarnpkg.com/viem/-/viem-1.19.15.tgz#0f2307632fa0ef10dfab2d8fdd71fbb842a0a4f5" + integrity sha512-rc87AkyrUUsoOAgMNYP+X/wN4GYwbhP87DkmsqQCYKxxQyzTX0+yliKs6Bxljbjr8ybU72GOb12Oyus6393AjQ== dependencies: - "@adraffy/ens-normalize" "1.9.4" + "@adraffy/ens-normalize" "1.10.0" "@noble/curves" "1.2.0" "@noble/hashes" "1.3.2" "@scure/bip32" "1.3.2" From 09852d675996b23cddb8a2e87488adacd684a86b Mon Sep 17 00:00:00 2001 From: Harsh Pandey Date: Thu, 4 Jan 2024 17:19:44 +0530 Subject: [PATCH 2/3] feat: add new weth gateway --- scripts/configs/pools/scroll.ts | 2 +- src/AaveV2EthereumAMM.sol | 4 ++-- src/AaveV3Arbitrum.sol | 4 ++-- src/AaveV3Base.sol | 25 +++++++++++++++++++++++-- src/AaveV3Ethereum.sol | 4 ++-- src/AaveV3Gnosis.sol | 4 ++-- src/AaveV3Metis.sol | 4 ++-- src/AaveV3Optimism.sol | 8 ++++---- src/AaveV3Polygon.sol | 25 +++++++++++++++++++++++-- src/AaveV3Scroll.sol | 4 ++-- src/ts/AaveV2EthereumAMM.ts | 4 ++-- src/ts/AaveV3Arbitrum.ts | 2 +- src/ts/AaveV3Base.ts | 12 +++++++++++- src/ts/AaveV3Ethereum.ts | 2 +- src/ts/AaveV3Gnosis.ts | 2 +- src/ts/AaveV3Metis.ts | 4 ++-- src/ts/AaveV3Optimism.ts | 4 ++-- src/ts/AaveV3Polygon.ts | 12 ++++++------ src/ts/AaveV3Scroll.ts | 4 ++-- 19 files changed, 91 insertions(+), 39 deletions(-) diff --git a/scripts/configs/pools/scroll.ts b/scripts/configs/pools/scroll.ts index c626544b..7e1765e3 100644 --- a/scripts/configs/pools/scroll.ts +++ b/scripts/configs/pools/scroll.ts @@ -43,7 +43,7 @@ export const scrollProtoV3: PoolConfig = { UI_INCENTIVE_DATA_PROVIDER: '0x9E7DF170E44093d6738057157CA048794B02555d', UI_POOL_DATA_PROVIDER: '0x29CF7aC4Fc122085c0D4DE8894f878F0b141F799', WALLET_BALANCE_PROVIDER: '0x07D04EfAAA0Ac69D19d107795aF247C42Eb50F1C', - WETH_GATEWAY: '0xd5DDE725b0A2dE43fBDb4E488A7fdA389210d461' + WETH_GATEWAY: '0x93c597e5229f76679d7646cC9161B59Cc0DE78B9' }, initial: { COLLECTOR: '0x83a9EFE0485e7C227F29fe376132EfF746B45E96', diff --git a/src/AaveV2EthereumAMM.sol b/src/AaveV2EthereumAMM.sol index 9a974d87..7850f915 100644 --- a/src/AaveV2EthereumAMM.sol +++ b/src/AaveV2EthereumAMM.sol @@ -31,8 +31,8 @@ library AaveV2EthereumAMM { // https://etherscan.io/address/0x5300A1a15135EA4dc7aD5a167152C01EFc9b192A address internal constant POOL_ADMIN = 0x5300A1a15135EA4dc7aD5a167152C01EFc9b192A; - // https://etherscan.io/address/0xB9062896ec3A615a4e4444DF183F0531a77218AE - address internal constant EMERGENCY_ADMIN = 0xB9062896ec3A615a4e4444DF183F0531a77218AE; + // https://etherscan.io/address/0xCA76Ebd8617a03126B6FB84F9b1c1A0fB71C2633 + address internal constant EMERGENCY_ADMIN = 0xCA76Ebd8617a03126B6FB84F9b1c1A0fB71C2633; // https://etherscan.io/address/0x464C71f6c2F760DdA6093dCB91C24c39e5d6e18c ICollector internal constant COLLECTOR = ICollector(0x464C71f6c2F760DdA6093dCB91C24c39e5d6e18c); diff --git a/src/AaveV3Arbitrum.sol b/src/AaveV3Arbitrum.sol index 18730f16..11da83fb 100644 --- a/src/AaveV3Arbitrum.sol +++ b/src/AaveV3Arbitrum.sol @@ -168,9 +168,9 @@ library AaveV3ArbitrumAssets { // https://arbiscan.io/address/0x50834F3163758fcC1Df9973b6e91f0F0F0434aD3 address internal constant USDC_ORACLE = 0x50834F3163758fcC1Df9973b6e91f0F0F0434aD3; - // https://arbiscan.io/address/0x53b13a6D43F647D788411Abfd28D229C274AfBF9 + // https://arbiscan.io/address/0x642a8DAcC59b73491Dcaa3BCeF046D660901fCc1 address internal constant USDC_INTEREST_RATE_STRATEGY = - 0x53b13a6D43F647D788411Abfd28D229C274AfBF9; + 0x642a8DAcC59b73491Dcaa3BCeF046D660901fCc1; // https://arbiscan.io/address/0x0Bc9E52051f553E75550CA22C196bf132c52Cf0B address internal constant USDC_STATA_TOKEN = 0x0Bc9E52051f553E75550CA22C196bf132c52Cf0B; diff --git a/src/AaveV3Base.sol b/src/AaveV3Base.sol index 10b1e28d..f5fbaf3d 100644 --- a/src/AaveV3Base.sol +++ b/src/AaveV3Base.sol @@ -169,9 +169,9 @@ library AaveV3BaseAssets { // https://basescan.org/address/0x7e860098F58bBFC8648a4311b374B1D669a2bc6B address internal constant USDbC_ORACLE = 0x7e860098F58bBFC8648a4311b374B1D669a2bc6B; - // https://basescan.org/address/0x8c63A1b0721D5776Ae5ed1Be8dc7f2A1e7312Ed3 + // https://basescan.org/address/0xDBea12F69D3Fcb4Be9FD14dd450AAe2B2a3d4de7 address internal constant USDbC_INTEREST_RATE_STRATEGY = - 0x8c63A1b0721D5776Ae5ed1Be8dc7f2A1e7312Ed3; + 0xDBea12F69D3Fcb4Be9FD14dd450AAe2B2a3d4de7; // https://basescan.org/address/0x6fCe2756794128B1771324caA860965801DCbCdB address internal constant USDbC_STATA_TOKEN = 0x6fCe2756794128B1771324caA860965801DCbCdB; @@ -196,6 +196,27 @@ library AaveV3BaseAssets { // https://basescan.org/address/0x2f51b00eC4912874DFDBd8dC3C8e390c21e77aF9 address internal constant wstETH_INTEREST_RATE_STRATEGY = 0x2f51b00eC4912874DFDBd8dC3C8e390c21e77aF9; + + // https://basescan.org/address/0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 + address internal constant USDC_UNDERLYING = 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913; + + uint8 internal constant USDC_DECIMALS = 6; + + // https://basescan.org/address/0x4e65fE4DbA92790696d040ac24Aa414708F5c0AB + address internal constant USDC_A_TOKEN = 0x4e65fE4DbA92790696d040ac24Aa414708F5c0AB; + + // https://basescan.org/address/0x59dca05b6c26dbd64b5381374aAaC5CD05644C28 + address internal constant USDC_V_TOKEN = 0x59dca05b6c26dbd64b5381374aAaC5CD05644C28; + + // https://basescan.org/address/0x03506214379aA86ad1176af71c260278cfa10B38 + address internal constant USDC_S_TOKEN = 0x03506214379aA86ad1176af71c260278cfa10B38; + + // https://basescan.org/address/0x7e860098F58bBFC8648a4311b374B1D669a2bc6B + address internal constant USDC_ORACLE = 0x7e860098F58bBFC8648a4311b374B1D669a2bc6B; + + // https://basescan.org/address/0x50eC656Ba67885D0937b5f549f3104ea15E75588 + address internal constant USDC_INTEREST_RATE_STRATEGY = + 0x50eC656Ba67885D0937b5f549f3104ea15E75588; } library AaveV3BaseEModes { diff --git a/src/AaveV3Ethereum.sol b/src/AaveV3Ethereum.sol index 2221f6e7..3e013454 100644 --- a/src/AaveV3Ethereum.sol +++ b/src/AaveV3Ethereum.sol @@ -540,8 +540,8 @@ library AaveV3EthereumAssets { // https://etherscan.io/address/0xD110cac5d8682A3b045D5524a9903E031d70FCCd address internal constant GHO_ORACLE = 0xD110cac5d8682A3b045D5524a9903E031d70FCCd; - // https://etherscan.io/address/0xE6e780D77b883E9a5eC84f7baA6BF4DB43177Fa7 - address internal constant GHO_INTEREST_RATE_STRATEGY = 0xE6e780D77b883E9a5eC84f7baA6BF4DB43177Fa7; + // https://etherscan.io/address/0x00524e8E4C5FD2b8D8aa1226fA16b39Cad69B8A0 + address internal constant GHO_INTEREST_RATE_STRATEGY = 0x00524e8E4C5FD2b8D8aa1226fA16b39Cad69B8A0; // https://etherscan.io/address/0xD33526068D116cE69F19A9ee46F0bd304F21A51f address internal constant RPL_UNDERLYING = 0xD33526068D116cE69F19A9ee46F0bd304F21A51f; diff --git a/src/AaveV3Gnosis.sol b/src/AaveV3Gnosis.sol index 73645d8b..9776b2ea 100644 --- a/src/AaveV3Gnosis.sol +++ b/src/AaveV3Gnosis.sol @@ -156,8 +156,8 @@ library AaveV3GnosisAssets { // https://blockscout.com/xdai/mainnet/address/0x22441d81416430A54336aB28765abd31a792Ad37 address internal constant GNO_ORACLE = 0x22441d81416430A54336aB28765abd31a792Ad37; - // https://blockscout.com/xdai/mainnet/address/0x9E57695Dab0DCdb42BC220ff1E9eb2e22a31209b - address internal constant GNO_INTEREST_RATE_STRATEGY = 0x9E57695Dab0DCdb42BC220ff1E9eb2e22a31209b; + // https://blockscout.com/xdai/mainnet/address/0x777fDAB3C03aA63d7d7CbCbaB22724cEe50F1731 + address internal constant GNO_INTEREST_RATE_STRATEGY = 0x777fDAB3C03aA63d7d7CbCbaB22724cEe50F1731; // https://blockscout.com/xdai/mainnet/address/0x2D737e2B0e175f05D0904C208d6C4e40da570f65 address internal constant GNO_STATA_TOKEN = 0x2D737e2B0e175f05D0904C208d6C4e40da570f65; diff --git a/src/AaveV3Metis.sol b/src/AaveV3Metis.sol index a52f2a8e..5fdc6116 100644 --- a/src/AaveV3Metis.sol +++ b/src/AaveV3Metis.sol @@ -20,8 +20,8 @@ library AaveV3Metis { // https://andromeda-explorer.metis.io/address/0x38D36e85E47eA6ff0d18B0adF12E5fC8984A6f8e IAaveOracle internal constant ORACLE = IAaveOracle(0x38D36e85E47eA6ff0d18B0adF12E5fC8984A6f8e); - // https://andromeda-explorer.metis.io/address/0xE2566C39db9559D318fB3a00D7B5992CBeeA8567 - address internal constant PRICE_ORACLE_SENTINEL = 0xE2566C39db9559D318fB3a00D7B5992CBeeA8567; + // https://andromeda-explorer.metis.io/address/0x2B5EA1604BAbb7B730120950Cb13951f3525828A + address internal constant PRICE_ORACLE_SENTINEL = 0x2B5EA1604BAbb7B730120950Cb13951f3525828A; // https://andromeda-explorer.metis.io/address/0x99411FC17Ad1B56f49719E3850B2CDcc0f9bBFd8 IPoolDataProvider internal constant AAVE_PROTOCOL_DATA_PROVIDER = diff --git a/src/AaveV3Optimism.sol b/src/AaveV3Optimism.sol index 97b2558e..de8a2e44 100644 --- a/src/AaveV3Optimism.sol +++ b/src/AaveV3Optimism.sol @@ -168,9 +168,9 @@ library AaveV3OptimismAssets { // https://explorer.optimism.io/address/0x16a9FA2FDa030272Ce99B29CF780dFA30361E0f3 address internal constant USDC_ORACLE = 0x16a9FA2FDa030272Ce99B29CF780dFA30361E0f3; - // https://explorer.optimism.io/address/0x3832311560d3B457E9cC35e5b8e06EB167D8c17D + // https://explorer.optimism.io/address/0x769EbC5106bF09D9A665CCb691e1907612b57F16 address internal constant USDC_INTEREST_RATE_STRATEGY = - 0x3832311560d3B457E9cC35e5b8e06EB167D8c17D; + 0x769EbC5106bF09D9A665CCb691e1907612b57F16; // https://explorer.optimism.io/address/0x9F281eb58fd98ad98EDe0fc4C553AD4D73e7Ca2C address internal constant USDC_STATA_TOKEN = 0x9F281eb58fd98ad98EDe0fc4C553AD4D73e7Ca2C; @@ -430,9 +430,9 @@ library AaveV3OptimismAssets { // https://explorer.optimism.io/address/0x16a9FA2FDa030272Ce99B29CF780dFA30361E0f3 address internal constant USDCn_ORACLE = 0x16a9FA2FDa030272Ce99B29CF780dFA30361E0f3; - // https://explorer.optimism.io/address/0x5eE947d920643cCd3e2c54eAAd8F260FC8Add3b4 + // https://explorer.optimism.io/address/0xB57Ff919A953424d6B143ABfD6740A225eab953e address internal constant USDCn_INTEREST_RATE_STRATEGY = - 0x5eE947d920643cCd3e2c54eAAd8F260FC8Add3b4; + 0xB57Ff919A953424d6B143ABfD6740A225eab953e; } library AaveV3OptimismEModes { diff --git a/src/AaveV3Polygon.sol b/src/AaveV3Polygon.sol index 24c5ed98..6f9a7ed7 100644 --- a/src/AaveV3Polygon.sol +++ b/src/AaveV3Polygon.sol @@ -165,9 +165,9 @@ library AaveV3PolygonAssets { // https://polygonscan.com/address/0xfE4A8cc5b5B2366C1B58Bea3858e81843581b2F7 address internal constant USDC_ORACLE = 0xfE4A8cc5b5B2366C1B58Bea3858e81843581b2F7; - // https://polygonscan.com/address/0x9a158802cD924747EF336cA3F9DE3bdb60Cf43D3 + // https://polygonscan.com/address/0x588b62C84533232E3A881e096E5D639Fa754F093 address internal constant USDC_INTEREST_RATE_STRATEGY = - 0x9a158802cD924747EF336cA3F9DE3bdb60Cf43D3; + 0x588b62C84533232E3A881e096E5D639Fa754F093; // https://polygonscan.com/address/0x1017F4a86Fc3A3c824346d0b8C5e96A5029bDAf9 address internal constant USDC_STATA_TOKEN = 0x1017F4a86Fc3A3c824346d0b8C5e96A5029bDAf9; @@ -576,6 +576,27 @@ library AaveV3PolygonAssets { // https://polygonscan.com/address/0x5274453F4CD5dD7280011a1Cca3B9e1b78EC59A6 address internal constant wstETH_STATA_TOKEN = 0x5274453F4CD5dD7280011a1Cca3B9e1b78EC59A6; + + // https://polygonscan.com/address/0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359 + address internal constant USDC_UNDERLYING = 0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359; + + uint8 internal constant USDC_DECIMALS = 6; + + // https://polygonscan.com/address/0xA4D94019934D8333Ef880ABFFbF2FDd611C762BD + address internal constant USDC_A_TOKEN = 0xA4D94019934D8333Ef880ABFFbF2FDd611C762BD; + + // https://polygonscan.com/address/0xE701126012EC0290822eEA17B794454d1AF8b030 + address internal constant USDC_V_TOKEN = 0xE701126012EC0290822eEA17B794454d1AF8b030; + + // https://polygonscan.com/address/0xc889e9f8370D14A428a9857205d99BFdB400b757 + address internal constant USDC_S_TOKEN = 0xc889e9f8370D14A428a9857205d99BFdB400b757; + + // https://polygonscan.com/address/0xfE4A8cc5b5B2366C1B58Bea3858e81843581b2F7 + address internal constant USDC_ORACLE = 0xfE4A8cc5b5B2366C1B58Bea3858e81843581b2F7; + + // https://polygonscan.com/address/0x53b13a6D43F647D788411Abfd28D229C274AfBF9 + address internal constant USDC_INTEREST_RATE_STRATEGY = + 0x53b13a6D43F647D788411Abfd28D229C274AfBF9; } library AaveV3PolygonEModes { diff --git a/src/AaveV3Scroll.sol b/src/AaveV3Scroll.sol index fad808a9..4d5ac1ef 100644 --- a/src/AaveV3Scroll.sol +++ b/src/AaveV3Scroll.sol @@ -83,8 +83,8 @@ library AaveV3Scroll { // https://scrollscan.com/address/0x07D04EfAAA0Ac69D19d107795aF247C42Eb50F1C address internal constant WALLET_BALANCE_PROVIDER = 0x07D04EfAAA0Ac69D19d107795aF247C42Eb50F1C; - // https://scrollscan.com/address/0xd5DDE725b0A2dE43fBDb4E488A7fdA389210d461 - address internal constant WETH_GATEWAY = 0xd5DDE725b0A2dE43fBDb4E488A7fdA389210d461; + // https://scrollscan.com/address/0x93c597e5229f76679d7646cC9161B59Cc0DE78B9 + address internal constant WETH_GATEWAY = 0x93c597e5229f76679d7646cC9161B59Cc0DE78B9; } library AaveV3ScrollAssets {} diff --git a/src/ts/AaveV2EthereumAMM.ts b/src/ts/AaveV2EthereumAMM.ts index c7abbaeb..0e16e256 100644 --- a/src/ts/AaveV2EthereumAMM.ts +++ b/src/ts/AaveV2EthereumAMM.ts @@ -20,8 +20,8 @@ export const AAVE_PROTOCOL_DATA_PROVIDER = '0xc443AD9DDE3cecfB9dfC5736578f447aFE // https://etherscan.io/address/0x5300A1a15135EA4dc7aD5a167152C01EFc9b192A export const POOL_ADMIN = '0x5300A1a15135EA4dc7aD5a167152C01EFc9b192A'; -// https://etherscan.io/address/0xB9062896ec3A615a4e4444DF183F0531a77218AE -export const EMERGENCY_ADMIN = '0xB9062896ec3A615a4e4444DF183F0531a77218AE'; +// https://etherscan.io/address/0xCA76Ebd8617a03126B6FB84F9b1c1A0fB71C2633 +export const EMERGENCY_ADMIN = '0xCA76Ebd8617a03126B6FB84F9b1c1A0fB71C2633'; // ICollector https://etherscan.io/address/0x464C71f6c2F760DdA6093dCB91C24c39e5d6e18c export const COLLECTOR = '0x464C71f6c2F760DdA6093dCB91C24c39e5d6e18c'; diff --git a/src/ts/AaveV3Arbitrum.ts b/src/ts/AaveV3Arbitrum.ts index 20371e06..e691ed76 100644 --- a/src/ts/AaveV3Arbitrum.ts +++ b/src/ts/AaveV3Arbitrum.ts @@ -114,7 +114,7 @@ export const ASSETS = { A_TOKEN: '0x625E7708f30cA75bfd92586e17077590C60eb4cD', S_TOKEN: '0x307ffe186F84a3bc2613D1eA417A5737D69A7007', V_TOKEN: '0xFCCf3cAbbe80101232d343252614b6A3eE81C989', - INTEREST_RATE_STRATEGY: '0x53b13a6D43F647D788411Abfd28D229C274AfBF9', + INTEREST_RATE_STRATEGY: '0x642a8DAcC59b73491Dcaa3BCeF046D660901fCc1', ORACLE: '0x50834F3163758fcC1Df9973b6e91f0F0F0434aD3', STATA_TOKEN: '0x0Bc9E52051f553E75550CA22C196bf132c52Cf0B', }, diff --git a/src/ts/AaveV3Base.ts b/src/ts/AaveV3Base.ts index 2d26151c..e72c6801 100644 --- a/src/ts/AaveV3Base.ts +++ b/src/ts/AaveV3Base.ts @@ -114,7 +114,7 @@ export const ASSETS = { A_TOKEN: '0x0a1d576f3eFeF75b330424287a95A366e8281D54', S_TOKEN: '0xBBaDd47fbaFa9dE717FE203e4707DEB893C64654', V_TOKEN: '0x7376b2F323dC56fCd4C191B34163ac8a84702DAB', - INTEREST_RATE_STRATEGY: '0x8c63A1b0721D5776Ae5ed1Be8dc7f2A1e7312Ed3', + INTEREST_RATE_STRATEGY: '0xDBea12F69D3Fcb4Be9FD14dd450AAe2B2a3d4de7', ORACLE: '0x7e860098F58bBFC8648a4311b374B1D669a2bc6B', STATA_TOKEN: '0x6fCe2756794128B1771324caA860965801DCbCdB', }, @@ -128,6 +128,16 @@ export const ASSETS = { ORACLE: '0x945fD405773973d286De54E44649cc0d9e264F78', STATA_TOKEN: '0x0000000000000000000000000000000000000000', }, + USDC: { + decimals: 6, + UNDERLYING: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', + A_TOKEN: '0x4e65fE4DbA92790696d040ac24Aa414708F5c0AB', + S_TOKEN: '0x03506214379aA86ad1176af71c260278cfa10B38', + V_TOKEN: '0x59dca05b6c26dbd64b5381374aAaC5CD05644C28', + INTEREST_RATE_STRATEGY: '0x50eC656Ba67885D0937b5f549f3104ea15E75588', + ORACLE: '0x7e860098F58bBFC8648a4311b374B1D669a2bc6B', + STATA_TOKEN: '0x0000000000000000000000000000000000000000', + }, } as const; export const E_MODES = { NONE: 0, diff --git a/src/ts/AaveV3Ethereum.ts b/src/ts/AaveV3Ethereum.ts index 974c731b..8ed98da5 100644 --- a/src/ts/AaveV3Ethereum.ts +++ b/src/ts/AaveV3Ethereum.ts @@ -300,7 +300,7 @@ export const ASSETS = { A_TOKEN: '0x00907f9921424583e7ffBfEdf84F92B7B2Be4977', S_TOKEN: '0x3f3DF7266dA30102344A813F1a3D07f5F041B5AC', V_TOKEN: '0x786dBff3f1292ae8F92ea68Cf93c30b34B1ed04B', - INTEREST_RATE_STRATEGY: '0xE6e780D77b883E9a5eC84f7baA6BF4DB43177Fa7', + INTEREST_RATE_STRATEGY: '0x00524e8E4C5FD2b8D8aa1226fA16b39Cad69B8A0', ORACLE: '0xD110cac5d8682A3b045D5524a9903E031d70FCCd', STATA_TOKEN: '0x0000000000000000000000000000000000000000', }, diff --git a/src/ts/AaveV3Gnosis.ts b/src/ts/AaveV3Gnosis.ts index 31c47296..983b8014 100644 --- a/src/ts/AaveV3Gnosis.ts +++ b/src/ts/AaveV3Gnosis.ts @@ -102,7 +102,7 @@ export const ASSETS = { A_TOKEN: '0xA1Fa064A85266E2Ca82DEe5C5CcEC84DF445760e', S_TOKEN: '0x1A126F613D7705E59ADb39909b25E1223aDF05dd', V_TOKEN: '0xBc59E99198DbA71985A66E1713cC89FFEC53f7FC', - INTEREST_RATE_STRATEGY: '0x9E57695Dab0DCdb42BC220ff1E9eb2e22a31209b', + INTEREST_RATE_STRATEGY: '0x777fDAB3C03aA63d7d7CbCbaB22724cEe50F1731', ORACLE: '0x22441d81416430A54336aB28765abd31a792Ad37', STATA_TOKEN: '0x2D737e2B0e175f05D0904C208d6C4e40da570f65', }, diff --git a/src/ts/AaveV3Metis.ts b/src/ts/AaveV3Metis.ts index 3647ba1e..692520b2 100644 --- a/src/ts/AaveV3Metis.ts +++ b/src/ts/AaveV3Metis.ts @@ -11,8 +11,8 @@ export const POOL_CONFIGURATOR = '0x69FEE8F261E004453BE0800BC9039717528645A6'; // IAaveOracle https://andromeda-explorer.metis.io/address/0x38D36e85E47eA6ff0d18B0adF12E5fC8984A6f8e export const ORACLE = '0x38D36e85E47eA6ff0d18B0adF12E5fC8984A6f8e'; -// https://andromeda-explorer.metis.io/address/0xE2566C39db9559D318fB3a00D7B5992CBeeA8567 -export const PRICE_ORACLE_SENTINEL = '0xE2566C39db9559D318fB3a00D7B5992CBeeA8567'; +// https://andromeda-explorer.metis.io/address/0x2B5EA1604BAbb7B730120950Cb13951f3525828A +export const PRICE_ORACLE_SENTINEL = '0x2B5EA1604BAbb7B730120950Cb13951f3525828A'; // IPoolDataProvider https://andromeda-explorer.metis.io/address/0x99411FC17Ad1B56f49719E3850B2CDcc0f9bBFd8 export const AAVE_PROTOCOL_DATA_PROVIDER = '0x99411FC17Ad1B56f49719E3850B2CDcc0f9bBFd8'; diff --git a/src/ts/AaveV3Optimism.ts b/src/ts/AaveV3Optimism.ts index 604d1e6a..a734f789 100644 --- a/src/ts/AaveV3Optimism.ts +++ b/src/ts/AaveV3Optimism.ts @@ -114,7 +114,7 @@ export const ASSETS = { A_TOKEN: '0x625E7708f30cA75bfd92586e17077590C60eb4cD', S_TOKEN: '0x307ffe186F84a3bc2613D1eA417A5737D69A7007', V_TOKEN: '0xFCCf3cAbbe80101232d343252614b6A3eE81C989', - INTEREST_RATE_STRATEGY: '0x3832311560d3B457E9cC35e5b8e06EB167D8c17D', + INTEREST_RATE_STRATEGY: '0x769EbC5106bF09D9A665CCb691e1907612b57F16', ORACLE: '0x16a9FA2FDa030272Ce99B29CF780dFA30361E0f3', STATA_TOKEN: '0x9F281eb58fd98ad98EDe0fc4C553AD4D73e7Ca2C', }, @@ -224,7 +224,7 @@ export const ASSETS = { A_TOKEN: '0x38d693cE1dF5AaDF7bC62595A37D667aD57922e5', S_TOKEN: '0x8a9FdE6925a839F6B1932d16B36aC026F8d3FbdB', V_TOKEN: '0x5D557B07776D12967914379C71a1310e917C7555', - INTEREST_RATE_STRATEGY: '0x5eE947d920643cCd3e2c54eAAd8F260FC8Add3b4', + INTEREST_RATE_STRATEGY: '0xB57Ff919A953424d6B143ABfD6740A225eab953e', ORACLE: '0x16a9FA2FDa030272Ce99B29CF780dFA30361E0f3', STATA_TOKEN: '0x0000000000000000000000000000000000000000', }, diff --git a/src/ts/AaveV3Polygon.ts b/src/ts/AaveV3Polygon.ts index 29b4e629..d058824f 100644 --- a/src/ts/AaveV3Polygon.ts +++ b/src/ts/AaveV3Polygon.ts @@ -107,13 +107,13 @@ export const ASSETS = { }, USDC: { decimals: 6, - UNDERLYING: '0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174', - A_TOKEN: '0x625E7708f30cA75bfd92586e17077590C60eb4cD', - S_TOKEN: '0x307ffe186F84a3bc2613D1eA417A5737D69A7007', - V_TOKEN: '0xFCCf3cAbbe80101232d343252614b6A3eE81C989', - INTEREST_RATE_STRATEGY: '0x9a158802cD924747EF336cA3F9DE3bdb60Cf43D3', + UNDERLYING: '0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359', + A_TOKEN: '0xA4D94019934D8333Ef880ABFFbF2FDd611C762BD', + S_TOKEN: '0xc889e9f8370D14A428a9857205d99BFdB400b757', + V_TOKEN: '0xE701126012EC0290822eEA17B794454d1AF8b030', + INTEREST_RATE_STRATEGY: '0x53b13a6D43F647D788411Abfd28D229C274AfBF9', ORACLE: '0xfE4A8cc5b5B2366C1B58Bea3858e81843581b2F7', - STATA_TOKEN: '0x1017F4a86Fc3A3c824346d0b8C5e96A5029bDAf9', + STATA_TOKEN: '0x0000000000000000000000000000000000000000', }, WBTC: { decimals: 8, diff --git a/src/ts/AaveV3Scroll.ts b/src/ts/AaveV3Scroll.ts index dcd5b88b..d69f13e5 100644 --- a/src/ts/AaveV3Scroll.ts +++ b/src/ts/AaveV3Scroll.ts @@ -68,8 +68,8 @@ export const UI_POOL_DATA_PROVIDER = '0x29CF7aC4Fc122085c0D4DE8894f878F0b141F799 // https://scrollscan.com/address/0x07D04EfAAA0Ac69D19d107795aF247C42Eb50F1C export const WALLET_BALANCE_PROVIDER = '0x07D04EfAAA0Ac69D19d107795aF247C42Eb50F1C'; -// https://scrollscan.com/address/0xd5DDE725b0A2dE43fBDb4E488A7fdA389210d461 -export const WETH_GATEWAY = '0xd5DDE725b0A2dE43fBDb4E488A7fdA389210d461'; +// https://scrollscan.com/address/0x93c597e5229f76679d7646cC9161B59Cc0DE78B9 +export const WETH_GATEWAY = '0x93c597e5229f76679d7646cC9161B59Cc0DE78B9'; export const CHAIN_ID = 534352; export const ASSETS = {} as const; From 547433aea1aca1babcd41856488dcd3a4974b21b Mon Sep 17 00:00:00 2001 From: sendra Date: Thu, 4 Jan 2024 15:26:02 +0100 Subject: [PATCH 3/3] feat: added governance v3 and a.DI addresses for scroll network --- scripts/configs/governance/scroll.ts | 12 ++++++++++++ scripts/generateAddresses.ts | 2 ++ src/AaveAddressBook.sol | 1 + src/GovernanceV3Scroll.sol | 23 +++++++++++++++++++++++ src/ts/AaveAddressBook.ts | 1 + src/ts/GovernanceV3Scroll.ts | 14 ++++++++++++++ 6 files changed, 53 insertions(+) create mode 100644 scripts/configs/governance/scroll.ts create mode 100644 src/GovernanceV3Scroll.sol create mode 100644 src/ts/GovernanceV3Scroll.ts diff --git a/scripts/configs/governance/scroll.ts b/scripts/configs/governance/scroll.ts new file mode 100644 index 00000000..d318e3a4 --- /dev/null +++ b/scripts/configs/governance/scroll.ts @@ -0,0 +1,12 @@ +import {ChainId} from '../../generator/chains'; +import {GovernanceConfig} from '../types'; + +export const governanceConfigScroll: GovernanceConfig = { + name: 'Scroll', + CHAIN_ID: ChainId.scroll, + ADDRESSES: { + CROSS_CHAIN_CONTROLLER: '0x03073D3F4769f6b6604d616238fD6c636C99AD0A', + PAYLOADS_CONTROLLER: '0x6b6B41c0f8C223715f712BE83ceC3c37bbfDC3fE', + PC_DATA_HELPER: '0xf438e33dCCEE260ee4371F9dceF408b0d7DBe424', + }, +}; diff --git a/scripts/generateAddresses.ts b/scripts/generateAddresses.ts index 6b2cf555..8202dd5d 100644 --- a/scripts/generateAddresses.ts +++ b/scripts/generateAddresses.ts @@ -57,6 +57,7 @@ import {metisAddresses} from './configs/networks/metis'; import {gnosisAddresses} from './configs/networks/gnosis'; import {bnbAddresses} from './configs/networks/bnb'; import {scrollAddresses} from './configs/networks/scroll'; +import {governanceConfigScroll} from './configs/governance/scroll'; async function main() { // cleanup ts artifacts @@ -84,6 +85,7 @@ async function main() { governanceConfigBase, governanceConfigBNB, governanceConfigGnosis, + governanceConfigScroll, ].map((config) => generateGovernanceLibrary(config)), ); const v2LibraryNames = await Promise.all( diff --git a/src/AaveAddressBook.sol b/src/AaveAddressBook.sol index be5723c4..5f8874ac 100644 --- a/src/AaveAddressBook.sol +++ b/src/AaveAddressBook.sol @@ -14,6 +14,7 @@ import {GovernanceV3Metis} from './GovernanceV3Metis.sol'; import {GovernanceV3Base} from './GovernanceV3Base.sol'; import {GovernanceV3BNB} from './GovernanceV3BNB.sol'; import {GovernanceV3Gnosis} from './GovernanceV3Gnosis.sol'; +import {GovernanceV3Scroll} from './GovernanceV3Scroll.sol'; import {AaveV2EthereumAMM} from './AaveV2EthereumAMM.sol'; import {AaveV2EthereumArc} from './AaveV2EthereumArc.sol'; import {AaveV2Ethereum} from './AaveV2Ethereum.sol'; diff --git a/src/GovernanceV3Scroll.sol b/src/GovernanceV3Scroll.sol new file mode 100644 index 00000000..c03acd4a --- /dev/null +++ b/src/GovernanceV3Scroll.sol @@ -0,0 +1,23 @@ +// SPDX-License-Identifier: MIT +pragma solidity >=0.6.0; + +// AUTOGENERATED - MANUALLY CHANGES WILL BE REVERTED BY THE GENERATOR +import {IGovernanceCore, IPayloadsControllerCore, IDataWarehouse, IVotingStrategy} from './GovernanceV3.sol'; + +library GovernanceV3Scroll { + // https://scrollscan.com/address/0x03073D3F4769f6b6604d616238fD6c636C99AD0A + address internal constant CROSS_CHAIN_CONTROLLER = 0x03073D3F4769f6b6604d616238fD6c636C99AD0A; + + // https://scrollscan.com/address/0x6b6B41c0f8C223715f712BE83ceC3c37bbfDC3fE + IPayloadsControllerCore internal constant PAYLOADS_CONTROLLER = + IPayloadsControllerCore(0x6b6B41c0f8C223715f712BE83ceC3c37bbfDC3fE); + + // https://scrollscan.com/address/0xf438e33dCCEE260ee4371F9dceF408b0d7DBe424 + address internal constant PC_DATA_HELPER = 0xf438e33dCCEE260ee4371F9dceF408b0d7DBe424; + + // https://scrollscan.com/address/0xc1ABF87FfAdf4908f4eC8dc54A25DCFEabAE4A24 + address internal constant EXECUTOR_LVL_1 = 0xc1ABF87FfAdf4908f4eC8dc54A25DCFEabAE4A24; + + // https://scrollscan.com/address/0x0000000000000000000000000000000000000000 + address internal constant EXECUTOR_LVL_2 = 0x0000000000000000000000000000000000000000; +} diff --git a/src/ts/AaveAddressBook.ts b/src/ts/AaveAddressBook.ts index 63ab1be9..43db160a 100644 --- a/src/ts/AaveAddressBook.ts +++ b/src/ts/AaveAddressBook.ts @@ -11,6 +11,7 @@ export * as GovernanceV3Metis from './GovernanceV3Metis'; export * as GovernanceV3Base from './GovernanceV3Base'; export * as GovernanceV3BNB from './GovernanceV3BNB'; export * as GovernanceV3Gnosis from './GovernanceV3Gnosis'; +export * as GovernanceV3Scroll from './GovernanceV3Scroll'; export * as AaveV2EthereumAMM from './AaveV2EthereumAMM'; export * as AaveV2EthereumArc from './AaveV2EthereumArc'; export * as AaveV2Ethereum from './AaveV2Ethereum'; diff --git a/src/ts/GovernanceV3Scroll.ts b/src/ts/GovernanceV3Scroll.ts new file mode 100644 index 00000000..fe21b3cd --- /dev/null +++ b/src/ts/GovernanceV3Scroll.ts @@ -0,0 +1,14 @@ +// https://scrollscan.com/address/0x03073D3F4769f6b6604d616238fD6c636C99AD0A +export const CROSS_CHAIN_CONTROLLER = '0x03073D3F4769f6b6604d616238fD6c636C99AD0A'; + +// IPayloadsControllerCore https://scrollscan.com/address/0x6b6B41c0f8C223715f712BE83ceC3c37bbfDC3fE +export const PAYLOADS_CONTROLLER = '0x6b6B41c0f8C223715f712BE83ceC3c37bbfDC3fE'; + +// https://scrollscan.com/address/0xf438e33dCCEE260ee4371F9dceF408b0d7DBe424 +export const PC_DATA_HELPER = '0xf438e33dCCEE260ee4371F9dceF408b0d7DBe424'; + +// https://scrollscan.com/address/0xc1ABF87FfAdf4908f4eC8dc54A25DCFEabAE4A24 +export const EXECUTOR_LVL_1 = '0xc1ABF87FfAdf4908f4eC8dc54A25DCFEabAE4A24'; + +// https://scrollscan.com/address/0x0000000000000000000000000000000000000000 +export const EXECUTOR_LVL_2 = '0x0000000000000000000000000000000000000000';