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.
35 lines
646 B
Go
35 lines
646 B
Go
// Copyright (C) 2019-2025, Lux Industries Inc. All rights reserved.
|
|
// See the file LICENSE for licensing terms.
|
|
|
|
package zkvm
|
|
|
|
import (
|
|
"errors"
|
|
"math"
|
|
|
|
"github.com/luxfi/codec"
|
|
"github.com/luxfi/codec/linearcodec"
|
|
)
|
|
|
|
const codecVersion = 0
|
|
|
|
var Codec codec.Manager
|
|
|
|
func init() {
|
|
Codec = codec.NewManager(math.MaxInt)
|
|
lc := linearcodec.NewDefault()
|
|
|
|
err := errors.Join(
|
|
// Register ZVM-specific types
|
|
lc.RegisterType(&Transaction{}),
|
|
lc.RegisterType(&Block{}),
|
|
lc.RegisterType(&UTXO{}),
|
|
lc.RegisterType(&Genesis{}),
|
|
lc.RegisterType(&ZConfig{}),
|
|
Codec.RegisterCodec(codecVersion, lc),
|
|
)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
}
|