Files
chains/thresholdvm/LLM.md
T
zeekayandHanzo Dev 1c591e326c chains/thresholdvm: reconcile naming to LP-134/LP-7050 (kill teleportvm falsehood)
thresholdvm is a shared LIBRARY substrate, not a chain. Fix the stale/false
naming across the package to the canonical model:

- factory.go: the VMID comment claimed "T-Chain is reserved for TeleportVM,
  not yet built" — FALSE per LP-7050. There is no teleportvm and no T-Chain;
  teleport IS bridgevm (B-Chain, LP-6000). Rewrote to describe the value as
  the shared substrate VM consumed by M-Chain (mpcvm) + F-Chain (fhevm).
- vm.go: package doc dropped the "mode"/"T-Chain label" framing for the
  library-substrate description; both M and F consume it, neither is T.
- README.md / DESIGN.md / docs/M_CHAIN_INTEGRATION.md: removed the repeated
  false claim that the "T-Chain" name is retained for a standalone
  teleportvm (LP-6332). LP-6332 is superseded by LP-6000 (bridgevm) per
  LP-7050 §3. Reframed the M/F split as two chains consuming this library
  rather than one VM switched by mode.
- LLM.md: corrected the "deprecated T-Chain shim / one-epoch grace-window
  migration" prose — T-Chain was never launched with live state (clean
  forward split, no migration), and vm.go/factory.go/fhe/ are the shared
  library substrate M/F consume, not a T-Chain shim.

No code behavior changes; comments/docs only.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-03 00:42:35 -07:00

2.3 KiB

LLM context — chains/thresholdvm/

What this is

ThresholdVM is a library substrate, not a Lux chain. It is imported by:

  • chains/mchain/ — MPC ceremonies (CGGMP21, FROST, Corona-general)
  • chains/fchain/ — FHE compute (TFHE bootstrap, encrypted EVM)

The substrate hosts the ceremony state machine, share envelope, QuasarCertLane registration, and certificate-subject binding logic shared by both chains.

What an agent must NOT do here

  • Do not turn this back into a chain. No factory.go exposed to chains.Manager. No new VM ID. M-Chain and F-Chain are the chains.
  • Do not import M-Chain or F-Chain code from this package. The dependency graph is mchain → thresholdvm and fchain → thresholdvm; reverse edges are forbidden.
  • Do not add a protocol implementation here. Protocol packages expose interfaces only; impls live in the chain that runs the protocol (CGGMP21 in M-Chain, TFHE keygen straddles M-Chain → F-Chain via the handoff envelope).
  • Do not introduce t-chain / tchain types here, and do not reintroduce a "T-Chain" chain. Per LP-134 / LP-7050 T-Chain is removed with zero remainder (it was never launched with live state — a clean forward split, no migration window). The vm.go, block.go, factory.go, fhe/, cmd/ files are the shared library substrate (the ceremony VM + FHE code) that M-Chain and F-Chain consume — not a chain, no genesis, no validators.

Status

  • Substrate ships with Quasar 3.0 activation on 2025-12-25.
  • LP-5013 (T-Chain MPC Custody) and the whole T-Chain concept are removed by LP-134; see LP-7050 for the full supersession map (MPC→M-Chain, FHE→F-Chain, teleport→B-Chain/bridgevm).
  • Cert-lane enums MChainCGGMP21=5, MChainFROST=6, MChainCoronaGen=7, FChainTFHE=8, FChainBootstrap=9. Never reorder; appends only.
File Why
DESIGN.md architecture, state machine, lane integration
docs/ARCHITECTURE.md how M-Chain / F-Chain plug in
docs/M_CHAIN_INTEGRATION.md M-Chain adapter contract
docs/F_CHAIN_INTEGRATION.md F-Chain adapter contract
types/ceremony.go the state machine in code
cert/subject.go how certificate_subject binds both roots