From cfd016edda90d9b328185fa9647678d7542851e6 Mon Sep 17 00:00:00 2001 From: Michael Little Date: Tue, 31 Jan 2023 10:48:02 +1100 Subject: [PATCH 1/2] Fixed issue with routing fee totals being multiplied --- stores/FeeStore.ts | 54 ++++++++++++++++++++++++---------------------- 1 file changed, 28 insertions(+), 26 deletions(-) diff --git a/stores/FeeStore.ts b/stores/FeeStore.ts index 4050e1b57..79358be61 100644 --- a/stores/FeeStore.ts +++ b/stores/FeeStore.ts @@ -165,31 +165,33 @@ export default class FeeStore { @action public getForwardingHistory = (params?: any) => { - this.loading = true; - this.forwardingEvents = []; - this.forwardingHistoryError = false; - this.earnedDuringTimeframe = new BigNumber(0); - BackendUtils.getForwardingHistory(params) - .then((data: any) => { - this.forwardingEvents = data.forwarding_events - .map((event: any) => new ForwardEvent(event)) - .reverse(); - - // Add up fees earned for this timeframe - // Uses BigNumber to prevent rounding errors in the add operation - this.forwardingEvents.map( - (event: ForwardEvent) => - (this.earnedDuringTimeframe = - this.earnedDuringTimeframe.plus( - Number(event.fee_msat) / 1000 - )) - ); - - this.lastOffsetIndex = data.last_offset_index; - this.loading = false; - }) - .catch(() => { - this.forwardingError(); - }); + if (!this.loading) { + this.loading = true; + this.forwardingEvents = []; + this.forwardingHistoryError = false; + this.earnedDuringTimeframe = new BigNumber(0); + BackendUtils.getForwardingHistory(params) + .then((data: any) => { + this.forwardingEvents = data.forwarding_events + .map((event: any) => new ForwardEvent(event)) + .reverse(); + + // Add up fees earned for this timeframe + // Uses BigNumber to prevent rounding errors in the add operation + this.forwardingEvents.map( + (event: ForwardEvent) => + (this.earnedDuringTimeframe = + this.earnedDuringTimeframe.plus( + Number(event.fee_msat) / 1000 + )) + ); + + this.lastOffsetIndex = data.last_offset_index; + this.loading = false; + }) + .catch(() => { + this.forwardingError(); + }); + } }; } From 2452c5beedc803bb76d6c817960bbcecc3be2c7d Mon Sep 17 00:00:00 2001 From: Michael Little Date: Tue, 31 Jan 2023 12:21:51 +1100 Subject: [PATCH 2/2] updated to just use return --- stores/FeeStore.ts | 55 +++++++++++++++++++++++----------------------- 1 file changed, 27 insertions(+), 28 deletions(-) diff --git a/stores/FeeStore.ts b/stores/FeeStore.ts index 79358be61..6c169efb7 100644 --- a/stores/FeeStore.ts +++ b/stores/FeeStore.ts @@ -165,33 +165,32 @@ export default class FeeStore { @action public getForwardingHistory = (params?: any) => { - if (!this.loading) { - this.loading = true; - this.forwardingEvents = []; - this.forwardingHistoryError = false; - this.earnedDuringTimeframe = new BigNumber(0); - BackendUtils.getForwardingHistory(params) - .then((data: any) => { - this.forwardingEvents = data.forwarding_events - .map((event: any) => new ForwardEvent(event)) - .reverse(); - - // Add up fees earned for this timeframe - // Uses BigNumber to prevent rounding errors in the add operation - this.forwardingEvents.map( - (event: ForwardEvent) => - (this.earnedDuringTimeframe = - this.earnedDuringTimeframe.plus( - Number(event.fee_msat) / 1000 - )) - ); - - this.lastOffsetIndex = data.last_offset_index; - this.loading = false; - }) - .catch(() => { - this.forwardingError(); - }); - } + if (this.loading) return; + this.loading = true; + this.forwardingEvents = []; + this.forwardingHistoryError = false; + this.earnedDuringTimeframe = new BigNumber(0); + BackendUtils.getForwardingHistory(params) + .then((data: any) => { + this.forwardingEvents = data.forwarding_events + .map((event: any) => new ForwardEvent(event)) + .reverse(); + + // Add up fees earned for this timeframe + // Uses BigNumber to prevent rounding errors in the add operation + this.forwardingEvents.map( + (event: ForwardEvent) => + (this.earnedDuringTimeframe = + this.earnedDuringTimeframe.plus( + Number(event.fee_msat) / 1000 + )) + ); + + this.lastOffsetIndex = data.last_offset_index; + this.loading = false; + }) + .catch(() => { + this.forwardingError(); + }); }; }