# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
name = "snarkvm"
version = "0.9.12"
authors = ["The Aleo Team <hello@aleo.org>"]
include = [
    "Cargo.toml",
    "vm",
    "README.md",
    "LICENSE.md",
]
description = "A decentralized virtual machine"
homepage = "https://aleo.org"
readme = "README.md"
keywords = [
    "aleo",
    "cryptography",
    "blockchain",
    "decentralized",
    "zero-knowledge",
]
categories = [
    "compilers",
    "cryptography",
    "mathematics",
    "wasm",
    "web-programming",
]
license = "GPL-3.0"
repository = "https://github.com/AleoHQ/snarkVM"

[profile.bench]
opt-level = 3
lto = "thin"
debug = false
debug-assertions = false
rpath = false
incremental = true

[profile.dev]
opt-level = 3
lto = "thin"
incremental = true

[profile.release]
opt-level = 3
lto = "thin"
incremental = true

[profile.test]
opt-level = 3
lto = "thin"
debug = true
debug-assertions = true
incremental = true

[lib]
path = "vm/lib.rs"

[[bin]]
name = "snarkvm"
path = "vm/cli/main.rs"
required-features = ["cli"]

[dependencies.anyhow]
version = "1.0.68"
optional = true

[dependencies.clap]
version = "3.2"
features = ["derive"]
optional = true

[dependencies.colored]
version = "2"
optional = true

[dependencies.indexmap]
version = "1.9"
features = ["rayon"]

[dependencies.once_cell]
version = "1.17"

[dependencies.parking_lot]
version = "0.12"

[dependencies.rand]
version = "0.8"
optional = true

[dependencies.rayon]
version = "1"
optional = true

[dependencies.self_update]
version = "0.34"
optional = true

[dependencies.serde_json]
version = "1.0"
features = ["preserve_order"]
optional = true

[dependencies.snarkvm-algorithms]
version = "0.9.12"
optional = true
default-features = false

[dependencies.snarkvm-circuit]
version = "0.9.12"
optional = true

[dependencies.snarkvm-console]
version = "0.9.12"
optional = true

[dependencies.snarkvm-curves]
version = "0.9.12"
optional = true

[dependencies.snarkvm-fields]
version = "0.9.12"
optional = true

[dependencies.snarkvm-parameters]
version = "0.9.12"
optional = true

[dependencies.snarkvm-r1cs]
version = "0.9.12"
optional = true

[dependencies.snarkvm-synthesizer]
version = "0.9.12"
optional = true
default-features = false

[dependencies.snarkvm-utilities]
version = "0.9.12"
optional = true

[dependencies.snarkvm-wasm]
version = "0.9.12"
optional = true

[dependencies.thiserror]
version = "1.0"
optional = true

[dependencies.ureq]
version = "2.6"
features = ["json"]

[dev-dependencies.bincode]
version = "1.3"

[dev-dependencies.rusty-hook]
version = "0.11.2"

[dev-dependencies.tempfile]
version = "3.3"

[build-dependencies.walkdir]
version = "2"

[features]
aleo-cli = ["snarkvm-synthesizer/aleo-cli"]
algorithms = ["snarkvm-algorithms"]
circuit = ["snarkvm-circuit"]
cli = [
    "anyhow",
    "clap",
    "colored",
    "rand",
    "self_update",
    "serde_json",
    "thiserror",
]
console = ["snarkvm-console"]
cuda = [
    "snarkvm-algorithms/cuda",
    "snarkvm-synthesizer/cuda",
]
curves = ["snarkvm-curves"]
default = [
    "circuit",
    "console",
    "synthesizer",
    "cli",
    "parallel",
    "parameters",
]
fields = ["snarkvm-fields"]
full = [
    "algorithms",
    "circuit",
    "console",
    "curves",
    "fields",
    "parameters",
    "r1cs",
    "synthesizer",
    "utilities",
]
noconfig = []
parallel = [
    "rayon",
    "snarkvm-algorithms/parallel",
    "snarkvm-fields/parallel",
    "snarkvm-synthesizer/parallel",
    "snarkvm-utilities/parallel",
]
parameters = ["snarkvm-parameters"]
parameters_no_std_out = ["snarkvm-parameters/no_std_out"]
r1cs = ["snarkvm-r1cs"]
synthesizer = ["snarkvm-synthesizer"]
utilities = ["snarkvm-utilities"]
wasm = ["snarkvm-wasm"]
