[package] authors = { workspace = true } description = { workspace = true } edition = { workspace = true } homepage = { workspace = true } license = { workspace = true } name = "datahaven-node" publish = false repository = { workspace = true } version = { workspace = true } build = "build.rs" [package.metadata.docs.rs] targets = ["x86_64-unknown-linux-gnu"] [dependencies] # Local datahaven-mainnet-runtime = { workspace = true } datahaven-runtime-common = { workspace = true } datahaven-stagenet-runtime = { workspace = true } datahaven-testnet-runtime = { workspace = true } # Crates.io async-channel = { workspace = true } clap = { features = ["derive"], workspace = true } codec = { workspace = true } flume = { workspace = true } futures = { features = ["thread-pool"], workspace = true } hex-literal = { workspace = true } jsonrpsee = { features = ["server"], workspace = true } log = { workspace = true } openssl-sys = { workspace = true } serde_json = { workspace = true, default-features = true } url = { workspace = true } #MMR mmr-gadget = { workspace = true, default-features = true } mmr-rpc = { workspace = true, default-features = true } pallet-beefy-mmr = { workspace = true, default-features = true } pallet-mmr = { workspace = true, default-features = true } sp-mmr-primitives = { workspace = true, default-features = true } # Polkadot SDK frame-benchmarking-cli = { workspace = true, default-features = true, optional = true } frame-metadata-hash-extension = { workspace = true, default-features = true } frame-system = { workspace = true, default-features = true } frame-system-rpc-runtime-api = { workspace = true } pallet-im-online = { workspace = true } pallet-transaction-payment = { workspace = true, default-features = true } pallet-transaction-payment-rpc = { workspace = true, default-features = true } pallet-transaction-payment-rpc-runtime-api = { workspace = true, features = [ "std", ] } sc-basic-authorship = { workspace = true, default-features = true } sc-cli = { workspace = true, default-features = true } sc-client-api = { workspace = true, default-features = true } sc-consensus = { workspace = true, default-features = true } sc-consensus-babe = { workspace = true, default-features = true } sc-consensus-beefy = { workspace = true, default-features = true } sc-consensus-beefy-rpc = { workspace = true, default-features = true } sc-consensus-grandpa = { workspace = true, default-features = true } sc-consensus-manual-seal = { workspace = true, default-features = true } sc-executor = { workspace = true, default-features = true } sc-network = { workspace = true, default-features = true } sc-network-sync = { workspace = true } sc-offchain = { workspace = true, default-features = true } sc-rpc = { workspace = true, default-features = true } sc-service = { workspace = true, default-features = true } sc-telemetry = { workspace = true, default-features = true } sc-transaction-pool = { workspace = true, default-features = true } sc-transaction-pool-api = { workspace = true, default-features = true } sp-api = { workspace = true, default-features = true } sp-block-builder = { workspace = true, default-features = true } sp-blockchain = { workspace = true, default-features = true } sp-consensus-babe = { workspace = true, default-features = true } sp-consensus-beefy = { workspace = true, default-features = true } sp-consensus-grandpa = { workspace = true, default-features = true } sp-core = { workspace = true, default-features = true } sp-genesis-builder = { workspace = true, default-features = true } sp-inherents = { workspace = true, default-features = true } sp-io = { workspace = true, default-features = true } sp-keyring = { workspace = true, default-features = true } sp-offchain = { workspace = true, default-features = true } sp-runtime = { workspace = true, default-features = true } sp-session = { workspace = true, default-features = true } sp-timestamp = { workspace = true, default-features = true } sp-transaction-pool = { workspace = true, default-features = true } substrate-frame-rpc-system = { workspace = true, default-features = true } # Frontier fc-api = { workspace = true } fc-cli = { workspace = true } fc-consensus = { workspace = true } fc-db = { workspace = true } fc-mapping-sync = { workspace = true, features = ["sql"] } fc-rpc = { workspace = true, features = [ "txpool", "rpc-binary-search-estimate", ] } fc-rpc-core = { workspace = true, features = ["txpool"] } fc-storage = { workspace = true } fp-account = { workspace = true } fp-evm = { workspace = true } fp-rpc = { workspace = true } pallet-ethereum = { workspace = true } # StorageHub pallet-file-system = { workspace = true } pallet-file-system-runtime-api = { workspace = true } pallet-payment-streams = { workspace = true } pallet-payment-streams-runtime-api = { workspace = true } pallet-proofs-dealer = { workspace = true } pallet-proofs-dealer-runtime-api = { workspace = true } pallet-storage-providers = { workspace = true } pallet-storage-providers-runtime-api = { workspace = true } serde = { workspace = true, default-features = true } shc-actors-derive = { workspace = true } shc-actors-framework = { workspace = true } shc-blockchain-service = { workspace = true } shc-client = { workspace = true } shc-common = { workspace = true } shc-file-manager = { workspace = true } shc-file-transfer-service = { workspace = true } shc-fisherman-service = { workspace = true } shc-forest-manager = { workspace = true } shc-indexer-db = { workspace = true } shc-indexer-service = { workspace = true } shc-rpc = { workspace = true } shp-constants = { workspace = true } shp-file-key-verifier = { workspace = true } shp-file-metadata = { workspace = true } shp-opaque = { workspace = true } shp-traits = { workspace = true } shp-types = { workspace = true } sp-keystore = { workspace = true } substrate-prometheus-endpoint = { workspace = true } toml = { workspace = true } # Static linking #### Needed to build static binaries #### pq-sys = { workspace = true, optional = true } [build-dependencies] substrate-build-script-utils = { workspace = true, default-features = true } [features] default = ["std"] std = [ "datahaven-runtime-common/std", "datahaven-stagenet-runtime/std", "datahaven-mainnet-runtime/std", "datahaven-testnet-runtime/std", "shp-opaque/std", ] # Dependencies that are only required if runtime benchmarking should be build. runtime-benchmarks = [ "dep:frame-benchmarking-cli", "frame-benchmarking-cli?/runtime-benchmarks", "frame-system/runtime-benchmarks", "sc-service/runtime-benchmarks", "datahaven-runtime-common/runtime-benchmarks", "datahaven-stagenet-runtime/runtime-benchmarks", "datahaven-mainnet-runtime/runtime-benchmarks", "datahaven-testnet-runtime/runtime-benchmarks", "sp-runtime/runtime-benchmarks", ] # Enable features that allow the runtime to be tried and debugged. Name might be subject to change # in the near future. try-runtime = [ "frame-system/try-runtime", "pallet-transaction-payment/try-runtime", "datahaven-stagenet-runtime/try-runtime", "datahaven-mainnet-runtime/try-runtime", "datahaven-testnet-runtime/try-runtime", "sp-runtime/try-runtime", ] metadata-hash = [ "datahaven-stagenet-runtime/metadata-hash", "datahaven-mainnet-runtime/metadata-hash", "datahaven-testnet-runtime/metadata-hash", ] # Bundle the postgres source in the binary to avoid having to install the deps in the system (simplify installation) static = ["pq-sys", "pq-sys/bundled"]