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