diff --git a/.assets/7ee157177b36f127c68a7672404db79216979260.svg b/.assets/7ee157177b36f127c68a7672404db79216979260.svg
deleted file mode 100644
index bb652b1a0..000000000
--- a/.assets/7ee157177b36f127c68a7672404db79216979260.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/.assets/bb16bff6a87c75a25166c7a6913a3201af424a23.svg b/.assets/bb16bff6a87c75a25166c7a6913a3201af424a23.svg
new file mode 100644
index 000000000..3dc668491
--- /dev/null
+++ b/.assets/bb16bff6a87c75a25166c7a6913a3201af424a23.svg
@@ -0,0 +1 @@
+Borrow APR, variableBorrow APR, stable0%25%50%75%100%0%2%4%6%8%Optimal utilization 0%Optimal utilization 0%
\ No newline at end of file
diff --git a/diffs/AaveV3Ethereum_EventsGrant2024_20240718_before_AaveV3Ethereum_EventsGrant2024_20240718_after.md b/diffs/AaveV3Ethereum_EventsGrant2024_20240718_before_AaveV3Ethereum_EventsGrant2024_20240718_after.md
new file mode 100644
index 000000000..c15d3e2bc
--- /dev/null
+++ b/diffs/AaveV3Ethereum_EventsGrant2024_20240718_before_AaveV3Ethereum_EventsGrant2024_20240718_after.md
@@ -0,0 +1,5 @@
+## Raw diff
+
+```json
+{}
+```
\ No newline at end of file
diff --git a/generator/types.ts b/generator/types.ts
index 9381f41aa..ece496415 100644
--- a/generator/types.ts
+++ b/generator/types.ts
@@ -23,6 +23,7 @@ export const V2_POOLS = [
export const V3_POOLS = [
'AaveV3Ethereum',
+ 'AaveV3EthereumLido',
'AaveV3Polygon',
'AaveV3Avalanche',
'AaveV3Optimism',
diff --git a/lib/aave-helpers b/lib/aave-helpers
index 8d9947cc2..b764404b1 160000
--- a/lib/aave-helpers
+++ b/lib/aave-helpers
@@ -1 +1 @@
-Subproject commit 8d9947cc2cf992a5606c7cba6e990d30e876d735
+Subproject commit b764404b1dbec7877942be98a5a26d6f7ac0298f
diff --git a/package.json b/package.json
index e4655b185..15491596a 100644
--- a/package.json
+++ b/package.json
@@ -31,9 +31,9 @@
"vitest": "^1.4.0"
},
"dependencies": {
- "@bgd-labs/aave-address-book": "^3.0.0",
+ "@bgd-labs/aave-address-book": "^3.0.1",
"@bgd-labs/aave-cli": "0.16.2",
- "@bgd-labs/js-utils": "^1.3.0",
+ "@bgd-labs/js-utils": "^1.4.2",
"@inquirer/prompts": "^3.3.0",
"@inquirer/testing": "^2.1.13",
"catapulta-verify": "^1.1.1",
diff --git a/remappings.txt b/remappings.txt
index b9bd8ba2b..2ba4e83ba 100644
--- a/remappings.txt
+++ b/remappings.txt
@@ -7,4 +7,3 @@ forge-std/=lib/aave-helpers/lib/forge-std/src/
solidity-utils/=lib/aave-helpers/lib/solidity-utils/src/
ccip/=lib/ccip/contracts/src/
gho-core/=lib/gho-core/src/contracts/
-aave-v3-origin/=lib/aave-helpers/lib/aave-address-book/lib/aave-v3-origin/src/
diff --git a/src/20240718_AaveV3Ethereum_EventsGrant2024/AaveV3Ethereum_EventsGrant2024_20240718.sol b/src/20240718_AaveV3Ethereum_EventsGrant2024/AaveV3Ethereum_EventsGrant2024_20240718.sol
new file mode 100644
index 000000000..92ec83adc
--- /dev/null
+++ b/src/20240718_AaveV3Ethereum_EventsGrant2024/AaveV3Ethereum_EventsGrant2024_20240718.sol
@@ -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
+ );
+ }
+}
diff --git a/src/20240718_AaveV3Ethereum_EventsGrant2024/AaveV3Ethereum_EventsGrant2024_20240718.t.sol b/src/20240718_AaveV3Ethereum_EventsGrant2024/AaveV3Ethereum_EventsGrant2024_20240718.t.sol
new file mode 100644
index 000000000..4beef3220
--- /dev/null
+++ b/src/20240718_AaveV3Ethereum_EventsGrant2024/AaveV3Ethereum_EventsGrant2024_20240718.t.sol
@@ -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
+ );
+ }
+}
diff --git a/src/20240718_AaveV3Ethereum_EventsGrant2024/EventsGrant2024.md b/src/20240718_AaveV3Ethereum_EventsGrant2024/EventsGrant2024.md
new file mode 100644
index 000000000..0c945dc9a
--- /dev/null
+++ b/src/20240718_AaveV3Ethereum_EventsGrant2024/EventsGrant2024.md
@@ -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/ba24358ee361de70b26539dc07ab58419af735da/src/20240718_AaveV3Ethereum_EventsGrant2024/AaveV3Ethereum_EventsGrant2024_20240718.sol)
+- Tests: [AaveV3Ethereum](https://github.com/bgd-labs/aave-proposals-v3/blob/ba24358ee361de70b26539dc07ab58419af735da/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/).
diff --git a/src/20240718_AaveV3Ethereum_EventsGrant2024/EventsGrant2024_20240718.s.sol b/src/20240718_AaveV3Ethereum_EventsGrant2024/EventsGrant2024_20240718.s.sol
new file mode 100644
index 000000000..f1c62db01
--- /dev/null
+++ b/src/20240718_AaveV3Ethereum_EventsGrant2024/EventsGrant2024_20240718.s.sol
@@ -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'
+ )
+ );
+ }
+}
diff --git a/src/20240718_AaveV3Ethereum_EventsGrant2024/config.ts b/src/20240718_AaveV3Ethereum_EventsGrant2024/config.ts
new file mode 100644
index 000000000..6a48cfec0
--- /dev/null
+++ b/src/20240718_AaveV3Ethereum_EventsGrant2024/config.ts
@@ -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}}},
+};
diff --git a/yarn.lock b/yarn.lock
index fa7b1cf3e..b98c728f6 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -39,6 +39,11 @@
resolved "https://registry.yarnpkg.com/@bgd-labs/aave-address-book/-/aave-address-book-3.0.0.tgz#a75cf2e217688e63728bec1b9c956b0134bc647c"
integrity sha512-ALT9T/aIZ7BztozWvGhjVKGAEfe6wLhop0z+0ZSwAdyHXrBfpXXDZa9siHNtOZfNojPVMPvkpgsiPnFmDD8OJQ==
+"@bgd-labs/aave-address-book@^3.0.1":
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/@bgd-labs/aave-address-book/-/aave-address-book-3.0.1.tgz#942cef06984ed7b12b5a6694c5010637b505edd3"
+ integrity sha512-dlq/tBbGzmXPK4q94+Oy/XFXsE3qnKq60L9Hd67WlF3f6zCyzuTuQvUCPW/7hpH3Wda9LAnUbOxGunHAt05n6g==
+
"@bgd-labs/aave-cli@0.16.2":
version "0.16.2"
resolved "https://registry.yarnpkg.com/@bgd-labs/aave-cli/-/aave-cli-0.16.2.tgz#b995358aa5f3a86bdd61e7b539c56ba071e53e18"
@@ -66,16 +71,6 @@
resolved "https://registry.yarnpkg.com/@bgd-labs/aave-v3-governance-cache/-/aave-v3-governance-cache-1.0.6.tgz#a56268e5e759b84d3691c8b23f23743170d04468"
integrity sha512-FpWMBxt18c8pk+10gvWtHBuXhb1uVYF63PgIs6CY4WMSEs/42KCmGYJSamCNYR9nEEX4PVqjPViu3zBoqZOgCQ==
-"@bgd-labs/js-utils@^1.3.0":
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/@bgd-labs/js-utils/-/js-utils-1.3.0.tgz#0cb7649acf175c5127a5077f4a8168118a8966c2"
- integrity sha512-jk3Wmw/qA9T2dTMTDN9B+O3dUxfuZhnlW8OaaJBo+Lb9uqH2irTi3ex9dNoR+JYw8cSw+RQnV7fI2UWLJ8vXOw==
- dependencies:
- "@supercharge/promise-pool" "^3.1.1"
- bs58 "^5.0.0"
- gray-matter "^4.0.3"
- tsx "^4.7.1"
-
"@bgd-labs/js-utils@^1.4.2":
version "1.4.2"
resolved "https://registry.yarnpkg.com/@bgd-labs/js-utils/-/js-utils-1.4.2.tgz#dd6d954fdda153d76cbcabaeff9b7e8adcf528b1"