[package] name = "linera-base" description = "Base definitions, including cryptography, used by the Linera protocol." readme = "README.md" documentation = "https://docs.rs/linera-base/latest/linera_base/" authors.workspace = true edition.workspace = true homepage.workspace = true license.workspace = true repository.workspace = true version.workspace = true [features] test = ["test-strategy", "proptest"] metrics = ["prometheus"] web = [ "futures", "getrandom/js", "rand/getrandom", "rand/std", "rand/std_rng", "tracing-web", "wasmtimer", "wasm-bindgen-futures", "wasm_thread", "web-time", ] [dependencies] anyhow.workspace = true async-graphql.workspace = true async-graphql-derive.workspace = true async-trait.workspace = true base64.workspace = true bcs.workspace = true cfg-if.workspace = true chrono.workspace = true custom_debug_derive.workspace = true ed25519-dalek.workspace = true futures = { workspace = true, optional = true } generic-array.workspace = true getrandom = { workspace = true, optional = true } hex.workspace = true is-terminal.workspace = true linera-witty = { workspace = true, features = ["macros"] } prometheus = { workspace = true, optional = true } proptest = { workspace = true, optional = true, features = ["alloc"] } rand.workspace = true serde.workspace = true serde-name.workspace = true serde_bytes.workspace = true serde_json.workspace = true sha3.workspace = true test-strategy = { workspace = true, optional = true } thiserror.workspace = true tokio = { workspace = true, features = ["time"] } tracing.workspace = true tracing-subscriber = { workspace = true, features = ["json", "fmt", "ansi"] } wasm-bindgen-futures = { workspace = true, optional = true } wasm_thread = { workspace = true, optional = true } wasmtimer = { workspace = true, optional = true } web-time = { workspace = true, optional = true } [target.'cfg(target_arch = "wasm32")'.dependencies] ruzstd.workspace = true tracing-web = { optional = true, workspace = true } [target.'cfg(not(target_arch = "wasm32"))'.dependencies] chrono.workspace = true rand = { workspace = true, features = ["getrandom", "std", "std_rng"] } tokio = { workspace = true, features = ["process", "rt-multi-thread"] } prometheus.workspace = true port-selector.workspace = true zstd.workspace = true [dev-dependencies] linera-base = { path = ".", default-features = false, features = ["test"] } linera-witty = { workspace = true, features = ["test"] } test-case.workspace = true [build-dependencies] cfg_aliases.workspace = true [package.metadata.cargo-machete] ignored = ["async-graphql-derive", "getrandom", "serde_bytes"]