mirror of
https://github.com/Instadapp/aave-protocol-v2.git
synced 2024-07-29 21:47:30 +00:00
206 lines
6.6 KiB
Solidity
206 lines
6.6 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 is paused
|
|
* @param asset The address of the underlying asset of the reserve
|
|
**/
|
|
event ReservePaused(address indexed asset);
|
|
|
|
/**
|
|
* @dev Emitted when a reserve is unpaused
|
|
* @param asset The address of the underlying asset of the reserve
|
|
**/
|
|
event ReserveUnpaused(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 borrow cap of a reserve is updated
|
|
* @param asset The address of the underlying asset of the reserve
|
|
* @param borrowCap The new borrow cap
|
|
**/
|
|
event BorrowCapChanged(address indexed asset, uint256 borrowCap);
|
|
|
|
/**
|
|
* @dev Emitted when the supply cap of a reserve is updated
|
|
* @param asset The address of the underlying asset of the reserve
|
|
* @param supplyCap The new supply cap
|
|
**/
|
|
event SupplyCapChanged(address indexed asset, uint256 supplyCap);
|
|
|
|
/**
|
|
* @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
|
|
);
|
|
}
|