BendDAO

Bend DAO is the decentralized peer-to-pool based NFT liquidity protocol. Borrowers can borrow ETH instantly through the lending pool using NFTs as collateral. Also, depositors provide ETH liquidity to the lending pool to earn interest by yield farming.

Collateral Deposit

Invariants
O/X
Description

Collateral deposits must not be allowed when the protocol is in a paused state.

O

-

The block state of the market where collateral is deposited must be updated to the latest status.

O

-

Collateral Withdraw

Invariants
O/X
Description

Users can withdraw collateral only within the limits that do not exceed the set Loan-to-Value (LTV) ratio.

O

-

The block state of the market where collateral is withdrawn must be updated to the latest status.

O

-

Borrow

Invariants
O/X
Description

Loans must not be allowed when the protocol is in a paused state.

O

There are separate pause and freeze functions.

The borrower must be registered in the relevant market.

O

After registering with the pool group, perform lending operations in the designated pool.

After executing the loan, the market's total borrow amount must not exceed the set borrow cap.

O

-

Borrowers cannot exceed the Loan-to-Value (LTV) ratio relative to their collateral.

O

-

Before executing a loan, the target market's block state must be updated to the latest status.

O

-

Repay

Invariants
O/X
Description

The block state of the repayment market must be updated to the latest status.

O

-

Repaying more than the borrowed amount is not allowed.

O

If the input amount for repayment exceeds the limit, it attempts to repay the user's total debt.

Liquidation

Invariants
O/X
Description

The liquidator can only liquidate borrowers whose Loan-to-Value (LTV) ratio exceeds the limit, resulting in a liquidity shortfall.

O

Liquidation is only allowed if the healthFactor is less than 1.

The liquidator's repayment amount must not exceed the close factor relative to the borrower's total borrow amount.

O

-

Both the market for the borrowed asset and the collateral asset must be updated with the latest block information.

O

-

The liquidator and the borrower cannot be the same account.

O

-

The amount of collateral the liquidator receives cannot exceed the total collateral balance of the borrower.

O

If the borrower's collateral balance is exceeded by the debt with the bonus applied via percentMul, the debtToCover amount is adjusted to fit the collateral balance.

The collateral and borrowed assets involved in the liquidation must be under the same administrative entity.

O

-

Interest and Reward

Invariants
O/X
Description

The borrow interest rate must not exceed the set maximum value.

O

-

During interest calculation, related state variables like total reserves, total borrows, and market indices must be updated to their latest statuses.

O

-

For fixed-point arithmetic, steps should be taken to prevent rounding issues in low decimal places, such as using correct operation order or a fixed-point library.

O

-

Oracle

Invariants
O/X
Description

The price of the underlying asset retrieved from the oracle must not be zero; if the price is zero, the transaction should be halted.

O

-

The interest calculation must reflect the most up-to-date state.

O

-


Last updated