Repository navigation
Make the dashboard live: last good values instead of mocks, Stellar holders, about $1T with the CCTP caveat - #59
Merged
Merged
Conversation
…state the CCTP caveat Delete mockData.ts. Failed reads fall back to real earlier reads in src/data/last-good.json, labeled Last good with their date. Add Stellar USDY top holders (stellar.expert) and a supply cross-check against explorers. The summary now says about $1T with the CCTP exclusion beside it ($1.02T without CCTP, $1.21T with). Remove the localhost link from the README. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
# Conflicts: # README.md
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
src/lib/mockData.tsis deleted. When a live read fails, each getter returns its last good rows fromsrc/data/last-good.json, labeled Last good with the date of the original read (badge text, not a bare~). A row with no stored value is left out and the page says "Unavailable".scripts/snapshot-last-good.tswrites the file, and only from a fully live read. The invented weekly-flows series is gone; the stored series is the real Blockscout log read of 2026-10-26./summaryand/issuancesay "about $1T" and put the caveat next to it: $1.02T after removing $192.1B of Circle CCTP transfers, $1.21T if they were counted (grossUsd,grossWithCctpUsd).localhost:3000link is replaced. Dune key untouched; no workflows added./issuancebadge said "Live" for a dated snapshot. It now says "Last good" with the snapshot date.Verification (2026-10-26)
npx tsc --noEmit,npm run lint,npm test(6 check files) andnpm run buildall pass.npx tsx scripts/snapshot-last-good.ts: every part came back live (15 chain rows, 45 holder rows, 167 weekly-flow rows, 4 benchmark rows).npx tsx scripts/verify-supply.tsagainst independent explorers: Ethereum USDY and OUSG match Blockscout exactly; Mantle USDY 319,742.91 matches Routescan; Plume USDY 0 matches Plume Blockscout; Stellar USDY 467,502,151.70 (Horizon) vs 467,502,127.77 (stellar.expert), 0.000005% apart. Arbitrum, Polygon, BNB, Solana and others were not cross-checked (explorers block scripted requests or need a key).next starton a spare port:/,/flows,/issuance,/summaryreturn 200 and/api/metricsreturns 200 with 15 live chain rows, 45 live holder rows (30 Ethereum, 15 Stellar), 167 live flow rows; the home HTML contains no "mock". Total TVL $2.69B, Live.fetchrejecting every call, the four getters return chain 15 rows, holders 45, flows 167, allcachedwith their original dates, and the Ondo benchmark row from the cached chain total.Not done / for Rahil
last-good.jsongoes stale until someone reruns the snapshot script; I added no scheduler.🤖 Generated with Claude Code