[package] name = "sc-executor-wasmtime" version = "0.35.0" authors.workspace = true edition.workspace = true license = "GPL-3.0-or-later WITH Classpath-exception-2.0" homepage = "https://substrate.io" repository.workspace = true description = "Defines a `WasmRuntime` that uses the Wasmtime JIT to execute. (polkadot v1.13.0)" readme = "README.md" [lints] workspace = true [package.metadata.docs.rs] targets = ["x86_64-unknown-linux-gnu"] [dependencies] log = { workspace = true, default-features = true } cfg-if = "1.0" libc = "0.2.152" parking_lot = "0.12.1" # When bumping wasmtime do not forget to also bump rustix # to exactly the same version as used by wasmtime! wasmtime = { version = "8.0.1", default-features = false, features = [ "cache", "cranelift", "jitdump", "parallel-compilation", "pooling-allocator", ] } anyhow = "1.0.81" sc-allocator = { version = "29.0.0", path = "../../allocator" } sc-executor-common = { version = "0.35.0", path = "../common" } sp-runtime-interface = { version = "28.0.0", path = "../../../primitives/runtime-interface" } sp-wasm-interface = { path = "../../../primitives/wasm-interface", features = ["wasmtime"], version = "21.0.0" } # Here we include the rustix crate in the exactly same semver-compatible version as used by # wasmtime and enable its 'use-libc' flag. # # By default rustix directly calls the appropriate syscalls completely bypassing libc; # this doesn't have any actual benefits for us besides making it harder to debug memory # problems (since then `mmap` etc. cannot be easily hooked into). rustix = { version = "0.36.7", default-features = false, features = ["fs", "mm", "param", "std", "use-libc"] } [dev-dependencies] wat = "1.0" sc-runtime-test = { path = "../runtime-test" } sp-io = { path = "../../../primitives/io" } tempfile = "3.3.0" paste = "1.0" codec = { package = "parity-scale-codec", version = "3.6.12" } cargo_metadata = "0.15.4"