Skip to main content

IScaledBalanceToken

IScaledBalanceToken​

Defines the basic interface for a scaled-balance token.

Mint​

event Mint(address caller, address onBehalfOf, uint256 value, uint256 balanceIncrease, uint256 index)

Emitted after the mint action

Parameters​

NameTypeDescription
calleraddressThe address performing the mint
onBehalfOfaddressThe address of the user that will receive the minted tokens
valueuint256The scaled-up amount being minted (based on user entered amount and balance increase from interest)
balanceIncreaseuint256The increase in scaled-up balance since the last action of 'onBehalfOf'
indexuint256The next liquidity index of the reserve

Burn​

event Burn(address from, address target, uint256 value, uint256 balanceIncrease, uint256 index)

Emitted after the burn action If the burn function does not involve a transfer of the underlying asset, the target defaults to zero address

Parameters​

NameTypeDescription
fromaddressThe address from which the tokens will be burned
targetaddressThe address that will receive the underlying, if any
valueuint256The scaled-up amount being burned (user entered amount - balance increase from interest)
balanceIncreaseuint256The increase in scaled-up balance since the last action of 'from'
indexuint256The next liquidity index of the reserve

scaledBalanceOf​

function scaledBalanceOf(address user) external view returns (uint256)

Returns the scaled balance of the user.

The scaled balance is the sum of all the updated stored balance divided by the reserve's liquidity index at the moment of the update

Parameters​

NameTypeDescription
useraddressThe user whose balance is calculated

Return Values​

NameTypeDescription
[0]uint256The scaled balance of the user

getScaledUserBalanceAndSupply​

function getScaledUserBalanceAndSupply(address user) external view returns (uint256, uint256)

Returns the scaled balance of the user and the scaled total supply.

Parameters​

NameTypeDescription
useraddressThe address of the user

Return Values​

NameTypeDescription
[0]uint256The scaled balance of the user
[1]uint256The scaled total supply

scaledTotalSupply​

function scaledTotalSupply() external view returns (uint256)

Returns the scaled total supply of the scaled balance token. Represents sum(debt/index)

Return Values​

NameTypeDescription
[0]uint256The scaled total supply

getPreviousIndex​

function getPreviousIndex(address user) external view returns (uint256)

Returns last index interest was accrued to the user's balance

Parameters​

NameTypeDescription
useraddressThe address of the user

Return Values​

NameTypeDescription
[0]uint256The last index interest was accrued to the user's balance, expressed in ray