// Deposit IP asset as collateral
function supplyCollateral(uint256 tokenId) external;
// Withdraw IP asset (requires healthy position)
function withdrawCollateral(uint256 tokenId) external;
// Borrow tokens against collateral
function borrow(uint256 amount) external;
// Repay borrowed amount
function repay(uint256 amount) external;
// Supply liquidity to earn interest
function supplyLiquidity(uint256 amount) external;
// Withdraw supplied liquidity
function withdrawLiquidity(uint256 shares) external;