mirror of
				https://github.com/Instadapp/aave-protocol-v2.git
				synced 2024-07-29 21:47:30 +00:00 
			
		
		
		
	misc renaming
This commit is contained in:
		
							parent
							
								
									66113d64a2
								
							
						
					
					
						commit
						2a6248c6d2
					
				| 
						 | 
				
			
			@ -21,8 +21,8 @@ contract LendingPoolAddressesProvider is Ownable, ILendingPoolAddressesProvider
 | 
			
		|||
  bytes32 private constant LENDING_POOL = 'LENDING_POOL';
 | 
			
		||||
  bytes32 private constant LENDING_POOL_CORE = 'LENDING_POOL_CORE';
 | 
			
		||||
  bytes32 private constant LENDING_POOL_CONFIGURATOR = 'LENDING_POOL_CONFIGURATOR';
 | 
			
		||||
  bytes32 private constant LENDING_POOL_MANAGER = 'LENDING_POOL_MANAGER';
 | 
			
		||||
  bytes32 private constant LENDING_POOL_LIQUIDATION_MANAGER = 'LIQUIDATION_MANAGER';
 | 
			
		||||
  bytes32 private constant AAVE_ADMIN = 'AAVE_ADMIN';
 | 
			
		||||
  bytes32 private constant LENDING_POOL_COLLATERAL_MANAGER = 'COLLATERAL_MANAGER';
 | 
			
		||||
  bytes32 private constant LENDING_POOL_FLASHLOAN_PROVIDER = 'FLASHLOAN_PROVIDER';
 | 
			
		||||
  bytes32 private constant DATA_PROVIDER = 'DATA_PROVIDER';
 | 
			
		||||
  bytes32 private constant ETHEREUM_ADDRESS = 'ETHEREUM_ADDRESS';
 | 
			
		||||
| 
						 | 
				
			
			@ -68,19 +68,19 @@ contract LendingPoolAddressesProvider is Ownable, ILendingPoolAddressesProvider
 | 
			
		|||
   * @dev returns the address of the LendingPoolCollateralManager. Since the manager is used
 | 
			
		||||
   * through delegateCall within the LendingPool contract, the proxy contract pattern does not work properly hence
 | 
			
		||||
   * the addresses are changed directly.
 | 
			
		||||
   * @return the address of the Lending pool liquidation manager
 | 
			
		||||
   * @return the address of the Lending pool collateral manager
 | 
			
		||||
   **/
 | 
			
		||||
 | 
			
		||||
  function getLendingPoolCollateralManager() external override view returns (address) {
 | 
			
		||||
    return _addresses[LENDING_POOL_LIQUIDATION_MANAGER];
 | 
			
		||||
    return _addresses[LENDING_POOL_COLLATERAL_MANAGER];
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * @dev updates the address of the Lending pool liquidation manager
 | 
			
		||||
   * @param manager the new lending pool liquidation manager address
 | 
			
		||||
   * @dev updates the address of the Lending pool collateral manager
 | 
			
		||||
   * @param manager the new lending pool collateral manager address
 | 
			
		||||
   **/
 | 
			
		||||
  function setLendingPoolCollateralManager(address manager) external override onlyOwner {
 | 
			
		||||
    _addresses[LENDING_POOL_LIQUIDATION_MANAGER] = manager;
 | 
			
		||||
    _addresses[LENDING_POOL_COLLATERAL_MANAGER] = manager;
 | 
			
		||||
    emit LendingPoolCollateralManagerUpdated(manager);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -89,13 +89,13 @@ contract LendingPoolAddressesProvider is Ownable, ILendingPoolAddressesProvider
 | 
			
		|||
   * hence the upgradable proxy pattern is not used
 | 
			
		||||
   **/
 | 
			
		||||
 | 
			
		||||
  function getLendingPoolManager() external override view returns (address) {
 | 
			
		||||
    return _addresses[LENDING_POOL_MANAGER];
 | 
			
		||||
  function getAaveAdmin() external override view returns (address) {
 | 
			
		||||
    return _addresses[AAVE_ADMIN];
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  function setLendingPoolManager(address lendingPoolManager) external override onlyOwner {
 | 
			
		||||
    _addresses[LENDING_POOL_MANAGER] = lendingPoolManager;
 | 
			
		||||
    emit LendingPoolManagerUpdated(lendingPoolManager);
 | 
			
		||||
  function setAaveAdmin(address aaveAdmin) external override onlyOwner {
 | 
			
		||||
    _addresses[AAVE_ADMIN] = aaveAdmin;
 | 
			
		||||
    emit AaveAdminUpdated(aaveAdmin);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  function getPriceOracle() external override view returns (address) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,7 +9,7 @@ pragma solidity ^0.6.8;
 | 
			
		|||
interface ILendingPoolAddressesProvider {
 | 
			
		||||
  //events
 | 
			
		||||
  event LendingPoolUpdated(address indexed newAddress);
 | 
			
		||||
  event LendingPoolManagerUpdated(address indexed newAddress);
 | 
			
		||||
  event AaveAdminUpdated(address indexed newAddress);
 | 
			
		||||
  event LendingPoolConfiguratorUpdated(address indexed newAddress);
 | 
			
		||||
  event LendingPoolCollateralManagerUpdated(address indexed newAddress);
 | 
			
		||||
  event EthereumAddressUpdated(address indexed newAddress);
 | 
			
		||||
| 
						 | 
				
			
			@ -30,9 +30,9 @@ interface ILendingPoolAddressesProvider {
 | 
			
		|||
 | 
			
		||||
  function setLendingPoolCollateralManager(address manager) external;
 | 
			
		||||
 | 
			
		||||
  function getLendingPoolManager() external view returns (address);
 | 
			
		||||
  function getAaveAdmin() external view returns (address);
 | 
			
		||||
 | 
			
		||||
  function setLendingPoolManager(address lendingPoolManager) external;
 | 
			
		||||
  function setAaveAdmin(address aaveAdmin) external;
 | 
			
		||||
 | 
			
		||||
  function getPriceOracle() external view returns (address);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -26,7 +26,8 @@ import {ValidationLogic} from '../libraries/logic/ValidationLogic.sol';
 | 
			
		|||
/**
 | 
			
		||||
 * @title LendingPoolCollateralManager contract
 | 
			
		||||
 * @author Aave
 | 
			
		||||
 * @notice Implements the liquidation function.
 | 
			
		||||
 * @notice Implements actions involving management of collateral in the protocol.
 | 
			
		||||
 * @notice this contract will be ran always through delegatecall
 | 
			
		||||
 * @dev LendingPoolCollateralManager inherits Pausable from OpenZeppelin to have the same storage layout as LendingPool
 | 
			
		||||
 **/
 | 
			
		||||
contract LendingPoolCollateralManager is VersionedInitializable {
 | 
			
		||||
| 
						 | 
				
			
			@ -185,7 +186,7 @@ contract LendingPoolCollateralManager is VersionedInitializable {
 | 
			
		|||
      vars.userVariableDebt
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    if (Errors.LiquidationErrors(vars.errorCode) != Errors.LiquidationErrors.NO_ERROR) {
 | 
			
		||||
    if (Errors.CollateralManagerErrors(vars.errorCode) != Errors.CollateralManagerErrors.NO_ERROR) {
 | 
			
		||||
      return (vars.errorCode, vars.errorMsg);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -228,7 +229,7 @@ contract LendingPoolCollateralManager is VersionedInitializable {
 | 
			
		|||
      );
 | 
			
		||||
      if (currentAvailableCollateral < vars.maxCollateralToLiquidate) {
 | 
			
		||||
        return (
 | 
			
		||||
          uint256(Errors.LiquidationErrors.NOT_ENOUGH_LIQUIDITY),
 | 
			
		||||
          uint256(Errors.CollateralManagerErrors.NOT_ENOUGH_LIQUIDITY),
 | 
			
		||||
          Errors.NOT_ENOUGH_LIQUIDITY_TO_LIQUIDATE
 | 
			
		||||
        );
 | 
			
		||||
      }
 | 
			
		||||
| 
						 | 
				
			
			@ -300,7 +301,7 @@ contract LendingPoolCollateralManager is VersionedInitializable {
 | 
			
		|||
      receiveAToken
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    return (uint256(Errors.LiquidationErrors.NO_ERROR), Errors.NO_ERRORS);
 | 
			
		||||
    return (uint256(Errors.CollateralManagerErrors.NO_ERROR), Errors.NO_ERRORS);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
| 
						 | 
				
			
			@ -349,7 +350,7 @@ contract LendingPoolCollateralManager is VersionedInitializable {
 | 
			
		|||
      vars.userVariableDebt
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    if (Errors.LiquidationErrors(vars.errorCode) != Errors.LiquidationErrors.NO_ERROR) {
 | 
			
		||||
    if (Errors.CollateralManagerErrors(vars.errorCode) != Errors.CollateralManagerErrors.NO_ERROR) {
 | 
			
		||||
      return (vars.errorCode, vars.errorMsg);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -445,7 +446,7 @@ contract LendingPoolCollateralManager is VersionedInitializable {
 | 
			
		|||
      vars.maxCollateralToLiquidate
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    return (uint256(Errors.LiquidationErrors.NO_ERROR), Errors.NO_ERRORS);
 | 
			
		||||
    return (uint256(Errors.CollateralManagerErrors.NO_ERROR), Errors.NO_ERRORS);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
| 
						 | 
				
			
			@ -476,7 +477,7 @@ contract LendingPoolCollateralManager is VersionedInitializable {
 | 
			
		|||
      toAsset
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    if (Errors.LiquidationErrors(vars.errorCode) != Errors.LiquidationErrors.NO_ERROR) {
 | 
			
		||||
    if (Errors.CollateralManagerErrors(vars.errorCode) != Errors.CollateralManagerErrors.NO_ERROR) {
 | 
			
		||||
      return (vars.errorCode, vars.errorMsg);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -533,12 +534,12 @@ contract LendingPoolCollateralManager is VersionedInitializable {
 | 
			
		|||
 | 
			
		||||
    if (vars.healthFactor < GenericLogic.HEALTH_FACTOR_LIQUIDATION_THRESHOLD) {
 | 
			
		||||
      return (
 | 
			
		||||
        uint256(Errors.LiquidationErrors.HEALTH_FACTOR_LOWER_THAN_LIQUIDATION_THRESHOLD),
 | 
			
		||||
        uint256(Errors.CollateralManagerErrors.HEALTH_FACTOR_LOWER_THAN_LIQUIDATION_THRESHOLD),
 | 
			
		||||
        Errors.HEALTH_FACTOR_LOWER_THAN_LIQUIDATION_THRESHOLD
 | 
			
		||||
      );
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return (uint256(Errors.LiquidationErrors.NO_ERROR), Errors.NO_ERRORS);
 | 
			
		||||
    return (uint256(Errors.CollateralManagerErrors.NO_ERROR), Errors.NO_ERRORS);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -176,11 +176,8 @@ contract LendingPoolConfigurator is VersionedInitializable {
 | 
			
		|||
  /**
 | 
			
		||||
   * @dev only the lending pool manager can call functions affected by this modifier
 | 
			
		||||
   **/
 | 
			
		||||
  modifier onlyLendingPoolManager {
 | 
			
		||||
    require(
 | 
			
		||||
      addressesProvider.getLendingPoolManager() == msg.sender,
 | 
			
		||||
      Errors.CALLER_NOT_LENDING_POOL_MANAGER
 | 
			
		||||
    );
 | 
			
		||||
  modifier onlyAaveAdmin {
 | 
			
		||||
    require(addressesProvider.getAaveAdmin() == msg.sender, Errors.CALLER_NOT_AAVE_ADMIN);
 | 
			
		||||
    _;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -211,7 +208,7 @@ contract LendingPoolConfigurator is VersionedInitializable {
 | 
			
		|||
    address variableDebtTokenImpl,
 | 
			
		||||
    uint8 underlyingAssetDecimals,
 | 
			
		||||
    address interestRateStrategyAddress
 | 
			
		||||
  ) public onlyLendingPoolManager {
 | 
			
		||||
  ) public onlyAaveAdmin {
 | 
			
		||||
    address aTokenProxyAddress = _initTokenWithProxy(aTokenImpl, underlyingAssetDecimals);
 | 
			
		||||
 | 
			
		||||
    address stableDebtTokenProxyAddress = _initTokenWithProxy(
 | 
			
		||||
| 
						 | 
				
			
			@ -255,7 +252,7 @@ contract LendingPoolConfigurator is VersionedInitializable {
 | 
			
		|||
   * @param asset the address of the reserve to be updated
 | 
			
		||||
   * @param implementation the address of the new aToken implementation
 | 
			
		||||
   **/
 | 
			
		||||
  function updateAToken(address asset, address implementation) external onlyLendingPoolManager {
 | 
			
		||||
  function updateAToken(address asset, address implementation) external onlyAaveAdmin {
 | 
			
		||||
    (address aTokenAddress, , ) = pool.getReserveTokensAddresses(asset);
 | 
			
		||||
 | 
			
		||||
    _upgradeTokenImplementation(asset, aTokenAddress, implementation);
 | 
			
		||||
| 
						 | 
				
			
			@ -268,10 +265,7 @@ contract LendingPoolConfigurator is VersionedInitializable {
 | 
			
		|||
   * @param asset the address of the reserve to be updated
 | 
			
		||||
   * @param implementation the address of the new aToken implementation
 | 
			
		||||
   **/
 | 
			
		||||
  function updateStableDebtToken(address asset, address implementation)
 | 
			
		||||
    external
 | 
			
		||||
    onlyLendingPoolManager
 | 
			
		||||
  {
 | 
			
		||||
  function updateStableDebtToken(address asset, address implementation) external onlyAaveAdmin {
 | 
			
		||||
    (, address stableDebtToken, ) = pool.getReserveTokensAddresses(asset);
 | 
			
		||||
 | 
			
		||||
    _upgradeTokenImplementation(asset, stableDebtToken, implementation);
 | 
			
		||||
| 
						 | 
				
			
			@ -284,10 +278,7 @@ contract LendingPoolConfigurator is VersionedInitializable {
 | 
			
		|||
   * @param asset the address of the reserve to be updated
 | 
			
		||||
   * @param implementation the address of the new aToken implementation
 | 
			
		||||
   **/
 | 
			
		||||
  function updateVariableDebtToken(address asset, address implementation)
 | 
			
		||||
    external
 | 
			
		||||
    onlyLendingPoolManager
 | 
			
		||||
  {
 | 
			
		||||
  function updateVariableDebtToken(address asset, address implementation) external onlyAaveAdmin {
 | 
			
		||||
    (, , address variableDebtToken) = pool.getReserveTokensAddresses(asset);
 | 
			
		||||
 | 
			
		||||
    _upgradeTokenImplementation(asset, variableDebtToken, implementation);
 | 
			
		||||
| 
						 | 
				
			
			@ -302,7 +293,7 @@ contract LendingPoolConfigurator is VersionedInitializable {
 | 
			
		|||
   **/
 | 
			
		||||
  function enableBorrowingOnReserve(address asset, bool stableBorrowRateEnabled)
 | 
			
		||||
    external
 | 
			
		||||
    onlyLendingPoolManager
 | 
			
		||||
    onlyAaveAdmin
 | 
			
		||||
  {
 | 
			
		||||
    ReserveConfiguration.Map memory currentConfig = pool.getConfiguration(asset);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -318,7 +309,7 @@ contract LendingPoolConfigurator is VersionedInitializable {
 | 
			
		|||
   * @dev disables borrowing on a reserve
 | 
			
		||||
   * @param asset the address of the reserve
 | 
			
		||||
   **/
 | 
			
		||||
  function disableBorrowingOnReserve(address asset) external onlyLendingPoolManager {
 | 
			
		||||
  function disableBorrowingOnReserve(address asset) external onlyAaveAdmin {
 | 
			
		||||
    ReserveConfiguration.Map memory currentConfig = pool.getConfiguration(asset);
 | 
			
		||||
 | 
			
		||||
    currentConfig.setBorrowingEnabled(false);
 | 
			
		||||
| 
						 | 
				
			
			@ -339,7 +330,7 @@ contract LendingPoolConfigurator is VersionedInitializable {
 | 
			
		|||
    uint256 ltv,
 | 
			
		||||
    uint256 liquidationThreshold,
 | 
			
		||||
    uint256 liquidationBonus
 | 
			
		||||
  ) external onlyLendingPoolManager {
 | 
			
		||||
  ) external onlyAaveAdmin {
 | 
			
		||||
    ReserveConfiguration.Map memory currentConfig = pool.getConfiguration(asset);
 | 
			
		||||
 | 
			
		||||
    currentConfig.setLtv(ltv);
 | 
			
		||||
| 
						 | 
				
			
			@ -355,7 +346,7 @@ contract LendingPoolConfigurator is VersionedInitializable {
 | 
			
		|||
   * @dev disables a reserve as collateral
 | 
			
		||||
   * @param asset the address of the reserve
 | 
			
		||||
   **/
 | 
			
		||||
  function disableReserveAsCollateral(address asset) external onlyLendingPoolManager {
 | 
			
		||||
  function disableReserveAsCollateral(address asset) external onlyAaveAdmin {
 | 
			
		||||
    ReserveConfiguration.Map memory currentConfig = pool.getConfiguration(asset);
 | 
			
		||||
 | 
			
		||||
    currentConfig.setLtv(0);
 | 
			
		||||
| 
						 | 
				
			
			@ -369,7 +360,7 @@ contract LendingPoolConfigurator is VersionedInitializable {
 | 
			
		|||
   * @dev enable stable rate borrowing on a reserve
 | 
			
		||||
   * @param asset the address of the reserve
 | 
			
		||||
   **/
 | 
			
		||||
  function enableReserveStableRate(address asset) external onlyLendingPoolManager {
 | 
			
		||||
  function enableReserveStableRate(address asset) external onlyAaveAdmin {
 | 
			
		||||
    ReserveConfiguration.Map memory currentConfig = pool.getConfiguration(asset);
 | 
			
		||||
 | 
			
		||||
    currentConfig.setStableRateBorrowingEnabled(true);
 | 
			
		||||
| 
						 | 
				
			
			@ -383,7 +374,7 @@ contract LendingPoolConfigurator is VersionedInitializable {
 | 
			
		|||
   * @dev disable stable rate borrowing on a reserve
 | 
			
		||||
   * @param asset the address of the reserve
 | 
			
		||||
   **/
 | 
			
		||||
  function disableReserveStableRate(address asset) external onlyLendingPoolManager {
 | 
			
		||||
  function disableReserveStableRate(address asset) external onlyAaveAdmin {
 | 
			
		||||
    ReserveConfiguration.Map memory currentConfig = pool.getConfiguration(asset);
 | 
			
		||||
 | 
			
		||||
    currentConfig.setStableRateBorrowingEnabled(false);
 | 
			
		||||
| 
						 | 
				
			
			@ -397,7 +388,7 @@ contract LendingPoolConfigurator is VersionedInitializable {
 | 
			
		|||
   * @dev activates a reserve
 | 
			
		||||
   * @param asset the address of the reserve
 | 
			
		||||
   **/
 | 
			
		||||
  function activateReserve(address asset) external onlyLendingPoolManager {
 | 
			
		||||
  function activateReserve(address asset) external onlyAaveAdmin {
 | 
			
		||||
    ReserveConfiguration.Map memory currentConfig = pool.getConfiguration(asset);
 | 
			
		||||
 | 
			
		||||
    currentConfig.setActive(true);
 | 
			
		||||
| 
						 | 
				
			
			@ -411,7 +402,7 @@ contract LendingPoolConfigurator is VersionedInitializable {
 | 
			
		|||
   * @dev deactivates a reserve
 | 
			
		||||
   * @param asset the address of the reserve
 | 
			
		||||
   **/
 | 
			
		||||
  function deactivateReserve(address asset) external onlyLendingPoolManager {
 | 
			
		||||
  function deactivateReserve(address asset) external onlyAaveAdmin {
 | 
			
		||||
    (
 | 
			
		||||
      uint256 availableLiquidity,
 | 
			
		||||
      uint256 totalBorrowsStable,
 | 
			
		||||
| 
						 | 
				
			
			@ -442,7 +433,7 @@ contract LendingPoolConfigurator is VersionedInitializable {
 | 
			
		|||
   * @dev freezes a reserve. A freezed reserve doesn't accept any new deposit, borrow or rate swap, but can accept repayments, liquidations, rate rebalances and redeems
 | 
			
		||||
   * @param asset the address of the reserve
 | 
			
		||||
   **/
 | 
			
		||||
  function freezeReserve(address asset) external onlyLendingPoolManager {
 | 
			
		||||
  function freezeReserve(address asset) external onlyAaveAdmin {
 | 
			
		||||
    ReserveConfiguration.Map memory currentConfig = pool.getConfiguration(asset);
 | 
			
		||||
 | 
			
		||||
    currentConfig.setFrozen(true);
 | 
			
		||||
| 
						 | 
				
			
			@ -456,7 +447,7 @@ contract LendingPoolConfigurator is VersionedInitializable {
 | 
			
		|||
   * @dev unfreezes a reserve
 | 
			
		||||
   * @param asset the address of the reserve
 | 
			
		||||
   **/
 | 
			
		||||
  function unfreezeReserve(address asset) external onlyLendingPoolManager {
 | 
			
		||||
  function unfreezeReserve(address asset) external onlyAaveAdmin {
 | 
			
		||||
    ReserveConfiguration.Map memory currentConfig = pool.getConfiguration(asset);
 | 
			
		||||
 | 
			
		||||
    currentConfig.setFrozen(false);
 | 
			
		||||
| 
						 | 
				
			
			@ -471,7 +462,7 @@ contract LendingPoolConfigurator is VersionedInitializable {
 | 
			
		|||
   * @param asset the address of the reserve
 | 
			
		||||
   * @param ltv the new value for the loan to value
 | 
			
		||||
   **/
 | 
			
		||||
  function setLtv(address asset, uint256 ltv) external onlyLendingPoolManager {
 | 
			
		||||
  function setLtv(address asset, uint256 ltv) external onlyAaveAdmin {
 | 
			
		||||
    ReserveConfiguration.Map memory currentConfig = pool.getConfiguration(asset);
 | 
			
		||||
 | 
			
		||||
    currentConfig.setLtv(ltv);
 | 
			
		||||
| 
						 | 
				
			
			@ -486,10 +477,7 @@ contract LendingPoolConfigurator is VersionedInitializable {
 | 
			
		|||
   * @param asset the address of the reserve
 | 
			
		||||
   * @param threshold the new value for the liquidation threshold
 | 
			
		||||
   **/
 | 
			
		||||
  function setLiquidationThreshold(address asset, uint256 threshold)
 | 
			
		||||
    external
 | 
			
		||||
    onlyLendingPoolManager
 | 
			
		||||
  {
 | 
			
		||||
  function setLiquidationThreshold(address asset, uint256 threshold) external onlyAaveAdmin {
 | 
			
		||||
    ReserveConfiguration.Map memory currentConfig = pool.getConfiguration(asset);
 | 
			
		||||
 | 
			
		||||
    currentConfig.setLiquidationThreshold(threshold);
 | 
			
		||||
| 
						 | 
				
			
			@ -504,7 +492,7 @@ contract LendingPoolConfigurator is VersionedInitializable {
 | 
			
		|||
   * @param asset the address of the reserve
 | 
			
		||||
   * @param bonus the new value for the liquidation bonus
 | 
			
		||||
   **/
 | 
			
		||||
  function setLiquidationBonus(address asset, uint256 bonus) external onlyLendingPoolManager {
 | 
			
		||||
  function setLiquidationBonus(address asset, uint256 bonus) external onlyAaveAdmin {
 | 
			
		||||
    ReserveConfiguration.Map memory currentConfig = pool.getConfiguration(asset);
 | 
			
		||||
 | 
			
		||||
    currentConfig.setLiquidationBonus(bonus);
 | 
			
		||||
| 
						 | 
				
			
			@ -519,7 +507,7 @@ contract LendingPoolConfigurator is VersionedInitializable {
 | 
			
		|||
   * @param asset the address of the reserve
 | 
			
		||||
   * @param decimals the new number of decimals
 | 
			
		||||
   **/
 | 
			
		||||
  function setReserveDecimals(address asset, uint256 decimals) external onlyLendingPoolManager {
 | 
			
		||||
  function setReserveDecimals(address asset, uint256 decimals) external onlyAaveAdmin {
 | 
			
		||||
    ReserveConfiguration.Map memory currentConfig = pool.getConfiguration(asset);
 | 
			
		||||
 | 
			
		||||
    currentConfig.setDecimals(decimals);
 | 
			
		||||
| 
						 | 
				
			
			@ -536,7 +524,7 @@ contract LendingPoolConfigurator is VersionedInitializable {
 | 
			
		|||
   **/
 | 
			
		||||
  function setReserveInterestRateStrategyAddress(address asset, address rateStrategyAddress)
 | 
			
		||||
    external
 | 
			
		||||
    onlyLendingPoolManager
 | 
			
		||||
    onlyAaveAdmin
 | 
			
		||||
  {
 | 
			
		||||
    pool.setReserveInterestRateStrategyAddress(asset, rateStrategyAddress);
 | 
			
		||||
    emit ReserveInterestRateStrategyChanged(asset, rateStrategyAddress);
 | 
			
		||||
| 
						 | 
				
			
			@ -587,7 +575,7 @@ contract LendingPoolConfigurator is VersionedInitializable {
 | 
			
		|||
   * @dev pauses or unpauses LendingPool actions
 | 
			
		||||
   * @param val the boolean value to set the current pause state of LendingPool
 | 
			
		||||
   **/
 | 
			
		||||
  function setPoolPause(bool val) external onlyLendingPoolManager {
 | 
			
		||||
  function setPoolPause(bool val) external onlyAaveAdmin {
 | 
			
		||||
    pool.setPause(val);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -59,7 +59,7 @@ library Errors {
 | 
			
		|||
  string public constant STABLE_BORROW_RATE_OVERFLOW = '51'; //  Stable borrow rate overflows uint128
 | 
			
		||||
 | 
			
		||||
  //require error messages - LendingPoolConfiguration
 | 
			
		||||
  string public constant CALLER_NOT_LENDING_POOL_MANAGER = '35'; // 'The caller must be a lending pool manager'
 | 
			
		||||
  string public constant CALLER_NOT_AAVE_ADMIN = '35'; // 'The caller must be a lending pool manager'
 | 
			
		||||
  string public constant RESERVE_LIQUIDITY_NOT_0 = '36'; // 'The liquidity of the reserve needs to be 0'
 | 
			
		||||
 | 
			
		||||
  //require error messages - LendingPoolAddressesProviderRegistry
 | 
			
		||||
| 
						 | 
				
			
			@ -79,7 +79,7 @@ library Errors {
 | 
			
		|||
 | 
			
		||||
  // pausable error message
 | 
			
		||||
  string public constant IS_PAUSED = '58'; // 'Pool is paused'
 | 
			
		||||
  enum LiquidationErrors {
 | 
			
		||||
  enum CollateralManagerErrors {
 | 
			
		||||
    NO_ERROR,
 | 
			
		||||
    NO_COLLATERAL_AVAILABLE,
 | 
			
		||||
    COLLATERAL_CANNOT_BE_LIQUIDATED,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -351,12 +351,12 @@ library ValidationLogic {
 | 
			
		|||
    if (
 | 
			
		||||
      !collateralReserve.configuration.getActive() || !principalReserve.configuration.getActive()
 | 
			
		||||
    ) {
 | 
			
		||||
      return (uint256(Errors.LiquidationErrors.NO_ACTIVE_RESERVE), Errors.NO_ACTIVE_RESERVE);
 | 
			
		||||
      return (uint256(Errors.CollateralManagerErrors.NO_ACTIVE_RESERVE), Errors.NO_ACTIVE_RESERVE);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (userHealthFactor >= GenericLogic.HEALTH_FACTOR_LIQUIDATION_THRESHOLD) {
 | 
			
		||||
      return (
 | 
			
		||||
        uint256(Errors.LiquidationErrors.HEALTH_FACTOR_ABOVE_THRESHOLD),
 | 
			
		||||
        uint256(Errors.CollateralManagerErrors.HEALTH_FACTOR_ABOVE_THRESHOLD),
 | 
			
		||||
        Errors.HEALTH_FACTOR_NOT_BELOW_THRESHOLD
 | 
			
		||||
      );
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -367,19 +367,19 @@ library ValidationLogic {
 | 
			
		|||
    //if collateral isn't enabled as collateral by user, it cannot be liquidated
 | 
			
		||||
    if (!isCollateralEnabled) {
 | 
			
		||||
      return (
 | 
			
		||||
        uint256(Errors.LiquidationErrors.COLLATERAL_CANNOT_BE_LIQUIDATED),
 | 
			
		||||
        uint256(Errors.CollateralManagerErrors.COLLATERAL_CANNOT_BE_LIQUIDATED),
 | 
			
		||||
        Errors.COLLATERAL_CANNOT_BE_LIQUIDATED
 | 
			
		||||
      );
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (userStableDebt == 0 && userVariableDebt == 0) {
 | 
			
		||||
      return (
 | 
			
		||||
        uint256(Errors.LiquidationErrors.CURRRENCY_NOT_BORROWED),
 | 
			
		||||
        uint256(Errors.CollateralManagerErrors.CURRRENCY_NOT_BORROWED),
 | 
			
		||||
        Errors.SPECIFIED_CURRENCY_NOT_BORROWED_BY_USER
 | 
			
		||||
      );
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return (uint256(Errors.LiquidationErrors.NO_ERROR), Errors.NO_ERRORS);
 | 
			
		||||
    return (uint256(Errors.CollateralManagerErrors.NO_ERROR), Errors.NO_ERRORS);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
| 
						 | 
				
			
			@ -404,14 +404,14 @@ library ValidationLogic {
 | 
			
		|||
    if (
 | 
			
		||||
      !collateralReserve.configuration.getActive() || !principalReserve.configuration.getActive()
 | 
			
		||||
    ) {
 | 
			
		||||
      return (uint256(Errors.LiquidationErrors.NO_ACTIVE_RESERVE), Errors.NO_ACTIVE_RESERVE);
 | 
			
		||||
      return (uint256(Errors.CollateralManagerErrors.NO_ACTIVE_RESERVE), Errors.NO_ACTIVE_RESERVE);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (
 | 
			
		||||
      msg.sender != user && userHealthFactor >= GenericLogic.HEALTH_FACTOR_LIQUIDATION_THRESHOLD
 | 
			
		||||
    ) {
 | 
			
		||||
      return (
 | 
			
		||||
        uint256(Errors.LiquidationErrors.HEALTH_FACTOR_ABOVE_THRESHOLD),
 | 
			
		||||
        uint256(Errors.CollateralManagerErrors.HEALTH_FACTOR_ABOVE_THRESHOLD),
 | 
			
		||||
        Errors.HEALTH_FACTOR_NOT_BELOW_THRESHOLD
 | 
			
		||||
      );
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -423,7 +423,7 @@ library ValidationLogic {
 | 
			
		|||
      //if collateral isn't enabled as collateral by user, it cannot be liquidated
 | 
			
		||||
      if (!isCollateralEnabled) {
 | 
			
		||||
        return (
 | 
			
		||||
          uint256(Errors.LiquidationErrors.COLLATERAL_CANNOT_BE_LIQUIDATED),
 | 
			
		||||
          uint256(Errors.CollateralManagerErrors.COLLATERAL_CANNOT_BE_LIQUIDATED),
 | 
			
		||||
          Errors.COLLATERAL_CANNOT_BE_LIQUIDATED
 | 
			
		||||
        );
 | 
			
		||||
      }
 | 
			
		||||
| 
						 | 
				
			
			@ -431,12 +431,12 @@ library ValidationLogic {
 | 
			
		|||
 | 
			
		||||
    if (userStableDebt == 0 && userVariableDebt == 0) {
 | 
			
		||||
      return (
 | 
			
		||||
        uint256(Errors.LiquidationErrors.CURRRENCY_NOT_BORROWED),
 | 
			
		||||
        uint256(Errors.CollateralManagerErrors.CURRRENCY_NOT_BORROWED),
 | 
			
		||||
        Errors.SPECIFIED_CURRENCY_NOT_BORROWED_BY_USER
 | 
			
		||||
      );
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return (uint256(Errors.LiquidationErrors.NO_ERROR), Errors.NO_ERRORS);
 | 
			
		||||
    return (uint256(Errors.CollateralManagerErrors.NO_ERROR), Errors.NO_ERRORS);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
| 
						 | 
				
			
			@ -453,16 +453,16 @@ library ValidationLogic {
 | 
			
		|||
    address toAsset
 | 
			
		||||
  ) internal view returns (uint256, string memory) {
 | 
			
		||||
    if (!fromReserve.configuration.getActive() || !toReserve.configuration.getActive()) {
 | 
			
		||||
      return (uint256(Errors.LiquidationErrors.NO_ACTIVE_RESERVE), Errors.NO_ACTIVE_RESERVE);
 | 
			
		||||
      return (uint256(Errors.CollateralManagerErrors.NO_ACTIVE_RESERVE), Errors.NO_ACTIVE_RESERVE);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (fromAsset == toAsset) {
 | 
			
		||||
      return (
 | 
			
		||||
        uint256(Errors.LiquidationErrors.INVALID_EQUAL_ASSETS_TO_SWAP),
 | 
			
		||||
        uint256(Errors.CollateralManagerErrors.INVALID_EQUAL_ASSETS_TO_SWAP),
 | 
			
		||||
        Errors.INVALID_EQUAL_ASSETS_TO_SWAP
 | 
			
		||||
      );
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return (uint256(Errors.LiquidationErrors.NO_ERROR), Errors.NO_ERRORS);
 | 
			
		||||
    return (uint256(Errors.CollateralManagerErrors.NO_ERROR), Errors.NO_ERRORS);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -86,7 +86,7 @@ export enum ProtocolErrors {
 | 
			
		|||
  RESERVE_ALREADY_INITIALIZED = '34', // 'Reserve has already been initialized'
 | 
			
		||||
 | 
			
		||||
  //require error messages - LendingPoolConfiguration
 | 
			
		||||
  CALLER_NOT_LENDING_POOL_MANAGER = '35', // 'The caller must be a lending pool manager'
 | 
			
		||||
  CALLER_NOT_AAVE_ADMIN = '35', // 'The caller must be a lending pool manager'
 | 
			
		||||
  RESERVE_LIQUIDITY_NOT_0 = '36', // 'The liquidity of the reserve needs to be 0'
 | 
			
		||||
 | 
			
		||||
  //require error messages - LendingPoolAddressesProviderRegistry
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -349,12 +349,12 @@ export const waitForTx = async (tx: ContractTransaction) => await tx.wait();
 | 
			
		|||
 | 
			
		||||
const buildTestEnv = async (deployer: Signer, secondaryWallet: Signer) => {
 | 
			
		||||
  console.time('setup');
 | 
			
		||||
  const lendingPoolManager = await deployer.getAddress();
 | 
			
		||||
  const aaveAdmin = await deployer.getAddress();
 | 
			
		||||
 | 
			
		||||
  const mockTokens = await deployAllMockTokens(deployer);
 | 
			
		||||
 | 
			
		||||
  const addressesProvider = await deployLendingPoolAddressesProvider();
 | 
			
		||||
  await waitForTx(await addressesProvider.setLendingPoolManager(lendingPoolManager));
 | 
			
		||||
  await waitForTx(await addressesProvider.setAaveAdmin(aaveAdmin));
 | 
			
		||||
 | 
			
		||||
  const addressesProviderRegistry = await deployLendingPoolAddressesProviderRegistry();
 | 
			
		||||
  await waitForTx(
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -6,7 +6,7 @@ import {ProtocolErrors} from '../helpers/types';
 | 
			
		|||
const {expect} = require('chai');
 | 
			
		||||
 | 
			
		||||
makeSuite('LendingPoolConfigurator', (testEnv: TestEnv) => {
 | 
			
		||||
  const {CALLER_NOT_LENDING_POOL_MANAGER, RESERVE_LIQUIDITY_NOT_0} = ProtocolErrors;
 | 
			
		||||
  const {CALLER_NOT_AAVE_ADMIN, RESERVE_LIQUIDITY_NOT_0} = ProtocolErrors;
 | 
			
		||||
 | 
			
		||||
  it('Deactivates the ETH reserve', async () => {
 | 
			
		||||
    const {configurator, pool, weth} = testEnv;
 | 
			
		||||
| 
						 | 
				
			
			@ -23,20 +23,20 @@ makeSuite('LendingPoolConfigurator', (testEnv: TestEnv) => {
 | 
			
		|||
    expect(isActive).to.be.equal(true);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('Check the onlyLendingPoolManager on deactivateReserve ', async () => {
 | 
			
		||||
  it('Check the onlyAaveAdmin on deactivateReserve ', async () => {
 | 
			
		||||
    const {configurator, users, weth} = testEnv;
 | 
			
		||||
    await expect(
 | 
			
		||||
      configurator.connect(users[2].signer).deactivateReserve(weth.address),
 | 
			
		||||
      CALLER_NOT_LENDING_POOL_MANAGER
 | 
			
		||||
    ).to.be.revertedWith(CALLER_NOT_LENDING_POOL_MANAGER);
 | 
			
		||||
      CALLER_NOT_AAVE_ADMIN
 | 
			
		||||
    ).to.be.revertedWith(CALLER_NOT_AAVE_ADMIN);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('Check the onlyLendingPoolManager on activateReserve ', async () => {
 | 
			
		||||
  it('Check the onlyAaveAdmin on activateReserve ', async () => {
 | 
			
		||||
    const {configurator, users, weth} = testEnv;
 | 
			
		||||
    await expect(
 | 
			
		||||
      configurator.connect(users[2].signer).activateReserve(weth.address),
 | 
			
		||||
      CALLER_NOT_LENDING_POOL_MANAGER
 | 
			
		||||
    ).to.be.revertedWith(CALLER_NOT_LENDING_POOL_MANAGER);
 | 
			
		||||
      CALLER_NOT_AAVE_ADMIN
 | 
			
		||||
    ).to.be.revertedWith(CALLER_NOT_AAVE_ADMIN);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('Freezes the ETH reserve', async () => {
 | 
			
		||||
| 
						 | 
				
			
			@ -54,20 +54,20 @@ makeSuite('LendingPoolConfigurator', (testEnv: TestEnv) => {
 | 
			
		|||
    expect(isFreezed).to.be.equal(false);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('Check the onlyLendingPoolManager on freezeReserve ', async () => {
 | 
			
		||||
  it('Check the onlyAaveAdmin on freezeReserve ', async () => {
 | 
			
		||||
    const {configurator, users, weth} = testEnv;
 | 
			
		||||
    await expect(
 | 
			
		||||
      configurator.connect(users[2].signer).freezeReserve(weth.address),
 | 
			
		||||
      CALLER_NOT_LENDING_POOL_MANAGER
 | 
			
		||||
    ).to.be.revertedWith(CALLER_NOT_LENDING_POOL_MANAGER);
 | 
			
		||||
      CALLER_NOT_AAVE_ADMIN
 | 
			
		||||
    ).to.be.revertedWith(CALLER_NOT_AAVE_ADMIN);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('Check the onlyLendingPoolManager on unfreezeReserve ', async () => {
 | 
			
		||||
  it('Check the onlyAaveAdmin on unfreezeReserve ', async () => {
 | 
			
		||||
    const {configurator, users, weth} = testEnv;
 | 
			
		||||
    await expect(
 | 
			
		||||
      configurator.connect(users[2].signer).unfreezeReserve(weth.address),
 | 
			
		||||
      CALLER_NOT_LENDING_POOL_MANAGER
 | 
			
		||||
    ).to.be.revertedWith(CALLER_NOT_LENDING_POOL_MANAGER);
 | 
			
		||||
      CALLER_NOT_AAVE_ADMIN
 | 
			
		||||
    ).to.be.revertedWith(CALLER_NOT_AAVE_ADMIN);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('Deactivates the ETH reserve for borrowing', async () => {
 | 
			
		||||
| 
						 | 
				
			
			@ -86,20 +86,20 @@ makeSuite('LendingPoolConfigurator', (testEnv: TestEnv) => {
 | 
			
		|||
    expect(variableBorrowIndex.toString()).to.be.equal(RAY);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('Check the onlyLendingPoolManager on disableBorrowingOnReserve ', async () => {
 | 
			
		||||
  it('Check the onlyAaveAdmin on disableBorrowingOnReserve ', async () => {
 | 
			
		||||
    const {configurator, users, weth} = testEnv;
 | 
			
		||||
    await expect(
 | 
			
		||||
      configurator.connect(users[2].signer).disableBorrowingOnReserve(weth.address),
 | 
			
		||||
      CALLER_NOT_LENDING_POOL_MANAGER
 | 
			
		||||
    ).to.be.revertedWith(CALLER_NOT_LENDING_POOL_MANAGER);
 | 
			
		||||
      CALLER_NOT_AAVE_ADMIN
 | 
			
		||||
    ).to.be.revertedWith(CALLER_NOT_AAVE_ADMIN);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('Check the onlyLendingPoolManager on enableBorrowingOnReserve ', async () => {
 | 
			
		||||
  it('Check the onlyAaveAdmin on enableBorrowingOnReserve ', async () => {
 | 
			
		||||
    const {configurator, users, weth} = testEnv;
 | 
			
		||||
    await expect(
 | 
			
		||||
      configurator.connect(users[2].signer).enableBorrowingOnReserve(weth.address, true),
 | 
			
		||||
      CALLER_NOT_LENDING_POOL_MANAGER
 | 
			
		||||
    ).to.be.revertedWith(CALLER_NOT_LENDING_POOL_MANAGER);
 | 
			
		||||
      CALLER_NOT_AAVE_ADMIN
 | 
			
		||||
    ).to.be.revertedWith(CALLER_NOT_AAVE_ADMIN);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('Deactivates the ETH reserve as collateral', async () => {
 | 
			
		||||
| 
						 | 
				
			
			@ -117,22 +117,22 @@ makeSuite('LendingPoolConfigurator', (testEnv: TestEnv) => {
 | 
			
		|||
    expect(usageAsCollateralEnabled).to.be.equal(true);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('Check the onlyLendingPoolManager on disableReserveAsCollateral ', async () => {
 | 
			
		||||
  it('Check the onlyAaveAdmin on disableReserveAsCollateral ', async () => {
 | 
			
		||||
    const {configurator, users, weth} = testEnv;
 | 
			
		||||
    await expect(
 | 
			
		||||
      configurator.connect(users[2].signer).disableReserveAsCollateral(weth.address),
 | 
			
		||||
      CALLER_NOT_LENDING_POOL_MANAGER
 | 
			
		||||
    ).to.be.revertedWith(CALLER_NOT_LENDING_POOL_MANAGER);
 | 
			
		||||
      CALLER_NOT_AAVE_ADMIN
 | 
			
		||||
    ).to.be.revertedWith(CALLER_NOT_AAVE_ADMIN);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('Check the onlyLendingPoolManager on enableReserveAsCollateral ', async () => {
 | 
			
		||||
  it('Check the onlyAaveAdmin on enableReserveAsCollateral ', async () => {
 | 
			
		||||
    const {configurator, users, weth} = testEnv;
 | 
			
		||||
    await expect(
 | 
			
		||||
      configurator
 | 
			
		||||
        .connect(users[2].signer)
 | 
			
		||||
        .enableReserveAsCollateral(weth.address, '75', '80', '105'),
 | 
			
		||||
      CALLER_NOT_LENDING_POOL_MANAGER
 | 
			
		||||
    ).to.be.revertedWith(CALLER_NOT_LENDING_POOL_MANAGER);
 | 
			
		||||
      CALLER_NOT_AAVE_ADMIN
 | 
			
		||||
    ).to.be.revertedWith(CALLER_NOT_AAVE_ADMIN);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('Disable stable borrow rate on the ETH reserve', async () => {
 | 
			
		||||
| 
						 | 
				
			
			@ -149,20 +149,20 @@ makeSuite('LendingPoolConfigurator', (testEnv: TestEnv) => {
 | 
			
		|||
    expect(stableBorrowRateEnabled).to.be.equal(true);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('Check the onlyLendingPoolManager on disableReserveStableRate', async () => {
 | 
			
		||||
  it('Check the onlyAaveAdmin on disableReserveStableRate', async () => {
 | 
			
		||||
    const {configurator, users, weth} = testEnv;
 | 
			
		||||
    await expect(
 | 
			
		||||
      configurator.connect(users[2].signer).disableReserveStableRate(weth.address),
 | 
			
		||||
      CALLER_NOT_LENDING_POOL_MANAGER
 | 
			
		||||
    ).to.be.revertedWith(CALLER_NOT_LENDING_POOL_MANAGER);
 | 
			
		||||
      CALLER_NOT_AAVE_ADMIN
 | 
			
		||||
    ).to.be.revertedWith(CALLER_NOT_AAVE_ADMIN);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('Check the onlyLendingPoolManager on enableReserveStableRate', async () => {
 | 
			
		||||
  it('Check the onlyAaveAdmin on enableReserveStableRate', async () => {
 | 
			
		||||
    const {configurator, users, weth} = testEnv;
 | 
			
		||||
    await expect(
 | 
			
		||||
      configurator.connect(users[2].signer).enableReserveStableRate(weth.address),
 | 
			
		||||
      CALLER_NOT_LENDING_POOL_MANAGER
 | 
			
		||||
    ).to.be.revertedWith(CALLER_NOT_LENDING_POOL_MANAGER);
 | 
			
		||||
      CALLER_NOT_AAVE_ADMIN
 | 
			
		||||
    ).to.be.revertedWith(CALLER_NOT_AAVE_ADMIN);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('Changes LTV of the reserve', async () => {
 | 
			
		||||
| 
						 | 
				
			
			@ -172,12 +172,12 @@ makeSuite('LendingPoolConfigurator', (testEnv: TestEnv) => {
 | 
			
		|||
    expect(ltv.toString()).to.be.bignumber.equal('60', 'Invalid LTV');
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('Check the onlyLendingPoolManager on setLtv', async () => {
 | 
			
		||||
  it('Check the onlyAaveAdmin on setLtv', async () => {
 | 
			
		||||
    const {configurator, users, weth} = testEnv;
 | 
			
		||||
    await expect(
 | 
			
		||||
      configurator.connect(users[2].signer).setLtv(weth.address, '75'),
 | 
			
		||||
      CALLER_NOT_LENDING_POOL_MANAGER
 | 
			
		||||
    ).to.be.revertedWith(CALLER_NOT_LENDING_POOL_MANAGER);
 | 
			
		||||
      CALLER_NOT_AAVE_ADMIN
 | 
			
		||||
    ).to.be.revertedWith(CALLER_NOT_AAVE_ADMIN);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('Changes liquidation threshold of the reserve', async () => {
 | 
			
		||||
| 
						 | 
				
			
			@ -190,12 +190,12 @@ makeSuite('LendingPoolConfigurator', (testEnv: TestEnv) => {
 | 
			
		|||
    );
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('Check the onlyLendingPoolManager on setLiquidationThreshold', async () => {
 | 
			
		||||
  it('Check the onlyAaveAdmin on setLiquidationThreshold', async () => {
 | 
			
		||||
    const {configurator, users, weth} = testEnv;
 | 
			
		||||
    await expect(
 | 
			
		||||
      configurator.connect(users[2].signer).setLiquidationThreshold(weth.address, '80'),
 | 
			
		||||
      CALLER_NOT_LENDING_POOL_MANAGER
 | 
			
		||||
    ).to.be.revertedWith(CALLER_NOT_LENDING_POOL_MANAGER);
 | 
			
		||||
      CALLER_NOT_AAVE_ADMIN
 | 
			
		||||
    ).to.be.revertedWith(CALLER_NOT_AAVE_ADMIN);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('Changes liquidation bonus of the reserve', async () => {
 | 
			
		||||
| 
						 | 
				
			
			@ -208,28 +208,28 @@ makeSuite('LendingPoolConfigurator', (testEnv: TestEnv) => {
 | 
			
		|||
    );
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('Check the onlyLendingPoolManager on setLiquidationBonus', async () => {
 | 
			
		||||
  it('Check the onlyAaveAdmin on setLiquidationBonus', async () => {
 | 
			
		||||
    const {configurator, users, weth} = testEnv;
 | 
			
		||||
    await expect(
 | 
			
		||||
      configurator.connect(users[2].signer).setLiquidationBonus(weth.address, '80'),
 | 
			
		||||
      CALLER_NOT_LENDING_POOL_MANAGER
 | 
			
		||||
    ).to.be.revertedWith(CALLER_NOT_LENDING_POOL_MANAGER);
 | 
			
		||||
      CALLER_NOT_AAVE_ADMIN
 | 
			
		||||
    ).to.be.revertedWith(CALLER_NOT_AAVE_ADMIN);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('Check the onlyLendingPoolManager on setReserveDecimals', async () => {
 | 
			
		||||
  it('Check the onlyAaveAdmin on setReserveDecimals', async () => {
 | 
			
		||||
    const {configurator, users, weth} = testEnv;
 | 
			
		||||
    await expect(
 | 
			
		||||
      configurator.connect(users[2].signer).setReserveDecimals(weth.address, '80'),
 | 
			
		||||
      CALLER_NOT_LENDING_POOL_MANAGER
 | 
			
		||||
    ).to.be.revertedWith(CALLER_NOT_LENDING_POOL_MANAGER);
 | 
			
		||||
      CALLER_NOT_AAVE_ADMIN
 | 
			
		||||
    ).to.be.revertedWith(CALLER_NOT_AAVE_ADMIN);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('Check the onlyLendingPoolManager on setLiquidationBonus', async () => {
 | 
			
		||||
  it('Check the onlyAaveAdmin on setLiquidationBonus', async () => {
 | 
			
		||||
    const {configurator, users, weth} = testEnv;
 | 
			
		||||
    await expect(
 | 
			
		||||
      configurator.connect(users[2].signer).setLiquidationBonus(weth.address, '80'),
 | 
			
		||||
      CALLER_NOT_LENDING_POOL_MANAGER
 | 
			
		||||
    ).to.be.revertedWith(CALLER_NOT_LENDING_POOL_MANAGER);
 | 
			
		||||
      CALLER_NOT_AAVE_ADMIN
 | 
			
		||||
    ).to.be.revertedWith(CALLER_NOT_AAVE_ADMIN);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('Reverts when trying to disable the DAI reserve with liquidity on it', async () => {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -15,7 +15,7 @@ makeSuite('LendingPoolAddressesProvider', (testEnv: TestEnv) => {
 | 
			
		|||
      addressesProvider.setLendingPoolImpl,
 | 
			
		||||
      addressesProvider.setLendingPoolConfiguratorImpl,
 | 
			
		||||
      addressesProvider.setLendingPoolCollateralManager,
 | 
			
		||||
      addressesProvider.setLendingPoolManager,
 | 
			
		||||
      addressesProvider.setAaveAdmin,
 | 
			
		||||
      addressesProvider.setPriceOracle,
 | 
			
		||||
      addressesProvider.setLendingRateOracle,
 | 
			
		||||
    ]) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -12,7 +12,7 @@ import {MockStableDebtToken} from '../types/MockStableDebtToken';
 | 
			
		|||
import {MockVariableDebtToken} from '../types/MockVariableDebtToken';
 | 
			
		||||
 | 
			
		||||
makeSuite('Upgradeability', (testEnv: TestEnv) => {
 | 
			
		||||
  const {CALLER_NOT_LENDING_POOL_MANAGER} = ProtocolErrors;
 | 
			
		||||
  const {CALLER_NOT_AAVE_ADMIN} = ProtocolErrors;
 | 
			
		||||
  let newATokenAddress: string;
 | 
			
		||||
  let newStableTokenAddress: string;
 | 
			
		||||
  let newVariableTokenAddress: string;
 | 
			
		||||
| 
						 | 
				
			
			@ -46,7 +46,7 @@ makeSuite('Upgradeability', (testEnv: TestEnv) => {
 | 
			
		|||
 | 
			
		||||
    await expect(
 | 
			
		||||
      configurator.connect(users[1].signer).updateAToken(dai.address, newATokenAddress)
 | 
			
		||||
    ).to.be.revertedWith(CALLER_NOT_LENDING_POOL_MANAGER);
 | 
			
		||||
    ).to.be.revertedWith(CALLER_NOT_AAVE_ADMIN);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('Upgrades the DAI Atoken implementation ', async () => {
 | 
			
		||||
| 
						 | 
				
			
			@ -68,7 +68,7 @@ makeSuite('Upgradeability', (testEnv: TestEnv) => {
 | 
			
		|||
      configurator
 | 
			
		||||
        .connect(users[1].signer)
 | 
			
		||||
        .updateStableDebtToken(dai.address, newStableTokenAddress)
 | 
			
		||||
    ).to.be.revertedWith(CALLER_NOT_LENDING_POOL_MANAGER);
 | 
			
		||||
    ).to.be.revertedWith(CALLER_NOT_AAVE_ADMIN);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('Upgrades the DAI stable debt token implementation ', async () => {
 | 
			
		||||
| 
						 | 
				
			
			@ -97,7 +97,7 @@ makeSuite('Upgradeability', (testEnv: TestEnv) => {
 | 
			
		|||
      configurator
 | 
			
		||||
        .connect(users[1].signer)
 | 
			
		||||
        .updateVariableDebtToken(dai.address, newVariableTokenAddress)
 | 
			
		||||
    ).to.be.revertedWith(CALLER_NOT_LENDING_POOL_MANAGER);
 | 
			
		||||
    ).to.be.revertedWith(CALLER_NOT_AAVE_ADMIN);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('Upgrades the DAI variable debt token implementation ', async () => {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue
	
	Block a user