# Detailed Gaps and Issues List **Date:** 2026-03-02 **Purpose:** Consolidated list of items requiring fixes, deployment, or operator action. --- ## 1. Explorer API (VMID 5000) — ✅ FIXED (2026-02-28) | Issue | Status | Fix | |-------|--------|-----| | `/api/config/token-list` returns Blockscout error (400) | ✅ Fixed | Nginx patched; config files deployed | | `/api/config/networks` returns Blockscout error | ✅ Fixed | **Applied:** `scripts/patch-nginx-explorer-config.sh` added locations to HTTP and HTTPS blocks. Config deployed via `pct push`. **Original cause:** `location = /api/config/token-list` and `location = /api/config/networks` in `fix-nginx-conflicts-vmid5000.sh` are not in the live nginx config. Requests fall through to `location /api/` and get proxied to Blockscout. **Steps:** 1. SSH to Proxmox host or enter VMID 5000. 2. Run inside VMID 5000: ```bash # From repo root, copy script into container and run: pct exec 5000 -- bash -c "cd /tmp && [your-fix-nginx-script-content]" # Or: scp fix-nginx-conflicts-vmid5000.sh root@:/tmp/ && ssh root@ bash /tmp/fix-nginx-conflicts-vmid5000.sh ``` 3. Deploy config files: ```bash # From repo root (with pct or SSH): ./explorer-monorepo/scripts/deploy-explorer-config-to-vmid5000.sh # Or EXEC_MODE=ssh: EXEC_MODE=ssh EXPLORER_IP=192.168.11.140 ./explorer-monorepo/scripts/deploy-explorer-config-to-vmid5000.sh ``` 4. Verify: ```bash curl -s https://explorer.d-bis.org/api/config/token-list | jq '.tokens | length' # → 22 curl -s https://explorer.d-bis.org/api/config/networks | jq '.chains | length' # → 4 ``` --- ## 2. Token-Aggregation Service — ✅ FIXED (2026-02-28) | Issue | Status | Fix | |-------|--------|-----| | `/health` returns `{"status":"unhealthy","error":"database \"token_aggregation\" does not exist"}` | ✅ Fixed | DB created; migrations run; service restarted | **Applied:** Created `token_aggregation` DB; ran migrations; restarted service. Health now returns `"status":"healthy"`. **Original cause:** The deployed token-aggregation service (port 3001) uses `DATABASE_URL` pointing to a database named `token_aggregation`, but that database does not exist or migrations were not run. **Steps:** 1. On VMID 5000 (or wherever PostgreSQL runs): ```bash # Create database if using separate DB: createdb -U postgres token_aggregation # Or ensure DATABASE_URL uses explorer_db (migrations create tables there) ``` 2. Run migrations: ```bash cd smom-dbis-138/services/token-aggregation DATABASE_URL=postgresql://user:pass@host:5432/token_aggregation bash scripts/run-migrations.sh # Or with explorer_db: DATABASE_URL=postgresql://user:pass@host:5432/explorer_db ``` 3. Restart token-aggregation: ```bash systemctl restart token-aggregation ``` 4. Verify: ```bash curl -s http://192.168.11.140:3001/health | jq . # Should return "status":"healthy" ``` **Reference:** `docs/04-configuration/TOKEN_AGGREGATION_REPORT_API_RUNBOOK.md`, `smom-dbis-138/services/token-aggregation/scripts/run-migrations.sh` --- ## 3. Nginx Proxy Order — Token-Aggregation vs Blockscout | Issue | Status | Fix | |-------|--------|-----| | `/api/v1/` may proxy to Blockscout instead of token-aggregation | ✅ Addressed | `fix-nginx-conflicts-vmid5000.sh` defines `location /api/v1/` **before** `location /api/` (lines 132–142 before 159). When applying config on VMID 5000, use this script to preserve order. | **Reference:** `explorer-monorepo/scripts/fix-nginx-conflicts-vmid5000.sh` — correct order is in repo; operator should use this script when (re)applying nginx config. --- ## 4. Explorer Homepage / Wallet Page Tests — Intermittent | Issue | Status | Fix | |-------|--------|-----| | `verify-all-systems.sh` "Explorer homepage" or "Wallet page" may fail | ✅ Improved | Timeout for Explorer homepage and Wallet page increased from 15s to 25s in `scripts/verify-all-systems.sh` to reduce failures on slow networks. | **Note:** Homepage uses `SolaceScanScout|Blockscout|blockscout|