diff --git a/backend/src/graphql/resolver/TransactionResolver.ts b/backend/src/graphql/resolver/TransactionResolver.ts index 8d9cd6dd6..644a213e6 100644 --- a/backend/src/graphql/resolver/TransactionResolver.ts +++ b/backend/src/graphql/resolver/TransactionResolver.ts @@ -71,24 +71,27 @@ async function calculateAndAddDecayTransactions( finalTransaction.date = transaction.received.toISOString() finalTransaction.memo = transaction.memo finalTransaction.totalBalance = roundFloorFrom4(userTransaction.balance) - const prev = i > 0 ? userTransactions[i - 1] : null + const previousTransaction = i > 0 ? userTransactions[i - 1] : null - if (prev) { - const current = userTransaction + if (previousTransaction) { + const currentTransaction = userTransaction const decay = await calculateDecayWithInterval( - prev.balance, - prev.balanceDate, - current.balanceDate, + previousTransaction.balance, + previousTransaction.balanceDate, + currentTransaction.balanceDate, ) - const balance = prev.balance - decay.balance + const balance = previousTransaction.balance - decay.balance - if (decayStartTransaction && decayStartTransaction.received >= prev.balanceDate) { + if ( + decayStartTransaction && + decayStartTransaction.received < currentTransaction.balanceDate + ) { finalTransaction.decay = decay finalTransaction.decay.balance = roundFloorFrom4(balance) if ( decayStartTransaction && - prev.transactionId < decayStartTransaction.id && - current.transactionId > decayStartTransaction.id + previousTransaction.transactionId < decayStartTransaction.id && + currentTransaction.transactionId > decayStartTransaction.id ) { finalTransaction.decay.decayStartBlock = ( decayStartTransaction.received.getTime() / 1000