KVORUM
aaveSource: Aave governance v3 · #489

Upgrade Aave instances to v3.7 Part 2

executedMay 28, 2026, 08:44 AM UTCbyF70xf71f…1e02

01Summary

AISummary by Kvorumclaude-haiku-4-5

Upgrade Aave protocol instances from v3.6 to v3.7 across multiple networks, including simplification of eModes configuration, removal of isolated collaterals and L2 sequencer oracle, cleanup of reserve configuration flags, upgrade of Pool and PoolConfigurator implementations, and replacement of RiskSteward with v3.7-compatible version.

Type
contract upgrade

Key changes

  • Simplification of eModes configuration with addition of isolated flag(medium)
  • Removal of isolated collaterals and borrowable in isolation features(medium)
  • Removal of L2 sequencer oracle(medium)
  • Removal of reserve drop flow, making reserves list append-only(medium)
  • Small improvements on liquidation calculations(low)
  • Reset debt ceiling to zero for reserves with non-zero debt ceiling(medium)
  • Disable borrowableInIsolation flag for affected reserves(medium)
  • Unset sequencer uptime price oracle sentinel(medium)

Notable concerns

  • Widespread multi-chain deployment across 16 instances requires careful coordination
  • Reserve configuration cleanup impacts all reserves with non-zero debt ceiling or borrowableInIsolation enabled
  • RiskSteward migration involves role revocation and granting across multiple instances
  • GHO management separation requires blacklisting configuration on applicable instances
ContractsPoolPoolConfiguratorACL_MANAGERRiskStewardPOOL_ADDRESSES_PROVIDER
Generated by Kvorum
model: claude-haiku-4-5
provider: anthropic
profile: anthropic-fast-v1
prompt: v1.0
generated: 2mo ago
Read the description ↗

02Description

419 words

Simple Summary

Upgrade the Aave protocol instances from v3.6 to v3.7

Motivation

Aave v3.7 focused on non-invasive simplification of the protocol. It includes the following changes and features:

  • Simplification of eModes’ configuration, adding an isolated flag.
  • Removal of isolated collaterals and borrowable in isolation, features not useful anymore.
  • Removal of the L2 sequencer oracle.
  • Explicit removal of the flow to drop reserves, making the reserves list append-only.
  • Small improvements on liquidation calculations.

Specification

Before upgrading the implementations, the payload cleans up reserve configuration flags and settings that are removed in v3.7. For each reserve:

  • Reset debtCeiling: If a reserve has a non-zero debt ceiling, it is set to zero via setDebtCeiling(reserve, 0). This also resets isolationModeTotalDebt to zero.
  • Disable borrowableInIsolation: If a reserve has borrowableInIsolation enabled, it is set to false via setBorrowableInIsolation(reserve, false).
  • Additionally, if a sequencer uptime price oracle sentinel is configured, it is unset via setPriceOracleSentinel(address(0)), as this feature is removed in v3.7.

After the cleanup, the payload upgrades the core protocol contracts:

  • Upgrade Pool implementation: The Pool contract proxy is updated to point to the new v3.7 implementation via POOL_ADDRESSES_PROVIDER.setPoolImpl(POOL_IMPL).
  • Upgrade PoolConfigurator implementation: The `PoolConfigurator contract proxy is updated to the new v3.7 implementation via POOL_ADDRESSES_PROVIDER.setPoolConfiguratorImpl(POOL_CONFIGURATOR_IMPL).

Part 2 is applied on the following networks: Ethereum (Core, Lido), Polygon, Avalanche, Arbitrum, Base, BNB, Linea, Plasma and Mantle.

Alongside the v3.7 implementation upgrade, this proposal also replaces the current RiskSteward with a newly deployed steward compatible with v3.7. As part of the transition, the existing stewards will have their RISK_ADMIN role revoked on the corresponding ACL_MANAGER, and the new stewards will be granted the role via:

  • ACL_MANAGER.addRiskAdmin(NEW_RISK_STEWARD)
  • ACL_MANAGER.removeRiskAdmin(OLD_RISK_STEWARD)

The new stewards are wired in across the following instances: Ethereum (Core, Prime, EtherFi), Polygon, Avalanche, Arbitrum, Optimism, Base, BNB, Scroll, Gnosis, Linea, Sonic, Celo, Plasma, Mantle, MegaEth, XLayer.

Additionally, on the instances where GHO is listed as a reserve, GHO is blacklisted on the new RiskSteward via setAddressRestricted(GHO_UNDERLYING, true), since GHO is managed by its own dedicated stewards. The instances where this is applied are: Ethereum Core, Ethereum Prime, Arbitrum, Avalanche, Base, Gnosis, Mantle, Plasma and XLayer.

The original proposal has been reviewed by Certora at be21f7354a7e378393515ffd4ebf2d60ca2fcea0. Since than it has been amended with the RiskSteward migration, which has been reviewed by Certora as well. The proposal diff can be found here.

References

Copyright

Copyright and related rights waived via CC0.

03Mismatch analysis

AIMismatch analysis by Kvorum

A calldata-vs-description analysis is not generated yet. Review the decoded actions →

04Actions

3 total
#0fallback()chain 0x1
Target
0x81b3…7afe
Value
0 wei
Function
fallback()
Arguments
{}
Calldata
#1fallback()chain 0x1
Target
0x2251…e724
Value
0 wei
Function
fallback()
Arguments
{}
Calldata
#2fallback()chain 0x1
Target
0x0457…8d8c
Value
0 wei
Function
fallback()
Arguments
{}
Calldata

05Tally

Summed from votes

Voters0
VP participating0
Outcome (current)—
Current support—

06Voters

0 total

No votes recorded yet.

07Forum

No forum thread is confidently linked to this proposal.