[package]
name = "aquavm-air"
version = "0.63.0"
description = "Interpreter of AIR scripts intended to coordinate request flow in the Fluence network"
authors = ["Fluence Labs"]
edition = "2021"
license = "Apache-2.0"
repository = "https://github.com/fluencelabs/aquavm"
documentation = "https://docs.rs/aquavm-air"
keywords = ["fluence", "air", "webassembly", "programming-language"]
categories = ["wasm"]

[lib]
name = "air"
path = "src/lib.rs"
doctest = false

[dependencies]
aquavm-air-parser = { version = "0.12.0", path = "../crates/air-lib/air-parser" }
air-execution-info-collector = { version = "0.7.14", path = "../crates/air-lib/execution-info-collector" }
air-interpreter-cid = { version = "0.9.0", path = "../crates/air-lib/interpreter-cid", features = ["rkyv"] }
air-interpreter-data = { version = "0.17.2", path = "../crates/air-lib/interpreter-data" }
air-interpreter-sede = { version = "0.1.0", path = "../crates/air-lib/interpreter-sede" }
air-interpreter-signatures = { version = "0.1.7", path = "../crates/air-lib/interpreter-signatures", features = ["rkyv"] }
air-interpreter-value = { version = "0.1.0", path = "../crates/air-lib/interpreter-value" }
air-interpreter-interface = { version = "0.19.0", path = "../crates/air-lib/interpreter-interface", default-features = false }
air-log-targets = { version = "0.1.0", path = "../crates/air-lib/log-targets" }
air-lambda-ast = { version = "0.1.0", path = "../crates/air-lib/lambda/ast" }
air-lambda-parser = { version = "0.1.0", path = "../crates/air-lib/lambda/parser" }
air-trace-handler = { version = "0.5.12", path = "../crates/air-lib/trace-handler" }
air-utils = { version = "0.3.0", path = "../crates/air-lib/utils" }
polyplets = { version = "0.7.0", path = "../crates/air-lib/polyplets" }
fluence-keypair = { version = "0.10.4", default-features = false }

serde = { version = "1.0.190", features = [ "derive", "rc" ] }
serde_json = "1.0.108"

concat-idents = "1.1.5"
maplit = "1.0.2"
non-empty-vec = "0.2.3"
typed-index-collections = "3.1.0"
log = "0.4.20"
once_cell = "1.17.1"
thiserror = "1.0.50"
semver = "1.0.17"
strum = "0.24"
strum_macros = "0.24"
tracing = "0.1.40"
rkyv = { version = "0.7.43", features = ["strict", "validation", "size_32", "archive_be"] }

# The old syntax prevents release-please from detecting a circular dependency:
# aquavm-air -> air-test-utils -> aquavm-air
[dev_dependencies]
air-test-utils = { path = "../crates/air-lib/test-utils" }
air-testing-framework = { path = "../crates/testing-framework" }
fluence-app-service = "0.36.0"
marine-rs-sdk = { version = "0.14.0", features = ["logger"] }

borsh = "0.10.3"
bs58 = "0.5.0"
# the feature just silence a warning in the criterion 0.3.x.
criterion = { version = "0.3.3", features = ["html_reports"] }
csv = "1.1.5"
ed25519-dalek = "2.1.0"
env_logger = "0.7.1"
once_cell = "1.4.1"
pretty_assertions = "0.6.1"
serde_json = "1.0.61"
tokio = {version = "1.35", features = ["rt", "macros"]}
futures = "0.3.30"

[features]
check_signatures = []
gen_signatures = []

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

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

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

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

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

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