[package] name = "ghost-service" description = "Utils to tie different Ghost components together and allow instantiation of a node." license.workspace = true authors.workspace = true version.workspace = true edition.workspace = true homepage.workspace = true repository.workspace = true [dependencies] sc-authority-discovery = { workspace = true, default-features = true } babe = { workspace = true, default-features = true } grandpa = { workspace = true, default-features = true } sc-block-builder = { workspace = true, default-features = true } sc-chain-spec = { workspace = true, default-features = true } sc-client-api = { workspace = true, default-features = true } sc-client-db = { workspace = true, default-features = true } sc-consensus = { workspace = true, default-features = true } sc-consensus-slots = { workspace = true, default-features = true } sc-executor = { workspace = true, default-features = true } sc-network = { workspace = true, default-features = true } sc-network-common = { workspace = true, default-features = true } sc-network-sync = { workspace = true, default-features = true } sc-transaction-pool = { workspace = true, default-features = true } sc-sync-state-rpc = { workspace = true, default-features = true } sc-keystore = { workspace = true, default-features = true } sc-basic-authorship = { workspace = true, default-features = true } sc-offchain = { workspace = true, default-features = true } sc-sysinfo = { workspace = true, default-features = true } sc-service = { workspace = true } telemetry = { workspace = true, default-features = true } tx-pool-api = { workspace = true, default-features = true } # Substrate Primitives authority-discovery-primitives = { workspace = true, default-features = true } consensus-common = { workspace = true, default-features = true } grandpa-primitives = { workspace = true, default-features = true } inherents = { workspace = true, default-features = true } keyring = { workspace = true, default-features = true } sp-api = { workspace = true, default-features = true } block-builder-api = { workspace = true, default-features = true } sp-blockchain = { workspace = true, default-features = true } sp-core = { workspace = true, default-features = true } sp-io = { workspace = true, default-features = true } sp-keystore = { workspace = true, default-features = true } offchain-primitives = { workspace = true, default-features = true } sp-runtime = { workspace = true, default-features = true } sp-session = { workspace = true, default-features = true } sp-storage = { workspace = true, default-features = true } babe-primitives = { workspace = true, default-features = true } sp-state-machine = { workspace = true, default-features = true } sp-weights = { workspace = true, default-features = true } sp-version = { workspace = true, default-features = true } sp-timestamp = { workspace = true, default-features = true } # Substrate Pallets pallet-babe = { workspace = true, default-features = true } pallet-staking = { workspace = true, default-features = true } pallet-transaction-payment = { workspace = true, default-features = true } pallet-transaction-payment-rpc-runtime-api = { workspace = true, default-features = true } frame-system = { workspace = true, default-features = true } # Substrate Other frame-system-rpc-runtime-api = { workspace = true, default-features = true } prometheus-endpoint = { workspace = true, default-features = true } frame-support = { workspace = true, default-features = true } frame-benchmarking-cli = { workspace = true, default-features = true } frame-benchmarking = { workspace = true, default-features = true } # External crates async-trait = { workspace = true, default-features = true } futures = { workspace = true, default-features = true } hex-literal = { workspace = true, default-features = true } is_executable = { workspace = true, default-features = true } log = { workspace = true, default-features = true } schnellru = { workspace = true, default-features = true } serde = { workspace = true, default-features = true, features = ["derive"] } serde_json = { workspace = true, default-features = true } thiserror = { workspace = true, default-features = true } kvdb = { workspace = true, default-features = true } kvdb-rocksdb = { workspace = true, default-features = true, optional = true } parity-db = { workspace = true, default-features = true, optional = true } codec = { workspace = true, default-features = true } parking_lot = { workspace = true, default-features = true } bitvec = { workspace = true, default-features = true, optional = true } # Ghost inner primitives = { workspace = true } ghost-networks = { workspace = true } ghost-slow-clap = { workspace = true } ghost-rpc = { workspace = true } ghost-machine-primitives = { workspace = true } # Ghost Runtimes casper-runtime = { workspace = true, default-features = true, optional = true } casper-runtime-constants = { workspace = true, default-features = true, optional = true } [dev-dependencies] env_logger = { workspace = true } assert_matches = { workspace = true } serial_test = { workspace = true } tempfile = { workspace = true } [features] default = ["db", "full-node"] db = ["sc-service/rocksdb"] full-node = ["kvdb-rocksdb", "parity-db"] runtime-benchmarks = [ "frame-benchmarking-cli/runtime-benchmarks", "frame-benchmarking/runtime-benchmarks", "frame-support/runtime-benchmarks", "frame-system/runtime-benchmarks", "pallet-babe/runtime-benchmarks", "pallet-staking/runtime-benchmarks", "casper-runtime?/runtime-benchmarks", "sc-client-db/runtime-benchmarks", "sc-service/runtime-benchmarks", "sp-runtime/runtime-benchmarks", ] try-runtime = [ "frame-support/try-runtime", "frame-system/try-runtime", "pallet-babe/try-runtime", "pallet-staking/try-runtime", "pallet-transaction-payment/try-runtime", "casper-runtime?/try-runtime", "sp-runtime/try-runtime", ] fast-runtime = ["casper-runtime?/fast-runtime"] # Configure the native runtimes to use. casper-native = ["casper-runtime", "casper-runtime-constants", "bitvec"] ghost-native = []