zeekay 531f4fc8a2 thresholdvm: rip github.com/luxfi/codec — swap singleton for encoding/json
Wave 3C of codec final rip (#101). thresholdvm/codec.go was a 9-call
singleton registering 11 types — all already had json struct tags, so
the swap to encoding/json is identical wire semantics minus the codec
version prefix byte.

Sibling VMs (aivm, dexvm, quantumvm, bridgevm-cpu paths) already use
encoding/json for the same persistence + cross-chain-request surface,
so this is the canonical one-and-only-one way.

Changes:
- chains/thresholdvm/codec.go DELETED (orphan singleton)
- chains/thresholdvm/vm.go: 7 sites Codec.{Marshal,Unmarshal} → json.{Marshal,Unmarshal}
- chains/thresholdvm/block.go: 2 sites + encoding/json import

Tests pass: thresholdvm (17.130s), cert, fhe, types.
Final grep "github.com/luxfi/codec" in thresholdvm/: zero.

Remaining codec.go callers in chains/ module: zkvm, bridgevm (separate waves).
2026-06-06 01:07:15 -07:00

Lux Chains

Independent VM plugin binaries for the Lux Network.

Each directory builds to a standalone binary that the Lux node loads as a plugin via --plugin-dir.

Build

make            # build all VMs
make evm        # build one VM
make test       # test all

Install

lpm install evm
lpm install dexvm

Or copy binaries to ~/.lux/plugins/<vmid>.

VMs

VM Chain Purpose
evm C-Chain EVM smart contracts
dexvm D-Chain Decentralized exchange
aivm A-Chain AI/ML inference
bridgevm B-Chain Cross-chain bridge
graphvm G-Chain GraphQL data layer
identityvm I-Chain Decentralized identity
keyvm K-Chain Key management
oraclevm O-Chain Oracle/off-chain data
quantumvm Q-Chain Post-quantum consensus signing (Pulsar)
relayvm R-Chain Cross-chain relay
servicenodevm S-Chain Service node registry
teleportvm T-Chain Unified teleport (bridge + relay + oracle)
thresholdvm (MPC) M-Chain MPC ceremonies (CGGMP21, FROST, Pulsar-general) — bridge custody for external wallets
thresholdvm (FHE) F-Chain FHE compute + TFHE bootstrap-key generation (encrypted EVM)
zkvm Z-Chain Groth16 over BLS12-381 (rolls N × ML-DSA-65 sigs into 192-byte proof)
S
Description
Independent VM plugin binaries for the Lux Network
Readme BSD-3-Clause
21 MiB
Languages
Go 98.2%
C 1.7%
Shell 0.1%