mirror of
				https://github.com/Instadapp/aave-protocol-v2.git
				synced 2024-07-29 21:47:30 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			63 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Solidity
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Solidity
		
	
	
	
	
	
| // SPDX-License-Identifier: agpl-3.0
 | |
| pragma solidity 0.6.12;
 | |
| 
 | |
| import {IScaledBalanceToken} from './IScaledBalanceToken.sol';
 | |
| import {IInitializableDebtToken} from './IInitializableDebtToken.sol';
 | |
| import {IAaveIncentivesController} from './IAaveIncentivesController.sol';
 | |
| 
 | |
| /**
 | |
|  * @title IVariableDebtToken
 | |
|  * @author Aave
 | |
|  * @notice Defines the basic interface for a variable debt token.
 | |
|  **/
 | |
| interface IVariableDebtToken is IScaledBalanceToken, IInitializableDebtToken {
 | |
|   /**
 | |
|    * @dev Emitted after the mint action
 | |
|    * @param from The address performing the mint
 | |
|    * @param onBehalfOf The address of the user on which behalf minting has been performed
 | |
|    * @param value The amount to be minted
 | |
|    * @param index The last index of the reserve
 | |
|    **/
 | |
|   event Mint(address indexed from, address indexed onBehalfOf, uint256 value, uint256 index);
 | |
| 
 | |
|   /**
 | |
|    * @dev Mints debt token to the `onBehalfOf` address
 | |
|    * @param user The address receiving the borrowed underlying, being the delegatee in case
 | |
|    * of credit delegate, or same as `onBehalfOf` otherwise
 | |
|    * @param onBehalfOf The address receiving the debt tokens
 | |
|    * @param amount The amount of debt being minted
 | |
|    * @param index The variable debt index of the reserve
 | |
|    * @return `true` if the the previous balance of the user is 0
 | |
|    **/
 | |
|   function mint(
 | |
|     address user,
 | |
|     address onBehalfOf,
 | |
|     uint256 amount,
 | |
|     uint256 index
 | |
|   ) external returns (bool);
 | |
| 
 | |
|   /**
 | |
|    * @dev Emitted when variable debt is burnt
 | |
|    * @param user The user which debt has been burned
 | |
|    * @param amount The amount of debt being burned
 | |
|    * @param index The index of the user
 | |
|    **/
 | |
|   event Burn(address indexed user, uint256 amount, uint256 index);
 | |
| 
 | |
|   /**
 | |
|    * @dev Burns user variable debt
 | |
|    * @param user The user which debt is burnt
 | |
|    * @param index The variable debt index of the reserve
 | |
|    **/
 | |
|   function burn(
 | |
|     address user,
 | |
|     uint256 amount,
 | |
|     uint256 index
 | |
|   ) external;
 | |
| 
 | |
|   /**
 | |
|    * @dev Returns the address of the incentives controller contract
 | |
|    **/
 | |
|   function getIncentivesController() external view returns (IAaveIncentivesController);
 | |
| }
 | 
