Lack of burn mechanism for JUSD repayments causes oversupply of JUSD
`JUSDBank.repay()` allow users to repay their JUSD debt and interest by transfering in JUSD tokens. Without a burn mechanism, it will cause an oversupply of JUSD that is no longer backed by any collateral.\\n`JUSDBank` receives JUSD tokens for the repayment of debt and interest. However, there are no means to burn these tokens, causing JUSD balance in `JUSDBank` to keep increasing.\\nThat will lead to an oversupply of JUSD that is not backed by any collateral. And the oversupply of JUSD will increase significantly during market due to mass repayments from liquidation.\\n```\\n    function _repay(\\n        DataTypes.UserInfo storage user,\\n        address payer,\\n        address to,\\n        uint256 amount,\\n        uint256 tRate\\n    ) internal returns (uint256) {\\n        require(amount != 0, JUSDErrors.REPAY_AMOUNT_IS_ZERO);\\n        uint256 JUSDBorrowed = user.t0BorrowBalance.decimalMul(tRate);\\n        uint256 tBorrowAmount;\\n        uint256 t0Amount;\\n        if (JUSDBorrowed <= amount) {\\n            tBorrowAmount = JUSDBorrowed;\\n            t0Amount = user.t0BorrowBalance;\\n        } else {\\n            tBorrowAmount = amount;\\n            t0Amount = amount.decimalDiv(tRate);\\n        }\\n        IERC20(JUSD).safeTransferFrom(payer, address(this), tBorrowAmount);\\n        user.t0BorrowBalance -= t0Amount;\\n        t0TotalBorrowAmount -= t0Amount;\\n        emit Repay(payer, to, tBorrowAmount);\\n        return tBorrowAmount;\\n    }\\n```\\n
Instead of transfering to the JUSDBank upon repayment, consider adding a burn mechanism to reduce the supply of JUSD so that it will be adjusted automatically.
To maintain its stability, JUSD must always be backed by more than 1 USD worth of collateral.\\nWhen there is oversupply of JUSD that is not backed by any collateral, it affects JUSD stability and possibly lead to a depeg event.
```\\n    function _repay(\\n        DataTypes.UserInfo storage user,\\n        address payer,\\n        address to,\\n        uint256 amount,\\n        uint256 tRate\\n    ) internal returns (uint256) {\\n        require(amount != 0, JUSDErrors.REPAY_AMOUNT_IS_ZERO);\\n        uint256 JUSDBorrowed = user.t0BorrowBalance.decimalMul(tRate);\\n        uint256 tBorrowAmount;\\n        uint256 t0Amount;\\n        if (JUSDBorrowed <= amount) {\\n            tBorrowAmount = JUSDBorrowed;\\n            t0Amount = user.t0BorrowBalance;\\n        } else {\\n            tBorrowAmount = amount;\\n            t0Amount = amount.decimalDiv(tRate);\\n        }\\n        IERC20(JUSD).safeTransferFrom(payer, address(this), tBorrowAmount);\\n        user.t0BorrowBalance -= t0Amount;\\n        t0TotalBorrowAmount -= t0Amount;\\n        emit Repay(payer, to, tBorrowAmount);\\n        return tBorrowAmount;\\n    }\\n```\\n