Upgrade all Aave instances to 3.2
Upgrade all Aave instances to 3.2
Author
BGD Labs @bgdlabs
Creator
0xf71fc92e2949ccF6A5Fd369a0b402ba80Bc61E02
Simple Summary
Upgrades all active Aave instances to Aave 3.2 which debuts "Liquid eModes" and fully deprecated stable borrowing.
Motivation
EModes have been a powerful feature since the inception of Aave v3. Liquid eModes builds on this success by increase the flexibility in configuring eModes. With Liquid eModes it is now possible, to have a single asset be listed in multiple eModes. At the same time, it's possible to granularly control which assets are collateral and borrowable inside an eMode.
Stable debt has been off-boarded from Aave v3 for quite some time. What was remaining on the protocol code were merely artifacts that increased gas consumption and code size. Therefore the 3.2 release removes these artifacts in a backwards compatible way.
In addition to the upgrade itself, the proposal payload includes reimbursement of $76’000 denominated in GHO, to cover the cost of extra external security procedures incurred.
Specification
Aave 3.2 focuses on two main areas of the aave protocol:
- The final deprecation of stable borrowing
- Improvements on the eModes, introducing "Liquid eModes"
The proposal will execute to following operations on each active Aave v3 pool:
- Upgrade the Pool/L2Pool implementation to 3.2, which will internally set the stableDebtToken address to
address(0)
on all assets - Upgrade the PoolConfigurator implementation to 3.2
- Deploy new ProtocolDataProvider compatible with v3.2, and set it on the addresses provider contract
- Migrate all assets currently in eMode to be both borrowable & collateral in eMode
- Migrate the InterestRateStrategy to a new version without stable rate calculations
An additional payload will transfer 76,000.00
GHO to the BGD-controlled address 0xb812d0944f8F581DfAA3a93Dda0d22EcEf51A9CF
.
Security procedures
In addition to unit tests & integration test suites, the changes have been audited in 5 audits by 4 independent auditors:
Stable Rate and Liquid eModes
Liquid eModes
References
- Payload Implementation
- New initialization logic of Pool
- New L1 pool implementation
- New L2 pool implementation
- Payload Tests
- Live-code and post execution state diffs
- PoolDiff, PoolConfiguratorDiff
- Snapshot
- Discussion
- Migration guide
Copyright
Copyright and related rights waived via CC0.