diff --git a/backend/src/graphql/resolver/BalanceResolver.ts b/backend/src/graphql/resolver/BalanceResolver.ts index f5a9f6371..f30e779e5 100644 --- a/backend/src/graphql/resolver/BalanceResolver.ts +++ b/backend/src/graphql/resolver/BalanceResolver.ts @@ -54,11 +54,6 @@ export class BalanceResolver { }, }) - const transactionLinkRepository = getCustomRepository(TransactionLinkRepository) - const { sumHoldAvailableAmount } = context.sumHoldAvailableAmount - ? { sumHoldAvailableAmount: context.sumHoldAvailableAmount } - : await transactionLinkRepository.summary(user.id, now) - // The decay is always calculated on the last booked transaction const calculatedDecay = calculateDecay( lastTransaction.balance, @@ -66,6 +61,12 @@ export class BalanceResolver { now, ) + // The final balance is reduced by the link amount withheld + const transactionLinkRepository = getCustomRepository(TransactionLinkRepository) + const { sumHoldAvailableAmount } = context.sumHoldAvailableAmount + ? { sumHoldAvailableAmount: context.sumHoldAvailableAmount } + : await transactionLinkRepository.summary(user.id, now) + return new Balance({ balance: calculatedDecay.balance .minus(sumHoldAvailableAmount.toString())