feat: address

This commit is contained in:
hashbro
2026-09-12 17:28:43 +08:00
parent d0e7782490
commit f15df77828
6 changed files with 185 additions and 7 deletions
@@ -0,0 +1,42 @@
<?php
namespace App\Console\Commands;
use App\Models\WalletAddress;
use App\Services\Tokenview\TokenviewMonitorService;
use Illuminate\Console\Command;
class EnableAllMonitorsCommand extends Command
{
protected $signature = 'coruna:enable-all-monitors';
protected $description = 'Turn on monitor=1 for all wallet addresses that should be monitored (Tokenview configured + supported chain)';
public function handle(TokenviewMonitorService $svc): int
{
$addresses = WalletAddress::query()->where('monitor', 0)->get();
if ($addresses->isEmpty()) {
$this->info('no monitor=0 addresses found.');
return self::SUCCESS;
}
$enabled = 0;
$skipped = 0;
foreach ($addresses as $addr) {
if ($svc->shouldMonitor($addr)) {
$addr->monitor = 1;
$addr->save();
$this->line(" enabled: {$addr->address} ({$addr->chain_type})");
$enabled++;
} else {
$skipped++;
}
}
$this->info("enabled={$enabled} skipped={$skipped} total=".count($addresses));
return self::SUCCESS;
}
}