[package] categories = { workspace = true } description = { workspace = true } edition = { workspace = true } keywords = { workspace = true } license = { workspace = true } name = "logos-blockchain-node" readme = { workspace = true } repository = { workspace = true } version = { workspace = true } [lints] workspace = true [dependencies] async-trait = { workspace = true } clap = { features = ["derive", "env", "help", "std", "string"], workspace = true } color-eyre = { workspace = true } dhat = { optional = true, workspace = true } futures = { workspace = true } hex = { workspace = true } http = { workspace = true } lb-api-service = { workspace = true } lb-blend = { workspace = true } lb-blend-service = { workspace = true } lb-chain-broadcast-service = { workspace = true } lb-chain-leader-service = { workspace = true } lb-chain-network-service = { workspace = true } lb-chain-service = { workspace = true } lb-core = { workspace = true } lb-cryptarchia-engine = { workspace = true } lb-groth16 = { workspace = true } lb-http-api-common = { workspace = true } lb-key-management-system-service = { features = ["unsafe"], workspace = true } lb-ledger = { workspace = true } lb-libp2p = { workspace = true } lb-log-targets = { workspace = true } lb-network-service = { workspace = true } lb-pol = { workspace = true } lb-sdp-service = { workspace = true } lb-services-utils = { workspace = true } lb-storage-service = { workspace = true } lb-system-sig-service = { workspace = true } lb-time-service = { features = ["ntp"], workspace = true } lb-tracing = { workspace = true } lb-tracing-service = { workspace = true } lb-tui-zone = { workspace = true } lb-tx-service = { features = ["rocksdb-backend"], workspace = true } lb-utils = { features = ["time"], workspace = true } lb-wallet-service = { workspace = true } libp2p = { features = ["autonat", "gossipsub", "identify", "kad", "macros"], workspace = true } num-bigint = { workspace = true } nutype = { features = ["serde"], workspace = true } overwatch = { workspace = true } rand = { workspace = true } serde = { workspace = true } serde_json = { workspace = true } serde_with = { workspace = true } serde_yaml = { workspace = true } thiserror = { workspace = true } tokio = { workspace = true } tokio-stream = { workspace = true } tracing = { workspace = true } url = { workspace = true } # openapi related dependencies utoipa = { workspace = true } # XCompiling from Unix has issues downloading assets. Also, building with Nix can't download assets. utoipa-swagger-ui = { features = ["axum", "vendored"], workspace = true } # axum related dependencies axum = { features = ["http1", "http2", "json", "query", "tokio"], workspace = true } time = { workspace = true } tower = { features = ["limit"], workspace = true } tower-http = { features = ["cors", "limit", "timeout", "trace"], workspace = true } validator = { features = ["derive"], workspace = true } # Jemalloc [target.'cfg(not(target_env = "msvc"))'.dependencies] tikv-jemallocator = { optional = true, workspace = true } [dev-dependencies] bytes = { workspace = true } rand = { workspace = true } serde_urlencoded = { workspace = true } [features] default = ["tracing"] dhat-heap = ["dep:dhat"] jemalloc = ["dep:tikv-jemallocator"] # Existing broad profiling feature. Keep this as an umbrella feature for # backwards compatibility: HTTP pprof + tokio-console support. profiling = ["lb-http-api-common/profiling", "tokio-console"] testing = ["lb-key-management-system-service/unsafe"] testing-disable-proposal-publish = ["lb-chain-leader-service/testing-disable-proposal-publish"] # Tokio task/resource profiling via tokio-console. # # This feature only compiles in support. Runtime activation still requires # `tracing.console: !Console` in the node config. # # Builds using this feature must also be compiled with: # RUSTFLAGS="--cfg tokio_unstable" tokio-console = [ "lb-blend-service/tokio-task-names", "lb-blend/tokio-task-names", "lb-chain-leader-service/tokio-task-names", "lb-chain-network-service/tokio-task-names", "lb-key-management-system-service/tokio-task-names", "lb-network-service/tokio-task-names", "lb-storage-service/tokio-task-names", "lb-tracing-service/tokio-console", "lb-tx-service/tokio-task-names", "lb-utils/tokio-task-names", "lb-wallet-service/tokio-task-names", "overwatch/tokio-task-names", "tokio/tracing", ] tracing = []