PolicyFacet
PolicyFacet
This facet contract contains all the external pre-hook functions related to vToken
Solidity API
mintAllowed
Checks if the account should be allowed to mint tokens in the given market
Parameters
vToken
address
The market to verify the mint against
minter
address
The account which would get the minted tokens
mintAmount
uint256
The amount of underlying being supplied to the market in exchange for tokens
Return Values
[0]
uint256
0 if the mint is allowed, otherwise a semi-opaque error code (See ErrorReporter.sol)
mintVerify
Validates mint and reverts on rejection. May emit logs.
Parameters
vToken
address
Asset being minted
minter
address
The address minting the tokens
actualMintAmount
uint256
The amount of the underlying asset being minted
mintTokens
uint256
The number of tokens being minted
redeemAllowed
Checks if the account should be allowed to redeem tokens in the given market
Parameters
vToken
address
The market to verify the redeem against
redeemer
address
The account which would redeem the tokens
redeemTokens
uint256
The number of vTokens to exchange for the underlying asset in the market
Return Values
[0]
uint256
0 if the redeem is allowed, otherwise a semi-opaque error code (See ErrorReporter.sol)
redeemVerify
Validates redeem and reverts on rejection. May emit log
Parameters
vToken
address
Asset being redeemed
redeemer
address
The address redeeming the tokens
redeemAmount
uint256
The amount of the underlying asset being redeemed
redeemTokens
uint256
The number of tokens being redeemed
borrowAllowed
Checks if the account should be allowed to borrow the underlying asset of the given market
Parameters
vToken
address
The market to verify the borrow against
borrower
address
The account which would borrow the asset
borrowAmount
uint256
The amount of underlying the account would borrow
Return Values
[0]
uint256
0 if the borrow is allowed, otherwise a semi-opaque error code (See ErrorReporter.sol)
borrowVerify
Validates borrow and reverts on rejection. May emit log
Parameters
vToken
address
Asset whose underlying is being borrowed
borrower
address
The address borrowing the underlying
borrowAmount
uint256
The amount of the underlying asset requested to borrow
repayBorrowAllowed
Checks if the account should be allowed to repay a borrow in the given market
Parameters
vToken
address
The market to verify the repay against
payer
address
The account which would repay the asset
borrower
address
The account which borrowed the asset
repayAmount
uint256
The amount of the underlying asset the account would repay
Return Values
[0]
uint256
0 if the repay is allowed, otherwise a semi-opaque error code (See ErrorReporter.sol)
repayBorrowVerify
Validates repayBorrow and reverts on rejection. May emit log
Parameters
vToken
address
Asset being repaid
payer
address
The address repaying the borrow
borrower
address
The address of the borrower
actualRepayAmount
uint256
The amount of underlying being repaid
borrowerIndex
uint256
liquidateBorrowAllowed
Checks if the liquidation should be allowed to occur
Parameters
vTokenBorrowed
address
Asset which was borrowed by the borrower
vTokenCollateral
address
Asset which was used as collateral and will be seized
liquidator
address
The address repaying the borrow and seizing the collateral
borrower
address
The address of the borrower
repayAmount
uint256
The amount of underlying being repaid
liquidateBorrowVerify
Validates liquidateBorrow and reverts on rejection. May emit logs.
Parameters
vTokenBorrowed
address
Asset which was borrowed by the borrower
vTokenCollateral
address
Asset which was used as collateral and will be seized
liquidator
address
The address repaying the borrow and seizing the collateral
borrower
address
The address of the borrower
actualRepayAmount
uint256
The amount of underlying being repaid
seizeTokens
uint256
The amount of collateral token that will be seized
seizeAllowed
Checks if the seizing of assets should be allowed to occur
Parameters
vTokenCollateral
address
Asset which was used as collateral and will be seized
vTokenBorrowed
address
Asset which was borrowed by the borrower
liquidator
address
The address repaying the borrow and seizing the collateral
borrower
address
The address of the borrower
seizeTokens
uint256
The number of collateral tokens to seize
seizeVerify
Validates seize and reverts on rejection. May emit log
Parameters
vTokenCollateral
address
Asset which was used as collateral and will be seized
vTokenBorrowed
address
Asset which was borrowed by the borrower
liquidator
address
The address repaying the borrow and seizing the collateral
borrower
address
The address of the borrower
seizeTokens
uint256
The number of collateral tokens to seize
transferAllowed
Checks if the account should be allowed to transfer tokens in the given market
Parameters
vToken
address
The market to verify the transfer against
src
address
The account which sources the tokens
dst
address
The account which receives the tokens
transferTokens
uint256
The number of vTokens to transfer
Return Values
[0]
uint256
0 if the transfer is allowed, otherwise a semi-opaque error code (See ErrorReporter.sol)
transferVerify
Validates transfer and reverts on rejection. May emit log
Parameters
vToken
address
Asset being transferred
src
address
The account which sources the tokens
dst
address
The account which receives the tokens
transferTokens
uint256
The number of vTokens to transfer
getAccountLiquidity
Determine the current account liquidity wrt collateral requirements
Return Values
[0]
uint256
(possible error code (semi-opaque), account liquidity in excess of collateral requirements, account shortfall below collateral requirements)
[1]
uint256
[2]
uint256
getHypotheticalAccountLiquidity
Determine what the account liquidity would be if the given amounts were redeemed/borrowed
Parameters
account
address
The account to determine liquidity for
vTokenModify
address
The market to hypothetically redeem/borrow in
redeemTokens
uint256
The number of tokens to hypothetically redeem
borrowAmount
uint256
The amount of underlying to hypothetically borrow
Return Values
[0]
uint256
(possible error code (semi-opaque), hypothetical account liquidity in excess of collateral requirements, hypothetical account shortfall below collateral requirements)
[1]
uint256
[2]
uint256
_setVenusSpeeds
Set XVS speed for a single market
Parameters
vTokens
contract VToken[]
The market whose XVS speed to update
supplySpeeds
uint256[]
New XVS speed for supply
borrowSpeeds
uint256[]
New XVS speed for borrow
Last updated