From 6dc9101c71e7afa85efa1c4989789fff86d29d48 Mon Sep 17 00:00:00 2001 From: Lukas Date: Mon, 18 Dec 2023 12:38:11 +0100 Subject: [PATCH] feat: execute proposal (#199) --- package.json | 2 +- src/CommonTestBase.sol | 2 +- src/GovV3Helpers.sol | 14 ++++++++++++-- src/IpfsUtils.sol | 2 +- yarn.lock | 8 ++++---- 5 files changed, 19 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index 2525895b8..cfd6f3acf 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,6 @@ "prettier-plugin-solidity": "^1.1.3" }, "dependencies": { - "@bgd-labs/aave-cli": "^0.1.0" + "@bgd-labs/aave-cli": "^0.2.1" } } diff --git a/src/CommonTestBase.sol b/src/CommonTestBase.sol index 5d6240b0f..43a01b88e 100644 --- a/src/CommonTestBase.sol +++ b/src/CommonTestBase.sol @@ -129,7 +129,7 @@ contract CommonTestBase is Test { string[] memory inputs = new string[](7); inputs[0] = 'npx'; - inputs[1] = '@bgd-labs/aave-cli@0.1.0'; + inputs[1] = '@bgd-labs/aave-cli@0.2.1'; inputs[2] = 'diff-snapshots'; inputs[3] = beforePath; inputs[4] = afterPath; diff --git a/src/GovV3Helpers.sol b/src/GovV3Helpers.sol index 3b1d459cd..73caceb3f 100644 --- a/src/GovV3Helpers.sol +++ b/src/GovV3Helpers.sol @@ -93,7 +93,7 @@ library GovV3Helpers { ) internal returns (IVotingMachineWithProofs.VotingBalanceProof[] memory) { string[] memory inputs = new string[](8); inputs[0] = 'npx'; - inputs[1] = '@bgd-labs/aave-cli@0.1.0'; + inputs[1] = '@bgd-labs/aave-cli@0.2.1'; inputs[2] = 'governance'; inputs[3] = 'getVotingProofs'; inputs[4] = '--proposalId'; @@ -119,7 +119,7 @@ library GovV3Helpers { ) internal returns (StorageRootResponse[] memory) { string[] memory inputs = new string[](6); inputs[0] = 'npx'; - inputs[1] = '@bgd-labs/aave-cli@0.1.0'; + inputs[1] = '@bgd-labs/aave-cli@0.2.1'; inputs[2] = 'governance'; inputs[3] = 'getStorageRoots'; inputs[4] = '--proposalId'; @@ -528,6 +528,16 @@ library GovV3Helpers { return createProposal(vm, payloads, GovernanceV3Ethereum.VOTING_PORTAL_ETH_POL, ipfsHash); } + /** + * @dev Executes an already created proposal on governance v3 by manipulating stororage so it#s executable in the current block. + * @param vm Vm + * @param proposalId id of the proposal to execute + */ + function executeProposal(Vm vm, uint256 proposalId) internal { + GovV3StorageHelpers.readyProposal(vm, proposalId); + GovernanceV3Ethereum.GOVERNANCE.executeProposal(proposalId); + } + function build2_5Payload( PayloadsControllerUtils.Payload memory payload ) internal returns (GovHelpers.Payload memory) { diff --git a/src/IpfsUtils.sol b/src/IpfsUtils.sol index 09f08edba..2ccf48d27 100644 --- a/src/IpfsUtils.sol +++ b/src/IpfsUtils.sol @@ -9,7 +9,7 @@ library IpfsUtils { function ipfsHashFile(Vm vm, string memory filePath, bool upload) internal returns (bytes32) { string[] memory inputs = new string[](5); inputs[0] = 'npx'; - inputs[1] = '@bgd-labs/aave-cli@0.1.0'; + inputs[1] = '@bgd-labs/aave-cli@0.2.1'; inputs[2] = 'ipfs'; inputs[3] = filePath; if (upload) { diff --git a/yarn.lock b/yarn.lock index b4aab0502..6ed6b553a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -39,10 +39,10 @@ resolved "https://registry.yarnpkg.com/@bgd-labs/aave-address-book/-/aave-address-book-2.10.0.tgz#19873ec0edf9ee1f1a5539162e6092b0a2b2c4b4" integrity sha512-DVglkDCYUf7etb6mnCziIY2HPgap4X3AnC/1tC0ZqpXFrhO0lQzWBiMeWy20r1x/b81iHMQa02ULaco3LhdeVw== -"@bgd-labs/aave-cli@^0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@bgd-labs/aave-cli/-/aave-cli-0.1.0.tgz#f10a23735173387d92a802b19abf3ad8987c0104" - integrity sha512-CDU4VSp51+NaDvGNw/Gax4fMMIMTGm0CN54vFifiKC3QTM/ZCCY614Gca1UEBt5cOvOxHe2OmGYqgeoZ3s8BlA== +"@bgd-labs/aave-cli@^0.2.1": + version "0.2.1" + resolved "https://registry.yarnpkg.com/@bgd-labs/aave-cli/-/aave-cli-0.2.1.tgz#a9424c13107a6641caf5b8da3dc5c9d959c3d9c4" + integrity sha512-UAwPXZvFaqXtkP1GW2C8cI09ZdPR7xYNTHe+FqAyPelb7gd755xNnl3/VXXekAln8uiiiKIH2+4zKzEsAS9sCw== dependencies: "@bgd-labs/aave-address-book" "2.10.0" "@commander-js/extra-typings" "^11.1.0"