FluidVaultT3 ​
Inherits:Internals
Functions ​
operate ​
Performs operations on a vault position
This function allows users to modify their vault position by adjusting collateral and debt
solidity
function operate(
uint256 nftId_,
int256 newCol_,
int256 newDebtToken0_,
int256 newDebtToken1_,
int256 debtSharesMinMax_,
address to_
) external payable _dexFromAddress returns (uint256, int256, int256);
Parameters
Name | Type | Description |
---|---|---|
nftId_ | uint256 | The ID of the NFT representing the vault position |
newCol_ | int256 | The change in collateral amount (positive for deposit, negative for withdrawal) |
newDebtToken0_ | int256 | The change in debt amount for token0 (positive for borrowing, negative for repayment) |
newDebtToken1_ | int256 | The change in debt amount for token1 (positive for borrowing, negative for repayment) |
debtSharesMinMax_ | int256 | Min or max debt shares to burn or mint (positive for borrowing, negative for repayment) |
to_ | address | The address to receive withdrawn collateral or borrowed tokens (if address(0), defaults to msg.sender) |
Returns
Name | Type | Description |
---|---|---|
<none> | uint256 | nftId_ The ID of the NFT representing the updated vault position |
<none> | int256 | supplyAmt_ Final supply amount (negative if withdrawal occurred) |
<none> | int256 | borrowAmt_ Final borrow amount (negative if repayment occurred) |
operatePerfect ​
Performs operations on a vault position with perfect collateral shares
This function allows users to modify their vault position by adjusting collateral and debt
solidity
function operatePerfect(
uint256 nftId_,
int256 newCol_,
int256 perfectDebtShares_,
int256 debtToken0MinMax_,
int256 debtToken1MinMax_,
address to_
) external payable _dexFromAddress returns (uint256, int256[] memory r_);
Parameters
Name | Type | Description |
---|---|---|
nftId_ | uint256 | The ID of the NFT representing the vault position |
newCol_ | int256 | The change in collateral amount (positive for deposit, negative for withdrawal) |
perfectDebtShares_ | int256 | The change in debt shares (positive for borrowing, negative for repayment) |
debtToken0MinMax_ | int256 | Min or max debt amount for token0 to payback or borrow (positive for borrowing, negative for repayment) |
debtToken1MinMax_ | int256 | Min or max debt amount for token1 to payback or borrow (positive for borrowing, negative for repayment) |
to_ | address | The address to receive withdrawn collateral or borrowed tokens (if address(0), defaults to msg.sender) |
Returns
Name | Type | Description |
---|---|---|
<none> | uint256 | nftId_ The ID of the NFT representing the updated vault position |
r_ | int256[] | int256 array of return values: 0 - col amount, will only change if user sends type(int).min 1 - final debt shares amount (can only change on max payback) 2 - token0 borrow or payback amount 3 - token1 borrow or payback amount |
liquidate ​
Liquidates a vault position
This function allows users to liquidate a vault position by adjusting collateral and debt
solidity
function liquidate(
uint256 token0DebtAmt_,
uint256 token1DebtAmt_,
uint256 debtSharesMin_,
uint256 colPerUnitDebt_,
address to_,
bool absorb_
) external payable _dexFromAddress returns (uint256 actualDebtShares_, uint256 actualCol_);
Parameters
Name | Type | Description |
---|---|---|
token0DebtAmt_ | uint256 | The amount of debt in token0 to payback |
token1DebtAmt_ | uint256 | The amount of debt in token1 to payback |
debtSharesMin_ | uint256 | The minimum number of debt shares to liquidate |
colPerUnitDebt_ | uint256 | The collateral amount per unit of debt shares |
to_ | address | The address to receive withdrawn collateral (if address(0), defaults to msg.sender) |
absorb_ | bool | Whether to liquidate absorbed liquidity as well |
Returns
Name | Type | Description |
---|---|---|
actualDebtShares_ | uint256 | The actual number of debt shares liquidated |
actualCol_ | uint256 | The actual amount of collateral withdrawn |
liquidatePerfect ​
Liquidates a vault position with perfect collateral shares
This function allows users to liquidate a vault position by adjusting collateral and debt
solidity
function liquidatePerfect(
uint256 debtShares_,
uint256 token0DebtAmtPerUnitShares_,
uint256 token1DebtAmtPerUnitShares_,
uint256 colPerUnitDebt_,
address to_,
bool absorb_
)
external
payable
_dexFromAddress
returns (uint256 actualDebtShares_, uint256 token0Debt_, uint256 token1Debt_, uint256 actualCol_);
Parameters
Name | Type | Description |
---|---|---|
debtShares_ | uint256 | The amount of debt shares to liquidate |
token0DebtAmtPerUnitShares_ | uint256 | The amount of debt in token0 per unit of debt shares (if sent 0 then entire payback is in token1) |
token1DebtAmtPerUnitShares_ | uint256 | The amount of debt in token1 per unit of debt shares (if sent 0 then entire payback is in token0) |
colPerUnitDebt_ | uint256 | The collateral amount per unit of debt shares |
to_ | address | The address to receive withdrawn collateral (if address(0), defaults to msg.sender) |
absorb_ | bool | Whether to liquidate absorbed liquidity as well |
Returns
Name | Type | Description |
---|---|---|
actualDebtShares_ | uint256 | The actual number of debt shares liquidated |
token0Debt_ | uint256 | The amount of debt in token0 that was paid back |
token1Debt_ | uint256 | The amount of debt in token1 that was paid back |
actualCol_ | uint256 | The actual amount of collateral withdrawn |
constructor ​
solidity
constructor(ConstantViews memory constants_) Internals(constants_);
Structs ​
LiquidatePerfect ​
solidity
struct LiquidatePerfect {
uint256 vaultVariables;
uint256 initialEth;
}