Position Management
Action
Description
Function
Example: Deposit and Mint
// Approve collateral for deposit
IERC20(collateralToken).approve(vaultAddress, collateralAmount);
// Deposit collateral and mint nUSD in one transaction
IVault(vaultAddress).depositAssetToMint(collateralAmount, nusdAmount);
// Check updated position
(uint256 collateral, uint256 debt) = IVault(vaultAddress).positions(userAddress);Example: Withdraw After Repaying
// Approve nUSD for burning
IERC20(nUSDAddress).approve(vaultAddress, debtAmount);
// Burn nUSD to reduce debt
IVault(vaultAddress).burn(userAddress, debtAmount);
// Withdraw collateral
IVault(vaultAddress).withdraw(userAddress, collateralAmount);Last updated