Add bridge lane health API and config-ready lane UI for Tier A Week 3.
Some checks failed
Deploy Explorer Live / deploy (push) Failing after 13s
Validate Explorer / frontend (push) Failing after 21s
Validate Explorer / smoke-e2e (push) Has been skipped

Probe LINK balances on CCIP bridge contracts, expose proof-transfer metadata on bridge status, and render funded/unfunded lane health on /bridge with extended smoke coverage.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
defiQUG
2026-05-23 04:21:44 -07:00
parent 763ca75c21
commit 228fa0eef6
14 changed files with 605 additions and 3 deletions

View File

@@ -59,6 +59,10 @@ echo "✅ Docs bundle prepared"
echo "=== Step 3: Upload artifacts ==="
scp -o ConnectTimeout=10 -o StrictHostKeyChecking=no "$TMP_DIR/explorer-config-api" root@"$PROXMOX_HOST":/tmp/explorer-config-api
scp -o ConnectTimeout=10 -o StrictHostKeyChecking=no "$TMP_DIR/explorer-ai-docs.tar.gz" root@"$PROXMOX_HOST":/tmp/explorer-ai-docs.tar.gz
PROOF_JSON="$REPO_ROOT/reports/status/bridge-lane-proof-transfers-latest.json"
if [ -f "$PROOF_JSON" ]; then
scp -o ConnectTimeout=10 -o StrictHostKeyChecking=no "$PROOF_JSON" root@"$PROXMOX_HOST":/tmp/bridge-lane-proof-transfers.json
fi
echo "✅ Artifacts uploaded"
echo "=== Step 4: Install backend, refresh docs, and ensure env ==="
@@ -91,8 +95,11 @@ if [ -z "$DB_URL" ]; then
fi
fi
pct exec "$VMID" -- bash -lc 'mkdir -p /opt/explorer-ai-docs /etc/systemd/system/explorer-config-api.service.d'
pct exec "$VMID" -- bash -lc 'mkdir -p /opt/explorer-ai-docs /etc/systemd/system/explorer-config-api.service.d /opt/explorer-bridge-status'
pct push "$VMID" /tmp/explorer-ai-docs.tar.gz /tmp/explorer-ai-docs.tar.gz --perms 0644
if [ -f /tmp/bridge-lane-proof-transfers.json ]; then
pct push "$VMID" /tmp/bridge-lane-proof-transfers.json /opt/explorer-bridge-status/proof-transfers.json --perms 0644
fi
pct push "$VMID" /tmp/explorer-config-api /usr/local/bin/explorer-config-api.new --perms 0755
pct exec "$VMID" -- env \
@@ -181,6 +188,16 @@ else
rm -f /etc/systemd/system/explorer-config-api.service.d/walletconnect.conf
fi
cat > /etc/systemd/system/explorer-config-api.service.d/bridge-lanes.conf <<'BRIDGEEOF'
[Service]
Environment=RPC_URL=http://192.168.11.211:8545
Environment="MISSION_CONTROL_EXTRA_RPCS=gnosis|https://rpc.gnosischain.com|100
cronos|https://evm.cronos.org|25
celo|https://forno.celo.org|42220
wemix|https://api.wemix.com|1111"
Environment=MISSION_CONTROL_PROOF_TRANSFERS_JSON=/opt/explorer-bridge-status/proof-transfers.json
BRIDGEEOF
systemctl daemon-reload
systemctl restart explorer-config-api
sleep 2

View File

@@ -45,12 +45,22 @@ test.describe('Explorer sprint smoke', () => {
await expect(page.getByText(/CCIP route catalog/i).first()).toBeVisible({ timeout: 15000 })
await expect(page.getByText(/Wemix/i).first()).toBeVisible({ timeout: 15000 })
await expect(page.getByText(/Bridge Freshness Context/i).first()).toBeVisible({ timeout: 10000 })
await expect(page.getByText(/Config-ready lane health/i).first()).toBeVisible({ timeout: 10000 })
await expect(page.getByText(/unfunded|funded/i).first()).toBeVisible({ timeout: 10000 })
})
test('posture glossary doc page loads', async ({ page }) => {
await page.goto(`${EXPLORER_URL}/docs/posture-glossary`, { waitUntil: 'domcontentloaded', timeout: 30000 })
await expect(page.getByRole('heading', { name: /Posture glossary/i })).toBeVisible({ timeout: 15000 })
await expect(page.getByText(/x402 readiness/i).first()).toBeVisible({ timeout: 10000 })
await expect(page.getByText(/transportActive/i).first()).toBeVisible({ timeout: 10000 })
})
test('posture glossary drawer opens from docs badges', async ({ page }) => {
await page.goto(`${EXPLORER_URL}/docs/posture-glossary`, { waitUntil: 'domcontentloaded', timeout: 30000 })
await page.getByRole('button', { name: /^GRU$/i }).click()
await expect(page.getByRole('dialog')).toBeVisible({ timeout: 10000 })
await expect(page.getByText(/Methodology/i).first()).toBeVisible({ timeout: 10000 })
})
test('public API access doc page loads', async ({ page }) => {