mirror of
https://github.com/luxfi/chains.git
synced 2026-09-24 00:26:00 +00:00
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]>
2.3 KiB
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.goexposed tochains.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 → thresholdvmandfchain → 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/tchaintypes 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). Thevm.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.
Where to read next
| 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 |