[package]
name = "tycho-vm"
description = "TON-compatible VM for the Tycho node."
version = "0.3.4"
edition.workspace = true
authors.workspace = true
rust-version.workspace = true
repository.workspace = true
license.workspace = true

[[bench]]
name = "ever_wallet"
harness = false

[[bench]]
name = "jetton"
harness = false

[[bench]]
name = "dex_pair"
harness = false

[dependencies]
ahash = { workspace = true }
anyhow = { workspace = true }
arbitrary = { workspace = true, features = ["derive"], optional = true }
bitflags = { workspace = true }
blake2 = { workspace = true }
dyn-clone = { workspace = true }
num-bigint = { workspace = true }
num-integer = { workspace = true }
num-traits = { workspace = true }
sha2 = { workspace = true }
thiserror = { workspace = true }
tl-proto = { workspace = true }
tracing = { workspace = true, optional = true }
tycho-crypto = { workspace = true, features = ["tl-proto"] }
tycho-types = { workspace = true, default-features = false, features = [
    "models",
] }
tycho-vm-proc = { workspace = true }

[dev-dependencies]
criterion = { workspace = true }
hex = { workspace = true }
rand = { workspace = true }
tracing = { workspace = true }
tracing-test = { workspace = true }

tycho-types = { workspace = true, default-features = false, features = [
    "models",
    "base64",
    "bigint",
    "rand9",
] }
tycho-asm-macros = { workspace = true }

[features]
tracing = ["dep:tracing", "tycho-types/base64"]
dump = ["tycho-vm-proc/dump"]
arbitrary = ["dep:arbitrary", "tycho-types/arbitrary", "num-bigint/arbitrary"]
