Validators validate networks, chains live on networks. Under LP-018
sovereign-L1, AddValidatorTx is the universal add-validator tx.
AddChainValidatorTx is legacy + retained for one release cycle.
- chains/pchain.mdx: new 'Networks, Chains, and Validators' concept
section laying out network has validators / chains live on networks
/ L1 vs L2 / AddValidatorTx universal; Purpose paragraph reworded;
fee-schedule rows retitled 'Add network validator' / 'Add network
delegator'.
- cloud/subnets.mdx: 'Adding Validators' rewritten to call out
validators validate networks; CLI example switched to
'lux network addValidator'.
- warp/{index,messages,integration}.mdx: 'source chain validator set'
→ 'source network validator set'; RegisterL1Validator description
clarifies 'adds a validator to an L1 network'.
- reference/lux-netrunner.mdx: RemoveChainValidator marked legacy.
Per CTO directive: kill any alias, any shim. R-LWE threshold sig is
named Corona across all live code. Forward-only.
Sweep covers Go + TS + Sol + k8s YAML + JSON + LP markdown + skills
+ docs. Skipped: papers/audits/legal/licenses/blog/HISTORY (immutable
historical record).
Was using canonical workflow defaults (hanzoai-scoped labels) which
do not dispatch for luxfi org. Switched to round-robin pool labels:
runner-amd64: luxfi-amd64 (evo)
runner-arm64: luxfi-arm64 (spark + dbc, round-robin)
runner-deploy: lux-deploy-linux-amd64 (DO ARC pool)
Two corrections:
1. lux-fhevm.mdx claimed the coprocessor was Rust-based with the Zama tfhe
crate. The actual lux/fhe-coprocessor is pure Go (luxfi/fhe + luxfi/lattice)
with C++ / GPU (Metal+CUDA) / FPGA acceleration paths. No Rust toolchain;
no Zama crate. Quick-reference table updated to match reality.
2. lux-fhe-coprocessor.mdx had the negative "NEVER use Zama tfhe-rs" framing
in the hard requirements + a Related Skills entry pointing at a
"Rust-based FHEVM coprocessor (alternative architecture using Zama tfhe
crate)" that doesn't exist. Reframed positively: Lux-native FHE; the
FHEVM specification points at the same Go primary + C++/GPU/FPGA accel
stack.
lux-upgrade.mdx rewritten as "header-schema compatibility" tool; the
Apricot/Banff/Cortina/Durango/Etna/Fortuna/Granite fork-history table is
deleted because Lux activates every feature at genesis (LP-3641). The
Config-struct field names are retained — they are the on-wire header
schema and cannot be renamed without breaking historical replay.
lux-precompile.mdx, lux-evm.mdx, lux-lps.mdx, cchain.mdx: drop "Durango+",
"Etna activated", "ACP-181" framing. EVM hardfork gates (Shanghai/Cancun)
stay — they gate opcode behavior.
Side fix: 5 reference MDX files (corona/magnetar/proto/pulsar/quasar) had
<https://github.com/luxfi/X> raw-autolink syntax that Turbopack's MDX
parser was rejecting (Unexpected `/` before local name), failing the
docs build entirely. Switched to [text](url) form. Docs site now builds
(453 paths prerendered).
Mirror of upstream luxfi/.github profile changes. Some prior phrasing
conflated "no runtime token check" with "no license", which is wrong:
every Lux artifact is licensed — tiers 1+2 just don't carry a runtime
token gate, while tier 3 does. Adds the canonical 3-row table to
/licensing and cross-references it from /open-core.
No license tier classifications change. No LICENSE files change. No
runtime-check behavior changes. Documentation correction only.
Mirror of upstream luxfi/.github profile changes. Some prior phrasing
conflated "no runtime token check" with "no license", which is wrong:
every Lux artifact is licensed — tiers 1+2 just don't carry a runtime
token gate, while tier 3 does. Adds the canonical 3-row table to
/licensing and cross-references it from /open-core.
No license tier classifications change. No LICENSE files change. No
runtime-check behavior changes. Documentation correction only.
Two stale references cleaned up after recent upstream renames:
- cli reference: luxfi/constants v1.5.4 + luxfi/cli v1.99.23 dropped
the LUX_ prefix from EnvNodePath/EnvNetrunnerPath/EnvEVMPath/
EnvPluginsDir. Update the env-var documentation accordingly.
- iam reference: identity provider package moved from luxfi/iam to
hanzoai/iam as part of the IAM consolidation under hanzoai (per
CLAUDE.md). Update the github.com path in the IAM overview page.
Mirror github.com/luxfi/.github/profile/{README,OPEN-CORE-EE}.md to the
docs.lux.network source tree so the three-tier IP strategy is
discoverable from docs without needing to know the GitHub URL.
- apps/docs/content/docs/licensing.mdx — mirrors profile README
- apps/docs/content/docs/open-core.mdx — mirrors OPEN-CORE-EE
- meta.json: new "Strategy" sidebar section
- (home)/page.tsx: new "Strategy" tile section for homepage discovery
The .github profile READMEs remain canonical; this is a navigational
mirror. LICENSE file in each repo is the binding artifact.
Lux uses 'Lux EVM' (the canonical luxfi/evm plugin) for both C-Chain
and EVM-based L2 chains. The upstream 'subnet-evm' / 'Subnet-EVM' brand
was a separate codebase we don't use anymore.
Removed legacy 'srEXi…' (upstream Subnet-EVM ID) — Lux uses one canonical
EVM VM ID for both C-Chain and EVM-based subnets per luxfi/constants.EVMID.
Plugin filename is mgj786NP7uDwBCcq6YwThhaN8FLyybkCa4zBWTQbNgmK6k9A6 only;
no dual install, no aliases.
Replace Coreth/Corona prose with canonical Lux EVM / Pulsar
in lux-cli, lux-plugins, lux-lps reference docs. Subnet-EVM
clarified as legacy alias for sovereign-L1 Lux EVM mode.
Update lux-fhe.mdx and chains/thresholdvm.mdx to clarify that the
ThresholdVM substrate powers M-Chain (MPC ceremonies for external-wallet
bridge custody) and F-Chain (FHE compute) per LP-134. Legacy T-Chain
name retained only for teleportvm (LP-6332).
UTXO is the semantic name for X-Chain (UTXO model, like Bitcoin).
"Exchange Chain" was confusingly close to "DEX Chain" (D-Chain).
- content/docs/chains/xchain.mdx: top description paragraph
- content/docs/architecture.mdx: X-Chain section header
- content/docs/indexer/quickstart.mdx: chain label
Replace all user-facing "subnet" references with "chain" or "L2"
terminology across the documentation. Preserves API method names
(platform.createSubnet, platform.getSubnets), JSON parameter names
(subnetID), Go type identifiers (SubnetID), env var names (SUBNETWORK),
transaction type names (CreateSubnet), and file/package paths
(subnetevm/, join_subnet.go).