*/ public function summary(string $currencyCode): array { $currency = strtoupper(trim($currencyCode)); if ($currency === '' || strlen($currency) > 16) { $currency = 'NPR'; } $pool = JackpotPool::query() ->where('currency_code', $currency) ->where('status', 1) ->first(); $amountMinor = $pool !== null ? (int) $pool->current_amount : 0; return [ 'currency_code' => $currency, 'enabled' => $pool !== null, 'current_amount_minor' => $amountMinor, 'current_amount_formatted' => CurrencyFormatter::fromMinor($amountMinor), 'draws_since_last_burst' => $pool !== null ? $this->drawsSinceLastBurst($pool) : null, 'last_trigger_draw_id' => $pool?->last_trigger_draw_id !== null ? (int) $pool->last_trigger_draw_id : null, ]; } private function drawsSinceLastBurst(JackpotPool $pool): int { $lastId = (int) ($pool->last_trigger_draw_id ?? 0); return (int) Draw::query() ->where('status', DrawStatus::Settled->value) ->when($lastId > 0, fn ($q) => $q->where('id', '>', $lastId)) ->count(); } }