VaultLiquidatorImplementationV1 ​
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;
}
