Skip to content

Commit

Permalink
Merge branch 'bgd-labs:main' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
marczeller authored Apr 17, 2024
2 parents 8268dd8 + e881b1e commit c32992f
Show file tree
Hide file tree
Showing 21 changed files with 1,105 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
## Reserve changes

### Reserve altered

#### WETH.e ([0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB](https://snowscan.xyz/address/0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB))

| description | value before | value after |
| --- | --- | --- |
| reserveFactor | 35 % | 40 % |


#### WBTC.e ([0x50b7545627a5162F82A992c33b87aDc75187B218](https://snowscan.xyz/address/0x50b7545627a5162F82A992c33b87aDc75187B218))

| description | value before | value after |
| --- | --- | --- |
| reserveFactor | 40 % | 45 % |


#### USDC.e ([0xA7D7079b0FEaD91F3e65f86E8915Cb59c1a4C664](https://snowscan.xyz/address/0xA7D7079b0FEaD91F3e65f86E8915Cb59c1a4C664))

| description | value before | value after |
| --- | --- | --- |
| reserveFactor | 35 % | 40 % |


#### WAVAX ([0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7](https://snowscan.xyz/address/0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7))

| description | value before | value after |
| --- | --- | --- |
| reserveFactor | 35 % | 40 % |


#### USDT.e ([0xc7198437980c041c805A1EDcbA50c1Ce5db95118](https://snowscan.xyz/address/0xc7198437980c041c805A1EDcbA50c1Ce5db95118))

| description | value before | value after |
| --- | --- | --- |
| reserveFactor | 35 % | 40 % |


#### DAI.e ([0xd586E7F844cEa2F87f50152665BCbc2C279D8d70](https://snowscan.xyz/address/0xd586E7F844cEa2F87f50152665BCbc2C279D8d70))

| description | value before | value after |
| --- | --- | --- |
| reserveFactor | 35 % | 40 % |


## Raw diff

```json
{
"reserves": {
"0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB": {
"reserveFactor": {
"from": 3500,
"to": 4000
}
},
"0x50b7545627a5162F82A992c33b87aDc75187B218": {
"reserveFactor": {
"from": 4000,
"to": 4500
}
},
"0xA7D7079b0FEaD91F3e65f86E8915Cb59c1a4C664": {
"reserveFactor": {
"from": 3500,
"to": 4000
}
},
"0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7": {
"reserveFactor": {
"from": 3500,
"to": 4000
}
},
"0xc7198437980c041c805A1EDcbA50c1Ce5db95118": {
"reserveFactor": {
"from": 3500,
"to": 4000
}
},
"0xd586E7F844cEa2F87f50152665BCbc2C279D8d70": {
"reserveFactor": {
"from": 3500,
"to": 4000
}
}
}
}
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@
## Reserve changes

### Reserve altered

#### GUSD ([0x056Fd409E1d7A124BD7017459dFEa2F387b6d5Cd](https://etherscan.io/address/0x056Fd409E1d7A124BD7017459dFEa2F387b6d5Cd))

| description | value before | value after |
| --- | --- | --- |
| reserveFactor | 35 % | 40 % |


#### WBTC ([0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599](https://etherscan.io/address/0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599))

| description | value before | value after |
| --- | --- | --- |
| reserveFactor | 45 % | 50 % |


#### LINK ([0x514910771AF9Ca656af840dff83E8264EcF986CA](https://etherscan.io/address/0x514910771AF9Ca656af840dff83E8264EcF986CA))

| description | value before | value after |
| --- | --- | --- |
| reserveFactor | 45 % | 50 % |


#### sUSD ([0x57Ab1ec28D129707052df4dF418D58a2D46d5f51](https://etherscan.io/address/0x57Ab1ec28D129707052df4dF418D58a2D46d5f51))

| description | value before | value after |
| --- | --- | --- |
| reserveFactor | 45 % | 50 % |


#### LUSD ([0x5f98805A4E8be255a32880FDeC7F6728C6568bA0](https://etherscan.io/address/0x5f98805A4E8be255a32880FDeC7F6728C6568bA0))

| description | value before | value after |
| --- | --- | --- |
| reserveFactor | 40 % | 45 % |


#### DAI ([0x6B175474E89094C44Da98b954EedeAC495271d0F](https://etherscan.io/address/0x6B175474E89094C44Da98b954EedeAC495271d0F))

| description | value before | value after |
| --- | --- | --- |
| reserveFactor | 40 % | 45 % |


#### FRAX ([0x853d955aCEf822Db058eb8505911ED77F175b99e](https://etherscan.io/address/0x853d955aCEf822Db058eb8505911ED77F175b99e))

| description | value before | value after |
| --- | --- | --- |
| reserveFactor | 45 % | 50 % |


#### USDP ([0x8E870D67F660D95d5be530380D0eC0bd388289E1](https://etherscan.io/address/0x8E870D67F660D95d5be530380D0eC0bd388289E1))

| description | value before | value after |
| --- | --- | --- |
| reserveFactor | 35 % | 40 % |


#### USDC ([0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48](https://etherscan.io/address/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48))

| description | value before | value after |
| --- | --- | --- |
| reserveFactor | 40 % | 45 % |


#### WETH ([0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2](https://etherscan.io/address/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2))

| description | value before | value after |
| --- | --- | --- |
| reserveFactor | 40 % | 45 % |


#### USDT ([0xdAC17F958D2ee523a2206206994597C13D831ec7](https://etherscan.io/address/0xdAC17F958D2ee523a2206206994597C13D831ec7))

| description | value before | value after |
| --- | --- | --- |
| reserveFactor | 40 % | 45 % |


## Raw diff

```json
{
"reserves": {
"0x056Fd409E1d7A124BD7017459dFEa2F387b6d5Cd": {
"reserveFactor": {
"from": 3500,
"to": 4000
}
},
"0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599": {
"reserveFactor": {
"from": 4500,
"to": 5000
}
},
"0x514910771AF9Ca656af840dff83E8264EcF986CA": {
"reserveFactor": {
"from": 4500,
"to": 5000
}
},
"0x57Ab1ec28D129707052df4dF418D58a2D46d5f51": {
"reserveFactor": {
"from": 4500,
"to": 5000
}
},
"0x5f98805A4E8be255a32880FDeC7F6728C6568bA0": {
"reserveFactor": {
"from": 4000,
"to": 4500
}
},
"0x6B175474E89094C44Da98b954EedeAC495271d0F": {
"reserveFactor": {
"from": 4000,
"to": 4500
}
},
"0x853d955aCEf822Db058eb8505911ED77F175b99e": {
"reserveFactor": {
"from": 4500,
"to": 5000
}
},
"0x8E870D67F660D95d5be530380D0eC0bd388289E1": {
"reserveFactor": {
"from": 3500,
"to": 4000
}
},
"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48": {
"reserveFactor": {
"from": 4000,
"to": 4500
}
},
"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2": {
"reserveFactor": {
"from": 4000,
"to": 4500
}
},
"0xdAC17F958D2ee523a2206206994597C13D831ec7": {
"reserveFactor": {
"from": 4000,
"to": 4500
}
}
}
}
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
## Raw diff

```json
{
"poolConfig": {
"poolImpl": {
"from": "0x085E34722e04567Df9E6d2c32e82fd74f3342e79",
"to": "0x02D84abD89Ee9DB409572f19B6e1596c301F3c81"
}
}
}
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
## Raw diff

```json
{}
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import {AaveV3Ethereum, AaveV3EthereumAssets} from 'aave-address-book/AaveV3Ethereum.sol';
import {IProposalGenericExecutor} from 'aave-helpers/interfaces/IProposalGenericExecutor.sol';
import {IEmissionManager} from 'aave-v3-periphery/contracts/rewards/interfaces/IEmissionManager.sol';

/**
* @title Mainnet PYUSD Emissions Admin
* @author Aave Chan Initiative
* - Snapshot: https://snapshot.org/#/aave.eth/proposal/0xac80b6d5488c4949e30013d8ed88189ed48b64cb47580bee46921b28e3899bb7
* - Discussion: https://governance.aave.com/t/arfc-set-aave-chan-initiative-as-emission-manager-for-pyusd-on-aave-v3-ethereum-market/16837
*/
contract AaveV3Ethereum_MainnetPYUSDEmissionsAdmin_20240312 is IProposalGenericExecutor {
address public constant PYUSD_EMISSION_ADMIN = 0xac140648435d03f784879cd789130F22Ef588Fcd;

function execute() external {
IEmissionManager(AaveV3Ethereum.EMISSION_MANAGER).setEmissionAdmin(
AaveV3EthereumAssets.PYUSD_UNDERLYING,
PYUSD_EMISSION_ADMIN
);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import {GovV3Helpers} from 'aave-helpers/GovV3Helpers.sol';
import {AaveV3Ethereum, AaveV3EthereumAssets} from 'aave-address-book/AaveV3Ethereum.sol';
import {IEmissionManager} from 'aave-v3-periphery/contracts/rewards/interfaces/IEmissionManager.sol';

import 'forge-std/Test.sol';
import {ProtocolV3TestBase, ReserveConfig} from 'aave-helpers/ProtocolV3TestBase.sol';
import {AaveV3Ethereum_MainnetPYUSDEmissionsAdmin_20240312} from './AaveV3Ethereum_MainnetPYUSDEmissionsAdmin_20240312.sol';

/**
* @dev Test for AaveV3Ethereum_MainnetPYUSDEmissionsAdmin_20240312
* command: make test-contract filter=AaveV3Ethereum_MainnetPYUSDEmissionsAdmin_20240312
*/
contract AaveV3Ethereum_MainnetPYUSDEmissionsAdmin_20240312_Test is ProtocolV3TestBase {
AaveV3Ethereum_MainnetPYUSDEmissionsAdmin_20240312 internal proposal;

function setUp() public {
vm.createSelectFork(vm.rpcUrl('mainnet'), 19421865);
proposal = new AaveV3Ethereum_MainnetPYUSDEmissionsAdmin_20240312();
}

/**
* @dev executes the generic test suite including e2e and config snapshots
*/
function test_defaultProposalExecution() public {
defaultTest(
'AaveV3Ethereum_MainnetPYUSDEmissionsAdmin_20240312',
AaveV3Ethereum.POOL,
address(proposal)
);
}

function test_isEmmissionAdmin() external {
GovV3Helpers.executePayload(vm, address(proposal));
assertEq(
IEmissionManager(AaveV3Ethereum.EMISSION_MANAGER).getEmissionAdmin(
AaveV3EthereumAssets.PYUSD_UNDERLYING
),
0xac140648435d03f784879cd789130F22Ef588Fcd
);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
---
title: "Mainnet PYUSD Emissions Admin"
author: "Aave Chan Initiative"
discussions: "https://governance.aave.com/t/arfc-set-aave-chan-initiative-as-emission-manager-for-pyusd-on-aave-v3-ethereum-market/16837"
snapshot: "https://snapshot.org/#/aave.eth/proposal/0xac80b6d5488c4949e30013d8ed88189ed48b64cb47580bee46921b28e3899bb7"
---

## Simple Summary

This AIP proposes to set the Aave Chan Initiative (ACI) wallet as the emission manager for the PYUSD token on Aave V3 Ethereum Market. This will enable the ACI to enact incentive programs funded by ecosystem partners for all PYUSD markets, promoting growth and expanding the user base of Aave.

## Motivation

The Aave Chan Initiative (ACI) has been in discussion with various parties that have a desire to actively contribute to the growth and development of the Aave V3 on the Ethereum Network.

Recently, governance approved the [addition of PYUSD to Aave V3 Ethereum Market](https://governance.aave.com/t/arfc-add-pyusd-to-aave-v3-ethereum-market/16218). As a result, onboarding PYUSD into Aave has:

- Built synergies between Aave and PYUSD.
- Offered Aave users an additional stablecoin option.
- Strengthened the relationship between the PYUSD & the GHO stablecoin.

In order to facilitate emissions by various stakeholders, ACI proposes becoming the emissions manager for PYUSD on Aave V3 Ethereum Market. Emission incentives will be sent to ACI multisig and distributed as agreed on with partners. By setting the multisig as the emission manager for the PYUSD token, the ACI will be able to directly manage incentive programs that can attract more users to the pool and stimulate activity. This aligns with the broader goals of the Aave community to foster active and engaged markets on the Ethereum Chain.

## Specification

The Aave Chan Initiative (ACI) multisig address [0xac140648435d03f784879cd789130F22Ef588Fcd](https://app.safe.global/home?safe=eth:0xac140648435d03f784879cd789130F22Ef588Fcd) will be set as Emissions manager.

The call to the setEmissionAdmin() method in the emission_manager contract will be as follows:

`EMISSION_MANAGER.setEmissionAdmin(pyUSD,0xac140648435d03f784879cd789130F22Ef588Fcd);`

This method will set the Aave Chan Initiative (ACI) wallet as the emission admin for the PYUSD token on Aave V3 Ethereum Market.

## References

- Implementation: [AaveV3Ethereum](https://github.com/bgd-labs/aave-proposals-v3/blob/154a6473412cab8fcd2a0f81f3230ac54cdbbcb2/src/20240312_AaveV3Ethereum_MainnetPYUSDEmissionsAdmin/AaveV3Ethereum_MainnetPYUSDEmissionsAdmin_20240312.sol)
- Tests: [AaveV3Ethereum](https://github.com/bgd-labs/aave-proposals-v3/blob/154a6473412cab8fcd2a0f81f3230ac54cdbbcb2/src/20240312_AaveV3Ethereum_MainnetPYUSDEmissionsAdmin/AaveV3Ethereum_MainnetPYUSDEmissionsAdmin_20240312.t.sol)
- [Snapshot](https://snapshot.org/#/aave.eth/proposal/0xac80b6d5488c4949e30013d8ed88189ed48b64cb47580bee46921b28e3899bb7)
- [Discussion](https://governance.aave.com/t/arfc-set-aave-chan-initiative-as-emission-manager-for-pyusd-on-aave-v3-ethereum-market/16837)

## Copyright

Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
Loading

0 comments on commit c32992f

Please sign in to comment.