mirror of
				https://github.com/Instadapp/aave-protocol-v2.git
				synced 2024-07-29 21:47:30 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			180 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			Solidity
		
	
	
	
	
	
			
		
		
	
	
			180 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			Solidity
		
	
	
	
	
	
| // SPDX-License-Identifier: agpl-3.0
 | |
| pragma solidity 0.6.12;
 | |
| pragma experimental ABIEncoderV2;
 | |
| 
 | |
| interface ILendingPoolConfigurator {
 | |
|   struct InitReserveInput {
 | |
|     address aTokenImpl;
 | |
|     address stableDebtTokenImpl;
 | |
|     address variableDebtTokenImpl;
 | |
|     uint8 underlyingAssetDecimals;
 | |
|     address interestRateStrategyAddress;
 | |
|     address underlyingAsset;
 | |
|     address treasury;
 | |
|     address incentivesController;
 | |
|     string underlyingAssetName;
 | |
|     string aTokenName;
 | |
|     string aTokenSymbol;
 | |
|     string variableDebtTokenName;
 | |
|     string variableDebtTokenSymbol;
 | |
|     string stableDebtTokenName;
 | |
|     string stableDebtTokenSymbol;
 | |
|     bytes params;
 | |
|   }
 | |
| 
 | |
|   struct UpdateATokenInput {
 | |
|     address asset;
 | |
|     address treasury;
 | |
|     address incentivesController;
 | |
|     string name;
 | |
|     string symbol;
 | |
|     address implementation;
 | |
|     bytes params;
 | |
|   }
 | |
| 
 | |
|   struct UpdateDebtTokenInput {
 | |
|     address asset;
 | |
|     address incentivesController;
 | |
|     string name;
 | |
|     string symbol;
 | |
|     address implementation;
 | |
|     bytes params;
 | |
|   }
 | |
| 
 | |
|   /**
 | |
|    * @dev Emitted when a reserve is initialized.
 | |
|    * @param asset The address of the underlying asset of the reserve
 | |
|    * @param aToken The address of the associated aToken contract
 | |
|    * @param stableDebtToken The address of the associated stable rate debt token
 | |
|    * @param variableDebtToken The address of the associated variable rate debt token
 | |
|    * @param interestRateStrategyAddress The address of the interest rate strategy for the reserve
 | |
|    **/
 | |
|   event ReserveInitialized(
 | |
|     address indexed asset,
 | |
|     address indexed aToken,
 | |
|     address stableDebtToken,
 | |
|     address variableDebtToken,
 | |
|     address interestRateStrategyAddress
 | |
|   );
 | |
| 
 | |
|   /**
 | |
|    * @dev Emitted when borrowing is enabled on a reserve
 | |
|    * @param asset The address of the underlying asset of the reserve
 | |
|    * @param stableRateEnabled True if stable rate borrowing is enabled, false otherwise
 | |
|    **/
 | |
|   event BorrowingEnabledOnReserve(address indexed asset, bool stableRateEnabled);
 | |
| 
 | |
|   /**
 | |
|    * @dev Emitted when borrowing is disabled on a reserve
 | |
|    * @param asset The address of the underlying asset of the reserve
 | |
|    **/
 | |
|   event BorrowingDisabledOnReserve(address indexed asset);
 | |
| 
 | |
|   /**
 | |
|    * @dev Emitted when the collateralization risk parameters for the specified asset are updated.
 | |
|    * @param asset The address of the underlying asset of the reserve
 | |
|    * @param ltv The loan to value of the asset when used as collateral
 | |
|    * @param liquidationThreshold The threshold at which loans using this asset as collateral will be considered undercollateralized
 | |
|    * @param liquidationBonus The bonus liquidators receive to liquidate this asset
 | |
|    **/
 | |
|   event CollateralConfigurationChanged(
 | |
|     address indexed asset,
 | |
|     uint256 ltv,
 | |
|     uint256 liquidationThreshold,
 | |
|     uint256 liquidationBonus
 | |
|   );
 | |
| 
 | |
|   /**
 | |
|    * @dev Emitted when stable rate borrowing is enabled on a reserve
 | |
|    * @param asset The address of the underlying asset of the reserve
 | |
|    **/
 | |
|   event StableRateEnabledOnReserve(address indexed asset);
 | |
| 
 | |
|   /**
 | |
|    * @dev Emitted when stable rate borrowing is disabled on a reserve
 | |
|    * @param asset The address of the underlying asset of the reserve
 | |
|    **/
 | |
|   event StableRateDisabledOnReserve(address indexed asset);
 | |
| 
 | |
|   /**
 | |
|    * @dev Emitted when a reserve is activated
 | |
|    * @param asset The address of the underlying asset of the reserve
 | |
|    **/
 | |
|   event ReserveActivated(address indexed asset);
 | |
| 
 | |
|   /**
 | |
|    * @dev Emitted when a reserve is deactivated
 | |
|    * @param asset The address of the underlying asset of the reserve
 | |
|    **/
 | |
|   event ReserveDeactivated(address indexed asset);
 | |
| 
 | |
|   /**
 | |
|    * @dev Emitted when a reserve is frozen
 | |
|    * @param asset The address of the underlying asset of the reserve
 | |
|    **/
 | |
|   event ReserveFrozen(address indexed asset);
 | |
| 
 | |
|   /**
 | |
|    * @dev Emitted when a reserve is unfrozen
 | |
|    * @param asset The address of the underlying asset of the reserve
 | |
|    **/
 | |
|   event ReserveUnfrozen(address indexed asset);
 | |
| 
 | |
|   /**
 | |
|    * @dev Emitted when a reserve factor is updated
 | |
|    * @param asset The address of the underlying asset of the reserve
 | |
|    * @param factor The new reserve factor
 | |
|    **/
 | |
|   event ReserveFactorChanged(address indexed asset, uint256 factor);
 | |
| 
 | |
|   /**
 | |
|    * @dev Emitted when the reserve decimals are updated
 | |
|    * @param asset The address of the underlying asset of the reserve
 | |
|    * @param decimals The new decimals
 | |
|    **/
 | |
|   event ReserveDecimalsChanged(address indexed asset, uint256 decimals);
 | |
| 
 | |
|   /**
 | |
|    * @dev Emitted when a reserve interest strategy contract is updated
 | |
|    * @param asset The address of the underlying asset of the reserve
 | |
|    * @param strategy The new address of the interest strategy contract
 | |
|    **/
 | |
|   event ReserveInterestRateStrategyChanged(address indexed asset, address strategy);
 | |
| 
 | |
|   /**
 | |
|    * @dev Emitted when an aToken implementation is upgraded
 | |
|    * @param asset The address of the underlying asset of the reserve
 | |
|    * @param proxy The aToken proxy address
 | |
|    * @param implementation The new aToken implementation
 | |
|    **/
 | |
|   event ATokenUpgraded(
 | |
|     address indexed asset,
 | |
|     address indexed proxy,
 | |
|     address indexed implementation
 | |
|   );
 | |
| 
 | |
|   /**
 | |
|    * @dev Emitted when the implementation of a stable debt token is upgraded
 | |
|    * @param asset The address of the underlying asset of the reserve
 | |
|    * @param proxy The stable debt token proxy address
 | |
|    * @param implementation The new aToken implementation
 | |
|    **/
 | |
|   event StableDebtTokenUpgraded(
 | |
|     address indexed asset,
 | |
|     address indexed proxy,
 | |
|     address indexed implementation
 | |
|   );
 | |
| 
 | |
|   /**
 | |
|    * @dev Emitted when the implementation of a variable debt token is upgraded
 | |
|    * @param asset The address of the underlying asset of the reserve
 | |
|    * @param proxy The variable debt token proxy address
 | |
|    * @param implementation The new aToken implementation
 | |
|    **/
 | |
|   event VariableDebtTokenUpgraded(
 | |
|     address indexed asset,
 | |
|     address indexed proxy,
 | |
|     address indexed implementation
 | |
|   );
 | |
| }
 | 
