Skip to content

IFluidVaultT1 ​

Git Source

Functions ​

VAULT_ID ​

returns the vault id

solidity
function VAULT_ID() external view returns (uint256);

VAULT_FACTORY ​

returns the vault factory address

solidity
function VAULT_FACTORY() external view returns (address);

readFromStorage ​

reads uint256 data result_ from storage at a bytes32 storage slot_ key.

solidity
function readFromStorage(bytes32 slot_) external view returns (uint256 result_);

constantsView ​

returns all Vault constants

solidity
function constantsView() external view returns (ConstantViews memory constantsView_);

fetchLatestPosition ​

fetches the latest user position after a liquidation

solidity
function fetchLatestPosition(
    int256 positionTick_,
    uint256 positionTickId_,
    uint256 positionRawDebt_,
    uint256 tickData_
)
    external
    view
    returns (
        int256, // tick
        uint256, // raw debt
        uint256, // raw collateral
        uint256, // branchID_
        uint256 // branchData_
    );

updateExchangePrices ​

calculates the updated vault exchange prices

solidity
function updateExchangePrices(uint256 vaultVariables2_)
    external
    view
    returns (
        uint256 liqSupplyExPrice_,
        uint256 liqBorrowExPrice_,
        uint256 vaultSupplyExPrice_,
        uint256 vaultBorrowExPrice_
    );

updateExchangePricesOnStorage ​

calculates the updated vault exchange prices and writes them to storage

solidity
function updateExchangePricesOnStorage()
    external
    returns (
        uint256 liqSupplyExPrice_,
        uint256 liqBorrowExPrice_,
        uint256 vaultSupplyExPrice_,
        uint256 vaultBorrowExPrice_
    );

LIQUIDITY ​

returns the liquidity contract address

solidity
function LIQUIDITY() external view returns (address);

operate ​

solidity
function operate(
    uint256 nftId_, // if 0 then new position
    int256 newCol_, // if negative then withdraw
    int256 newDebt_, // if negative then payback
    address to_ // address at which the borrow & withdraw amount should go to. If address(0) then it'll go to msg.sender
)
    external
    payable
    returns (
        uint256, // nftId_
        int256, // final supply amount. if - then withdraw
        int256 // final borrow amount. if - then payback
    );

liquidate ​

solidity
function liquidate(
    uint256 debtAmt_,
    uint256 colPerUnitDebt_, // min collateral needed per unit of debt in 1e18
    address to_,
    bool absorb_
)
    external
    payable
    returns (uint256 actualDebtAmt_, uint256 actualColAmt_);

absorb ​

solidity
function absorb() external payable;

rebalance ​

solidity
function rebalance() external payable returns (int256 supplyAmt_, int256 borrowAmt_);

Errors ​

FluidLiquidateResult ​

solidity
error FluidLiquidateResult(uint256 colLiquidated, uint256 debtLiquidated);

Structs ​

ConstantViews ​

solidity
struct ConstantViews {
    address liquidity;
    address factory;
    address adminImplementation;
    address secondaryImplementation;
    address supplyToken;
    address borrowToken;
    uint8 supplyDecimals;
    uint8 borrowDecimals;
    uint256 vaultId;
    bytes32 liquiditySupplyExchangePriceSlot;
    bytes32 liquidityBorrowExchangePriceSlot;
    bytes32 liquidityUserSupplySlot;
    bytes32 liquidityUserBorrowSlot;
}