InterestRateModel

Given supply and demand values, the InterestRateModel is queried to calculate and return both fixed and variable rates. Contains parameters as state variables that are used to get the different points in the utilization curve for an asset. There's one InterestRateModel contract per enabled asset.

Public State Variables

fixedCurveA

function fixedCurveA() external view returns (uint256)
Scale factor of the fixed curve.

fixedCurveB

function fixedCurveB() external view returns (int256)
Origin intercept of the fixed curve.

fixedMaxUtilization

function fixedMaxUtilization() external view returns (uint256)
Asymptote of the fixed curve.

floatingCurveA

function floatingCurveA() external view returns (uint256)
Scale factor of the floating curve.

floatingCurveB

function floatingCurveB() external view returns (int256)
Origin intercept of the floating curve.

floatingMaxUtilization

function floatingMaxUtilization() external view returns (uint256)
Asymptote of the floating curve.

View Methods

fixedBorrowRate

function fixedBorrowRate(uint256 maturity, uint256 amount, uint256 borrowed, uint256 supplied, uint256 backupAssets) external view returns (uint256)
Gets the rate to borrow a certain amount at a certain maturity with supply/demand values in the fixed rate pool and assets from the backup supplier.
Parameters
Name
Type
Description
maturity
uint256
maturity date for calculating days left to maturity.
amount
uint256
the current borrow's amount.
borrowed
uint256
ex-ante amount borrowed from this fixed rate pool.
supplied
uint256
deposits in the fixed rate pool.
backupAssets
uint256
backup supplier assets.
Returns
Type
Description
uint256
rate of the fee that the borrower will have to pay (represented with 18 decimals).

floatingBorrowRate

function floatingBorrowRate(uint256 utilizationBefore, uint256 utilizationAfter) external view returns (uint256)
Returns the interest rate integral from utilizationBefore to utilizationAfter.
Minimum and maximum checks to avoid negative rate.
Parameters
Name
Type
Description
utilizationBefore
uint256
ex-ante utilization rate, with 18 decimals precision.
utilizationAfter
uint256
ex-post utilization rate, with 18 decimals precision.
Returns
Type
Description
uint256
the interest rate, with 18 decimals precision.