diff --git a/scripts/config.ts b/scripts/config.ts index 8b37f7fa..b7a3566c 100644 --- a/scripts/config.ts +++ b/scripts/config.ts @@ -19,6 +19,7 @@ export enum ChainId { harmony = 1666600000, sepolia = 11155111, scroll_alpha = 534353, + metis = 1088, } const RPC_PROVIDERS = { @@ -37,6 +38,7 @@ const RPC_PROVIDERS = { [ChainId.fantom_testnet]: 'https://rpc.ankr.com/fantom_testnet', [ChainId.sepolia]: 'https://rpc.sepolia.org/', [ChainId.scroll_alpha]: 'https://alpha-rpc.scroll.io/l2', + [ChainId.metis]: 'https://andromeda.metis.io/?owner=1088', } as const; export interface Pool { @@ -62,6 +64,13 @@ export interface Pool { DELEGATION_AWARE_A_TOKEN_IMPL_REV_1?: string; STATIC_A_TOKEN_FACTORY?: string; }; + // will be used for pending pools where the impls can't be fetched yet + initial?: { + COLLECTOR?: string; + DEFAULT_A_TOKEN_IMPL?: string; + DEFAULT_VARIABLE_DEBT_TOKEN_IMPL?: string; + DEFAULT_STABLE_DEBT_TOKEN_IMPL?: string; + }; } export interface Token { @@ -450,6 +459,27 @@ export const pools: Pool[] = [ L2_ENCODER: '0x997a8208902e1259dDf676Eb37FeD31A2f77110B', }, }, + { + name: 'AaveV3Metis', + chainId: ChainId.metis, + addressProvider: '0xB9FABd7500B2C6781c35Dd48d54f81fc2299D7AF', + version: 3, + additionalAddresses: { + POOL_ADDRESSES_PROVIDER_REGISTRY: '0x9E7B73ffD9D2026F3ff4212c29E209E09C8A91F5', + WALLET_BALANCE_PROVIDER: '0x1df710eb1E2FD9C21494aF2BFb1F210a4185885b', + UI_POOL_DATA_PROVIDER: '0x7dd60bd8507fDC3d300d53427b7AE566701a7320', + UI_INCENTIVE_DATA_PROVIDER: '0x3e7BC5EcE0f22DbB16c3e3EeA288a10A57d68927', + L2_ENCODER: '0x9f3A1B399A9074eBA63Dc4fc274bE2A2b2d80cB9', + RATES_FACTORY: '0x87Aaba7cf8e1F319d0E3402d68017171201dEcd5', + LISTING_ENGINE: '0x857720ad258db0ACb180e76A5526c72CFCe6F8A7', + }, + initial: { + COLLECTOR: '0xB5b64c7E00374e766272f8B442Cd261412D4b118', + DEFAULT_A_TOKEN_IMPL: '0x246405C70461f93513C74606815615c24c5C8C79', + DEFAULT_VARIABLE_DEBT_TOKEN_IMPL: '0xE7fA271BD76FC9c6F2F968976E9f4f553256E02f', + DEFAULT_STABLE_DEBT_TOKEN_IMPL: '0x52aC2476Fc6F788B4c5A9B12Cfcb7fDB163955f4', + }, + }, ].map((m) => ({ ...m, provider: new ethers.providers.StaticJsonRpcProvider( diff --git a/scripts/generator_v3.ts b/scripts/generator_v3.ts index f4027997..b4c03a12 100644 --- a/scripts/generator_v3.ts +++ b/scripts/generator_v3.ts @@ -8,6 +8,8 @@ import variableDebtTokenV3ABI from './abi/variableDebtToken_v3_abi.json'; import rewardsControllerABI from './abi/rewardsController_v3_abi.json'; import uipooldataProviderABI from './abi/uipooldata_provider.json'; import { + ZERO_ADDRESS, + addressOrZero, bytes32toAddress, generateAdditionalAddresses, generateAdditionalAddressesSol, @@ -21,6 +23,7 @@ export interface PoolV3WithAddresses extends Pool { poolDataProvider: string; poolConfigurator: string; oracle: string; + oracleSentinel: string; aclAdmin: string; aclManager: string; collector: string; @@ -44,10 +47,27 @@ export async function fetchPoolV3Addresses(pool: Pool): Promise 0) { + /** + * While the reserve treasury address is per token in most cases it will be the same address, so for the sake of the address-book we assume it always is. + */ + const aTokenContract = new ethers.Contract( + reservesData[0].aTokenAddress, + aTokenV3ABI, + pool.provider + ); - const defaultATokenImplementation = bytes32toAddress( - await getImplementationStorageSlot(pool.provider, reservesData[0].aTokenAddress) - ); + const collector = await aTokenContract.RESERVE_TREASURY_ADDRESS(); - const aTokenRevision = await aTokenContract.ATOKEN_REVISION(); + const defaultATokenImplementation = bytes32toAddress( + await getImplementationStorageSlot(pool.provider, reservesData[0].aTokenAddress) + ); - await sleep(1000); + const aTokenRevision = await aTokenContract.ATOKEN_REVISION(); - const defaultVariableDebtTokenImplementation = bytes32toAddress( - await getImplementationStorageSlot(pool.provider, reservesData[0].variableDebtTokenAddress) - ); + await sleep(1000); - const variableDebtTokenRevision = await new ethers.Contract( - reservesData[0].variableDebtTokenAddress, - variableDebtTokenV3ABI, - pool.provider - ).DEBT_TOKEN_REVISION(); + const defaultVariableDebtTokenImplementation = bytes32toAddress( + await getImplementationStorageSlot(pool.provider, reservesData[0].variableDebtTokenAddress) + ); - const defaultStableDebtTokenImplementation = bytes32toAddress( - await getImplementationStorageSlot(pool.provider, reservesData[0].stableDebtTokenAddress) - ); + const variableDebtTokenRevision = await new ethers.Contract( + reservesData[0].variableDebtTokenAddress, + variableDebtTokenV3ABI, + pool.provider + ).DEBT_TOKEN_REVISION(); - const stableDebtTokenRevision = await new ethers.Contract( - reservesData[0].stableDebtTokenAddress, - stableDebtTokenV3ABI, - pool.provider - ).DEBT_TOKEN_REVISION(); + const defaultStableDebtTokenImplementation = bytes32toAddress( + await getImplementationStorageSlot(pool.provider, reservesData[0].stableDebtTokenAddress) + ); - let emissionManager = '0x0000000000000000000000000000000000000000'; - try { - const incentivesControllerContract = await new ethers.Contract( - defaultIncentivesController, - rewardsControllerABI, + const stableDebtTokenRevision = await new ethers.Contract( + reservesData[0].stableDebtTokenAddress, + stableDebtTokenV3ABI, pool.provider - ); - emissionManager = await incentivesControllerContract.getEmissionManager(); - } catch (e) { - console.log(`old version of incentives controller deployed on ${pool.name}`); + ).DEBT_TOKEN_REVISION(); + + console.timeEnd(pool.name); + + return { + pool: poolAddress, + poolConfigurator, + oracle, + oracleSentinel, + aclAdmin, + aclManager, + poolDataProvider, + collector, + defaultATokenImplementation, + aTokenRevision, + defaultVariableDebtTokenImplementation, + variableDebtTokenRevision, + defaultStableDebtTokenImplementation, + stableDebtTokenRevision, + emissionManager, + defaultIncentivesController, + reservesData, + ...pool, + }; + } else { + console.timeEnd(pool.name); + return { + pool: poolAddress, + poolConfigurator, + oracle, + oracleSentinel, + aclAdmin, + aclManager, + poolDataProvider, + collector: addressOrZero(pool.initial?.COLLECTOR), + defaultATokenImplementation: addressOrZero(pool.initial?.DEFAULT_A_TOKEN_IMPL), + aTokenRevision: '1', + defaultVariableDebtTokenImplementation: addressOrZero( + pool.initial?.DEFAULT_VARIABLE_DEBT_TOKEN_IMPL + ), + variableDebtTokenRevision: '1', + defaultStableDebtTokenImplementation: addressOrZero( + pool.initial?.DEFAULT_STABLE_DEBT_TOKEN_IMPL + ), + stableDebtTokenRevision: '1', + emissionManager, + defaultIncentivesController, + reservesData, + ...pool, + }; } - - console.timeEnd(pool.name); - - return { - pool: poolAddress, - poolConfigurator, - oracle, - aclAdmin, - aclManager, - poolDataProvider, - collector, - defaultATokenImplementation, - aTokenRevision, - defaultVariableDebtTokenImplementation, - variableDebtTokenRevision, - defaultStableDebtTokenImplementation, - stableDebtTokenRevision, - emissionManager, - defaultIncentivesController, - reservesData, - ...pool, - }; } catch (error: any) { throw new Error(JSON.stringify({message: error.message, pool, stack: error.stack})); } @@ -158,6 +193,7 @@ export function writeV3Templates({ pool, poolConfigurator, oracle, + oracleSentinel, poolDataProvider, aclAdmin, aclManager, @@ -196,6 +232,8 @@ export function writeV3Templates({ IAaveOracle internal constant ORACLE = IAaveOracle(${oracle}); + address internal constant PRICE_ORACLE_SENTINEL = ${oracleSentinel}; + IPoolDataProvider internal constant AAVE_PROTOCOL_DATA_PROVIDER = IPoolDataProvider(${poolDataProvider}); IACLManager internal constant ACL_MANAGER = IACLManager(${aclManager}); @@ -228,6 +266,7 @@ export const POOL_ADDRESSES_PROVIDER = "${addressProvider}"; export const POOL = "${pool}"; export const POOL_CONFIGURATOR = "${poolConfigurator}"; export const ORACLE = "${oracle}"; +export const PRICE_ORACLE_SENTINEL = "${oracleSentinel}"; export const AAVE_PROTOCOL_DATA_PROVIDER = "${poolDataProvider}"; export const ACL_MANAGER = "${aclManager}"; export const ACL_ADMIN = "${aclAdmin}"; diff --git a/scripts/helpers.ts b/scripts/helpers.ts index 612610d1..82f5bf4f 100644 --- a/scripts/helpers.ts +++ b/scripts/helpers.ts @@ -46,3 +46,10 @@ export const generateAdditionalAddressesSol = ( export async function sleep(ms: number) { return new Promise((resolve) => setTimeout(resolve, ms)); } + +export const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000'; + +export function addressOrZero(address?: string) { + if (address) return address; + return ZERO_ADDRESS; +} diff --git a/src/AaveAddressBook.sol b/src/AaveAddressBook.sol index 057d1f14..5b004b2f 100644 --- a/src/AaveAddressBook.sol +++ b/src/AaveAddressBook.sol @@ -25,6 +25,7 @@ import {AaveV3Harmony} from './AaveV3Harmony.sol'; import {AaveV3Optimism} from './AaveV3Optimism.sol'; import {AaveV3OptimismGoerli} from './AaveV3OptimismGoerli.sol'; import {AaveV3ScrollAlpha} from './AaveV3ScrollAlpha.sol'; +import {AaveV3Metis} from './AaveV3Metis.sol'; import {AaveGovernanceV2, IGovernanceStrategy} from './AaveGovernanceV2.sol'; import {IAaveEcosystemReserveController, AaveMisc} from './AaveMisc.sol'; diff --git a/src/AaveGovernanceV2.sol b/src/AaveGovernanceV2.sol index eb40241a..889ccd1f 100644 --- a/src/AaveGovernanceV2.sol +++ b/src/AaveGovernanceV2.sol @@ -519,6 +519,8 @@ library AaveGovernanceV2 { address internal constant ARBITRUM_BRIDGE_EXECUTOR = 0x7d9103572bE58FfE99dc390E8246f02dcAe6f611; + address internal constant METIS_BRIDGE_EXECUTOR = 0x8EC77963068474a45016938Deb95E603Ca82a029; + // https://github.com/bgd-labs/aave-v3-crosschain-listing-template/tree/master/src/contracts address internal constant CROSSCHAIN_FORWARDER_POLYGON = 0x158a6bC04F0828318821baE797f50B0A1299d45b; @@ -528,4 +530,6 @@ library AaveGovernanceV2 { address internal constant CROSSCHAIN_FORWARDER_ARBITRUM = 0xd1B3E25fD7C8AE7CADDC6F71b461b79CD4ddcFa3; + + address internal constant CROSSCHAIN_FORWARDER_METIS = 0x2fE52eF191F0BE1D98459BdaD2F1d3160336C08f; } diff --git a/src/AaveMisc.sol b/src/AaveMisc.sol index 1d153c61..a567939b 100644 --- a/src/AaveMisc.sol +++ b/src/AaveMisc.sol @@ -172,4 +172,7 @@ library AaveMisc { address constant TRANSPARENT_PROXY_FACTORY_FANTOM = 0xB4e496f70602fE2AC6Ae511D028BA4D194773B29; address constant PROXY_ADMIN_FANTOM = 0xD3cF979e676265e4f6379749DECe4708B9A22476; + + address constant TRANSPARENT_PROXY_FACTORY_METIS = 0x1dad86dC5990BCE5bFe3A150A4E0ece990d6EBcB; + address constant PROXY_ADMIN_METIS = 0x1CabD986cBAbDf12E00128DFf03C80ee62C4fd97; } diff --git a/src/AaveV3Arbitrum.sol b/src/AaveV3Arbitrum.sol index ad5148de..144c281d 100644 --- a/src/AaveV3Arbitrum.sol +++ b/src/AaveV3Arbitrum.sol @@ -16,6 +16,8 @@ library AaveV3Arbitrum { IAaveOracle internal constant ORACLE = IAaveOracle(0xb56c2F0B653B2e0b10C9b928C8580Ac5Df02C7C7); + address internal constant PRICE_ORACLE_SENTINEL = 0xF876d26041a4Fdc7A787d209DC3D2795dDc74f1e; + IPoolDataProvider internal constant AAVE_PROTOCOL_DATA_PROVIDER = IPoolDataProvider(0x69FA688f1Dc47d4B5d8029D5a35FB7a548310654); diff --git a/src/AaveV3ArbitrumGoerli.sol b/src/AaveV3ArbitrumGoerli.sol index 1ce55186..b61e87dc 100644 --- a/src/AaveV3ArbitrumGoerli.sol +++ b/src/AaveV3ArbitrumGoerli.sol @@ -16,6 +16,8 @@ library AaveV3ArbitrumGoerli { IAaveOracle internal constant ORACLE = IAaveOracle(0xaEA17ddD7cEDD233f851e1cFd2cBca42F488772d); + address internal constant PRICE_ORACLE_SENTINEL = 0x0000000000000000000000000000000000000000; + IPoolDataProvider internal constant AAVE_PROTOCOL_DATA_PROVIDER = IPoolDataProvider(0x2Fc0604AE02FA8AB833f135B0C01dFa45f88DAa2); diff --git a/src/AaveV3Avalanche.sol b/src/AaveV3Avalanche.sol index ac4414f5..b2206d56 100644 --- a/src/AaveV3Avalanche.sol +++ b/src/AaveV3Avalanche.sol @@ -16,6 +16,8 @@ library AaveV3Avalanche { IAaveOracle internal constant ORACLE = IAaveOracle(0xEBd36016B3eD09D4693Ed4251c67Bd858c3c7C9C); + address internal constant PRICE_ORACLE_SENTINEL = 0x0000000000000000000000000000000000000000; + IPoolDataProvider internal constant AAVE_PROTOCOL_DATA_PROVIDER = IPoolDataProvider(0x69FA688f1Dc47d4B5d8029D5a35FB7a548310654); diff --git a/src/AaveV3Ethereum.sol b/src/AaveV3Ethereum.sol index d304c9ed..5aee6780 100644 --- a/src/AaveV3Ethereum.sol +++ b/src/AaveV3Ethereum.sol @@ -16,6 +16,8 @@ library AaveV3Ethereum { IAaveOracle internal constant ORACLE = IAaveOracle(0x54586bE62E3c3580375aE3723C145253060Ca0C2); + address internal constant PRICE_ORACLE_SENTINEL = 0x0000000000000000000000000000000000000000; + IPoolDataProvider internal constant AAVE_PROTOCOL_DATA_PROVIDER = IPoolDataProvider(0x7B4EB56E7CD4b454BA8ff71E4518426369a138a3); diff --git a/src/AaveV3Fantom.sol b/src/AaveV3Fantom.sol index 308e2fb8..bc118dab 100644 --- a/src/AaveV3Fantom.sol +++ b/src/AaveV3Fantom.sol @@ -16,6 +16,8 @@ library AaveV3Fantom { IAaveOracle internal constant ORACLE = IAaveOracle(0xfd6f3c1845604C8AE6c6E402ad17fb9885160754); + address internal constant PRICE_ORACLE_SENTINEL = 0x0000000000000000000000000000000000000000; + IPoolDataProvider internal constant AAVE_PROTOCOL_DATA_PROVIDER = IPoolDataProvider(0x69FA688f1Dc47d4B5d8029D5a35FB7a548310654); diff --git a/src/AaveV3FantomTestnet.sol b/src/AaveV3FantomTestnet.sol index b6a2f1f7..eff935f9 100644 --- a/src/AaveV3FantomTestnet.sol +++ b/src/AaveV3FantomTestnet.sol @@ -16,6 +16,8 @@ library AaveV3FantomTestnet { IAaveOracle internal constant ORACLE = IAaveOracle(0xDd6BCF7EF3dbA79b03D61De36Cc292661c664efD); + address internal constant PRICE_ORACLE_SENTINEL = 0x0000000000000000000000000000000000000000; + IPoolDataProvider internal constant AAVE_PROTOCOL_DATA_PROVIDER = IPoolDataProvider(0x221b58772526669172acCA8B68f6905086c81569); diff --git a/src/AaveV3Fuji.sol b/src/AaveV3Fuji.sol index c21debcb..c9872de3 100644 --- a/src/AaveV3Fuji.sol +++ b/src/AaveV3Fuji.sol @@ -16,6 +16,8 @@ library AaveV3Fuji { IAaveOracle internal constant ORACLE = IAaveOracle(0xB9107870a2e22b9cd4B51ED5483212Cb9eAE0329); + address internal constant PRICE_ORACLE_SENTINEL = 0x0000000000000000000000000000000000000000; + IPoolDataProvider internal constant AAVE_PROTOCOL_DATA_PROVIDER = IPoolDataProvider(0x0B59871DF373136bB7753A7A2675b47ffA0ccC86); diff --git a/src/AaveV3Goerli.sol b/src/AaveV3Goerli.sol index 40f342fa..72ea34cc 100644 --- a/src/AaveV3Goerli.sol +++ b/src/AaveV3Goerli.sol @@ -16,6 +16,8 @@ library AaveV3Goerli { IAaveOracle internal constant ORACLE = IAaveOracle(0x9F616c65b5298E24e155E4486e114516BC635b63); + address internal constant PRICE_ORACLE_SENTINEL = 0x0000000000000000000000000000000000000000; + IPoolDataProvider internal constant AAVE_PROTOCOL_DATA_PROVIDER = IPoolDataProvider(0xa41E284482F9923E265832bE59627d91432da76C); diff --git a/src/AaveV3GoerliGho.sol b/src/AaveV3GoerliGho.sol index dbf4d3fd..09ec4e78 100644 --- a/src/AaveV3GoerliGho.sol +++ b/src/AaveV3GoerliGho.sol @@ -16,6 +16,8 @@ library AaveV3GoerliGho { IAaveOracle internal constant ORACLE = IAaveOracle(0xcb601629B36891c43943e3CDa2eB18FAc38B5c4e); + address internal constant PRICE_ORACLE_SENTINEL = 0x0000000000000000000000000000000000000000; + IPoolDataProvider internal constant AAVE_PROTOCOL_DATA_PROVIDER = IPoolDataProvider(0xB7d8ff9949dB06D8387C28332045b8F734641755); diff --git a/src/AaveV3Harmony.sol b/src/AaveV3Harmony.sol index 623952b3..d5a16edf 100644 --- a/src/AaveV3Harmony.sol +++ b/src/AaveV3Harmony.sol @@ -16,6 +16,8 @@ library AaveV3Harmony { IAaveOracle internal constant ORACLE = IAaveOracle(0x3C90887Ede8D65ccb2777A5d577beAb2548280AD); + address internal constant PRICE_ORACLE_SENTINEL = 0x0000000000000000000000000000000000000000; + IPoolDataProvider internal constant AAVE_PROTOCOL_DATA_PROVIDER = IPoolDataProvider(0x69FA688f1Dc47d4B5d8029D5a35FB7a548310654); diff --git a/src/AaveV3Metis.sol b/src/AaveV3Metis.sol new file mode 100644 index 00000000..330ed573 --- /dev/null +++ b/src/AaveV3Metis.sol @@ -0,0 +1,70 @@ +// SPDX-License-Identifier: MIT +// AUTOGENERATED - DON'T MANUALLY CHANGE +pragma solidity >=0.6.0; + +import {IPoolAddressesProvider, IPool, IPoolConfigurator, IAaveOracle, IPoolDataProvider, IACLManager} from './AaveV3.sol'; +import {ICollector} from './common/ICollector.sol'; + +library AaveV3Metis { + IPoolAddressesProvider internal constant POOL_ADDRESSES_PROVIDER = + IPoolAddressesProvider(0xB9FABd7500B2C6781c35Dd48d54f81fc2299D7AF); + + IPool internal constant POOL = IPool(0x90df02551bB792286e8D4f13E0e357b4Bf1D6a57); + + IPoolConfigurator internal constant POOL_CONFIGURATOR = + IPoolConfigurator(0x69FEE8F261E004453BE0800BC9039717528645A6); + + IAaveOracle internal constant ORACLE = IAaveOracle(0x38D36e85E47eA6ff0d18B0adF12E5fC8984A6f8e); + + address internal constant PRICE_ORACLE_SENTINEL = 0xE2566C39db9559D318fB3a00D7B5992CBeeA8567; + + IPoolDataProvider internal constant AAVE_PROTOCOL_DATA_PROVIDER = + IPoolDataProvider(0x99411FC17Ad1B56f49719E3850B2CDcc0f9bBFd8); + + IACLManager internal constant ACL_MANAGER = + IACLManager(0xcDCb65fc657B701a5100a12eFB663978E7e8fFB8); + + address internal constant ACL_ADMIN = 0x8EC77963068474a45016938Deb95E603Ca82a029; + + ICollector internal constant COLLECTOR = ICollector(0xB5b64c7E00374e766272f8B442Cd261412D4b118); + + address internal constant DEFAULT_INCENTIVES_CONTROLLER = + 0x30C1b8F0490fa0908863d6Cbd2E36400b4310A6B; + + address internal constant DEFAULT_A_TOKEN_IMPL_REV_1 = 0x246405C70461f93513C74606815615c24c5C8C79; + + address internal constant DEFAULT_VARIABLE_DEBT_TOKEN_IMPL_REV_1 = + 0xE7fA271BD76FC9c6F2F968976E9f4f553256E02f; + + address internal constant DEFAULT_STABLE_DEBT_TOKEN_IMPL_REV_1 = + 0x52aC2476Fc6F788B4c5A9B12Cfcb7fDB163955f4; + + address internal constant EMISSION_MANAGER = 0xfDb2580A1ac4CDc67E4236738b28af59e2022Dd2; + + address internal constant POOL_ADDRESSES_PROVIDER_REGISTRY = + 0x9E7B73ffD9D2026F3ff4212c29E209E09C8A91F5; + + address internal constant WALLET_BALANCE_PROVIDER = 0x1df710eb1E2FD9C21494aF2BFb1F210a4185885b; + + address internal constant UI_POOL_DATA_PROVIDER = 0x7dd60bd8507fDC3d300d53427b7AE566701a7320; + + address internal constant UI_INCENTIVE_DATA_PROVIDER = 0x3e7BC5EcE0f22DbB16c3e3EeA288a10A57d68927; + + address internal constant L2_ENCODER = 0x9f3A1B399A9074eBA63Dc4fc274bE2A2b2d80cB9; + + address internal constant RATES_FACTORY = 0x87Aaba7cf8e1F319d0E3402d68017171201dEcd5; + + address internal constant LISTING_ENGINE = 0x857720ad258db0ACb180e76A5526c72CFCe6F8A7; +} + +library AaveV3MetisAssets { + address internal constant METIS_UNDERLYING = 0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000; + + address internal constant WETH_UNDERLYING = 0x420000000000000000000000000000000000000A; + + address internal constant mDAI_UNDERLYING = 0x4c078361FC9BbB78DF910800A991C7c3DD2F6ce0; + + address internal constant mUSDC_UNDERLYING = 0xEA32A96608495e54156Ae48931A7c20f0dcc1a21; + + address internal constant mUSDT_UNDERLYING = 0xbB06DCA3AE6887fAbF931640f67cab3e3a16F4dC; +} diff --git a/src/AaveV3Mumbai.sol b/src/AaveV3Mumbai.sol index da881cb4..d7ef098d 100644 --- a/src/AaveV3Mumbai.sol +++ b/src/AaveV3Mumbai.sol @@ -16,6 +16,8 @@ library AaveV3Mumbai { IAaveOracle internal constant ORACLE = IAaveOracle(0xf0E6744a59177014738e1eF920dc676fb3b8CB62); + address internal constant PRICE_ORACLE_SENTINEL = 0x0000000000000000000000000000000000000000; + IPoolDataProvider internal constant AAVE_PROTOCOL_DATA_PROVIDER = IPoolDataProvider(0xacB5aDd3029C5004f726e8411033E6202Bc3dd01); diff --git a/src/AaveV3Optimism.sol b/src/AaveV3Optimism.sol index cc7222aa..2d9a264d 100644 --- a/src/AaveV3Optimism.sol +++ b/src/AaveV3Optimism.sol @@ -16,6 +16,8 @@ library AaveV3Optimism { IAaveOracle internal constant ORACLE = IAaveOracle(0xD81eb3728a631871a7eBBaD631b5f424909f0c77); + address internal constant PRICE_ORACLE_SENTINEL = 0x0000000000000000000000000000000000000000; + IPoolDataProvider internal constant AAVE_PROTOCOL_DATA_PROVIDER = IPoolDataProvider(0x69FA688f1Dc47d4B5d8029D5a35FB7a548310654); diff --git a/src/AaveV3OptimismGoerli.sol b/src/AaveV3OptimismGoerli.sol index 47fcc60e..6a22c0d7 100644 --- a/src/AaveV3OptimismGoerli.sol +++ b/src/AaveV3OptimismGoerli.sol @@ -16,6 +16,8 @@ library AaveV3OptimismGoerli { IAaveOracle internal constant ORACLE = IAaveOracle(0x2366d0cE3f44D81f7b2D40C64288b5eAA7593049); + address internal constant PRICE_ORACLE_SENTINEL = 0x0000000000000000000000000000000000000000; + IPoolDataProvider internal constant AAVE_PROTOCOL_DATA_PROVIDER = IPoolDataProvider(0x861d7d4A46C63b92461631CC77a9f2aeAcFfA10d); diff --git a/src/AaveV3Polygon.sol b/src/AaveV3Polygon.sol index 6272e871..ddef4a9f 100644 --- a/src/AaveV3Polygon.sol +++ b/src/AaveV3Polygon.sol @@ -16,6 +16,8 @@ library AaveV3Polygon { IAaveOracle internal constant ORACLE = IAaveOracle(0xb023e699F5a33916Ea823A16485e259257cA8Bd1); + address internal constant PRICE_ORACLE_SENTINEL = 0x0000000000000000000000000000000000000000; + IPoolDataProvider internal constant AAVE_PROTOCOL_DATA_PROVIDER = IPoolDataProvider(0x69FA688f1Dc47d4B5d8029D5a35FB7a548310654); diff --git a/src/AaveV3ScrollAlpha.sol b/src/AaveV3ScrollAlpha.sol index 9878693d..c1b8168a 100644 --- a/src/AaveV3ScrollAlpha.sol +++ b/src/AaveV3ScrollAlpha.sol @@ -16,6 +16,8 @@ library AaveV3ScrollAlpha { IAaveOracle internal constant ORACLE = IAaveOracle(0x269D5C1854fcA3bede6BFc8935118c99020b13f0); + address internal constant PRICE_ORACLE_SENTINEL = 0x0000000000000000000000000000000000000000; + IPoolDataProvider internal constant AAVE_PROTOCOL_DATA_PROVIDER = IPoolDataProvider(0x36002d10bB238594c58aec104620555a545D517C); diff --git a/src/AaveV3Sepolia.sol b/src/AaveV3Sepolia.sol index fe3ff959..c7051c60 100644 --- a/src/AaveV3Sepolia.sol +++ b/src/AaveV3Sepolia.sol @@ -16,6 +16,8 @@ library AaveV3Sepolia { IAaveOracle internal constant ORACLE = IAaveOracle(0x132C06E86CcCf93Afef7B33f0FF3e2E97EECf8f6); + address internal constant PRICE_ORACLE_SENTINEL = 0x0000000000000000000000000000000000000000; + IPoolDataProvider internal constant AAVE_PROTOCOL_DATA_PROVIDER = IPoolDataProvider(0xC7832d5ACDDbdA5a7c9d1Fa9F677f9a84b7a4125); diff --git a/src/ts/AaveAddressBook.ts b/src/ts/AaveAddressBook.ts index d229a162..18b15248 100644 --- a/src/ts/AaveAddressBook.ts +++ b/src/ts/AaveAddressBook.ts @@ -25,3 +25,4 @@ export * as AaveV3Harmony from './AaveV3Harmony'; export * as AaveV3Optimism from './AaveV3Optimism'; export * as AaveV3OptimismGoerli from './AaveV3OptimismGoerli'; export * as AaveV3ScrollAlpha from './AaveV3ScrollAlpha'; +export * as AaveV3Metis from './AaveV3Metis'; diff --git a/src/ts/AaveGovernanceV2.ts b/src/ts/AaveGovernanceV2.ts index 830df1f3..99aabb3b 100644 --- a/src/ts/AaveGovernanceV2.ts +++ b/src/ts/AaveGovernanceV2.ts @@ -6,6 +6,8 @@ export const ARC_TIMELOCK = '0xAce1d11d836cb3F51Ef658FD4D353fFb3c301218'; export const POLYGON_BRIDGE_EXECUTOR = '0xdc9A35B16DB4e126cFeDC41322b3a36454B1F772'; export const OPTIMISM_BRIDGE_EXECUTOR = '0x7d9103572bE58FfE99dc390E8246f02dcAe6f611'; export const ARBITRUM_BRIDGE_EXECUTOR = '0x7d9103572bE58FfE99dc390E8246f02dcAe6f611'; +export const METIS_BRIDGE_EXECUTOR = '0x8EC77963068474a45016938Deb95E603Ca82a029'; export const CROSSCHAIN_FORWARDER_POLYGON = '0x158a6bC04F0828318821baE797f50B0A1299d45b'; export const CROSSCHAIN_FORWARDER_OPTIMISM = '0x5f5C02875a8e9B5A26fbd09040ABCfDeb2AA6711'; export const CROSSCHAIN_FORWARDER_ARBITRUM = '0xd1B3E25fD7C8AE7CADDC6F71b461b79CD4ddcFa3'; +export const CROSSCHAIN_FORWARDER_METIS = '0x2fe52ef191f0be1d98459bdad2f1d3160336c08f'; diff --git a/src/ts/AaveV3Arbitrum.ts b/src/ts/AaveV3Arbitrum.ts index 7a0aa412..0879b2ca 100644 --- a/src/ts/AaveV3Arbitrum.ts +++ b/src/ts/AaveV3Arbitrum.ts @@ -3,6 +3,7 @@ export const POOL_ADDRESSES_PROVIDER = '0xa97684ead0e402dC232d5A977953DF7ECBaB3C export const POOL = '0x794a61358D6845594F94dc1DB02A252b5b4814aD'; export const POOL_CONFIGURATOR = '0x8145eddDf43f50276641b55bd3AD95944510021E'; export const ORACLE = '0xb56c2F0B653B2e0b10C9b928C8580Ac5Df02C7C7'; +export const PRICE_ORACLE_SENTINEL = '0xF876d26041a4Fdc7A787d209DC3D2795dDc74f1e'; export const AAVE_PROTOCOL_DATA_PROVIDER = '0x69FA688f1Dc47d4B5d8029D5a35FB7a548310654'; export const ACL_MANAGER = '0xa72636CbcAa8F5FF95B2cc47F3CDEe83F3294a0B'; export const ACL_ADMIN = '0x7d9103572bE58FfE99dc390E8246f02dcAe6f611'; diff --git a/src/ts/AaveV3ArbitrumGoerli.ts b/src/ts/AaveV3ArbitrumGoerli.ts index 431fd650..baf3c2fc 100644 --- a/src/ts/AaveV3ArbitrumGoerli.ts +++ b/src/ts/AaveV3ArbitrumGoerli.ts @@ -3,6 +3,7 @@ export const POOL_ADDRESSES_PROVIDER = '0x4EEE0BB72C2717310318f27628B3c8a708E495 export const POOL = '0xeAA2F46aeFd7BDe8fB91Df1B277193079b727655'; export const POOL_CONFIGURATOR = '0x8bf6ed3FDa90c4111E491D2BDdd57589Ffb0c161'; export const ORACLE = '0xaEA17ddD7cEDD233f851e1cFd2cBca42F488772d'; +export const PRICE_ORACLE_SENTINEL = '0x0000000000000000000000000000000000000000'; export const AAVE_PROTOCOL_DATA_PROVIDER = '0x2Fc0604AE02FA8AB833f135B0C01dFa45f88DAa2'; export const ACL_MANAGER = '0xb8141857d82eC821141c17FA74dfeF062EB8594D'; export const ACL_ADMIN = '0xfA0e305E0f46AB04f00ae6b5f4560d61a2183E00'; diff --git a/src/ts/AaveV3Avalanche.ts b/src/ts/AaveV3Avalanche.ts index c1a60aec..52f8550a 100644 --- a/src/ts/AaveV3Avalanche.ts +++ b/src/ts/AaveV3Avalanche.ts @@ -3,6 +3,7 @@ export const POOL_ADDRESSES_PROVIDER = '0xa97684ead0e402dC232d5A977953DF7ECBaB3C export const POOL = '0x794a61358D6845594F94dc1DB02A252b5b4814aD'; export const POOL_CONFIGURATOR = '0x8145eddDf43f50276641b55bd3AD95944510021E'; export const ORACLE = '0xEBd36016B3eD09D4693Ed4251c67Bd858c3c7C9C'; +export const PRICE_ORACLE_SENTINEL = '0x0000000000000000000000000000000000000000'; export const AAVE_PROTOCOL_DATA_PROVIDER = '0x69FA688f1Dc47d4B5d8029D5a35FB7a548310654'; export const ACL_MANAGER = '0xa72636CbcAa8F5FF95B2cc47F3CDEe83F3294a0B'; export const ACL_ADMIN = '0xa35b76E4935449E33C56aB24b23fcd3246f13470'; diff --git a/src/ts/AaveV3Ethereum.ts b/src/ts/AaveV3Ethereum.ts index f2b94642..541bf455 100644 --- a/src/ts/AaveV3Ethereum.ts +++ b/src/ts/AaveV3Ethereum.ts @@ -3,6 +3,7 @@ export const POOL_ADDRESSES_PROVIDER = '0x2f39d218133AFaB8F2B819B1066c7E434Ad94E export const POOL = '0x87870Bca3F3fD6335C3F4ce8392D69350B4fA4E2'; export const POOL_CONFIGURATOR = '0x64b761D848206f447Fe2dd461b0c635Ec39EbB27'; export const ORACLE = '0x54586bE62E3c3580375aE3723C145253060Ca0C2'; +export const PRICE_ORACLE_SENTINEL = '0x0000000000000000000000000000000000000000'; export const AAVE_PROTOCOL_DATA_PROVIDER = '0x7B4EB56E7CD4b454BA8ff71E4518426369a138a3'; export const ACL_MANAGER = '0xc2aaCf6553D20d1e9d78E365AAba8032af9c85b0'; export const ACL_ADMIN = '0xEE56e2B3D491590B5b31738cC34d5232F378a8D5'; diff --git a/src/ts/AaveV3Fantom.ts b/src/ts/AaveV3Fantom.ts index 26fd1099..c5b0c323 100644 --- a/src/ts/AaveV3Fantom.ts +++ b/src/ts/AaveV3Fantom.ts @@ -3,6 +3,7 @@ export const POOL_ADDRESSES_PROVIDER = '0xa97684ead0e402dC232d5A977953DF7ECBaB3C export const POOL = '0x794a61358D6845594F94dc1DB02A252b5b4814aD'; export const POOL_CONFIGURATOR = '0x8145eddDf43f50276641b55bd3AD95944510021E'; export const ORACLE = '0xfd6f3c1845604C8AE6c6E402ad17fb9885160754'; +export const PRICE_ORACLE_SENTINEL = '0x0000000000000000000000000000000000000000'; export const AAVE_PROTOCOL_DATA_PROVIDER = '0x69FA688f1Dc47d4B5d8029D5a35FB7a548310654'; export const ACL_MANAGER = '0xa72636CbcAa8F5FF95B2cc47F3CDEe83F3294a0B'; export const ACL_ADMIN = '0x39CB97b105173b56b5a2b4b33AD25d6a50E6c949'; diff --git a/src/ts/AaveV3FantomTestnet.ts b/src/ts/AaveV3FantomTestnet.ts index 9b4044d5..826a805b 100644 --- a/src/ts/AaveV3FantomTestnet.ts +++ b/src/ts/AaveV3FantomTestnet.ts @@ -3,6 +3,7 @@ export const POOL_ADDRESSES_PROVIDER = '0xC809bea009Ca8DAA680f6A1c4Ca020D5502107 export const POOL = '0x95b1B6470eAF8cC4A03d2D44C6b54eBB8ede8C30'; export const POOL_CONFIGURATOR = '0x91ce34267F11EcB54b2601Ed1C43188cE465dabB'; export const ORACLE = '0xDd6BCF7EF3dbA79b03D61De36Cc292661c664efD'; +export const PRICE_ORACLE_SENTINEL = '0x0000000000000000000000000000000000000000'; export const AAVE_PROTOCOL_DATA_PROVIDER = '0x221b58772526669172acCA8B68f6905086c81569'; export const ACL_MANAGER = '0xbB27a8D0D19fB0c43364Bd26AEB8Fc131F4dA40F'; export const ACL_ADMIN = '0xaDdfe0b2342800ebD67C30d1c2Bd479E4D498BD5'; diff --git a/src/ts/AaveV3Fuji.ts b/src/ts/AaveV3Fuji.ts index 70ffb7c8..547e9e59 100644 --- a/src/ts/AaveV3Fuji.ts +++ b/src/ts/AaveV3Fuji.ts @@ -3,6 +3,7 @@ export const POOL_ADDRESSES_PROVIDER = '0x220c6A7D868FC38ECB47d5E69b99e990630028 export const POOL = '0xf319Bb55994dD1211bC34A7A26A336C6DD0B1b00'; export const POOL_CONFIGURATOR = '0x8F3433F242C852916Bd1850916De1C0767E88DDf'; export const ORACLE = '0xB9107870a2e22b9cd4B51ED5483212Cb9eAE0329'; +export const PRICE_ORACLE_SENTINEL = '0x0000000000000000000000000000000000000000'; export const AAVE_PROTOCOL_DATA_PROVIDER = '0x0B59871DF373136bB7753A7A2675b47ffA0ccC86'; export const ACL_MANAGER = '0x2faBdE81944E97D6dbAAa71BEDAF36229F51bC12'; export const ACL_ADMIN = '0xfA0e305E0f46AB04f00ae6b5f4560d61a2183E00'; diff --git a/src/ts/AaveV3Goerli.ts b/src/ts/AaveV3Goerli.ts index 67f46a09..1eda56aa 100644 --- a/src/ts/AaveV3Goerli.ts +++ b/src/ts/AaveV3Goerli.ts @@ -3,6 +3,7 @@ export const POOL_ADDRESSES_PROVIDER = '0xC911B590248d127aD18546B186cC6B324e99F0 export const POOL = '0x7b5C526B7F8dfdff278b4a3e045083FBA4028790'; export const POOL_CONFIGURATOR = '0x3b35da485b4daceFf52d499aa6C14dFE233a51CD'; export const ORACLE = '0x9F616c65b5298E24e155E4486e114516BC635b63'; +export const PRICE_ORACLE_SENTINEL = '0x0000000000000000000000000000000000000000'; export const AAVE_PROTOCOL_DATA_PROVIDER = '0xa41E284482F9923E265832bE59627d91432da76C'; export const ACL_MANAGER = '0x30417E3105a111c4e8C697Df66d26fC68d43656F'; export const ACL_ADMIN = '0xfA0e305E0f46AB04f00ae6b5f4560d61a2183E00'; diff --git a/src/ts/AaveV3GoerliGho.ts b/src/ts/AaveV3GoerliGho.ts index a01f6752..117b0d63 100644 --- a/src/ts/AaveV3GoerliGho.ts +++ b/src/ts/AaveV3GoerliGho.ts @@ -3,6 +3,7 @@ export const POOL_ADDRESSES_PROVIDER = '0x4dd5ab8Fb385F2e12aDe435ba7AFA812F1d364 export const POOL = '0x617Cf26407193E32a771264fB5e9b8f09715CdfB'; export const POOL_CONFIGURATOR = '0x04eA6B2a9E82Bd58bC95B8eA2b90496356dD969F'; export const ORACLE = '0xcb601629B36891c43943e3CDa2eB18FAc38B5c4e'; +export const PRICE_ORACLE_SENTINEL = '0x0000000000000000000000000000000000000000'; export const AAVE_PROTOCOL_DATA_PROVIDER = '0xB7d8ff9949dB06D8387C28332045b8F734641755'; export const ACL_MANAGER = '0x9C94757E231AdF6c90f89259DFA0841a1bf8172f'; export const ACL_ADMIN = '0x2892e37624Ec31CC42502f297821109700270971'; diff --git a/src/ts/AaveV3Harmony.ts b/src/ts/AaveV3Harmony.ts index 69422afc..a94fb62b 100644 --- a/src/ts/AaveV3Harmony.ts +++ b/src/ts/AaveV3Harmony.ts @@ -3,6 +3,7 @@ export const POOL_ADDRESSES_PROVIDER = '0xa97684ead0e402dC232d5A977953DF7ECBaB3C export const POOL = '0x794a61358D6845594F94dc1DB02A252b5b4814aD'; export const POOL_CONFIGURATOR = '0x8145eddDf43f50276641b55bd3AD95944510021E'; export const ORACLE = '0x3C90887Ede8D65ccb2777A5d577beAb2548280AD'; +export const PRICE_ORACLE_SENTINEL = '0x0000000000000000000000000000000000000000'; export const AAVE_PROTOCOL_DATA_PROVIDER = '0x69FA688f1Dc47d4B5d8029D5a35FB7a548310654'; export const ACL_MANAGER = '0xa72636CbcAa8F5FF95B2cc47F3CDEe83F3294a0B'; export const ACL_ADMIN = '0xb2f0C5f37f4beD2cB51C44653cD5D84866BDcd2D'; diff --git a/src/ts/AaveV3Metis.ts b/src/ts/AaveV3Metis.ts new file mode 100644 index 00000000..61eb6091 --- /dev/null +++ b/src/ts/AaveV3Metis.ts @@ -0,0 +1,23 @@ +// AUTOGENERATED - DON'T MANUALLY CHANGE +export const POOL_ADDRESSES_PROVIDER = '0xB9FABd7500B2C6781c35Dd48d54f81fc2299D7AF'; +export const POOL = '0x90df02551bB792286e8D4f13E0e357b4Bf1D6a57'; +export const POOL_CONFIGURATOR = '0x69FEE8F261E004453BE0800BC9039717528645A6'; +export const ORACLE = '0x38D36e85E47eA6ff0d18B0adF12E5fC8984A6f8e'; +export const PRICE_ORACLE_SENTINEL = '0xE2566C39db9559D318fB3a00D7B5992CBeeA8567'; +export const AAVE_PROTOCOL_DATA_PROVIDER = '0x99411FC17Ad1B56f49719E3850B2CDcc0f9bBFd8'; +export const ACL_MANAGER = '0xcDCb65fc657B701a5100a12eFB663978E7e8fFB8'; +export const ACL_ADMIN = '0x8EC77963068474a45016938Deb95E603Ca82a029'; +export const COLLECTOR = '0xB5b64c7E00374e766272f8B442Cd261412D4b118'; +export const DEFAULT_INCENTIVES_CONTROLLER = '0x30C1b8F0490fa0908863d6Cbd2E36400b4310A6B'; +export const DEFAULT_A_TOKEN_IMPL_REV_1 = '0x246405C70461f93513C74606815615c24c5C8C79'; +export const DEFAULT_VARIABLE_DEBT_TOKEN_IMPL_REV_1 = '0xE7fA271BD76FC9c6F2F968976E9f4f553256E02f'; +export const DEFAULT_STABLE_DEBT_TOKEN_IMPL_REV_1 = '0x52aC2476Fc6F788B4c5A9B12Cfcb7fDB163955f4'; +export const CHAIN_ID = 1088; +export const EMISSION_MANAGER = '0xfDb2580A1ac4CDc67E4236738b28af59e2022Dd2'; +export const POOL_ADDRESSES_PROVIDER_REGISTRY = '0x9E7B73ffD9D2026F3ff4212c29E209E09C8A91F5'; +export const WALLET_BALANCE_PROVIDER = '0x1df710eb1E2FD9C21494aF2BFb1F210a4185885b'; +export const UI_POOL_DATA_PROVIDER = '0x7dd60bd8507fDC3d300d53427b7AE566701a7320'; +export const UI_INCENTIVE_DATA_PROVIDER = '0x3e7BC5EcE0f22DbB16c3e3EeA288a10A57d68927'; +export const L2_ENCODER = '0x9f3A1B399A9074eBA63Dc4fc274bE2A2b2d80cB9'; +export const RATES_FACTORY = '0x87Aaba7cf8e1F319d0E3402d68017171201dEcd5'; +export const LISTING_ENGINE = '0x857720ad258db0ACb180e76A5526c72CFCe6F8A7'; diff --git a/src/ts/AaveV3Mumbai.ts b/src/ts/AaveV3Mumbai.ts index c1e5f154..c0a518d6 100644 --- a/src/ts/AaveV3Mumbai.ts +++ b/src/ts/AaveV3Mumbai.ts @@ -3,6 +3,7 @@ export const POOL_ADDRESSES_PROVIDER = '0xeb7A892BB04A8f836bDEeBbf60897A7Af1Bf5d export const POOL = '0x0b913A76beFF3887d35073b8e5530755D60F78C7'; export const POOL_CONFIGURATOR = '0x1147c3fE425bB6596D08Baba106167b190897821'; export const ORACLE = '0xf0E6744a59177014738e1eF920dc676fb3b8CB62'; +export const PRICE_ORACLE_SENTINEL = '0x0000000000000000000000000000000000000000'; export const AAVE_PROTOCOL_DATA_PROVIDER = '0xacB5aDd3029C5004f726e8411033E6202Bc3dd01'; export const ACL_MANAGER = '0x18e94ec692587dEb6f64c3c8e234dB076aAf8A35'; export const ACL_ADMIN = '0xfA0e305E0f46AB04f00ae6b5f4560d61a2183E00'; diff --git a/src/ts/AaveV3Optimism.ts b/src/ts/AaveV3Optimism.ts index 8e49bd99..dcf67a84 100644 --- a/src/ts/AaveV3Optimism.ts +++ b/src/ts/AaveV3Optimism.ts @@ -3,6 +3,7 @@ export const POOL_ADDRESSES_PROVIDER = '0xa97684ead0e402dC232d5A977953DF7ECBaB3C export const POOL = '0x794a61358D6845594F94dc1DB02A252b5b4814aD'; export const POOL_CONFIGURATOR = '0x8145eddDf43f50276641b55bd3AD95944510021E'; export const ORACLE = '0xD81eb3728a631871a7eBBaD631b5f424909f0c77'; +export const PRICE_ORACLE_SENTINEL = '0x0000000000000000000000000000000000000000'; export const AAVE_PROTOCOL_DATA_PROVIDER = '0x69FA688f1Dc47d4B5d8029D5a35FB7a548310654'; export const ACL_MANAGER = '0xa72636CbcAa8F5FF95B2cc47F3CDEe83F3294a0B'; export const ACL_ADMIN = '0x7d9103572bE58FfE99dc390E8246f02dcAe6f611'; diff --git a/src/ts/AaveV3OptimismGoerli.ts b/src/ts/AaveV3OptimismGoerli.ts index 7ae05b4d..196c81c1 100644 --- a/src/ts/AaveV3OptimismGoerli.ts +++ b/src/ts/AaveV3OptimismGoerli.ts @@ -3,6 +3,7 @@ export const POOL_ADDRESSES_PROVIDER = '0x0b8FAe5f9Bf5a1a5867FB5b39fF4C028b1C2eb export const POOL = '0xCAd01dAdb7E97ae45b89791D986470F3dfC256f7'; export const POOL_CONFIGURATOR = '0x98EC9f3e5A0E5aDB16BAAdEB96a110BceeaC0067'; export const ORACLE = '0x2366d0cE3f44D81f7b2D40C64288b5eAA7593049'; +export const PRICE_ORACLE_SENTINEL = '0x0000000000000000000000000000000000000000'; export const AAVE_PROTOCOL_DATA_PROVIDER = '0x861d7d4A46C63b92461631CC77a9f2aeAcFfA10d'; export const ACL_MANAGER = '0x3e965db7b1BaA260B65208e3F508eD84344ebd75'; export const ACL_ADMIN = '0xaDdfe0b2342800ebD67C30d1c2Bd479E4D498BD5'; diff --git a/src/ts/AaveV3Polygon.ts b/src/ts/AaveV3Polygon.ts index 5c354c5d..392145ac 100644 --- a/src/ts/AaveV3Polygon.ts +++ b/src/ts/AaveV3Polygon.ts @@ -3,6 +3,7 @@ export const POOL_ADDRESSES_PROVIDER = '0xa97684ead0e402dC232d5A977953DF7ECBaB3C export const POOL = '0x794a61358D6845594F94dc1DB02A252b5b4814aD'; export const POOL_CONFIGURATOR = '0x8145eddDf43f50276641b55bd3AD95944510021E'; export const ORACLE = '0xb023e699F5a33916Ea823A16485e259257cA8Bd1'; +export const PRICE_ORACLE_SENTINEL = '0x0000000000000000000000000000000000000000'; export const AAVE_PROTOCOL_DATA_PROVIDER = '0x69FA688f1Dc47d4B5d8029D5a35FB7a548310654'; export const ACL_MANAGER = '0xa72636CbcAa8F5FF95B2cc47F3CDEe83F3294a0B'; export const ACL_ADMIN = '0xdc9A35B16DB4e126cFeDC41322b3a36454B1F772'; diff --git a/src/ts/AaveV3ScrollAlpha.ts b/src/ts/AaveV3ScrollAlpha.ts index e393687d..cb8d7ae7 100644 --- a/src/ts/AaveV3ScrollAlpha.ts +++ b/src/ts/AaveV3ScrollAlpha.ts @@ -3,6 +3,7 @@ export const POOL_ADDRESSES_PROVIDER = '0xCA35Ae4cc948Dae8a1d3C77ed1C5CBC2e73b29 export const POOL = '0x556345b249008Bf2f52B7097ceB5bE798F32dAe9'; export const POOL_CONFIGURATOR = '0x88A4811E6009ad13EA879261806E5a6071F3F788'; export const ORACLE = '0x269D5C1854fcA3bede6BFc8935118c99020b13f0'; +export const PRICE_ORACLE_SENTINEL = '0x0000000000000000000000000000000000000000'; export const AAVE_PROTOCOL_DATA_PROVIDER = '0x36002d10bB238594c58aec104620555a545D517C'; export const ACL_MANAGER = '0x550CC76fD6C4E4502cB4F79f26ee15f4E4681D57'; export const ACL_ADMIN = '0x8A52430a0a83d2bA00A88758340e4b640BDfC4FC'; diff --git a/src/ts/AaveV3Sepolia.ts b/src/ts/AaveV3Sepolia.ts index 877c6af5..c8f36758 100644 --- a/src/ts/AaveV3Sepolia.ts +++ b/src/ts/AaveV3Sepolia.ts @@ -3,6 +3,7 @@ export const POOL_ADDRESSES_PROVIDER = '0x0496275d34753A48320CA58103d5220d394FF7 export const POOL = '0xE7EC1B0015eb2ADEedb1B7f9F1Ce82F9DAD6dF08'; export const POOL_CONFIGURATOR = '0x9EB3fd3b5b405c29825dD5eEB7b31A08f9510397'; export const ORACLE = '0x132C06E86CcCf93Afef7B33f0FF3e2E97EECf8f6'; +export const PRICE_ORACLE_SENTINEL = '0x0000000000000000000000000000000000000000'; export const AAVE_PROTOCOL_DATA_PROVIDER = '0xC7832d5ACDDbdA5a7c9d1Fa9F677f9a84b7a4125'; export const ACL_MANAGER = '0x3F7E88aD1938634150A3480ac5a58706F7a7655A'; export const ACL_ADMIN = '0xfA0e305E0f46AB04f00ae6b5f4560d61a2183E00';