diff --git a/CHANGELOG.md b/CHANGELOG.md index c286d71659..266bc3627c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -59,6 +59,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ - [962](https://github.com/umee-network/umee/pull/962) Streamline AccrueAllInterest - [967](https://github.com/umee-network/umee/pull/962) Use taylor series of e^x for more accurate interest at high APY. - [987](https://github.com/umee-network/umee/pull/987) Streamline x/leverage CLI tests +- [1012](https://github.com/umee-network/umee/pull/1012) Improve negative time elapsed error message ## [v2.0.2](https://github.com/umee-network/umee/releases/tag/v2.0.2) - 2022-05-13 diff --git a/x/leverage/keeper/interest.go b/x/leverage/keeper/interest.go index df784f8491..c66fbc12c6 100644 --- a/x/leverage/keeper/interest.go +++ b/x/leverage/keeper/interest.go @@ -4,7 +4,6 @@ import ( "fmt" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" gogotypes "github.com/gogo/protobuf/types" "github.com/umee-network/umee/v2/x/leverage/types" @@ -77,11 +76,10 @@ func (k Keeper) AccrueAllInterest(ctx sdk.Context) error { } // calculate time elapsed since last interest accrual (measured in years for APR math) - secondsElapsed := currentTime - prevInterestTime - if secondsElapsed < 0 { - return sdkerrors.Wrap(types.ErrNegativeTimeElapsed, fmt.Sprintf("%d seconds", secondsElapsed)) + if currentTime < prevInterestTime { + return types.ErrNegativeTimeElapsed.Wrap(fmt.Sprintf("current: %d, prev: %d", currentTime, prevInterestTime)) } - yearsElapsed := sdk.NewDec(secondsElapsed).QuoInt64(types.SecondsPerYear) + yearsElapsed := sdk.NewDec(currentTime - prevInterestTime).QuoInt64(types.SecondsPerYear) // fetch required parameters tokens := k.GetAllRegisteredTokens(ctx)