each(function (DnsTicket $ticket) use ($rpc, &$confirmed) { if (! $ticket->tx_id) { return; } $alias = $rpc->getAliasByName($ticket->name); if ($alias && str_contains($alias['comment'] ?? '', 'dns=')) { $ticket->confirm(); Cache::forget("dns_edit_lock:{$ticket->name}"); $confirmed++; $this->line(" Confirmed: {$ticket->name} (ticket {$ticket->ticket_id})"); } }); // Retry queued tickets DnsTicket::queued()->each(function (DnsTicket $ticket) use ($wallet, &$retried) { $result = $wallet->updateAlias( $ticket->name, $ticket->address ?? '', $ticket->comment ?? '' ); if (isset($result['tx_id'])) { $ticket->update([ 'status' => 'pending', 'tx_id' => $result['tx_id'], ]); $retried++; $this->line(" Retried: {$ticket->name} → tx {$result['tx_id']}"); } else { $this->line(" Still queued: {$ticket->name} — " . ($result['error'] ?? 'chain busy')); } }); $this->info("Done. Retried: {$retried}, Confirmed: {$confirmed}"); return 0; } }