VAIController
VAI Comptroller
This is the implementation contract for the VAIUnitroller proxy
Solidity API
mintVAI
The mintVAI function mints and transfers VAI from the protocol to the user, and adds a borrow balance. The amount minted must be less than the user's Account Liquidity and the mint vai limit.
Parameters
mintVAIAmount
uint256
The amount of the VAI to be minted.
Return Values
[0]
uint256
0 on success, otherwise an error code
repayVAI
The repay function transfers VAI interest into the protocol and burns the rest, reducing the borrower's borrow balance. Before repaying VAI, users must first approve VAIController to access their VAI balance.
Parameters
amount
uint256
The amount of VAI to be repaid.
Return Values
[0]
uint256
Error code (0=success, otherwise a failure, see ErrorReporter.sol)
[1]
uint256
Actual repayment amount
repayVAIBehalf
The repay on behalf function transfers VAI interest into the protocol and burns the rest, reducing the borrower's borrow balance. Borrowed VAIs are repaid by another user (possibly the borrower). Before repaying VAI, the payer must first approve VAIController to access their VAI balance.
Parameters
borrower
address
The account to repay the debt for.
amount
uint256
The amount of VAI to be repaid.
Return Values
[0]
uint256
Error code (0=success, otherwise a failure, see ErrorReporter.sol)
[1]
uint256
Actual repayment amount
liquidateVAI
The sender liquidates the vai minters collateral. The collateral seized is transferred to the liquidator.
Parameters
borrower
address
The borrower of vai to be liquidated
repayAmount
uint256
The amount of the underlying borrowed asset to repay
vTokenCollateral
contract VTokenInterface
The market in which to seize collateral from the borrower
Return Values
[0]
uint256
Error code (0=success, otherwise a failure, see ErrorReporter.sol)
[1]
uint256
Actual repayment amount
_setComptroller
Sets a new comptroller
Return Values
[0]
uint256
uint256 0=success, otherwise a failure (see ErrorReporter.sol for details)
setPrimeToken
Set the prime token contract address
Parameters
prime_
address
The new address of the prime token contract
setVAIToken
Set the VAI token contract address
Parameters
vai_
address
The new address of the VAI token contract
toggleOnlyPrimeHolderMint
Toggle mint only for prime holder
Return Values
[0]
uint256
uint256 0=success, otherwise a failure (see ErrorReporter.sol for details)
getMintableVAI
Function that returns the amount of VAI a user can mint based on their account liquidy and the VAI mint rate If mintEnabledOnlyForPrimeHolder is true, only Prime holders are able to mint VAI
Parameters
minter
address
The account to check mintable VAI
Return Values
[0]
uint256
Error code (0=success, otherwise a failure, see ErrorReporter.sol for details)
[1]
uint256
Mintable amount (with 18 decimals)
_setTreasuryData
Update treasury data
Parameters
newTreasuryGuardian
address
New Treasury Guardian address
newTreasuryAddress
address
New Treasury Address
newTreasuryPercent
uint256
New fee percentage for minting VAI that is sent to the treasury
getVAIRepayRate
Gets yearly VAI interest rate based on the VAI price
Return Values
[0]
uint256
uint256 Yearly VAI interest rate
getVAIRepayRatePerBlock
Get interest rate per block
Return Values
[0]
uint256
uint256 Interest rate per bock
getVAIMinterInterestIndex
Get the last updated interest index for a VAI Minter
Parameters
minter
address
Address of VAI minter
Return Values
[0]
uint256
uint256 Returns the interest rate index for a minter
getVAIRepayAmount
Get the current total VAI a user needs to repay
Parameters
account
address
The address of the VAI borrower
Return Values
[0]
uint256
(uint256) The total amount of VAI the user needs to repay
getVAICalculateRepayAmount
Calculate how much VAI the user needs to repay
Parameters
borrower
address
The address of the VAI borrower
repayAmount
uint256
The amount of VAI being returned
Return Values
[0]
uint256
Amount of VAI to be burned
[1]
uint256
Amount of VAI the user needs to pay in current interest
[2]
uint256
Amount of VAI the user needs to pay in past interest
accrueVAIInterest
Accrue interest on outstanding minted VAI
setAccessControl
Sets the address of the access control of this contract
Parameters
newAccessControlAddress
address
New address for the access control
setBaseRate
Set VAI borrow base rate
Parameters
newBaseRateMantissa
uint256
the base rate multiplied by 10**18
setFloatRate
Set VAI borrow float rate
Parameters
newFloatRateMantissa
uint256
the VAI float rate multiplied by 10**18
setReceiver
Set VAI stability fee receiver address
Parameters
newReceiver
address
the address of the VAI fee receiver
setMintCap
Set VAI mint cap
Parameters
_mintCap
uint256
the amount of VAI that can be minted
getVAIAddress
Return the address of the VAI token
Return Values
[0]
address
The address of VAI
Last updated