diff --git a/apps/ui/src/routes/validators.$hotkey.tsx b/apps/ui/src/routes/validators.$hotkey.tsx index 78ee16347..6faa844d4 100644 --- a/apps/ui/src/routes/validators.$hotkey.tsx +++ b/apps/ui/src/routes/validators.$hotkey.tsx @@ -7,6 +7,7 @@ import { Boxes, Coins, Gauge, Percent, TriangleAlert, Users, Zap } from "lucide- import { useWallet } from "@/hooks/use-wallet"; import { AppShell } from "@/components/metagraphed/app-shell"; import { EmptyState, PageHeading, Skeleton, StaleBanner } from "@/components/metagraphed/states"; +import { AccountAddress } from "@/components/metagraphed/account-address"; import { ApiSourceFooter } from "@/components/metagraphed/api-source-footer"; import { EndpointSnippet } from "@/components/metagraphed/endpoint-snippet"; import { QueryErrorBoundary } from "@/components/metagraphed/error-boundary"; @@ -291,6 +292,27 @@ function ValidatorDetail({ hotkey }: { hotkey: string }) { + {/* #6427: the payload already carries the owning coldkey -- it was + only ever read for the owner check that gates the take modal, so + a visitor had no way to see which account operates this hotkey. + Public and unconditional, beside the hotkey it belongs to. + AccountAddress is the app's shared ss58 treatment (accounts link + + hover preview + copy) and covers a coldkey as readily as a + hotkey; its `fallback` handles the null the API normalizes an + absent coldkey to. `break-all` so the full 48-char address wraps + on a 375px viewport instead of escaping it. */} + + + Coldkey + + + Not reported} + /> + + } actions={