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
Name | Type | Description |
---|---|---|
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
Name | Type | Description |
---|---|---|
[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
Name | Type | Description |
---|---|---|
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
Name | Type | Description |
---|---|---|
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
Name | Type | Description |
---|---|---|
[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
Name | Type | Description |
---|---|---|
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
Name | Type | Description |
---|---|---|
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
Name | Type | Description |
---|---|---|
[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
Name | Type | Description |
---|---|---|
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
Name | Type | Description |
---|---|---|
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
Name | Type | Description |
---|---|---|
[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
Name | Type | Description |
---|---|---|
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
Name | Type | Description |
---|---|---|
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
Name | Type | Description |
---|---|---|
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
Name | Type | Description |
---|---|---|
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
Name | Type | Description |
---|---|---|
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
Name | Type | Description |
---|---|---|
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
Name | Type | Description |
---|---|---|
[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
Name | Type | Description |
---|---|---|
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
Name | Type | Description |
---|---|---|
[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
Name | Type | Description |
---|---|---|
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
Name | Type | Description |
---|---|---|
[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
Name | Type | Description |
---|---|---|
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