Commit Graph

10 Commits

Author SHA1 Message Date
Jeff Emmett f197a20d0f fix: improve balance river accuracy, scaling, and waterfall flow direction
Switch to all-transactions API endpoint for proper tokenInfo with correct
decimals (fixes ERC20 amounts like USDC/6 decimals being treated as 18).
Fix flow scale to use maxTx instead of maxBalance so individual flows are
visible. Change waterfall flows from vertical to diagonal down-right curves.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 12:53:29 -07:00
Jeff Emmett eb5f93e445 fix: sequential Safe API calls + sankey-proportional waterfalls
Fix 429 rate limiting by making chain detection and data fetching
sequential with delays. Update waterfall viz to use bezier curves with
widths proportional to river width at entry/exit points.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 10:32:09 +00:00
Jeff Emmett 822582b1fd feat: require EncryptID auth for wallet visualizations
Add requireAuth() gate to all visualization pages. Unauthenticated users
are redirected to the home page with a login prompt and auto-redirect
back after signing in.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 11:54:22 -07:00
Jeff Emmett 6970e22b0e Add moneybag emoji favicon to all pages
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 10:44:16 -07:00
Jeff Emmett c02fa2652b Add view navigation tabs and zoomable diagrams
Users can now switch between Multi-Chain Flow, Balance River, and
Single-Chain Sankey views without returning to the homepage — wallet
address is preserved across navigation. Added d3.zoom() to Sankey
and multi-chain flow charts with pan, scroll-zoom, and reset controls.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 08:47:26 -07:00
Jeff Emmett 391db9aa20 Robust rate limiting: concurrency pool, graceful failures, longer backoff
- Add pooled() concurrency limiter (2 chains data, 3 chains detection)
- fetchJSON returns null on exhausted retries instead of throwing
- Backoff starts at 2s, doubles up to 32s, 5 retries
- fetchAllChainsData: failed chains skipped, partial data still renders
- fetchChainData: 300ms delay between requests within same chain
- Cache bust v4

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 07:51:40 -07:00
Jeff Emmett d7892f4404 Speed up data fetching: parallel across chains, sequential within
Each chain has its own API server (different subdomain) so rate limits
are independent. Now fetches all chains in parallel while keeping
requests within each chain sequential. Removes unnecessary sleep()
delays between requests to the same server.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 07:17:36 -07:00
Jeff Emmett 72efe9731b Fix persistent 429: bust JS cache, stagger all API calls sequentially
- Add ?v=2 cache busting to all JS script tags (old version was cached)
- Reduce nginx JS cache from 1y to 1h with must-revalidate
- fetchChainData now sequential (was 4 parallel requests per chain)
- Increase chain detection delay from 150ms to 300ms

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 07:12:02 -07:00
Jeff Emmett d0c75aba8f Transform into generalized rWallet.online platform
Replace hardcoded single-wallet static site with a dynamic platform
that can explore any Safe multi-sig wallet across 7 chains via live
Safe Global API data.

New files:
- js/safe-api.js: Browser-side Safe Transaction Service API client
- js/data-transform.js: API response to D3 visualization transforms
- js/router.js: URL-based state management and shared address bar

Modified:
- index.html: Rich homepage with wallet input, ELI5, viz cards, demo CTA
- wallet-visualization.html: Dynamic single-chain Sankey from live data
- wallet-timeline-visualization.html: Dynamic Balance River from live data
- wallet-multichain-visualization.html: Dynamic multi-chain flow from live data
- Dockerfile: Copy js/ directory alongside HTML files
- docker-compose.yml: Add rwallet.online domain to Traefik routing

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 03:32:54 -07:00
Jeff Emmett 995a54565a Initial commit: Wallet visualization tools
- Balance river timeline with zoom/pan controls
- Multi-chain flow analysis (Gnosis, Ethereum, Avalanche, Optimism, Arbitrum)
- Gnosis chain Sankey overview
- Docker setup for deployment at wallets.bondingcurve.tech

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 13:56:42 +00:00