yxcyxc
All checks were successful
Deploy / deploy-staging (push) Successful in 6s
Deploy / deploy-production (push) Has been skipped

This commit is contained in:
2026-05-04 22:29:46 +02:00
parent 002d450deb
commit 748d2c2e59

View File

@@ -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;