[package] name = "soroban-wasmi" version.workspace = true rust-version.workspace = true documentation = "https://docs.rs/wasmi/" description = "Soroban fork of Parity WebAssembly interpreter" authors.workspace = true repository.workspace = true edition.workspace = true readme.workspace = true license.workspace = true keywords.workspace = true categories.workspace = true exclude = [ "benches/wat", "benches/wasm", "tests/spec/testsuite", "**.wast", ] [dependencies] wasmparser = { version = "0.100.2", package = "wasmparser-nostd", default-features = false } wasmi_core = { workspace = true } wasmi_collections = { workspace = true } spin = { version = "0.9", default-features = false, features = [ "mutex", "spin_mutex", "rwlock", ] } smallvec = { version = "1.13.1", features = ["union"] } multi-stash = { version = "0.2.0" } num-traits = { workspace = true } num-derive = "0.4" arrayvec = { version = "0.7.4", default-features = false } [dev-dependencies] wat = "1" assert_matches = "1.5" wast = "70.0.2" anyhow = "1.0" criterion = { version = "0.5", default-features = false } [features] default = ["std"] std = [ "wasmi_core/std", "wasmi_collections/std", "wasmparser/std", "spin/std", "num-traits/std", "arrayvec/std", ] # Tells the `wasmi` crate to avoid using hash based data structures. # # Some embedded environments cannot provide a random source which is required # to properly initialize hashmap based data structures for resilience against # malious actors that control their inputs. # # An example of such an environment is `wasm32-unknown-unknown`. no-hash-maps = ["wasmi_collections/no-hash-maps"] [[bench]] name = "benches" harness = false