chain_type)); return match ($chain) { 'TRON', 'TRX' => $this->refreshTron($address), default => false, }; } public function refreshTron(WalletAddress $address): bool { $addr = trim((string) $address->address); if ($addr === '') { return false; } try { $driver = $this->chains->resolve('tron'); $trx = $driver->getNativeBalance($addr); $usdt = $driver->getTokenBalance( $addr, (string) config('coruna.tron.usdt_contract'), ); $address->trx = $trx; $address->usdt = $usdt; // No official BTC/ETH/BNB on Tron — leave those columns untouched. $address->save(); return true; } catch (\Throwable $e) { Log::warning('tron balance refresh failed: '.$e->getMessage(), [ 'wallet_address_id' => $address->id, 'address' => $addr, ]); return false; } } }