Files
zeekay 38d5cd651b k8s(luxd): drop phantom brand chainAliases — luxd runs LUX primary only
hanzo/pars/spc/osage were dangling aliases: blockchain IDs never created via
CreateChainTx (absent from platform.getBlockchains, zero block data in
/data/chainData, no brand genesis in the P-chain genesis builder). Proof of
non-materialization: each brand mapped to a DIFFERENT id across the source
manifest, the live CM, and the CR annotations — a real CreateChainTx id is
immutable. Per brand_sovereign_node_one_way luxd hosts no brand L2 EVMs; each
brand runs its own sovereign node (zood/hanzod/parsd/...).

- lux-devnet: APPLIED + verified (luxd-0 rolled): aliases.json={}; all 11
  lux-native chains (P/X/C/A/B/D/G/K/Q/T/Z) bootstrapped; brands now report
  'no such alias' instead of phantom isBootstrapped=false; 0 missing-last-accepted.
- lux-testnet: PROPOSED (owner-gated) — all brands phantom, drop to {}.
- lux-mainnet: PROPOSED (owner-gated) — drop hanzo/pars/spc/osage; KEEP zoo
  alias restore-pending (zoo has real restorable chaindata; canonical home is
  sovereign node zood per zoo_sovereign_zood_not_luxd_chain).
2026-07-26 15:46:01 -07:00

36 lines
1.9 KiB
YAML

apiVersion: v1
kind: ConfigMap
metadata:
name: chain-aliases
namespace: lux-devnet
annotations:
# 2026-06-28 — DROP phantom brand chainAliases. luxd runs the LUX
# primary network ONLY (P/X/C + lux-native A/B/D/G/K/Q/T/Z). Per the
# brand_sovereign_node_one_way law each brand (hanzo/zoo/pars/spc/osage)
# runs its OWN sovereign node (zood/hanzod/parsd/…) — luxd does NOT host
# brand L2 EVMs. The hanzo/zoo/pars/spc/osage entries here were dangling
# aliases: they pointed at blockchain IDs that were NEVER created via
# CreateChainTx (absent from platform.getBlockchains, zero block data in
# /data/chainData, no genesis in the P-chain genesis builder which only
# emits the lux-native set). Evidence they never materialized: the
# "hanzo" alias mapped to a DIFFERENT blockchain ID in the source
# manifest (2Jtt431M…), the live CM (fKXPhd…), and the CR annotations
# (i3AxuEf…) — a real chain's CreateChainTx ID is immutable. Removing
# them stops luxd advertising chains it doesn't run; isBootstrapped(brand)
# now correctly reports "no such alias" instead of a phantom false.
#
# zoo restore path: zoo's real chaindata (mainnet historical h=799 RLP)
# is restored on ITS OWN sovereign node zood (github.com/zooai/node) per
# zoo_sovereign_zood_not_luxd_chain — NOT on luxd. Until zood serves zoo,
# zoo on luxd is intentionally absent (it had ZERO data on luxd anyway).
#
# The lux-native chain aliases (C, X, P, A, B, D, G, K, Q, T, Z) are
# assigned by luxd from the P-chain genesis builder + built-in primary
# alias logic — NOT from this CM. So an empty aliases.json is correct;
# the primary network keeps all its aliases.
lux.network/chain-aliases-policy: "lux-primary-only (brand L2s are sovereign nodes)"
lux.network/brands-dropped-at: "2026-06-28"
data:
aliases.json: |
{}