From cc9e3b54c9eb81467138239a22aa5b7044de6e04 Mon Sep 17 00:00:00 2001 From: Hannes Heine Date: Fri, 15 Oct 2021 12:02:14 +0200 Subject: [PATCH 1/5] Revert "deliver a decay block every time" --- .../graphql/resolver/TransactionResolver.ts | 39 ++++++++++--------- 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/backend/src/graphql/resolver/TransactionResolver.ts b/backend/src/graphql/resolver/TransactionResolver.ts index 603e0737b..ec52bef8b 100644 --- a/backend/src/graphql/resolver/TransactionResolver.ts +++ b/backend/src/graphql/resolver/TransactionResolver.ts @@ -82,16 +82,18 @@ async function calculateAndAddDecayTransactions( ) const balance = prev.balance - decay.balance - finalTransaction.decay = decay - finalTransaction.decay.balance = roundFloorFrom4(balance) - if ( - decayStartTransaction && - prev.transactionId < decayStartTransaction.id && - current.transactionId > decayStartTransaction.id - ) { - finalTransaction.decay.decayStartBlock = ( - decayStartTransaction.received.getTime() / 1000 - ).toString() + if (balance) { + finalTransaction.decay = decay + finalTransaction.decay.balance = roundFloorFrom4(balance) + if ( + decayStartTransaction && + prev.transactionId < decayStartTransaction.id && + current.transactionId > decayStartTransaction.id + ) { + finalTransaction.decay.decayStartBlock = ( + decayStartTransaction.received.getTime() / 1000 + ).toString() + } } } @@ -142,14 +144,15 @@ async function calculateAndAddDecayTransactions( now.getTime(), ) const balance = userTransaction.balance - decay.balance - - const decayTransaction = new Transaction() - decayTransaction.type = 'decay' - decayTransaction.balance = roundFloorFrom4(balance) - decayTransaction.decayDuration = decay.decayDuration - decayTransaction.decayStart = decay.decayStart - decayTransaction.decayEnd = decay.decayEnd - finalTransactions.push(decayTransaction) + if (balance) { + const decayTransaction = new Transaction() + decayTransaction.type = 'decay' + decayTransaction.balance = roundFloorFrom4(balance) + decayTransaction.decayDuration = decay.decayDuration + decayTransaction.decayStart = decay.decayStart + decayTransaction.decayEnd = decay.decayEnd + finalTransactions.push(decayTransaction) + } } } From 4cd7efe1844d208a95aa93a7d99324982a556bb2 Mon Sep 17 00:00:00 2001 From: einhornimmond Date: Fri, 15 Oct 2021 12:05:06 +0200 Subject: [PATCH 2/5] fix to checko for 2 after comma instead of 4 --- backend/src/graphql/resolver/TransactionResolver.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/src/graphql/resolver/TransactionResolver.ts b/backend/src/graphql/resolver/TransactionResolver.ts index ec52bef8b..827b21d2c 100644 --- a/backend/src/graphql/resolver/TransactionResolver.ts +++ b/backend/src/graphql/resolver/TransactionResolver.ts @@ -82,7 +82,7 @@ async function calculateAndAddDecayTransactions( ) const balance = prev.balance - decay.balance - if (balance) { + if (balance > 99) { finalTransaction.decay = decay finalTransaction.decay.balance = roundFloorFrom4(balance) if ( @@ -144,7 +144,7 @@ async function calculateAndAddDecayTransactions( now.getTime(), ) const balance = userTransaction.balance - decay.balance - if (balance) { + if (balance > 99) { const decayTransaction = new Transaction() decayTransaction.type = 'decay' decayTransaction.balance = roundFloorFrom4(balance) From dece5f357b18395cc83575522fc256b7e5ecb9f7 Mon Sep 17 00:00:00 2001 From: einhornimmond Date: Fri, 15 Oct 2021 12:15:18 +0200 Subject: [PATCH 3/5] fix --- .../graphql/resolver/TransactionResolver.ts | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/backend/src/graphql/resolver/TransactionResolver.ts b/backend/src/graphql/resolver/TransactionResolver.ts index 827b21d2c..7430ee99b 100644 --- a/backend/src/graphql/resolver/TransactionResolver.ts +++ b/backend/src/graphql/resolver/TransactionResolver.ts @@ -73,7 +73,7 @@ async function calculateAndAddDecayTransactions( finalTransaction.totalBalance = roundFloorFrom4(userTransaction.balance) const prev = i > 0 ? userTransactions[i - 1] : null - if (prev && prev.balance > 0) { + if (prev) { const current = userTransaction const decay = await calculateDecayWithInterval( prev.balance, @@ -82,7 +82,7 @@ async function calculateAndAddDecayTransactions( ) const balance = prev.balance - decay.balance - if (balance > 99) { + if (decayStartTransaction.received >= prev.balanceDate) { finalTransaction.decay = decay finalTransaction.decay.balance = roundFloorFrom4(balance) if ( @@ -144,15 +144,14 @@ async function calculateAndAddDecayTransactions( now.getTime(), ) const balance = userTransaction.balance - decay.balance - if (balance > 99) { - const decayTransaction = new Transaction() - decayTransaction.type = 'decay' - decayTransaction.balance = roundFloorFrom4(balance) - decayTransaction.decayDuration = decay.decayDuration - decayTransaction.decayStart = decay.decayStart - decayTransaction.decayEnd = decay.decayEnd - finalTransactions.push(decayTransaction) - } + + const decayTransaction = new Transaction() + decayTransaction.type = 'decay' + decayTransaction.balance = roundFloorFrom4(balance) + decayTransaction.decayDuration = decay.decayDuration + decayTransaction.decayStart = decay.decayStart + decayTransaction.decayEnd = decay.decayEnd + finalTransactions.push(decayTransaction) } } From 2f3ad854d54f76ee31c9375d546e4a4450cc39ce Mon Sep 17 00:00:00 2001 From: einhornimmond Date: Fri, 15 Oct 2021 12:25:05 +0200 Subject: [PATCH 4/5] fix fix fix --- backend/src/graphql/resolver/TransactionResolver.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/graphql/resolver/TransactionResolver.ts b/backend/src/graphql/resolver/TransactionResolver.ts index 7430ee99b..8d9cd6dd6 100644 --- a/backend/src/graphql/resolver/TransactionResolver.ts +++ b/backend/src/graphql/resolver/TransactionResolver.ts @@ -82,7 +82,7 @@ async function calculateAndAddDecayTransactions( ) const balance = prev.balance - decay.balance - if (decayStartTransaction.received >= prev.balanceDate) { + if (decayStartTransaction && decayStartTransaction.received >= prev.balanceDate) { finalTransaction.decay = decay finalTransaction.decay.balance = roundFloorFrom4(balance) if ( From 0e7236e9ef05386933bcc78bbbc4e91abd7a3e0e Mon Sep 17 00:00:00 2001 From: einhornimmond Date: Fri, 15 Oct 2021 12:29:56 +0200 Subject: [PATCH 5/5] change symbol name and < --- .../graphql/resolver/TransactionResolver.ts | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) 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