snarkvm 4.5.0

A decentralized virtual machine
Documentation
# 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 = "2024"
rust-version = "1.88.0"
name = "snarkvm"
version = "4.5.0"
authors = ["The Aleo Team <hello@aleo.org>"]
build = false
include = [
    "Cargo.toml",
    "vm",
    "README.md",
    "LICENSE.md",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
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 = "Apache-2.0"
repository = "https://github.com/ProvableHQ/snarkVM"

[features]
algorithms = ["snarkvm-algorithms"]
async = [
    "snarkvm-ledger/async",
    "snarkvm-synthesizer/async",
]
circuit = ["snarkvm-circuit"]
console = ["snarkvm-console"]
cuda = ["snarkvm-algorithms/cuda"]
curves = ["snarkvm-curves"]
default = [
    "algorithms",
    "circuit",
    "console",
    "ledger",
    "parameters",
    "synthesizer",
    "utilities",
    "package",
    "file",
]
dev-print = [
    "snarkvm-utilities/dev-print",
    "snarkvm-algorithms/dev-print",
    "snarkvm-circuit/dev-print",
    "snarkvm-curves/dev-print",
    "snarkvm-fields/dev-print",
    "snarkvm-parameters/dev-print",
    "snarkvm-synthesizer/dev-print",
]
dev_skip_checks = [
    "snarkvm-console/dev_skip_checks",
    "snarkvm-synthesizer/dev_skip_checks",
]
fields = ["snarkvm-fields"]
file = [
    "console",
    "synthesizer",
    "dep:serde_json",
]
full = [
    "default",
    "curves",
    "fields",
]
history = ["snarkvm-synthesizer/history"]
ledger = ["snarkvm-ledger"]
locktick = [
    "snarkvm-algorithms?/locktick",
    "snarkvm-ledger?/locktick",
    "snarkvm-parameters?/locktick",
    "snarkvm-synthesizer?/locktick",
]
metrics = [
    "snarkvm-metrics",
    "snarkvm-ledger/metrics",
]
noconfig = []
package = [
    "algorithms",
    "circuit",
    "file",
    "ledger",
    "snarkvm-console/filesystem",
    "dep:ureq",
    "dep:dotenvy",
]
parameters = ["snarkvm-parameters"]
parameters_no_std_out = ["snarkvm-parameters/no_std_out"]
rocks = [
    "snarkvm-ledger/rocks",
    "snarkvm-synthesizer/rocks",
]
save_r1cs_hashes = ["snarkvm-circuit/save_r1cs_hashes"]
serial = [
    "snarkvm-algorithms?/serial",
    "snarkvm-console?/serial",
    "snarkvm-curves?/serial",
    "snarkvm-fields?/serial",
    "snarkvm-utilities/serial",
    "snarkvm-ledger?/serial",
]
synthesizer = ["snarkvm-synthesizer"]
test = ["snarkvm-ledger/test"]
test-helpers = ["snarkvm-ledger/test-helpers"]
test_consensus_heights = [
    "snarkvm-console/test_consensus_heights",
    "snarkvm-synthesizer/test_consensus_heights",
]
test_exports = ["snarkvm-algorithms/test_exports"]
test_targets = ["snarkvm-console/test_targets"]
timer = ["snarkvm-ledger/timer"]
utilities = ["snarkvm-utilities"]
wasm = ["snarkvm-wasm"]

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

[dependencies.anyhow]
version = "1.0.73"
features = ["backtrace"]

[dependencies.dotenvy]
version = "0.15"
optional = true

[dependencies.rand]
version = "0.8"

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

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

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

[dependencies.snarkvm-console]
version = "=4.5.0"
features = ["default"]
optional = true
default-features = false

[dependencies.snarkvm-curves]
version = "=4.5.0"
optional = true
default-features = false

[dependencies.snarkvm-fields]
version = "=4.5.0"
optional = true
default-features = false

[dependencies.snarkvm-ledger]
version = "=4.5.0"
optional = true

[dependencies.snarkvm-metrics]
version = "=4.5.0"
optional = true

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

[dependencies.snarkvm-synthesizer]
version = "=4.5.0"
optional = true

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

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

[dependencies.ureq]
version = "3"
features = ["json"]
optional = true
default-features = true

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

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

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

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

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

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

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

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