Skip to content

Internals ​

Git Source

Inherits:FluidVault

Fluid "VaultT3" (Vault Type 3). Fluid vault protocol main contract. T3 -> Normal collateral | Smart debt Fluid Vault protocol is a borrow / lending protocol, allowing users to create collateral / borrow positions. All funds are deposited into / borrowed from Fluid Liquidity layer. Positions are represented through NFTs minted by the VaultFactory. Deployed by "VaultFactory" and linked together with Vault AdminModule ADMIN_IMPLEMENTATION and FluidVaultSecondary (main2.sol) SECONDARY_IMPLEMENTATION. AdminModule & FluidVaultSecondary methods are delegateCalled, if the msg.sender has the required authorization. This contract links to an Oracle, which is used to assess collateral / debt value. Oracles implement the "FluidOracle" base contract and return the price in 1e27 precision.

For view methods / accessing data, use the "VaultResolver" periphery contract.

Functions ​

_debtLiquidateBefore ​

solidity
function _debtLiquidateBefore(uint256 token0DebtAmt_, uint256 token1DebtAmt_, uint256 debtSharesMin_)
    internal
    returns (uint256 shares_);

_debtLiquidatePerfectPayback ​

solidity
function _debtLiquidatePerfectPayback(
    uint256 perfectDebtShares_,
    uint256 token0DebtAmtPerUnitShares_,
    uint256 token1DebtAmtPerUnitShares_
) internal returns (uint256 token0DebtPaid_, uint256 token1DebtPaid_);

constructor ​

solidity
constructor(ConstantViews memory constants_) FluidVault(constants_);