Allow Emergency Admin to freeze on Aave V2
01Summary
Proposal to grant emergencyAdmin role the ability to freeze reserves on Aave V2 pools (Ethereum, Polygon, Avalanche, and AMM) and activate Liquidations Grace Sentinel for V2 AMM, aligning V2 security features with V3 approach.
- Type
- protocol addition
Key changes
- Update freezeReserve() and unfreezeReserve() functions to use onlyPoolOrEmergencyAdmin modifier, allowing both emergencyAdmin (Aave Guardian) and pool admin (governance Executor) to freeze/unfreeze reserves on Aave V2 Ethereum, Ethereum AMM, Polygon, and Avalanche(high)
- Update PoolAddressesProvider to set new LendingPoolConfigurator implementation on all four Aave V2 deployments(high)
- Activate Liquidations Grace Sentinel for Aave V2 AMM following approach from AIP 361(medium)
- Update LendingPoolCollateralManager for Aave V2 AMM(medium)
Notable concerns
- Freezing is being introduced as a less invasive alternative to pause functionality already available to emergencyAdmin
- Changes are being applied across multiple chain deployments (Ethereum, Polygon, Avalanche) requiring coordinated updates
Generated by Kvorum
02Description
Simple Summary
Proposal to allow the emergencyAdmin role to freeze reserves on Aave V2 pools - including Aave V2 AMM, Aave V2 Ethereum, Polygon, and Avalanche; same behavior as on Aave v3. Additionally, Liquidations Grace Sentinel is activated for Aave V2 AMM, following the same approach as AIP 361
Motivation
To be consistent with the approved Aave v3 approach of Freezing Stewards (AIP 319), and maintain security across all Aave V2 deployments, the protocol needs to have up-to-date preventative functionality.
Freezing is a less invasive mechanism compared with pause, which can already be done by the emergencyAdmin on v2.
Specification
The proposal payloads will update the freezeReserve() / unfreezeReserve() functions on the pool configurator contract to use the new onlyPoolOrEmergencyAdmin modifier, which allows both the emergency admin (Aave Guardian) and pool admin (governance Executor contract) to freeze and unfreeze reserves.
On AaveV2Ethereum, AaveV2EthereumAMM, AaveV2Polygon and AaveV2Avalanche the proposal will call:
POOL_ADDRESSES_PROVIDER.setLendingPoolConfiguratorImpl(NEW_POOL_CONFIGURATOR);
To update the pool configurator with the new implementation.
In addition LendingPoolCollateralManager for Aave V2 AMM is updated analog to AIP 361.
References
- Implementation: Payload,
- Tests: PoolConfiguratorTest, PoolConfiguratorTestBase
- Discussion
Copyright
Copyright and related rights waived via CC0.
03Mismatch analysis
The proposal uses the standard Aave cross-chain governance pattern: the top-level calldata only calls forwardPayloadForExecution() on the CrossChainController, referencing opaque payload IDs per chain rather than directly encoding freezeReserve/setLendingPoolConfiguratorImpl calls. The actual logic (new pool configurator implementation, LendingPoolCollateralManager update, Liquidations Grace Sentinel activation) lives in the separately deployed and linked Payload contracts, which are not visible in this decoded calldata. Structurally, the count and target chains line up well with the description: three payloads forwarded to chain 1 (plausibly covering AaveV2Ethereum pool configurator, AaveV2EthereumAMM pool configurator, and the AMM LendingPoolCollateralManager/Sentinel update), one payload to chain 137 (Polygon) and one to chain 43114 (Avalanche), matching the four V2 markets plus the extra AMM-specific action mentioned in the description. Because the payload contents themselves cannot be verified from this calldata alone (only IDs and executor addresses are visible), exact confirmation of 'freezeReserve modifier' and 'Sentinel' details is not possible, lowering confidence to medium. However, there is no evidence of target mismatches, extra unexplained actions, or omitted major functionality — the structure is consistent with the narrative given. No discrepancies were found significant enough to flag given the standard bridging pattern used by Aave governance for multi-chain payloads.
Generated by Kvorum
04Actions
- Target
- 0x9aee…2bc7
- Value
- 0 wei
- Function
- forwardPayloadForExecution((uint256,uint8,address,uint40))
- Arguments
{ "0": [ "1", "1", "0xdAbad81aF85554E9ae636395611C58F7eC1aAEc5", "16" ] }- Calldata
- Target
- 0x9aee…2bc7
- Value
- 0 wei
- Function
- forwardPayloadForExecution((uint256,uint8,address,uint40))
- Arguments
{ "0": [ "1", "1", "0xdAbad81aF85554E9ae636395611C58F7eC1aAEc5", "13" ] }- Calldata
- Target
- 0x9aee…2bc7
- Value
- 0 wei
- Function
- forwardPayloadForExecution((uint256,uint8,address,uint40))
- Arguments
{ "0": [ "1", "1", "0xdAbad81aF85554E9ae636395611C58F7eC1aAEc5", "14" ] }- Calldata
- Target
- 0x9aee…2bc7
- Value
- 0 wei
- Function
- forwardPayloadForExecution((uint256,uint8,address,uint40))
- Arguments
{ "0": [ "137", "1", "0x401B5D0294E23637c18fcc38b1Bca814CDa2637C", "8" ] }- Calldata
- Target
- 0x9aee…2bc7
- Value
- 0 wei
- Function
- forwardPayloadForExecution((uint256,uint8,address,uint40))
- Arguments
{ "0": [ "43114", "1", "0x1140CB7CAfAcC745771C2Ea31e7B5C653c5d0B80", "5" ] }- Calldata
05Tally
Summed from votes
06Voters
No votes recorded yet.
07Forum
No forum thread is confidently linked to this proposal.
08Similar proposals
- aavedefeatedFreeze Aave V180%
- aaveexecutedFreeze Aave V180%
- aaveexecutedChaos Labs V2 to V3 Migration Next Steps80%
- aaveexecutedAave v2 non-Ethereum pools next deprecation steps79%
- aaveexecutedDisable Stable Borrows78%
- aaveexecutedFreeze TUSD Reserve on Aave V2 Ethereum77%
- aaveexecutedRisk Parameter Updates for Aave v2 Ethereum Liquidty Pool77%
- aaveexecutedTemporary Freeze of Long-Tail V2 Assets76%
- aavedefeatedFreeze agEUR on Aave v3 Polygon76%
- aavedefeatedRisk Parameter Updates for Aave v2 Polygon75%