From 748d2c2e59700b12d90c329ca5a7ba9cf070a418 Mon Sep 17 00:00:00 2001 From: Lars Gebhardt-Kusche Date: Mon, 4 May 2026 22:29:46 +0200 Subject: [PATCH] yxcyxc --- modules/mining-checker/src/Domain/AnalyticsService.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/modules/mining-checker/src/Domain/AnalyticsService.php b/modules/mining-checker/src/Domain/AnalyticsService.php index f01caff..ee2ea5f 100644 --- a/modules/mining-checker/src/Domain/AnalyticsService.php +++ b/modules/mining-checker/src/Domain/AnalyticsService.php @@ -29,6 +29,8 @@ final class AnalyticsService $baselineTs = $this->utcTimestamp($baselineAt); $previous = null; + $previousMeasuredTs = null; + $previousEffectiveCoinsTotal = null; $previousIntervalRate = null; $result = []; $payoutIndex = 0; @@ -59,9 +61,9 @@ final class AnalyticsService $perHourInterval = null; $perDayInterval = null; - if (is_array($previous)) { - $intervalHours = max(0.0, ($measuredTs - ($this->utcTimestamp((string) $previous['measured_at']) ?: $measuredTs)) / 3600); - $intervalGrowth = $effectiveCoinsTotal - (float) ($previous['coins_total_effective'] ?? $previous['coins_total']); + if (is_array($previous) && $previousMeasuredTs !== null && $previousEffectiveCoinsTotal !== null) { + $intervalHours = max(0.0, ($measuredTs - $previousMeasuredTs) / 3600); + $intervalGrowth = $effectiveCoinsTotal - $previousEffectiveCoinsTotal; $perHourInterval = $intervalHours > 0 ? $intervalGrowth / $intervalHours : null; $perDayInterval = $perHourInterval !== null ? $perHourInterval * 24 : null; } @@ -169,6 +171,8 @@ final class AnalyticsService $previousIntervalRate = $perHourInterval; } $previous = $row; + $previousMeasuredTs = $measuredTs > 0 ? $measuredTs : null; + $previousEffectiveCoinsTotal = $effectiveCoinsTotal; } return $result;