diff --git a/safe.csv b/safe.csv index fea990f4..cf785589 100644 --- a/safe.csv +++ b/safe.csv @@ -743,6 +743,8 @@ address,name,chainId 0x7F8Fc14D462bdF93c681c1f2Fd615389bF969Fb2,AaveV3EthereumLido DEFAULT_A_TOKEN_IMPL_REV_1,1 0x8164Cc65827dcFe994AB23944CBC90e0aa80bFcb,AaveV3EthereumLido DEFAULT_INCENTIVES_CONTROLLER,1 0x3E59212c34588a63350142EFad594a20C88C2CEd,AaveV3EthereumLido DEFAULT_VARIABLE_DEBT_TOKEN_IMPL_REV_1,1 +0x81aFd0F99c2Afa2f2DD7E387c2Ef9CD2a29b6E1A,AaveV3EthereumLido EDGE_RISK_STEWARD,1 +0x834a5aC6e9D05b92F599A031941262F761c34859,AaveV3EthereumLido EDGE_STEWARD_INJECTOR,1 0x223d844fc4B006D67c0cDbd39371A9F73f69d974,AaveV3EthereumLido EMISSION_MANAGER,1 0xE3C061981870C0C7b1f3C4F4bB36B95f1F260BE6,AaveV3EthereumLido ORACLE,1 0x4e033931ad43597d96D6bcc25c280717730B58B1,AaveV3EthereumLido POOL,1 @@ -752,6 +754,7 @@ address,name,chainId 0x4816b2C2895f97fB918f1aE7Da403750a0eE372e,AaveV3EthereumLido POOL_CONFIGURATOR_IMPL,1 0xf5b4664CB6D13189345119c60a948cdc7785d0FE,AaveV3EthereumLido POOL_IMPL,1 0x66E1aBdb06e7363a618D65a910c540dfED23754f,AaveV3EthereumLido REPAY_WITH_COLLATERAL_ADAPTER,1 +0x7ABB46C690C52E919687D19ebF89C81A6136C1F2,AaveV3EthereumLido RISK_ORACLE,1 0x30adC2f98ff78fDde12F191Acb82699f640694FB,AaveV3EthereumLido RISK_STEWARD,1 0x347C75d19718a05148687E13dca259aD016aB411,AaveV3EthereumLido STATA_FACTORY,1 0xD0887AA7fEBC8962c622493646195e7c76D94fCE,AaveV3EthereumLido SWAP_COLLATERAL_ADAPTER,1 @@ -2038,6 +2041,7 @@ address,name,chainId 0x812E7c19421D9f41A6DDCF047d5cc2dE2Ca5Bfa2,AaveV3Linea POOL_CONFIGURATOR,59144 0x1236010CECea55998384e795B59815D871f5f94d,AaveV3Linea POOL_CONFIGURATOR_IMPL,59144 0x36616cf17557639614c1cdDb356b1B83fc0B2132,AaveV3Linea POOL_IMPL,59144 +0x3238FC1d642b60F41a35f62570237656C85F4744,AaveV3Linea RISK_STEWARD,59144 0x28ad75CA21793835b975130e9FdA149A476a2b7c,AaveV3Linea STATIC_A_TOKEN_FACTORY,59144 0x117684358D990E42Eb1649E7e8C4691951dc1E71,AaveV3Linea UI_INCENTIVE_DATA_PROVIDER,59144 0xf751969521E20A972A0776CDB0497Fad0F773F1F,AaveV3Linea UI_POOL_DATA_PROVIDER,59144 @@ -2175,4 +2179,4 @@ address,name,chainId 0xf7a60467aBb8A3240A0382b22E1B03c7d4F59Da5,AaveV3Harmony UI_INCENTIVE_DATA_PROVIDER,1666600000 0xeC6118C69af50660231108059ab98CD0cF9a6eA1,AaveV3Harmony UI_POOL_DATA_PROVIDER,1666600000 0xBc790382B3686abffE4be14A030A96aC6154023a,AaveV3Harmony WALLET_BALANCE_PROVIDER,1666600000 -0xE387c6053CE8EC9f8C3fa5cE085Af73114a695d3,AaveV3Harmony WETH_GATEWAY,1666600000 \ No newline at end of file +0xE387c6053CE8EC9f8C3fa5cE085Af73114a695d3,AaveV3Harmony WETH_GATEWAY,1666600000 diff --git a/scripts/configs/pools/ethereum.ts b/scripts/configs/pools/ethereum.ts index 0682d78f..40e794ce 100644 --- a/scripts/configs/pools/ethereum.ts +++ b/scripts/configs/pools/ethereum.ts @@ -103,6 +103,9 @@ export const lidoEthereumMainnetProtoV3Pool: PoolConfig = { CAPS_PLUS_RISK_STEWARD: '0x3843b29118fFC18d5d12EE079d0324E1bF115e69', RISK_STEWARD: '0x30adC2f98ff78fDde12F191Acb82699f640694FB', DEBT_SWAP_ADAPTER: '0xd1B2dec98A95B773C4909B5CD8FB455F467A527f', + EDGE_RISK_STEWARD: '0x81aFd0F99c2Afa2f2DD7E387c2Ef9CD2a29b6E1A', + EDGE_STEWARD_INJECTOR: '0x834a5aC6e9D05b92F599A031941262F761c34859', + RISK_ORACLE: '0x7ABB46C690C52E919687D19ebF89C81A6136C1F2', STATA_FACTORY: '0x347C75d19718a05148687E13dca259aD016aB411', }, }; diff --git a/scripts/configs/pools/linea.ts b/scripts/configs/pools/linea.ts index 8d42089e..ec42b91d 100644 --- a/scripts/configs/pools/linea.ts +++ b/scripts/configs/pools/linea.ts @@ -7,6 +7,7 @@ export const lineaProtoV3: PoolConfig = { POOL_ADDRESSES_PROVIDER: '0x89502c3731F69DDC95B65753708A07F8Cd0373F4', additionalAddresses: { CONFIG_ENGINE: '0x6c23bAF050ec192afc0B967a93b83e6c5405df43', + RISK_STEWARD: '0x3238FC1d642b60F41a35f62570237656C85F4744', POOL_ADDRESSES_PROVIDER_REGISTRY: '0x96dFCCB3F9ACDaF6c8f8a35E814023C3484d1eA2', UI_INCENTIVE_DATA_PROVIDER: '0x117684358D990E42Eb1649E7e8C4691951dc1E71', UI_POOL_DATA_PROVIDER: '0xf751969521E20A972A0776CDB0497Fad0F773F1F', diff --git a/scripts/configs/types.ts b/scripts/configs/types.ts index 61b32fe5..4d23e591 100644 --- a/scripts/configs/types.ts +++ b/scripts/configs/types.ts @@ -62,6 +62,9 @@ export interface PoolConfig { STATIC_A_TOKEN_ORACLE?: Hex; CAPS_PLUS_RISK_STEWARD?: Hex; RISK_STEWARD?: Hex; + EDGE_RISK_STEWARD?: Hex; + EDGE_STEWARD_INJECTOR?: Hex; + RISK_ORACLE?: Hex; FREEZING_STEWARD?: Hex; UI_GHO_DATA_PROVIDER?: Hex; RATES_FACTORY?: Hex; diff --git a/src/AaveV3EthereumLido.sol b/src/AaveV3EthereumLido.sol index fbddb3d4..cd757be2 100644 --- a/src/AaveV3EthereumLido.sol +++ b/src/AaveV3EthereumLido.sol @@ -91,6 +91,15 @@ library AaveV3EthereumLido { // https://etherscan.io/address/0xd1B2dec98A95B773C4909B5CD8FB455F467A527f address internal constant DEBT_SWAP_ADAPTER = 0xd1B2dec98A95B773C4909B5CD8FB455F467A527f; + // https://etherscan.io/address/0x81aFd0F99c2Afa2f2DD7E387c2Ef9CD2a29b6E1A + address internal constant EDGE_RISK_STEWARD = 0x81aFd0F99c2Afa2f2DD7E387c2Ef9CD2a29b6E1A; + + // https://etherscan.io/address/0x834a5aC6e9D05b92F599A031941262F761c34859 + address internal constant EDGE_STEWARD_INJECTOR = 0x834a5aC6e9D05b92F599A031941262F761c34859; + + // https://etherscan.io/address/0x7ABB46C690C52E919687D19ebF89C81A6136C1F2 + address internal constant RISK_ORACLE = 0x7ABB46C690C52E919687D19ebF89C81A6136C1F2; + // https://etherscan.io/address/0x347C75d19718a05148687E13dca259aD016aB411 address internal constant STATA_FACTORY = 0x347C75d19718a05148687E13dca259aD016aB411; } diff --git a/src/AaveV3Linea.sol b/src/AaveV3Linea.sol index 72d4b492..685d8914 100644 --- a/src/AaveV3Linea.sol +++ b/src/AaveV3Linea.sol @@ -46,6 +46,9 @@ library AaveV3Linea { // https://lineascan.build/address/0x6c23bAF050ec192afc0B967a93b83e6c5405df43 address internal constant CONFIG_ENGINE = 0x6c23bAF050ec192afc0B967a93b83e6c5405df43; + // https://lineascan.build/address/0x3238FC1d642b60F41a35f62570237656C85F4744 + address internal constant RISK_STEWARD = 0x3238FC1d642b60F41a35f62570237656C85F4744; + // https://lineascan.build/address/0x96dFCCB3F9ACDaF6c8f8a35E814023C3484d1eA2 address internal constant POOL_ADDRESSES_PROVIDER_REGISTRY = 0x96dFCCB3F9ACDaF6c8f8a35E814023C3484d1eA2; diff --git a/src/ts/AaveV3EthereumLido.ts b/src/ts/AaveV3EthereumLido.ts index 8528f44e..80a0fa8d 100644 --- a/src/ts/AaveV3EthereumLido.ts +++ b/src/ts/AaveV3EthereumLido.ts @@ -77,6 +77,15 @@ export const RISK_STEWARD = '0x30adC2f98ff78fDde12F191Acb82699f640694FB'; // https://etherscan.io/address/0xd1B2dec98A95B773C4909B5CD8FB455F467A527f export const DEBT_SWAP_ADAPTER = '0xd1B2dec98A95B773C4909B5CD8FB455F467A527f'; +// https://etherscan.io/address/0x81aFd0F99c2Afa2f2DD7E387c2Ef9CD2a29b6E1A +export const EDGE_RISK_STEWARD = '0x81aFd0F99c2Afa2f2DD7E387c2Ef9CD2a29b6E1A'; + +// https://etherscan.io/address/0x834a5aC6e9D05b92F599A031941262F761c34859 +export const EDGE_STEWARD_INJECTOR = '0x834a5aC6e9D05b92F599A031941262F761c34859'; + +// https://etherscan.io/address/0x7ABB46C690C52E919687D19ebF89C81A6136C1F2 +export const RISK_ORACLE = '0x7ABB46C690C52E919687D19ebF89C81A6136C1F2'; + // https://etherscan.io/address/0x347C75d19718a05148687E13dca259aD016aB411 export const STATA_FACTORY = '0x347C75d19718a05148687E13dca259aD016aB411'; diff --git a/src/ts/AaveV3Linea.ts b/src/ts/AaveV3Linea.ts index c99bacdb..8c4a78b5 100644 --- a/src/ts/AaveV3Linea.ts +++ b/src/ts/AaveV3Linea.ts @@ -35,6 +35,9 @@ export const EMISSION_MANAGER = '0x0165C65FB21bDC9Cdc09C627d62AB3a983337158'; // https://lineascan.build/address/0x6c23bAF050ec192afc0B967a93b83e6c5405df43 export const CONFIG_ENGINE = '0x6c23bAF050ec192afc0B967a93b83e6c5405df43'; +// https://lineascan.build/address/0x3238FC1d642b60F41a35f62570237656C85F4744 +export const RISK_STEWARD = '0x3238FC1d642b60F41a35f62570237656C85F4744'; + // https://lineascan.build/address/0x96dFCCB3F9ACDaF6c8f8a35E814023C3484d1eA2 export const POOL_ADDRESSES_PROVIDER_REGISTRY = '0x96dFCCB3F9ACDaF6c8f8a35E814023C3484d1eA2'; diff --git a/tests/cache/verified.json b/tests/cache/verified.json index 6107b834..027672c4 100644 --- a/tests/cache/verified.json +++ b/tests/cache/verified.json @@ -2301,6 +2301,15 @@ "0xA1c93D2687f7014Aaf588c764E3Ce80aF016229b": { "name": "GnosisSafeProxy" }, + "0x81aFd0F99c2Afa2f2DD7E387c2Ef9CD2a29b6E1A": { + "name": "EDGE_RISK_STEWARD" + }, + "0x834a5aC6e9D05b92F599A031941262F761c34859": { + "name": "EDGE_STEWARD_INJECTOR" + }, + "0x7ABB46C690C52E919687D19ebF89C81A6136C1F2": { + "name": "RISK_ORACLE" + }, "0xCb0b5cA20b6C5C02A9A3B2cE433650768eD2974F": { "name": "TransparentUpgradeableProxy" }, @@ -7009,4 +7018,4 @@ "name": "InitializableImmutableAdminUpgradeabilityProxy" } } -} \ No newline at end of file +} diff --git a/tests/sanity/riskStewards.spec.ts b/tests/sanity/riskStewards.spec.ts index 187f12eb..f667c9f9 100644 --- a/tests/sanity/riskStewards.spec.ts +++ b/tests/sanity/riskStewards.spec.ts @@ -37,6 +37,40 @@ export async function check(addresses: Record) { ); } } + + if (addresses.EDGE_RISK_STEWARD) { + const edgeRiskStewardContract = getContract({ + abi: IRiskSteward_ABI, + address: addresses.EDGE_RISK_STEWARD, + client, + }); + const [CONFIG_ENGINE, POOL_DATA_PROVIDER, OWNER, RISK_COUNCIL] = await Promise.all([ + edgeRiskStewardContract.read.CONFIG_ENGINE(), + edgeRiskStewardContract.read.POOL_DATA_PROVIDER(), + edgeRiskStewardContract.read.owner(), + edgeRiskStewardContract.read.RISK_COUNCIL(), + ]); + + if (CONFIG_ENGINE !== addresses.CONFIG_ENGINE) + throw new Error(`SANITY_EDGE_RISK_STEWARDS: wrong CONFIG_ENGINE on ${client.chain?.name}`); + if (POOL_DATA_PROVIDER !== addresses.AAVE_PROTOCOL_DATA_PROVIDER) + throw new Error(`SANITY_EDGE_RISK_STEWARDS: wrong POOL_DATA_PROVIDER on ${client.chain?.name}`); + if (RISK_COUNCIL !== addresses.EDGE_STEWARD_INJECTOR) + throw new Error(`SANITY_EDGE_RISK_STEWARDS: wrong EDGE_STEWARD_INJECTOR on ${client.chain?.name}`); + + if (!governance) { + console.log( + `SANITY_EDGE_RISK_STEWARDS: Skipped due to missing governance on ${client.chain?.name}`, + ); + } else { + const l1Executor = (governance as any).EXECUTOR_LVL_1; + if (OWNER !== l1Executor) { + throw new Error( + `SANITY_EDGE_RISK_STEWARDS: OWNER MISMATCH ${addresses.POOL}.${addresses.RISK_STEWARD}:${OWNER} != ${l1Executor} on ${client.chain?.name}`, + ); + } + } + } } } diff --git a/tokenlist.json b/tokenlist.json index 815baaf3..79d7c0c2 100644 --- a/tokenlist.json +++ b/tokenlist.json @@ -7048,6 +7048,6 @@ } } ], - "version": { "major": 3, "minor": 0, "patch": 74 }, - "timestamp": "2025-01-17T12:14:09.084Z" + "version": { "major": 3, "minor": 0, "patch": 75 }, + "timestamp": "2025-01-20T09:12:25.912Z" }