block-quote On this pagechevron-down
copy Copy chevron-down
Technical reference chevron-right Isolated Pools chevron-right Interest Rate Models BaseJumpRateModelV2 Logic for Compound's JumpRateModel Contract V2.
An interest rate model with a steep increase after a certain utilization threshold called kink is reached. This rate model uses the following formula for the borrow rate:
$borrow\_rate(u)=a_1 \cdot u + b$, when $u < kink$
$borrow\_rate(u)=a_1 \cdot kink + a_2 \cdot (u-kink) + b$, otherwise
The parameters of this interest rate model can be adjusted by the owner. Version 2 modifies Version 1 by enabling updateable parameters.
accessControlManager
The address of the AccessControlManager contract
Copy contract IAccessControlManagerV8 accessControlManager multiplierPerBlock
The multiplier of utilization rate that gives the slope of the interest rate
Copy uint256 multiplierPerBlock baseRatePerBlock
The base interest rate which is the y-intercept when utilization rate is 0
jumpMultiplierPerBlock
The multiplier per block after hitting a specified utilization point
The utilization point at which the jump multiplier is applied
updateJumpRateModel
Update the parameters of the interest rate model
Parameters
The approximate target base APR, as a mantissa (scaled by EXP_SCALE)
The rate of increase in interest rate wrt utilization (scaled by EXP_SCALE)
The multiplierPerBlock after hitting a specified utilization point
The utilization point at which the jump multiplier is applied
⛔️ Access Requirements
Controlled by AccessControlManager
❌ Errors
Unauthorized if the sender is not allowed to call this function
Calculates the current supply rate per block
Parameters
The amount of cash in the market
The amount of borrows in the market
The amount of reserves in the market
The current reserve factor for the market
The amount of badDebt in the market
Return Values
The supply rate percentage per block as a mantissa (scaled by EXP_SCALE)
utilizationRate
Calculates the utilization rate of the market: (borrows + badDebt) / (cash + borrows + badDebt - reserves)
Parameters
The amount of cash in the market
The amount of borrows in the market
The amount of reserves in the market (currently unused)
The amount of badDebt in the market
Return Values
The utilization rate as a mantissa between [0, MANTISSA_ONE]