BaseJumpRateModelV2

Overview

License: MIT

contract BaseJumpRateModelV2

Author: Compound (modified by Dharma Labs, refactored by Arr00)

Version 2 modifies Version 1 by enabling updateable parameters.

Events info

NewInterestParams

event NewInterestParams(uint256 baseRatePerBlock, uint256 multiplierPerBlock, uint256 jumpMultiplierPerBlock, uint256 kink)

Emitted when the interest rate model's parameters are updated.

Parameters:

NewOwner

event NewOwner(address newOwner)

Emitted when the owner of the contract is updated.

Parameters:

Constants info

blocksPerYear (0xa385fb96)

uint256 constant blocksPerYear = 2102400

The approximate number of blocks per year that is assumed by the interest rate model

State variables info

owner (0x8da5cb5b)

address owner

The address of the owner, i.e. the Timelock contract, which can update parameters directly

multiplierPerBlock (0x8726bb89)

uint256 multiplierPerBlock

The multiplier of utilization rate that gives the slope of the interest rate

baseRatePerBlock (0xf14039de)

uint256 baseRatePerBlock

The base interest rate which is the y-intercept when utilization rate is 0

jumpMultiplierPerBlock (0xb9f9850a)

uint256 jumpMultiplierPerBlock

The multiplierPerBlock after hitting a specified utilization point

kink (0xfd2da339)

uint256 kink

The utilization point at which the jump multiplier is applied

Functions info

constructor

constructor(
    uint256 baseRatePerYear,
    uint256 multiplierPerYear,
    uint256 jumpMultiplierPerYear,
    uint256 kink_,
    address owner_
)

Constructs an interest rate model.

Parameters:

chageOwner (0x9988642f)

function chageOwner(address _newOwner) external

Changes the owner address (only callable by previous owner).

Parameters:

updateJumpRateModel (0x2037f3e7)

function updateJumpRateModel(
    uint256 baseRatePerYear,
    uint256 multiplierPerYear,
    uint256 jumpMultiplierPerYear,
    uint256 kink_
) external

Updates the parameters of the interest rate model (only callable by owner, i.e. Timelock).

Parameters:

utilizationRate (0x6e71e2d8)

function utilizationRate(
    uint256 cash,
    uint256 borrows,
    uint256 reserves
) public pure returns (uint256)

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

Parameters:

Return values:

getSupplyRate (0xb8168816)

function getSupplyRate(
    uint256 cash,
    uint256 borrows,
    uint256 reserves,
    uint256 reserveFactorMantissa
) public view virtual returns (uint256)

Calculates the current supply rate per block.

Parameters:

Return values:

Last updated