[package] name = "origin-chain-node" version.workspace = true edition.workspace = true rust-version.workspace = true license.workspace = true authors.workspace = true repository.workspace = true homepage.workspace = true description = "Origin Chain node binary. Phase 1.6+ Slice 4 (v0.0.49+): full sc-service builder (Aura + Grandpa consensus + JSON-RPC + libp2p networking + telemetry) + sc_service::GenericChainSpec con WASM_BINARY real. Pilar 4 settlement layer." [[bin]] name = "origin-chain-node" path = "src/main.rs" [dependencies] # Runtime (std host-side). El feature `wasm-build` (opt-in, ver [features]) se # propaga al runtime para poblar WASM_BINARY consumido por chain_spec. origin-chain-runtime = { workspace = true, features = ["std"] } # ── Substrate client (sc-service stack, stable2509-3) ────────── sc-cli.workspace = true sc-service.workspace = true sc-executor.workspace = true sc-network.workspace = true sc-consensus.workspace = true sc-consensus-aura.workspace = true sc-consensus-grandpa.workspace = true sc-transaction-pool.workspace = true sc-transaction-pool-api.workspace = true sc-client-api.workspace = true sc-basic-authorship.workspace = true sc-telemetry.workspace = true sc-offchain.workspace = true # ── Substrate primitives (host-side, std) ───────────────────── sp-core = { workspace = true, features = ["std"] } sp-runtime = { workspace = true, features = ["std"] } sp-io = { workspace = true, features = ["std"] } sp-timestamp = { workspace = true, features = ["std"] } sp-consensus-aura = { workspace = true, features = ["std"] } sp-api = { workspace = true, features = ["std"] } sp-block-builder = { workspace = true, features = ["std"] } sp-genesis-builder = { workspace = true, features = ["std"] } sp-blockchain.workspace = true # ── RPC server (jsonrpsee) ──────────────────────────────────── jsonrpsee.workspace = true substrate-frame-rpc-system.workspace = true pallet-transaction-payment-rpc.workspace = true # ── CLI + async + utils ─────────────────────────────────────── clap = { workspace = true } futures.workspace = true serde_json.workspace = true log.workspace = true # ── Yanked-version unblock (Slice 4 stable2509-3 ecosystem wart) ── # `sc-network-types 0.16.0` depende de `cid ^0.9`, y `cid 0.9.0` (única 0.9.x, # yanked) requiere `core2 ^0.4` — y `core2 0.4.0` también está yanked (las # no-yanked son 0.3.x, que NO satisfacen ^0.4). La resolución falla porque cargo # no auto-selecciona versiones yanked. El pin exacto `=` SÍ permite versiones # yanked, forzando 0.4.0 al grafo para satisfacer la dependencia transitiva de # cid. Dep no usada en código — solo desbloquea el resolver. Era el blocker real # que difirió sc-service en Slice 3 (documentado en chain_spec.rs). core2 = { version = "=0.4.0", default-features = false } [features] default = [] # Slice 4: activa la generación del WASM_BINARY real (runtime build vía # substrate-wasm-builder). Requiere env vars CC=LLVM (ver SLICE_2E). Sin este # feature el node compila host-only pero `--dev` falla en runtime con mensaje # claro (WASM_BINARY=None). Mantiene `cargo test --workspace` rápido sin env vars. wasm-build = ["origin-chain-runtime/wasm-build"] runtime-benchmarks = ["origin-chain-runtime/runtime-benchmarks"]