2020-05-29 16:45:37 +00:00
|
|
|
// SPDX-License-Identifier: agpl-3.0
|
2020-11-20 10:45:20 +00:00
|
|
|
pragma solidity 0.6.12;
|
2020-05-29 16:45:37 +00:00
|
|
|
|
|
|
|
/**
|
2020-11-19 13:48:15 +00:00
|
|
|
* @title IReserveInterestRateStrategyInterface interface
|
|
|
|
* @dev Interface for the calculation of the interest rates
|
|
|
|
* @author Aave
|
|
|
|
*/
|
2020-05-29 16:45:37 +00:00
|
|
|
interface IReserveInterestRateStrategy {
|
2020-08-24 12:35:59 +00:00
|
|
|
function baseVariableBorrowRate() external view returns (uint256);
|
2020-05-29 16:45:37 +00:00
|
|
|
|
2020-09-21 17:52:22 +00:00
|
|
|
function getMaxVariableBorrowRate() external view returns (uint256);
|
|
|
|
|
2021-03-05 09:36:55 +00:00
|
|
|
function calculateInterestRates(
|
|
|
|
address reserve,
|
|
|
|
uint256 availableLiquidity,
|
|
|
|
uint256 totalStableDebt,
|
|
|
|
uint256 totalVariableDebt,
|
|
|
|
uint256 averageStableBorrowRate,
|
|
|
|
uint256 reserveFactor
|
|
|
|
)
|
|
|
|
external
|
|
|
|
view
|
|
|
|
returns (
|
|
|
|
uint256,
|
|
|
|
uint256,
|
|
|
|
uint256
|
|
|
|
);
|
|
|
|
|
2020-07-13 08:54:08 +00:00
|
|
|
function calculateInterestRates(
|
2020-08-21 13:38:47 +00:00
|
|
|
address reserve,
|
2021-03-01 14:58:31 +00:00
|
|
|
address aToken,
|
|
|
|
uint256 liquidityAdded,
|
|
|
|
uint256 liquidityTaken,
|
2020-09-14 13:13:30 +00:00
|
|
|
uint256 totalStableDebt,
|
|
|
|
uint256 totalVariableDebt,
|
2020-09-10 10:51:52 +00:00
|
|
|
uint256 averageStableBorrowRate,
|
|
|
|
uint256 reserveFactor
|
2020-07-13 08:54:08 +00:00
|
|
|
)
|
2020-05-29 16:45:37 +00:00
|
|
|
external
|
|
|
|
view
|
2020-07-13 08:54:08 +00:00
|
|
|
returns (
|
|
|
|
uint256 liquidityRate,
|
|
|
|
uint256 stableBorrowRate,
|
|
|
|
uint256 variableBorrowRate
|
|
|
|
);
|
2020-05-29 16:45:37 +00:00
|
|
|
}
|