Repository navigation
the CCTP reading gets its own block, and every chains column has to cover the cohort - #2717
Merged
Merged
Conversation
…over the cohort Net USDC over CCTP covered 7 of 63 chains and had a column on the widest table on the page, so 56 of the 114 markers on that table were one column. A column that does not apply to 89% of its rows reads as a broken table whatever the legend says, which is what Florent saw. The reading is not deleted: bench 281 scans seven chains as CCTP sources and that is a capital flow worth following, so it is now its own block under the chains table over those seven chains, with net, in and out and the same in-scope caveat. Seven rows of real numbers instead of sixty-three rows where seven carry a figure. The cause was `rows.some((r) => r.cctpNet7d != null)`: one row with a value showed the column for all sixty-three, while columnIsWorthShowing and its 50% floor sat unused on this table. Every optional chains column now goes through it, on the value that would actually print: a new `printedValue` counts a muted out-of-cohort figure as present, so fees at 38 ranked plus 20 muted reads as 58 of 63 and is not dropped by a naive null check on the ranked field. Coverage today: TVL 61, stablecoin float 59, DEX volume 60, fees and revenue 58 each, net stables 57, bridged 42. All eight columns stay. Markers on the chains table fall from 114 to 58, all of them honest: 42 on the bridged pair (20 sovereign L1s and Ethereum, two columns each), 10 on fees and revenue (5 chains with no DefiLlama fee adapter, two columns each), 6 on stablecoin float. No cohort was loosened and no cell was filled from a neighbour.
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.
Follow-up to #2716. Florent's reaction to the deployed page was that values are still missing everywhere. He was reacting to something real, and it was one column.
The column
Net USDC over CCTP covered 7 of 63 chains and had a column on the widest table on the page, so 56 of the 114 markers on that table were that one column. A column that does not apply to 89% of its rows reads as a broken table whatever the legend says.
The cause was
capital-hub-tabs.tsx:rows.some((r) => r.cctpNet7d != null), so one row with a value showed the column for all sixty-three, whilecolumnIsWorthShowingand its 50% floor sat incapital-hub-rules.tsapplied to the protocols table only.Not deleted, re-housed
Bench 281 scans seven chains as CCTP sources and that is a capital flow worth following, so it is now its own block under the chains table over those seven chains, with net, in and out, sortable, and the same in-scope caveat the Sources section makes (one bridge's ledger over one stablecoin, not total cross-chain flow; Net stables 30d is the bridge-agnostic reading). Seven rows of real numbers instead of sixty-three rows where seven carry a figure. Same treatment in the Markdown view.
notApplicable.cctpstays on the row in/api/capital: it has no column any more, but it still answers the same question in words for an API consumer.The guard, so it cannot recur
Every optional chains column now goes through
columnIsWorthShowing, on the value that would actually print. NewprintedValue(ranked, outside)counts a muted out-of-cohort figure as present, because a column at 38 ranked plus 20 muted is a full column and a null check on the ranked field alone would read 38/63 and drop it. Tested both ways.Coverage today, all eight columns retained:
USDC over CCTPMarkers after
Chains table 114 to 58, and every one is honest:
Page total 76, the remaining 18 being the open-interest tables (13: warm-up windows, Kalshi's mid-window step, venues outside a perp cohort) and the protocols table (5: the two categories under five members).
No cohort was loosened and no cell was filled from a neighbouring or cohort-level figure.
pnpm validate240 specs,pnpm typecheck, eslint clean, 362 tests pass.