[package]
edition = "2021"
name = "rwasm"
version = "0.4.7"
authors = ["Dmitry Savonin <dmitry@fluentlabs.xyz>"]
build = false
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "ZK-friendly WebAssembly runtime optimized for blockchain and zero-knowledge applications"
readme = "README.md"
keywords = [
"wasm",
"webassembly",
"interpreter",
"vm",
]
categories = [
"wasm",
"no-std",
"virtualization",
]
license = "Apache-2.0"
repository = "https://github.com/fluentlabs-xyz/rwasm"
[features]
cache-compiled-artifacts = [
"wasmtime",
"dep:directories",
]
debug-print = []
default = [
"std",
"wasmtime",
]
e2e = []
fpu = []
full-wasm-mode = ["wasmtime?/full-wasm-mode"]
pooling-allocator = []
serde = [
"dep:serde",
"serde/derive",
]
std = [
"bincode/std",
"num-traits/std",
"bitvec/std",
"wasmtime?/std",
]
tracing = ["serde"]
wasmtime = [
"dep:wasmtime",
"dep:lru",
]
[lib]
name = "rwasm"
path = "src/lib.rs"
[[test]]
name = "basic"
path = "tests/basic.rs"
[[test]]
name = "compiler"
path = "tests/compiler.rs"
[[test]]
name = "fluentbase"
path = "tests/fluentbase.rs"
[[test]]
name = "fuel"
path = "tests/fuel.rs"
[[test]]
name = "fuzz"
path = "tests/fuzz.rs"
[[test]]
name = "fuzz_versions"
path = "tests/fuzz_versions.rs"
[[test]]
name = "interruption"
path = "tests/interruption.rs"
[[test]]
name = "intrinsic"
path = "tests/intrinsic.rs"
[[test]]
name = "locals"
path = "tests/locals.rs"
[[test]]
name = "memory"
path = "tests/memory.rs"
[[test]]
name = "segment_drop"
path = "tests/segment_drop.rs"
[[test]]
name = "snippets"
path = "tests/snippets.rs"
[[test]]
name = "stack-overflow"
path = "tests/stack-overflow.rs"
[[test]]
name = "tables"
path = "tests/tables.rs"
[[test]]
name = "value-stack-bounds"
path = "tests/value-stack-bounds.rs"
[[test]]
name = "wasm_features"
path = "tests/wasm_features.rs"
[[test]]
name = "wasmtime"
path = "tests/wasmtime.rs"
[[bench]]
name = "bench"
path = "benches/bench.rs"
harness = false
[dependencies.bincode]
version = "2.0.1"
features = [
"alloc",
"derive",
]
default-features = false
[dependencies.bitvec]
version = "1.0.1"
features = ["alloc"]
default-features = false
[dependencies.directories]
version = "6.0.0"
optional = true
[dependencies.downcast-rs]
version = "2.0.1"
features = ["sync"]
default-features = false
[dependencies.hashbrown]
version = "0.17.1"
features = ["alloc"]
[dependencies.libm]
version = "0.2.1"
[dependencies.lru]
version = "0.16.3"
optional = true
[dependencies.num-derive]
version = "0.5.1"
[dependencies.num-traits]
version = "0.2"
default-features = false
[dependencies.paste]
version = "1.0"
default-features = false
[dependencies.rwasm-fuel-policy]
version = "0.0.2"
default-features = false
[dependencies.serde]
version = "1.0.219"
features = [
"derive",
"rc",
]
optional = true
[dependencies.smallvec]
version = "1.15.0"
[dependencies.spin]
version = "0.12.2"
[dependencies.tiny-keccak]
version = "2.0.2"
features = ["keccak"]
[dependencies.wasmparser]
version = "0.100.1"
default-features = false
package = "wasmparser-nostd"
[dependencies.wasmtime]
version = "45.0.0-rwasm.1"
features = ["cache"]
optional = true
package = "wasmtime-rwasm"
[dev-dependencies.anyhow]
version = "1.0.98"
[dev-dependencies.criterion]
version = "0.7.0"
features = []
default-features = false
[dev-dependencies.hex]
version = "0.4.3"
[dev-dependencies.hex-literal]
version = "1.0.0"
[dev-dependencies.rand]
version = "=0.9.1"
[dev-dependencies.wat]
version = "1.243.0"