[package] name = "pezstaging-node-cli" version = "3.0.0-dev" authors.workspace = true description = "Generic Bizinikiwi node implementation in Rust." build = "build.rs" edition.workspace = true license = "GPL-3.0-or-later WITH Classpath-exception-2.0" default-run = "bizinikiwi-node" homepage.workspace = true repository.workspace = true publish = false documentation.workspace = true [lints] workspace = true [package.metadata.wasm-pack.profile.release] # `wasm-opt` has some problems on linux, see # https://github.com/rustwasm/wasm-pack/issues/781 etc. wasm-opt = false [package.metadata.docs.rs] targets = ["x86_64-unknown-linux-gnu"] [badges] maintenance = { status = "actively-developed" } is-it-maintained-issue-resolution = { repository = "pezkuwichain/pezkuwi-sdk" } is-it-maintained-open-issues = { repository = "pezkuwichain/pezkuwi-sdk" } [lib] crate-type = ["cdylib", "rlib"] [[bin]] name = "bizinikiwi-node" path = "bin/main.rs" required-features = ["cli"] [[bench]] name = "transaction_pool" harness = false [[bench]] name = "block_production" harness = false [[bench]] name = "executor" harness = false [dependencies] # Umbrella crate for re-exports pezkuwi-sdk = { workspace = true, default-features = true, features = [ "node", "runtime", ] } # third-party dependencies array-bytes = { workspace = true, default-features = true } clap = { features = ["derive"], optional = true, workspace = true } codec = { workspace = true, default-features = true } futures = { workspace = true } jsonrpsee = { features = ["server"], workspace = true } log = { workspace = true, default-features = true } pezkuwi-subxt-signer = { workspace = true, features = ["unstable-eth"] } rand = { workspace = true, default-features = true } serde = { features = ["derive"], workspace = true, default-features = true } serde_json = { workspace = true, default-features = true } # For storage benchmarks pezframe-benchmarking-cli = { workspace = true, optional = true } # Core dependencies (not through umbrella for internal crate): bizinikiwi-build-script-utils = { workspace = true, default-features = true } bizinikiwi-frame-rpc-support = { workspace = true, default-features = true } bizinikiwi-frame-rpc-system = { workspace = true, default-features = true } bizinikiwi-rpc-client = { workspace = true, default-features = true } bizinikiwi-state-trie-migration-rpc = { workspace = true, default-features = true } bizinikiwi-wasm-builder = { workspace = true, default-features = true } chain-spec-builder = { workspace = true, default-features = true } gum = { workspace = true, default-features = true } pez-fork-tree = { workspace = true, default-features = true } pez-generate-bags = { workspace = true, default-features = true } pez-subkey = { workspace = true, default-features = true } pezframe-support-procedural-tools = { workspace = true, default-features = true } pezmmr-gadget = { workspace = true, default-features = true } pezmmr-rpc = { workspace = true, default-features = true } pezpallet-transaction-payment-rpc = { workspace = true, default-features = true } pezsc-allocator = { workspace = true, default-features = true } pezsc-authority-discovery = { workspace = true, default-features = true } pezsc-basic-authorship = { workspace = true, default-features = true } pezsc-block-builder = { workspace = true, default-features = true } pezsc-chain-spec = { workspace = true, default-features = true } pezsc-cli = { workspace = true, default-features = true } pezsc-client-api = { workspace = true, default-features = true } pezsc-client-db = { workspace = true, default-features = true } pezsc-consensus = { workspace = true, default-features = true } pezsc-consensus-aura = { workspace = true, default-features = true } pezsc-consensus-babe = { workspace = true, default-features = true } pezsc-consensus-babe-rpc = { workspace = true, default-features = true } pezsc-consensus-beefy = { workspace = true, default-features = true } pezsc-consensus-beefy-rpc = { workspace = true, default-features = true } pezsc-consensus-epochs = { workspace = true, default-features = true } pezsc-consensus-grandpa = { workspace = true, default-features = true } pezsc-consensus-grandpa-rpc = { workspace = true, default-features = true } pezsc-consensus-manual-seal = { workspace = true, default-features = true } pezsc-consensus-pow = { workspace = true, default-features = true } pezsc-consensus-slots = { workspace = true, default-features = true } pezsc-executor = { workspace = true, default-features = true } pezsc-executor-common = { workspace = true, default-features = true } pezsc-executor-polkavm = { workspace = true, default-features = true } pezsc-executor-wasmtime = { workspace = true, default-features = true } pezsc-informant = { workspace = true, default-features = true } pezsc-keystore = { workspace = true, default-features = true } pezsc-mixnet = { workspace = true, default-features = true } pezsc-network = { workspace = true, default-features = true } pezsc-network-common = { workspace = true, default-features = true } pezsc-network-gossip = { workspace = true, default-features = true } pezsc-network-light = { workspace = true, default-features = true } pezsc-network-statement = { workspace = true, default-features = true } pezsc-network-sync = { workspace = true, default-features = true } pezsc-network-transactions = { workspace = true, default-features = true } pezsc-network-types = { workspace = true, default-features = true } pezsc-offchain = { workspace = true, default-features = true } pezsc-proposer-metrics = { workspace = true, default-features = true } pezsc-rpc = { workspace = true, default-features = true } pezsc-rpc-api = { workspace = true, default-features = true } pezsc-rpc-server = { workspace = true, default-features = true } pezsc-rpc-spec-v2 = { workspace = true, default-features = true } pezsc-service = { workspace = true, default-features = true } pezsc-state-db = { workspace = true, default-features = true } pezsc-statement-store = { workspace = true, default-features = true } pezsc-storage-monitor = { workspace = true, default-features = true } pezsc-sync-state-rpc = { workspace = true, default-features = true } pezsc-sysinfo = { workspace = true, default-features = true } pezsc-telemetry = { workspace = true, default-features = true } pezsc-tracing = { workspace = true, default-features = true } pezsc-transaction-pool = { workspace = true, default-features = true } pezsc-transaction-pool-api = { workspace = true, default-features = true } pezsc-utils = { workspace = true, default-features = true } pezsp-api = { workspace = true, default-features = true } pezsp-blockchain = { workspace = true, default-features = true } pezsp-consensus = { workspace = true, default-features = true } pezsp-core = { workspace = true, default-features = true } pezsp-core-hashing = { workspace = true, default-features = true } pezsp-core-hashing-proc-macro = { workspace = true, default-features = true } pezsp-database = { workspace = true, default-features = true } pezsp-inherents = { workspace = true, default-features = true } pezsp-io = { workspace = true, default-features = true } pezsp-keystore = { workspace = true, default-features = true } pezsp-maybe-compressed-blob = { workspace = true, default-features = true } pezsp-mmr-primitives = { workspace = true, default-features = true } pezsp-panic-handler = { workspace = true, default-features = true } pezsp-rpc = { workspace = true, default-features = true } pezsp-statement-store = { workspace = true, default-features = true } pezsp-timestamp = { workspace = true, default-features = true } pezsp-tracing = { workspace = true, default-features = true } pezsp-transaction-storage-proof = { workspace = true, default-features = true } prometheus-endpoint = { workspace = true, default-features = true } remote-externalities = { workspace = true, default-features = true } tracking-allocator = { workspace = true, default-features = true } # Direct dependency needed (not through umbrella due to macro visibility issues) pezsp-runtime = { workspace = true } # Shared code between the staging node and kitchensink runtime: node-inspect = { optional = true, workspace = true, default-features = true } pez-kitchensink-runtime = { workspace = true } pez-node-primitives = { workspace = true, default-features = true } pez-node-rpc = { workspace = true } [dev-dependencies] assert_cmd = { workspace = true } criterion = { features = [ "async_tokio", ], workspace = true, default-features = true } nix = { features = ["signal"], workspace = true } pezsp-keyring = { workspace = true } pretty_assertions.workspace = true regex = { workspace = true } scale-info = { features = [ "derive", "serde", ], workspace = true, default-features = true } soketto = { workspace = true } tempfile = { workspace = true } tokio = { features = [ "macros", "parking_lot", "time", ], workspace = true, default-features = true } tokio-util = { features = ["compat"], workspace = true } wat = { workspace = true } # These testing-only dependencies are not exported by the Pezkuwi-SDK crate: bizinikiwi-cli-test-utils = { workspace = true } pez-node-testing = { workspace = true } pezsc-service-test = { workspace = true } [build-dependencies] bizinikiwi-build-script-utils = { workspace = true, default-features = true } clap = { optional = true, workspace = true } clap_complete = { optional = true, workspace = true } node-inspect = { optional = true, workspace = true, default-features = true } pezframe-benchmarking-cli = { optional = true, workspace = true } pezsc-cli = { optional = true, workspace = true, default-features = true } pezsc-storage-monitor = { optional = true, workspace = true, default-features = true } # Build dependencies use dep: syntax for optional dependencies [features] default = ["cli"] cli = [ "clap", "clap_complete", "dep:node-inspect", "dep:pezframe-benchmarking-cli", "dep:pezsc-cli", "dep:pezsc-storage-monitor", ] runtime-benchmarks = [ "bizinikiwi-cli-test-utils/runtime-benchmarks", "bizinikiwi-frame-rpc-support/runtime-benchmarks", "bizinikiwi-frame-rpc-system/runtime-benchmarks", "bizinikiwi-rpc-client/runtime-benchmarks", "bizinikiwi-state-trie-migration-rpc/runtime-benchmarks", "bizinikiwi-wasm-builder/runtime-benchmarks", "chain-spec-builder/runtime-benchmarks", "gum/runtime-benchmarks", "node-inspect?/runtime-benchmarks", "pez-generate-bags/runtime-benchmarks", "pez-kitchensink-runtime/runtime-benchmarks", "pez-node-primitives/runtime-benchmarks", "pez-node-rpc/runtime-benchmarks", "pez-node-testing/runtime-benchmarks", "pez-subkey/runtime-benchmarks", "pezframe-benchmarking-cli?/runtime-benchmarks", "pezkuwi-sdk/runtime-benchmarks", "pezkuwi-subxt-signer/runtime-benchmarks", "pezmmr-gadget/runtime-benchmarks", "pezmmr-rpc/runtime-benchmarks", "pezpallet-transaction-payment-rpc/runtime-benchmarks", "pezsc-authority-discovery/runtime-benchmarks", "pezsc-basic-authorship/runtime-benchmarks", "pezsc-block-builder/runtime-benchmarks", "pezsc-chain-spec/runtime-benchmarks", "pezsc-cli/runtime-benchmarks", "pezsc-client-api/runtime-benchmarks", "pezsc-client-db/runtime-benchmarks", "pezsc-consensus-aura/runtime-benchmarks", "pezsc-consensus-babe-rpc/runtime-benchmarks", "pezsc-consensus-babe/runtime-benchmarks", "pezsc-consensus-beefy-rpc/runtime-benchmarks", "pezsc-consensus-beefy/runtime-benchmarks", "pezsc-consensus-epochs/runtime-benchmarks", "pezsc-consensus-grandpa-rpc/runtime-benchmarks", "pezsc-consensus-grandpa/runtime-benchmarks", "pezsc-consensus-manual-seal/runtime-benchmarks", "pezsc-consensus-pow/runtime-benchmarks", "pezsc-consensus-slots/runtime-benchmarks", "pezsc-consensus/runtime-benchmarks", "pezsc-executor-wasmtime/runtime-benchmarks", "pezsc-executor/runtime-benchmarks", "pezsc-informant/runtime-benchmarks", "pezsc-keystore/runtime-benchmarks", "pezsc-mixnet/runtime-benchmarks", "pezsc-network-common/runtime-benchmarks", "pezsc-network-gossip/runtime-benchmarks", "pezsc-network-light/runtime-benchmarks", "pezsc-network-statement/runtime-benchmarks", "pezsc-network-sync/runtime-benchmarks", "pezsc-network-transactions/runtime-benchmarks", "pezsc-network/runtime-benchmarks", "pezsc-offchain/runtime-benchmarks", "pezsc-rpc-api/runtime-benchmarks", "pezsc-rpc-server/runtime-benchmarks", "pezsc-rpc-spec-v2/runtime-benchmarks", "pezsc-rpc/runtime-benchmarks", "pezsc-service-test/runtime-benchmarks", "pezsc-service/runtime-benchmarks", "pezsc-statement-store/runtime-benchmarks", "pezsc-sync-state-rpc/runtime-benchmarks", "pezsc-sysinfo/runtime-benchmarks", "pezsc-tracing/runtime-benchmarks", "pezsc-transaction-pool-api/runtime-benchmarks", "pezsc-transaction-pool/runtime-benchmarks", "pezsp-api/runtime-benchmarks", "pezsp-blockchain/runtime-benchmarks", "pezsp-consensus/runtime-benchmarks", "pezsp-inherents/runtime-benchmarks", "pezsp-io/runtime-benchmarks", "pezsp-keyring/runtime-benchmarks", "pezsp-mmr-primitives/runtime-benchmarks", "pezsp-runtime/runtime-benchmarks", "pezsp-statement-store/runtime-benchmarks", "pezsp-timestamp/runtime-benchmarks", "pezsp-transaction-storage-proof/runtime-benchmarks", "remote-externalities/runtime-benchmarks", ] storage-benchmark = ["pezframe-benchmarking-cli/storage-benchmark"] try-runtime = [ "bizinikiwi-cli-test-utils/try-runtime", "bizinikiwi-frame-rpc-support/try-runtime", "bizinikiwi-frame-rpc-system/try-runtime", "bizinikiwi-rpc-client/try-runtime", "bizinikiwi-state-trie-migration-rpc/try-runtime", "node-inspect?/try-runtime", "pez-generate-bags/try-runtime", "pez-kitchensink-runtime/try-runtime", "pez-node-primitives/try-runtime", "pez-node-rpc/try-runtime", "pez-node-testing/try-runtime", "pezframe-benchmarking-cli?/try-runtime", "pezkuwi-sdk/try-runtime", "pezmmr-gadget/try-runtime", "pezmmr-rpc/try-runtime", "pezpallet-transaction-payment-rpc/try-runtime", "pezsc-authority-discovery/try-runtime", "pezsc-basic-authorship/try-runtime", "pezsc-block-builder/try-runtime", "pezsc-chain-spec/try-runtime", "pezsc-cli/try-runtime", "pezsc-client-api/try-runtime", "pezsc-client-db/try-runtime", "pezsc-consensus-aura/try-runtime", "pezsc-consensus-babe-rpc/try-runtime", "pezsc-consensus-babe/try-runtime", "pezsc-consensus-beefy-rpc/try-runtime", "pezsc-consensus-beefy/try-runtime", "pezsc-consensus-epochs/try-runtime", "pezsc-consensus-grandpa-rpc/try-runtime", "pezsc-consensus-grandpa/try-runtime", "pezsc-consensus-manual-seal/try-runtime", "pezsc-consensus-pow/try-runtime", "pezsc-consensus-slots/try-runtime", "pezsc-consensus/try-runtime", "pezsc-executor/try-runtime", "pezsc-informant/try-runtime", "pezsc-mixnet/try-runtime", "pezsc-network-common/try-runtime", "pezsc-network-gossip/try-runtime", "pezsc-network-light/try-runtime", "pezsc-network-statement/try-runtime", "pezsc-network-sync/try-runtime", "pezsc-network-transactions/try-runtime", "pezsc-network/try-runtime", "pezsc-offchain/try-runtime", "pezsc-rpc-api/try-runtime", "pezsc-rpc-spec-v2/try-runtime", "pezsc-rpc/try-runtime", "pezsc-service-test/try-runtime", "pezsc-service/try-runtime", "pezsc-statement-store/try-runtime", "pezsc-sync-state-rpc/try-runtime", "pezsc-sysinfo/try-runtime", "pezsc-tracing/try-runtime", "pezsc-transaction-pool-api/try-runtime", "pezsc-transaction-pool/try-runtime", "pezsp-api/try-runtime", "pezsp-blockchain/try-runtime", "pezsp-consensus/try-runtime", "pezsp-inherents/try-runtime", "pezsp-keyring/try-runtime", "pezsp-mmr-primitives/try-runtime", "pezsp-runtime/try-runtime", "pezsp-statement-store/try-runtime", "pezsp-timestamp/try-runtime", "pezsp-transaction-storage-proof/try-runtime", "remote-externalities/try-runtime", ] std = [ "bizinikiwi-cli-test-utils/std", "bizinikiwi-frame-rpc-support/std", "bizinikiwi-frame-rpc-system/std", "bizinikiwi-rpc-client/std", "bizinikiwi-state-trie-migration-rpc/std", "bizinikiwi-wasm-builder/std", "chain-spec-builder/std", "gum/std", "log/std", "node-inspect?/std", "pez-fork-tree/std", "pez-generate-bags/std", "pez-node-rpc/std", "pez-node-testing/std", "pez-subkey/std", "pezframe-benchmarking-cli?/std", "pezmmr-gadget/std", "pezmmr-rpc/std", "pezpallet-transaction-payment-rpc/std", "pezsc-allocator/std", "pezsc-authority-discovery/std", "pezsc-basic-authorship/std", "pezsc-block-builder/std", "pezsc-chain-spec/std", "pezsc-cli/std", "pezsc-client-api/std", "pezsc-client-db/std", "pezsc-consensus-aura/std", "pezsc-consensus-babe-rpc/std", "pezsc-consensus-babe/std", "pezsc-consensus-beefy-rpc/std", "pezsc-consensus-beefy/std", "pezsc-consensus-epochs/std", "pezsc-consensus-grandpa-rpc/std", "pezsc-consensus-grandpa/std", "pezsc-consensus-manual-seal/std", "pezsc-consensus-pow/std", "pezsc-consensus-slots/std", "pezsc-consensus/std", "pezsc-executor-common/std", "pezsc-executor-polkavm/std", "pezsc-executor-wasmtime/std", "pezsc-informant/std", "pezsc-keystore/std", "pezsc-mixnet/std", "pezsc-network-common/std", "pezsc-network-gossip/std", "pezsc-network-light/std", "pezsc-network-statement/std", "pezsc-network-sync/std", "pezsc-network-transactions/std", "pezsc-network-types/std", "pezsc-network/std", "pezsc-offchain/std", "pezsc-proposer-metrics/std", "pezsc-rpc-api/std", "pezsc-rpc-server/std", "pezsc-rpc-spec-v2/std", "pezsc-rpc/std", "pezsc-service-test/std", "pezsc-service/std", "pezsc-state-db/std", "pezsc-statement-store/std", "pezsc-storage-monitor/std", "pezsc-sync-state-rpc/std", "pezsc-sysinfo/std", "pezsc-telemetry/std", "pezsc-tracing/std", "pezsc-transaction-pool-api/std", "pezsc-transaction-pool/std", "pezsc-utils/std", "pezsp-blockchain/std", "pezsp-consensus/std", "pezsp-core-hashing-proc-macro/std", "pezsp-keyring/std", "pezsp-panic-handler/std", "pezsp-rpc/std", "pezsp-runtime/std", "prometheus-endpoint/std", "remote-externalities/std", ] serde = [] experimental = [] with-tracing = []