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

NameTypeDescription

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

TypeDescription

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

NameTypeDescription

utilizationBefore

uint256

ex-ante utilization rate, with 18 decimals precision.

utilizationAfter

uint256

ex-post utilization rate, with 18 decimals precision.

Returns

TypeDescription

uint256

the interest rate, with 18 decimals precision.

Last updated