Files
chains/mpcvm/LLM.md
T
zeekayandHanzo Dev bbce4b6975 chains: rename thresholdvm → mpcvm (LP-134 T-Chain retirement finished)
Under LP-0130's canonical roster, chains/thresholdvm/ hosts the M-Chain
VM (MPC threshold signing). The package name "thresholdvm" was the last
piece of T-Chain nomenclature still shipping in code — legacy from the
pre-LP-134 shared-substrate design. Renamed to mpcvm/ so the package
name matches the M-Chain letter and LP-7100 spec.

- chains/thresholdvm/ → chains/mpcvm/ (dir + inner files + package decl)
- Sed-replace thresholdvm → mpcvm across .go / .md / .yml / .json / .sh
- Fee/settlement primitive references now say mpcvm
- LLM.md canonical chain roster (LP-0130) already points at mpcvm/

F-Chain runtime pieces (fhe/, protocol/tfhe_keygen/,
runtime/f_chain_adapter.go) stay under mpcvm/ for now — they consume
the same shared threshold primitives. A follow-up extract to
chains/fhevm/ can happen once F-Chain runtime graduates.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-03 01:22:30 -07:00

2.2 KiB

LLM context — chains/mpcvm/

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 → mpcvm and fchain → mpcvm; 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