In case the portfolio makes a loss, the total reserves and reserve ratio will be inflated.
The pool balance is transferred to the portfolio for investment, for example sending USDT to Curve/Aave/Balancer etc. to generate yield. However, there are risks associated with those protocols such as smart contract risks. In case a loss happens, it will not be reflected in the pool balance and the total reserve and reserve ratio will be inflated.\\nThe assets in the pool can be sent to the portfolio account to invest and earn yield. The amount of assets in the insurance pool and Unitas pool is tracked by the `_balance` variable. This amount is used to calculate the total reserve and total collateral, which then are used to calculate the reserve ratio.\\n```\\n        uint256 tokenReserve = _getBalance(token);\\n        uint256 tokenCollateral = IInsurancePool(insurancePool).getCollateral(token);\\n```\\n\\nWhen there is a loss to the portfolio, there is no way to write down the `_balance` variable. This leads to an overstatement of the total reserve and reserve ratio.
Add function to allow admin to write off the `_balance` in case of investment lost. Example:\\n```\\nfunction writeOff(address token, uint256 amount) external onlyGuardian {\\n\\n    uint256 currentBalance = IERC20(token).balanceOf(address(this));\\n\\n    // Require that the amount to write off is less than or equal to the current balance\\n    require(amount <= currentBalance, "Amount exceeds balance");\\n    _balance[token] -= amount;\\n\\n    emit WriteOff(token, amount);\\n}\\n```\\n
Overstatement of the total reserve and reserve ratio can increase the risk for the protocol because of undercollateralization of assets.
```\\n        uint256 tokenReserve = _getBalance(token);\\n        uint256 tokenCollateral = IInsurancePool(insurancePool).getCollateral(token);\\n```\\n