Skip to content

Commit

Permalink
fix: gho user data (#615)
Browse files Browse the repository at this point in the history
* fix: gho user data

* fix: test

* fix: rename vars, comments
  • Loading branch information
grothem authored Feb 14, 2025
1 parent afa7d8e commit 4b4304f
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 11 deletions.
8 changes: 4 additions & 4 deletions packages/math-utils/src/formatters/gho/index.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@ describe('formatGhoData', () => {
expect(result.userGhoDiscountPercent).toEqual(0.1);
expect(result.userGhoAvailableToBorrowAtDiscount).toEqual(10000);
expect(result.userDiscountTokenBalance).toEqual(100);
expect(result.userGhoBorrowBalance).toEqual(1.1000000063419584);
expect(result.userDiscountedGhoInterest).toEqual(0.9000000570776255);
expect(result.userGhoBorrowBalance).toEqual(1.9000000570776256);
expect(result.userDiscountedGhoInterest).toEqual(0.1000000063419584);
});

it('calculates the amount of GHO available to borrow at discount', () => {
Expand All @@ -53,8 +53,8 @@ describe('formatGhoData', () => {
expect(result.userGhoDiscountPercent).toEqual(0.1);
expect(result.userGhoAvailableToBorrowAtDiscount).toEqual(0);
expect(result.userDiscountTokenBalance).toEqual(0.1);
expect(result.userGhoBorrowBalance).toEqual(1.1000000063419584);
expect(result.userDiscountedGhoInterest).toEqual(0.9000000570776255);
expect(result.userGhoBorrowBalance).toEqual(1.9000000570776256);
expect(result.userDiscountedGhoInterest).toEqual(0.1000000063419584);
});

it('properly formats user summary with GHO discount', () => {
Expand Down
14 changes: 7 additions & 7 deletions packages/math-utils/src/formatters/gho/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -122,30 +122,30 @@ export function formatGhoUserData({
userGhoAvailableToBorrowAtDiscount = 0;
}

const userBalancePreDiscount = getCompoundedBalance({
const balance = getCompoundedBalance({
principalBalance: ghoUserData.userGhoScaledBorrowBalance,
reserveIndex: ghoReserveData.ghoCurrentBorrowIndex,
reserveRate: ghoReserveData.ghoBaseVariableBorrowRate,
lastUpdateTimestamp: Number(ghoReserveData.ghoReserveLastUpdateTimestamp),
currentTimestamp,
});
const accruedInterest = userBalancePreDiscount.minus(
const balanceIncrease = balance.minus(
rayMul(
ghoUserData.userGhoScaledBorrowBalance,
ghoUserData.userPreviousGhoBorrowIndex,
),
);
const discount = accruedInterest.multipliedBy(
1 - Number(normalize(ghoUserData.userGhoDiscountPercent, 4)),
);
const userBorrowBalance = userBalancePreDiscount.minus(discount);
const discountedAmount = balanceIncrease
.multipliedBy(ghoUserData.userGhoDiscountPercent)
.dividedBy(10000); // discount is in basis points
const userBorrowBalance = balance.minus(discountedAmount);
return {
userGhoDiscountPercent: Number(
normalize(ghoUserData.userGhoDiscountPercent, 4),
),
userDiscountTokenBalance: formattedUserDiscountTokenBalance,
userGhoBorrowBalance: Number(normalize(userBorrowBalance, 18)),
userDiscountedGhoInterest: Number(normalize(discount, 18)),
userDiscountedGhoInterest: Number(normalize(discountedAmount, 18)),
userGhoAvailableToBorrowAtDiscount,
};
}
Expand Down

0 comments on commit 4b4304f

Please sign in to comment.