`JUSDBankStorage::getTRate()`,`JUSDBankStorage::accrueRate()` are calculated differently, and the data calculation is biased, Causes the `JUSDBank` contract funciton result to be incorrect
```\\n    function accrueRate() public {\\n        uint256 currentTimestamp = block.timestamp;\\n        if (currentTimestamp == lastUpdateTimestamp) {\\n            return;\\n        }\\n        uint256 timeDifference = block.timestamp - uint256(lastUpdateTimestamp);\\n         tRate = tRate.decimalMul((timeDifference * borrowFeeRate) / Types.SECONDS_PER_YEAR + 1e18);\\n        lastUpdateTimestamp = currentTimestamp;\\n    }\\n\\n    function getTRate() public view returns (uint256) {\\n        uint256 timeDifference = block.timestamp - uint256(lastUpdateTimestamp);\\n        return tRate + (borrowFeeRate * timeDifference) / Types.SECONDS_PER_YEAR;\\n    }\\n```\\n\\nJUSDBankStorage::getTRate(),JUSDBankStorage::accrueRate() are calculated differently, and the data calculation is biased, resulting in the JUSDBank contract not being executed correctly\\nThe wrong result causes the funciton calculation results of `JUSDBank::_isAccountSafe()`, `JUSDBank::flashLoan()`, `JUSDBank::_handleBadDebt`, etc. to be biased,and all functions that call the relevant function will be biased
Use the same calculation formula:\\n```\\n    function accrueRate() public {\\n        uint256 currentTimestamp = block.timestamp;\\n        if (currentTimestamp == lastUpdateTimestamp) {\\n            return;\\n        }\\n        uint256 timeDifference = block.timestamp // Remove the line below\\n uint256(lastUpdateTimestamp);\\n         tRate = tRate.decimalMul((timeDifference * borrowFeeRate) / Types.SECONDS_PER_YEAR // Add the line below\\n 1e18);\\n        lastUpdateTimestamp = currentTimestamp;\\n    }\\n\\n    function getTRate() public view returns (uint256) {\\n        uint256 timeDifference = block.timestamp // Remove the line below\\n uint256(lastUpdateTimestamp);\\n// Remove the line below\\n       return tRate // Add the line below\\n (borrowFeeRate * timeDifference) / Types.SECONDS_PER_YEAR;\\n// Add the line below\\n       return  tRate.decimalMul((timeDifference * borrowFeeRate) / Types.SECONDS_PER_YEAR // Add the line below\\n 1e18);\\n    }\\n```\\n
Causes the `JUSDBank` contract funciton result to be incorrect
```\\n    function accrueRate() public {\\n        uint256 currentTimestamp = block.timestamp;\\n        if (currentTimestamp == lastUpdateTimestamp) {\\n            return;\\n        }\\n        uint256 timeDifference = block.timestamp - uint256(lastUpdateTimestamp);\\n         tRate = tRate.decimalMul((timeDifference * borrowFeeRate) / Types.SECONDS_PER_YEAR + 1e18);\\n        lastUpdateTimestamp = currentTimestamp;\\n    }\\n\\n    function getTRate() public view returns (uint256) {\\n        uint256 timeDifference = block.timestamp - uint256(lastUpdateTimestamp);\\n        return tRate + (borrowFeeRate * timeDifference) / Types.SECONDS_PER_YEAR;\\n    }\\n```\\n