@@ -92,7 +92,7 @@ contract CreditFactory is AbstractFactory, ICreditFactory {
9292 /// @param addressProvider_ Address provider contract address
9393 constructor (address addressProvider_ ) AbstractFactory (addressProvider_) {
9494 // TODO: introduce some kind of `StuffRegister` for account factories, bot lists and degen NFTs
95- weth = _tryGetContract (AP_WETH_TOKEN, NO_VERSION_CONTROL);
95+ weth = _tryGetAddress (AP_WETH_TOKEN, NO_VERSION_CONTROL);
9696 }
9797
9898 // ---------- //
@@ -121,8 +121,8 @@ contract CreditFactory is AbstractFactory, ICreditFactory {
121121 return DeployResult ({
122122 newContract: creditManager,
123123 onInstallOps: CallBuilder.build (
124- _addToAccessList (msg .sender , creditConfigurator),
125- _addToAccessList (msg .sender , creditFacade),
124+ _authorizeFactory (msg .sender , creditManager , creditConfigurator),
125+ _authorizeFactory (msg .sender , creditManager , creditFacade),
126126 _setCreditFacade (creditConfigurator, creditFacade, false ),
127127 _setLossLiquidator (creditConfigurator, lossLiquidator),
128128 _setDebtLimits (creditConfigurator, params.minDebt, params.maxDebt)
@@ -168,28 +168,30 @@ contract CreditFactory is AbstractFactory, ICreditFactory {
168168 address newCreditConfigurator = _deployCreditConfigurator (msg .sender , creditManager);
169169 return CallBuilder.build (
170170 _upgradeCreditConfigurator (creditConfigurator, newCreditConfigurator),
171- _removeFromAccessList (msg .sender , creditConfigurator),
172- _addToAccessList (msg .sender , newCreditConfigurator)
171+ _unauthorizeFactory (msg .sender , creditManager , creditConfigurator),
172+ _authorizeFactory (msg .sender , creditManager , newCreditConfigurator)
173173 );
174174 } else if (selector == IConfigureActions.upgradeCreditFacade.selector ) {
175175 CreditFacadeParams memory params = abi.decode (callData[4 :], (CreditFacadeParams));
176176 address creditFacade = _creditFacade (creditManager);
177177 address newCreditFacade = _deployCreditFacade (msg .sender , creditManager, params);
178178 return CallBuilder.build (
179179 _setCreditFacade (_creditConfigurator (creditManager), newCreditFacade, true ),
180- _removeFromAccessList (msg .sender , creditFacade),
181- _addToAccessList (msg .sender , newCreditFacade)
180+ _unauthorizeFactory (msg .sender , creditManager , creditFacade),
181+ _authorizeFactory (msg .sender , creditManager , newCreditFacade)
182182 );
183183 } else if (selector == IConfigureActions.allowAdapter.selector ) {
184184 DeployParams memory params = abi.decode (callData[4 :], (DeployParams));
185185 address adapter = _deployAdapter (msg .sender , creditManager, params);
186186 return CallBuilder.build (
187- _addToAccessList (msg .sender , adapter), _allowAdapter (_creditConfigurator (creditManager), adapter)
187+ _authorizeFactory (msg .sender , creditManager, adapter),
188+ _allowAdapter (_creditConfigurator (creditManager), adapter)
188189 );
189190 } else if (selector == IConfigureActions.forbidAdapter.selector ) {
190191 address adapter = abi.decode (callData[4 :], (address ));
191192 return CallBuilder.build (
192- _removeFromAccessList (msg .sender , adapter), _forbidAdapter (_creditConfigurator (creditManager), adapter)
193+ _authorizeFactory (msg .sender , creditManager, adapter),
194+ _forbidAdapter (_creditConfigurator (creditManager), adapter)
193195 );
194196 } else if (
195197 selector == IConfigureActions.setFees.selector
@@ -217,7 +219,8 @@ contract CreditFactory is AbstractFactory, ICreditFactory {
217219 if (selector == IEmergencyConfigureActions.forbidAdapter.selector ) {
218220 address adapter = abi.decode (callData[4 :], (address ));
219221 return CallBuilder.build (
220- _removeFromAccessList (msg .sender , adapter), _forbidAdapter (_creditConfigurator (creditManager), adapter)
222+ _unauthorizeFactory (msg .sender , creditManager, adapter),
223+ _forbidAdapter (_creditConfigurator (creditManager), adapter)
221224 );
222225 } else if (
223226 selector == IEmergencyConfigureActions.forbidBorrowing.selector
@@ -257,10 +260,9 @@ contract CreditFactory is AbstractFactory, ICreditFactory {
257260 params.name
258261 );
259262
260- return _deployByDomain ({
261- domain: DOMAIN_CREDIT_MANAGER,
262- postfix: postfix,
263- version: version,
263+ return _deployLatestPatch ({
264+ contractType: _getContractType (DOMAIN_CREDIT_MANAGER, postfix),
265+ minorVersion: version,
264266 constructorParams: constructorParams,
265267 salt: bytes32 (bytes20 (marketConfigurator))
266268 });
@@ -269,9 +271,9 @@ contract CreditFactory is AbstractFactory, ICreditFactory {
269271 function _deployCreditConfigurator (address marketConfigurator , address creditManager ) internal returns (address ) {
270272 bytes memory constructorParams = abi.encode (creditManager);
271273
272- return _deploy ({
274+ return _deployLatestPatch ({
273275 contractType: AP_CREDIT_CONFIGURATOR,
274- version : version,
276+ minorVersion : version,
275277 constructorParams: constructorParams,
276278 salt: bytes32 (bytes20 (marketConfigurator))
277279 });
@@ -287,9 +289,9 @@ contract CreditFactory is AbstractFactory, ICreditFactory {
287289 bytes memory constructorParams =
288290 abi.encode (acl, creditManager, params.botList, weth, params.degenNFT, params.expirable);
289291
290- return _deploy ({
292+ return _deployLatestPatch ({
291293 contractType: AP_CREDIT_FACADE,
292- version : version,
294+ minorVersion : version,
293295 constructorParams: constructorParams,
294296 salt: bytes32 (bytes20 (marketConfigurator))
295297 });
@@ -304,10 +306,9 @@ contract CreditFactory is AbstractFactory, ICreditFactory {
304306
305307 // NOTE: unlike other contracts, this might be deployed multiple times, so using the same salt
306308 // can be an issue. Same thing can happen to rate keepers, IRMs, etc.
307- return _deployByDomain ({
308- domain: DOMAIN_ADAPTER,
309- postfix: params.postfix,
310- version: version,
309+ return _deployLatestPatch ({
310+ contractType: _getContractType (DOMAIN_ADAPTER, params.postfix),
311+ minorVersion: version,
311312 constructorParams: params.constructorParams,
312313 salt: bytes32 (bytes20 (marketConfigurator))
313314 });
@@ -361,22 +362,6 @@ contract CreditFactory is AbstractFactory, ICreditFactory {
361362 return Call (creditConfigurator, abi.encodeCall (ICreditConfiguratorV3.forbidAdapter, adapter));
362363 }
363364
364- function _setFees (
365- address creditConfigurator ,
366- uint16 feeLiquidation ,
367- uint16 liquidationPremium ,
368- uint16 feeLiquidationExpired ,
369- uint16 liquidationPremiumExpired
370- ) internal pure returns (Call memory ) {
371- return Call (
372- creditConfigurator,
373- abi.encodeCall (
374- ICreditConfiguratorV3.setFees,
375- (feeLiquidation, liquidationPremium, feeLiquidationExpired, liquidationPremiumExpired)
376- )
377- );
378- }
379-
380365 function _setDebtLimits (address creditConfigurator , uint128 minDebt , uint128 maxDebt )
381366 internal
382367 pure
0 commit comments