Origin Chain runtime canonical ahora tiene 3 genesis presets canonical materializando BM V2 ratificado David 2026-05-18: development + local_testnet + mainnet_genesis. Phase 1 COMPLETE canonical 🎉. ## 3 presets canonical - development: 1 validator Alice + 100M OGC para dev mode - local_testnet: Alice+Bob validators + 5 dev accounts × 100M OGC - mainnet_genesis: 5 Pi 5 validators placeholders + BM V2 1B OGC allocation ## BM V2 allocation canonical materializada - ECOSYSTEM_ALLOCATION = 400M OGC (40%) - FOUNDATION_ALLOCATION = 250M OGC (25%) - PUBLIC_SALE_ALLOCATION = 150M OGC (15%) - FOUNDING_TEAM_ALLOCATION = 150M OGC (15% — 4yr vesting cliff 12mo) - EXCHANGE_LIQUIDITY_ALLOCATION = 50M OGC (5%) - Compile-time assertion canonical: sum MUST equal 1B OGC ## Decisión empírica: drop sp-keyring (version mismatch sp_core stable2512) Hardcoded Substrate well-known dev account bytes (Alice/Bob/Charlie/Dave/Eve sr25519 + Alice/Bob Ed25519 GRANDPA). Mismos bytes que sp_keyring retornaría. Self-contained runtime + version stability + polkadot-js compat preserved. ## Mainnet institutional placeholders canonical ECO!.../FNDT.../SALE.../TEAM.../LIQD... — David ratifica keys reales canonical generadas por hardware key ceremony pre-launch Q1 2027. ## 5 Pi 5 validators placeholders canonical Pattern: 0xCA + 0xFE + index distinguishable canonical en block explorer. David ratificará Dream House Studios + universidades aliadas Identity Level 3 canonical pre-launch. ## GenesisBuilder API wired sp_genesis_builder::GenesisBuilder::get_preset() ahora delegates a genesis_config_presets::get_preset(). preset_names() returns 3 PresetIds. ## Tests +6 nuevos (~63 total workspace) - bm_v2_allocations_sum_canonical_to_one_billion_ogc - bm_v2_allocation_ratios_canonical (40/25/15/15/5) - preset_names_canonical_three_presets - get_preset_unknown_id_returns_none_canonical - development_preset_returns_json_canonical (serde roundtrip) - alice_account_bytes_canonical_substrate (compat sanity) ## Build - cargo check ~30s cold (genesis presets compile) - cargo build --release 10.30s warm - ~63 tests passing total workspace ## Phase 1 COMPLETE canonical 🎉 1.1 ✅ + 1.2 ✅ + 1.3 ✅ + 1.4 ✅ + 1.5 ✅ + 1.6 ✅ + 1.7 ✅ Origin Chain runtime canonical full Substrate composition: - 7 pallets (System + Timestamp + Balances + TransactionPayment + Aura + Grandpa + Session) - 11 Runtime APIs - 3 Genesis presets (dev + local + mainnet BM V2) - Opaque SessionKeys + Executive + RuntimeVersion Next: Phase 1.6+ split-off origin-chain-node real Substrate service (sc-service + JSON-RPC + CLI), Phase 2+ custom pallets canonical. Refs: CHARON_ROADMAP_V1 Phase 1.7, CHN-2 BM V2 allocation ratified David 2026-05-18, SBS-6 ratified DC SUBSTRATE_FOUNDATION_V1 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
126 lines
6.2 KiB
TOML
126 lines
6.2 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-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 Primitives (sp-*) — types foundationals canonical
|
|
sp-core = { version = "36.1.0", default-features = false }
|
|
sp-runtime = { version = "41.1.0", default-features = false }
|
|
sp-io = { version = "40.0.1", default-features = false }
|
|
sp-std = { version = "14.0.0", default-features = false }
|
|
sp-version = { version = "39.0.0", default-features = false }
|
|
sp-api = { version = "36.0.1", default-features = false }
|
|
sp-block-builder = { version = "36.0.0", default-features = false }
|
|
sp-transaction-pool = { version = "36.0.0", default-features = false }
|
|
sp-inherents = { version = "36.0.0", default-features = false }
|
|
sp-offchain = { version = "36.0.0", default-features = false }
|
|
sp-session = { version = "38.1.0", default-features = false }
|
|
sp-genesis-builder = { version = "0.17.0", default-features = false }
|
|
sp-consensus-aura = { version = "0.42.0", default-features = false, features = ["serde"] }
|
|
sp-consensus-grandpa = { version = "23.1.0", default-features = false, features = ["serde"] }
|
|
|
|
# FRAME canonical — runtime composition framework
|
|
frame-system = { version = "40.1.0", default-features = false }
|
|
frame-support = { version = "40.1.0", default-features = false }
|
|
frame-executive = { version = "40.0.0", default-features = false }
|
|
frame-benchmarking = { version = "40.0.0", default-features = false }
|
|
frame-metadata-hash-extension = { version = "0.8.0", default-features = false }
|
|
|
|
# FRAME pallets canonical Phase 1.3 (per SBS-4 ratified)
|
|
pallet-balances = { version = "41.1.0", default-features = false }
|
|
pallet-timestamp = { version = "39.0.0", default-features = false }
|
|
pallet-transaction-payment = { version = "40.0.0", default-features = false }
|
|
|
|
# FRAME pallets canonical Phase 1.4 — Consensus PoA per CHN-1 ratified
|
|
pallet-aura = { version = "39.0.0", default-features = false }
|
|
pallet-grandpa = { version = "40.0.0", default-features = false }
|
|
|
|
# FRAME pallets canonical Phase 1.5 — Session rotation per CHN-1 4h epochs
|
|
pallet-session = { version = "40.0.1", default-features = false }
|
|
|
|
# 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+)
|
|
frame-system-rpc-runtime-api = { version = "36.0.0", default-features = false }
|
|
pallet-transaction-payment-rpc-runtime-api = { version = "40.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"] }
|
|
|
|
# SCALE codec canonical (canonical Substrate serialization)
|
|
parity-scale-codec = { version = "3.7", default-features = false, features = ["derive"] }
|
|
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
|
|
# ============================================================
|
|
thiserror = "1.0"
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
log = "0.4"
|
|
|
|
# ============================================================
|
|
# Internal crates canonical (workspace path deps)
|
|
# ============================================================
|
|
origin-chain-types = { path = "crates/origin-chain-types", version = "0.0.1" }
|
|
origin-chain-consensus = { path = "crates/origin-chain-consensus", version = "0.0.1" }
|
|
origin-coin-tokenomics = { path = "crates/origin-coin-tokenomics", version = "0.0.1" }
|
|
origin-chain-provenance = { path = "crates/origin-chain-provenance", version = "0.0.1" }
|
|
origin-chain-bridges = { path = "crates/origin-chain-bridges", version = "0.0.1" }
|
|
origin-chain-governance = { path = "crates/origin-chain-governance", version = "0.0.1" }
|
|
origin-chain-runtime = { path = "crates/origin-chain-runtime", version = "0.0.1" }
|
|
origin-chain-node = { path = "crates/origin-chain-node", version = "0.0.1" }
|
|
|
|
[profile.release]
|
|
lto = "thin"
|
|
codegen-units = 1
|
|
opt-level = 3
|
|
|
|
[profile.dev]
|
|
opt-level = 1
|