Files
zeekay 546ed00dcf The Hanzo explorer asks no P-Chain questions
Hanzo mainnet runs hanzod with its own committee and no P-Chain, so every
platform.* read the explorer sent through /v1/node/p-chain came back "no such
chain: P", and the validators and chains pages rendered reads that could never
answer.

ChainEntry.pChain says whether a chain's node runs a P-Chain: true for Lux and
Zoo, false for Hanzo, true for white-label hosts as before. Where it is false,
the P-Chain hooks send nothing, the Chains and Validators nav entries and the
stats page's network panel are gone, and /validators, /chains and
/chains/<slug> answer 404. Lux and Zoo are unchanged.

gate.spec.tsx asserts each hook sends nothing without a P-Chain and reads it
with one; chainRegistry.spec.ts pins which hosts have one. The
useNetworkValidators mock gains the predicates the hook now imports; its six
cases had been failing since the hook first called isPrimaryNetworkExplorer.

Claude-Session: https://claude.ai/code/session_011Ge9UnfkEK37Lapx5nfPQK
2026-09-23 19:20:09 -07:00

338 lines
6.6 KiB
JSON

{
// Version of the setting file. Always 0.2
"version": "0.2",
// language - current active spelling language
"language": "en",
"useGitignore": true,
"ignorePaths": [
"**/*.svg",
"**/*.sfd",
".git",
"mocks/zetaChain/zetaChainCCTX.ts",
"mocks/metadata/address.ts",
"playwright/mocks/file_mock_with_very_long_name.json",
"playwright/fixtures/rewards.ts",
"public/static/capybara/index.js",
"ui/showcases/utils.ts",
"ui/tx/TxExternalTxs.pw.tsx",
"pnpm-lock.yaml",
// Generated by `pnpm patch-commit` — the diff carries a dependency's own
// bundled identifiers, which are not ours to spell.
"patches/**",
".cspell-words.txt"
],
"enableGlobDot": true,
"ignoreRandomStrings": true,
"allowCompoundWords": true,
"ignoreRegExpList": [
// Ignore filecoin f410f-like native addresses
"f410f[a-z2-7]{39}",
// Specify publisher key
"spk_\\w+",
// Insights project key
"phc_\\w+",
// GitHub account names
"@(\\w|-)+"
],
// words - list of words to be always considered correct
"words": [
"PKCE",
"Tamagui",
"KHTML",
"reqs",
"ttfb",
"platformvm",
"aatx",
"CLOB",
// Mainnet 96369 token symbols
"WLUX",
"LZOO",
"hanzoai",
"zooai",
"parsdao",
"Kaniko",
"unstub",
"abfnrtv",
"abitype",
"AIVM",
"MPCVM",
"CGGMP",
"UTXO",
"decomplects",
"allvms",
"abkw",
"ACMRT",
"achain",
"bchain",
"adbutler",
"addrs",
"adsbyslise",
"aeiou",
"Ahrefs",
"airtable",
"Alexa",
"alfajores",
"andb",
"anyblock",
"anytrust",
"apng",
"apos",
"appkit",
"Applebot",
"Arianee",
"ARTIS",
"astar",
"asymp",
"autoscout",
"Baiduspider",
"barooumba",
"basehead",
"bech",
"bedag",
"bingbot",
"bitquery",
"blackfort",
"blockie",
"blockies",
"blockscout",
"buildx",
"callvalue",
"campnetwork",
"CCIP",
"cctx",
"cctxs",
"celenium",
"celestia",
"CERC",
"cfasync",
"chainid",
"chainscout",
"chakra",
"clstr",
"coinzilla",
"coinzillatag",
"commitish",
"Computor",
"contentscript",
"contractname",
"convictional",
"Couldn",
"crios",
"dappscout",
"dbaeumer",
"dchain",
"deepdao",
"defi",
"devnet",
"didn",
"doesn",
"doctl",
"DOKS",
"dotenv",
"DRPC",
"DTEND",
"duckduckgo",
"eamodio",
"Eigenda",
"Emelyanov",
"Enkrypt",
"explorable",
"facebookexternalhit",
"favicons",
"filecoin",
"flashblock",
"flashblocks",
"foos",
"fxios",
"geas",
"giga",
"gitpoap",
"Googlebot",
"goriunov",
"gotmpl",
"grecaptcha",
"growthbook",
"gstatic",
"Hanzo",
"hanzod",
"hairsp",
"healthz",
"helia",
"hyfi",
"ICTT",
"identicons",
"IERC",
"Ihnatsyeu",
"Inde",
"inpage",
"internaltx",
"ipfs",
"iszero",
"jazzicon",
"jfif",
"jumpdest",
"jumpi",
"keccak",
"Kiryl",
"labelable",
"laquo",
"libc",
"libp",
"Liquality",
"llms",
"lokijs",
"LUKSO",
"luxd",
"luxfi",
"nanoLux",
"mainnets",
"megaeth",
"merkle",
"metasuites",
"mgas",
"mload",
"mmss",
"msize",
"mulmod",
"multiarch",
"multicall",
"multichain",
"multisend",
"nbdash",
"NCAABB",
"ndash",
"negb",
"nextjs",
"noopener",
"noreferrer",
"noves",
"numine",
"nums",
"okex",
"okhttp",
"opblock",
"opengraph",
"orderbook",
"paych",
"pchain",
"PCHAIN",
"CCHAIN",
"peekers",
"pino",
"pjpeg",
"insights",
"procs",
"PWDEBUG",
"pwstory",
"pyftsubset",
"Qwen",
"qrcode",
"rabby",
"raleway",
"randao",
"raquo",
"rari",
"Rarible",
"RBTC",
"rdns",
"rdparty",
"regcred",
"remasc",
"reown",
"resizer",
"rgba",
"RIPEMD",
"rlespinasse",
"rogerbot",
"rollbar",
"ROLLUP",
"rollups",
"rubic",
"Sastana",
"schnorr",
"screencasts",
"scure",
"sdiv",
"SEMRESATTRS",
"Semrush",
"servedbyadbutler",
"sevio",
"sevioads",
"Shavuha",
"Shavukha",
"shibarium",
"shibariumscan",
"SHVKH",
"sidechain",
"Signatur",
"simonsiefke",
"siwe",
"slise",
"sload",
"smartmuv",
"smod",
"smol",
"sokol",
"solidityscan",
"Sourcify",
"Succ",
"superchain",
"tabler",
"teleporter",
"TBXN",
"testnetv",
"thinsp",
"Tokenary",
"tokenpocket",
"tokentxns",
"tonumber",
"trustwallet",
"tsgo",
"Twitterbot",
"txns",
"typegen",
"uidotdev",
"unfinalized",
"UNKN",
"unparse",
"unstaked",
"usehooks",
"utia",
"utka",
"utko",
"utxos",
"UUPS",
"VCALENDAR",
"vercel",
"verifreg",
"VEVENT",
"viem",
"vitalik",
"vite",
"vitest",
"wagmi",
"warpcast",
"watchlist",
"webacy",
"Winky",
"wouter",
"WOWG",
"WPOA",
"xdai",
"XDEFI",
"xname",
"xstar",
"yatki",
"zerion",
"zerossl",
"zetachain",
"zetavaloper",
"zilliqa",
"zkevm",
"zksolc",
"zksync",
"ZKVM",
"zora"
]
}