Technical maintenance proposals

Collector operational upgrade: multiple funds admin support


Simply summary

Upgrade of the Aave Collector contracts across networks, to unify its implementation and enable the finance contributors of the DAO to progress on initiatives like the Finance Stewards.


Motivation

Currently, the Aave Collector (treasury smart contract of the DAO, one per network) is managed by a single Funds Admin role, which across all Aave instances is configured to be the Governance Level 1 Executor (Short).

Karpatkey & Tokenlogic proposed to upgrade the Collector to allow multiple Fund Admin entities, which would allow to delegate control to a set of Finance Steward helper contracts.

Upon working on the original proposal, the authors noticed that the current Collector contracts vary in their storage layout, and this situation makes maintaining and upgrading them more complicated than it should be.

Therefore, in order to eliminate the technical debt, and make future upgrades more seamless, we created a slight modification of the proposed upgrade, which allows an upgrade of all the existing Collector instances to the same codebase.


Specification


Collector implementation: https://github.com/aave-dao/aave-v3-origin/pull/84
Upgrade proposal: https://github.com/bgd-labs/collector-upgrade-rev6


The proposal will upgrade all collector contracts to the new version proposed on the aave-origin repository. To account for the differences in the storage layout, a custom initializer is implemented that aligns the storage layout across versions.

As the new version of the Collector implements AccessControl from OZ and removes the existing fundsAdmin role, the proposal will also grant the FUND_ADMIN role to the Level 1 Executor (Short Executor). This way, the setup post-proposal execution will be the same as currently.

Important. The proposal creation will be done only once the engaged security provider of the DAO (Certora) reviews the new Collector implementation.

3 Likes