All pages
Powered by GitBook
1 of 1

Loading...

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

Return Values

Name
Type
Description

mintVerify

Validates mint, accrues interest and updates score in prime. Reverts on rejection. May emit logs.

Parameters

Name
Type
Description

redeemAllowed

Checks if the account should be allowed to redeem tokens in the given market

Parameters

Name
Type
Description

Return Values

Name
Type
Description

redeemVerify

Validates redeem, accrues interest and updates score in prime. Reverts on rejection. May emit logs.

Parameters

Name
Type
Description

borrowAllowed

Checks if the account should be allowed to borrow the underlying asset of the given market

Parameters

Name
Type
Description

Return Values

Name
Type
Description

borrowVerify

Validates borrow, accrues interest and updates score in prime. Reverts on rejection. May emit logs.

Parameters

Name
Type
Description

repayBorrowAllowed

Checks if the account should be allowed to repay a borrow in the given market

Parameters

Name
Type
Description

Return Values

Name
Type
Description

repayBorrowVerify

Validates repayBorrow, accrues interest and updates score in prime. Reverts on rejection. May emit logs.

Parameters

Name
Type
Description

liquidateBorrowAllowed

Checks if the liquidation should be allowed to occur

Parameters

Name
Type
Description

liquidateBorrowVerify

Validates liquidateBorrow, accrues interest and updates score in prime. Reverts on rejection. May emit logs.

Parameters

Name
Type
Description

seizeAllowed

Checks if the seizing of assets should be allowed to occur

Parameters

Name
Type
Description

seizeVerify

Validates seize, accrues interest and updates score in prime. Reverts on rejection. May emit logs.

Parameters

Name
Type
Description

transferAllowed

Checks if the account should be allowed to transfer tokens in the given market

Parameters

Name
Type
Description

Return Values

Name
Type
Description

transferVerify

Validates transfer, accrues interest and updates score in prime. Reverts on rejection. May emit logs.

Parameters

Name
Type
Description

getBorrowingPower

Alias to getAccountLiquidity to support the Isolated Lending Comptroller Interface

Parameters

Name
Type
Description

Return Values

Name
Type
Description

getAccountLiquidity

Determine the current account liquidity wrt liquidation threshold requirements

Parameters

Name
Type
Description

Return Values

Name
Type
Description

getHypotheticalAccountLiquidity

Determine what the account liquidity would be if the given amounts were redeemed/borrowed

Parameters

Name
Type
Description

Return Values

Name
Type
Description

_setVenusSpeeds

Set XVS speed for a single market

Parameters

Name
Type
Description

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) external
function redeemAllowed(address vToken, address redeemer, uint256 redeemTokens) external returns (uint256)
function redeemVerify(address vToken, address redeemer, uint256 redeemAmount, uint256 redeemTokens) external
function borrowAllowed(address vToken, address borrower, uint256 borrowAmount) external returns (uint256)
function borrowVerify(address vToken, address borrower, uint256 borrowAmount) external
function repayBorrowAllowed(address vToken, address payer, address borrower, uint256 repayAmount) external returns (uint256)
function repayBorrowVerify(address vToken, address payer, address borrower, uint256 actualRepayAmount, uint256 borrowerIndex) external
function 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) external
function 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) external
function transferAllowed(address vToken, address src, address dst, uint256 transferTokens) external returns (uint256)
function transferVerify(address vToken, address src, address dst, uint256 transferTokens) external
function 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