[package] name = "linera-execution" description = "Persistent data and the corresponding logics used by the Linera protocol for runtime and execution of smart contracts / applications." readme = "README.md" documentation = "https://docs.rs/linera-execution/latest/linera_execution/" authors.workspace = true edition.workspace = true homepage.workspace = true license.workspace = true repository.workspace = true version.workspace = true [features] test = ["tokio/macros", "linera-views/test"] fs = ["tokio/fs"] metrics = ["prometheus", "linera-views/metrics"] unstable-oracles = [] wasmer = [ "bytes", "dep:wasmer", "linera-witty/wasmer", "wasm-encoder", "wasm-instrument", "wasmparser", ] wasmtime = [ "dep:wasmtime", "linera-witty/wasmtime", "wasm-encoder", "wasmparser", ] web = ["linera-base/web", "linera-views/web"] [dependencies] anyhow.workspace = true async-graphql.workspace = true async-trait.workspace = true bcs.workspace = true bytes = { workspace = true, optional = true } cfg-if.workspace = true clap.workspace = true custom_debug_derive.workspace = true dashmap.workspace = true derive_more = { workspace = true, features = ["display"] } dyn-clone.workspace = true futures.workspace = true linera-base.workspace = true linera-views.workspace = true linera-views-derive.workspace = true linera-witty = { workspace = true, features = ["log", "macros"] } lru.workspace = true oneshot.workspace = true prometheus = { workspace = true, optional = true } reqwest = { workspace = true, features = ["blocking", "json"] } serde.workspace = true serde_bytes.workspace = true serde_json.workspace = true thiserror.workspace = true tracing = { workspace = true, features = ["log"] } wasm-encoder = { workspace = true, optional = true } wasm-instrument = { workspace = true, optional = true, features = ["sign_ext"] } wasmparser = { workspace = true, optional = true } wasmtime = { workspace = true, optional = true } [target.'cfg(not(target_arch = "wasm32"))'.dependencies] tokio = { workspace = true, features = ["rt-multi-thread"] } wasmer = { workspace = true, optional = true, features = ["cranelift", "singlepass"] } wasmer-compiler-singlepass.workspace = true [target.'cfg(target_arch = "wasm32")'.dependencies] tokio = { workspace = true, features = ["rt"] } wasmer = { workspace = true, optional = true, features = ["js-default", "js-serializable-module"] } [dev-dependencies] anyhow.workspace = true assert_matches.workspace = true bcs.workspace = true counter.workspace = true linera-base = { workspace = true, features = ["test"] } linera-execution = { path = ".", default-features = false, features = ["test"] } linera-witty = { workspace = true, features = ["log", "macros", "test"] } test-case.workspace = true test-log = { workspace = true, features = ["trace"] } tokio = { workspace = true, features = ["rt", "test-util"] } tracing-subscriber = { workspace = true, features = ["fmt"] } wasmer = { workspace = true, features = ["wat"] } [build-dependencies] cfg_aliases.workspace = true [package.metadata.cargo-machete] ignored = ["serde_bytes"]