diff --git a/contracts/libraries/MathUtils.sol b/contracts/libraries/MathUtils.sol index 7b0a8f32..1e26366d 100644 --- a/contracts/libraries/MathUtils.sol +++ b/contracts/libraries/MathUtils.sol @@ -57,7 +57,8 @@ library MathUtils { } uint256 expMinusOne = exp.sub(1); - uint256 expMinusTwo = exp.sub(2); + + uint256 expMinusTwo = exp > 2 ? exp.sub(2) : 0; uint256 ratePerSecond = _rate.div(31536000); diff --git a/test/helpers/utils/calculations.ts b/test/helpers/utils/calculations.ts index 2d5a6282..34c25069 100644 --- a/test/helpers/utils/calculations.ts +++ b/test/helpers/utils/calculations.ts @@ -1265,8 +1265,12 @@ const calcCompoundedInterest = ( const timeDifference = currentTimestamp.minus(lastUpdateTimestamp); + if(timeDifference.eq(0)){ + return new BigNumber(RAY); + } + const expMinusOne = timeDifference.minus(1); - const expMinusTwo = timeDifference.minus(2); + const expMinusTwo = timeDifference.gt(2) ? timeDifference.minus(2) : 0; const ratePerSecond = rate.div(ONE_YEAR);