2021-01-28 10:05:19 +00:00
|
|
|
// SPDX-License-Identifier: agpl-3.0
|
|
|
|
pragma solidity 0.6.12;
|
|
|
|
|
|
|
|
import {ILendingPool} from './ILendingPool.sol';
|
|
|
|
import {IAaveIncentivesController} from './IAaveIncentivesController.sol';
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @title IInitializableAToken
|
|
|
|
* @notice Interface for the initialize function on AToken
|
|
|
|
* @author Aave
|
|
|
|
**/
|
|
|
|
interface IInitializableAToken {
|
2021-03-01 17:33:48 +00:00
|
|
|
/**
|
|
|
|
* @dev Emitted when an aToken is initialized
|
|
|
|
* @param underlyingAsset The address of the underlying asset
|
|
|
|
* @param pool The address of the associated lending pool
|
|
|
|
* @param treasury The address of the treasury
|
|
|
|
* @param incentivesController The address of the incentives controller for this aToken
|
|
|
|
* @param aTokenDecimals the decimals of the underlying
|
|
|
|
* @param aTokenName the name of the aToken
|
|
|
|
* @param aTokenSymbol the symbol of the aToken
|
|
|
|
* @param params A set of encoded parameters for additional initialization
|
|
|
|
**/
|
|
|
|
event Initialized(
|
|
|
|
address indexed underlyingAsset,
|
|
|
|
address indexed pool,
|
|
|
|
address treasury,
|
|
|
|
address incentivesController,
|
|
|
|
uint8 aTokenDecimals,
|
|
|
|
string aTokenName,
|
|
|
|
string aTokenSymbol,
|
|
|
|
bytes params
|
|
|
|
);
|
|
|
|
|
2021-01-28 10:05:19 +00:00
|
|
|
/**
|
|
|
|
* @dev Initializes the aToken
|
|
|
|
* @param pool The address of the lending pool where this aToken will be used
|
|
|
|
* @param treasury The address of the Aave treasury, receiving the fees on this aToken
|
|
|
|
* @param underlyingAsset The address of the underlying asset of this aToken (E.g. WETH for aWETH)
|
|
|
|
* @param incentivesController The smart contract managing potential incentives distribution
|
|
|
|
* @param aTokenDecimals The decimals of the aToken, same as the underlying asset's
|
|
|
|
* @param aTokenName The name of the aToken
|
|
|
|
* @param aTokenSymbol The symbol of the aToken
|
|
|
|
*/
|
|
|
|
function initialize(
|
|
|
|
ILendingPool pool,
|
|
|
|
address treasury,
|
|
|
|
address underlyingAsset,
|
|
|
|
IAaveIncentivesController incentivesController,
|
|
|
|
uint8 aTokenDecimals,
|
|
|
|
string calldata aTokenName,
|
2021-02-26 17:17:10 +00:00
|
|
|
string calldata aTokenSymbol,
|
|
|
|
bytes calldata params
|
2021-01-28 10:05:19 +00:00
|
|
|
) external;
|
|
|
|
}
|