Skip to content

Commit

Permalink
Onboarding ETHx to Aave V3 Ethereum (#342)
Browse files Browse the repository at this point in the history
* ready for review

* add .md

* fix .md

* fix issues raised in review

* Update src/20240521_AaveV3Ethereum_OnboardingETHxToAaveV3/OnboardingETHxToAaveV3.md

---------

Co-authored-by: defijesus.eth <[email protected]>
Co-authored-by: Harsh Pandey <[email protected]>
  • Loading branch information
3 people authored Jun 14, 2024
1 parent f1d0dc9 commit e8968ba
Show file tree
Hide file tree
Showing 6 changed files with 421 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
## Reserve changes

### Reserves added

#### ETHx ([0xA35b1B31Ce002FBF2058D22F30f95D405200A15b](https://etherscan.io/address/0xA35b1B31Ce002FBF2058D22F30f95D405200A15b))

| description | value |
| --- | --- |
| decimals | 18 |
| isActive | true |
| isFrozen | false |
| supplyCap | 3,200 ETHx |
| borrowCap | 320 ETHx |
| debtCeiling | 0 $ |
| isSiloed | false |
| isFlashloanable | true |
| eModeCategory | 1 |
| oracle | [0xD6270dAabFe4862306190298C2B48fed9e15C847](https://etherscan.io/address/0xD6270dAabFe4862306190298C2B48fed9e15C847) |
| oracleDecimals | 8 |
| oracleDescription | Capped ethX / ETH / USD |
| oracleLatestAnswer | 3913.42547237 |
| usageAsCollateralEnabled | true |
| ltv | 74.5 % |
| liquidationThreshold | 77 % |
| liquidationBonus | 7.5 % |
| liquidationProtocolFee | 10 % |
| reserveFactor | 15 % |
| aToken | [0x4F5923Fc5FD4a93352581b38B7cD26943012DECF](https://etherscan.io/address/0x4F5923Fc5FD4a93352581b38B7cD26943012DECF) |
| aTokenImpl | [0x7EfFD7b47Bfd17e52fB7559d3f924201b9DbfF3d](https://etherscan.io/address/0x7EfFD7b47Bfd17e52fB7559d3f924201b9DbfF3d) |
| variableDebtToken | [0x015396E1F286289aE23a762088E863b3ec465145](https://etherscan.io/address/0x015396E1F286289aE23a762088E863b3ec465145) |
| variableDebtTokenImpl | [0xaC725CB59D16C81061BDeA61041a8A5e73DA9EC6](https://etherscan.io/address/0xaC725CB59D16C81061BDeA61041a8A5e73DA9EC6) |
| stableDebtToken | [0x43Cc8AD0c223b38D9c04802bB184A2D97e497D38](https://etherscan.io/address/0x43Cc8AD0c223b38D9c04802bB184A2D97e497D38) |
| stableDebtTokenImpl | [0x15C5620dfFaC7c7366EED66C20Ad222DDbB1eD57](https://etherscan.io/address/0x15C5620dfFaC7c7366EED66C20Ad222DDbB1eD57) |
| borrowingEnabled | true |
| stableBorrowRateEnabled | false |
| isBorrowableInIsolation | false |
| interestRateStrategy | [0x48AF11111764E710fcDcE2750db848C63edab57B](https://etherscan.io/address/0x48AF11111764E710fcDcE2750db848C63edab57B) |
| liquidityIndex | 1 |
| variableBorrowIndex | 1 |
| aTokenName | Aave Ethereum ETHx |
| aTokenSymbol | aEthETHx |
| currentLiquidityRate | 0 % |
| currentVariableBorrowRate | 0 % |
| isPaused | false |
| stableDebtTokenName | Aave Ethereum Stable Debt ETHx |
| stableDebtTokenSymbol | stableDebtEthETHx |
| variableDebtTokenName | Aave Ethereum Variable Debt ETHx |
| variableDebtTokenSymbol | variableDebtEthETHx |
| optimalUsageRatio | 45 % |
| maxExcessStableToTotalDebtRatio | 100 % |
| maxExcessUsageRatio | 55 % |
| optimalStableToTotalDebtRatio | 0 % |
| baseVariableBorrowRate | 0 % |
| variableRateSlope1 | 7 % |
| variableRateSlope2 | 300 % |
| baseStableBorrowRate | 7 % |
| stableRateSlope1 | 0 % |
| stableRateSlope2 | 0 % |
| interestRate | ![ir](/.assets/aa2e8a5322392ad3d4ae80453f4e281a8da627cc.svg) |
| eMode.label | ETH correlated |
| eMode.ltv | 93 % |
| eMode.liquidationThreshold | 95 % |
| eMode.liquidationBonus | 1 % |
| eMode.priceSource | 0x0000000000000000000000000000000000000000 |


## Raw diff

```json
{
"reserves": {
"0xA35b1B31Ce002FBF2058D22F30f95D405200A15b": {
"from": null,
"to": {
"aToken": "0x4F5923Fc5FD4a93352581b38B7cD26943012DECF",
"aTokenImpl": "0x7EfFD7b47Bfd17e52fB7559d3f924201b9DbfF3d",
"aTokenName": "Aave Ethereum ETHx",
"aTokenSymbol": "aEthETHx",
"borrowCap": 320,
"borrowingEnabled": true,
"currentLiquidityRate": 0,
"currentVariableBorrowRate": 0,
"debtCeiling": 0,
"decimals": 18,
"eModeCategory": 1,
"interestRateStrategy": "0x48AF11111764E710fcDcE2750db848C63edab57B",
"isActive": true,
"isBorrowableInIsolation": false,
"isFlashloanable": true,
"isFrozen": false,
"isPaused": false,
"isSiloed": false,
"liquidationBonus": 10750,
"liquidationProtocolFee": 1000,
"liquidationThreshold": 7700,
"liquidityIndex": "1000000000000000000000000000",
"ltv": 7450,
"oracle": "0xD6270dAabFe4862306190298C2B48fed9e15C847",
"oracleDecimals": 8,
"oracleDescription": "Capped ethX / ETH / USD",
"oracleLatestAnswer": 391342547237,
"reserveFactor": 1500,
"stableBorrowRateEnabled": false,
"stableDebtToken": "0x43Cc8AD0c223b38D9c04802bB184A2D97e497D38",
"stableDebtTokenImpl": "0x15C5620dfFaC7c7366EED66C20Ad222DDbB1eD57",
"stableDebtTokenName": "Aave Ethereum Stable Debt ETHx",
"stableDebtTokenSymbol": "stableDebtEthETHx",
"supplyCap": 3200,
"symbol": "ETHx",
"underlying": "0xA35b1B31Ce002FBF2058D22F30f95D405200A15b",
"usageAsCollateralEnabled": true,
"variableBorrowIndex": "1000000000000000000000000000",
"variableDebtToken": "0x015396E1F286289aE23a762088E863b3ec465145",
"variableDebtTokenImpl": "0xaC725CB59D16C81061BDeA61041a8A5e73DA9EC6",
"variableDebtTokenName": "Aave Ethereum Variable Debt ETHx",
"variableDebtTokenSymbol": "variableDebtEthETHx"
}
}
},
"strategies": {
"0xA35b1B31Ce002FBF2058D22F30f95D405200A15b": {
"from": null,
"to": {
"address": "0x48AF11111764E710fcDcE2750db848C63edab57B",
"baseStableBorrowRate": "70000000000000000000000000",
"baseVariableBorrowRate": 0,
"maxExcessStableToTotalDebtRatio": "1000000000000000000000000000",
"maxExcessUsageRatio": "550000000000000000000000000",
"optimalStableToTotalDebtRatio": 0,
"optimalUsageRatio": "450000000000000000000000000",
"stableRateSlope1": 0,
"stableRateSlope2": 0,
"variableRateSlope1": "70000000000000000000000000",
"variableRateSlope2": "3000000000000000000000000000"
}
}
}
}
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import {AaveV3Ethereum, AaveV3EthereumEModes} from 'aave-address-book/AaveV3Ethereum.sol';
import {AaveV3PayloadEthereum} from 'aave-helpers/v3-config-engine/AaveV3PayloadEthereum.sol';
import {EngineFlags} from 'aave-helpers/v3-config-engine/EngineFlags.sol';
import {IAaveV3ConfigEngine} from 'aave-helpers/v3-config-engine/IAaveV3ConfigEngine.sol';
import {IV3RateStrategyFactory} from 'aave-helpers/v3-config-engine/IV3RateStrategyFactory.sol';
import {IERC20} from 'solidity-utils/contracts/oz-common/interfaces/IERC20.sol';
import {SafeERC20} from 'solidity-utils/contracts/oz-common/SafeERC20.sol';

/**
* @title Onboarding ETHx to Aave V3
* @author karpatkey_TokenLogic
* - Snapshot: https://snapshot.org/#/aave.eth/proposal/0x9238b091250c739f5b5486ab8dbaa110b0b7ec0582698ea2c2d3721377e4b0bb
* - Discussion: https://governance.aave.com/t/arfc-onboarding-ethx-to-aave-v3-ethereum/15672
*/
contract AaveV3Ethereum_OnboardingETHxToAaveV3_20240521 is AaveV3PayloadEthereum {
using SafeERC20 for IERC20;

address public constant ETHx = 0xA35b1B31Ce002FBF2058D22F30f95D405200A15b;
uint256 public constant ETHx_SEED_AMOUNT = 0.01 ether;

function _postExecute() internal override {
IERC20(ETHx).forceApprove(address(AaveV3Ethereum.POOL), ETHx_SEED_AMOUNT);
AaveV3Ethereum.POOL.supply(ETHx, ETHx_SEED_AMOUNT, address(AaveV3Ethereum.COLLECTOR), 0);
}

function newListings() public pure override returns (IAaveV3ConfigEngine.Listing[] memory) {
IAaveV3ConfigEngine.Listing[] memory listings = new IAaveV3ConfigEngine.Listing[](1);

listings[0] = IAaveV3ConfigEngine.Listing({
asset: ETHx,
assetSymbol: 'ETHx',
priceFeed: 0xD6270dAabFe4862306190298C2B48fed9e15C847,
eModeCategory: AaveV3EthereumEModes.ETH_CORRELATED,
enabledToBorrow: EngineFlags.ENABLED,
stableRateModeEnabled: EngineFlags.DISABLED,
borrowableInIsolation: EngineFlags.DISABLED,
withSiloedBorrowing: EngineFlags.DISABLED,
flashloanable: EngineFlags.ENABLED,
ltv: 74_50,
liqThreshold: 77_00,
liqBonus: 7_50,
reserveFactor: 15_00,
supplyCap: 3_200,
borrowCap: 320,
debtCeiling: 0,
liqProtocolFee: 10_00,
rateStrategyParams: IV3RateStrategyFactory.RateStrategyParams({
optimalUsageRatio: _bpsToRay(45_00),
baseVariableBorrowRate: _bpsToRay(0),
variableRateSlope1: _bpsToRay(7_00),
variableRateSlope2: _bpsToRay(300_00),
stableRateSlope1: _bpsToRay(0),
stableRateSlope2: _bpsToRay(0),
baseStableRateOffset: _bpsToRay(0),
stableRateExcessOffset: _bpsToRay(0),
optimalStableToTotalDebtRatio: _bpsToRay(0)
})
});

return listings;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import {GovV3Helpers} from 'aave-helpers/GovV3Helpers.sol';
import {AaveV3Ethereum} from 'aave-address-book/AaveV3Ethereum.sol';
import {IERC20} from 'solidity-utils/contracts/oz-common/interfaces/IERC20.sol';

import 'forge-std/Test.sol';
import {ProtocolV3TestBase, ReserveConfig} from 'aave-helpers/ProtocolV3TestBase.sol';
import {AaveV3Ethereum_OnboardingETHxToAaveV3_20240521} from './AaveV3Ethereum_OnboardingETHxToAaveV3_20240521.sol';

/**
* @dev Test for AaveV3Ethereum_OnboardingETHxToAaveV3_20240521
* command: FOUNDRY_PROFILE=mainnet forge test --match-path=src/20240521_AaveV3Ethereum_OnboardingETHxToAaveV3/AaveV3Ethereum_OnboardingETHxToAaveV3_20240521.t.sol -vv
*/
contract AaveV3Ethereum_OnboardingETHxToAaveV3_20240521_Test is ProtocolV3TestBase {
AaveV3Ethereum_OnboardingETHxToAaveV3_20240521 internal proposal;

function setUp() public {
vm.createSelectFork(vm.rpcUrl('mainnet'), 19937144);
proposal = new AaveV3Ethereum_OnboardingETHxToAaveV3_20240521();
}

/**
* @dev executes the generic test suite including e2e and config snapshots
*/
function test_defaultProposalExecution() public {
defaultTest(
'AaveV3Ethereum_OnboardingETHxToAaveV3_20240521',
AaveV3Ethereum.POOL,
address(proposal)
);
}

function test_collectorHasETHxFunds() public {
GovV3Helpers.executePayload(vm, address(proposal));
(address aTokenAddress, , ) = AaveV3Ethereum
.AAVE_PROTOCOL_DATA_PROVIDER
.getReserveTokensAddresses(proposal.ETHx());
assertGe(IERC20(aTokenAddress).balanceOf(address(AaveV3Ethereum.COLLECTOR)), 0.01 ether);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
---
title: "Onboarding ETHx to Aave V3 Ethereum"
author: "karpatkey_TokenLogic"
discussions: "https://governance.aave.com/t/arfc-onboarding-ethx-to-aave-v3-ethereum/15672"
snapshot: "https://snapshot.org/#/aave.eth/proposal/0x9238b091250c739f5b5486ab8dbaa110b0b7ec0582698ea2c2d3721377e4b0bb"
---

## Simple Summary

This publication onboards Stader Lab's ETHx onto the Ethereum Aave v3 deployment as collateral and includes it the ETH-correlated E-Mode category.

## Motivation

Liquid staking tokens (LSTs) have proven to be popular collateral assets on Aave. The ETHx represents Stader’s staked ETH and provides its users with liquid staking benefits. Supporting ETHx on Aave V3 promotes LST diversity and complements existing assets like stETH, cbETH and rETH.

Given their high correlation to ETH, LSTs are commonly used as collateral to borrow ETH and engage in yield leveraged staking. Several communities have built products that automate such strategies on top of Aave. The inclusion of ETHx in the ETH-category E-Mode enables these strategies to maximize the yield potential of the recursive strategy.

The risk parameters have been provided by Chaos Labs, and the smart contracts of ETHx reviewed by BGD Labs. Further details, including LlamaRisk's more qualitative assessment, can be found on the Aave governance forum.

## Specification

The table below illustrates the configured risk parameters for **ETHx**

| Parameter | Value |
| ---------------------------------- | -----------------------------------------: |
| Isolation Mode | false |
| Borrowable | ENABLED |
| Collateral Enabled | true |
| Supply Cap (ETHx) | 3,200 |
| Borrow Cap (ETHx) | 320 |
| Debt Ceiling | USD 0 |
| LTV | 74.5 % |
| LT | 77 % |
| Liquidation Bonus | 7.5 % |
| Liquidation Protocol Fee | 10 % |
| Reserve Factor | 15 % |
| Base Variable Borrow Rate | 0 % |
| Variable Slope 1 | 7 % |
| Variable Slope 2 | 300 % |
| Uoptimal | 45 % |
| Stable Borrowing | DISABLED |
| Stable Slope1 | 0 % |
| Stable Slope2 | 0 % |
| Base Stable Rate Offset | 0 % |
| Stable Rate Excess Offset | 0 % |
| Optimal Stable To Total Debt Ratio | 0 % |
| Flashloanable | ENABLED |
| Siloed Borrowing | DISABLED |
| Borrowable in Isolation | DISABLED |
| Oracle | 0xD6270dAabFe4862306190298C2B48fed9e15C847 |

## References

- Implementation: [AaveV3Ethereum](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20240521_AaveV3Ethereum_OnboardingETHxToAaveV3/AaveV3Ethereum_OnboardingETHxToAaveV3_20240521.sol)
- Tests: [AaveV3Ethereum](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20240521_AaveV3Ethereum_OnboardingETHxToAaveV3/AaveV3Ethereum_OnboardingETHxToAaveV3_20240521.t.sol)
- [Snapshot](https://snapshot.org/#/aave.eth/proposal/0x9238b091250c739f5b5486ab8dbaa110b0b7ec0582698ea2c2d3721377e4b0bb)
- [Discussion](https://governance.aave.com/t/arfc-onboarding-ethx-to-aave-v3-ethereum/15672)

## 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,60 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import {GovV3Helpers, IPayloadsControllerCore, PayloadsControllerUtils} from 'aave-helpers/GovV3Helpers.sol';
import {GovernanceV3Ethereum} from 'aave-address-book/GovernanceV3Ethereum.sol';
import {EthereumScript} from 'aave-helpers/ScriptUtils.sol';
import {AaveV3Ethereum_OnboardingETHxToAaveV3_20240521} from './AaveV3Ethereum_OnboardingETHxToAaveV3_20240521.sol';

/**
* @dev Deploy Ethereum
* deploy-command: make deploy-ledger contract=src/20240521_AaveV3Ethereum_OnboardingETHxToAaveV3/OnboardingETHxToAaveV3_20240521.s.sol:DeployEthereum chain=mainnet
* verify-command: FOUNDRY_PROFILE=mainnet npx catapulta-verify -b broadcast/OnboardingETHxToAaveV3_20240521.s.sol/1/run-latest.json
*/
contract DeployEthereum is EthereumScript {
function run() external broadcast {
// deploy payloads
address payload0 = GovV3Helpers.deployDeterministic(
type(AaveV3Ethereum_OnboardingETHxToAaveV3_20240521).creationCode
);

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

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

/**
* @dev Create Proposal
* command: make deploy-ledger contract=src/20240521_AaveV3Ethereum_OnboardingETHxToAaveV3/OnboardingETHxToAaveV3_20240521.s.sol:CreateProposal chain=mainnet
*/
contract CreateProposal is EthereumScript {
function run() external {
// create payloads
PayloadsControllerUtils.Payload[] memory payloads = new PayloadsControllerUtils.Payload[](1);

// compose actions for validation
IPayloadsControllerCore.ExecutionAction[]
memory actionsEthereum = new IPayloadsControllerCore.ExecutionAction[](1);
actionsEthereum[0] = GovV3Helpers.buildAction(
type(AaveV3Ethereum_OnboardingETHxToAaveV3_20240521).creationCode
);
payloads[0] = GovV3Helpers.buildMainnetPayload(vm, actionsEthereum);

// create proposal
vm.startBroadcast();
GovV3Helpers.createProposal(
vm,
payloads,
GovernanceV3Ethereum.VOTING_PORTAL_ETH_POL,
GovV3Helpers.ipfsHashFile(
vm,
'src/20240521_AaveV3Ethereum_OnboardingETHxToAaveV3/OnboardingETHxToAaveV3.md'
)
);
}
}
Loading

1 comment on commit e8968ba

@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 (c2e5297 2024-06-14T00:18:12.274395967Z)
Build log
Compiling 303 files with Solc 0.8.19
Solc 0.8.19 finished in 163.05s
Compiler run successful with warnings:
Warning (3628): This contract has a payable fallback function, but no receive ether function. Consider adding a receive ether function.
  --> src/20240502_AaveV1Ethereum_AaveV1Deprecation/AaveV1Ethereum_AaveV1Deprecation_20240502.t.sol:94:1:
   |
94 | contract AaveV1Ethereum_AaveV1Deprecation_20240502_Test is ProtocolV3TestBase {
   | ^ (Relevant source part starts here and spans across multiple lines).
Note: The payable fallback function is defined here.
   --> src/20240502_AaveV1Ethereum_AaveV1Deprecation/AaveV1Ethereum_AaveV1Deprecation_20240502.t.sol:297:3:
    |
297 |   fallback() external payable {}
    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

| Contract                                                                  | Size (B) | Margin (B) |
|---------------------------------------------------------------------------|----------|------------|
| AaveGovernanceV2                                                          |       45 |     24,531 |
| AaveSafetyModule                                                          |       45 |     24,531 |
| AaveSwapper                                                               |    5,572 |     19,004 |
| AaveV1                                                                    |       45 |     24,531 |
| AaveV1Ethereum_AaveV1Deprecation_20240502                                 |    2,593 |     21,983 |
| AaveV2Avalanche                                                           |       45 |     24,531 |
| AaveV2AvalancheAssets                                                     |       45 |     24,531 |
| AaveV2Avalanche_LTLTVReductionsOnAaveV2Stablecoins_20240510               |      210 |     24,366 |
| AaveV2Avalanche_MigrateRobotsToChainlinkAutomationV2_20240422             |      518 |     24,058 |
| AaveV2Avalanche_ReserveFactorUpgrades_20240506                            |    1,022 |     23,554 |
| AaveV2Avalanche_ReserveFactorUpgrades_20240524                            |    1,022 |     23,554 |
| AaveV2Avalanche_StablecoinIRUpdates_20240424                              |    1,858 |     22,718 |
| AaveV2Avalanche_TemporaryFreezeOfLongTailV2Assets_20240418                |      186 |     24,390 |
| AaveV2Ethereum                                                            |       45 |     24,531 |
| AaveV2EthereumAMM                                                         |       45 |     24,531 |
| AaveV2EthereumAMMAssets                                                   |       45 |     24,531 |
| AaveV2EthereumAssets                                                      |       45 |     24,531 |
| AaveV2Ethereum_AAMPLSecondDistribution_20240429                           |    2,370 |     22,206 |
| AaveV2Ethereum_AprilFinanceUpdate_20240421                                |    7,897 |     16,679 |
| AaveV2Ethereum_ChaosLabsEthereumV2LTReductions_20240509                   |      358 |     24,218 |
| AaveV2Ethereum_DeprecationOfSmallCapStablecoinsOnV2Ethereum_20240502      |    3,472 |     21,104 |
| AaveV2Ethereum_LTLTVReductionsOnAaveV2Stablecoins_20240510                |      210 |     24,366 |
| AaveV2Ethereum_ReserveFactorUpgrades_20240506                             |    1,778 |     22,798 |
| AaveV2Ethereum_ReserveFactorUpgrades_20240524                             |    1,778 |     22,798 |
| AaveV2Ethereum_StablecoinIRUpdates_20240424                               |    1,858 |     22,718 |
| AaveV2Ethereum_TemporaryFreezeOfLongTailV2Assets_20240418                 |      793 |     23,783 |
| AaveV2Polygon                                                             |       45 |     24,531 |
| AaveV2PolygonAssets                                                       |       45 |     24,531 |
| AaveV2Polygon_AprilFinanceUpdate_20240421                                 |    6,129 |     18,447 |
| AaveV2Polygon_AprilFinanceUpdate_20240421_PartB                           |      451 |     24,125 |
| AaveV2Polygon_LTLTVReductionsOnAaveV2Stablecoins_20240510                 |      210 |     24,366 |
| AaveV2Polygon_MigrateRobotsToChainlinkAutomationV2_20240422               |      518 |     24,058 |
| AaveV2Polygon_TemporaryFreezeOfLongTailV2Assets_20240418                  |      186 |     24,390 |
| AaveV3Arbitrum                                                            |       45 |     24,531 |
| AaveV3ArbitrumAssets                                                      |       45 |     24,531 |
| AaveV3ArbitrumEModes                                                      |       45 |     24,531 |
| AaveV3Arbitrum_AdjustingInterestRateCurveForWeETHOnArbitrum_20240603      |    3,923 |     20,653 |
| AaveV3Arbitrum_ChaosLabsRiskParameterUpdatesAaveV3_20240530               |    3,376 |     21,200 |
| AaveV3Arbitrum_GeneralizedLTLTVReductionsOnAaveV3Step2_20240425           |    3,669 |     20,907 |
| AaveV3Arbitrum_MigrateRobotsToChainlinkAutomationV2_20240422              |    2,954 |     21,622 |
| AaveV3Arbitrum_StablecoinIRUpdates_20240424                               |    5,381 |     19,195 |
| AaveV3Avalanche                                                           |       45 |     24,531 |
| AaveV3AvalancheAssets                                                     |       45 |     24,531 |
| AaveV3AvalancheEModes                                                     |       45 |     24,531 |
| AaveV3Avalanche_GeneralizedLTLTVReductionsOnAaveV3Step2_20240425          |    3,377 |     21,199 |
| AaveV3Avalanche_MigrateRobotsToChainlinkAutomationV2_20240422             |    3,577 |     20,999 |
| AaveV3Avalanche_StablecoinIRUpdates_20240424                              |    4,628 |     19,948 |
| AaveV3BNB                                                                 |       45 |     24,531 |
| AaveV3BNBAssets                                                           |       45 |     24,531 |
| AaveV3BNBEModes                                                           |       45 |     24,531 |
| AaveV3BNB_GeneralizedLTLTVReductionsOnAaveV3Step2_20240425                |    3,528 |     21,048 |
| AaveV3BNB_StablecoinIRUpdates_20240424                                    |    4,132 |     20,444 |
| AaveV3Base                                                                |       45 |     24,531 |
| AaveV3BaseAssets                                                          |       45 |     24,531 |
| AaveV3BaseEModes                                                          |       45 |     24,531 |
| AaveV3Base_GeneralizedLTLTVReductionsOnAaveV3Step2_20240425               |    3,517 |     21,059 |
| AaveV3Base_StablecoinIRUpdates_20240424                                   |    3,868 |     20,708 |
| AaveV3Base_WeETHAaveV3BaseOnboarding_20240527                             |    4,997 |     19,579 |
| AaveV3Ethereum                                                            |       45 |     24,531 |
| AaveV3EthereumAssets                                                      |       45 |     24,531 |
| AaveV3EthereumEModes                                                      |       45 |     24,531 |
| AaveV3Ethereum_ACIAdAstra_20240506                                        |      835 |     23,741 |
| AaveV3Ethereum_AaveV31CantinaCompetition_20240503                         |      344 |     24,232 |
| AaveV3Ethereum_AprilFinanceUpdatePartB_20240515                           |    4,488 |     20,088 |
| AaveV3Ethereum_GeneralizedLTLTVReductionsOnAaveV3Step2_20240425           |    3,669 |     20,907 |
| AaveV3Ethereum_GhoStewardUpdate_20240602                                  |    2,571 |     22,005 |
| AaveV3Ethereum_LlamariskRiskProvider_20240421                             |      641 |     23,935 |
| AaveV3Ethereum_MigrateRobotsToChainlinkAutomationV2_20240422              |    5,800 |     18,776 |
| AaveV3Ethereum_OnboardUSDeAaveV3Ethereum_20240528                         |    5,012 |     19,564 |
| AaveV3Ethereum_OnboardingETHxToAaveV3_20240521                            |    5,000 |     19,576 |
| AaveV3Ethereum_OrbitProgramRenewal_20240513                               |    1,670 |     22,906 |
| AaveV3Ethereum_StablecoinIRUpdates_20240424                               |    5,130 |     19,446 |
| AaveV3Ethereum_StkGHOIncentives_20240424                                  |    1,476 |     23,100 |
| AaveV3Ethereum_UpdatingWeETHRiskParameters_20240426                       |    4,111 |     20,465 |
| AaveV3Gnosis                                                              |       45 |     24,531 |
| AaveV3GnosisAssets                                                        |       45 |     24,531 |
| AaveV3GnosisEModes                                                        |       45 |     24,531 |
| AaveV3Gnosis_AprilFinanceUpdate_20240421                                  |      380 |     24,196 |
| AaveV3Gnosis_ChaosLabsRiskParameterUpdatesAaveV3_20240530                 |    3,374 |     21,202 |
| AaveV3Gnosis_GeneralizedLTLTVReductionsOnAaveV3Step2_20240425             |    3,519 |     21,057 |
| AaveV3Gnosis_StablecoinIRUpdates_20240424                                 |    4,123 |     20,453 |
| AaveV3Optimism                                                            |       45 |     24,531 |
| AaveV3OptimismAssets                                                      |       45 |     24,531 |
| AaveV3OptimismEModes                                                      |       45 |     24,531 |
| AaveV3Optimism_ChaosLabsParameterRecommendationsSUSDOnV3Optimism_20240528 |    3,973 |     20,603 |
| AaveV3Optimism_ChaosLabsRiskParameterUpdatesAaveV3_20240530               |    3,363 |     21,213 |
| AaveV3Optimism_GeneralizedLTLTVReductionsOnAaveV3Step2_20240425           |    3,669 |     20,907 |
| AaveV3Optimism_MigrateRobotsToChainlinkAutomationV2_20240422              |    2,844 |     21,732 |
| AaveV3Optimism_SUSDRiskParametersUpdate_20240517                          |    3,372 |     21,204 |
| AaveV3Optimism_StablecoinIRUpdates_20240424                               |    5,130 |     19,446 |
| AaveV3Polygon                                                             |       45 |     24,531 |
| AaveV3PolygonAssets                                                       |       45 |     24,531 |
| AaveV3PolygonEModes                                                       |       45 |     24,531 |
| AaveV3Polygon_ChaosLabsRiskParameterUpdatesAaveV3_20240530                |    3,520 |     21,056 |
| AaveV3Polygon_GeneralizedLTLTVReductionsOnAaveV3Step2_20240425            |    3,668 |     20,908 |
| AaveV3Polygon_MigrateRobotsToChainlinkAutomationV2_20240422               |    2,773 |     21,803 |
| AaveV3Polygon_StablecoinIRUpdates_20240424                                |    5,380 |     19,196 |
| AaveV3Scroll                                                              |       45 |     24,531 |
| AaveV3ScrollAssets                                                        |       45 |     24,531 |
| AaveV3ScrollEModes                                                        |       45 |     24,531 |
| AaveV3Scroll_GeneralizedLTLTVReductionsOnAaveV3Step2_20240425             |    3,374 |     21,202 |
| AaveV3Scroll_StablecoinIRUpdates_20240424                                 |    3,620 |     20,956 |
| Address                                                                   |       45 |     24,531 |
| ChainHelpers                                                              |       45 |     24,531 |
| ChainIds                                                                  |       45 |     24,531 |
| ConfiguratorInputTypes                                                    |       45 |     24,531 |
| Create2Utils                                                              |      123 |     24,453 |
| DataTypes                                                                 |       45 |     24,531 |
| EngineFlags                                                               |       45 |     24,531 |
| Errors                                                                    |    4,673 |     19,903 |
| GovV3Helpers                                                              |    2,581 |     21,995 |
| GovV3StorageHelpers                                                       |       45 |     24,531 |
| GovernanceV3Arbitrum                                                      |       45 |     24,531 |
| GovernanceV3Avalanche                                                     |       45 |     24,531 |
| GovernanceV3BNB                                                           |       45 |     24,531 |
| GovernanceV3Base                                                          |       45 |     24,531 |
| GovernanceV3Ethereum                                                      |       45 |     24,531 |
| GovernanceV3Gnosis                                                        |       45 |     24,531 |
| GovernanceV3Metis                                                         |       45 |     24,531 |
| GovernanceV3Optimism                                                      |       45 |     24,531 |
| GovernanceV3Polygon                                                       |       45 |     24,531 |
| GovernanceV3PolygonZkEvm                                                  |       45 |     24,531 |
| GovernanceV3Scroll                                                        |       45 |     24,531 |
| IpfsUtils                                                                 |       45 |     24,531 |
| MiscEthereum                                                              |       45 |     24,531 |
| MiscPolygon                                                               |       45 |     24,531 |
| OrbitProgramData                                                          |      422 |     24,154 |
| PayloadsControllerUtils                                                   |       45 |     24,531 |
| ProxyHelpers                                                              |       45 |     24,531 |
| ReserveConfiguration                                                      |      130 |     24,446 |
| SafeCast                                                                  |       45 |     24,531 |
| SafeERC20                                                                 |       45 |     24,531 |
| StorageHelpers                                                            |       45 |     24,531 |
| WadRayMath                                                                |       45 |     24,531 |
Test error :finnadie:
No files changed, compilation skipped

Ran 2 tests for src/20240521_AaveV3Ethereum_OnboardingETHxToAaveV3/AaveV3Ethereum_OnboardingETHxToAaveV3_20240521.t.sol:AaveV3Ethereum_OnboardingETHxToAaveV3_20240521_Test
[FAIL. Reason: revert: 29] test_collectorHasETHxFunds() (gas: 8131568607806120942)
[FAIL. Reason: EvmError: Revert] test_defaultProposalExecution() (gas: 8937393460516734919)
Suite result: FAILED. 0 passed; 2 failed; 0 skipped; finished in 12.49s (14.31s CPU time)

Ran 1 test suite in 12.49s (12.49s CPU time): 0 tests passed, 2 failed, 0 skipped (2 total tests)

Failing tests:
Encountered 2 failing tests in src/20240521_AaveV3Ethereum_OnboardingETHxToAaveV3/AaveV3Ethereum_OnboardingETHxToAaveV3_20240521.t.sol:AaveV3Ethereum_OnboardingETHxToAaveV3_20240521_Test
[FAIL. Reason: revert: 29] test_collectorHasETHxFunds() (gas: 8131568607806120942)
[FAIL. Reason: EvmError: Revert] test_defaultProposalExecution() (gas: 8937393460516734919)

Encountered a total of 2 failing tests, 0 tests succeeded

Please sign in to comment.