Skip to content

JumpModel

This page describes the BNB Core JumpRateModel source in venus-protocol v10.3.0. A market can point to this model directly or through a CheckpointView wrapper.

Approximate blocks per year used to convert annual constructor parameters to per-block rates.

uint256 blocksPerYear

Construct an interest rate model

constructor(uint256 baseRatePerYear, uint256 multiplierPerYear, uint256 jumpMultiplierPerYear, uint256 kink_, uint256 blocksPerYear_) public
NameTypeDescription
baseRatePerYearuint256The approximate target base APR, as a mantissa (scaled by 1e18)
multiplierPerYearuint256The rate of increase in interest rate wrt utilization (scaled by 1e18)
jumpMultiplierPerYearuint256The multiplierPerBlock after hitting a specified utilization point
kink_uint256The utilization point at which the jump multiplier is applied
blocksPerYear_uint256The approximate number of blocks per year assumed by this model

Calculates the utilization rate of the market: borrows / (cash + borrows - reserves)

function utilizationRate(uint256 cash, uint256 borrows, uint256 reserves) public pure returns (uint256)
NameTypeDescription
cashuint256The amount of cash in the market
borrowsuint256The amount of borrows in the market
reservesuint256The amount of reserves in the market (currently unused)
NameTypeDescription
[0]uint256The utilization rate as a mantissa between [0, 1e18]

Calculates the current borrow rate per block, with the error code expected by the market

function getBorrowRate(uint256 cash, uint256 borrows, uint256 reserves) public view returns (uint256)
NameTypeDescription
cashuint256The amount of cash in the market
borrowsuint256The amount of borrows in the market
reservesuint256The amount of reserves in the market
NameTypeDescription
[0]uint256The borrow rate percentage per block as a mantissa (scaled by 1e18)

Calculates the current supply rate per block

function getSupplyRate(uint256 cash, uint256 borrows, uint256 reserves, uint256 reserveFactorMantissa) public view returns (uint256)
NameTypeDescription
cashuint256The amount of cash in the market
borrowsuint256The amount of borrows in the market
reservesuint256The amount of reserves in the market
reserveFactorMantissauint256The current reserve factor for the market
NameTypeDescription
[0]uint256The supply rate percentage per block as a mantissa (scaled by 1e18)