generated from bgd-labs/bgd-forge-template
-
Notifications
You must be signed in to change notification settings - Fork 27
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
AIP: Events and Sponsorships Grant 2024 (#384)
* Add proposal for Gho Incident Report 20231113 (#1) * chore: add payload and deploy script for update of GHO variable debt token * forge install: gho-core * chore: add gho-core to dependency * test: Add tests for update of gho variable token * test: Add tests for update of gho variable token * fix: add modifier in method of interface * fix: remove gho dependency from repo and fix test * fix: Remove unnecesary dependency * fix: Add latest details --------- Co-authored-by: miguelmtzinf <[email protected]> * fix: Make new impl constant (#3) * fix: Amend AIP text (#4) * fix: Make new impl constant * fix: Fix AIP text * test: Tweak default tests with borrow cap update (#5) * fix: lint issue (#6) * test: Add diffs from test running (#7) * fix: Add payload address (#8) * fix: Fix payload address in script (#9) * fix: Remove unneeded diff file (#10) * initial upload: proposal template and fund stream * test: add stream withdraw test * docs: add summary and specs of AIP * test: add fuzz and insufficient funds tests * test: fuzz by seconds instead of days * fix: test changes as per pr comments * fix: comment typo * fix: discussion links, deal funds directly in tests * feat: update proposal doc * fix: doc header and formatting * fix: replace arfc with aip * fix: Fix typo in AIP text Co-authored-by: sendra <[email protected]> * feat: initial upload of template * feat: initial upload doc * fix: aip not arfc * fix: Updates lib * fix: Fix AIP text --------- Co-authored-by: Parth Patel <[email protected]> Co-authored-by: miguelmtzinf <[email protected]> Co-authored-by: miguelmtz <[email protected]> Co-authored-by: sendra <[email protected]>
- Loading branch information
1 parent
536f38d
commit ba24358
Showing
7 changed files
with
201 additions
and
0 deletions.
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions
5
...ventsGrant2024_20240718_before_AaveV3Ethereum_EventsGrant2024_20240718_after.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,5 @@ | ||
## Raw diff | ||
|
||
```json | ||
{} | ||
``` |
24 changes: 24 additions & 0 deletions
24
src/20240718_AaveV3Ethereum_EventsGrant2024/AaveV3Ethereum_EventsGrant2024_20240718.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,24 @@ | ||
// SPDX-License-Identifier: MIT | ||
pragma solidity ^0.8.0; | ||
|
||
import {IProposalGenericExecutor} from 'aave-helpers/interfaces/IProposalGenericExecutor.sol'; | ||
import {AaveV3Ethereum, AaveV3EthereumAssets} from 'aave-address-book/AaveV3Ethereum.sol'; | ||
|
||
/** | ||
* @title Events Grant 2024 | ||
* @author Aave Labs | ||
* - Snapshot: https://snapshot.org/#/aave.eth/proposal/0x5d4e3fba58f76f516afd0855a687027270b74163911116f14a4f5c01c34a9bd9 | ||
* - Discussion: https://governance.aave.com/t/arfc-aave-events-sponsorship-proposal-2024/18276 | ||
*/ | ||
contract AaveV3Ethereum_EventsGrant2024_20240718 is IProposalGenericExecutor { | ||
address public constant AAVE_LABS = 0x1c037b3C22240048807cC9d7111be5d455F640bd; | ||
uint256 public constant GHO_GRANT_AMOUNT = 650_000 ether; | ||
|
||
function execute() external { | ||
AaveV3Ethereum.COLLECTOR.transfer( | ||
AaveV3EthereumAssets.GHO_UNDERLYING, | ||
AAVE_LABS, | ||
GHO_GRANT_AMOUNT | ||
); | ||
} | ||
} |
50 changes: 50 additions & 0 deletions
50
src/20240718_AaveV3Ethereum_EventsGrant2024/AaveV3Ethereum_EventsGrant2024_20240718.t.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,50 @@ | ||
// SPDX-License-Identifier: MIT | ||
pragma solidity ^0.8.0; | ||
|
||
import {AaveV3Ethereum, AaveV3EthereumAssets} from 'aave-address-book/AaveV3Ethereum.sol'; | ||
|
||
import 'forge-std/Test.sol'; | ||
import {ProtocolV3TestBase} from 'aave-helpers/ProtocolV3TestBase.sol'; | ||
import {AaveV3Ethereum_EventsGrant2024_20240718} from './AaveV3Ethereum_EventsGrant2024_20240718.sol'; | ||
import {IERC20} from 'solidity-utils/contracts/oz-common/interfaces/IERC20.sol'; | ||
|
||
/** | ||
* @dev Test for AaveV3Ethereum_EventsGrant2024_20240718 | ||
* command: FOUNDRY_PROFILE=mainnet forge test --match-path=src/20240718_AaveV3Ethereum_EventsGrant2024/AaveV3Ethereum_EventsGrant2024_20240718.t.sol -vv | ||
*/ | ||
contract AaveV3Ethereum_EventsGrant2024_20240718_Test is ProtocolV3TestBase { | ||
AaveV3Ethereum_EventsGrant2024_20240718 internal proposal; | ||
|
||
address public constant AAVE_LABS = 0x1c037b3C22240048807cC9d7111be5d455F640bd; | ||
uint256 public constant GHO_GRANT_AMOUNT = 650_000 ether; | ||
|
||
function setUp() public { | ||
vm.createSelectFork(vm.rpcUrl('mainnet'), 20336106); | ||
proposal = new AaveV3Ethereum_EventsGrant2024_20240718(); | ||
} | ||
|
||
/** | ||
* @dev executes the generic test suite including e2e and config snapshots | ||
*/ | ||
function test_defaultProposalExecution() public { | ||
defaultTest('AaveV3Ethereum_EventsGrant2024_20240718', AaveV3Ethereum.POOL, address(proposal)); | ||
} | ||
|
||
function testProposalExecution() public { | ||
uint256 ALGHOBalanceBefore = IERC20(AaveV3EthereumAssets.GHO_UNDERLYING).balanceOf(AAVE_LABS); | ||
uint256 CollectorV3GHOBalanceBefore = IERC20(AaveV3EthereumAssets.GHO_UNDERLYING).balanceOf( | ||
address(AaveV3Ethereum.COLLECTOR) | ||
); | ||
|
||
executePayload(vm, address(proposal)); | ||
|
||
assertEq( | ||
IERC20(AaveV3EthereumAssets.GHO_UNDERLYING).balanceOf(AAVE_LABS), | ||
ALGHOBalanceBefore + GHO_GRANT_AMOUNT | ||
); | ||
assertEq( | ||
IERC20(AaveV3EthereumAssets.GHO_UNDERLYING).balanceOf(address(AaveV3Ethereum.COLLECTOR)), | ||
CollectorV3GHOBalanceBefore - GHO_GRANT_AMOUNT | ||
); | ||
} | ||
} |
46 changes: 46 additions & 0 deletions
46
src/20240718_AaveV3Ethereum_EventsGrant2024/EventsGrant2024.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,46 @@ | ||
--- | ||
title: "Events Grant 2024" | ||
author: "Aave Labs" | ||
discussions: "https://governance.aave.com/t/arfc-aave-events-sponsorship-proposal-2024/18276" | ||
snapshot: "https://snapshot.org/#/aave.eth/proposal/0x5d4e3fba58f76f516afd0855a687027270b74163911116f14a4f5c01c34a9bd9" | ||
--- | ||
|
||
## Summary | ||
|
||
This AIP proposes the Aave DAO budget allocation on events at key ecosystem initiatives at EthCC and Devcon to help to reinforce Aave Protocol’s unique and positive culture, share technical knowledge, and attract new community members. These initiatives are aimed at helping to continue the expansion of the DeFi ecosystem by showcasing Aave Protocol’s core values. | ||
|
||
## Motivation | ||
|
||
Aave Protocol has consistently been at the forefront of DeFi innovation with pioneering features. With a strong emphasis on security, usability, and composability, Aave has amassed a vibrant and engaged community of developers, users, contributors, and stakeholders. | ||
|
||
Although the Aave Protocol has emerged as a leader within DeFi, the sector at large is still in its nascent stages, and Aave should work hard to retain its spot as a leader. For the events proposal from the DAO for 2024, Aave Labs wants to concentrate on proposing fewer but higher-quality events to maximize impact. | ||
|
||
## Specification | ||
|
||
Aave Labs is requesting a budget allocation for 650,000 GHO for events for the remainder of 2024 for EthCC Brussels (45%) and Devcon Bangkok (55%). This proposal will transfer 650,000 GHO from the Aave DAO treasury to a wallet controlled by Aave Labs (0x1c037b3C22240048807cC9d7111be5d455F640bd). | ||
|
||
These initiatives will serve multiple purposes: | ||
|
||
1. Hackathons & Bounties: We want to encourage developers to build on Aave Protocol, as well as GHO. These hackathons not only provide a platform for the Aave community to connect with talented developers in both web3 and web2, and to remain visible and competitive in a growing industry, but also lead to the creation of innovative DeFi projects that enhance the Aave ecosystem. We propose to sponsor one ETHGlobal hackathon in Q4 in Bangkok. | ||
|
||
2. Open Finance Day: We are hosting Open Finance Day in partnership with key players in DeFi for high quality talks, networking, and light bites. Talks will include members of the DeFi community, Aave Labs, and Aave DAO community members and service providers. | ||
|
||
3. Side Events: Hosting side events alongside major conferences is an opportunity to increase community awareness, foster connections, and share technical knowledge, and industry insights. Typically featuring panels, workshops, and discussions led by industry experts, side events are designed to strengthen awareness of Aave and GHO technology among strategic audiences, reach new target audiences, and ensure Aave and GHO remain top-of-mind within and outside the community. | ||
|
||
4. Merch: Aave Labs seeks to create highly coveted Aave and GHO branded merchandise to distribute at events, as part of community engagement and awareness-building efforts as well as to proliferate the new visual identity and the beloved Ronnie ghost. Aave Labs will continue to push for the use of sustainable materials and creation of merchandise people actually wear, use, and love. | ||
|
||
5. rAAVE: To celebrate the Aave community’s welcoming culture, we aim to host two more editions of the flagship rAAVE event. Throughout the past years rAAVE has positioned itself to be the most sought after event in the ecosystem. They foster community spirit and create memorable experiences. We will integrate the GHO Pass for ticketing logistics and manage press relations and social media to maximize awareness and inclusion. This year’s events will be hosted at EthCC in Brussels and Devcon in Bangkok. To mitigate some costs for rAAVE, we are planning to potentially obtain co-sponsorship with current or potentially new partners for the Aave ecosystem. Due to the event’s high visibility, it is crucial that if co-sponsorship is obtained, the selected partners are aligned with the Aave Community and this is conducted in a balanced manner. | ||
|
||
After covering the aforementioned main sponsorships, any remaining budget will be directed towards side events related to the security of DeFi and smart contract technology. Any excess funds from this grant will be rolled over to be used for events during Q1 2025. A recap on last year’s events was posted to governance last December, here. | ||
Aave Labs shall cover all expenses for its team members, and this proposal does not request any funds for these expenses, or include any compensation for Aave Labs’ work. | ||
|
||
## References | ||
|
||
- Implementation: [AaveV3Ethereum](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20240718_AaveV3Ethereum_EventsGrant2024/AaveV3Ethereum_EventsGrant2024_20240718.sol) | ||
- Tests: [AaveV3Ethereum](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20240718_AaveV3Ethereum_EventsGrant2024/AaveV3Ethereum_EventsGrant2024_20240718.t.sol) | ||
- [Snapshot](https://snapshot.org/#/aave.eth/proposal/0x5d4e3fba58f76f516afd0855a687027270b74163911116f14a4f5c01c34a9bd9) | ||
- [Discussion](https://governance.aave.com/t/arfc-aave-events-sponsorship-proposal-2024/18276) | ||
|
||
## Copyright | ||
|
||
Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/). |
60 changes: 60 additions & 0 deletions
60
src/20240718_AaveV3Ethereum_EventsGrant2024/EventsGrant2024_20240718.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,60 @@ | ||
// SPDX-License-Identifier: MIT | ||
pragma solidity ^0.8.0; | ||
|
||
import {GovV3Helpers, IPayloadsControllerCore, PayloadsControllerUtils} from 'aave-helpers/GovV3Helpers.sol'; | ||
import {GovernanceV3Ethereum} from 'aave-address-book/GovernanceV3Ethereum.sol'; | ||
import {EthereumScript} from 'aave-helpers/ScriptUtils.sol'; | ||
import {AaveV3Ethereum_EventsGrant2024_20240718} from './AaveV3Ethereum_EventsGrant2024_20240718.sol'; | ||
|
||
/** | ||
* @dev Deploy Ethereum | ||
* deploy-command: make deploy-ledger contract=src/20240718_AaveV3Ethereum_EventsGrant2024/EventsGrant2024_20240718.s.sol:DeployEthereum chain=mainnet | ||
* verify-command: FOUNDRY_PROFILE=mainnet npx catapulta-verify -b broadcast/EventsGrant2024_20240718.s.sol/1/run-latest.json | ||
*/ | ||
contract DeployEthereum is EthereumScript { | ||
function run() external broadcast { | ||
// deploy payloads | ||
address payload0 = GovV3Helpers.deployDeterministic( | ||
type(AaveV3Ethereum_EventsGrant2024_20240718).creationCode | ||
); | ||
|
||
// compose action | ||
IPayloadsControllerCore.ExecutionAction[] | ||
memory actions = new IPayloadsControllerCore.ExecutionAction[](1); | ||
actions[0] = GovV3Helpers.buildAction(payload0); | ||
|
||
// register action at payloadsController | ||
GovV3Helpers.createPayload(actions); | ||
} | ||
} | ||
|
||
/** | ||
* @dev Create Proposal | ||
* command: make deploy-ledger contract=src/20240718_AaveV3Ethereum_EventsGrant2024/EventsGrant2024_20240718.s.sol:CreateProposal chain=mainnet | ||
*/ | ||
contract CreateProposal is EthereumScript { | ||
function run() external { | ||
// create payloads | ||
PayloadsControllerUtils.Payload[] memory payloads = new PayloadsControllerUtils.Payload[](1); | ||
|
||
// compose actions for validation | ||
IPayloadsControllerCore.ExecutionAction[] | ||
memory actionsEthereum = new IPayloadsControllerCore.ExecutionAction[](1); | ||
actionsEthereum[0] = GovV3Helpers.buildAction( | ||
type(AaveV3Ethereum_EventsGrant2024_20240718).creationCode | ||
); | ||
payloads[0] = GovV3Helpers.buildMainnetPayload(vm, actionsEthereum); | ||
|
||
// create proposal | ||
vm.startBroadcast(); | ||
GovV3Helpers.createProposal( | ||
vm, | ||
payloads, | ||
GovernanceV3Ethereum.VOTING_PORTAL_ETH_POL, | ||
GovV3Helpers.ipfsHashFile( | ||
vm, | ||
'src/20240718_AaveV3Ethereum_EventsGrant2024/EventsGrant2024.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,15 @@ | ||
import {ConfigFile} from '../../generator/types'; | ||
export const config: ConfigFile = { | ||
rootOptions: { | ||
title: 'Events Grant 2024', | ||
author: 'Aave Labs', | ||
discussion: 'https://governance.aave.com/t/arfc-aave-events-sponsorship-proposal-2024/18276', | ||
snapshot: | ||
'https://snapshot.org/#/aave.eth/proposal/0x5d4e3fba58f76f516afd0855a687027270b74163911116f14a4f5c01c34a9bd9', | ||
pools: ['AaveV3Ethereum'], | ||
shortName: 'EventsGrant2024', | ||
date: '20240718', | ||
votingNetwork: 'POLYGON', | ||
}, | ||
poolOptions: {AaveV3Ethereum: {configs: {OTHERS: {}}, cache: {blockNumber: 20336106}}}, | ||
}; |
ba24358
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Foundry report
Build log
Test success 🌈