This repository was archived by the owner on Jul 5, 2026. It is now read-only.
feat(explorer): subnet/registry/chain analytics depth (detail, home, status, account)#276
Merged
Conversation
added 4 commits
June 27, 2026 19:08
Add live metagraph-snapshot depth to the subnet detail page:
- data layer: typed queries + normalizers for /subnets/{n}/metagraph,
/validators, /neurons/{uid}, /concentration, and /concentration/history,
with null-safe per-neuron fields (inactive UIDs carry null rank/axon/
emission)
- Metagraph tab: sortable neuron table (uid, hotkey, stake, emission, rank,
trust, consensus, validator-permit badge) + top-UID stake distribution +
validator-permit filter, with a per-UID drill-in (snapshot StatTile grid +
history sparklines) driven by a ?uid= search param
- Validators tab: top-validator stake bars + leaderboard reusing the shared
neuron table; rows drill into the Metagraph neuron view
- Concentration section: Gini / Nakamoto / HHI KPI tiles with meaningful
tones, top-1/5/10/20% share bars, and stake/emission Gini drift sparklines
over a 7d/30d/90d window
…ability
Theme C — registry & network-health depth.
Pulse band: wire the bulk /api/v1/health/trends artifact into NetworkPulseBand
so 7d/30d buckets reflect REAL sample-weighted daily uptime per day instead of
one flat current-snapshot ratio repeated across every column; 1h/24h (sub-day,
no per-day points) fall back to the live snapshot. Incident markers + tooltips
realign to the rendered bucket count. Fixes the flat-band bug on home and health.
Registry depth (home): completeness score-distribution histogram and a
surface-dimension coverage breakdown from /api/v1/registry/summary, plus a
ranked enrichment-queue table from /api/v1/coverage-depth.
Status diagnostics: a /api/v1/health/history/{date} date-picker drill-down
(classification mix + sortable, filterable per-surface grid) and a real
/api/v1/source-health provider table (status, counts, classification mix).
Agent-catalog: a capability/readiness filter on the subnet list (service kind +
readiness tier, joined via a netuid-keyed agent-catalog map) with a sortable
Readiness column, and a new "Callable services" tab on subnet detail rendering
each service's kind/url/auth/live health + copy-paste snippets, with an
agent-readiness blocker card.
Adds bulkHealthTrends/registrySummary/coverageDepth/healthHistory/
sourceHealthProviders/agentCatalogMap/agentCatalogDetail query factories +
null-safe normalizers and the matching types.
NeuronTable gains a variant ('miner' | 'validator'); the validators panel
now surfaces dividends + validator-trust (falling back to trust) instead of
rank/consensus, which are null/~0 for validators. The miner default and the
Metagraph tab are unchanged. Sorting and em-dash null-safety cover the new
columns.
normalizeBulkTrendSubnet sliced its per-day points[] with the surface-named
MAX_HEALTH_TREND_SURFACES; add MAX_HEALTH_TREND_DAYS (400, matching the daily
history window) and use it for the points slice.
…footprint
Render the chain-direct data the WIP /explorer already fetched but never
charted, and flesh out the account page with the paginated event feed and
cross-subnet footprint endpoints.
Explorer (/explorer):
- Daily activity series: block, event, success-rate, and unique-signers
mini-sparklines beside extrinsics (reverse to chronological).
- Daily fees & tips series (total/avg fee, total/avg tip) as sparklines,
a top-fee-payers table, and a Tips KPI tile.
- Call mix is now click-to-drill: select a module to reveal its
call_function rows (when the aggregate is grouped by function).
- Signers table gains total-tip and last-tx-block (block-linked) columns.
Account (/accounts/$ss58):
- Chain events section backed by /accounts/{ss58}/events with a ?kind
SelectFilter and offset pagination matching the sibling feeds.
- Subnet footprint from /accounts/{ss58}/subnets with a stake-by-subnet
BarMini, falling back to the already-fetched summary registrations.
- Add accountEventsQuery + accountSubnetsQuery and the AccountEventsPage /
AccountSubnets types; capture alpha_amount + extrinsic_index on events.
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
metagraphed-ui | 1f4ed6c | Commit Preview URL Branch Preview URL |
Jun 28 2026, 02:11 AM |
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Surfaces backend data the UI didn't expose yet, from a backend↔UI gap audit. All of it runs on current data — no archive node required. Reuses the shared primitive kit (StatTile / BarMini / Sparkline / SortHeader / SelectFilter / HealthPill / CopyableCode) and design tokens throughout; no one-off values.
Theme A — subnet economic depth (subnet detail)
?uid=)Theme C — registry & network health
/coverage-depthranked enrichment queue/health/trends(1h/24h honestly fall back to current snapshot)/health/history/{date}date-picker drilldown +/source-healthprovider tableTheme B — chain explorer & account depth
/explorer(renders data the dashboard already fetched — no new queries): daily activity sparklines (blocks / events / success-rate / unique-signers), daily fees & tips + top fee payers, call-function drill-down, signer tip / last-block columns?kindfilter + pager) + cross-subnet footprint (/subnets+ stake-by-subnet bar)Verification
typecheck (
tsc --noEmit) clean · 163 vitest pass · eslint 0 errors · prettier clean. Rebased onto #274/#275; combined state re-verified green.Data note:
/chain/signersand/accounts/{ss58}/eventsare thin from the data tier today (pre-backfill); those views null-guard with empty-states and populate as the indexer fills.