This facet contract contains all the external pre-hook functions related to vToken
Checks if the account should be allowed to mint tokens in the given market
Parameters
Return Values
Validates mint, accrues interest and updates score in prime. Reverts on rejection. May emit logs.
Parameters
Checks if the account should be allowed to redeem tokens in the given market
Parameters
Return Values
Validates redeem, accrues interest and updates score in prime. Reverts on rejection. May emit logs.
Parameters
Checks if the account should be allowed to borrow the underlying asset of the given market
Parameters
Return Values
Validates borrow, accrues interest and updates score in prime. Reverts on rejection. May emit logs.
Parameters
Checks if the account should be allowed to repay a borrow in the given market
Parameters
Return Values
Validates repayBorrow, accrues interest and updates score in prime. Reverts on rejection. May emit logs.
Parameters
Checks if the liquidation should be allowed to occur
Parameters
Validates liquidateBorrow, accrues interest and updates score in prime. Reverts on rejection. May emit logs.
Parameters
Checks if the seizing of assets should be allowed to occur
Parameters
Validates seize, accrues interest and updates score in prime. Reverts on rejection. May emit logs.
Parameters
Checks if the account should be allowed to transfer tokens in the given market
Parameters
Return Values
Validates transfer, accrues interest and updates score in prime. Reverts on rejection. May emit logs.
Parameters
Alias to getAccountLiquidity to support the Isolated Lending Comptroller Interface
Parameters
Return Values
Determine the current account liquidity wrt liquidation threshold requirements
Parameters
Return Values
Determine what the account liquidity would be if the given amounts were redeemed/borrowed
Parameters
Return Values
Set XVS speed for a single market
Parameters
borrowerIndex
uint256
repayAmount
uint256
The amount of underlying being repaid
actualRepayAmount
uint256
The amount of underlying being repaid
seizeTokens
uint256
The amount of collateral token that will be seized
seizeTokens
uint256
The number of collateral tokens to seize
seizeTokens
uint256
The number of collateral tokens to seize
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
[0]
uint256
0 if the mint is allowed, otherwise a semi-opaque error code (See ErrorReporter.sol)
vToken
address
Asset being minted
minter
address
The address minting the tokens
actualMintAmount
uint256
The amount of the underlying asset being minted
mintTokens
uint256
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
[0]
uint256
0 if the redeem is allowed, otherwise a semi-opaque error code (See ErrorReporter.sol)
vToken
address
Asset being redeemed
redeemer
address
The address redeeming the tokens
redeemAmount
uint256
The amount of the underlying asset being redeemed
redeemTokens
uint256
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
[0]
uint256
0 if the borrow is allowed, otherwise a semi-opaque error code (See ErrorReporter.sol)
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
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
[0]
uint256
0 if the repay is allowed, otherwise a semi-opaque error code (See ErrorReporter.sol)
vToken
address
Asset being repaid
payer
address
The address repaying the borrow
borrower
address
The address of the borrower
actualRepayAmount
uint256
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
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
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
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
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
[0]
uint256
0 if the transfer is allowed, otherwise a semi-opaque error code (See ErrorReporter.sol)
vToken
address
Asset being transferred
src
address
The account which sources the tokens
dst
address
The account which receives the tokens
transferTokens
uint256
account
address
The account get liquidity for
[0]
uint256
(possible error code (semi-opaque), account liquidity in excess of collateral requirements, account shortfall below collateral requirements)
[1]
uint256
[2]
uint256
account
address
The account get liquidity for
[0]
uint256
(possible error code (semi-opaque), account liquidity in excess of liquidation threshold requirements, account shortfall below liquidation threshold requirements)
[1]
uint256
[2]
uint256
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
[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
vTokens
contract VToken[]
The market whose XVS speed to update
supplySpeeds
uint256[]
New XVS speed for supply
borrowSpeeds
uint256[]
New XVS speed for borrow
The number of tokens being minted
The number of tokens being redeemed
The amount of the underlying asset the account would repay
The amount of underlying being repaid
The address of the borrower
The address of the borrower
The address of the borrower
The address of the borrower
The number of vTokens to transfer
The number of vTokens to transfer
The amount of underlying to hypothetically borrow
function mintAllowed(address vToken, address minter, uint256 mintAmount) external returns (uint256)function mintVerify(address vToken, address minter, uint256 actualMintAmount, uint256 mintTokens) externalfunction redeemAllowed(address vToken, address redeemer, uint256 redeemTokens) external returns (uint256)function redeemVerify(address vToken, address redeemer, uint256 redeemAmount, uint256 redeemTokens) externalfunction borrowAllowed(address vToken, address borrower, uint256 borrowAmount) external returns (uint256)function borrowVerify(address vToken, address borrower, uint256 borrowAmount) externalfunction repayBorrowAllowed(address vToken, address payer, address borrower, uint256 repayAmount) external returns (uint256)function repayBorrowVerify(address vToken, address payer, address borrower, uint256 actualRepayAmount, uint256 borrowerIndex) externalfunction liquidateBorrowAllowed(address vTokenBorrowed, address vTokenCollateral, address liquidator, address borrower, uint256 repayAmount) external view returns (uint256)function liquidateBorrowVerify(address vTokenBorrowed, address vTokenCollateral, address liquidator, address borrower, uint256 actualRepayAmount, uint256 seizeTokens) externalfunction seizeAllowed(address vTokenCollateral, address vTokenBorrowed, address liquidator, address borrower, uint256 seizeTokens) external returns (uint256)function seizeVerify(address vTokenCollateral, address vTokenBorrowed, address liquidator, address borrower, uint256 seizeTokens) externalfunction transferAllowed(address vToken, address src, address dst, uint256 transferTokens) external returns (uint256)function transferVerify(address vToken, address src, address dst, uint256 transferTokens) externalfunction getBorrowingPower(address account) external view returns (uint256, uint256, uint256)function getAccountLiquidity(address account) external view returns (uint256, uint256, uint256)function getHypotheticalAccountLiquidity(address account, address vTokenModify, uint256 redeemTokens, uint256 borrowAmount) external view returns (uint256, uint256, uint256)function _setVenusSpeeds(contract VToken[] vTokens, uint256[] supplySpeeds, uint256[] borrowSpeeds) external