Airpuff

The code is not publicly available, so a complete check could not be performed.

AirPuff revolutionizes the distribution and value realization from emerging Liquid Restaking and Restaking protocols, offering users an unprecedented opportunity to optimize their earnings.

Collateral Deposit

Invariants
O/X
Description

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

O

Collateral deposits for borrowing are not allowed when in a paused state (openPosition() with the whenNotPaused modifier); however, deposits for liquidity provision are still allowed even in a paused state.

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

-

Code verification is not possible.

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

-

The borrower must be registered in the relevant market.

O

If not registered, it is implemented to register automatically.

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.

-

Code verification is not possible.

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

-

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.

X

This feature is not checked.

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

O

-

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.

-

Code verification is not possible.

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

-

Code verification is not possible.

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.

-

Code verification is not possible.

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.

-

Code verification is not possible.

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

-

Code verification is not possible.


Last updated