Internals ​
Fluid "VaultT3" (Vault Type 3). Fluid vault protocol main operate contract. T3 -> Normal collateral | Smart debt
_debtOperateBefore ​
solidity
function _debtOperateBefore(int256 newDebtToken0_, int256 newDebtToken1_, int256 debtSharesMinMax_, address to_) internal returns (int256 shares_)
_debtOperatePerfectPayback ​
solidity
function _debtOperatePerfectPayback(int256 perfectDebtShares_, int256 debtToken0MinMax_, int256 debtToken1MinMax_) internal returns (int256 newDebtToken0_, int256 newDebtToken1_)
_debtOperatePerfectBorrow ​
solidity
function _debtOperatePerfectBorrow(int256 perfectDebtShares_, int256 debtToken0MinMax_, int256 debtToken1MinMax_, address to_) internal returns (int256 newDebtToken0_, int256 newDebtToken1_)
constructor ​
solidity
constructor(struct Structs.ConstantViews constants_) internal
FluidVaultT3Operate ​
SmartOperate ​
solidity
struct SmartOperate {
uint256 initialEth;
int256 debtShares;
uint256 vaultVariables;
}
operate ​
solidity
function operate(uint256 nftId_, int256 newCol_, int256 newDebtToken0_, int256 newDebtToken1_, int256 debtSharesMinMax_, address to_) external payable returns (uint256, int256, int256)
Performs operations on a vault position
This function allows users to modify their vault position by adjusting collateral and debt
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 mint or burn (positive for borrowing, negative for repayment) |
to_ | address | The address to receive withdrawn collateral or borrowed tokens (if address(0), defaults to msg.sender) |
Return Values ​
Name | Type | Description |
---|---|---|
[0] | uint256 | nftId_ The ID of the NFT representing the updated vault position |
[1] | int256 | supplyAmt_ Final supply amount (negative if withdrawal occurred) |
[2] | int256 | borrowAmt_ Final borrow amount (negative if repayment occurred) |
SmartOperatePerfect ​
solidity
struct SmartOperatePerfect {
uint256 initialEth;
int256 newDebtToken0;
int256 newDebtToken1;
uint256 vaultVariables;
}
operatePerfect ​
solidity
function operatePerfect(uint256 nftId_, int256 newCol_, int256 perfectDebtShares_, int256 debtToken0MinMax_, int256 debtToken1MinMax_, address to_) external payable returns (uint256, int256[] r_)
Performs operations on a vault position with perfect collateral shares
This function allows users to modify their vault position by adjusting collateral and debt
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) |
Return Values ​
Name | Type | Description |
---|---|---|
[0] | 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 |
constructor ​
solidity
constructor(struct Structs.ConstantViews constants_) public