mirror of
https://github.com/luxfi/chains.git
synced 2026-09-24 00:26:00 +00:00
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]>
35 lines
806 B
Go
35 lines
806 B
Go
// Copyright (C) 2019-2025, Lux Industries Inc. All rights reserved.
|
|
// See the file LICENSE for licensing terms.
|
|
|
|
package mpcvm
|
|
|
|
import (
|
|
"github.com/luxfi/node/vms/pcodecs"
|
|
)
|
|
|
|
const codecVersion = 0
|
|
|
|
// Codec is the codec for the threshold VM
|
|
var Codec pcodecs.Manager
|
|
|
|
func init() {
|
|
c := pcodecs.NewLinearCodec()
|
|
|
|
c.RegisterType(&Block{})
|
|
c.RegisterType(&Operation{})
|
|
c.RegisterType(&Genesis{})
|
|
c.RegisterType(&ManagedKey{})
|
|
c.RegisterType(&KeygenSession{})
|
|
c.RegisterType(&SigningSession{})
|
|
c.RegisterType(&ecdsaSignature{})
|
|
c.RegisterType(&ThresholdConfig{})
|
|
c.RegisterType(&ChainPermissions{})
|
|
c.RegisterType(&ProtocolOptions{})
|
|
c.RegisterType(&CrossChainMPCRequest{})
|
|
|
|
Codec = pcodecs.NewDefaultManager()
|
|
if err := Codec.RegisterCodec(codecVersion, c); err != nil {
|
|
panic(err)
|
|
}
|
|
}
|