Contracts
CollateralVault
Holds tokenized stocks on behalf of borrowers. Per-asset, per-user accounting. Withdrawals must succeed against the LendingPool's solvency check.
solidity
interface ICollateralVault {
function deposit(address asset, uint256 amount) external;
function withdraw(address asset, uint256 amount) external;
function balanceOf(address user, address asset) external view returns (uint256);
function collateralValueUSDG(address user) external view returns (uint256);
event Deposit(address indexed user, address indexed asset, uint256 amount);
event Withdraw(address indexed user, address indexed asset, uint256 amount);
}