Skip to content

VaultLiquidatorImplementationV1 ​

Git Source

State Variables ​

X19 ​

solidity
uint256 internal constant X19 = 0x7ffff;

X20 ​

solidity
uint256 internal constant X20 = 0xfffff;

ETH_ADDRESS ​

solidity
address public constant ETH_ADDRESS = 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE;

FLA ​

solidity
InstaFlashInterface public immutable FLA;

WETH ​

solidity
IWETH9 public immutable WETH;

ADDRESS_THIS ​

solidity
address internal immutable ADDRESS_THIS = address(this);

Functions ​

constructor ​

solidity
constructor(address fla_, address weth_);

_onlyDelegateCall ​

solidity
modifier _onlyDelegateCall();

_tickHelper ​

solidity
function _tickHelper(uint256 tickRaw_) internal pure returns (int256 tick);

_validateParams ​

solidity
function _validateParams(LiquidationParams memory params_) internal view;

liquidateDust ​

solidity
function liquidateDust(LiquidationDustParams memory params_) public _onlyDelegateCall;

liquidation ​

solidity
function liquidation(LiquidationParams memory params_) public _onlyDelegateCall;

executeOperation ​

solidity
function executeOperation(
    address[] calldata assets,
    uint256[] calldata amounts,
    uint256[] calldata premiums,
    address initiator,
    bytes calldata _data
) external returns (bool);

receive ​

solidity
receive() external payable;

Events ​

Liquidated ​

solidity
event Liquidated(address indexed vault, uint256 collateral, uint256 debt);

Errors ​

FluidVaultLiquidator__InvalidOperation ​

solidity
error FluidVaultLiquidator__InvalidOperation();

FluidVaultLiquidator__InvalidTimestamp ​

solidity
error FluidVaultLiquidator__InvalidTimestamp();

FluidVaultLiquidator__InvalidTopTick ​

solidity
error FluidVaultLiquidator__InvalidTopTick();

Structs ​

LiquidationParams ​

solidity
struct LiquidationParams {
    address vault;
    uint256 vaultType;
    uint256 expiration;
    int256 topTick;
    uint256 route;
    address flashloanToken;
    uint256 flashloanAmount;
    uint256 token0DebtAmt;
    uint256 token1DebtAmt;
    uint256 debtSharesMin;
    uint256 colPerUnitDebt;
    uint256 token0ColAmtPerUnitShares;
    uint256 token1ColAmtPerUnitShares;
    bool absorb;
    address swapToken;
    uint256 swapAmount;
    address swapRouter;
    address swapApproval;
    bytes swapData;
}

LiquidationDustParams ​

solidity
struct LiquidationDustParams {
    address vault;
    uint256 vaultType;
    uint256 expiration;
    int256 topTick;
    address debtToken;
    uint256 debtAmount;
    uint256 token0DebtAmt;
    uint256 token1DebtAmt;
    uint256 debtSharesMin;
    uint256 colPerUnitDebt;
    uint256 token0ColAmtPerUnitShares;
    uint256 token1ColAmtPerUnitShares;
    bool absorb;
}