22pragma solidity ^ 0.8.0 ;
33
44import {IPool} from 'aave-v3-origin/contracts/interfaces/IPool.sol ' ;
5+ import {IDefaultInterestRateStrategyV2} from 'aave-v3-origin/contracts/interfaces/IDefaultInterestRateStrategyV2.sol ' ;
56import {AaveV3HorizonEthereum} from 'src/utils/AaveV3HorizonEthereum.sol ' ;
6- import {ProtocolV3HorizonTestBase, ReserveConfig} from 'src /utils/ProtocolV3HorizonTestBase.sol ' ;
7- import {HorizonConfigAssertionHelper} from 'src /utils/HorizonConfigAssertionHelper.sol ' ;
7+ import {ProtocolV3HorizonTestBase, ReserveConfig} from 'tests /utils/ProtocolV3HorizonTestBase.sol ' ;
8+ import {HorizonConfigAssertionHelper} from 'tests /utils/HorizonConfigAssertionHelper.sol ' ;
89import {AaveV3Horizon_ACREDListing_20260217} from 'src/AaveV3Horizon_ACREDListing_20260217/AaveV3Horizon_ACREDListing_20260217.sol ' ;
910
1011/**
@@ -27,7 +28,7 @@ contract AaveV3Horizon_ACREDListing_20260217_Test is ProtocolV3HorizonTestBase {
2728 /**
2829 * @dev executes the generic test suite including e2e and config snapshots
2930 */
30- function test_defaultProposalExecution () public {
31+ function test_defaultProposalExecution () public virtual {
3132 defaultTest_v3_3 (
3233 'AaveV3Horizon_ACREDListing_20260217 ' ,
3334 IPool (AaveV3HorizonEthereum.POOL),
@@ -41,14 +42,14 @@ contract AaveV3Horizon_ACREDListing_20260217_Test is ProtocolV3HorizonTestBase {
4142 function test_acredConfig () public {
4243 IPool pool = IPool (AaveV3HorizonEthereum.POOL);
4344
44- // check eMode 5 before execution (pool default values, no label/ assets)
45+ // check eMode 3 before execution (has config values but no assets assigned )
4546 _assertEModeConfig (
4647 pool,
4748 ExpectedEModeConfig ({
48- eModeCategory: 5 ,
49- ltv: 85_00 ,
50- liquidationThreshold: 89_00 ,
51- liquidationBonus: 100_00 + 3_10 ,
49+ eModeCategory: 3 ,
50+ ltv: 72_00 ,
51+ liquidationThreshold: 79_00 ,
52+ liquidationBonus: 100_00 + 7_50 ,
5253 label: '' ,
5354 collateralAssets: new address [](0 ),
5455 borrowableAssets: new address [](0 )
@@ -61,7 +62,7 @@ contract AaveV3Horizon_ACREDListing_20260217_Test is ProtocolV3HorizonTestBase {
6162 // verify ACRED asset config
6263 _assertAssetConfig (pool, expectedAssetConfig);
6364
64- // verify eMode 5 = ACRED GHO after execution
65+ // verify eMode 3 = ACRED GHO after execution
6566 _assertEModeConfig (pool, expectedEModeConfig);
6667 }
6768
@@ -74,7 +75,7 @@ contract AaveV3Horizon_ACREDListing_20260217_Test is ProtocolV3HorizonTestBase {
7475 aTokenSymbol: 'aHorRwaACRED ' ,
7576 variableDebtTokenName: 'Aave Horizon RWA Variable Debt ACRED ' ,
7677 variableDebtTokenSymbol: 'variableDebtHorRwaACRED ' ,
77- supplyCap: 32_000 ,
78+ supplyCap: 30_000 ,
7879 borrowCap: 0 ,
7980 reserveFactor: 0 ,
8081 borrowingEnabled: false ,
@@ -84,16 +85,18 @@ contract AaveV3Horizon_ACREDListing_20260217_Test is ProtocolV3HorizonTestBase {
8485 liquidationBonus: 100_00 + 9_00 ,
8586 debtCeiling: 0 ,
8687 liqProtocolFee: 0 ,
87- optimalUsageRatio: 99_00 ,
88- baseVariableBorrowRate: 0 ,
89- variableRateSlope1: 0 ,
90- variableRateSlope2: 0
88+ rateData: IDefaultInterestRateStrategyV2.InterestRateData ({
89+ optimalUsageRatio: 99_00 ,
90+ baseVariableBorrowRate: 0 ,
91+ variableRateSlope1: 0 ,
92+ variableRateSlope2: 0
93+ })
9194 });
9295 expectedEModeConfig = ExpectedEModeConfig ({
93- eModeCategory: 5 ,
94- ltv: 90_00 ,
95- liquidationThreshold: 92_00 ,
96- liquidationBonus: 100_00 + 3_00 ,
96+ eModeCategory: 3 ,
97+ ltv: 68_00 ,
98+ liquidationThreshold: 78_00 ,
99+ liquidationBonus: 100_00 + 9_00 ,
97100 label: 'ACRED GHO ' ,
98101 collateralAssets: _toAddressArray (AaveV3HorizonEthereum.ACRED_UNDERLYING),
99102 borrowableAssets: _toAddressArray (AaveV3HorizonEthereum.GHO_UNDERLYING)
@@ -103,7 +106,7 @@ contract AaveV3Horizon_ACREDListing_20260217_Test is ProtocolV3HorizonTestBase {
103106
104107/**
105108 * @dev Post-execution fork test. Run after the payload has been executed on mainnet
106- * to validate the live state matches expected config.
109+ * to validate the live state matches expected config and run full E2E .
107110 * command: FOUNDRY_PROFILE=test forge test --match-contract AaveV3Horizon_ACREDListing_20260217_PostExecution_Test -vv
108111 */
109112contract AaveV3Horizon_ACREDListing_20260217_PostExecution_Test is
@@ -116,9 +119,16 @@ contract AaveV3Horizon_ACREDListing_20260217_PostExecution_Test is
116119 vm.createSelectFork (vm.rpcUrl ('mainnet ' ));
117120 }
118121
122+ function test_defaultPostExecution () public {
123+ defaultTest_v3_3_postExecution (IPool (AaveV3HorizonEthereum.POOL));
124+ }
125+
119126 function test_acredConfigPostExecution () public {
120127 IPool pool = IPool (AaveV3HorizonEthereum.POOL);
121128 _assertAssetConfig (pool, expectedAssetConfig);
122129 _assertEModeConfig (pool, expectedEModeConfig);
123130 }
131+
132+ // no payload to execute post-deployment
133+ function test_defaultProposalExecution () public override {}
124134}
0 commit comments