Skip to content

Commit

Permalink
Aave Funding Updates (#33)
Browse files Browse the repository at this point in the history
* feat: add payload to deposit into v3

* feat: add polygon bridge payload

* fix: update tusd oracle to usd based

* feat: add tests for swaps

* chore: tighten checks on numbers in emits

* feat: add withdrawal from arc

* chore: rearrange tests

* chore: remove usdt migration

* chore: update readme

* feat: withdraw arc poc

* feat: add busd swap

* Update src/20231102_Multi_AaveFundingUpdates/AaveFundingUpdates_20231102.s.sol

* chore: update block for tests

* feat: update to use gov v3 helpers

* feat: update README with better description and easier migration on payload

* chore: update readme

* feat: add payload addresses

---------

Co-authored-by: Lukas <lukasstrassel@googlemail.com>
  • Loading branch information
Fermin 'Piscu' Carranza and sakulstra committed Nov 27, 2023
1 parent 0dcd8d0 commit b45e67c
Show file tree
Hide file tree
Showing 8 changed files with 661 additions and 1 deletion.
2 changes: 1 addition & 1 deletion lib/aave-helpers
48 changes: 48 additions & 0 deletions src/20231102_Multi_AaveFundingUpdates/AaveFundingUpdates.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
---
title: "Aave Funding Updates"
author: "TokenLogic"
discussions: "https://governance.aave.com/t/arfc-aave-funding-update/15194"
---

## Simple Summary

This AIP aims to consolidate Aave DAO's stablecoin holdings. It is divided into different parts that are detailed below. Part one is depositing DAI into aEthDAI, part two is migrating aDAI and aUSDT into aEthDAI and aEthUSDT, part three bridges assets from Polygon to Mainnet and part four swaps some holdings into GHO.

## Motivation

This proposal intends to ensure the DAO is well capitalised. A separate DAO budget publication will be shared during Q4 2023.

The DAO has sufficient USDC, DAI and USDT deposited across the various instances of Aave Protocol to support existing streams and the AURA purchase 3.

However, with the emergence of new service provider proposal expected, the DAO needs to adjust its stable coin holdings. This publication supports transferring additional funds from Polygon to Mainnet and acquiring GHO on the market to ensure the DAO is well capitalised for the next 6 months. It also aims to move assets from the old V2 to the newer V3 aToken.

## Specification

- Deposit 1M units of DAI from treasury (Aave V3 Ethereum Collector) into Aave v3 Ethereum
- Migrate all aDAI from Aave v2 Ethereum to Aave v3 Ethereum

- Redeem 1.7M USDC from Aave v2 Polygon and bridge to Ethereum treasury
- Redeem 0.5M from Aave v2 Polygon DAI and bridge to Ethereum treasury
- Redeem 0.75M from Aave v2 Polygon USDT and bridge to Ethereum treasury

Swap the following asset holdings to GHO on Ethereum mainnet:

- All available aTUSD that can be redeemed (~175,000 units at time of writing)
- 500k units of DAI held in treasury (received from previous Polygon bridge)
- All available aBUSD (~72,000 units at time of writing)

Swap the following asset holdings on Ethereum treasury to USDC (there is no GHO / ETH oracle thus these tokens cannot be swapped to GHO directly, they are Aave v2 Assets with no Aave v3 equivalent oracle):

- All GUSD (18,464.03)
- All UST (893,257.63)

## References

- Implementation: [AaveV2Ethereum](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20231102_Multi_AaveFundingUpdates/AaveV2Ethereum_AaveFundingUpdates_20231102.sol), [AaveV2Polygon](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20231102_Multi_AaveFundingUpdates/AaveV2Polygon_AaveFundingUpdates_20231102.sol), [AaveV3Ethereum](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20231102_Multi_AaveFundingUpdates/AaveV3Ethereum_AaveFundingUpdates_20231102.sol)
- Tests: [AaveV2Ethereum](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20231102_Multi_AaveFundingUpdates/AaveV2Ethereum_AaveFundingUpdates_20231102.t.sol), [AaveV2Polygon](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20231102_Multi_AaveFundingUpdates/AaveV2Polygon_AaveFundingUpdates_20231102.t.sol), [AaveV3Ethereum](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20231102_Multi_AaveFundingUpdates/AaveV3Ethereum_AaveFundingUpdates_20231102.t.sol)
- [Snapshot](https://snapshot.org/#/aave.eth/proposal/0x099f88e1728760952be26fcb8fc99b26c29336e6a109820b391751b108399ee5)
- [Discussion](https://governance.aave.com/t/arfc-aave-funding-update/15194)

## Copyright

Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import {GovV3Helpers, IPayloadsControllerCore, PayloadsControllerUtils} from 'aave-helpers/GovV3Helpers.sol';
import {EthereumScript, PolygonScript} from 'aave-helpers/ScriptUtils.sol';
import {AaveV2Polygon_AaveFundingUpdates_20231102} from './AaveV2Polygon_AaveFundingUpdates_20231102.sol';
import {AaveV3Ethereum_AaveFundingUpdates_20231102} from './AaveV3Ethereum_AaveFundingUpdates_20231102.sol';

/**
* @dev Deploy Ethereum
* command: make deploy-ledger contract=src/20231102_Multi_AaveFundingUpdates/AaveFundingUpdates_20231102.s.sol:DeployEthereum chain=mainnet
*/
contract DeployEthereum is EthereumScript {
function run() external broadcast {
// deploy payloads
AaveV3Ethereum_AaveFundingUpdates_20231102 payload0 = new AaveV3Ethereum_AaveFundingUpdates_20231102();

// compose action
IPayloadsControllerCore.ExecutionAction[]
memory actions = new IPayloadsControllerCore.ExecutionAction[](1);
actions[0] = GovV3Helpers.buildAction(address(payload0));

// register action at payloadsController
GovV3Helpers.createPayload(actions);
}
}

/**
* @dev Deploy Polygon
* command: make deploy-ledger contract=src/20231102_Multi_AaveFundingUpdates/AaveFundingUpdates_20231102.s.sol:DeployPolygon chain=polygon
*/
contract DeployPolygon is PolygonScript {
function run() external broadcast {
// deploy payloads
AaveV2Polygon_AaveFundingUpdates_20231102 payload0 = new AaveV2Polygon_AaveFundingUpdates_20231102();

// compose action
IPayloadsControllerCore.ExecutionAction[]
memory actions = new IPayloadsControllerCore.ExecutionAction[](1);
actions[0] = GovV3Helpers.buildAction(address(payload0));

// register action at payloadsController
GovV3Helpers.createPayload(actions);
}
}

/**
* @dev Create Proposal
* command: make deploy-ledger contract=src/20231102_Multi_AaveFundingUpdates/AaveFundingUpdates_20231102.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(0x0B60713B53Cf01Ff53111D0BC29743eF1E03C296);
payloads[0] = GovV3Helpers.buildMainnetPayload(vm, actionsEthereum);

IPayloadsControllerCore.ExecutionAction[]
memory actionsPolygon = new IPayloadsControllerCore.ExecutionAction[](1);
actionsPolygon[0] = GovV3Helpers.buildAction(0x6a226aF2eC3B4B40A669469c1DE48eD26CAB4607);
payloads[1] = GovV3Helpers.buildPolygonPayload(vm, actionsPolygon);

// create proposal
vm.startBroadcast();
GovV3Helpers.createProposal2_5(
vm,
payloads,
GovV3Helpers.ipfsHashFile(vm, 'src/20231102_Multi_AaveFundingUpdates/AaveFundingUpdates.md')
);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import {AaveV2Polygon, AaveV2PolygonAssets} from 'aave-address-book/AaveV2Polygon.sol';
import {IERC20} from 'solidity-utils/contracts/oz-common/interfaces/IERC20.sol';
import {MiscPolygon} from 'aave-address-book/MiscPolygon.sol';
import {IProposalGenericExecutor} from 'aave-helpers/interfaces/IProposalGenericExecutor.sol';

interface IAavePolEthERC20Bridge {
function bridge(address token, uint256 amount) external;
}

/**
* @title Aave Funding Updates
* @author efecarranza.eth
* - Snapshot: https://snapshot.org/#/aave.eth/proposal/0x099f88e1728760952be26fcb8fc99b26c29336e6a109820b391751b108399ee5
* - Discussion: https://governance.aave.com/t/arfc-aave-funding-update/15194
*/
contract AaveV2Polygon_AaveFundingUpdates_20231102 is IProposalGenericExecutor {
IAavePolEthERC20Bridge public constant bridge =
IAavePolEthERC20Bridge(MiscPolygon.AAVE_POL_ETH_BRIDGE);
uint256 public constant USDC_TO_WITHDRAW = 1_700_000e6;
uint256 public constant USDT_TO_WITHDRAW = 750_000e6;
uint256 public constant DAI_TO_WITHDRAW = 500_000e18;

function execute() external {
AaveV2Polygon.COLLECTOR.transfer(
AaveV2PolygonAssets.USDC_A_TOKEN,
address(this),
USDC_TO_WITHDRAW
);
AaveV2Polygon.COLLECTOR.transfer(
AaveV2PolygonAssets.USDT_A_TOKEN,
address(this),
USDT_TO_WITHDRAW
);
AaveV2Polygon.COLLECTOR.transfer(
AaveV2PolygonAssets.DAI_A_TOKEN,
address(this),
DAI_TO_WITHDRAW
);

uint256 usdcWithdrawn = AaveV2Polygon.POOL.withdraw(
AaveV2PolygonAssets.USDC_UNDERLYING,
type(uint256).max,
MiscPolygon.AAVE_POL_ETH_BRIDGE
);
uint256 usdtWithdrawn = AaveV2Polygon.POOL.withdraw(
AaveV2PolygonAssets.USDT_UNDERLYING,
type(uint256).max,
MiscPolygon.AAVE_POL_ETH_BRIDGE
);
uint256 daiWithdrawn = AaveV2Polygon.POOL.withdraw(
AaveV2PolygonAssets.DAI_UNDERLYING,
type(uint256).max,
MiscPolygon.AAVE_POL_ETH_BRIDGE
);

bridge.bridge(AaveV2PolygonAssets.USDC_UNDERLYING, usdcWithdrawn);
bridge.bridge(AaveV2PolygonAssets.USDT_UNDERLYING, usdtWithdrawn);
bridge.bridge(AaveV2PolygonAssets.DAI_UNDERLYING, daiWithdrawn);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import {IERC20} from 'solidity-utils/contracts/oz-common/interfaces/IERC20.sol';
import {GovV3Helpers} from 'aave-helpers/GovV3Helpers.sol';
import {GovernanceV3Polygon} from 'aave-address-book/GovernanceV3Polygon.sol';
import {AaveV2Polygon, AaveV2PolygonAssets} from 'aave-address-book/AaveV2Polygon.sol';
import {MiscPolygon} from 'aave-address-book/MiscPolygon.sol';
import {ProtocolV2TestBase, ReserveConfig} from 'aave-helpers/ProtocolV2TestBase.sol';
import {AaveV2Polygon_AaveFundingUpdates_20231102} from './AaveV2Polygon_AaveFundingUpdates_20231102.sol';

/**
* @dev Test for AaveV2Polygon_AaveFundingUpdates_20231102
* command: make test-contract filter=AaveV2Polygon_AaveFundingUpdates_20231102
*/
contract AaveV2Polygon_AaveFundingUpdates_20231102_Test is ProtocolV2TestBase {
event Bridge(address token, uint256 amount);

AaveV2Polygon_AaveFundingUpdates_20231102 internal proposal;

function setUp() public {
vm.createSelectFork(vm.rpcUrl('polygon'), 50216002);
proposal = new AaveV2Polygon_AaveFundingUpdates_20231102();
}

function test_execute() public {
uint256 usdcBalanceBefore = IERC20(AaveV2PolygonAssets.USDC_A_TOKEN).balanceOf(
address(AaveV2Polygon.COLLECTOR)
);
uint256 usdtBalanceBefore = IERC20(AaveV2PolygonAssets.USDT_A_TOKEN).balanceOf(
address(AaveV2Polygon.COLLECTOR)
);
uint256 daiBalanceBefore = IERC20(AaveV2PolygonAssets.DAI_A_TOKEN).balanceOf(
address(AaveV2Polygon.COLLECTOR)
);

vm.expectEmit(true, true, false, false, MiscPolygon.AAVE_POL_ETH_BRIDGE);
emit Bridge(AaveV2PolygonAssets.USDC_UNDERLYING, proposal.USDC_TO_WITHDRAW());

vm.expectEmit(true, true, false, false, MiscPolygon.AAVE_POL_ETH_BRIDGE);
emit Bridge(AaveV2PolygonAssets.USDT_UNDERLYING, proposal.USDT_TO_WITHDRAW());

vm.expectEmit(true, true, false, false, MiscPolygon.AAVE_POL_ETH_BRIDGE);
emit Bridge(AaveV2PolygonAssets.DAI_UNDERLYING, proposal.DAI_TO_WITHDRAW());

GovV3Helpers.executePayload(vm, address(proposal));

assertApproxEqRel(
IERC20(AaveV2PolygonAssets.USDC_A_TOKEN).balanceOf(address(AaveV2Polygon.COLLECTOR)),
usdcBalanceBefore - proposal.USDC_TO_WITHDRAW(),
0.001e18
);
assertApproxEqRel(
IERC20(AaveV2PolygonAssets.USDT_A_TOKEN).balanceOf(address(AaveV2Polygon.COLLECTOR)),
usdtBalanceBefore - proposal.USDT_TO_WITHDRAW(),
0.001e18
);
assertApproxEqRel(
IERC20(AaveV2PolygonAssets.DAI_A_TOKEN).balanceOf(address(AaveV2Polygon.COLLECTOR)),
daiBalanceBefore - proposal.DAI_TO_WITHDRAW(),
0.001e18
);
}
}

1 comment on commit b45e67c

@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 (6432031 2023-11-27T00:17:02.532818051Z)
Build log
Compiling 264 files with 0.8.19
Solc 0.8.19 finished in 138.59s
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:775:5:
    |
775 |     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(
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

| 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_IncreaseStablecoinOptimalBorrowRates_20231113                           | 1.899     | 22.677      |
| AaveV2Ethereum                                                                          | 0.086     | 24.49       |
| AaveV2EthereumAMM                                                                       | 0.086     | 24.49       |
| AaveV2EthereumAMMAssets                                                                 | 0.086     | 24.49       |
| AaveV2EthereumAssets                                                                    | 0.086     | 24.49       |
| AaveV2Ethereum_AaveV2EthereumLTReduction_20231030                                       | 3.023     | 21.553      |
| AaveV2Ethereum_Disable_Stable_Borrows_20231104                                          | 2.519     | 22.057      |
| AaveV2Ethereum_IncreaseStablecoinOptimalBorrowRates_20231113                            | 3.078     | 21.498      |
| 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_IncreaseStablecoinOptimalBorrowRates_20231113                             | 1.899     | 22.677      |
| AaveV2Polygon_ReserveFactorUpdatesPolygonAaveV2_20231103                                | 1.01      | 23.566      |
| 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      |
| AaveV3Avalanche                                                                         | 0.086     | 24.49       |
| AaveV3AvalancheAssets                                                                   | 0.086     | 24.49       |
| AaveV3AvalancheEModes                                                                   | 0.086     | 24.49       |
| AaveV3Avalanche_Disable_Stable_Borrows_20231104                                         | 3.471     | 21.105      |
| AaveV3Avalanche_IncreaseStablecoinOptimalBorrowRates_20231113                           | 4.665     | 19.911      |
| AaveV3Avalanche_MAIMIMATICDeprecation20231031_20231031                                  | 4.364     | 20.212      |
| AaveV3Base                                                                              | 0.086     | 24.49       |
| AaveV3BaseAssets                                                                        | 0.086     | 24.49       |
| AaveV3BaseEModes                                                                        | 0.086     | 24.49       |
| AaveV3Base_IncreaseStablecoinOptimalBorrowRates_20231113                                | 3.667     | 20.909      |
| 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_GHOIncreaseBorrowRate_20231108                                           | 0.326     | 24.25       |
| AaveV3Ethereum_IncreaseGHOBorrowRate_20231121                                           | 0.326     | 24.25       |
| AaveV3Ethereum_IncreaseStablecoinOptimalBorrowRates_20231113                            | 4.417     | 20.159      |
| AaveV3Ethereum_TokenLogicFunding_20231114                                               | 0.423     | 24.153      |
| 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       |
| AaveV3Gnosis                                                                            | 0.086     | 24.49       |
| AaveV3GnosisAssets                                                                      | 0.086     | 24.49       |
| AaveV3GnosisEModes                                                                      | 0.086     | 24.49       |
| AaveV3Gnosis_AaveV3GnosisActivation_20231026                                            | 8.802     | 15.774      |
| 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      |
| 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_OnboardNativeUSDCToAaveV3Optimism_20231122                               | 5.551     | 19.025      |
| 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_IncreaseStablecoinOptimalBorrowRates_20231113                             | 4.416     | 20.16       |
| AaveV3Polygon_MAIMIMATICDeprecation20231031_20231031                                    | 4.226     | 20.35       |
| AaveV3Polygon_WMATICInterestRateUpdate_20231112                                         | 3.662     | 20.914      |
| Address                                                                                 | 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       |
| EngineFlags                                                                             | 0.086     | 24.49       |
| Errors                                                                                  | 4.714     | 19.862      |
| GovHelpers                                                                              | 0.086     | 24.49       |
| GovV3Helpers                                                                            | 2.664     | 21.912      |
| 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       |
| 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/20231102_Multi_AaveFundingUpdates/AaveV2Polygon_AaveFundingUpdates_20231102.t.sol:AaveV2Polygon_AaveFundingUpdates_20231102_Test
[PASS] test_execute() (gas: 1373526)
Test result: ok. 1 passed; 0 failed; 0 skipped; finished in 12.96s
 
Ran 1 test suites: 1 tests passed, 0 failed, 0 skipped (1 total tests)
No files changed, compilation skipped

Running 1 test for src/20231102_Multi_AaveFundingUpdates/AaveV3Ethereum_AaveFundingUpdates_20231102.t.sol:AaveV3Ethereum_AaveFundingUpdates_20231102_Test
[PASS] test_execute() (gas: 1975541)
Test result: ok. 1 passed; 0 failed; 0 skipped; finished in 12.01s
 
Ran 1 test suites: 1 tests passed, 0 failed, 0 skipped (1 total tests)

Please sign in to comment.