Files
zeekay 1a686d955f refactor(pchain): Subnet -> Net; add the mainnet explorer ingress
Drops "subnet" from the P-chain surface, which is not our vocabulary:

    useSubnets          -> useNets      (useSubnets.ts deleted)
    PChainSubnet        -> PChainNet
    GetSubnetsResponse  -> GetNetsResponse

One "subnet" deliberately survives — `subnetID` in lib/api/pchain/wire.spec.ts.
That is the UPSTREAM P-chain wire field, read through a raw
Record<string,string> cast, so renaming it would break response parsing. The
rule is about our own language, not about lying to the wire.

Also adds deploy/k8s/explore-fe/ingress-mainnet.yaml. explore.lux.network is
served by the Next.js deployment explore-fe-lux (ghcr.io/luxfi/explore), not
the Go `explorer` binary, which only backs api-explore.lux.network. This
replaces drift where the plain Ingress pointed explore.lux.network at
explorer:80 — the Go binary's embedded, stale build.

Two pre-commit gates had to be satisfied, both legitimate:
- eslint max-len: three className lines (BridgePage 230 chars, ChainRow 188 x2)
  exceeded the 160 limit; wrapped.
- cspell: `platformvm` flagged unknown. It is the P-chain VM's actual name, so
  it is added to cspell.jsonc `words` rather than renamed in code. (Note for
  the next person: .cspell-words.txt is listed under ignorePaths — it is a file
  excluded from checking, NOT the dictionary. Adding a word there does nothing.)

Verified: tsc --noEmit reports ZERO errors in every file this commit touches and
zero stale-symbol errors, so the rename resolves completely. The project's 223
pre-existing errors are all in untouched files and unchanged by this commit.
2026-07-26 09:11:38 -07:00

325 lines
6.3 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",
".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": [
"platformvm",
"aatx",
"CLOB",
"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",
"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",
"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"
]
}