[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 = "1.79.0"
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 }
wasmparser = { workspace = true }
stellar-strkey = "0.0.9"
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"] }
rand = "0.8.5"
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.3", default-features = false, features = ["ecdsa", "arithmetic"]}
p256 = {version = "0.13.2", default-features = false, features = ["ecdsa", "arithmetic"]}
ecdsa = {version = "0.16.7", default-features = false}
sec1 = {version = "0.7.2"}
elliptic-curve ={ version = "0.13.5", default-features = false}
generic-array ={ version = "0.14.7"}
getrandom = { version = "0.2.11", features=["js"] }
sha3 = "0.10.8"
curve25519-dalek = { version = ">=4.1.3", default-features = false, features = ["digest"]}
ark-bls12-381 = { version = "0.4.0"}
ark-serialize = { version = "0.4.2"}
ark-ff = { version = "0.4.2"}
ark-ec = { version = "0.4.2"}
[target.'cfg(not(target_family = "wasm"))'.dependencies]
tracy-client = { version = "0.17.0", features = ["enable", "timer-fallback"], default-features = false, optional = true }
[dev-dependencies]
hex = "0.4.3"
itertools = "0.10.5"
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"
serde = "1.0.192"
arbitrary = "1.3.2"
lstsq = "0.5.0"
nalgebra = { version = "0.32.3", default-features = false, features = ["std"]}
wasm-encoder = "0.36.2"
rustversion = "1.0"
wycheproof = "0.5.1"
k256 = {version = "0.13.1", default-features = false, features = ["alloc"]}
p256 = {version = "0.13.2", default-features = false, features = ["alloc"]}
[dev-dependencies.stellar-xdr]
version = "=22.1.0"
default-features = false
features = ["arbitrary"]
[features]
testutils = ["soroban-env-common/testutils", "recording_mode"]
backtrace = ["dep:backtrace"]
next = ["soroban-env-common/next", "stellar-xdr/next"]
tracy = ["dep:tracy-client", "soroban-env-common/tracy"]
recording_mode = []
bench = []
unstable-next-api = []
[[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"
[[test]]
name = "secp256r1_sig_ver"
path = "tests/secp256r1_sig_ver.rs"
required-features = ["testutils"]
[[test]]
name = "bls-signature"
path = "tests/bls.rs"
required-features = ["testutils"]
[package.metadata.docs.rs]
features = ["recording_mode", "tracy", "testutils"]