Files
chains/thresholdvm/codec.go
T
zeekay 0d5bc75ef9 feat: move all VM implementations into chains/
VMs now live in ONE place: chains/<name>/ owns the full implementation.
Previously split across node/vms/<name>/ (impl) + chains/<name>/main.go
(plugin wrapper). Now consolidated.

New layout:
  chains/<name>vm/*.go              — package <name>vm (VM code)
  chains/<name>vm/cmd/plugin/main.go — package main (plugin binary)
  chains/<name>vm/go.mod             — module github.com/luxfi/chains/<name>vm

Moved 11 VMs: aivm, bridgevm, dexvm, graphvm, identityvm, keyvm,
oraclevm, quantumvm, relayvm, thresholdvm, zkvm.

External callers now import github.com/luxfi/chains/<name> directly.
2026-04-13 05:27:00 -07:00

37 lines
854 B
Go

// Copyright (C) 2019-2025, Lux Industries Inc. All rights reserved.
// See the file LICENSE for licensing terms.
package thresholdvm
import (
"github.com/luxfi/codec"
"github.com/luxfi/codec/linearcodec"
)
const codecVersion = 0
// Codec is the codec for the threshold VM
var Codec codec.Manager
func init() {
c := linearcodec.NewDefault()
// Register types
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 = codec.NewDefaultManager()
if err := Codec.RegisterCodec(codecVersion, c); err != nil {
panic(err)
}
}