forked from bgd-labs/aave-proposals-v3
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
short proposal for gov activation (bgd-labs#117)
* short proposal for gov activation * fix proposal creation
- Loading branch information
Showing
3 changed files
with
103 additions
and
0 deletions.
There are no files selected for viewing
53 changes: 53 additions & 0 deletions
53
src/20231207_Multi_AaveGovernanceV3Activation/AaveGovernanceV3Activation.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
--- | ||
title: "Aave Governance V3 Activation Short" | ||
author: "BGD Labs (@bgdlabs)" | ||
discussions: "https://governance.aave.com/t/bgd-aave-governance-v3-activation-plan/14993/13" | ||
--- | ||
|
||
## Simple Summary | ||
|
||
This is the short executor part of the proposal for the migration of the Aave Governance v2.5 to v3, transferring all permissions from the v2 system to v3, executing all required smart contracts upgrades and different miscellaneous preparations. | ||
|
||
Additionally, Aave Robot systems is activated, being requirement for the optimal functioning of Governance v3. | ||
|
||
## Motivation | ||
|
||
v3 is a the next iteration for the Aave governance smart contracts systems, controlling in a fully decentralized manner the whole Aave ecosystem. | ||
|
||
Being a replacement on the currently running v2.5, a set of two proposals on v2.5 need to be passed to migrate one system to another: once both are passed and executed on the current governance smart contracts, these will stop working, and the new v3 ones will start operating. | ||
|
||
## Specification | ||
|
||
A full specification can be found [HERE](https://governance.aave.com/t/bgd-aave-governance-v3-activation-plan/14993/13), but as summary: | ||
|
||
- 2 governance proposals need to be created: one running on the Level 1 Executor (Short Executor) and another on the Level 2 Executor (Long Executor). | ||
- As both proposals need to be atomically executed, a `Mediator` contract will temporary receive certain permissions, in order to sync both Level 1 and Level 2. | ||
- High-level, the proposals do the following: | ||
|
||
- Migrate the ownership of the v2 Executors to the v3 Executors, in order to avoid any possible permissions lock. | ||
- Upgrade the implementations of the Governance v3 voting assets (AAVE, stkAAVE and aAAVE), to make them compatible with the new system. | ||
- Fund Aave Robot. | ||
- Transfer permissions for ARC and for swap adapters on Base. | ||
|
||
- Implementation: [V2Ethereum](https://github.com/bgd-labs/gov-v2-v3-migration/blob/main/src/contracts/governance3/EthShortV2Payload.sol), [V3Ethereum](https://github.com/bgd-labs/gov-v2-v3-migration/blob/main/src/contracts/governance3/EthShortV3Payload.sol), [V3EthereumLong](https://github.com/bgd-labs/gov-v2-v3-migration/blob/main/src/contracts/governance3/EthLongV3Payload.sol), [Avalanche](https://github.com/bgd-labs/gov-v2-v3-migration/blob/main/src/contracts/governance3/AvalancheFundRobotPayload.sol), [Polygon](https://github.com/bgd-labs/gov-v2-v3-migration/blob/main/src/contracts/governance3/PolygonFundRobotPayload.sol), [Base](https://github.com/bgd-labs/gov-v2-v3-migration/blob/main/src/contracts/governance3/BaseSwapsPayload.sol) | ||
- Tests: [Ethereum](https://github.com/bgd-labs/gov-v2-v3-migration/blob/main/tests/governance3/EthShortPayloadTest.t.sol), [EthereumLong](https://github.com/bgd-labs/gov-v2-v3-migration/blob/main/tests/governance3/EthLongV3PayloadTest.t.sol), [Avalanche](https://github.com/bgd-labs/gov-v2-v3-migration/blob/main/tests/governance3/AvalancheFundRobotPayload.t.sol), [Polygon](https://github.com/bgd-labs/gov-v2-v3-migration/blob/main/tests/governance3/PolygonFundRobotPayload.t.sol), [Base](https://github.com/bgd-labs/gov-v2-v3-migration/blob/main/tests/governance3/BaseSwapsPayloadTest.t.sol) | ||
|
||
- [Pre-approval Snapshot](https://snapshot.org/#/aave.eth/proposal/0x7e61744629fce7787281905b4d5984b39f9cbe83fbe2dd05d8b77697205ce0ce) | ||
|
||
- [Governance forum Discussion](https://governance.aave.com/t/bgd-aave-governance-v3-activation-plan/14993/13) | ||
|
||
- [Aave Governance V3 smart contracts](https://github.com/bgd-labs/aave-governance-v3) | ||
|
||
- [Aave Governance V3 interface](https://github.com/bgd-labs/aave-governance-v3-interface) | ||
|
||
- [Aave Robot v3](https://github.com/bgd-labs/aave-governance-v3-robot) | ||
|
||
- [AAVE token v3](https://github.com/bgd-labs/aave-token-v3) | ||
|
||
- [aAAVE governance v3 compatible](https://github.com/bgd-labs/aave-a-token-with-delegation) | ||
|
||
- [stkAAVE governance v3 compatible](https://github.com/bgd-labs/aave-stk-gov-v3) | ||
|
||
## Copyright | ||
|
||
Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/). |
29 changes: 29 additions & 0 deletions
29
src/20231207_Multi_AaveGovernanceV3Activation/AaveGovernanceV3Activation_20231207.s.sol
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
// SPDX-License-Identifier: MIT | ||
pragma solidity ^0.8.0; | ||
|
||
import {GovHelpers} from 'aave-helpers/GovHelpers.sol'; | ||
import {EthereumScript} from 'aave-helpers/ScriptUtils.sol'; | ||
import {AaveGovernanceV2} from 'aave-address-book/AaveGovernanceV2.sol'; | ||
|
||
/** | ||
* @dev Create Long Proposal | ||
* command: make deploy-ledger contract=src/20231207_Multi_AaveGovernanceV3Activation/AaveGovernanceV3Activation_20231207.s.sol:CreateProposal chain=mainnet | ||
*/ | ||
contract CreateProposal is EthereumScript { | ||
function run() external { | ||
// create payloads | ||
GovHelpers.Payload[] memory payloads = new GovHelpers.Payload[](2); | ||
payloads[0] = GovHelpers.buildMainnet(0x62F5c2C54495567537c0f9C4B66A6adb3b584148); | ||
payloads[1] = GovHelpers.buildBase(0x44B4221c950fCf23A40e68dEa29feD0bB88893a9); | ||
|
||
// create proposal | ||
vm.startBroadcast(); | ||
GovHelpers.createProposal( | ||
payloads, | ||
GovHelpers.ipfsHashFile( | ||
vm, | ||
'src/20231207_Multi_AaveGovernanceV3Activation/AaveGovernanceV3Activation.md' | ||
) | ||
); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
{ | ||
"rootOptions": { | ||
"pools": ["AaveV3Ethereum"], | ||
"title": "Aave Governance V3 Activation", | ||
"shortName": "AaveGovernanceV3Activation", | ||
"date": "20231207", | ||
"author": "BGD Labs (@bgdlabs)", | ||
"discussion": "https://governance.aave.com/t/bgd-aave-governance-v3-activation-plan/14993/13", | ||
"snapshot": "https://snapshot.org/#/aave.eth/proposal/0x7e61744629fce7787281905b4d5984b39f9cbe83fbe2dd05d8b77697205ce0ce" | ||
}, | ||
"poolOptions": { | ||
"AaveV3Ethereum": { | ||
"configs": { | ||
"OTHERS": {} | ||
}, | ||
"cache": { | ||
"blockNumber": 18733441 | ||
} | ||
} | ||
} | ||
} |