@@ -10,33 +10,41 @@ import {EdgeRiskStewardDiscountRate, IRiskSteward} from '../../src/contracts/Edg
1010import {AaveStewardInjectorDiscountRate} from '../../src/contracts/AaveStewardInjectorDiscountRate.sol ' ;
1111
1212library DeployStewardContracts {
13+ struct DeployStewardInput {
14+ address pool;
15+ address configEngine;
16+ address riskCouncil;
17+ address governance;
18+ }
19+
20+ struct DeployInjectorInput {
21+ address create3Factory;
22+ bytes32 salt;
23+ address riskSteward;
24+ address aaveOracle;
25+ address edgeRiskOracle;
26+ address owner;
27+ address guardian;
28+ address [] whitelistedMarkets;
29+ }
30+
1331 function _deployRiskStewards (
14- address pool ,
15- address configEngine ,
16- address riskCouncil ,
17- address governance
32+ DeployStewardInput memory input
1833 ) internal returns (address ) {
1934 address riskSteward = address (
20- new EdgeRiskStewardDiscountRate (pool, configEngine, riskCouncil, governance, _getRiskConfig ())
35+ new EdgeRiskStewardDiscountRate (input. pool, input. configEngine, input. riskCouncil, input. governance, _getRiskConfig ())
2136 );
2237 return riskSteward;
2338 }
2439
2540 function _deployDiscountRateStewardInjector (
26- address create3Factory ,
27- bytes32 salt ,
28- address riskSteward ,
29- address aaveOracle ,
30- address edgeRiskOracle ,
31- address owner ,
32- address guardian ,
33- address [] memory whitelistedMarkets
41+ DeployInjectorInput memory input
3442 ) internal returns (address ) {
35- address stewardInjector = ICreate3Factory (create3Factory).create (
36- salt,
43+ address stewardInjector = ICreate3Factory (input. create3Factory).create (
44+ input. salt,
3745 abi.encodePacked (
3846 type (AaveStewardInjectorDiscountRate).creationCode,
39- abi.encode (aaveOracle, edgeRiskOracle, riskSteward, whitelistedMarkets, owner, guardian)
47+ abi.encode (input. aaveOracle, input. edgeRiskOracle, input. riskSteward, input. whitelistedMarkets, input. owner, input. guardian)
4048 )
4149 );
4250 return stewardInjector;
@@ -65,10 +73,12 @@ contract DeployEthereum is EthereumScript {
6573 .predictAddress (msg .sender , salt);
6674
6775 address riskSteward = DeployStewardContracts._deployRiskStewards (
68- address (AaveV3Ethereum.POOL),
69- AaveV3Ethereum.CONFIG_ENGINE,
70- predictedStewardsInjector,
71- GovernanceV3Ethereum.EXECUTOR_LVL_1
76+ DeployStewardContracts.DeployStewardInput ({
77+ pool: address (AaveV3Ethereum.POOL),
78+ configEngine: AaveV3Ethereum.CONFIG_ENGINE,
79+ riskCouncil: predictedStewardsInjector,
80+ governance: GovernanceV3Ethereum.EXECUTOR_LVL_1
81+ })
7282 );
7383
7484 address [] memory whitelistedPendleAssets = new address [](3 );
@@ -77,14 +87,16 @@ contract DeployEthereum is EthereumScript {
7787 whitelistedPendleAssets[2 ] = AaveV3EthereumAssets.PT_eUSDE_14AUG2025_UNDERLYING;
7888
7989 DeployStewardContracts._deployDiscountRateStewardInjector (
80- MiscEthereum.CREATE_3_FACTORY,
81- salt,
82- riskSteward,
83- address (AaveV3Ethereum.ORACLE),
84- EDGE_RISK_ORACLE,
85- GovernanceV3Ethereum.EXECUTOR_LVL_1,
86- GUARDIAN,
87- whitelistedPendleAssets
90+ DeployStewardContracts.DeployInjectorInput ({
91+ create3Factory: MiscEthereum.CREATE_3_FACTORY,
92+ salt: salt,
93+ riskSteward: riskSteward,
94+ aaveOracle: address (AaveV3Ethereum.ORACLE),
95+ edgeRiskOracle: EDGE_RISK_ORACLE,
96+ owner: GovernanceV3Ethereum.EXECUTOR_LVL_1,
97+ guardian: GUARDIAN,
98+ whitelistedMarkets: whitelistedPendleAssets
99+ })
88100 );
89101 vm.stopBroadcast ();
90102 }
0 commit comments