Update legacy guardian
01Summary
Update emergency guardian roles across Aave v2 and v3 pools on 10 networks to newly elected Protocol Emergency Guardian and Governance Emergency Guardian addresses. For v2 pools, replaces old guardian with new Protocol Guardian. For v3 pools, adds new guardian and removes old one from ACL_MANAGER (not needed for zkSync, Lido, Etherfi which already have new guardian configured).
- Type
- governance change
Key changes
- Update Protocol Emergency Guardian on Aave v2 pools via POOL_ADDRESS_PROVIDER.setEmergencyAdmin()(high)
- Update Protocol Emergency Guardian on Aave v3 pools via ACL_MANAGER.addEmergencyAdmin() and removeEmergencyAdmin()(high)
- Assign new Governance Emergency Guardian addresses across 10 networks (Ethereum, Polygon, Avalanche, Optimism, Arbitrum, Base, Gnosis, Scroll, Metis, BNB)(high)
- Transition from single monolithic Guardian to granular Protocol Emergency Guardian and Governance Emergency Guardian roles(medium)
Notable concerns
- Multi-chain governance action requiring coordination across 10 networks
- New guardians already pre-configured on zkSync, Lido, and Etherfi pools
Generated by Kvorum
02Description
Simple Summary
Proposal to update emergency roles (protocol & governance) to the new elected Aave Protocol & Emergency Guardians.
Motivation
This year, the community decided to renew the Aave Guardian and making it more granular with a Protocol Emergency Guardian and a Governance Emergency Guardian. Even if new pieces of infrastructure (e.g. Lido/Etherfi/zkSync) pools have been configured with the new Guardians on activation stage, it is still necessary to update via governance proposal different on-chain roles, from old guardians to new ones.
Specification
- Protocol Guardian
- For Aave v2 pools POOL_ADDRESS_PROVIDER.setEmergencyAdmin() is called to replace the old Guardian with the new one.
- For Aave v3 ACL_MANAGER.addEmergencyAdmin() is called to give the role to the new Guardian and ACL_MANAGER.removeEmergencyAdmin() to remove it from the old Guardian. This is not necessary for new pools where the new Guardian is already configured: zkSync, Lido, Etherfi.
The list of Protocol Guardian Safes is the following:
The list of Governance Guardian Safes is the following:
References
- Permissions diff
- Implementation: AaveV2Ethereum, AaveV2EthereumAMM, AaveV2Polygon, AaveV2Avalanche, AaveV3Ethereum, AaveV3Polygon, AaveV3Avalanche, AaveV3Optimism, AaveV3Arbitrum, AaveV3Metis, AaveV3Base, AaveV3Gnosis, AaveV3Scroll, AaveV3BNB
- Tests: AaveV2Ethereum, AaveV2EthereumAMM, AaveV2Polygon, AaveV2Avalanche, AaveV3Ethereum, AaveV3Polygon, AaveV3Avalanche, AaveV3Optimism, AaveV3Arbitrum, AaveV3Metis, AaveV3Base, AaveV3Gnosis, AaveV3Scroll, AaveV3BNB
- Discussion
Copyright
Copyright and related rights waived via CC0.
03Mismatch analysis
The proposal description is highly detailed, specifying exact functions (setEmergencyAdmin, addEmergencyAdmin, removeEmergencyAdmin) and exact new/old guardian addresses per network for both Protocol and Governance Guardian roles. However, the decoded on-chain actions only show three top-level 'execute()' (fallback) calls to payload contracts on Ethereum mainnet. This is the standard Aave governance pattern where the mainnet proposal invokes payload contracts whose internal logic (including any cross-chain messaging via bridges to Polygon, Avalanche, Optimism, Arbitrum, Base, Gnosis, Scroll, Metis, BNB) is not exposed in the decoded top-level calldata — only the entry-point call is visible, not the internal state changes it performs. Because the decoding tool did not surface the internal instructions of these payload contracts (addresses, function calls, arguments), it is not possible to directly verify whether the specific claims in the description (correct guardian addresses, correct networks, add/remove emergency admin calls) match the actual execution. The three execute() calls are consistent with the proposal's reference links to multiple implementation contracts (AaveV2Ethereum, AaveV3Ethereum, AaveV3Polygon, etc.), suggesting they are grouped payloads for this guardian update, and nothing in the visible calldata contradicts the description. Given the opacity of the calldata (no decoded arguments beyond generic fallback), confidence in a detailed line-by-line verification is low, but there is no evidence of any mismatch, so the overall assessment remains consistent with low confidence rather than flagging speculative discrepancies.
Generated by Kvorum
04Actions
- Target
- 0x24fd…0860
- Value
- 0 wei
- Function
- fallback()
- Arguments
{}- Calldata
- Target
- 0x46bb…e108
- Value
- 0 wei
- Function
- fallback()
- Arguments
{}- Calldata
- Target
- 0xb3ee…a607
- Value
- 0 wei
- Function
- fallback()
- Arguments
{}- Calldata
05Tally
Summed from votes
06Voters
No votes recorded yet.
07Forum
No forum thread is confidently linked to this proposal.
08Similar proposals
- aaveexecutedChaos Labs Risk Parameter Updates - LTV and LT Alignment85%
- aaveexecutedConfiguration maintenance84%
- aaveexecutedRisk Steward Parameter Updates Phase 383%
- aaveexecutedStablecoinIRUpdates82%
- aaveexecutedGeneralized LT/LTV Reductions on Aave V3 Step 281%
- aaveexecutedRisk Parameters for DAI Update81%
- aavecanceledRisk Steward Parameter Updates Phase 381%
- aaveexecutedStablecoin IR Curve Amendment80%
- aaveexecutedStablecoin IR Curve Amendment80%
- aaveexecutedAave v2 Deprecation - Update80%