mirror of
https://github.com/luxfi/chains.git
synced 2026-09-24 00:26:00 +00:00
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.
37 lines
854 B
Go
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)
|
|
}
|
|
}
|