feat: explorer API, wallet, CCIP scripts, and config refresh

- Backend REST/gateway/track routes, analytics, Blockscout proxy paths.
- Frontend wallet and liquidity surfaces; MetaMask token list alignment.
- Deployment docs, verification scripts, address inventory updates.

Check: go build ./... under backend/ (pass).
Made-with: Cursor
This commit is contained in:
defiQUG
2026-04-07 23:22:12 -07:00
parent d931be8e19
commit 6eef6b07f6
224 changed files with 19671 additions and 3291 deletions

View File

@@ -75,7 +75,7 @@ server {
add_header Access-Control-Allow-Headers "Content-Type";
}
# Explorer config API (token list, networks) - serve from /var/www/html/config/
# Explorer config API (token list, networks, capabilities) - serve from /var/www/html/config/
location = /api/config/token-list {
default_type application/json;
add_header Access-Control-Allow-Origin *;
@@ -88,6 +88,12 @@ server {
add_header Cache-Control "public, max-age=3600";
alias /var/www/html/config/DUAL_CHAIN_NETWORKS.json;
}
location = /api/config/capabilities {
default_type application/json;
add_header Access-Control-Allow-Origin *;
add_header Cache-Control "public, max-age=3600";
alias /var/www/html/config/CHAIN138_RPC_CAPABILITIES.json;
}
location /health {
access_log off;
@@ -136,8 +142,16 @@ server {
add_header Cache-Control "public, immutable";
}
# Static JSON under /config/ (topology graph, optional operator verify snapshot)
location /config/ {
alias /var/www/html/config/;
add_header Access-Control-Allow-Origin *;
default_type application/json;
add_header Cache-Control "public, max-age=300";
}
# SPA paths on HTTP (for internal/LAN tests) - serve index.html before redirect
location ~ ^/(address|tx|block|token|tokens|blocks|transactions|bridge|weth|liquidity|watchlist|nft|home|analytics|operator)(/|$) {
location ~ ^/(address|tx|block|token|tokens|blocks|transactions|bridge|weth|liquidity|watchlist|nft|home|analytics|operator|system|routes|pools|more)(/|$) {
root /var/www/html;
try_files /index.html =404;
add_header Cache-Control "no-store, no-cache, must-revalidate";
@@ -239,7 +253,7 @@ server {
add_header Access-Control-Allow-Origin *;
}
# Explorer config API (token list, networks) - serve from /var/www/html/config/
# Explorer config API (token list, networks, capabilities) - serve from /var/www/html/config/
location = /api/config/token-list {
default_type application/json;
add_header Access-Control-Allow-Origin *;
@@ -252,6 +266,12 @@ server {
add_header Cache-Control "public, max-age=3600";
alias /var/www/html/config/DUAL_CHAIN_NETWORKS.json;
}
location = /api/config/capabilities {
default_type application/json;
add_header Access-Control-Allow-Origin *;
add_header Cache-Control "public, max-age=3600";
alias /var/www/html/config/CHAIN138_RPC_CAPABILITIES.json;
}
# API endpoint (for Blockscout API)
location /api/ {
@@ -287,9 +307,17 @@ server {
proxy_connect_timeout 75s;
}
# SPA paths: /address, /tx, /block, /token, /tokens, /blocks, /transactions, /bridge, /weth, /liquidity, /watchlist, /nft, /home, /analytics, /operator
# Static JSON: topology-graph.json, optional mission-control-verify.json
location /config/ {
alias /var/www/html/config/;
add_header Access-Control-Allow-Origin *;
default_type application/json;
add_header Cache-Control "public, max-age=300";
}
# SPA paths: path-based routing for explorer-spa.js
# Must serve index.html so path-based routing works (regex takes precedence over proxy)
location ~ ^/(address|tx|block|token|tokens|blocks|transactions|bridge|weth|liquidity|watchlist|nft|home|analytics|operator)(/|$) {
location ~ ^/(address|tx|block|token|tokens|blocks|transactions|bridge|weth|liquidity|watchlist|nft|home|analytics|operator|system|routes|pools|more)(/|$) {
root /var/www/html;
try_files /index.html =404;
add_header Cache-Control "no-store, no-cache, must-revalidate";