Skip to content

Commit

Permalink
feat: pool upgrade (#156)
Browse files Browse the repository at this point in the history
* feat: add freeze feature

* feat: add freeze feature to allove freezing/unfreezing v3 reserves

fix: patch freeze feature

feat: add patch proposal

* patch tests

* Removed TODO from Snapshot link

* Update src/20240104_Multi_Patch/AaveV3Avalanche_Patch_20240104.sol

Co-authored-by: miguelmtz <36620902+miguelmtzinf@users.noreply.github.com>

* Removed TODO from readme

* fix: gnosis pool address

* 156 cleanup (#157)

* 156 cleanup

* remove boilerplate on run() of GenericDeploy

* remove unused import

* tests cleanup

---------

Co-authored-by: eboado <ebdmrr@gmail.com>
Co-authored-by: miguelmtz <36620902+miguelmtzinf@users.noreply.github.com>
Co-authored-by: Harsh Pandey <harshsatishpandey@gmail.com>
Co-authored-by: Andrey <kyzia.ru@gmail.com>
  • Loading branch information
5 people authored Jan 5, 2024
1 parent 1e29888 commit af9ef67
Show file tree
Hide file tree
Showing 27 changed files with 598 additions and 7 deletions.
2 changes: 2 additions & 0 deletions generator/cli.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import {borrowsUpdates} from './features/borrowsUpdates';
import {eModeUpdates} from './features/eModesUpdates';
import {eModeAssets} from './features/eModesAssets';
import {priceFeedsUpdates} from './features/priceFeedsUpdates';
import {freezeUpdates} from './features/freeze';
import {assetListing, assetListingCustom} from './features/assetListing';
import {generateFiles, writeFiles} from './generator';
import {PublicClient} from 'viem';
Expand Down Expand Up @@ -70,6 +71,7 @@ const FEATURE_MODULES_V3 = [
eModeAssets,
assetListing,
assetListingCustom,
freezeUpdates,
PLACEHOLDER_MODULE,
];

Expand Down
41 changes: 41 additions & 0 deletions generator/features/freeze.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
import {confirm} from '@inquirer/prompts';
import {CodeArtifact, FEATURE, FeatureModule} from '../types';
import {FreezeUpdate} from './types';
import {
assetsSelectPrompt,
translateAssetToAssetLibUnderlying,
} from '../prompts/assetsSelectPrompt';

export const freezeUpdates: FeatureModule<FreezeUpdate[]> = {
value: FEATURE.FREEZE,
description: 'Freeze/Unfreeze a reserve',
async cli({pool}) {
const response: FreezeUpdate[] = [];
const assets = await assetsSelectPrompt({
message: 'Select the assets you want to change',
pool,
});
for (const asset of assets) {
console.log(`collecting info for ${asset}`);
response.push({
asset,
shouldBeFrozen: await confirm({message: 'Should the asset be frozen?'}),
});
}
return response;
},
build({pool, cfg}) {
const response: CodeArtifact = {
code: {
execute: cfg.map(
(cfg) =>
`${pool}.POOL_CONFIGURATOR.setReserveFreeze(${translateAssetToAssetLibUnderlying(
cfg.asset,
pool
)}, false);`
),
},
};
return response;
},
};
7 changes: 6 additions & 1 deletion generator/features/types.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import {Hex} from 'viem';
import {BooleanSelectValues, NumberInputValues, PercentInputValues} from '../prompts';
import {NumberInputValues, PercentInputValues} from '../prompts';
import {BooleanSelectValues} from '../prompts/boolPrompt';

export interface AssetSelector {
asset: string;
Expand Down Expand Up @@ -100,3 +101,7 @@ export interface TokenStream {
duration: string;
amount: string;
}

export interface FreezeUpdate extends AssetSelector {
shouldBeFrozen: boolean;
}
2 changes: 1 addition & 1 deletion generator/templates/proposal.template.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ export const proposalTemplate = (

let optionalExecute = '';
const usesConfigEngine = Object.keys(poolConfig.configs).some(
(f) => ![FEATURE.OTHERS, FEATURE.FLASH_BORROWER].includes(f)
(f) => ![FEATURE.OTHERS, FEATURE.FLASH_BORROWER, FEATURE.FREEZE].includes(f)
);
const isAssetListing = Object.keys(poolConfig.configs).some((f) =>
[FEATURE.ASSET_LISTING, FEATURE.ASSET_LISTING_CUSTOM].includes(f)
Expand Down
3 changes: 3 additions & 0 deletions generator/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import {
ListingWithCustomImpl,
PriceFeedUpdate,
RateStrategyUpdate,
FreezeUpdate,
} from './features/types';
import {FlashBorrower} from './features/flashBorrower';

Expand Down Expand Up @@ -80,6 +81,7 @@ export enum FEATURE {
PRICE_FEEDS_UPDATE = 'PRICE_FEEDS_UPDATE',
RATE_UPDATE_V3 = 'RATE_UPDATE_V3',
RATE_UPDATE_V2 = 'RATE_UPDATE_V2',
FREEZE = 'FREEZE',
OTHERS = 'OTHERS',
}

Expand Down Expand Up @@ -121,6 +123,7 @@ export interface PoolConfig {
[FEATURE.PRICE_FEEDS_UPDATE]?: PriceFeedUpdate[];
[FEATURE.RATE_UPDATE_V3]?: RateStrategyUpdate[]; // TODO: type could be improved
[FEATURE.RATE_UPDATE_V2]?: RateStrategyUpdate[];
[FEATURE.FREEZE]?: FreezeUpdate[];
[FEATURE.OTHERS]?: {};
};
cache: PoolCache;
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
"vitest": "^1.0.4"
},
"dependencies": {
"@bgd-labs/aave-address-book": "^2.13.0",
"@bgd-labs/aave-address-book": "^2.14.0",
"@bgd-labs/aave-cli": "0.2.1",
"@inquirer/prompts": "^3.3.0",
"@inquirer/testing": "^2.1.9",
Expand Down
21 changes: 21 additions & 0 deletions src/20240104_Multi_Patch/AaveV3Arbitrum_Patch_20240104.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import {AaveV3Arbitrum} from 'aave-address-book/AaveV3Arbitrum.sol';
import {PoolAddresses} from './PoolLibrary.sol';
import {AaveV3GenericPatch_20240104} from './AaveV3GenericPatch_20240104.sol';

/**
* @title Patch
* @author BGD Labs @bgdlabs
* - Snapshot: N/A
* - Discussion: https://governance.aave.com/t/pre-cautionary-measures-on-three-aave-v3-assets/16037
*/
contract AaveV3Arbitrum_Patch_20240104 is AaveV3GenericPatch_20240104 {
constructor()
AaveV3GenericPatch_20240104(
PoolAddresses.ARBITRUM_POOL_IMPL_ADDRESS,
AaveV3Arbitrum.POOL_ADDRESSES_PROVIDER
)
{}
}
16 changes: 16 additions & 0 deletions src/20240104_Multi_Patch/AaveV3Arbitrum_Patch_20240104.t.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import {AaveV3Generic_Patch_20240104_Test} from './AaveV3Generic_Patch_20240104_Test.sol';
import {AaveV3Arbitrum_Patch_20240104} from './AaveV3Arbitrum_Patch_20240104.sol';

/**
* @dev Test for AaveV3Arbitrum_Patch_20240104
* command: make test-contract filter=AaveV3Arbitrum_Patch_20240104
*/
contract AaveV3Arbitrum_Patch_20240104_Test is AaveV3Generic_Patch_20240104_Test {
function setUp() public {
vm.createSelectFork(vm.rpcUrl('arbitrum'), 167017329);
proposal = address(new AaveV3Arbitrum_Patch_20240104());
}
}
21 changes: 21 additions & 0 deletions src/20240104_Multi_Patch/AaveV3Avalanche_Patch_20240104.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import {AaveV3Avalanche} from 'aave-address-book/AaveV3Avalanche.sol';
import {PoolAddresses} from './PoolLibrary.sol';
import {AaveV3GenericPatch_20240104} from './AaveV3GenericPatch_20240104.sol';

/**
* @title Patch
* @author BGD Labs @bgdlabs
* - Snapshot: N/A
* - Discussion: https://governance.aave.com/t/pre-cautionary-measures-on-three-aave-v3-assets/16037
*/
contract AaveV3Avalanche_Patch_20240104 is AaveV3GenericPatch_20240104 {
constructor()
AaveV3GenericPatch_20240104(
PoolAddresses.AVALANCHE_POOL_IMPL_ADDRESS,
AaveV3Avalanche.POOL_ADDRESSES_PROVIDER
)
{}
}
16 changes: 16 additions & 0 deletions src/20240104_Multi_Patch/AaveV3Avalanche_Patch_20240104.t.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import {AaveV3Generic_Patch_20240104_Test} from './AaveV3Generic_Patch_20240104_Test.sol';
import {AaveV3Avalanche_Patch_20240104} from './AaveV3Avalanche_Patch_20240104.sol';

/**
* @dev Test for AaveV3Avalanche_Patch_20240104
* command: make test-contract filter=AaveV3Avalanche_Patch_20240104
*/
contract AaveV3Avalanche_Patch_20240104_Test is AaveV3Generic_Patch_20240104_Test {
function setUp() public {
vm.createSelectFork(vm.rpcUrl('avalanche'), 39925983);
proposal = address(new AaveV3Avalanche_Patch_20240104());
}
}
21 changes: 21 additions & 0 deletions src/20240104_Multi_Patch/AaveV3Base_Patch_20240104.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import {AaveV3Base} from 'aave-address-book/AaveV3Base.sol';
import {PoolAddresses} from './PoolLibrary.sol';
import {AaveV3GenericPatch_20240104} from './AaveV3GenericPatch_20240104.sol';

/**
* @title Patch
* @author BGD Labs @bgdlabs
* - Snapshot: N/A
* - Discussion: https://governance.aave.com/t/pre-cautionary-measures-on-three-aave-v3-assets/16037
*/
contract AaveV3Base_Patch_20240104 is AaveV3GenericPatch_20240104 {
constructor()
AaveV3GenericPatch_20240104(
PoolAddresses.BASE_POOL_IMPL_ADDRESS,
AaveV3Base.POOL_ADDRESSES_PROVIDER
)
{}
}
16 changes: 16 additions & 0 deletions src/20240104_Multi_Patch/AaveV3Base_Patch_20240104.t.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import {AaveV3Generic_Patch_20240104_Test} from './AaveV3Generic_Patch_20240104_Test.sol';
import {AaveV3Base_Patch_20240104} from './AaveV3Base_Patch_20240104.sol';

/**
* @dev Test for AaveV3Base_Patch_20240104
* command: make test-contract filter=AaveV3Base_Patch_20240104
*/
contract AaveV3Base_Patch_20240104_Test is AaveV3Generic_Patch_20240104_Test {
function setUp() public {
vm.createSelectFork(vm.rpcUrl('base'), 8792857);
proposal = address(new AaveV3Base_Patch_20240104());
}
}
21 changes: 21 additions & 0 deletions src/20240104_Multi_Patch/AaveV3Ethereum_Patch_20240104.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import {AaveV3Ethereum} from 'aave-address-book/AaveV3Ethereum.sol';
import {PoolAddresses} from './PoolLibrary.sol';
import {AaveV3GenericPatch_20240104} from './AaveV3GenericPatch_20240104.sol';

/**
* @title Patch
* @author BGD Labs @bgdlabs
* - Snapshot: N/A
* - Discussion: https://governance.aave.com/t/pre-cautionary-measures-on-three-aave-v3-assets/16037
*/
contract AaveV3Ethereum_Patch_20240104 is AaveV3GenericPatch_20240104 {
constructor()
AaveV3GenericPatch_20240104(
PoolAddresses.ETHEREUM_POOL_IMPL_ADDRESS,
AaveV3Ethereum.POOL_ADDRESSES_PROVIDER
)
{}
}
16 changes: 16 additions & 0 deletions src/20240104_Multi_Patch/AaveV3Ethereum_Patch_20240104.t.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import {AaveV3Generic_Patch_20240104_Test} from './AaveV3Generic_Patch_20240104_Test.sol';
import {AaveV3Ethereum_Patch_20240104} from './AaveV3Ethereum_Patch_20240104.sol';

/**
* @dev Test for AaveV3Ethereum_Patch_20240104
* command: make test-contract filter=AaveV3Ethereum_Patch_20240104
*/
contract AaveV3Ethereum_Patch_20240104_Test is AaveV3Generic_Patch_20240104_Test {
function setUp() public {
vm.createSelectFork(vm.rpcUrl('mainnet'), 18934274);
proposal = address(new AaveV3Ethereum_Patch_20240104());
}
}
21 changes: 21 additions & 0 deletions src/20240104_Multi_Patch/AaveV3GenericPatch_20240104.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import {IProposalGenericExecutor} from 'aave-helpers/interfaces/IProposalGenericExecutor.sol';
import {IPoolAddressesProvider} from 'aave-address-book/AaveV3.sol';
import {Address} from 'solidity-utils/contracts/oz-common/Address.sol';

contract AaveV3GenericPatch_20240104 is IProposalGenericExecutor {
address public immutable NEW_POOL_IMPL;
IPoolAddressesProvider public immutable POOL_ADDRESSES_PROVIDER;

constructor(address newPoolImpl, IPoolAddressesProvider poolAddressesProvider) {
NEW_POOL_IMPL = newPoolImpl;
POOL_ADDRESSES_PROVIDER = poolAddressesProvider;
}

function execute() external {
require(Address.isContract(NEW_POOL_IMPL), 'CONTRACT_NON_YET_DEPLOYED');
POOL_ADDRESSES_PROVIDER.setPoolImpl(NEW_POOL_IMPL);
}
}
16 changes: 16 additions & 0 deletions src/20240104_Multi_Patch/AaveV3Generic_Patch_20240104_Test.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import {ProtocolV3TestBase} from 'aave-helpers/ProtocolV3TestBase.sol';

contract AaveV3Generic_Patch_20240104_Test is ProtocolV3TestBase {
address internal proposal;

/**
* @dev execution will fail because logic is not yet deployed
*/
function testFail_defaultProposalExecution() public {
require(proposal != address(0));
executePayload(vm, proposal);
}
}
21 changes: 21 additions & 0 deletions src/20240104_Multi_Patch/AaveV3Gnosis_Patch_20240104.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import {AaveV3Gnosis} from 'aave-address-book/AaveV3Gnosis.sol';
import {PoolAddresses} from './PoolLibrary.sol';
import {AaveV3GenericPatch_20240104} from './AaveV3GenericPatch_20240104.sol';

/**
* @title Patch
* @author BGD Labs @bgdlabs
* - Snapshot: N/A
* - Discussion: https://governance.aave.com/t/pre-cautionary-measures-on-three-aave-v3-assets/16037
*/
contract AaveV3Gnosis_Patch_20240104 is AaveV3GenericPatch_20240104 {
constructor()
AaveV3GenericPatch_20240104(
PoolAddresses.GNOSIS_POOL_IMPL_ADDRESS,
AaveV3Gnosis.POOL_ADDRESSES_PROVIDER
)
{}
}
16 changes: 16 additions & 0 deletions src/20240104_Multi_Patch/AaveV3Gnosis_Patch_20240104.t.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import {AaveV3Generic_Patch_20240104_Test} from './AaveV3Generic_Patch_20240104_Test.sol';
import {AaveV3Gnosis_Patch_20240104} from './AaveV3Gnosis_Patch_20240104.sol';

/**
* @dev Test for AaveV3Gnosis_Patch_20240104
* command: make test-contract filter=AaveV3Gnosis_Patch_20240104
*/
contract AaveV3Gnosis_Patch_20240104_Test is AaveV3Generic_Patch_20240104_Test {
function setUp() public {
vm.createSelectFork(vm.rpcUrl('gnosis'), 31781458);
proposal = address(new AaveV3Gnosis_Patch_20240104());
}
}
21 changes: 21 additions & 0 deletions src/20240104_Multi_Patch/AaveV3Optimism_Patch_20240104.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import {AaveV3Optimism} from 'aave-address-book/AaveV3Optimism.sol';
import {PoolAddresses} from './PoolLibrary.sol';
import {AaveV3GenericPatch_20240104} from './AaveV3GenericPatch_20240104.sol';

/**
* @title Patch
* @author BGD Labs @bgdlabs
* - Snapshot: N/A
* - Discussion: https://governance.aave.com/t/pre-cautionary-measures-on-three-aave-v3-assets/16037
*/
contract AaveV3Optimism_Patch_20240104 is AaveV3GenericPatch_20240104 {
constructor()
AaveV3GenericPatch_20240104(
PoolAddresses.OPTIMISM_POOL_IMPL_ADDRESS,
AaveV3Optimism.POOL_ADDRESSES_PROVIDER
)
{}
}
16 changes: 16 additions & 0 deletions src/20240104_Multi_Patch/AaveV3Optimism_Patch_20240104.t.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import {AaveV3Generic_Patch_20240104_Test} from './AaveV3Generic_Patch_20240104_Test.sol';
import {AaveV3Optimism_Patch_20240104} from './AaveV3Optimism_Patch_20240104.sol';

/**
* @dev Test for AaveV3Optimism_Patch_20240104
* command: make test-contract filter=AaveV3Optimism_Patch_20240104
*/
contract AaveV3Optimism_Patch_20240104_Test is AaveV3Generic_Patch_20240104_Test {
function setUp() public {
vm.createSelectFork(vm.rpcUrl('optimism'), 114388130);
proposal = address(new AaveV3Optimism_Patch_20240104());
}
}
Loading

1 comment on commit af9ef67

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Foundry report

forge 0.2.0 (6fc7463 2024-01-05T00:21:51.712802723Z)
Build log
Compiling 407 files with 0.8.19
Solc 0.8.19 finished in 272.91s
Compiler run successful with warnings:
Warning (5667): Unused function parameter. Remove or comment out the variable name to silence this warning.
   --> lib/aave-helpers/src/GovV3Helpers.sol:823:5:
    |
823 |     address votingPortal
    |     ^^^^^^^^^^^^^^^^^^^^

Warning (2072): Unused local variable.
  --> src/20231122_AaveV3Harmony_FreezePriceFeedsOnV3Harmony/FreezePriceFeedsOnV3Harmony_20231122.s.sol:16:5:
   |
16 |     AaveV3Harmony_FreezePriceFeedsOnV3Harmony_20231122 payload0 = new AaveV3Harmony_FreezePriceFeedsOnV3Harmony_20231122(
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Warning (2018): Function state mutability can be restricted to pure
   --> lib/aave-helpers/src/GovV3Helpers.sol:541:3:
    |
541 |   function build2_5Payload(
    |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (2018): Function state mutability can be restricted to pure
  --> src/20231208_Multi_TreasuryManagementPolygonV2ToV3Migration/AaveV2Polygon_TreasuryManagementPolygonV2ToV3Migration_20231208.sol:12:3:
   |
12 |   function getUnderlyingAddresses() internal view returns (address[8] memory) {
   |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (2018): Function state mutability can be restricted to pure
  --> src/20231208_Multi_TreasuryManagementPolygonV2ToV3Migration/AaveV2Polygon_TreasuryManagementPolygonV2ToV3Migration_20231208.sol:25:3:
   |
25 |   function getV2ATokenAddresses() internal view returns (address[8] memory) {
   |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (2018): Function state mutability can be restricted to pure
  --> src/20240104_Multi_Patch/Patch_20240104.s.sol:32:3:
   |
32 |   function _getPayload() internal override returns (bytes memory) {
   |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (2018): Function state mutability can be restricted to pure
  --> src/20240104_Multi_Patch/Patch_20240104.s.sol:43:3:
   |
43 |   function _getPayload() internal override returns (bytes memory) {
   |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (2018): Function state mutability can be restricted to pure
  --> src/20240104_Multi_Patch/Patch_20240104.s.sol:54:3:
   |
54 |   function _getPayload() internal override returns (bytes memory) {
   |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (2018): Function state mutability can be restricted to pure
  --> src/20240104_Multi_Patch/Patch_20240104.s.sol:65:3:
   |
65 |   function _getPayload() internal override returns (bytes memory) {
   |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (2018): Function state mutability can be restricted to pure
  --> src/20240104_Multi_Patch/Patch_20240104.s.sol:76:3:
   |
76 |   function _getPayload() internal override returns (bytes memory) {
   |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (2018): Function state mutability can be restricted to pure
  --> src/20240104_Multi_Patch/Patch_20240104.s.sol:87:3:
   |
87 |   function _getPayload() internal override returns (bytes memory) {
   |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (2018): Function state mutability can be restricted to pure
  --> src/20240104_Multi_Patch/Patch_20240104.s.sol:98:3:
   |
98 |   function _getPayload() internal override returns (bytes memory) {
   |   ^ (Relevant source part starts here and spans across multiple lines).

| Contract                                                                                | Size (kB) | Margin (kB) |
|-----------------------------------------------------------------------------------------|-----------|-------------|
| AaveGovernanceV2                                                                        | 0.086     | 24.49       |
| AaveSafetyModule                                                                        | 0.086     | 24.49       |
| AaveSwapper                                                                             | 5.613     | 18.963      |
| AaveV1Ethereum_FixedREPPriceFeed_20231031                                               | 0.706     | 23.87       |
| AaveV2Avalanche                                                                         | 0.086     | 24.49       |
| AaveV2AvalancheAssets                                                                   | 0.086     | 24.49       |
| AaveV2Avalanche_ChaosLabsRiskParameterUpdatesWBTCEOnV2AndV3Avalanche_20231221           | 0.377     | 24.199      |
| AaveV2Avalanche_IncreaseStablecoinOptimalBorrowRates_20231113                           | 1.899     | 22.677      |
| AaveV2Avalanche_StablecoinIRCurvesUpdates_20231221                                      | 1.899     | 22.677      |
| AaveV2Ethereum                                                                          | 0.086     | 24.49       |
| AaveV2EthereumAMM                                                                       | 0.086     | 24.49       |
| AaveV2EthereumAMMAssets                                                                 | 0.086     | 24.49       |
| AaveV2EthereumAMM_SyncEmergencyAdminOnV2AMM_20231207                                    | 0.227     | 24.349      |
| AaveV2EthereumAssets                                                                    | 0.086     | 24.49       |
| AaveV2Ethereum_AaveV2EthereumLTReduction_20231030                                       | 3.023     | 21.553      |
| AaveV2Ethereum_ChaosLabsRFAndIRUpdatesAaveV2Ethereum_20231203                           | 2.851     | 21.725      |
| AaveV2Ethereum_ChaosLabsV2EthereumAndPolygonLTReductions_20231205                       | 2.641     | 21.935      |
| AaveV2Ethereum_Disable_Stable_Borrows_20231104                                          | 2.519     | 22.057      |
| AaveV2Ethereum_IncreaseStablecoinOptimalBorrowRates_20231113                            | 3.078     | 21.498      |
| AaveV2Ethereum_RedeemCRVFromAaveV2EthereumAndTransferToGLC_20231123                     | 1.322     | 23.254      |
| AaveV2Ethereum_StablecoinIRCurvesUpdates_20231221                                       | 2.88      | 21.696      |
| AaveV2Ethereum_V2DeprecationPlan20231120_20231121                                       | 2.003     | 22.573      |
| AaveV2Polygon                                                                           | 0.086     | 24.49       |
| AaveV2PolygonAssets                                                                     | 0.086     | 24.49       |
| AaveV2Polygon_AaveFundingUpdates_20231102                                               | 1.627     | 22.949      |
| AaveV2Polygon_ChaosLabsV2EthereumAndPolygonLTReductions_20231205                        | 1.853     | 22.723      |
| AaveV2Polygon_IncreaseStablecoinOptimalBorrowRates_20231113                             | 1.899     | 22.677      |
| AaveV2Polygon_ReserveFactorUpdatesPolygonAaveV2_20231103                                | 1.01      | 23.566      |
| AaveV2Polygon_ReserveFactorUpdatesPolygonAaveV2_20231124                                | 1.01      | 23.566      |
| AaveV2Polygon_ReserveFactorUpdates_20231208                                             | 1.036     | 23.54       |
| AaveV2Polygon_ReserveFactorUpdates_20240102                                             | 1.036     | 23.54       |
| AaveV2Polygon_StablecoinIRCurvesUpdates_20231221                                        | 1.899     | 22.677      |
| AaveV2Polygon_TreasuryManagementPolygonV2ToV3Migration_20231208                         | 3.046     | 21.53       |
| AaveV3Arbitrum                                                                          | 0.086     | 24.49       |
| AaveV3ArbitrumAssets                                                                    | 0.086     | 24.49       |
| AaveV3ArbitrumEModes                                                                    | 0.086     | 24.49       |
| AaveV3Arbitrum_Disable_Stable_Borrows_20231104                                          | 4.14      | 20.436      |
| AaveV3Arbitrum_IncreaseStablecoinOptimalBorrowRates_20231113                            | 5.167     | 19.409      |
| AaveV3Arbitrum_MAIMIMATICDeprecation20231031_20231031                                   | 4.227     | 20.349      |
| AaveV3Arbitrum_OnboardNativeUSDCToAaveV3Markets_20231205                                | 4.554     | 20.022      |
| AaveV3Arbitrum_Patch_20240104                                                           | 0.52      | 24.056      |
| AaveV3Arbitrum_StablecoinIRCurvesUpdates_20231221                                       | 4.919     | 19.657      |
| AaveV3Arbitrum_UpdatePriceOracleSentinel_20231125                                       | 0.291     | 24.285      |
| AaveV3Avalanche                                                                         | 0.086     | 24.49       |
| AaveV3AvalancheAssets                                                                   | 0.086     | 24.49       |
| AaveV3AvalancheEModes                                                                   | 0.086     | 24.49       |
| AaveV3Avalanche_ChaosLabsRiskParameterUpdatesWBTCEOnV2AndV3Avalanche_20231221           | 3.554     | 21.022      |
| AaveV3Avalanche_Disable_Stable_Borrows_20231104                                         | 3.471     | 21.105      |
| AaveV3Avalanche_IncreaseStablecoinOptimalBorrowRates_20231113                           | 4.665     | 19.911      |
| AaveV3Avalanche_MAIMIMATICDeprecation20231031_20231031                                  | 4.364     | 20.212      |
| AaveV3Avalanche_Patch_20240104                                                          | 0.52      | 24.056      |
| AaveV3Avalanche_StablecoinIRCurvesUpdates_20231221                                      | 4.669     | 19.907      |
| AaveV3Base                                                                              | 0.086     | 24.49       |
| AaveV3BaseAssets                                                                        | 0.086     | 24.49       |
| AaveV3BaseEModes                                                                        | 0.086     | 24.49       |
| AaveV3Base_IncreaseStablecoinOptimalBorrowRates_20231113                                | 3.667     | 20.909      |
| AaveV3Base_OnboardNativeUSDCToAaveV3Markets_20231205                                    | 5.854     | 18.722      |
| AaveV3Base_OnboardingWstETHToAaveV3OnBaseNetwork_20231127                               | 5.044     | 19.532      |
| AaveV3Base_Patch_20240104                                                               | 0.52      | 24.056      |
| AaveV3Base_StablecoinIRCurvesUpdates_20231221                                           | 3.659     | 20.917      |
| AaveV3Base_UpdatePriceOracleSentinel_20231125                                           | 0.291     | 24.285      |
| AaveV3Ethereum                                                                          | 0.086     | 24.49       |
| AaveV3EthereumAssets                                                                    | 0.086     | 24.49       |
| AaveV3EthereumEModes                                                                    | 0.086     | 24.49       |
| AaveV3Ethereum_ACIPhaseII_20231029                                                      | 0.682     | 23.894      |
| AaveV3Ethereum_AaveFundingUpdates_20231102                                              | 5.809     | 18.767      |
| AaveV3Ethereum_AddFXSToEthereumV3_20231108                                              | 4.996     | 19.58       |
| AaveV3Ethereum_AmendSafetyModuleAAVEEmissions_20231104                                  | 1.938     | 22.638      |
| AaveV3Ethereum_CRVUSDOnboardingOnAaveV3Ethereum_20231116                                | 4.996     | 19.58       |
| AaveV3Ethereum_ChaosLabsRiskManagementRenewal_20231101                                  | 1.014     | 23.562      |
| AaveV3Ethereum_ChaosLabsRiskParameterUpdatesIncreaseMKRDebtCeilingOnV3Ethereum_20231116 | 3.418     | 21.158      |
| AaveV3Ethereum_ContinuousSecurityProposalAaveCertoraPart1_20231212                      | 0.686     | 23.89       |
| AaveV3Ethereum_ContinuousSecurityProposalAaveCertoraPart2_20231212                      | 0.716     | 23.86       |
| AaveV3Ethereum_GHOIncreaseBorrowRate_20231108                                           | 0.326     | 24.25       |
| AaveV3Ethereum_GHO_Incident_Report_20231122                                             | 0.385     | 24.191      |
| AaveV3Ethereum_GauntletAaveRenewal2023_20231128                                         | 1.232     | 23.344      |
| AaveV3Ethereum_GauntletRecommendationToReactivateCRVBorrowingOnV3_20231127              | 3.882     | 20.694      |
| AaveV3Ethereum_GhoIncidentReport_20231113                                               | 1.098     | 23.478      |
| AaveV3Ethereum_IncreaseGHOBorrowRate100BpsTo635OnAaveV3_20231205                        | 0.324     | 24.252      |
| AaveV3Ethereum_IncreaseGHOBorrowRate_20231121                                           | 0.326     | 24.25       |
| AaveV3Ethereum_IncreaseStablecoinOptimalBorrowRates_20231113                            | 4.417     | 20.159      |
| AaveV3Ethereum_Patch_20240104                                                           | 0.52      | 24.056      |
| AaveV3Ethereum_RequestForBountyPayoutDecember2023_20231213                              | 0.891     | 23.685      |
| AaveV3Ethereum_SecurityBudgetDec2023_20231218                                           | 0.714     | 23.862      |
| AaveV3Ethereum_StablecoinIRCurvesUpdates_20231221                                       | 4.668     | 19.908      |
| AaveV3Ethereum_TokenLogicFunding_20231114                                               | 0.423     | 24.153      |
| AaveV3Ethereum_TokenLogicKarpatkeyServiceProviderPartnership_20231207                   | 1.243     | 23.333      |
| AaveV3Ethereum_TransferAURAToGLCSafe_20231123                                           | 0.514     | 24.062      |
| AaveV3Ethereum_TreasuryManagementAddToRETHHoldingResubmission_20231123                  | 0.946     | 23.63       |
| AaveV3Ethereum_TreasuryManagementAddToRETHHolding_20231103                              | 1.928     | 22.648      |
| AaveV3Ethereum_UpgradeAaveV3ETHPooolWETHParameters_20231031                             | 3.671     | 20.905      |
| AaveV3Fantom                                                                            | 0.086     | 24.49       |
| AaveV3FantomAssets                                                                      | 0.086     | 24.49       |
| AaveV3FantomEModes                                                                      | 0.086     | 24.49       |
| AaveV3GenericPatch_20240104                                                             | 0.52      | 24.056      |
| AaveV3Gnosis                                                                            | 0.086     | 24.49       |
| AaveV3GnosisAssets                                                                      | 0.086     | 24.49       |
| AaveV3GnosisEModes                                                                      | 0.086     | 24.49       |
| AaveV3Gnosis_AaveV3GnosisActivation_20231026                                            | 8.802     | 15.774      |
| AaveV3Gnosis_Patch_20240104                                                             | 0.52      | 24.056      |
| AaveV3Gnosis_StablecoinIRCurvesUpdates_20231221                                         | 3.911     | 20.665      |
| AaveV3Gnosis_UpdateGNORiskParametersOnAaveV3GnosisPool_20231213                         | 4.097     | 20.479      |
| AaveV3Harmony                                                                           | 0.086     | 24.49       |
| AaveV3HarmonyAssets                                                                     | 0.086     | 24.49       |
| AaveV3HarmonyEModes                                                                     | 0.086     | 24.49       |
| AaveV3Harmony_FreezePriceFeedsOnV3Harmony_20231122                                      | 3.097     | 21.479      |
| AaveV3Metis                                                                             | 0.086     | 24.49       |
| AaveV3MetisAssets                                                                       | 0.086     | 24.49       |
| AaveV3MetisEModes                                                                       | 0.086     | 24.49       |
| AaveV3Metis_IncreaseStablecoinOptimalBorrowRates_20231113                               | 3.914     | 20.662      |
| AaveV3Metis_StablecoinIRCurvesUpdates_20231221                                          | 3.91      | 20.666      |
| AaveV3Metis_UpdatePriceOracleSentinel_20231125                                          | 0.291     | 24.285      |
| AaveV3Optimism                                                                          | 0.086     | 24.49       |
| AaveV3OptimismAssets                                                                    | 0.086     | 24.49       |
| AaveV3OptimismEModes                                                                    | 0.086     | 24.49       |
| AaveV3Optimism_Disable_Stable_Borrows_20231104                                          | 3.851     | 20.725      |
| AaveV3Optimism_IncreaseStablecoinOptimalBorrowRates_20231113                            | 4.919     | 19.657      |
| AaveV3Optimism_MAIMIMATICDeprecation20231031_20231031                                   | 4.228     | 20.348      |
| AaveV3Optimism_OnboardNativeUSDCToAaveV3Markets_20231205                                | 4.658     | 19.918      |
| AaveV3Optimism_OnboardNativeUSDCToAaveV3Optimism_20231122                               | 5.551     | 19.025      |
| AaveV3Optimism_Patch_20240104                                                           | 0.52      | 24.056      |
| AaveV3Optimism_StablecoinIRCurvesUpdates_20231221                                       | 4.919     | 19.657      |
| AaveV3Optimism_UpdatePriceOracleSentinel_20231125                                       | 0.291     | 24.285      |
| AaveV3Polygon                                                                           | 0.086     | 24.49       |
| AaveV3PolygonAssets                                                                     | 0.086     | 24.49       |
| AaveV3PolygonEModes                                                                     | 0.086     | 24.49       |
| AaveV3Polygon_ChaosLabsCRVAaveV3PolygonLTReduction_20231106                             | 3.416     | 21.16       |
| AaveV3Polygon_Disable_Stable_Borrows_20231104                                           | 4.139     | 20.437      |
| AaveV3Polygon_GauntletCapRecommendationsForPolygonV3_20231120                           | 3.392     | 21.184      |
| AaveV3Polygon_GauntletRecommendationToLowerStMATICMaticXNonEmodeLTPt2_20231117          | 3.571     | 21.005      |
| AaveV3Polygon_GauntletRecommendationToReactivateCRVBorrowingOnV3_20231127               | 3.615     | 20.961      |
| AaveV3Polygon_IncreaseStablecoinOptimalBorrowRates_20231113                             | 4.416     | 20.16       |
| AaveV3Polygon_IncreaseSupplyAndBorrowCapsAt100UtilizationDecember2023_20231205          | 3.333     | 21.243      |
| AaveV3Polygon_MAIMIMATICDeprecation20231031_20231031                                    | 4.226     | 20.35       |
| AaveV3Polygon_OnboardNativeUSDCToAaveV3Markets_20231205                                 | 6.129     | 18.447      |
| AaveV3Polygon_Patch_20240104                                                            | 0.52      | 24.056      |
| AaveV3Polygon_StablecoinIRCurvesUpdates_20231221                                        | 4.416     | 20.16       |
| AaveV3Polygon_WMATICInterestRateUpdate_20231112                                         | 3.662     | 20.914      |
| Address                                                                                 | 0.086     | 24.49       |
| AddressesToMigrate                                                                      | 0.086     | 24.49       |
| CertoraProposalDeployer                                                                 | 0.086     | 24.49       |
| ChainHelpers                                                                            | 0.086     | 24.49       |
| ChainIds                                                                                | 0.086     | 24.49       |
| ConfiguratorInputTypes                                                                  | 0.086     | 24.49       |
| Create2Utils                                                                            | 0.164     | 24.412      |
| DataTypes                                                                               | 0.086     | 24.49       |
| DeploymentHelper                                                                        | 0.086     | 24.49       |
| EngineFlags                                                                             | 0.086     | 24.49       |
| Errors                                                                                  | 4.714     | 19.862      |
| GovHelpers                                                                              | 0.086     | 24.49       |
| GovV3Helpers                                                                            | 2.622     | 21.954      |
| GovV3StorageHelpers                                                                     | 0.086     | 24.49       |
| GovernanceV3Arbitrum                                                                    | 0.086     | 24.49       |
| GovernanceV3Avalanche                                                                   | 0.086     | 24.49       |
| GovernanceV3BNB                                                                         | 0.086     | 24.49       |
| GovernanceV3Base                                                                        | 0.086     | 24.49       |
| GovernanceV3Ethereum                                                                    | 0.086     | 24.49       |
| GovernanceV3Gnosis                                                                      | 0.086     | 24.49       |
| GovernanceV3Metis                                                                       | 0.086     | 24.49       |
| GovernanceV3Optimism                                                                    | 0.086     | 24.49       |
| GovernanceV3Polygon                                                                     | 0.086     | 24.49       |
| HelperStructs                                                                           | 0.086     | 24.49       |
| IpfsUtils                                                                               | 0.086     | 24.49       |
| MiscEthereum                                                                            | 0.086     | 24.49       |
| MiscPolygon                                                                             | 0.086     | 24.49       |
| MockExecutor                                                                            | 0.437     | 24.139      |
| PayloadsControllerUtils                                                                 | 0.086     | 24.49       |
| PoolAddresses                                                                           | 0.357     | 24.219      |
| ProxyHelpers                                                                            | 0.086     | 24.49       |
| ReserveConfiguration                                                                    | 0.171     | 24.405      |
| SafeERC20                                                                               | 0.086     | 24.49       |
| StdStyle                                                                                | 0.086     | 24.49       |
| StorageHelpers                                                                          | 0.086     | 24.49       |
| WadRayMath                                                                              | 0.086     | 24.49       |
| console                                                                                 | 0.086     | 24.49       |
| console2                                                                                | 0.086     | 24.49       |
| mock_proposal                                                                           | 3.653     | 20.923      |
| safeconsole                                                                             | 0.086     | 24.49       |
| stdError                                                                                | 0.591     | 23.985      |
| stdJson                                                                                 | 0.086     | 24.49       |
| stdMath                                                                                 | 0.086     | 24.49       |
| stdStorage                                                                              | 0.086     | 24.49       |
| stdStorageSafe                                                                          | 0.086     | 24.49       |
Test success 🌈
No files changed, compilation skipped

Running 1 test for src/20240104_Multi_Patch/AaveV3Arbitrum_Patch_20240104.t.sol:AaveV3Arbitrum_Patch_20240104_Test
[PASS] testFail_defaultProposalExecution() (gas: 71365)
Test result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.13s
 
Ran 1 test suites: 1 tests passed, 0 failed, 0 skipped (1 total tests)
No files changed, compilation skipped

Running 1 test for src/20240104_Multi_Patch/AaveV3Avalanche_Patch_20240104.t.sol:AaveV3Avalanche_Patch_20240104_Test
[PASS] testFail_defaultProposalExecution() (gas: 71319)
Test result: ok. 1 passed; 0 failed; 0 skipped; finished in 255.42ms
 
Ran 1 test suites: 1 tests passed, 0 failed, 0 skipped (1 total tests)
No files changed, compilation skipped

Running 1 test for src/20240104_Multi_Patch/AaveV3Base_Patch_20240104.t.sol:AaveV3Base_Patch_20240104_Test
[PASS] testFail_defaultProposalExecution() (gas: 71306)
Test result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.27s
 
Ran 1 test suites: 1 tests passed, 0 failed, 0 skipped (1 total tests)
No files changed, compilation skipped

Running 1 test for src/20240104_Multi_Patch/AaveV3Ethereum_Patch_20240104.t.sol:AaveV3Ethereum_Patch_20240104_Test
[PASS] testFail_defaultProposalExecution() (gas: 71273)
Test result: ok. 1 passed; 0 failed; 0 skipped; finished in 975.52ms
 
Ran 1 test suites: 1 tests passed, 0 failed, 0 skipped (1 total tests)
No files changed, compilation skipped

Running 1 test for src/20240104_Multi_Patch/AaveV3Gnosis_Patch_20240104.t.sol:AaveV3Gnosis_Patch_20240104_Test
[PASS] testFail_defaultProposalExecution() (gas: 71359)
Test result: ok. 1 passed; 0 failed; 0 skipped; finished in 4.13s
 
Ran 1 test suites: 1 tests passed, 0 failed, 0 skipped (1 total tests)
No files changed, compilation skipped

Running 1 test for src/20240104_Multi_Patch/AaveV3Optimism_Patch_20240104.t.sol:AaveV3Optimism_Patch_20240104_Test
[PASS] testFail_defaultProposalExecution() (gas: 71342)
Test result: ok. 1 passed; 0 failed; 0 skipped; finished in 960.91ms
 
Ran 1 test suites: 1 tests passed, 0 failed, 0 skipped (1 total tests)
No files changed, compilation skipped

Running 1 test for src/20240104_Multi_Patch/AaveV3Polygon_Patch_20240104.t.sol:AaveV3Polygon_Patch_20240104_Test
[PASS] testFail_defaultProposalExecution() (gas: 71296)
Test result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.12s
 
Ran 1 test suites: 1 tests passed, 0 failed, 0 skipped (1 total tests)

Please sign in to comment.