[package]
name = "synor-vm"
version.workspace = true
edition.workspace = true
description = "WASM virtual machine for Synor smart contracts"
license.workspace = true

[dependencies]
# Internal crates
synor-types = { path = "../synor-types" }
synor-crypto = { path = "../synor-crypto" }
synor-compute = { path = "../synor-compute", optional = true }

# WASM runtime
wasmtime.workspace = true

# Serialization
serde.workspace = true
serde_json.workspace = true
borsh.workspace = true

# Utilities
thiserror.workspace = true
parking_lot.workspace = true
tracing.workspace = true
hex.workspace = true

# Hashing
blake3.workspace = true
sha3.workspace = true

# Async
tokio = { workspace = true, features = ["sync", "rt-multi-thread"] }

# Parallelism
num_cpus = "1.16"

# Compression (for bytecode optimization)
zstd = "0.13"
lru = "0.12"

[features]
default = []
compute = ["synor-compute"]

[dev-dependencies]
tempfile.workspace = true
