Ship 1.5 v0.0.38 SHIPPED — Substrate workspace bump empírico audit-validated post Ship 1 v0.0.37 pallet-revive scaffold. Phase 3 pallet-revive integration revealed SBS-1 ratificado label "stable2512-3" sesión 1 awakening era audit calibration error — workspace pre-bump era generation híbrida stable2506-ish con pins inconsistentes (sp-runtime 41.1.0 + sp-core 36.1.0 + frame-support 40.1.0 = no clean-match ningún polkadot-stable tag publicado). Audit empírico Ship 2 v0.0.38 attempted 3 tags polkadot-stable (2512-3 + 2509-3 + 2506-2) — todos fallaron por version mismatch transitive deps (alloy-* rustc 1.91 + CheckMortality vs CheckEra + sp-runtime version drift). Honest disclosure pattern aplicado per memory directive — revert + audit + reshuffle plan. Solución canonical: workspace bump atómico a polkadot-stable2509-3 generation puro (pallet-revive 0.10.1 disponible + rustc 1.88 compat preserved + WASM build Slice 2e preserved). Cambios: - Cargo.toml workspace.dependencies: ALL sp-* + frame-* + pallet-* + sc-* bumped a stable2509-3 versions verified empírico via WebFetch per-crate Cargo.toml: * sp-core 36.1.0 → 38.1.0 * sp-runtime 41.1.0 → 44.0.0 * sp-io 40.0.1 → 43.0.0 * sp-api 36.0.1 → 39.0.0 * sp-version 39.0.0 → 42.0.0 * frame-system 40.1.0 → 43.0.1 * frame-support 40.1.0 → 43.0.0 * frame-executive 40.0.0 → 43.0.1 * pallet-balances 41.1.0 → 44.0.0 * pallet-timestamp 39.0.0 → 42.0.0 * pallet-transaction-payment 40.0.0 → 43.0.0 * pallet-aura 39.0.0 → 42.0.0 * pallet-grandpa 40.0.0 → 43.0.0 * pallet-session 40.0.1 → 43.0.0 * sc-* (cli/service/network/consensus/etc) bumped proporcional * substrate-wasm-builder 26.0.1 → 29.0.0 * frame-system-rpc-runtime-api 36.0.0 → 39.0.0 * pallet-transaction-payment-rpc-runtime-api 40.0.0 → 43.0.0 * sp-genesis-builder 0.17.0 → 0.20.0 * sp-consensus-aura 0.42.0 → 0.45.0 * sp-consensus-grandpa 23.1.0 → 26.0.0 * sp-session 38.1.0 → 41.0.0 * frame-benchmarking 40.0.0 → 43.0.0 * frame-metadata-hash-extension 0.8.0 → 0.11.0 - Cargo.toml workspace.dependencies: serde pin relajado =1.0.217 → 1.0.219 (Slice 2b workaround obsoleto post-Slice 2e RESUELTO Layer 4 sp-io std leak fix vía default-features=false discipline — strict pin causaba parity-scale-codec 3.7.5 conflict requiriendo ^1.0.219). - crates/origin-chain-runtime/src/configs.rs: pallet_session::Config Stable2509-3 API additions — Currency type (= crate::Balances) + KeyDeposit (= ConstU128<0>) para session key registration deposit economy. Phase 1 PoA simple: zero deposit canonical (genesis validators static). Phase 2 NPoS introduces real deposit. Verificación: - cargo check --workspace clean (26 warnings pre-existentes deprecated patterns) - cargo test --workspace: 203 tests verde 0 failures NO regresiones - cargo build --features wasm-build: WASM_BINARY 1.5 MB shipped clean post-bump (Slice 2e infrastructure CC=LLVM + WASM_BUILD_STD=0 preserved canonical) - Cargo.lock: +511 lines (new transitive deps for stable2509-3 ecosystem) Próximo Ship 2 v0.0.39: pallet-revive 0.10.1 from stable2509-3 source wired runtime Index 11 (27 Config types per Asset Hub Westend reference). Workspace bump DESBLOQUEA Phase 3 integration end-to-end canonical. Audit calibration update: SBS-1 ratificado labeling error documentado para sesión seal CHARON_ROADMAP_V1.3 refresh — Phase 0 awakening cold-start assumption error preserved transparency canonical. ⚓ Ship 1.5 SHIPPED. Phase 3 UNBLOCKED. La nave continúa con generation purificada. 🤖 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
216 lines
12 KiB
TOML
216 lines
12 KiB
TOML
[workspace]
|
|
resolver = "2"
|
|
members = [
|
|
"crates/origin-chain-types",
|
|
"crates/origin-chain-consensus",
|
|
"crates/origin-coin-tokenomics",
|
|
"crates/origin-chain-provenance",
|
|
"crates/origin-chain-fees",
|
|
"crates/origin-chain-agent-identity",
|
|
"crates/origin-chain-bridges",
|
|
"crates/origin-chain-governance",
|
|
"crates/origin-chain-runtime",
|
|
"crates/origin-chain-node",
|
|
]
|
|
|
|
[workspace.package]
|
|
version = "0.0.1"
|
|
edition = "2021"
|
|
rust-version = "1.88"
|
|
license = "MIT OR Apache-2.0"
|
|
authors = [
|
|
"Charon <charon@originmetaverse.com>",
|
|
"David Herran <david@dreamhousestudios.com>",
|
|
"Origin Metaverse community",
|
|
]
|
|
repository = "https://git.originmetaverse.com/Origin_Metaverse/arkhe-origin-chain"
|
|
homepage = "https://originmetaverse.com"
|
|
description = "Origin Chain: sovereign blockchain substrate for Origin Metaverse — consensus, OGC tokenomics, provenance ledger, ink! smart contracts, bridges, governance. Pilar 4 canonical."
|
|
keywords = ["blockchain", "substrate", "ink", "origin-metaverse", "ogc"]
|
|
categories = ["cryptography::cryptocurrencies", "no-std", "wasm"]
|
|
|
|
[workspace.dependencies]
|
|
# ============================================================
|
|
# Polkadot SDK canonical pin per DC SUBSTRATE_FOUNDATION_V1 SBS-1
|
|
# Release: polkadot-stable2512-3 (2026-03-23)
|
|
# Support window canonical: hasta 2027-03 (cubre testnet Q3 2026 + mainnet Q1 2027)
|
|
# ============================================================
|
|
|
|
# ============================================================
|
|
# Substrate workspace bump stable2509-3 (Ship 1.5 v0.0.38 Phase 3 precondition)
|
|
# Audit empírico revealed SBS-1 ratified label "stable2512-3" was incorrect —
|
|
# actual workspace pre-bump was stable2506-2 hybrid generation. Bumped al
|
|
# stable2509-3 (pallet-revive 0.10.1 disponible + rustc 1.88 compat preserved).
|
|
# Source: github.com/paritytech/polkadot-sdk?tag=polkadot-stable2509-3 verified
|
|
# vía WebFetch per-crate Cargo.toml [package] version sections.
|
|
# ============================================================
|
|
|
|
# Substrate Primitives (sp-*) — stable2509-3
|
|
sp-core = { version = "38.1.0", default-features = false }
|
|
sp-runtime = { version = "44.0.0", default-features = false }
|
|
sp-io = { version = "43.0.0", default-features = false }
|
|
sp-std = { version = "14.0.0", default-features = false }
|
|
sp-version = { version = "42.0.0", default-features = false }
|
|
sp-api = { version = "39.0.0", default-features = false }
|
|
sp-block-builder = { version = "39.0.0", default-features = false }
|
|
sp-transaction-pool = { version = "39.0.0", default-features = false }
|
|
sp-inherents = { version = "39.0.0", default-features = false }
|
|
sp-offchain = { version = "39.0.0", default-features = false }
|
|
sp-session = { version = "41.0.0", default-features = false }
|
|
sp-genesis-builder = { version = "0.20.0", default-features = false }
|
|
sp-consensus-aura = { version = "0.45.0", default-features = false, features = ["serde"] }
|
|
sp-consensus-grandpa = { version = "26.0.0", default-features = false, features = ["serde"] }
|
|
|
|
# FRAME canonical — runtime composition framework (stable2509-3)
|
|
frame-system = { version = "43.0.1", default-features = false }
|
|
frame-support = { version = "43.0.0", default-features = false }
|
|
frame-executive = { version = "43.0.1", default-features = false }
|
|
frame-benchmarking = { version = "43.0.0", default-features = false }
|
|
frame-metadata-hash-extension = { version = "0.11.0", default-features = false }
|
|
|
|
# FRAME pallets canonical Phase 1.3 (per SBS-4 ratified, stable2509-3)
|
|
pallet-balances = { version = "44.0.0", default-features = false }
|
|
pallet-timestamp = { version = "42.0.0", default-features = false }
|
|
pallet-transaction-payment = { version = "43.0.0", default-features = false }
|
|
|
|
# FRAME pallets canonical Phase 1.4 — Consensus PoA per CHN-1 ratified (stable2509-3)
|
|
pallet-aura = { version = "42.0.0", default-features = false }
|
|
pallet-grandpa = { version = "43.0.0", default-features = false }
|
|
|
|
# FRAME pallets canonical Phase 1.5 — Session rotation per CHN-1 4h epochs (stable2509-3)
|
|
pallet-session = { version = "43.0.0", default-features = false }
|
|
|
|
# ============================================================
|
|
# Phase 3 — pallet-revive smart contracts per SBS-5 ratified
|
|
# (supersedes CHN-6 v1.0 → CHN-6 v2.0 PolkaVM + ink! v6 + Solidity)
|
|
# Version pin: 0.12.2 (canonical para stable2512-3, verified vía
|
|
# github.com/paritytech/polkadot-sdk/blob/polkadot-stable2512-3/substrate/frame/revive/Cargo.toml).
|
|
# Bump a 0.17.0 scope Phase 8+ (post-mainnet Substrate generation upgrade).
|
|
# ============================================================
|
|
pallet-revive = { version = "0.12.2", default-features = false }
|
|
pallet-revive-uapi = { version = "0.13.0", default-features = false, features = ["scale"] }
|
|
|
|
# pallet-identity DEFERRED a Phase 2.7 — canonical decision empírica 2026-05-21:
|
|
# pallet-identity 41.0.0 usa ReservableCurrency trait (deprecated en stable2512,
|
|
# replaced por fungible::Mutate). Compat work canonical es scope Phase 2.7 cuando
|
|
# se introduce `pallet_agent_identity` custom canonical (Inmutable #41 AGI DID).
|
|
# pallet-identity = { version = "41.0.0", default-features = false }
|
|
|
|
# RuntimeAPI canonical (consumed by node binary + RPC server Phase 1.6+, stable2509-3)
|
|
frame-system-rpc-runtime-api = { version = "39.0.0", default-features = false }
|
|
pallet-transaction-payment-rpc-runtime-api = { version = "43.0.0", default-features = false }
|
|
|
|
# Genesis canonical Phase 1.7 — chain_spec BM V2 allocation
|
|
# Nota canonical 2026-05-21: sp-keyring NO incluido — version conflict canonical
|
|
# con sp_core stable2512 (sp-keyring 42 trae sp_core diferente). En su lugar,
|
|
# hardcodeo canonical bytes de Substrate well-known dev accounts canonical
|
|
# (Alice/Bob/Charlie/Dave/Eve) en genesis_config_presets.rs — same canonical
|
|
# values que sp-keyring usaría but sin la dep brittle canonical.
|
|
serde_json = { version = "1", default-features = false, features = ["alloc"] }
|
|
|
|
# WASM builder canonical (Phase 1.6+ runtime WASM build para chain_spec, stable2509-3)
|
|
substrate-wasm-builder = { version = "29.0.0" }
|
|
|
|
# Substrate client canonical (Phase 1.6+ node binary service builder, stable2509-3)
|
|
sc-cli = { version = "0.54.0" }
|
|
sc-service = { version = "0.53.0" }
|
|
# Slice 3 (v0.0.13) canonical — `sc_chain_spec::GenericChainSpec` builder canonical
|
|
# para Phase 1.6+ ChainSpec serialization. Pattern canonical mock-WASM fallback.
|
|
sc-executor = { version = "0.45.0" }
|
|
sc-network = { version = "0.52.0" }
|
|
sc-consensus = { version = "0.51.0" }
|
|
sc-consensus-aura = { version = "0.52.0" }
|
|
sc-consensus-grandpa = { version = "0.37.0" }
|
|
sc-transaction-pool = { version = "42.0.0" }
|
|
sc-transaction-pool-api = { version = "42.0.0" }
|
|
sc-client-api = { version = "42.0.0" }
|
|
sc-basic-authorship = { version = "0.52.0" }
|
|
sc-telemetry = { version = "31.0.0" }
|
|
sc-offchain = { version = "47.0.0" }
|
|
|
|
# RPC server canonical (jsonrpsee, stable2509-3)
|
|
jsonrpsee = { version = "0.24.9", features = ["server"] }
|
|
substrate-frame-rpc-system = { version = "46.0.0" }
|
|
pallet-transaction-payment-rpc = { version = "46.0.0" }
|
|
|
|
# CLI + async canonical
|
|
clap = { version = "4.5.13", features = ["derive"] }
|
|
futures = { version = "0.3.31", features = ["thread-pool"] }
|
|
|
|
# SCALE codec canonical (canonical Substrate serialization)
|
|
parity-scale-codec = { version = "3.7", default-features = false, features = ["derive", "max-encoded-len"] }
|
|
scale-info = { version = "2.11", default-features = false, features = ["derive"] }
|
|
|
|
# ============================================================
|
|
# Cryptography canonical (CHN-7 + SBS-4 + tu choice canonical)
|
|
# ============================================================
|
|
ed25519-dalek = { version = "2", default-features = false }
|
|
blake3 = { version = "1", default-features = false }
|
|
|
|
# ============================================================
|
|
# Error handling + serialization canonical
|
|
# ============================================================
|
|
# no_std-compatible canonical (Slice 2 — required by substrate-wasm-builder WASM runtime build)
|
|
thiserror = { version = "2.0", default-features = false }
|
|
# serde pin Ship 1.5 v0.0.38 — relajado desde `=1.0.217` strict pin
|
|
# (Slice 2b workaround obsoleto post-Slice 2e RESUELTO). El strict pin causaba
|
|
# conflicto con stable2509-3 transitive deps requiriendo ^1.0.219 vía
|
|
# parity-scale-codec 3.7.5. Relajación 1.0.219 mínimum permite Cargo resolver
|
|
# picking latest compatible preservando WASM build correctness empíricamente
|
|
# validated Slice 2e (Layer 4 sp-io std leak resuelto via default-features=false
|
|
# discipline, NO serde version specific).
|
|
serde = { version = "1.0.219", default-features = false, features = ["derive"] }
|
|
log = { version = "0.4", default-features = false }
|
|
|
|
# ============================================================
|
|
# Internal crates canonical (workspace path deps)
|
|
# ============================================================
|
|
origin-chain-types = { path = "crates/origin-chain-types", version = "0.0.1", default-features = false }
|
|
origin-chain-consensus = { path = "crates/origin-chain-consensus", version = "0.0.1", default-features = false }
|
|
origin-coin-tokenomics = { path = "crates/origin-coin-tokenomics", version = "0.0.1", default-features = false }
|
|
origin-chain-provenance = { path = "crates/origin-chain-provenance", version = "0.0.1", default-features = false }
|
|
origin-chain-fees = { path = "crates/origin-chain-fees", version = "0.0.1", default-features = false }
|
|
origin-chain-agent-identity = { path = "crates/origin-chain-agent-identity", version = "0.0.1", default-features = false }
|
|
origin-chain-bridges = { path = "crates/origin-chain-bridges", version = "0.0.1", default-features = false }
|
|
origin-chain-governance = { path = "crates/origin-chain-governance", version = "0.0.1", default-features = false }
|
|
origin-chain-runtime = { path = "crates/origin-chain-runtime", version = "0.0.1", default-features = false }
|
|
origin-chain-node = { path = "crates/origin-chain-node", version = "0.0.1" }
|
|
|
|
# ============================================================
|
|
# Slice 2e v0.0.35 — canonical [patch.crates-io] WASM dependency overrides
|
|
# ============================================================
|
|
#
|
|
# Empirical finding canonical 2026-05-26: getrandom 0.2.17 default config NO
|
|
# compatible canonical wasm32-unknown-unknown target. Substrate runtime WASM
|
|
# requires custom canonical RNG source canonical, NOT browser JS fallback.
|
|
#
|
|
# Patch canonical: enable getrandom `custom` feature para permit FRAME runtime
|
|
# provide RNG via sp-io::offchain (off-chain worker) o panic placeholder
|
|
# (no on-chain RNG needed para Phase 1.6 ChainSpec build).
|
|
|
|
# ============================================================
|
|
# Slice 2e v0.0.36 — Direct getrandom deps para activate `custom` feature
|
|
# via Cargo feature unification (both 0.2 + 0.3 transitive in FRAME stack).
|
|
# ============================================================
|
|
#
|
|
# Empirical Slice 2e investigation:
|
|
# - getrandom 0.2.17 transitive via const-random-macro → frame-support-procedural
|
|
# - getrandom 0.3.4 transitive via ahash → schnellru → sp-trie → frame-support
|
|
#
|
|
# Cargo feature unification ensures wasm32-unknown-unknown target compat
|
|
# vía custom RNG source (FRAME runtime provides via sp-io).
|
|
#
|
|
# `custom` feature activates pre-0.3 versions; `std` para 0.3+ branches.
|
|
|
|
getrandom_02 = { package = "getrandom", version = "0.2", default-features = false, features = ["custom"] }
|
|
getrandom_03 = { package = "getrandom", version = "0.3", default-features = false, features = ["wasm_js"] }
|
|
|
|
[profile.release]
|
|
# Slice 2b finding canonical: lto/codegen-units customization triggers alloc
|
|
# recompile en wbuild → duplicate exchange_malloc lang item canonical. Defaults
|
|
# canonical preservan stdlib alloc cache canonical sin recompile.
|
|
opt-level = 3
|
|
|
|
[profile.dev]
|
|
opt-level = 1
|