FluidVaultT1Admin

Fluid Vault protocol Admin Module contract. Implements admin related methods to set configs such as liquidation params, rates oracle address etc. Methods are limited to be called via delegateCall only. Vault CoreModule ("VaultT1" contract) is expected to call the methods implemented here after checking the msg.sender is authorized. All methods update the exchange prices in storage before changing configs.

X64

uint256 X64

constructor

constructor() public

_verifyCaller

modifier _verifyCaller()

_updateExchangePrice

modifier _updateExchangePrice()

updates exchange price on storage, called on all admin methods in combination with _verifyCaller modifier so only called by authorized delegatecall

updateSupplyRateMagnifier

function updateSupplyRateMagnifier(uint256 supplyRateMagnifier_) public

updates the supply rate magnifier to supplyRateMagnifier_. Input in 1e2 (1% = 100, 100% = 10_000).

updateBorrowRateMagnifier

function updateBorrowRateMagnifier(uint256 borrowRateMagnifier_) public

updates the borrow rate magnifier to borrowRateMagnifier_. Input in 1e2 (1% = 100, 100% = 10_000).

updateCollateralFactor

function updateCollateralFactor(uint256 collateralFactor_) public

updates the collateral factor to collateralFactor_. Input in 1e2 (1% = 100, 100% = 10_000).

updateLiquidationThreshold

function updateLiquidationThreshold(uint256 liquidationThreshold_) public

updates the liquidation threshold to liquidationThreshold_. Input in 1e2 (1% = 100, 100% = 10_000).

updateLiquidationMaxLimit

function updateLiquidationMaxLimit(uint256 liquidationMaxLimit_) public

updates the liquidation max limit to liquidationMaxLimit_. Input in 1e2 (1% = 100, 100% = 10_000).

updateWithdrawGap

function updateWithdrawGap(uint256 withdrawGap_) public

updates the withdrawal gap to withdrawGap_. Input in 1e2 (1% = 100, 100% = 10_000).

updateLiquidationPenalty

function updateLiquidationPenalty(uint256 liquidationPenalty_) public

updates the liquidation penalty to liquidationPenalty_. Input in 1e2 (1% = 100, 100% = 10_000).

updateBorrowFee

function updateBorrowFee(uint256 borrowFee_) public

updates the borrow fee to borrowFee_. Input in 1e2 (1% = 100, 100% = 10_000).

updateCoreSettings

function updateCoreSettings(uint256 supplyRateMagnifier_, uint256 borrowRateMagnifier_, uint256 collateralFactor_, uint256 liquidationThreshold_, uint256 liquidationMaxLimit_, uint256 withdrawGap_, uint256 liquidationPenalty_, uint256 borrowFee_) public

updates the all Vault core settings according to input params. All input values are expected in 1e2 (1% = 100, 100% = 10_000).

updateOracle

function updateOracle(address newOracle_) public

updates the Vault oracle to newOracle_. Must implement the FluidOracle interface.

updateRebalancer

function updateRebalancer(address newRebalancer_) public

updates the allowed rebalancer to newRebalancer_.

rescueFunds

function rescueFunds(address token_) external

sends any potentially stuck funds to Liquidity contract.

this contract never holds any funds as all operations send / receive funds from user <-> Liquidity.

absorbDustDebt

function absorbDustDebt(uint256[] nftIds_) public

absorbs accumulated dust debt

in decades if a lot of positions are 100% liquidated (aka absorbed) then dust debt can mount up which is basically sort of an extra revenue for the protocol.