Skip to content

Commit 6db653e

Browse files
committed
fix: use structs for deploy inputs
1 parent fc69cf6 commit 6db653e

File tree

1 file changed

+40
-28
lines changed

1 file changed

+40
-28
lines changed

scripts/deploy/DeployDiscountRateInjector.s.sol

Lines changed: 40 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -10,33 +10,41 @@ import {EdgeRiskStewardDiscountRate, IRiskSteward} from '../../src/contracts/Edg
1010
import {AaveStewardInjectorDiscountRate} from '../../src/contracts/AaveStewardInjectorDiscountRate.sol';
1111

1212
library 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

Comments
 (0)