soroban-env-host 20.2.1

Soroban contract host environment.
Documentation
[package]
name = "soroban-env-host"
description = "Soroban contract host environment."
homepage = "https://github.com/stellar/rs-soroban-env"
repository = "https://github.com/stellar/rs-soroban-env"
authors = ["Stellar Development Foundation <info@stellar.org>"]
license = "Apache-2.0"
version.workspace = true
readme = "../README.md"
edition = "2021"
rust-version.workspace = true
build = "build.rs"

exclude = ["observations/"]

[dependencies]
soroban-builtin-sdk-macros = { workspace = true }
soroban-env-common = { workspace = true, features = ["std", "wasmi", "shallow-val-hash"] }
wasmi = { workspace = true }
stellar-strkey = "=0.0.8"
static_assertions = "=1.1.0"
sha2 = "=0.10.8"
hex-literal = "=0.4.1"
hmac = "=0.12.1"
ed25519-dalek = {version = "=2.0.0", features = ["rand_core"] }
# NB: this must match the same rand version used by ed25519-dalek above
rand = "=0.8.5"
# NB: this must match the same rand_chacha version used by ed25519-dalek above
rand_chacha = "=0.3.1"
num-traits = "=0.2.17"
num-integer = "=0.1.45"
num-derive = "=0.4.1"
backtrace = { version = "=0.3.69", optional = true }
k256 = {version = "=0.13.1", features=["ecdsa", "arithmetic"]}
# NB: getrandom is a transitive dependency of k256 which we're not using directly
# but we have to specify it here in order to enable its 'js' feature which
# is needed to build the host for wasm (a rare but supported config).
getrandom = { version = "=0.2.11", features=["js"] }
sha3 = "=0.10.8"
# NB: this must match the same curve25519-dalek version used by ed25519-dalek above
# used only for calibration
curve25519-dalek = { version = "=4.1.1", default-features = false, features = ["digest"]}

[target.'cfg(not(target_family = "wasm"))'.dependencies]
tracy-client = { version = "=0.15.2", features = ["enable", "timer-fallback"], default-features = false, optional = true }

[dev-dependencies]
hex = "=0.4.3"
itertools = "=0.11.0"
tabwriter = "=1.3.0"
thousands = "=0.2.0"
soroban-env-macros = { workspace = true }
soroban-test-wasms = { package = "soroban-test-wasms", path = "../soroban-test-wasms" }
soroban-synth-wasm = { package = "soroban-synth-wasm", path = "../soroban-synth-wasm", features = ["adversarial"]}
soroban-bench-utils = { package = "soroban-bench-utils", path = "../soroban-bench-utils" }
bytes-lit = "=0.0.5"
textplots = "=0.8.4"
wasmprinter = "=0.2.72"
expect-test = "=1.4.1"
more-asserts = "=0.3.1"
pretty_assertions = "=1.4.0"
backtrace = "=0.3.69"
serde_json = "=1.0.108"
arbitrary = "=1.3.2"
lstsq = "=0.5.0"
nalgebra = { version = "=0.32.3", default-features = false, features = ["std"]}
wasm-encoder = "=0.36.2"

[dev-dependencies.stellar-xdr]
version = "=20.1.0"
# git = "https://github.com/stellar/rs-stellar-xdr"
# rev = "8b9d623ef40423a8462442b86997155f2c04d3a1"
default-features = false
features = ["arbitrary"]

[features]
testutils = ["soroban-env-common/testutils", "recording_mode", "dep:backtrace"]
next = ["soroban-env-common/next"]
tracy = ["dep:tracy-client", "soroban-env-common/tracy"]
recording_mode = []
bench = []

[[bench]]
required-features = ["bench"]
harness = false
bench = true
name = "worst_case_linear_models"
path = "benches/worst_case_linear_models.rs"

[[bench]]
required-features = ["bench"]
harness = false
bench = true
name = "variation_histograms"
path = "benches/variation_histograms.rs"

[package.metadata.docs.rs]
all-features = true