Skip to content

Commit

Permalink
feat: extend listing generator with emission admin (#476)
Browse files Browse the repository at this point in the history
* feat: extend listing generator with emission admin

* Update generator/features/assetListing.ts

Co-authored-by: Harsh Pandey <[email protected]>

* update snapshot tests

---------

Co-authored-by: Harsh Pandey <[email protected]>
  • Loading branch information
Rozengarden and brotherlymite authored Oct 7, 2024
1 parent 226a629 commit 43466b4
Show file tree
Hide file tree
Showing 4 changed files with 46 additions and 21 deletions.
11 changes: 7 additions & 4 deletions generator/features/__snapshots__/assetListing.spec.ts.snap
Original file line number Diff line number Diff line change
Expand Up @@ -571,12 +571,14 @@ exports[`feature: assetListing > should return reasonable code 1`] = `
},
"code": {
"constants": [
"address public constant PSP = 0xcAfE001067cDEF266AfB7Eb5A286dCFD277f3dE5;",
"uint256 public constant PSP_SEED_AMOUNT = 1e18;",
"address public constant PSP = 0xcAfE001067cDEF266AfB7Eb5A286dCFD277f3dE5;
uint256 public constant PSP_SEED_AMOUNT = 1e18;
",
],
"execute": [
"IERC20(PSP).forceApprove(address(AaveV3Ethereum.POOL), PSP_SEED_AMOUNT);
AaveV3Ethereum.POOL.supply(PSP, PSP_SEED_AMOUNT, address(AaveV3Ethereum.COLLECTOR), 0);",
AaveV3Ethereum.POOL.supply(PSP, PSP_SEED_AMOUNT, address(AaveV3Ethereum.COLLECTOR), 0);
",
],
"fn": [
"function newListings() public pure override returns (IAaveV3ConfigEngine.Listing[] memory) {
Expand Down Expand Up @@ -618,7 +620,8 @@ exports[`feature: assetListing > should return reasonable code 1`] = `
GovV3Helpers.executePayload(vm,address(proposal));
(address aTokenAddress, , ) = AaveV3Ethereum.AAVE_PROTOCOL_DATA_PROVIDER.getReserveTokensAddresses(proposal.PSP());
assertGe(IERC20(aTokenAddress).balanceOf(address(AaveV3Ethereum.COLLECTOR)), 10 ** 18);
}",
}
",
],
},
}
Expand Down
54 changes: 37 additions & 17 deletions generator/features/assetListing.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ import {fetchRateStrategyParamsV3} from './rateUpdates';
import {fetchCollateralUpdate} from './collateralsUpdates';
import {fetchCapsUpdate} from './capsUpdates';
import {Listing, ListingWithCustomImpl, TokenImplementations} from './types';
import {CHAIN_TO_CHAIN_ID, getPoolChain} from '../common';
import {getContract} from 'viem';
import {CHAIN_TO_CHAIN_ID, getPoolChain, getExplorerLink} from '../common';
import {getContract, isAddress} from 'viem';
import {confirm} from '@inquirer/prompts';
import {TEST_EXECUTE_PROPOSAL} from '../utils/constants';
import {addressPrompt, translateJsAddressToSol} from '../prompts/addressPrompt';
Expand Down Expand Up @@ -79,6 +79,7 @@ async function fetchListing(pool: PoolIdentifier): Promise<Listing> {
pool,
}),
asset,
admin: await addressPrompt({message: 'Emission admin address (optional)', required: false}),
};
}

Expand Down Expand Up @@ -134,17 +135,24 @@ export const assetListing: FeatureModule<Listing[]> = {
build({pool, cfg}) {
const response: CodeArtifact = {
code: {
constants: cfg
.map((cfg) => [
`address public constant ${cfg.assetSymbol} = ${translateJsAddressToSol(cfg.asset)};`,
`uint256 public constant ${cfg.assetSymbol}_SEED_AMOUNT = 1e${cfg.decimals};`,
])
.flat(),
execute: cfg.map(
(cfg) =>
`IERC20(${cfg.assetSymbol}).forceApprove(address(${pool}.POOL), ${cfg.assetSymbol}_SEED_AMOUNT);
${pool}.POOL.supply(${cfg.assetSymbol}, ${cfg.assetSymbol}_SEED_AMOUNT, address(${pool}.COLLECTOR), 0);`,
),
constants: cfg.map((cfg) => {
let listingConstant = `address public constant ${cfg.assetSymbol} = ${translateJsAddressToSol(cfg.asset)};\n`;
listingConstant += `uint256 public constant ${cfg.assetSymbol}_SEED_AMOUNT = 1e${cfg.decimals};\n`;
if (isAddress(cfg.admin)) {
listingConstant += `address public constant ${cfg.assetSymbol}_LM_ADMIN = ${translateJsAddressToSol(cfg.admin)};\n`;
}
return listingConstant;
}),
execute: cfg.map((cfg) => {
let listingExe = `IERC20(${cfg.assetSymbol}).forceApprove(address(${pool}.POOL), ${cfg.assetSymbol}_SEED_AMOUNT);\n`;
listingExe += `${pool}.POOL.supply(${cfg.assetSymbol}, ${cfg.assetSymbol}_SEED_AMOUNT, address(${pool}.COLLECTOR), 0);\n`;
if (isAddress(cfg.admin)) {
listingExe += `\n(address a${cfg.assetSymbol}, , ) = ${pool}.AAVE_PROTOCOL_DATA_PROVIDER.getReserveTokensAddresses(${cfg.assetSymbol});\n`;
listingExe += `IEmissionManager(${pool}.EMISSION_MANAGER).setEmissionAdmin(${cfg.assetSymbol}, ${cfg.assetSymbol}_ADMIN);\n`;
listingExe += `IEmissionManager(${pool}.EMISSION_MANAGER).setEmissionAdmin(a${cfg.assetSymbol}, ${cfg.assetSymbol}_ADMIN);\n`;
}
return listingExe;
}),
fn: [
`function newListings() public pure override returns (IAaveV3ConfigEngine.Listing[] memory) {
IAaveV3ConfigEngine.Listing[] memory listings = new IAaveV3ConfigEngine.Listing[](${
Expand All @@ -164,13 +172,22 @@ export const assetListing: FeatureModule<Listing[]> = {
],
},
test: {
fn: cfg.map(
(cfg) => `function test_collectorHas${cfg.assetSymbol}Funds() public {
fn: cfg.map((cfg) => {
let listingTest = `function test_collectorHas${cfg.assetSymbol}Funds() public {
${TEST_EXECUTE_PROPOSAL}
(address aTokenAddress, , ) = ${pool}.AAVE_PROTOCOL_DATA_PROVIDER.getReserveTokensAddresses(proposal.${cfg.assetSymbol}());
assertGe(IERC20(aTokenAddress).balanceOf(address(${pool}.COLLECTOR)), 10 ** ${cfg.decimals});
}`,
),
}\n`;
if (isAddress(cfg.admin)) {
listingTest += `\nfunction test_${cfg.assetSymbol}Admin() public {
${TEST_EXECUTE_PROPOSAL}
(address a${cfg.assetSymbol}, , ) = ${pool}.AAVE_PROTOCOL_DATA_PROVIDER.getReserveTokensAddresses(proposal.${cfg.assetSymbol}());
assertEq(IEmissionManager(${pool}.EMISSION_MANAGER).getEmissionAdmin(proposal.${cfg.assetSymbol}()), proposal.${cfg.assetSymbol}_ADMIN());
assertEq(IEmissionManager(${pool}.EMISSION_MANAGER).getEmissionAdmin(a${cfg.assetSymbol}), proposal.${cfg.assetSymbol}_ADMIN());
}\n`;
}
return listingTest;
}),
},
aip: {
specification: cfg.map((cfg) => {
Expand Down Expand Up @@ -215,6 +232,9 @@ export const assetListing: FeatureModule<Listing[]> = {
listingTemplate += `| Siloed Borrowing | ${cfg.withSiloedBorrowing} |\n`;
listingTemplate += `| Borrowable in Isolation | ${cfg.borrowableInIsolation} |\n`;
listingTemplate += `| Oracle | ${cfg.priceFeed} |\n`;
if (isAddress(cfg.admin)) {
listingTemplate += `\nAdditionaly [${cfg.admin}](${getExplorerLink(CHAIN_TO_CHAIN_ID[getPoolChain(pool)], cfg.admin)}) has been set as the emission admin for ${cfg.assetSymbol} and the corresponding aToken.\n`;
}
return listingTemplate;
}),
},
Expand Down
1 change: 1 addition & 0 deletions generator/features/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@ export interface Listing
rateStrategyParams: RateStrategyParams;
eModeCategory: string;
decimals: number;
admin?: Hex | '';
}

export interface ListingWithCustomImpl {
Expand Down
1 change: 1 addition & 0 deletions generator/utils/importsResolver.ts
Original file line number Diff line number Diff line change
Expand Up @@ -104,5 +104,6 @@ export function prefixWithImports(code: string) {
if (findMatch(code, 'IEmissionManager')) {
imports += `import {IEmissionManager} from 'aave-v3-periphery/contracts/rewards/interfaces/IEmissionManager.sol';\n`;
}

return imports + code;
}

1 comment on commit 43466b4

@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 (8905af3 2024-10-07T00:22:53.772323752Z)
Build log
Compiling 487 files with Solc 0.8.20
Solc 0.8.20 finished in 345.00s
Compiler run successful with warnings:
Warning (2072): Unused local variable.
  --> src/20240603_Multi_MayFundingUpdate/AaveV3Arbitrum_MayFundingUpdate_20240603.t.sol:48:5:
   |
48 |     uint256 collectorUsdcBalanceBefore = IERC20(AaveV3ArbitrumAssets.USDC_UNDERLYING).balanceOf(
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Warning (2072): Unused local variable.
  --> src/20240603_Multi_MayFundingUpdate/AaveV3Arbitrum_MayFundingUpdate_20240603.t.sol:51:5:
   |
51 |     uint256 collectorAusdcBalanceBefore = IERC20(AaveV3ArbitrumAssets.USDC_A_TOKEN).balanceOf(
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Warning (2072): Unused local variable.
  --> src/20240603_Multi_MayFundingUpdate/AaveV3Optimism_MayFundingUpdate_20240603.t.sol:41:5:
   |
41 |     uint256 collectorUsdcBalanceBefore = IERC20(AaveV3OptimismAssets.USDC_UNDERLYING).balanceOf(
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Warning (2072): Unused local variable.
  --> src/20240603_Multi_MayFundingUpdate/AaveV3Optimism_MayFundingUpdate_20240603.t.sol:44:5:
   |
44 |     uint256 collectorAusdcBalanceBefore = IERC20(AaveV3OptimismAssets.USDC_A_TOKEN).balanceOf(
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Warning (2018): Function state mutability can be restricted to pure
   --> lib/aave-helpers/src/ProtocolV2TestBase.sol:663:3:
    |
663 |   function _logReserveConfig(ReserveConfig memory config) internal view {
    |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (2018): Function state mutability can be restricted to view
   --> src/20240902_AaveV3EthereumEtherFi_EtherFiEthereumActivation/AaveV3EthereumEtherFi_EtherFiEthereumActivation_20240902.t.sol:101:3:
    |
101 |   function test_check_etherfi_v3_libraries_against_lido_v3_instance() public {
    |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (4591): There are more than 256 warnings. Ignoring the rest.

| Contract                                                                                 | Size (B) | Margin (B) |
|------------------------------------------------------------------------------------------|----------|------------|
| AaveGovernanceV2                                                                         |       44 |     24,532 |
| AaveSwapper                                                                              |    5,464 |     19,112 |
| AaveV2Avalanche                                                                          |       44 |     24,532 |
| AaveV2AvalancheAssets                                                                    |       44 |     24,532 |
| AaveV2Avalanche_RenewalOfAaveGuardian2024_20240708                                       |      348 |     24,228 |
| AaveV2Avalanche_ReserveFactorUpdatesAugust_20240726                                      |      988 |     23,588 |
| AaveV2Avalanche_ReserveFactorUpdatesLateAugust_20240821                                  |      988 |     23,588 |
| AaveV2Avalanche_ReserveFactorUpdatesLateSeptember_20240916                               |      988 |     23,588 |
| AaveV2Avalanche_ReserveFactorUpdatesMidJuly_20240711                                     |      988 |     23,588 |
| AaveV2Ethereum                                                                           |       44 |     24,532 |
| AaveV2EthereumAMM                                                                        |       44 |     24,532 |
| AaveV2EthereumAMMAssets                                                                  |       44 |     24,532 |
| AaveV2EthereumAMM_RenewalOfAaveGuardian2024_20240708                                     |      348 |     24,228 |
| AaveV2EthereumAssets                                                                     |       44 |     24,532 |
| AaveV2Ethereum_RenewalOfAaveGuardian2024_20240708                                        |      348 |     24,228 |
| AaveV2Ethereum_ReserveFactorUpdatesAugust_20240726                                       |      988 |     23,588 |
| AaveV2Ethereum_ReserveFactorUpdatesLateAugust_20240821                                   |      988 |     23,588 |
| AaveV2Ethereum_ReserveFactorUpdatesLateSeptember_20240916                                |      988 |     23,588 |
| AaveV2Ethereum_ReserveFactorUpdatesMidJuly_20240711                                      |      988 |     23,588 |
| AaveV2Ethereum_StablecoinIRCurveAmendment_20240829                                       |    1,811 |     22,765 |
| AaveV2Polygon                                                                            |       44 |     24,532 |
| AaveV2PolygonAssets                                                                      |       44 |     24,532 |
| AaveV2Polygon_RenewalOfAaveGuardian2024_20240708                                         |      348 |     24,228 |
| AaveV2Polygon_ReserveFactorUpdatesAugust_20240726                                        |    2,384 |     22,192 |
| AaveV2Polygon_ReserveFactorUpdatesLateAugust_20240821                                    |    2,384 |     22,192 |
| AaveV2Polygon_ReserveFactorUpdatesLateSeptember_20240916                                 |    2,384 |     22,192 |
| AaveV2Polygon_ReserveFactorUpdatesMidJuly_20240711                                       |    2,384 |     22,192 |
| AaveV3Arbitrum                                                                           |       44 |     24,532 |
| AaveV3ArbitrumAssets                                                                     |       44 |     24,532 |
| AaveV3ArbitrumEModes                                                                     |       44 |     24,532 |
| AaveV3ArbitrumExternalLibraries                                                          |       44 |     24,532 |
| AaveV3Arbitrum_AddFlashBorrowers_20240906                                                |      242 |     24,334 |
| AaveV3Arbitrum_ChaosLabsRiskParameterUpdatesLTVAndLTAlignment_20240913                   |    3,894 |     20,682 |
| AaveV3Arbitrum_HarmonizeWeETHParameters_20240911                                         |    3,315 |     21,261 |
| AaveV3Arbitrum_IncreaseGHOFacilitatorCapacity_20240722                                   |    3,481 |     21,095 |
| AaveV3Arbitrum_MayFundingUpdate_20240603                                                 |    1,238 |     23,338 |
| AaveV3Arbitrum_ReduceReserveFactorOnWstETH_20240716                                      |    3,324 |     21,252 |
| AaveV3Arbitrum_RenewalOfAaveGuardian2024_20240708                                        |    1,062 |     23,514 |
| AaveV3Arbitrum_ReserveFactorUpdatesAugust_20240726                                       |    3,324 |     21,252 |
| AaveV3Arbitrum_ReserveFactorUpdatesLateAugust_20240821                                   |    3,324 |     21,252 |
| AaveV3Arbitrum_ReserveFactorUpdatesLateSeptember_20240916                                |    3,324 |     21,252 |
| AaveV3Arbitrum_ReserveFactorUpdatesMidJuly_20240711                                      |    3,324 |     21,252 |
| AaveV3Arbitrum_StablecoinIRCurveAmendment_20240829                                       |    4,059 |     20,517 |
| AaveV3Avalanche                                                                          |       44 |     24,532 |
| AaveV3AvalancheAssets                                                                    |       44 |     24,532 |
| AaveV3AvalancheEModes                                                                    |       44 |     24,532 |
| AaveV3AvalancheExternalLibraries                                                         |       44 |     24,532 |
| AaveV3Avalanche_ChaosLabsRiskParameterUpdatesLTVAndLTAlignment_20240913                  |    3,748 |     20,828 |
| AaveV3Avalanche_ChaosLabsRiskParameterUpdatesSAVAXLTLTVAdjustment_20240920               |    3,570 |     21,006 |
| AaveV3Avalanche_IncreaseWETHOptimalRatio_20240818                                        |    3,326 |     21,250 |
| AaveV3Avalanche_RenewalOfAaveGuardian2024_20240708                                       |    1,062 |     23,514 |
| AaveV3Avalanche_RiskParameterUpdatesSAVAXOnAaveV3Avalanche_20240724                      |    3,304 |     21,272 |
| AaveV3Avalanche_StablecoinIRCurveAmendment_20240829                                      |    3,762 |     20,814 |
| AaveV3Avalanche_UpdatePoRExecutorV3RobotCancel_20240617                                  |      242 |     24,334 |
| AaveV3Avalanche_UpdatePoRExecutorV3RobotRegister_20240617                                |    2,250 |     22,326 |
| AaveV3BNB                                                                                |       44 |     24,532 |
| AaveV3BNBAssets                                                                          |       44 |     24,532 |
| AaveV3BNBEModes                                                                          |       44 |     24,532 |
| AaveV3BNBExternalLibraries                                                               |       44 |     24,532 |
| AaveV3BNB_ChaosLabsRiskParameterUpdatesDecreaseSupplyAndBorrowCapsOnAaveV3_20240906      |    3,202 |     21,374 |
| AaveV3BNB_ChaosLabsRiskParameterUpdatesLTVAndLTAlignment_20240913                        |    3,309 |     21,267 |
| AaveV3BNB_RenewalOfAaveGuardian2024_20240708                                             |    1,062 |     23,514 |
| AaveV3BNB_StablecoinIRCurveAmendment_20240829                                            |    3,619 |     20,957 |
| AaveV3Base                                                                               |       44 |     24,532 |
| AaveV3BaseAssets                                                                         |       44 |     24,532 |
| AaveV3BaseEModes                                                                         |       44 |     24,532 |
| AaveV3BaseExternalLibraries                                                              |       44 |     24,532 |
| AaveV3Base_ChaosLabsRiskParameterUpdatesLTVAndLTAlignment_20240913                       |    3,441 |     21,135 |
| AaveV3Base_HarmonizeWeETHParameters_20240911                                             |    3,311 |     21,265 |
| AaveV3Base_IncreaseWETHOptimalRatio_20240818                                             |    3,308 |     21,268 |
| AaveV3Base_MeritBaseIncentivesAndSuperfestMatching_20240812                              |    2,231 |     22,345 |
| AaveV3Base_OnboardCbBTCOnMainnetAndBase_20240917                                         |    4,621 |     19,955 |
| AaveV3Base_ReduceReserveFactorOnWstETH_20240716                                          |    3,320 |     21,256 |
| AaveV3Base_RenewalOfAaveGuardian2024_20240708                                            |    1,062 |     23,514 |
| AaveV3Base_ReserveFactorUpdatesAugust_20240726                                           |    3,320 |     21,256 |
| AaveV3Base_ReserveFactorUpdatesLateAugust_20240821                                       |    3,320 |     21,256 |
| AaveV3Base_ReserveFactorUpdatesLateSeptember_20240916                                    |    3,320 |     21,256 |
| AaveV3Base_ReserveFactorUpdatesMidJuly_20240711                                          |    3,320 |     21,256 |
| AaveV3Base_StablecoinIRCurveAmendment_20240829                                           |    3,309 |     21,267 |
| AaveV3Ethereum                                                                           |       44 |     24,532 |
| AaveV3EthereumAssets                                                                     |       44 |     24,532 |
| AaveV3EthereumEModes                                                                     |       44 |     24,532 |
| AaveV3EthereumEtherFi                                                                    |       44 |     24,532 |
| AaveV3EthereumEtherFiAssets                                                              |       44 |     24,532 |
| AaveV3EthereumEtherFiEModes                                                              |       44 |     24,532 |
| AaveV3EthereumEtherFiExternalLibraries                                                   |       44 |     24,532 |
| AaveV3EthereumEtherFi_AddFlashBorrowers_20240906                                         |      557 |     24,019 |
| AaveV3EthereumEtherFi_EtherFiEthereumActivation_20240902                                 |    6,828 |     17,748 |
| AaveV3EthereumExternalLibraries                                                          |       44 |     24,532 |
| AaveV3EthereumLido                                                                       |       44 |     24,532 |
| AaveV3EthereumLidoAssets                                                                 |       44 |     24,532 |
| AaveV3EthereumLidoEModes                                                                 |       44 |     24,532 |
| AaveV3EthereumLidoExternalLibraries                                                      |       44 |     24,532 |
| AaveV3EthereumLido_AddFlashBorrowers_20240906                                            |      557 |     24,019 |
| AaveV3EthereumLido_LidoEthereumInstanceActivation_20240720                               |    6,634 |     17,942 |
| AaveV3EthereumLido_OnboardUSDCToAaveV3LidoInstance_20241002                              |    4,620 |     19,956 |
| AaveV3EthereumLido_OnboardUSDSAndSUSDS_20240914                                          |    4,652 |     19,924 |
| AaveV3EthereumLido_SetACIAsEmissionManagerForWstETH_20240923                             |      456 |     24,120 |
| AaveV3EthereumLido_WETHLTV0AaveV3LidoInstance_20240729                                   |    3,306 |     21,270 |
| AaveV3EthereumLido_WstETHBorrowCapReduction_20240913                                     |    3,235 |     21,341 |
| AaveV3Ethereum_AaveLiquidityCommitteeFundingPhaseIV_20240930                             |      336 |     24,240 |
| AaveV3Ethereum_AddFlashBorrowers_20240906                                                |      242 |     24,334 |
| AaveV3Ethereum_ChaosLabsRiskParameterUpdatesDecreaseSupplyAndBorrowCapsOnAaveV3_20240906 |    3,329 |     21,247 |
| AaveV3Ethereum_ChaosLabsRiskParameterUpdatesLTVAndLTAlignment_20240913                   |    3,590 |     20,986 |
| AaveV3Ethereum_EventsGrant2024_20240718                                                  |      336 |     24,240 |
| AaveV3Ethereum_GHOBorrowRateUpdate_20240814                                              |    3,313 |     21,263 |
| AaveV3Ethereum_GhoBorrowRateUpdateAugust2024_20240831                                    |    3,313 |     21,263 |
| AaveV3Ethereum_GhoBorrowRateUpdateSeptember2024_20240912                                 |    3,313 |     21,263 |
| AaveV3Ethereum_HarmonizeWeETHParameters_20240911                                         |    3,315 |     21,261 |
| AaveV3Ethereum_IncreaseGHOFacilitatorCapacity_20240722                                   |      214 |     24,362 |
| AaveV3Ethereum_JulyFundingUpdate_20240729                                                |    4,577 |     19,999 |
| AaveV3Ethereum_MayFundingUpdatePartB_20240917                                            |    4,647 |     19,929 |
| AaveV3Ethereum_MayFundingUpdate_20240603                                                 |    9,177 |     15,399 |
| AaveV3Ethereum_MeritBaseIncentivesAndSuperfestMatching_20240812                          |      326 |     24,250 |
| AaveV3Ethereum_OnboardCbBTCOnMainnetAndBase_20240917                                     |    4,626 |     19,950 |
| AaveV3Ethereum_OnboardTbtc_20240917                                                      |    4,626 |     19,950 |
| AaveV3Ethereum_OnboardUSDSAndSUSDS_20240914                                              |    4,649 |     19,927 |
| AaveV3Ethereum_OrbitProgramRenewalQ32024_20240905                                        |    2,043 |     22,533 |
| AaveV3Ethereum_ReduceReserveFactorOnWstETH_20240716                                      |    3,324 |     21,252 |
| AaveV3Ethereum_RenewalOfAaveGuardian2024_20240708                                        |    1,062 |     23,514 |
| AaveV3Ethereum_RiskParameterUpdatesIncreaseUSDeDebtCeilingOnV3Ethereum_20240801          |    3,304 |     21,272 |
| AaveV3Ethereum_SetACIAsEmissionManagerForUSDSAndAUSDS_20240929                           |    1,562 |     23,014 |
| AaveV3Ethereum_StablecoinIRCurveAmendment_20240829                                       |    4,209 |     20,367 |
| AaveV3Ethereum_TokenLogicKarpatkeyServiceProviderPartnershipPhase2_20240723              |    1,375 |     23,201 |
| AaveV3Ethereum_ToolingUpdateAllowance_20240707                                           |      336 |     24,240 |
| AaveV3Ethereum_UpgradeAllAaveInstancesTo32_20240924                                      |      293 |     24,283 |
| AaveV3Gnosis                                                                             |       44 |     24,532 |
| AaveV3GnosisAssets                                                                       |       44 |     24,532 |
| AaveV3GnosisEModes                                                                       |       44 |     24,532 |
| AaveV3GnosisExternalLibraries                                                            |       44 |     24,532 |
| AaveV3Gnosis_ChaosLabsRiskParameterUpdatesLTVAndLTAlignment_20240913                     |    3,452 |     21,124 |
| AaveV3Gnosis_IncreaseWETHOptimalRatio_20240818                                           |    3,323 |     21,253 |
| AaveV3Gnosis_OnboardUSDCEOnGnosis_20240717                                               |    4,622 |     19,954 |
| AaveV3Gnosis_ReduceReserveFactorOnWstETH_20240716                                        |    3,322 |     21,254 |
| AaveV3Gnosis_RenewalOfAaveGuardian2024_20240708                                          |    1,062 |     23,514 |
| AaveV3Gnosis_ReserveFactorUpdatesLateAugust_20240821                                     |    3,322 |     21,254 |
| AaveV3Gnosis_ReserveFactorUpdatesLateSeptember_20240916                                  |    3,322 |     21,254 |
| AaveV3Gnosis_StablecoinIRCurveAmendment_20240829                                         |    3,610 |     20,966 |
| AaveV3Metis                                                                              |       44 |     24,532 |
| AaveV3MetisAssets                                                                        |       44 |     24,532 |
| AaveV3MetisEModes                                                                        |       44 |     24,532 |
| AaveV3MetisExternalLibraries                                                             |       44 |     24,532 |
| AaveV3Metis_ChaosLabsRiskParameterUpdatesLTVAndLTAlignment_20240913                      |    3,583 |     20,993 |
| AaveV3Metis_EnableMetisAsCollateralOnMetisChain_20240814                                 |    3,417 |     21,159 |
| AaveV3Metis_IncreaseWETHOptimalRatio_20240818                                            |    3,309 |     21,267 |
| AaveV3Metis_RenewalOfAaveGuardian2024_20240708                                           |    1,062 |     23,514 |
| AaveV3Optimism                                                                           |       44 |     24,532 |
| AaveV3OptimismAssets                                                                     |       44 |     24,532 |
| AaveV3OptimismEModes                                                                     |       44 |     24,532 |
| AaveV3OptimismExternalLibraries                                                          |       44 |     24,532 |
| AaveV3Optimism_AddFlashBorrowers_20240906                                                |      242 |     24,334 |
| AaveV3Optimism_ChaosLabsRiskParameterUpdatesDecreaseSupplyAndBorrowCapsOnAaveV3_20240906 |    3,286 |     21,290 |
| AaveV3Optimism_ChaosLabsRiskParameterUpdatesLTVAndLTAlignment_20240913                   |    4,033 |     20,543 |
| AaveV3Optimism_MayFundingUpdate_20240603                                                 |    1,174 |     23,402 |
| AaveV3Optimism_ReduceReserveFactorOnWstETH_20240716                                      |    3,324 |     21,252 |
| AaveV3Optimism_RenewalOfAaveGuardian2024_20240708                                        |    1,062 |     23,514 |
| AaveV3Optimism_ReserveFactorUpdatesAugust_20240726                                       |    3,324 |     21,252 |
| AaveV3Optimism_ReserveFactorUpdatesLateAugust_20240821                                   |    3,324 |     21,252 |
| AaveV3Optimism_ReserveFactorUpdatesLateSeptember_20240916                                |    3,324 |     21,252 |
| AaveV3Optimism_ReserveFactorUpdatesMidJuly_20240711                                      |    3,324 |     21,252 |
| AaveV3Optimism_StablecoinIRCurveAmendment_20240829                                       |    4,059 |     20,517 |
| AaveV3Polygon                                                                            |       44 |     24,532 |
| AaveV3PolygonAssets                                                                      |       44 |     24,532 |
| AaveV3PolygonEModes                                                                      |       44 |     24,532 |
| AaveV3PolygonExternalLibraries                                                           |       44 |     24,532 |
| AaveV3Polygon_ChaosLabsRiskParameterUpdatesLTVAndLTAlignment_20240913                    |    3,759 |     20,817 |
| AaveV3Polygon_IncreaseWETHOptimalRatio_20240818                                          |    3,324 |     21,252 |
| AaveV3Polygon_MayFundingUpdate_20240603                                                  |    4,773 |     19,803 |
| AaveV3Polygon_ReduceReserveFactorOnWstETH_20240716                                       |    3,323 |     21,253 |
| AaveV3Polygon_RenewalOfAaveGuardian2024_20240708                                         |    1,062 |     23,514 |
| AaveV3Polygon_ReserveFactorUpdatesAugust_20240726                                        |    3,323 |     21,253 |
| AaveV3Polygon_ReserveFactorUpdatesLateAugust_20240821                                    |    3,323 |     21,253 |
| AaveV3Polygon_ReserveFactorUpdatesLateSeptember_20240916                                 |    3,323 |     21,253 |
| AaveV3Polygon_ReserveFactorUpdatesMidJuly_20240711                                       |    3,323 |     21,253 |
| AaveV3Polygon_StablecoinIRCurveAmendment_20240829                                        |    4,058 |     20,518 |
| AaveV3Scroll                                                                             |       44 |     24,532 |
| AaveV3ScrollAssets                                                                       |       44 |     24,532 |
| AaveV3ScrollEModes                                                                       |       44 |     24,532 |
| AaveV3ScrollExternalLibraries                                                            |       44 |     24,532 |
| AaveV3Scroll_ChaosLabsRiskParameterUpdatesLTVAndLTAlignment_20240913                     |    3,439 |     21,137 |
| AaveV3Scroll_HarmonizeWeETHParameters_20240911                                           |    3,556 |     21,020 |
| AaveV3Scroll_IncreaseWETHOptimalRatio_20240818                                           |    3,310 |     21,266 |
| AaveV3Scroll_OnboardingWeETHToAaveV3OnScroll_20240731                                    |    4,638 |     19,938 |
| AaveV3Scroll_ReduceReserveFactorOnWstETH_20240716                                        |    3,322 |     21,254 |
| AaveV3Scroll_RenewalOfAaveGuardian2024_20240708                                          |    1,062 |     23,514 |
| AaveV3Scroll_StablecoinIRCurveAmendment_20240829                                         |    3,311 |     21,265 |
| Address                                                                                  |       44 |     24,532 |
| ChainHelpers                                                                             |       44 |     24,532 |
| ChainIds                                                                                 |       44 |     24,532 |
| CollectorUtils                                                                           |       44 |     24,532 |
| ConfiguratorInputTypes                                                                   |       44 |     24,532 |
| Create2Utils                                                                             |      121 |     24,455 |
| Create2UtilsZkSync                                                                       |      104 |     24,472 |
| DataTypes                                                                                |       44 |     24,532 |
| EngineFlags                                                                              |       44 |     24,532 |
| Errors                                                                                   |    4,652 |     19,924 |
| GatewayMock                                                                              |      239 |     24,337 |
| GovV3Helpers                                                                             |    2,518 |     22,058 |
| GovV3StorageHelpers                                                                      |       44 |     24,532 |
| GovernanceGuardians                                                                      |      292 |     24,284 |
| GovernanceV3Arbitrum                                                                     |       44 |     24,532 |
| GovernanceV3Avalanche                                                                    |       44 |     24,532 |
| GovernanceV3BNB                                                                          |       44 |     24,532 |
| GovernanceV3Base                                                                         |       44 |     24,532 |
| GovernanceV3Ethereum                                                                     |       44 |     24,532 |
| GovernanceV3Gnosis                                                                       |       44 |     24,532 |
| GovernanceV3Metis                                                                        |       44 |     24,532 |
| GovernanceV3Optimism                                                                     |       44 |     24,532 |
| GovernanceV3Polygon                                                                      |       44 |     24,532 |
| GovernanceV3PolygonZkEvm                                                                 |       44 |     24,532 |
| GovernanceV3Scroll                                                                       |       44 |     24,532 |
| GovernanceV3ZkSync                                                                       |       44 |     24,532 |
| IpfsUtils                                                                                |       44 |     24,532 |
| MiscArbitrum                                                                             |       44 |     24,532 |
| MiscAvalanche                                                                            |       44 |     24,532 |
| MiscBNB                                                                                  |       44 |     24,532 |
| MiscBase                                                                                 |       44 |     24,532 |
| MiscEthereum                                                                             |       44 |     24,532 |
| MiscGnosis                                                                               |       44 |     24,532 |
| MiscMetis                                                                                |       44 |     24,532 |
| MiscOptimism                                                                             |       44 |     24,532 |
| MiscPolygon                                                                              |       44 |     24,532 |
| MiscScroll                                                                               |       44 |     24,532 |
| OrbitProgramData                                                                         |      484 |     24,092 |
| Payloads                                                                                 |       44 |     24,532 |
| PayloadsControllerUtils                                                                  |       44 |     24,532 |
| ProtocolGuardians                                                                        |      292 |     24,284 |
| ProxyHelpers                                                                             |       44 |     24,532 |
| RenewalV2BasePayload                                                                     |      348 |     24,228 |
| RenewalV3BasePayload                                                                     |    1,062 |     23,514 |
| ReserveConfiguration                                                                     |      128 |     24,448 |
| RewardsDataTypes                                                                         |       44 |     24,532 |
| SafeCast                                                                                 |       44 |     24,532 |
| SafeERC20                                                                                |       44 |     24,532 |
| StorageHelpers                                                                           |       44 |     24,532 |
| TestNetChainIds                                                                          |       44 |     24,532 |
| WadRayMath                                                                               |       44 |     24,532 |
Test success 🌈

Please sign in to comment.